V Accesse môžete vytvoriť pole s viacerými hodnotami, ktoré obsahuje viacero hodnôt (maximálne 100). Môžete tiež vytvoriť vyhľadávacie pole, ktoré zobrazí používateľsky prístupnú hodnotu viazanú na hodnotu v inom zdroji údajov. Pri dotazovaní vyhľadávacieho poľa alebo poľa s viacerými hodnotami sú potrebné jedinečné informácie. Ďalšie informácie nájdete v téme Create alebo odstránenie poľa s viacerými hodnotami a Create alebo odstránenie vyhľadávacieho poľa.
Obsah tohto článku
Zobrazenie viazanej hodnoty vyhľadávacieho poľa v dotaze
Zobrazovaná hodnota vyhľadávacieho poľa sa predvolene automaticky zobrazuje v údajovom zobrazení dotazu. Pri vytváraní dotazu môžete toto správanie prepísať tak, aby sa namiesto toho zobrazila viazaná hodnota. V tomto príklade predpokladajme, že chcete zobraziť viazanú hodnotu vyhľadávacieho poľa v tabuľke Centrála, ktorá "vyhľadá" názov štátu Nové Anglicko.
-
Otvorte dotaz v návrhovom zobrazení.
-
V tomto príklade pridajte tabuľky Headquarters a NewEngland .
Tieto dve tabuľky by sa mali spojiť.
Ďalšie informácie nájdete v téme Spojenie tabuliek a dotazov.
-
Presuňte pole spolu s vyhľadávacím poľom do mriežky návrhu dotazu. V tomto príklade pridajte pole Mesto a NEState .
-
Kliknite na vyhľadávacie pole a potom na karte Návrh v skupine Zobraziť alebo skryť kliknite na položku Hárok vlastností. V tomto príklade použite pole NEState .
-
V hárku vlastností vyberte kartu Vyhľadávanie a potom vo vlastnosti Zobraziť ovládací prvok vyberte položku Textové pole.
Výsledok Keď teraz zobrazíte dotaz v údajovom zobrazení, zobrazí sa zodpovedajúca viazaná hodnota zobrazenej hodnoty.
Použitie zobrazenej hodnoty pre vyhľadávacie pole v dotaze
Pri vytváraní vyhľadávacieho poľa sa vytvorí spojenie medzi viazanou hodnotou a zobrazenou hodnotou. Hoci v dotaze nemôžete priamo použiť zobrazovanú hodnotu, môžete použiť zodpovedajúcu hodnotu z iného zdroja údajov. V tomto príklade predpokladajme, že chcete použiť zobrazenú hodnotu vyhľadávacieho poľa NEState v tabuľke Ústredie v dotaze ako kritériá.
-
Otvorte dotaz v návrhovom zobrazení.
-
V tomto príklade pridajte tabuľky Headquarters a NewEngland .
Tieto dve tabuľky by sa mali spojiť. Ďalšie informácie nájdete v téme Spojenie tabuliek a dotazov.
-
Presuňte polia, ktoré chcete použiť, do mriežky dotazu. V tomto príklade presuňte položku Mesto z tabuľky Centrála do prvého stĺpca NEState z tabuľky Centrála do druhého stĺpca a NázovŠtátu z tabuľky NewEngland do tretieho stĺpca.
-
Zrušte začiarknutie políčka Zobraziť názov Štátu v mriežke dotazu.
-
V mriežke dotazu zadajte do riadka Kritériá v časti NázovŠtátuVermont.
Kritériá dotazu sú založené na stĺpci StateName , ktorý má samozrejme rovnakú hodnotu ako zobrazená hodnota NEState, ale nezobrazuje sa v údajovom zobrazení.
-
Prejdite na kartu Návrh a v skupine Výsledky kliknite na položku Spustiť.
Výsledok Zobrazí sa iba riadok obsahujúci Vermont .
Použitie poľa s viacerými hodnotami v dotaze
Keď v dotaze zobrazíte pole s viacerými hodnotami, môžete zobraziť úplné pole s viacerými hodnotami obsahujúce všetky hodnoty oddelené čiarkami v jednom riadku alebo údaje sploštenými údajmi so samostatným riadkom pre každú hodnotu. Predpokladajme napríklad, že máte tabuľku Problémy , ktorá obsahuje pole Názov pre každý problém a pole AssignedTo s viacerými hodnotami na priradenie problémov ľuďom.
Zobrazenie všetkých hodnôt v poli s viacerými hodnotami v jednom riadku
-
Otvorte dotaz v návrhovom zobrazení.
-
V tomto príklade pridajte tabuľku Problémy .
-
Presuňte polia do mriežky návrhu dotazu. V tomto príklade presuňte pole Názov a pole Priradené K s viacerými hodnotami.
-
Prejdite na kartu Návrh a v skupine Výsledky kliknite na položku Spustiť.
Výsledok Ako by ste mohli očakávať, v jednom stĺpci sa zobrazí pole Názov a v druhom stĺpci sa zobrazí pole AssignedTo s viacerými hodnotami:
Zobrazenie každej hodnoty poľa s viacerými hodnotami v jednom riadku (zjednodušené zobrazenie)
-
Otvorte dotaz v návrhovom zobrazení.
-
V tomto príklade pridajte tabuľku Problémy .
-
Presuňte polia do mriežky dotazu. V tomto príklade presuňte pole Názov a pole AssignedTo.Value s viacerými hodnotami.
Formát <Fieldname>. Hodnota pripojí vlastnosť Value ako reťazec . Hodnota poľa AssignedTo .
-
Prejdite na kartu Návrh a v skupine Výsledky kliknite na položku Spustiť.
Výsledok Údaje sa zlúčia tak, aby sa pole Názov opakovalo a každá hodnota v poli AssignedTo s viacerými hodnotami sa zobrazila v príslušnom riadku:
Pridanie kritérií do poľa s viacerými hodnotami v dotaze
Umiestnenie rovnakých kritérií v mriežke dotazu v rôznych stĺpcoch mriežky má veľký vplyv na výsledky dotazu.
Pridanie kritérií, ktoré zobrazujú všetky hodnoty v poli s viacerými hodnotami v jednom riadku
Access najprv vytvorí množinu výsledkov a potom pridá kritériá.
-
Otvorte dotaz v návrhovom zobrazení.
-
V tomto príklade pridajte tabuľku Problémy .
-
Presuňte polia do mriežky dotazu. V tomto príklade presuňte pole Názov , pole Priradené K s viacerými hodnotami a pole AssignedTo.Value s viacerými hodnotami .
-
Zrušte začiarknutie políčka Zobraziťhodnotu AssignedTo.Value v mriežke dotazu.
-
V mriežke dotazu v časti AssignedTo.Value zadajte do riadka Kritériá text NOT David Hamilton.
Zobrazenie SQL je užitočné:
SELECT Title, AssignedTo FROM Issues WHERE NOT AssignedTo.Value = “David Hamilton”;
-
Prejdite na kartu Návrh a v skupine Výsledky kliknite na položku Spustiť.
Výsledok Tri otázky, ktoré nie sú priradené Davidovi Hamiltonovi, sa zobrazujú v predvolenej hodnote.
Pridanie kritérií, ktoré zobrazujú každú hodnotu v poli s viacerými hodnotami v jednom riadku (zjednodušené zobrazenie)
Access najprv vytvorí sploštenú množinu výsledkov a potom pridá kritériá.
-
Otvorte dotaz v návrhovom zobrazení.
-
V tomto príklade pridajte tabuľku Problémy .
-
Presuňte polia do mriežky dotazu. V tomto príklade presuňte pole Názov a pole AssignedTo.Value s viacerými hodnotami.
-
Do mriežky dotazu v časti AssignedTo.Value zadajte do riadka Kritériá not "David Hamilton".
Zobrazenie SQL je užitočné:
SELECT Issues.Title, AssignedTo.Value FROM Issues WHERE NOT AssignedTo.Value = “David Hamilton”
-
Prejdite na kartu Návrh a v skupine Výsledky kliknite na položku Spustiť.
Výsledok Každá otázka, ktorá nebola priradená Davidovi Hamiltonovi, sa zobrazuje v sploštenej hodnote.
Pridanie viacerých kritérií do poľa s viacerými hodnotami v dotaze
Niekedy je potrebné vyhľadať zhodu na viac ako jednej hodnote v poli s viacerými hodnotami. Predpokladajme napríklad, že chcete zobraziť problémy, v ktorých sa hodnoty v poli Priradené k nachádzajú v poliach "Zuza" aj "Lisa Miller"
-
Otvorte dotaz v návrhovom zobrazení.
-
V tomto príklade pridajte tabuľku Problémy .
-
Presuňte polia do mriežky dotazu. V tomto príklade presuňte pole Názov a pole Priradené K s viacerými hodnotami.
-
Do mriežky dotazu v časti Priradené K zadajte do riadka Kritériá slovo "Kelly Rollin" AND "Lisa Miller".
-
Prejdite na kartu Návrh a v skupine Výsledky kliknite na položku Spustiť.
Výsledok Zobrazia sa tieto dve otázky, ktoré sú priradené k "Kelly Rollin" a "Lisa Miller".
Zoskupenie a počítanie poľa s viacerými hodnotami v dotaze
Na vykonávanie výpočtov, zoskupovania a zoraďovania hodnôt uložených v poli s viacerými hodnotami použite> <Fieldname. Pole hodnoty. Ďalšie informácie o skupinových dotazoch nájdete v téme Spočítanie údajov pomocou dotazu.
Spočítanie problémov priradených každej osobe
-
Otvorte dotaz v návrhovom zobrazení.
-
V tomto príklade pridajte tabuľku Problémy .
-
Presuňte polia, ktoré chcete použiť, do mriežky dotazu. V tomto príklade presuňte položku AssignedTo.Value do prvého stĺpca a položky Názov do druhého stĺpca.
-
Na karte Návrh kliknite v skupine Zobraziť alebo skryť na položku Súčty.
Riadok súčtu sa zobrazí v mriežke dotazu. Funkcia Zoskupovať podľa sa predvolene zobrazí v bunke súčtu pod každým poľom v dotaze.
-
V mriežke dotazu kliknite v časti Názov v riadku Súčet na položku Počet.
-
Prejdite na kartu Návrh a v skupine Výsledky kliknite na položku Spustiť.
Výsledok Počet problémov priradených na osobu sa zobrazuje v zjednodušenom zobrazení.
Spočítanie počtu ľudí priradených ku každému problému
-
Otvorte dotaz v návrhovom zobrazení.
-
V tomto príklade pridajte tabuľku Problémy .
-
Presuňte polia, ktoré chcete použiť, do mriežky dotazu. V tomto príklade presuňte položku Názov do prvého stĺpca a presuňte položku Priradené k druhému stĺpcu.
-
Na karte Návrh kliknite v skupine Zobraziť alebo skryť na položku Súčty.
Riadok súčtu sa zobrazí v mriežke dotazu. Pole Zoskupovať podľa sa predvolene zobrazí v bunke súčtu pod poľom Názov v dotaze. Výraz sa predvolene zobrazuje v bunke súčtu pod poľom Priradené, pretože nie je možné vykonať operáciu Zoskupiť podľa priamo v poli s viacerými hodnotami, iba <názov poľa>. Pole hodnoty.
-
V mriežke dotazu kliknite v časti Priradené k v riadku Súčet na položku Počet.
-
Prejdite na kartu Návrh a v skupine Výsledky kliknite na položku Spustiť.
Výsledok Počet priradených osôb na jeden problém sa zobrazuje v zjednodušenom zobrazení.
Použitie pripájacieho dotazu s poľom s viacerými hodnotami
Pomocou pripájacieho dotazu môžete do poľa s viacerými hodnotami vložiť jednu hodnotu. Predpokladajme napríklad, že chcete pridať "Tomáša Michaelsa" do poľa Priradené K s viacerými hodnotami v tabuľke Problémy.
Poznámka: Ide o jediný typ pripájacieho dotazu, ktorý funguje s poľom s viacerými hodnotami.
-
Otvorte dotaz v návrhovom zobrazení.
-
Pridajte tabuľku Problémy .
-
Na karte Návrh kliknite na položku Pripojiť.
-
V dialógovom okne Pripojenie vyberte položku Problémy a potom kliknite na tlačidlo OK.
-
V riadku Pripojiť k mriežke návrhu vyberte položku AssignedTo.Value.
-
Do riadka Pole v mriežke návrhu zadajte text Tomáš Michaels.
-
Ak chcete obmedziť operáciu pripojenia na konkrétne problémy, pridajte pole do mriežky návrhu, napríklad Názov, odstráňte názov z riadka Pripojiť k a potom zadajte kritériá, ako napríklad Problém 3.
-
Prejdite na kartu Návrh a v skupine Výsledky kliknite na položku Spustiť.
Access vás môže požiadať o potvrdenie pripojenia vybratého riadka. Ak chcete vložiť riadok, kliknite na tlačidlo Áno alebo kliknutím na tlačidlo Nie ho zrušte.
Výsledok "Tomáš Michaels" sa teraz pridá do poľa Priradené k problému 3.
Dôležité Nemôžete použiť pripájací dotaz, ktorý odkazuje na tabuľku obsahujúcu pole s viacerými hodnotami. Nasledujúci dotaz je napríklad neplatný:
INSERT INTO [NewIssues] ( ID, Title, AssignedTo ) SELECT Issues.ID, Issues.Title, Issues.AssignedTo FROM Issues;
Použitie aktualizačného dotazu s poľom s viacerými hodnotami
Aktualizačný dotaz môžete použiť na zmenu jednej hodnoty v poli s viacerými hodnotami na inú hodnotu. V tomto príklade chcete aktualizovať pole AssignedTo s viacerými hodnotami tak, aby sa výraz "Kelly Rollin" nahradil výrazom Lisa Millerová.
-
Otvorte dotaz v návrhovom zobrazení.
-
Pridajte tabuľku Problémy .
-
Na karte Návrh kliknite na položku Aktualizovať.
-
Presuňte položku AssignedTo.Value do mriežky dotazu.
-
Do riadka Aktualizovať do zadajte text Lisa Millerová.
-
Do riadka Kritériá zadajte "Kelly Rollin".
-
Prejdite na kartu Návrh a v skupine Výsledky kliknite na položku Spustiť.
Access vás môže požiadať o potvrdenie pripojenia vybratého riadka. Ak chcete vložiť riadok, kliknite na tlačidlo Áno alebo kliknutím na tlačidlo Nie ho zrušte.
Výsledok Lisa Miller nahradí Kelly Rollin v poli AssignedTo pre všetky zodpovedajúce problémy.
Použitie dotazu Delete s poľom s viacerými hodnotami
Pri práci s tabuľkou, ktorá obsahuje pole s viacerými hodnotami, môžete pomocou odstraňovacieho dotazu odstrániť záznamy, ktoré obsahujú určitú hodnotu v poli s viacerými hodnotami, alebo odstrániť konkrétnu hodnotu z poľa s viacerými hodnotami vo všetkých záznamoch v tabuľke. V nasledujúcom príklade predpokladajme, že chcete odstrániť Davida Hamiltona z tabuľky Problémy.
Dôležité Ak na odstránenie poľa s viacerými hodnotami, ktoré obsahuje údaje, použijete odstraňovací dotaz, tieto údaje natrvalo stratíte – odstránenie nie je možné vrátiť späť. Z toho dôvodu by ste mali databázu pred odstránením akýchkoľvek polí tabuliek alebo iných súčastí databázy zálohovať.
Odstránenie konkrétnej hodnoty z poľa s viacerými hodnotami vo všetkých záznamoch
-
Na karte Vytvoriť kliknite v skupine Dotazy na položku Návrh dotazu.
-
Pridajte tabuľku Problémy .
-
Otvorte dotaz v návrhovom zobrazení.
-
Na karte Návrh kliknite na položku Odstrániť.
-
Do riadka Kritériá zadajte výraz David Hamilton.
-
Prejdite na kartu Návrh a v skupine Výsledky kliknite na položku Spustiť.
Access vás môže požiadať o potvrdenie odstránenia záznamov. Ak chcete odstrániť záznamy, kliknite na tlačidlo Áno . Kliknutím na tlačidlo Nie záznam zrušíte.
Výsledok David Hamilton je odstránený zo všetkých zodpovedajúcich otázok.
Odstránenie záznamov obsahujúcich určitú hodnotu v poli s viacerými hodnotami
-
Na karte Vytvoriť kliknite v skupine Dotazy na položku Návrh dotazu.
-
Pridajte tabuľku Problémy .
-
Otvorte dotaz v návrhovom zobrazení.
-
Na karte Návrh kliknite na položku Odstrániť skupinu .
-
Na karte Návrh kliknite v skupine Výsledky na šípku pod položkou Zobraziť a potom kliknite na položku Zobrazenie SQL.
-
Zadajte nasledujúci príkaz SQL:
DELETE FROM Issues WHERE (((Issues.AssignedTo.Value)="David Hamilton"));
Poznámka: V tomto prípade môžete použiť iba príkaz SQL, nie mriežku návrhu. Ak prepnete do zobrazenia mriežky návrhu, Access pridá za príkaz DELETE hviezdičku (*), ktorú by ste mali odstrániť zo zobrazenia SQL.
-
Prejdite na kartu Návrh a v skupine Výsledky kliknite na položku Spustiť.
Access vás môže požiadať o potvrdenie odstránenia záznamov. Ak chcete odstrániť záznamy, kliknite na tlačidlo Áno . Kliknutím na tlačidlo Nie záznam zrušíte.
Výsledok Všetky problémy, pri ktorých je david Hamilton priradený, sa odstránia.