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 Vytvorenie alebo odstránenie poľa s viacerými hodnotami a vytvorenie alebo odstránenie vyhľadávacieho poľa.
Obsah tohto článku
- Zobrazenie viazanej hodnoty vyhľadávacieho poľa v dotaze
- Použitie zobrazenej hodnoty pre vyhľadávacie pole v dotaze
- Použitie poľa s viacerými hodnotami v dotaze
- Pridanie kritérií do poľa s viacerými hodnotami v dotaze
- Pridanie viacerých kritérií do poľa s viacerými hodnotami v dotaze
- Zoskupenie a počítanie poľa s viacerými hodnotami v dotaze
- Použitie pripájacieho dotazu s poľom s viacerými hodnotami
- Použitie aktualizačného dotazu s poľom s viacerými hodnotami
- Použitie dotazu Delete s poľom s viacerými hodnotami
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:
Zobrazí každú hodnotu 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 NázovPoľa<>. 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
Ak chcete vykonávať výpočty, zoskupovanie a zoraďovanie hodnôt uložených v poli s viacerými hodnotami, použite <názovPoľa>. 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 AssignedTo , pretože nie je možné vykonať operáciu Zoskupiť podľa priamo v poli s viacerými hodnotami, iba v <poli> NázovPoľ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.