Access

  MS Access 2010+  |  Zdarzenia w MS Access  |   VBA 7.0



 

• Zdarzenie Open (Close)

Zdarzenie Open występuje, gdy formularz zostaje otwarty, ale przed wyświetleniem pierwszego rekordu. Dla raportu zdarzenie to występuje przed podglądem wydruku albo przed wydrukowaniem raportu. Zdarzenie Close występuje, gdy formularz albo raport jest zamykany i usuwany z ekranu.

Makro i procedura zdarzenia Open (Close).

Aby uruchomić makro lub procedurę zdarzenia, gdy wystąpią te zdarzenia, należy ustawić właściwość OnOpen (PrzyOtwarciu) lub OnClose (PrzyZamknięciu) na nazwę makra lub na wartość [Event Procedure] ([Procedura zdarzenia]).

Uruchamiając makro lub procedurę zdarzenia, gdy występuje zdarzenie Open formularza, można zamknąć inne okno albo przenieść fokus do określonego formantu w formularzu. Można również uruchomić makro z prośbą o informacje potrzebne przed otwarciem formularza, albo wydrukowaniem raportu. Na przykład, makro albo procedura zdarzenia Open może otwierać niestandardowe okno dialogowe, w którym użytkownik wprowadza kryteria określające, kiedy zestaw rekordów ma być wyświetlany na formularzu, albo zakres danych, które mają być uwzględnione w raporcie.

Zdarzenie Open nie występuje podczas aktywacji formularza, który już jest otwarty – na przykład przy przełączaniu się na formularz z innego okna programu Microsoft Access lub zastosowaniu akcji OtwórzFormularz (OpenForm) w makrze, aby wyświetlić otwarty formularz na wierzchu. W takich sytuacjach zachodzi jednak zdarzenie Activate.

Gdy użytkownik otwiera formularz oparty na kwerendzie, program Microsoft Access wykonuje tę kwerendę przed wykonaniem makra lub procedury zdarzenia Open. Natomiast, gdy użytkownik otwiera raport oparty na kwerendzie, program Microsoft Access wykonuje makro lub procedurę zdarzenia Open przed wykonaniem kwerendy dla raportu. Pozwala to użytkownikowi określić kryteria dla raportu przed jego otwarciem – na przykład, w niestandardowym oknie dialogowym można wyświetlić informację o tym, kiedy występuje zdarzenie Open.

Jeśli w aplikacji może być wiele formularzy załadowanych jednocześnie, należy użyć zdarzeń ActivateDeactivate zamiast zdarzenia Open, aby wyświetlić lub ukryć niestandardowy pasek narzędzi, a począwszy od wersji MS Access 2007 wstążki (Ribbon), gdy fokus jest przenoszony do innego formularza.

Zdarzenie Open występuje przed zdarzeniem Load wywoływanym, gdy otwierany jest formularz i wyświetlane są rekordy w tym formularzu.

Gdy użytkownik po raz pierwszy otwiera formularz, występują kolejno następujące zdarzenia:

Open ⇒ Load ⇒ Resize ⇒ Activate ⇒ Current

Zdarzenie Close występuje po zdarzeniu Unload wywoływanym, gdy zamykany jest formularz, ale przed usunięciem formularza z ekranu.

Gdy użytkownik zamyka formularz, występują kolejno następujące zdarzenia:

Unload ⇒ Deactivate ⇒ Close

Gdy występuje zdarzenie Close, można otworzyć inne okno albo zażądać podania nazwy użytkownika, aby dokonać wpisu w dzienniku zdarzeń określającego, kto używał formularza.

Decydując o tym, czy użyć zdarzenia Open, czy zdarzenia Load w makrze lub procedurze zdarzenia, trzeba pamiętać o ważnej różnicy między nimi – zdarzenie Open może być anulowane, ale zdarzenie Load nie. Na przykład, jeśli użytkownik dynamicznie buduje źródło rekordów dla formularza w procedurze zdarzenia Open tego formularza, może on anulować otwarcie formularza, jeśli nie ma rekordów do wyświetlenia. Podobnie zdarzenie Unload może być anulowane, ale zdarzenie Close nie.

Słownik użytych terminów.



• formularz
obiekt bazy danych programu Microsoft Access, w którym umieszcza się formanty służące do wykonywania akcji albo do wprowadzania, wyświetlania i edycji danych w polach.
• raport
Obiekt bazy danych programu Microsoft Access, który umożliwia oglądanie informacji sformatowanej i zorganizowanej zgodnie z wymaganiami użytkownika. Przykładami raportów są zestawienia cen, listy numerów telefonów czy etykiety adresowe.
• formant
obiekt graficzny, taki jak pole tekstowe, pole wyboru, przycisk polecenia lub prostokąt, który można umieścić na formularzu lub raporcie w widoku „Projekt” w celu wyświetlenia danych, wykonania akcji lub w celu ułatwienia korzystania z formularza lub raportu.
• makro
Akcja (lub zestaw akcji), której można użyć w celu automatyzacji zadań.
• procedura zdarzenia
Procedura wykonywana automatycznie w odpowiedzi na zdarzenie zainicjowane przez użytkownika, kod programu lub system.
• pasek narzędzi
Pasek, a począwszy od wersji MS Access 2007 wstążka (Ribbon) zawierający zestaw przycisków, menu lub inne formanty, które można kliknąć, aby wykonać często używane polecenia menu. Można wyróżnić następujące typy pasków narzędzi: pasek menu, pasek narzędzi, menu podręczne (menu podręczne, menu rozwijane, podmenu).