Otwieranie obiektów

Do otwierania obiektów (m.in. formularzy, raportów, tabel, kwerend itp.) kodem VBA wykorzystywana jest metoda DoCmd.Open
np.dla formularza:

Argumenty wejściowe to:

    • FormName – nazwa formularza, który ma zostać otwarty. Argument obowiązkowy
    • AcFormView – widok formularza po otwarciu
      Argument opcjonalny, wartość domyślna acNormal
    • FilterName – nazwa kwerendy stanowiącej filtr dla danych otwieranego formularza. Argument opcjonalny, raczej rzadko stosowany.
    • WhereCondition – opcjonalny argument typu string. W tym miejscu definiujemy filtr wyświetlanych rekordów, odwołując się do ograniczenia wartości pól źródła rekordów formularza.
    • DataMode – sposób dostępu do danych. Argument opcjonalny.
      Do wyboru są tu 4 możliwości

      • acFormAdd – formularz otwierany jest w trybie dodawania nowego rekordu
      • acFormEdit -formularz otwierany jest w trybie edycji/dodawania rekordów
      • acFormPropertySettings – edycja, dodawanie oraz zmiana właściwości formularza. Wartość domyślna  argumentu.
      • acFormReadOnly – formularz tylko do odczytu
    • WindowsMode – otwarcie okna nowego formularza
      • acDialog – formularz jest otwierany w trybie  modalnym i podręcznym – wymaga to reakcji w nowym formularzu (np.naciśnięcia przycisku czy wpisania wartości w polu tekstowym).
      • acHidden – formularz jest niewidoczny dla użytkownika
      • acIcon – formularz otwierany jest w oknie zminimalizowanym
      • acNormal – formularz otwierany jest zgodnie z właściwościami zapisanymi w jego arkuszu właściwości. Wartość domyślna.
    • OpenArgs – argument otwarcia nowego formularza. Używany jest do przekazywania wartości pomiędzy formularzami.

 

 

Zamykanie aplikacji

Do zamykania aplikacji Access w kodzie VBA wykorzystywana jest metoda DoCmd.Quit

Opcjonalny argument wyjściowy AcQuitOption to:

    • acQuitSaveAll – wartość domyślna, zamykanie Accessa z zapisaniem wprowadzonych zmian
    • acQuitSaveNone- zamknięcie z porzuceniem zmian

Przypominam, że nie chodzi tu o zmianę danych. To, co trafia do pola tabeli, od razu jest zapisane na dysku i nie da się tego cofnąć za pomocą obiektu DoCmd. Jeśli jednak mamy formularz i w Widoku Układu wprowadzamy zmiany np.formatowania pola, to za pomocą tej metody można zatwierdzić lub odrzucić te zmiany.


Kurs Access - programowanie w VBA

 

Zamykanie obiektów

Do zamykania obiektów w aplikacji Access wykorzystywana jest metoda DoCmd.Close.
Ma ona 3 opcjonalne argumenty wejściowe:

    • ObjectType – typ obiektu, który chcemy zamknąć (formularz, kwerenda, raport, makro itp.
    • ObjectName – nazwa obiektu do zamknięcia
    • Save – możliwość zapisania zmian.
      Do wyboru są tu 3 możliwości

      • acSaveNo – bez zapisywania zmian
      • acSaveYes – z zapisaniem zmian
      • acSavePromt – pojawia się komunikat z pytaniem o zapisanie zmian

Warto tu jednak zauważyć, że nie chodzi tu o zmianę danych. To, co trafia do pola tabeli, od razu jest zapisane na dysku i nie da się tego cofnąć za pomocą obiektu DoCmd. Jeśli jednak mamy formularz i w Widoku Układu wprowadzamy zmiany np.formatowania pola, to za pomocą tej metody można zatwierdzić lub odrzucić te zmiany.


 

 

Obiekt DoCmd

DoCmd to wbudowany obiekt VBA w aplikacji Access. Ma wiele pożytecznych metod służących głównie do zarządzania innymi obiektami.

Do najczęściej stosowanych należą metody związane z otwieraniem i zamykaniem obiektów (formularzy, raportów, kwerend czy tabel), przechodzeniem między rekordami, odświeżaniem ekranu itd. Możliwości jest tu sporo i warto opisać je szczegółowo, tym bardziej, że parametry wejściowe poszczególnych metod mają znaczenie.

Zapraszam do notek z tagiem DoCmd.