Formularz modalny to formularz, z którego nie da się przenieść fokusa na inny obiekt przed jego zamknięciem.
Ustawienie formularza jako modalny dostępne jest w Arkuszu właściwości, w zakładce Inne.

Po otwarciu formularza modalnego, nawet jeżeli jednocześnie jest otwartych kilka formularzy czy raportów, nie można się do nich przełączyć, fokus pozostaje zawsze przy tym modalnym. Choć oczywiście można z niego (za pomocą przycisku lub zdarzenia) otworzyć inny formularz – po zamknięciu go, fokus wraca do naszego formularza modalnego.
W swoich projektach bardzo często korzystam z formularzy modalnych. Wykorzystuję je najczęściej do dodawania nowych rekordów do tabeli. W ten sposób mam większą kontrolę nad tym, czy wszystkie dane zostały wprowadzone, w razie potrzeby wyświetlany jest komunikat i możliwość korekty. Finalnie do tabeli nie trafiają śmieci.
Przykład takiego formularza:
Zamknięcie formularza poprzez jeden z dwóch przycisków:
-
- Anuluj – zamyka formularz bez zapisu danych
- Zapisz – sprawdza dane, zapisuje je do tabeli i zamyka formularz
A jak zrobić to kodem VBA? Najprościej wykorzystać metodę Docmd.Openform w trybie acDialog.
Przykład kodu:
Private Sub PolecenieNowaKsiazka_Click() DoCmd.OpenForm „NowaKsiazka”, , , , , acDialog End Sub |