V Accessu můžete vytvořit pole s více hodnotami, které obsahuje více hodnot (až 100). Můžete také vytvořit vyhledávací pole, které zobrazí uživatelsky přívětivou hodnotu vázanou na hodnotu v jiném zdroji dat. Při dotazování vyhledávacího pole nebo pole s více hodnotami existují jedinečné aspekty. Další informace najdete v tématu Create nebo odstranění pole s více hodnotami a Create nebo odstranění vyhledávacího pole.
V tomto článku
Zobrazení vázané hodnoty vyhledávacího pole v dotazu
Zobrazovaná hodnota vyhledávacího pole se ve výchozím nastavení automaticky zobrazí v zobrazení datového listu dotazu. Při vytváření dotazu můžete toto chování přepsat tak, aby se místo toho zobrazila vázaná hodnota. V tomto příkladu předpokládejme, že chcete zobrazit vázanou hodnotu vyhledávacího pole v tabulce Headquarters, která "vyhledá" název státu Nová Anglie.
-
Otevřete dotaz v návrhovém zobrazení.
-
V tomto příkladu přidejte tabulky Headquarters a NewEngland .
Obě tabulky by měly být spojeny.
Další informace najdete v tématu Spojení tabulek a dotazů.
-
Přetáhněte pole spolu s vyhledávacím polem do návrhové mřížky dotazu. V tomto příkladu přidejte pole Město a NEState .
-
Klikněte na vyhledávací pole a potom na kartě Návrh ve skupině Zobrazit nebo skrýt klikněte na Seznam vlastností. V tomto příkladu použijte pole NEState .
-
V seznamu vlastností vyberte kartu Vyhledávání a pak ve vlastnosti Ovládací prvek zobrazení vyberte Textové pole.
Výsledek Když teď dotaz zobrazíte v zobrazení Datový list, zobrazí se odpovídající vázaná hodnota zobrazené hodnoty.
Použití zobrazované hodnoty vyhledávacího pole v dotazu
Když vytvoříte vyhledávací pole, vytvoří se spojení mezi hodnotou Vázaná a Zobrazená hodnota. I když v dotazu nemůžete přímo použít hodnotu Display, můžete použít odpovídající hodnotu z jiného zdroje dat. V tomto příkladu předpokládejme, že chcete jako kritéria použít zobrazovanou hodnotu vyhledávacího pole NEState v tabulce Headquarters v dotazu.
-
Otevřete dotaz v návrhovém zobrazení.
-
V tomto příkladu přidejte tabulky Headquarters a NewEngland .
Obě tabulky by měly být spojeny. Další informace najdete v tématu Spojení tabulek a dotazů.
-
Přetáhněte pole, která chcete použít, do mřížky dotazu. V tomto příkladu přetáhněte City z tabulky Headquarters do prvního sloupce, NEState z tabulky Headquarters do druhého sloupce a StateName z tabulky NewEngland do třetího sloupce.
-
Zrušte zaškrtnutí políčka Zobrazit u pole StateName v mřížce dotazu.
-
V mřížce dotazu v části StateName (Název státu) na řádku Criteria (Kritéria) zadejte Vermont.
Kritéria dotazu jsou založená na sloupci StateName , který má samozřejmě stejnou hodnotu jako display hodnota NEState, ale nezobrazuje se v zobrazení Datový list.
-
Na kartě Návrh klikněte ve skupině Výsledky na tlačítko Spustit.
Výsledek Zobrazí se pouze řádek obsahující Vermont .
Použití pole s více hodnotami v dotazu
Když v dotazu zobrazíte pole s více hodnotami, můžete zobrazit úplné pole s více hodnotami obsahující všechny hodnoty oddělené čárkami na jednom řádku nebo zploštěná data se samostatným řádkem pro každou hodnotu. Předpokládejme například, že máte tabulku Problémy , která obsahuje pole Název pro každý problém a pole Přiřazeno s více hodnotami, které přiřazuje problémy lidem.
Zobrazení všech hodnot v poli s více hodnotami na jednom řádku
-
Otevřete dotaz v návrhovém zobrazení.
-
V tomto příkladu přidejte tabulku Issues (Problémy).
-
Přetáhněte pole do návrhové mřížky dotazu. V tomto příkladu přetáhněte pole Název a pole Přiřazeno s více hodnotami.
-
Na kartě Návrh klikněte ve skupině Výsledky na tlačítko Spustit.
Výsledek Jak můžete očekávat, v jednom sloupci se zobrazí pole Název a ve druhém sloupci pole Přiřazeno s více hodnotami:
Zobrazení každé hodnoty pole s více hodnotami v jednom řádku (zploštěné zobrazení)
-
Otevřete dotaz v návrhovém zobrazení.
-
V tomto příkladu přidejte tabulku Issues (Problémy).
-
Přetáhněte pole do mřížky dotazu. V tomto příkladu přetáhněte pole Title a pole AssignedTo.Value s více hodnotami.
Formát <Název pole>. Hodnota, připojí vlastnost Value jako řetězec . Hodnota pole AssignedTo .
-
Na kartě Návrh klikněte ve skupině Výsledky na tlačítko Spustit.
Výsledek Data se zploštějí tak, že se pole Název opakuje a každá hodnota v poli Přiřazeno s více hodnotami se zobrazí v odpovídajícím řádku:
Přidání kritérií do pole s více hodnotami v dotazu
Umístění stejných kritérií v mřížce dotazu v různých sloupcích mřížky má velký vliv na výsledky dotazu.
Přidání kritérií, která zobrazí všechny hodnoty v poli s více hodnotami na jednom řádku
Access nejprve vytvoří sadu výsledků a pak přidá kritéria.
-
Otevřete dotaz v návrhovém zobrazení.
-
V tomto příkladu přidejte tabulku Issues (Problémy).
-
Přetáhněte pole do mřížky dotazu. V tomto příkladu přetáhněte pole Název , pole Přiřazeno s více hodnotami a pole AssignedTo.Value s více hodnotami.
-
Zrušte zaškrtnutí políčka Zobrazitu pole AssignedTo.Value v mřížce dotazu.
-
V mřížce dotazu v části AssignedTo.Value zadejte do řádku Kritéria "NOT "David Hamilton".
Je užitečné vidět zobrazení SQL:
SELECT Title, AssignedTo FROM Issues WHERE NOT AssignedTo.Value = “David Hamilton”;
-
Na kartě Návrh klikněte ve skupině Výsledky na tlačítko Spustit.
Výsledek Tři problémy, které nejsou přiřazeny Davidu Hamiltonovi, se zobrazují ve výchozí hodnotě.
Přidání kritérií, která zobrazí každou hodnotu v poli s více hodnotami na jednom řádku (zploštěné zobrazení)
Access nejprve vytvoří zploštěnou sadu výsledků a pak přidá kritéria.
-
Otevřete dotaz v návrhovém zobrazení.
-
V tomto příkladu přidejte tabulku Issues (Problémy).
-
Přetáhněte pole do mřížky dotazu. V tomto příkladu přetáhněte pole Title a pole AssignedTo.Value s více hodnotami.
-
V mřížce dotazu zadejte v části AssignedTo.Value na řádku Kritéria hodnotu NOT "David Hamilton".
Je užitečné vidět zobrazení SQL:
SELECT Issues.Title, AssignedTo.Value FROM Issues WHERE NOT AssignedTo.Value = “David Hamilton”
-
Na kartě Návrh klikněte ve skupině Výsledky na tlačítko Spustit.
Výsledek Každý problém, který není přiřazený Davidu Hamiltonovi, se zobrazí ve zploštěné hodnotě.
Přidání více kritérií do pole s více hodnotami v dotazu
Někdy potřebujete vyhledat shodu pro více než jednu hodnotu uvnitř pole s více hodnotami. Předpokládejme například, že chcete vidět problémy, ve kterých jsou mezi hodnotami v poli Přiřazeno jak "Kelly Rollin", tak "Lisa Miller".
-
Otevřete dotaz v návrhovém zobrazení.
-
V tomto příkladu přidejte tabulku Issues (Problémy).
-
Přetáhněte pole do mřížky dotazu. V tomto příkladu přetáhněte pole Název a pole Přiřazeno s více hodnotami.
-
V mřížce dotazu v části Přiřazeno zadejte do řádku Kritéria "Kelly Rollin" a "Lisa Miller".
-
Na kartě Návrh klikněte ve skupině Výsledky na tlačítko Spustit.
Výsledek Zobrazí se dva problémy přiřazené Kelly Rollinové a Lise Millerové.
Seskupení a počítání pole s více hodnotami v dotazu
Pokud chcete provádět výpočty, seskupení a řazení hodnot uložených v poli s více hodnotami, použijte> <Název pole. Pole hodnota. Další informace o dotazech skupiny najdete v tématu Počet dat pomocí dotazu.
Počet problémů přiřazených jednotlivým osobám
-
Otevřete dotaz v návrhovém zobrazení.
-
V tomto příkladu přidejte tabulku Issues (Problémy).
-
Přetáhněte pole, která chcete použít, do mřížky dotazu. V tomto příkladu přetáhněte AssignedTo.Value do prvního sloupce a Title do druhého sloupce.
-
Na kartě Návrh ve skupině Zobrazit nebo skrýt klikněte na Součty.
Řádek Souhrn se zobrazí v mřížce dotazu. Funkce Seskupit podle se ve výchozím nastavení zobrazí v buňce Souhrn pod každým polem dotazu.
-
V mřížce dotazu klikněte v části Název na řádku Souhrn na Počet.
-
Na kartě Návrh klikněte ve skupině Výsledky na tlačítko Spustit.
Výsledek Počet problémů přiřazených na osobu se zobrazuje v plochém zobrazení.
Určení počtu osob přiřazených ke každému problému
-
Otevřete dotaz v návrhovém zobrazení.
-
V tomto příkladu přidejte tabulku Issues (Problémy).
-
Přetáhněte pole, která chcete použít, do mřížky dotazu. V tomto příkladu přetáhněte Název do prvního sloupce a přetáhněte AssignedTo do druhého sloupce.
-
Na kartě Návrh ve skupině Zobrazit nebo skrýt klikněte na Součty.
Řádek Souhrn se zobrazí v mřížce dotazu. Seskupit podle se ve výchozím nastavení zobrazí v buňce Celkem pod polem Název v dotazu. Výraz se ve výchozím nastavení zobrazuje v buňce Celkem pod polem AssignedTo , protože operaci Seskupit podle nelze provést přímo u pole s více hodnotami, pouze <Název pole>. Pole hodnota.
-
V mřížce dotazu klikněte v části Přiřazeno na řádku Celkem na Počet.
-
Na kartě Návrh klikněte ve skupině Výsledky na tlačítko Spustit.
Výsledek Počet osob přiřazených k problému se zobrazí v plochém zobrazení.
Použití přidávacího dotazu s polem s více hodnotami
Jednu hodnotu můžete vložit do pole s více hodnotami pomocí přidávacího dotazu. Předpokládejme například, že chcete přidat "Tom Michaels" do pole Přiřazeno s více hodnotami v tabulce Issues.
Poznámka: Jedná se o jediný typ přidávacího dotazu, který pracuje s polem s více hodnotami.
-
Otevřete dotaz v návrhovém zobrazení.
-
Přidejte tabulku Issues (Problémy).
-
Na kartě Návrh klikněte na Připojit.
-
V dialogovém okně Připojit vyberte Problémy a potom klikněte na OK.
-
V řádku Připojit do návrhové mřížky vyberte AssignedTo.Value.
-
Na řádku Pole v návrhové mřížce zadejte "Tom Michaels".
-
Pokud chcete operaci připojení omezit na konkrétní problémy, přidejte do návrhové mřížky pole, například Název, odeberte název z řádku Připojit do a zadejte kritéria, jako je například "Problém 3".
-
Na kartě Návrh klikněte ve skupině Výsledky na tlačítko Spustit.
Access vás může požádat o potvrzení, jestli se má vybraný řádek připojit. Kliknutím na Ano řádek vložte nebo kliknutím na Ne ho zrušte.
Výsledek "Tom Michaels" je teď přidaný do pole AssignedTo pro vydání 3.
Důležité: Nelze použít přidávací dotaz, který odkazuje na tabulku obsahující pole s více hodnotami. Například následující dotaz není platný:
INSERT INTO [NewIssues] ( ID, Title, AssignedTo ) SELECT Issues.ID, Issues.Title, Issues.AssignedTo FROM Issues;
Použití aktualizačního dotazu s polem s více hodnotami
Pomocí aktualizačního dotazu můžete změnit jednu hodnotu v poli s více hodnotami na jinou hodnotu. V tomto příkladu chcete aktualizovat pole AssignedTo s více hodnotami tak, aby "Kelly Rollin" nahradilo "Lisa Millerová".
-
Otevřete dotaz v návrhovém zobrazení.
-
Přidejte tabulku Issues (Problémy).
-
Na kartě Návrh klikněte na Aktualizovat.
-
Přetáhněte AssignedTo.Value do mřížky dotazu.
-
Na řádku Aktualizovat do zadejte "Lisa Millerová".
-
Do řádku Kritéria zadejte "Kelly Rollin".
-
Na kartě Návrh klikněte ve skupině Výsledky na tlačítko Spustit.
Access vás může požádat o potvrzení, jestli se má vybraný řádek připojit. Kliknutím na Ano řádek vložte nebo kliknutím na Ne ho zrušte.
Výsledek Lisa Miller nahradí Kelly Rollinovou v poli AssignedTo pro všechny odpovídající problémy.
Použití odstraňovacího dotazu s polem s více hodnotami
Při práci s tabulkou, která obsahuje pole s více hodnotami, můžete pomocí odstraňovacího dotazu odstranit záznamy, které obsahují určitou hodnotu v poli s více hodnotami, nebo odstranit určitou hodnotu z pole s více hodnotami ve všech záznamech v tabulce. V následujícím příkladu předpokládejme, že chcete odstranit "David Hamilton" z tabulky Issues.
Důležité: Když pomocí odstraňovacího dotazu odstraníte pole s více hodnotami, které obsahuje data, ztratíte tato data trvale – odstranění nelze vrátit zpět. Z tohoto důvodu byste měli zálohovat databázi před odstraněním jakýchkoli polí tabulky nebo jiných komponent databáze.
Odstranění konkrétní hodnoty z pole s více hodnotami ve všech záznamech
-
Na kartě Vytvoření klikněte ve skupině Dotazů na tlačítko Návrh dotazu.
-
Přidejte tabulku Issues (Problémy).
-
Otevřete dotaz v návrhovém zobrazení.
-
Na kartě Návrh klikněte na Odstranit.
-
Do řádku Kritéria zadejte "David Hamilton".
-
Na kartě Návrh klikněte ve skupině Výsledky na tlačítko Spustit.
Access vás může požádat o potvrzení, jestli se mají záznamy odstranit. Kliknutím na Ano záznamy odstraníte nebo kliknutím na Ne záznamy zrušíte.
Výsledek David Hamilton je odebraný ze všech odpovídajících problémů.
Odstranění záznamů, které obsahují určitou hodnotu v poli s více hodnotami
-
Na kartě Vytvoření klikněte ve skupině Dotazů na tlačítko Návrh dotazu.
-
Přidejte tabulku Issues (Problémy).
-
Otevřete dotaz v návrhovém zobrazení.
-
Na kartě Návrh klikněte na Odstranit skupinu.
-
Na kartě Návrh klikněte ve skupině Výsledky na šipku pod položkou Zobrazení a potom klikněte na zobrazení SQL.
-
Zadejte následující příkaz SQL:
DELETE FROM Issues WHERE (((Issues.AssignedTo.Value)="David Hamilton"));
Poznámka: V tomto případě můžete použít pouze příkaz SQL, nikoli návrhovou mřížku. Pokud přepnete do zobrazení návrhové mřížky, Access za příkaz DELETE přidá hvězdičku (*), kterou byste měli ze zobrazení SQL odebrat.
-
Na kartě Návrh klikněte ve skupině Výsledky na tlačítko Spustit.
Access vás může požádat o potvrzení, jestli se mají záznamy odstranit. Kliknutím na Ano záznamy odstraníte nebo kliknutím na Ne záznamy zrušíte.
Výsledek Všechny problémy s přiřazeným Davidem Hamiltonem se odeberou.