Jak synchronizovat dvě pole se seznamem ve formuláři v Aplikaci Microsoft Access
Tento článek popisuje AfterUpdate Vlastnost spustí proceduru události při výběru kategorie v prvním poli se seznamem.
Původní číslo KB: 289670
Poznámka
Vyžaduje základní dovednosti v oblasti maker, kódování a vzájemné spolupráce. Tento článek se vztahuje na databázi Aplikace Microsoft Access (.mdb/.accdb) a projekt aplikace Microsoft Access (.adp).
Souhrn
Tento článek popisuje, jak synchronizovat dvě pole se seznamem tak, aby při výběru položky v prvním poli se seznamem byl omezen výběr možností v druhém poli se seznamem.
Poznámka
Tento článek vysvětluje techniku, která je ukázaná v ukázkovém souboru, FrmSmp00.mdb.
Další informace
Následující příklad používá ukázkovou databázi Northwind.mdb. První pole se seznamem obsahuje dostupné kategorie produktů a druhé pole se seznamem uvádí dostupné produkty pro kategorii vybranou v prvním poli se seznamem:
Společnost Microsoft poskytuje ukázky programování pouze pro ilustraci, bez žádné záruky výslovně uvedené nebo odvozené, včetně, bez omezení, odvozených záruk vztahujících se k obchodovatelnosti nebo vhodnosti pro určitý účel. Tento článek předpokládá, že uživatel je obeznámen s programovacím jazykem, který je předmětem ukázky, a s nástroji použitými pro vytvoření a ladění skriptu. Pracovníci technické podpory společnosti Microsoft mohou vysvětlit funkce určitého postupu, nemohou však následující příklady rozšířit o další funkce nebo konstrukce podle konkrétních požadavků uživatele.
Otevřete Northwind.mdb ukázkové databáze.
Vytvořte nový formulář, který není založený na žádné tabulce nebo dotazu s následujícími poli se seznamem, a pak formulář uložte jako Kategorie a produkty.
Combo Box 1 ------------------------------- Name: Categories RowSourceType: Table/Query RowSource: Categories ColumnCount: 2 ColumnWidths: 0";1" BoundColumn: 1 AfterUpdate: [Event Procedure] Combo Box 2 -------------------------- Name: Products RowSourceType: Table/Query ColumnWidths: 2" Width: 2"
Poznámka
Pokud jste v projektu accessu,
RowSourceType
bude hodnota Table/View/StoredProc.Do procedury události AfterUpdate pole se seznamem Categories přidejte následující kód:
Me.Products.RowSource = "SELECT ProductName FROM" & _ " Products WHERE CategoryID = " & Me.Categories & _ " ORDER BY ProductName" Me.Products = Me.Products.ItemData(0)
Zobrazte formulář Kategorie a produkty ve formulářovém zobrazení.
Poznámka
Když vyberete kategorii v prvním poli se seznamem, druhé pole se seznamem se aktualizuje tak, aby vypisuje jenom dostupné produkty pro vybranou kategorii.
Poznámky
V tomto příkladu je druhé pole se seznamem vyplněné výsledky příkazu SQL. Tento příkaz JAZYKa SQL najde všechny produkty, které mají ID kategorie odpovídající kategorii vybrané v prvním poli se seznamem.
Pokaždé, když je v prvním poli se seznamem vybraná kategorie, AfterUpdate
spustí vlastnost proceduru události, která nastaví vlastnost druhého pole se seznamem RowSource
. Tím se aktualizuje seznam dostupných produktů v druhém poli se seznamem. Bez tohoto postupu by se obsah druhého pole se seznamem nezměnil.
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat Problémy GitHubu jako mechanismus zpětné vazby pro obsah a nahradíme ho novým systémem zpětné vazby. Další informace najdete tady:Odeslat a zobrazit názory pro