Niezdefiniowany typ danych

User-defined type not defined

Niezdefiniowany typ danych użytkownika – błąd kompilacji spowodowany użyciem nieznanego typu danych.

Z czego może to wynikać? Często to zwykła literówka w nazwie typu danych – wystarczy drobna poprawka. Najczęściej to jednak brak odpowiedniej biblioteki, do uzupełnienia w referencjach.
Manu edytora VBA –> Tools –> References

Aktywne (czyli przyłączone do projektu) są te referencje, które mają zaznaczony checkbox z lewej strony.

Oprócz tego na liście są wypisane w kolejności alfabetycznej pozostałe dostępne referencje. Chcąc dołączyć którąś z referencji do projektu – wystarczy zaznaczyć przy niej checkbox i nacisnąć przycisk OK.

Na przykład w aplikacji wykorzystującej Microsoft Word:

W tym przypadku edytor VBA zaznaczył błąd w linii Word.Application, konieczne jest wyszukanie i dołączenie potrzebnej referencji.

Po jej dołączeniu – kompilacja kodu przebiega już bez problemów, a kod jest prawidłowo wykonywany.


Kurs Access - programowanie w VBA

 

Missing czyli brak referencji

Błąd kompilacji – Can’t find project or library

Błąd ten pojawia się w sytuacji, gdy brakuje referencji. Można to sprawdzić edytorze VBA. Wybieramy w menu Tools –> References:

Brakujące pozycje oznaczone są jako Missing.

Jak pozbyć  się błędu? Trzeba po prostu odhaczyć występujący przy nim checkbox, a następnie nacisnąć OK i skompilować program.


 

Błąd wykonania 75

Błąd wykonania 75 – Path/File access error

Błąd ten pojawia się w sytuacji, gdy następuje odwołanie do pliku lub folderu, który nie istnieje. Wystąpi także przy próbie utworzenia folderu, który już jest zapisany.
Najlepszym zabezpieczeniem kodu jest tu po prostu wcześniejsze sprawdzenie, czy dany plik/folder istnieje.
Przykładowy kod może wyglądać tak:

Public Sub NowyKatalog()
If Dir(“C:\ABCD”, vbDirectory) = “” Then   ‘(1)
   MkDir (“C:\ABCD”)   ‘(2)
End If`  ‘(3)
End Sub

W linii (1) następuje sprawdzenie, czy istnieje katalog. Jeżeli nie – następuje przejście do linii (2), jeżeli tak – do (3).

 

Wyrażenie MkDir

MkDir to wyrażenie VBA tworzące na dysku nowy katalog. Posiada 1 argument:

    • Path– pełna nazwa folderu, który chcemy utworzyć

Jeżeli katalog o tej nazwie już istnieje wystąpi błąd wykonania 75

 

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

Public Sub NowyKatalog()
If Dir(“C:\ABCD”, vbDirectory) = “” Then
MkDir (“ABCD”)
End If
End Sub

 

 

Funkcja Dir

Funkcja DIR() to funkcja VBA zwracająca wartość tekstową będącą nazwą pliku lub folderu. Bardzo pożyteczna  i często stosowana.

Argumenty funkcji to:

    • PathName– wartość tekstowa odpowiadająca pełnej nazwie pliku lub folderu
    • Attributes – wartość stała lub liczbowa określająca wyszukiwane pliki. Składa się ona z sumy wartości liczbowych z tabeli poniżej.

Atrybuty mogą przyjmować wartości:

Stała Wartość liczbowa Opis
vbNormal 0 Pliki bez właściwości. Wartość domyślna.
vbReadOnly 1 Pliki bez właściwości i pliki tylko do odczytu
vbHidden 2 Pliki bez właściwości i pliki ukryte
vbSystem 4 Pliki bez właściwości i pliki systemowe
vbVolume 8 Etykiety
vbDirectory 16  Foldery

W praktycznym wykorzystaniu funkcja Dir najczęściej stosowana jest do sprawdzania czy istnieje dany folder lub plik oraz do sporządzania listy takich plików.


Kurs Access - programowanie w VBA

 

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

 

Raporty

Raporty w aplikacji Access to obiekty przedstawiające dane w formie przeznaczonej głównie do drukowania. Podobnie jak formularze, mogą być oparte o tabele lub kwerendy.
Raporty nie są przeznaczone do wstawiania czy edycji danych, a jedynie do ich prezentacji w zaprojektowanym układzie.

Podstawowe widoki raportów, dostępne na karcie
Narzędzia główne-> Widok to:

    • widok raportu

      raport w formie  przeznaczonej do wyświetlenia na ekranie komputera. W tym widoku widoczne są także np.przyciski uruchamiające makra i/lub procedury VBA.
       

    • podgląd wydruku

      czyli raport tak, jak będzie drukowany.
    • widok projektu

      raport w formie możliwej do projektowania, zmian, wstawiania formantów.

Przy tworzeniu raportów wykorzystywane są przyciski dostępne na karcie Tworzenie -> Raporty.


Kurs Access 2013 od podstaw

%d bloggers like this: