Zamykanie obiektu

Do zamykania obiektów (np.formularzy,  raportów) w VBA służy metoda docmd Close.

kliknij, aby powiększyć

Metoda Docmd.Close ma 3 argumenty:

      • ObjectType – typ zamykanego obiektu
      • ObjectName – nazwa zamykanego obiektu
      • Save – zapis zmian

Wszystkie te argumenty są opcjonalne. Jeżeli pierwszy i drugi argument zostaną opuszczone, domyślnym obiektem jest ten, który jest aktywny.  Trzeci argument jest związany z zapisem zmian w zamykanym obiekcie – wartość domyślna to acSavePrompt czyli monit.

W swoich projektach często stosuję tę metodę, również do poruszania się między formularzami. Jeżeli chcę np. po naciśnięciu przycisku polecenia zamknąć formularz i otowrzyć inny – robię to najczęściej tak:

Private Sub PolecenieDoSpisu_Click()
DoCmd.Close
'(…)
End Sub

Jeżeli w kolejnym kroku ma zostać otwarty inny formularz – najpierw zamykamy ten aktywny, a w kolejnych liniach kodu dopiero otwieramy nowy.
Jeżeli ten nowy formularz ma być otwarty z parametrem, którego źródłem jest jakieś pole z zamykanego formularza – konieczne jest przypisanie tej wartości do zmiennej w procedurze  jeszcze przed zamknięciem formularza.
Np.

Private Sub PolecenieDoSpisu_Click()
Dim JParam
JParam=Me.PoleP
DoCmd.Close
DoCmd.OpenForm „SpisKsiazek”, , , , , , JParam
'(…)
End Sub

 


Kurs Access 2013 od podstaw

 

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *