Použití vyhledávání a polí s více hodnotami v dotazech

Platí pro
Access pro Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

V Accessu můžete vytvořit pole s více hodnotami, které může mít 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í na vyhledávací pole nebo pole s více hodnotami je potřeba vzít v úvahu jedinečné aspekty. Další informace najdete v tématech Vytvoření nebo odstranění pole s více hodnotami a Vytvoření nebo odstranění vyhledávacího pole.

V tomto článku

Zobrazení vázané hodnoty vyhledávacího pole v dotazu

Ve výchozím nastavení se zobrazovaná hodnota vyhledávacího pole automaticky zobrazuje v zobrazení Datový list dotazu. Při vytváření dotazu můžete toto chování přepsat a místo toho se zobrazí vázaná hodnota. V tomto příkladu předpokládejme, že chcete zobrazit vázanou hodnotu vyhledávacího pole v tabulce ústředí, která vyhledává název státu Nová Anglie.

Tabulky vyhledávacích polí

  1. Otevřete dotaz v návrhovém zobrazení.

  2. V tomto příkladu přidejte tabulky Headquarters a NewEngland .
    Obě tabulky by měly být spojené.

    Schéma vyhledávacího pole

    Další informace najdete v tématu Spojování tabulek a dotazů.

  3. Přetáhněte pole A spolu s vyhledávacím polem do návrhové mřížky dotazu. V tomto příkladu přidejte pole Město a NEState .

  4. Klikněte na vyhledávací pole a potom na kartě Návrh klikněte ve skupině Zobrazit či skrýt na Seznam vlastností. V tomto příkladu použijte pole NEState .

  5. V seznamu vlastností vyberte kartu Vyhledávání a poté ve vlastnosti Zobrazit ovládací prvek vyberte položku Textové pole.
    Vlastnost Zobrazení v návrhu dotazu

Výsledek Když teď dotaz zobrazíte v zobrazení Datový list, zobrazí se odpovídající vázaná hodnota zobrazené hodnoty.

The query result showing the Bound value Top of Page

Použití zobrazované hodnoty pro vyhledávací pole v dotazu

Když vytvoříte vyhledávací pole, vytvoří se spojení mezi vázanou hodnotou a zobrazenou hodnotou. I když nemůžete přímo použít hodnotu Display v dotazu, můžete použít odpovídající hodnotu z jiného zdroje dat. Předpokládejme, že v tomto příkladu chcete jako kritéria použít zobrazovanou hodnotu vyhledávacího pole NEState v tabulce Ústředí .

  1. Otevřete dotaz v návrhovém zobrazení.

  2. V tomto příkladu přidejte tabulky Headquarters a NewEngland .
    Obě tabulky by měly být spojené. Další informace najdete v tématu Spojování tabulek a dotazů.

  3. 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.

  4. Zrušte zaškrtnutí políčka Zobrazit u pole StateName v mřížce dotazu.

  5. V mřížce dotazu v poli StateName v řádku Kritéria zadejte Vermont.

    Mřížka dotazu se zobrazenou hodnotou vazby vyhledávacího pole

    Kritéria dotazu jsou založená na sloupci StateName , který je samozřejmě shodný s hodnotou Zobrazená NEState, ale nezobrazuje se v zobrazení Datový list.

  6. Na kartě Návrh klikněte ve skupině Výsledky na tlačítko Spustit.

Výsledek Zobrazen je pouze řádek obsahující slovo Vermont .

Výsledky dotazu Začátek stránky

Použití vícehodnotového pole v dotazu

Při zobrazení pole s více hodnotami v dotazu můžete zobrazit celé pole s více hodnotami, které obsahuje všechny hodnoty oddělené čárkami v jednom řádku nebo sloučená data se samostatným řádkem pro každou hodnotu. Předpokládejme třeba, ž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é slouží k přiřazování problémů k lidem.

Zobrazení všech hodnot v poli s více hodnotami v jednom řádku

  1. Otevřete dotaz v návrhovém zobrazení.
  2. V tomto příkladu přidejte tabulku Problémy .
  3. 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.
  4. Na kartě Návrh klikněte ve skupině Výsledky na tlačítko Spustit.

Výsledek Jak se dalo očekávat, v jednom sloupci se zobrazí pole Název a ve druhém sloupci pole Přiřazeno s více hodnotami:

Dotaz na pole s více hodnotami s nezploštělými výsledky Zobrazení jednotlivých hodnot pole s více hodnotami v jednom řádku (sloučené zobrazení)

  1. Otevřete dotaz v návrhovém zobrazení.
  2. V tomto příkladu přidejte tabulku Problémy .
  3. 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.Hodnota s více hodnotami.
    Formát, <NázevPole>. Value, připojí vlastnost Value jako řetězec . Hodnota pole Přiřazeno .
  4. Na kartě Návrh klikněte ve skupině Výsledky na tlačítko Spustit.

Výsledek Data se zploští tak, že se pole Název opakuje a každá hodnota v poli Přiřazeno s více hodnotami je zobrazená na odpovídajícím řádku:

Dotaz na vícehodnotová pole se sloučenými výsledky

Přidání kritérií do vícehodnotového pole 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 v jednom řádku

Access nejdřív vytvoří sadu výsledků a pak přidá kritéria.

  1. Otevřete dotaz v návrhovém zobrazení.

  2. V tomto příkladu přidejte tabulku Problémy .

  3. Přetáhněte pole do mřížky dotazu. V tomto příkladu přetáhněte pole Název , pole s více hodnotami Přiřazeno a pole s více hodnotami Přiřazeno.Hodnota .

  4. Zrušte zaškrtnutí políčka Zobrazit u hodnoty Přiřazeno.Hodnota v mřížce dotazu.

  5. V mřížce dotazu v části Přiřazeno.Hodnota v řádku Kritéria zadejte "NOT "David Hamilton".

    Návrhová mřížka dotazu s přímým vyhledávacím polem

    Je užitečné podívat se na zobrazení SQL:
    SELECT Title, AssignedTo FROM Issues WHERE NOT AssignedTo.Value = "David Hamilton";

  6. Na kartě Návrh klikněte ve skupině Výsledky na tlačítko Spustit.

Výsledek Tři čísla, která nejsou přiřazena Davidu Hamiltonovi, jsou zobrazena ve výchozí hodnotě.

Výsledky pro pole s více hodnotami pomocí <Název pole:> Přidání kritérií pro zobrazení všech hodnot v poli s více hodnotami v jednom řádku (sloučené zobrazení)

Aplikace Access nejprve vytvoří sloučenou sadu výsledků a poté přidá kritéria.

  1. Otevřete dotaz v návrhovém zobrazení.

  2. V tomto příkladu přidejte tabulku Problémy .

  3. 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.Hodnota s více hodnotami.

  4. V mřížce dotazu zadejte v části Přiřazeno.Hodnota na řádku Kritéria NOT "David Hamilton".

    Návrhová mřížka dotazu s . Formát hodnoty vyhledávacího pole

    Je užitečné podívat se na zobrazení SQL:
    SELECT Issues.Title, AssignedTo.Value FROM Issues WHERE NOT AssignedTo.Value = "David Hamilton"

  5. Na kartě Návrh klikněte ve skupině Výsledky na tlačítko Spustit.

Výsledek Každé číslo, které není přiřazeno Davidu Hamiltonovi, je zobrazeno ve zploštělé hodnotě.

Výsledky pro pole s více hodnotami pomocí <Název pole>. Hodnota v horní části stránky

Přidání více kritérií do pole s více hodnotami v dotazu

Někdy je potřeba v poli s více hodnotami vyhledat shodu u více hodnot. Předpokládejme například, že chcete zobrazit problémy, ve kterých je mezi hodnotami v poli Přiřazeno jak "Kelly Rollin", tak "Lisa Kupková"

  1. Otevřete dotaz v návrhovém zobrazení.
  2. V tomto příkladu přidejte tabulku Problémy .
  3. 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.
  4. V mřížce dotazu zadejte v části Přiřazeno do řádku Kritéria "Kelly Rollin" AND "Lisa Kupková".
  5. Na kartě Návrh klikněte ve skupině Výsledky na tlačítko Spustit.

Výsledek Zobrazí se tato dvě čísla, která jsou přiřazená "Kelly Rollinové" a "Lise Millerové".

Výsledek dotazu, který znázorňuje použití operátoru AND v poli s více hodnotami

Začátek stránky

Grouping and counting a multivalue field in a query

K výpočtům, seskupování a řazení hodnot uložených v poli s více hodnotami <použijte název pole>. Pole s hodnotou. Další informace o skupinových dotazech najdete v tématu Určení počtu dat pomocí dotazu.

Zjištění počtu problémů přiřazených jednotlivým uživatelům

  1. Otevřete dotaz v návrhovém zobrazení.
  2. V tomto příkladu přidejte tabulku Problémy .
  3. Přetáhněte pole, která chcete použít, do mřížky dotazu. V tomto příkladu přetáhněte pole Přiřazeno.Hodnota do prvního sloupce a pole Název do druhého sloupce.
  4. Na kartě Návrh ve skupině Zobrazit nebo skrýt klikněte na Součty.
    V mřížce dotazu se zobrazí řádek Souhrn . Příkaz Seskupit podle se ve výchozím nastavení zobrazí v buňce Souhrn pod všemi poli dotazu.
  5. V mřížce dotazu klikněte v části Název na řádku Součet na Počet.
  6. Na kartě Návrh klikněte ve skupině Výsledky na tlačítko Spustit.

Výsledek Počet problémů přiřazených jednotlivým osobám se zobrazí ve sloučeném zobrazení.

Dotaz, který počítá problémy přiřazené jednotlivým uživatelům

Zjištění počtu lidí přiřazených k jednotlivým problémům

  1. Otevřete dotaz v návrhovém zobrazení.
  2. V tomto příkladu přidejte tabulku Problémy .
  3. Přetáhněte pole, která chcete použít, do mřížky dotazu. V tomto příkladu přetáhněte pole Název do prvního sloupce a pole Přiřazeno do druhého sloupce.
  4. Na kartě Návrh ve skupině Zobrazit nebo skrýt klikněte na Součty.
    V mřížce dotazu se zobrazí řádek Souhrn . Příkaz Seskupit podle se v dotazu standardně zobrazí v buňce Celkem pod polem Název. Výraz se ve výchozím nastavení zobrazí v buňce Celkem pod polem Přiřazeno , protože operaci Seskupit podle nelze provést přímo u pole s více hodnotami, pouze <u pole Název pole>. Pole s hodnotou.
  5. V mřížce dotazu klikněte v části Přiřazeno na řádku Celkem na Počet.
  6. 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í ve zjednodušeném zobrazení.

Výsledek dotazu, který ukazuje počet uživatelů přiřazených problému

Začátek stránky

Použití přidávacího dotazu s polem s více hodnotami

Pomocí přidávacího dotazu můžete do pole s více hodnotami vložit jednu hodnotu. Předpokládejme například, že chcete do pole Přiřazeno s více hodnotami v tabulce Problémy přidat "Jan Mikuláš".

Poznámka Toto je jediný typ přidávacího dotazu, který funguje s polem s více hodnotami.

  1. Otevřete dotaz v návrhovém zobrazení.
  2. Přidejte tabulku Problémy .
  3. Na kartě Návrh klikněte na Přidat.
  4. V dialogovém okně Přidat vyberte Problémy a klikněte na OK.
  5. V řádku Přidat do v návrhové mřížce vyberte položku Přiřazeno.Hodnota.
  6. V řádku Pole návrhové mřížky zadejte "Tom Michals".
  7. 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řidat do a zadejte kritéria, například "Problém 3".
  8. Na kartě Návrh klikněte ve skupině Výsledky na tlačítko Spustit.
    Access vás může požádat o potvrzení, jestli chcete vybraný řádek přidat. Kliknutím na Ano řádek vložíte, kliknutím na Ne ho zrušíte.

Výsledek "Tom Michaels" je nyní přidán do pole Přiřazeno pro problém 3.

Důležité Nemůžete použít přidávací dotaz, který odkazuje na tabulku obsahující pole s více hodnotami. Následující dotaz například není platný:

INSERT INTO [NewIssues] ( ID, Title, AssignedTo ) SELECT Issues.ID, Issues.Title, Issues.AssignedTo FROM Issues;

Začátek stránky

Použití aktualizačního dotazu s polem s více hodnotami

Aktualizační dotaz můžete použít ke změně jedné hodnoty v poli s více hodnotami na jinou hodnotu. V tomto příkladu chcete aktualizovat pole Přiřazeno s více hodnotami tak, aby nahradilo položku "Kelly Rollin" hodnotou "Lisa Kupková".

  1. Otevřete dotaz v návrhovém zobrazení.
  2. Přidejte tabulku Problémy .
  3. Na kartě Návrh klikněte na Aktualizovat.
  4. Přetáhněte pole AssignedTo.Value do mřížky dotazu.
  5. Na řádek Aktualizovat do zadejte "Jana Nováková".
  6. Do řádku Kritéria zadejte "Kelly Rollin".
  7. Na kartě Návrh klikněte ve skupině Výsledky na tlačítko Spustit.
    Access vás může požádat o potvrzení, jestli chcete vybraný řádek přidat. Kliknutím na Ano řádek vložíte, kliknutím na Ne ho zrušíte.

Výsledek Lisa Millerová nahrazuje Kelly Rollinovou v poli Přiřazeno u všech odpovídajících problémů.

Začátek stránky

Použití odstraňovacího dotazu s polem s více hodnotami

Pokud pracujete s tabulkou, která obsahuje pole s více hodnotami, můžete pomocí odstraňovacího dotazu odstranit záznamy obsahující 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 z tabulky Problémy odstranit položku "David Hamilton".

Důležité Pokud pomocí odstraňovacího dotazu odstraníte pole s více hodnotami, které obsahuje data, trvale příslušná data ztratíte – odstranění nejde 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

  1. Na kartě Vytvoření klikněte ve skupině Dotazů na tlačítko Návrh dotazu.
  2. Přidejte tabulku Problémy .
  3. Otevřete dotaz v návrhovém zobrazení.
  4. Na kartě Návrh klikněte na Odstranit.
  5. Do řádku Kritéria zadejte "David Hamilton".
  6. Na kartě Návrh klikněte ve skupině Výsledky na tlačítko Spustit.
    Access vás může požádat o potvrzení, jestli chcete záznamy odstranit. Kliknutím na Ano záznamy odstraníte, kliknutím na Ne je zrušíte.

Výsledek David Hamilton je vyloučen pro všechny odpovídající problémy.

Odstranění záznamů obsahujících určitou hodnotu z pole s více hodnotami

  1. Na kartě Vytvoření klikněte ve skupině Dotazů na tlačítko Návrh dotazu.

  2. Přidejte tabulku Problémy .

  3. Otevřete dotaz v návrhovém zobrazení.

  4. Na kartě Návrh klikněte na Odstranit skupinu.

  5. Na kartě Návrh klikněte ve skupině Výsledky na šipku pod tlačítkem Zobrazit a potom klikněte na položku Zobrazení SQL.

  6. 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, přidá Access za příkaz DELETE hvězdičku (*), kterou byste měli ze zobrazení SQL odebrat.

  7. Na kartě Návrh klikněte ve skupině Výsledky na tlačítko Spustit.
    Access vás může požádat o potvrzení, jestli chcete záznamy odstranit. Kliknutím na Ano záznamy odstraníte, kliknutím na Ne je zrušíte.

Výsledek Všechny problémy, ke kterým je přiřazen David Hamilton, jsou odstraněny.

Začátek stránky