PROGRAMOWANIE W VBA – MICROSOFT ACCESS
LABORATORIUM 3
Dodatkowe informacje na temat wszystkich funkcji wykorzystywanych w tych ćwiczeniach możesz znaleźć w pliku pomocy lub Konstruktorze wyrażeń.
W ćwiczeniu tym będziesz przechwytywał błędy bez wykorzystywania procedury obsługi błędów.
UWAGA. Pamiętaj o użyciu instrukcji Option Explicit w sekcji deklaracji każdego z tworzonych modułów.
Utwórz nową bazę danych o nazwie Bledy.mdb.
Utwórz nowy formularz i umieść na nim następujące przyciski:
URUCHOM PROGRAM 1
URUCHOM PROGRAM 2
URUCHOM PROGRAM 3
KONIEC
Wyłącz kreatora formantów i umieść na formularzu przyciski poleceń, jak to pokazano na poniższym rysunku.
1. Utwórz procedurę zdarzenia Przy kliknięciu dla przycisku "Uruchom program 1 ", uruchamiając Konstruktor kodu dla właściwości przy kliknięciu.
2. W procedurze tej umieść kod, który umożliwi użytkownikowi uruchomienie aplikacji poprzez wprowadzenie jej nazwy w oknie dialogowym. Kod taki jak pokazano poniżej
Uruchom programl = Shell(InputBox("Podaj nazwę programu."), 1)
3. Przełącz się do widoku formularza i sprawdź działanie procedury zdarzenia.
4. W oknie dialogowym wprowadź nazwę aplikacji, na przykład Calc (Kalkulator).
5. Uruchom procedurę ponownie i wprowadź błędną nazwę aplikacji, na przykład XYZ. Powinno to spowodować wystąpienie błędu wykonania.
Na początku wykonanej w poprzednim punkcie procedury zdarzenia dodaj instrukcję
On Error Resume Next
żeby powstrzymać Microsoft Access przed wywołaniem wyjątku przy wystąpieniu błędu.
Sprawdź po instrukcji Shell, czy wystąpił błąd poprzez sprawdzenie wartości liczbowej zwracanej przez funkcję Err.
Jeśli błąd wystąpił, zawiadom o tym użytkownika przy pomocy instrukcji MsgBox.
Sprawdź działanie aplikacji.
W tym ćwiczeniu będziesz przechwytywał błędy w procedurze zdarzenia wykorzystując procedurę obsługi błędów.
1. Utwórz procedurę zdarzenia Przy kliknięciu dla przycisku Uruchom program 2.
2. W procedurze tej dodaj kod (taki jak poprzednio), który pozwoli użytkownikowi uruchomić aplikację poprzez wprowadzenie jej nazwy w oknie dialogowym, jak to pokazano poniżej:
Uruchom program2 = Shell(InputBox("Wprowadź nazwę programu."), 1)
3. Przełącz się do widoku formularza i sprawdź działanie procedury zdarzenia.
4. W oknie dialogowym wprowadź błędną nazwę aplikacji, na przykład MojProg. Gdy pojawi się komunikat o błędzie zapisz numer błędu wykonania.
Uruchom procedurę zdarzenia jeszcze raz i nie wprowadź nazwy programu. Gdy pojawi się komunikat o błędzie zapisz numer błędu wykonania.
Uaktywnij obsługę błędów przez użytkownika wykorzystując instrukcję On Error.
Utwórz procedurę obsługi błędów.
W procedurze obsługi błędów wprowadź kod sprawdzający rodzaj zarejestrowanego błędu, a także pozwalający użytkownikowi na ponowną próbę uruchomienia programu. Przykładowo, jeśli użytkownik wpisze w oknie tekstowym błędną nazwę aplikacji to uzyska odpowiedź:
Jeśli użytkownik nie wpisze nazwy programu to uzyska odpowiedź:
Błąd nr 5; Nieprawidłowe wywołanie procedury. Chcesz spróbować jeszcze raz?
Sprawdź działanie aplikacji.
W tym ćwiczeniu utworzysz funkcję uruchamiającą aplikacje. Funkcja ta będzie dodatkowo zwracać wartość Prawda, jeśli uruchomienie aplikacji się powiedzie, a wartość Fałsz w przeciwnym przypadku.
1. Utwórz procedurę zdarzenia Przy kliknięciu dla przycisku Uruchom program 3.
2. W procedurze tej wprowadź kod wywołujący funkcję o nazwie MyShell, pokazany poniżej
Dim NazwaProgramu As String
Dim Wynik As String
NazwaProgramu = InputBox("Wprowadź nazwę programu.")
Wynik = MyShell(NazwaProgramu)
MsgBox Wynik
3. W module formularza utwórz nową funkcję o nazwie MyShell.
4. W funkcji tej wprowadź kod realizujący następujące zadania:
Obsługuje błędy wykonania wykorzystując albo lokalną obsługę błędów, albo procedurę obsługi błędów;
Zwraca wartość Prawda, jeśli działanie funkcji Shell zakończy się sukcesem, a wartość Fałsz w przypadku wystąpienia błędu.
5. Sprawdź działanie procedury.
W tym ćwiczeniu przygotujesz centralną funkcję obsługi błędów, która będzie mogła być wykorzystana w wielu procedurach.
Utwórz formularz, na którym umieść następujące przyciski:
WYWOŁANIE BŁĘDU NR 7
WYWOŁANIE BŁĘDU NR 61
KONIEC
2. Utwórz procedury zdarzenia Przy kliknięciu dla przycisków Wywołanie błędu nr 7 i Wywołanie błędu nr 61, które wykorzystają instrukcję Error do generowania odpowiedniego błędu wykonania.
3. Utwórz procedurę typu Sub, która będzie obsługiwać te błędy.
4. Dodaj do procedur zdarzenia Przy kliknięciu instrukcje uruchamiające obsługę błędów, które będą wywoływać funkcję obsługi błędów i podejmować działania uzależnione od wyników dostarczonych przez tę funkcję.
5. Sprawdź działanie aplikacji.