Access

  MS Access 2010+ i Visual Basic for Applications VBA 7.0



• Cykl życia zmiennych

Czas, w którym zmienna zachowuje swoją wartość, jest nazywany jej cyklem życia. Wartość zmiennej może zmienić się podczas jej cyklu życia, ale w dalszym ciągu zmienna przechowuje pewną wartość. Kiedy wykonanie programu opuszcza zakres zmiennej, traci ona swoją wartość.

• zmienna
Opatrzone nazwą miejsce w pamięci do przechowywania danych, które mogą ulegać modyfikacjom w trakcie wykonywania programu. Każda zmienna zaopatrzona jest w unikatową nazwę, która identyfikuje ją w obrębie danego zakresu. Typ danych może być określony lub nie. Nazwy zmiennych muszą zaczynać się literą, muszą być unikatowe w obrębie swego zakresu, nie mogą być dłuższe niż 255 znaków i nie mogą zawierać kropki ani znaku deklarującego typ.
• zakres
Określa widoczność zmiennej, procedury lub obiektu. Na przykład, zmienna zadeklarowana jako Public jest widoczna dla wszystkich procedur we wszystkich modułach, o ile nie włączono opcji Private Module. Jeżeli opcja Private Module została włączona, dany moduł jest prywatny i w związku z tym nie jest widoczny dla projektów wskazujących go (odwołujących się doń). Zmienne zadeklarowane w danej procedurze są widoczne tylko w ramach tej procedury i, o ile nie zostaną zadeklarowane jako zmienne typu Static, tracą swoją wartość pomiędzy wywołaniami.

• Inicjowanie zmiennej

W chwili rozpoczęcia procedury wszystkie zmienne są inicjowane. Zmienna numeryczna jest inicjowana wartością zero, ciąg znaków zmiennej długości przyjmuje wartość ciągu długości zerowej (""), natomiast ciąg znaków stałej długości jest wypełniany znakami reprezentowanymi przez kod ASCII 0 lub Chr(0). Zmienne typu Variant są inicjowane wartością Empty. Każdy element zmiennej typu zdefiniowanego przez użytkownika jest inicjowany tak, jakby był osobną zmienną.

Jeżeli deklarowana jest zmienna obiektowa, w pamięci rezerwowany jest obszar, natomiast wartość zmiennej jest ustawiana na Nothing do czasu przypisania do niej odwołania do obiektu za pomocą instrukcji Set.

Jeśli wartość zmiennej nie zmienia się podczas wykonywania programu, zmienna zachowuje swoją wartość inicjalną do czasu opuszczenia swego zasięgu.

• procedura
Opatrzona nazwą sekwencja instrukcji wykonywanych jako jeden blok. Przykładami procedur są Function, Property i Sub. Nazwa procedury jest zawsze definiowana na poziomie modułu. W procedurze musi zawierać się cały wykonywalny kod programu. Procedury nie mogą być zagnieżdżone w innych procedurach.
• typ danych Variant
Specjalny typ danych, które mogą oprócz danych liczbowych, ciągów znaków lub dat zawierać także wartości specjalne Empty i Null. Typ Variant rezerwuje 16 bajtów na dane numeryczne, co pozwala na przechowywanie liczb o zakresie takim jak dla typu Decimal, lub 22 bajty na ciąg znaków (łącznie z informacją o długości), co pozwala na przechowywanie dowolnego tekstu. Sposób traktowania danych typu Variant określa funkcja VarType. Wszystkie zmienne, dla których nie został jawnie zadeklarowany inny typ danych, należą do typu Variant.
• Empty
Wskazuje, że do zmiennej typu Variant nie przypisano żadnej początkowej wartości. Zmienna Empty dla wartości numerycznych jest równa 0, a dla ciągów znaków jest ciągiem znaków o długości zerowej ("").
• typ zdefiniowany przez użytkownika
Dowolny typ danych zdefiniowany za pomocą instrukcji Type. Typy danych zdefiniowane przez użytkownika mogą zawierać jeden lub więcej elementów dowolnego typu. Tablice typów definiowanych przez użytkownika oraz innych typów tworzone są za pomocą instrukcji Dim. Typy zdefiniowane przez użytkownika mogą zawierać tablice dowolnego typu.
• zmienna obiektowa
Zmienna zawierająca odwołanie do obiektu.

Poziom procedury

Zmienna na poziomie procedury zadeklarowana za pomocą instrukcji Dim zachowuje swoją wartość do czasu zakończenia działania procedury. Jeśli procedura wywołuje inne procedury, zmienna zachowuje swoją wartość również podczas wykonywania tych procedur.

Jeśli zmienna na poziomie procedury jest zadeklarowana przy użyciu słowa kluczowego Static, zachowuje ona swoją wartość przez cały czas wykonywania programu w dowolnym module. Gdy cały program kończy się, zmienna traci swój zasięg i wartość. Jej cykl życia jest taki sam jak zmiennych poziomu modułu.

• poziom procedury
Opisuje instrukcje zawarte w procedurze typu Function, Property lub Sub. Na ogół najpierw wyświetlane są deklaracje, a po nich następują przypisania i reszta wykonywalnego kodu programu. Należy pamiętać, że kod poziomu modułu znajduje się poza blokiem procedury.
• moduł
Zestaw deklaracji, po których następują procedury.
• poziom modułu
Opisuje kod programu w sekcji deklaracji modułu. Dowolny kod programu występujący poza procedurą określany jest jako kod programu na poziomie modułu. Deklaracje muszą wystąpić jako pierwsze, po nich następują procedury.

Poziom modułu

Zmienna na poziomie modułu różni się od zmiennej statycznej. W module standardowym lub module klasy zachowuje ona swoją wartość do czasu zatrzymania programu. W module klasy zachowuje swoją wartość tak długo, jak długo istnieje wystąpienie klasy. Zmienne na poziomie modułu zajmują zasoby pamięci do czasu zresetowania ich wartości, dlatego winny być stosowane tylko wtedy, gdy są niezbędne.

Jeśli przed instrukcją Sub lub Function zostanie umieszczone słowo kluczowe Static, wartości wszystkich zmiennych zadeklarowanych na poziomie tej procedury są zachowywane między jej wywołaniami.

• moduł standardowy
Moduł zawierający jedynie deklaracje i definicje procedur, typów i danych. Domyślnie deklaracje i definicje na poziomie modułu standardowego mają status Public. Moduł standardowy w starszych wersjach języka Visual Basic nazywano modułem kodu programu.
• moduł klasy
Moduł zawierający definicję klasy, w tym definicje jej właściwości i metod.