Zkus formulářový výstup pro zobrazení kraj, okres a obec s možností výběru.
1) Vytvoř samostatný formulář, zdroj záznamů 3 tabulky propojené v relaci 1:n bez polí.
V záhlaví formuláře vytvoříš 3x pole se seznamem pro výběr kraj, okres a město a příkazové tlačítko pro zrušení výběru. Podrobněji v bodě 3) až 5).
2) Vytvoř podformulář (nekonečný formulář nebo datový list), zdroj záznamů 3 tabulky propojené v relaci 1:n,
pole podformuláře kraj, okres a obec, řazení vzestupně. Podformulář vlož do těla samostatného formuláře bez propojení.
3) Pro výběr kraje bude "PoleSeSeznamem1", zdroj řádků tabulka "kraj", pole "kraj", seskupit, řazení vzestupně.
Do události "Po aktualizaci" (AfterUpdate) vytvoř proceduru, která po výběru kraje vyfitruje v podformuláři vybraný kraj a zároveň
pomocí SQL vytvoří pomocnou tabulku "Pomocna", kterou použijeme jako zdroj řádků pro výběr okresu v "PoliSeSeznamem2".
Private Sub PoleSeSeznamem1_AfterUpdate()
' Najít záznam odpovídající ovládacímu prvku.
Dim rs As Object
Dim X
Dim SQL1
Set rs = Me.Recordset.Clone
rs.FindFirst "[Kraj] = '" "
DoCmd.RunSQL SQL1
DoCmd.SetWarnings True 'Zobrazovat syst zpravy
DoCmd.RunCommand acCmdRefreshPage
End Sub
4) Pro výběr okresu bude "PoleSeSeznamem2", zdroj řádků tabulka "Pomocna", pole "okres", seskupit, řazení vzestupně.
Do události "Po aktualizaci" (AfterUpdate) vytvoř proceduru.
Private Sub PoleSeSeznamem2_AfterUpdate()
' Najít záznam odpovídající ovládacímu prvku.
Dim rs As Object
Set rs = Me.Recordset.Clone
rs.FindFirst "[Okres] = '" "
DoCmd.RunSQL SQL
DoCmd.SetWarnings True
Exit_Příkaz4_Click:
Exit Sub
Err_Příkaz4_Click:
msgbox Err.Description
Resume Exit_Příkaz4_Click
End Sub
6) Pro výběr města bude "PoleSeSeznamem3", zdroj řádků tabulka "město", pole "město", seskupit, řazení vzestupně.
Výběr města bude fungovat samostatně, tj buď kraj a okres, zrušit nebo město,zrušit. Proceduru zkus vytvořit sám.
Ty procedury budou asi zmršené, protože to nebere… některé znaky. Ukázat celý příspěvek