Funkcja Clng() jest jedną z funkcji konwersji Accessa. Ma jeden argument:
wyrażenie
zamienia wyrażenie na liczbę typu Long. Wyrażenie może być datą, liczbą (ułamkowe zaokrągla) czy tekstem, ale złożonym z cyfr.
Ja stosuję tą funkcję bardzo często – szczególnie w stosunku do dat. Opisałam to tu: Data jako parametr kwerendy
Funkcja Clng() występuje i działa tak samo w Accessie (czyli w kreatorze wyrażeń) jak i kodzie VBA.
Konstruktor wyrażeń to wbudowany w Accessa kreator formuł. Jest on dostępny we wszystkich obiektach m.in. kwerendach, tabelach, raportach – wszędzie tam, gdzie chcemy wstawić pole obliczeniowe.
Np. w siatce kwerendy na wolnym polu wystarczy kliknąć prawym przyciskiem myszy i z menu podręcznego wybrać Konstruuj….
kliknij, aby powiększyć
Otworzy się nowe okno. Po lewej stronie wybieramy np.funkcje
i zobaczymy wszystkie funkcje Accessa:
W Bibliotece będą widoczne funkcje publiczne wstawione w modułach ogólnych VBA.
Niżej można też rozwinąć wszystkie tabele/kwerendy/raporty wraz z ich polami i wstawić je do formuł.
Chcąc utworzyć w kwerendzie nowe pole i przypisać mu nazwę, wpisujemy tą nazwę z dwukropkiem na końcu.
Np.:
Metoda obiektu docmd – Quit służy do zamknięcia bazy danych i wyjścia z Accessa.
Metoda Docmd.Quit ma jeden argument opcjonalny, który może przybierać jedną z trzech opcji:
acQuitPrompt – z monitem o zapis zmian
acQuitSaveAll – zapisuje wszystkie zmiany (wartość domyślna)
acQuitSaveNone – bez zapisu wszystkich zmian
kliknij, aby powiększyć
Często stosuję tę metodę do szybkiego zamykania Accessa z różnych miejsc bazy danych.
Do zamykania bazy danych kodem VBA służy metoda docmd – CloseDatabase.
Metoda Docmd.CloseDatabase nie ma żadnych argumentów – zamyka po prostu aktywną bazę danych.
Jakoś nie przypominam sobie, żeby w swoich projektach kiedyś stosowała tę metodę.
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