Moduły VBA

Moduły VBA w aplikacji Access to obiekty VBA, w których są zapisane wszystkie procedury i funkcje stworzone w kodzie VBA.
Dwukrotne kliknięcie w moduł powoduje automatyczne przejście do okna eksploatora projektu. Oczywiście można tam wejść również poprzez przycisk w grupie opcji Makra i kod na karcie Tworzenie czy też naciśnięcie przycisków Alt+F11.

 

Każdy z obiektów Accessa typu formularz czy raport ma swój własny moduł, w którym są zapisywane wszystkie zdarzenia z nim związane. Oprócz tego w projekcie są moduły ogólne, do których trafiają wszystkie przekonwertowane  makra. Moduły ogólne mogą być  też wstawiane poprzez menu edytora VBA:

 

Wykorzystując kod VBA – możliwości jest już naprawdę mnóstwo. Nawet sam Microsoft zaleca konwersję makr na kod VBA. Warto.

 

Zaufane lokalizacje

Przy otwieraniu aplikacji zbudowanych w Accessie (choć nie tylko, w Excelu jest podobnie), bardzo często pojawiają się komunikaty ostrzegające przed zagrożeniem wynikającym z uruchomienia potencjalnie niebezpiecznej zawartości. Jest to z pewnością bardzo pożyteczne działanie, ale w sytuacji aplikacji znanych i sprawdzonych, z pewnego źródła – często uciążliwe. Jak się pozbyć tych komunikatów? Przynajmniej w stosunku do tych treści, których jesteśmy pewni? Służy do tego jedna z opcji Centrum Zaufania.

Karta Plik –> Opcje

Wybieramy opcje, a następnie przechodzimy do ustawień Centrum Zaufania:

 

W nowym formularzu wybieramy Zaufane lokalizacje i naciskamy przycisk Dodaj nową lokalizację…

Otworzy się formularz, w którym wskazujemy folder do oznaczenia jako zaufany:

 

Warto też pamiętać o zaznaczeniu checkboxa Podfoldery tej lokalizacji są także zaufane

 

Na koniec wystarczy pozatwierdzać wszystkie kolejne okienka przyciskiem OK. I już.
Od tej pory ilość komunikatów ostrzegających zdecydowanie się zmniejszy.

Przenoszenie pliku

Jak szybko przenieść czyli usunąć w jednym miejscu i przenieść w inne miejsce na dysku plik? Jednym ze  sposobów  jest wykorzystanie obiektu FileSystem.Object.
Służy do tego metoda FileSystem.Object.MoveFile
Ma ona kilka parametrów wejściowych:

    • Object – nazwa obiektu zdefiniowanego jako obiekt FSO. Argument obowiązkowy.
    • Source – nazwa pliku do skopiowania. Argument obowiązkowy, ale dozwolone są znaki zastępcze w nazwie.
    • Destination – nazwa pliku po przeniesieniu. Argument obowiązkowy.

Zarówno stara jak i nowa nazwa pliku musi być pełna czyli z z dokładnym podaniem dysku i katalogu.

Przykładowy kod  może wyglądać tak:

Public Sub PrzeniesPlik()
Dim FSO As Object
Dim StaryPlik As String
Dim
NowyPlik As String
StaryPlik = “C:\Folder1\plik.png”
NowyPlik = “C:\Folder2\plik.png”
Set FSO = CreateObject(“Scripting.FileSystemObject”)
FSO.MoveFile StaryPlik, NowyPlik
Set FSO = Nothing
End Sub
End Sub

Warto też  wcześniej zwrócić uwagę na sprawdzenie, czy plik do przeniesienia istnieje. Jeżeli nie, to w trakcie wykonywania procedury wystąpi błąd wykonania 53.


Kurs Access - programowanie w VBA

 

Makra

Makra w aplikacji Access to zdefiniowane procedury automatyzacji. Tworzenie nowych makr dostępne jest na karcie Tworzenie, w grupie opcji Makra i kod.

Po kliknięciu tu przycisku Makro wchodzimy do tworzenia nowego makra w widoku projektu.

W przypadku już zapisanych makr przejście do widoku projektu i edycji następuje po kliknięciu prawym przyciskiem myszy na makrze w panelu nawigacji i wybraniu z menu podręcznego opcji  Widok projektu.

Każde makro w widoku projektu wygląda tak:

 

 

Warto tu zwrócić uwagę na grupę opcji Pokazywanie/ukrywanie. Są tam dwa przyciski:
Wykaz akcji
Pokaż wszystkie akcje – domyślnie wyłączony. Po jego naciśnięciu poszerza się lista dostępnych akcji, choć warto pamiętać, że niektóre z nich mogą ingerować w strukturę bazy danych, a więc mogą być niebezpieczne z punktu widzenia całego projektu.

Samo tworzenie makra polega na definiowaniu kolejnych kroków poprzez wybieranie ich z listy rozwijalnej:

 

W dalszej kolejności definiujemy poszczególne parametry wybranej akcji:

 

I dodajemy kolejne akcje

 

 

Makro trzeba zapisać i można wykorzystywać w bazie.
Każde makro można uruchomić przypisując je do dowolnego zdarzenia formularza, kontrolki czy formantu.
Warto też zwrócić uwagę na dostępną w widoku projektu makra możliwość konwersji makra na procedurę VBA:

 

W pewien sposób jest to działanie podobne do nagrywania makra w Excelu. Może być przydatne dla początkujących użytkowników VBA.


Egzamin Specjalista MS Access