Laboratorium 1 programowanie w VBA

PROGRAMOWANIE W VBA – MICROSOFT ACCESS

LABORATORIUM 1

W trakcie trwania tego ćwiczenia utworzysz nową bazę danych w katalogu C:\PST\LABS\LAB01.

W celu uniknięcia problemów wynikających z błędnych nazw zmiennych wskazane jest wprowadzenie instrukcji Option Explicit do sekcji deklaracji każdego tworzonego modułu. Jednym z najbardziej powszechnych źródeł błędów jest niepoprawne wpisania nazwy zmiennej. Instrukcja Option Explicit wymusza jawną deklarację wszystkich zmiennych znajdujących się w module. Jeśli Visual Basic for Application wykryje na­zwę, która nie została jawnie zadeklarowana jako nazwa zmiennej, następuje wyświe­tlenie komunikatu o błędzie. Włączenie opcji "Żądanie deklaracji zmiennych" w menu Narzędzia/Opcje automatycznie wprowadzi instrukcję Option Explicit do sekcji deklaracji każdego tworzonego modułu.

Utworzysz i uruchomisz kilka różnych procedur typu Sub i Function. Będziesz także deklarował i wykorzystywał różne typy zmiennych. Więk­szość procedur, które utworzysz w ramach tego laboratorium, będzie prosta i o niewielkich rozmiarach; ale nabyte przy tym umiejętności będą przydatne także przy tworzeniu złożonych procedur.


Ćwiczenie 1

Wykorzystanie zmiennych i procedur typu Sub


W tym ćwiczeniu utworzysz nową procedurę typu Sub, która będzie korzystać ze zmiennych.


UWAGA. Pamiętaj o użyciu instrukcji Option Explicit w sekcji deklaracji każdego z tworzonych modułów.


Utwórz nową bazę danych w podanym katalogu i nazwij ją LAB01.MDB.

W oknie Baza danych wybierz zakładkę Moduły oraz przycisk Nowy, aby utworzyć nowy moduł. Utwórz procedurę typu Sub o nazwie TestSubOne o zasięgu publicznym. Zadeklaruj w procedurze TestSubOne zmienną o nazwie MyText typu String. Przypisz zmiennej MyText tekst: To jest pierwsza procedura testowa. Wpisz poniższy kod:


MsgBox MyText


Powoduje on wyświetlenie zawartości zmiennej MyText w oknie dialogowym. Funk­cja MsgBox opisana jest dokładniej w następnych ćwiczeniach.

Twoja procedura powinna być podobna do poniższej:


Public Sub TestSubOne()

Dim MyText As String

MyText = "To jest pierwsza procedura testowa"

MsgBox MyText

End Sub


Uruchom procedurę przez wprowadzenie jej nazwy w Oknie Analiza programu (bez­pośrednim) . Spowoduje to wyświetlenie poniższego okna dialogowego:


Zachowaj moduł jako Ćwiczenie_l.


Ćwiczenie 2

Wywołanie procedury typu Sub


W tym ćwiczeniu zapoznasz się ze sposobem wywołania procedury typu Sub.

1. Utwórz nowy moduł, a następnie w oknie modułu, procedurę typu Sub o nazwie TestSubTwo.

Wywołaj procedurę TestSubOne z wnętrza procedury TestSubTwo.

Twoja procedura powinna być podobna do poniższej:


Public Sub TestSubTwo()

TestSubOne

End Sub


Zmodyfikuj procedurę TestSubOne, tak by przyjmowała argument o nazwie MyText.

Zmodyfikuj procedurę TestSubTwo, tak by wywoływała procedurę TestSubOne i przekazywała jej argument Wywołana przez drugą procedurę testo­wą.

Twoje procedury powinny być podobne do poniższych (znajdować się one będą w dwóch oddzielnych modułach, a nie obok siebie, jak to pokazano poniżej):


Public Sub TestSubOne(Optional MyText As String)

MsgBox MyText

End Sub


Public Sub TestSubTwo()

TestSubOne "Wywołana przez drugą procedurę testową"

End Sub


Przetestuj procedurę TestSubTwo i zachowaj ten moduł jako Ćwiczenie_2. Zachowaj moduł Ćwiczenie_1 wraz z wprowadzonymi w nim zmianami.


Ćwiczenie 3

Testowanie zasięgu zmiennych


W tym ćwiczeniu będziesz badał zasięg zmiennych w zależności od miejsca i sposobu ich deklaracji.


1 . Utwórz nowy moduł i wpisz poniższy kod w jego sekcji deklaracji.


' Domyślnie stałe mają zasięg lokalny.

Const MyVar = 459

' Deklaracja stałej o zasięgu publicznym.

Public Const MyString = "POMOC"

' Deklaracja wielu stałych w jednym wierszu.

Const MyStr = "Witaj", MyDouble = 3.4567


2 . W tym samym module utwórz nową procedurę typu Sub i wprowadź poniższy kod:


Public Sub TestScopeOne()

MsgBox MyString

MsgBox MyStr

End Sub


3. Uruchom powyższy kod w celu przetestowania. Zamknij i zachowaj powyższy moduł jako Ćwiczenie_3a.


4. Utwórz nowy moduł, a w nim poniższą procedurę:


Public Sub TestScopeTwo()

MsgBox MyString

MsgBox MyStr

End Sub


Uruchom kod. Co się stało? Dlaczego?

Zmień stałą MyStr na stałą Public, aby zlikwidować przyczynę błędu, a następnie po­nownie uruchom kod.

Zamknij i zachowaj powyższy moduł jako Ćwiczenie_3b.



Ćwiczenie 4

Tworzenie procedury typu Function


W tym ćwiczeniu utworzysz i wywołasz procedurę typu Function. Możesz odwoły­wać się do takiej procedury podobnie jak do procedury typu Sub, z tą tylko różnicą, że zwraca ona wartość do procedury, z której została wywołana.


1. Utwórz nowy moduł, a w nim procedurę typu Function, o nazwie DodajPodatek, która przyjmuje argument o nazwie Kwota typu Currency i zwraca wartość typu Currency.

Funkcja DodajPodatek powinna zwracać jako rezultat wartość Kwota * 1.08.

Twoja funkcja powinna być podobna do poniższej:


Public Function DodajPodatek (Kwota As Currency) As

Currency

DodajPodatek = Kwota * 1.08

End Function


Sprawdź działanie funkcji w oknie bezpośrednim, wprowadzając ?Dodaj Podatek (100).

Zwróć uwagę, że zwracana wartość jest wyświetlana w oknie bezpo­średnim.

W tym samym module utwórz nową procedurę typu Sub.


Public Sub WyświetlPodatek ()

MsgBox "Kwota z podatkiem wynosi: " &

DodajPodatek(100)

End Sub


Wywołaj procedurę wpisując w oknie bezpośrednim WyświetlPodatek.

Zmodyfikuj procedurę, tak by pytała się użytkownika o wartość kwoty.


Public Sub WyswietlPodatek ()

Dim Kwota As Currency

Kwota = InputBox("Wprowadź kwotę")

MsgBox "Kwota z podatkiem wynosi: " &

DodajPodatek(Kwota)

End Sub

Wywołaj procedurę wpisując w oknie bezpośrednim WyświetlPodatek.

Zachowaj moduł jako Ćwiczenie_4.


Ćwiczenie 5

Tworzenie kodu w module formularza


W tym ćwiczeniu utworzysz i wykorzystasz własne funkcje w module formularza. Wykonasz to ćwiczenie wykorzystując doświadczenie zdobyte w trakcie wykonywania poprzednich ćwiczeń.

1. Utwórz nowy, pusty formularz i wyłącz przycisk Kreatorzy formantów.

2. Dodaj do formularza przycisk polecenia, a w oknie jego właściwości wybierz wła­ściwość zdarzenia Przy kliknięciu.

3. Korzystając z okna właściwości uruchom Konstruktor kodu.


UWAGA. Jeśli klikniesz prawym przyciskiem myszy w polu właściwości Przy kliknięciu, to pojawi się menu kontekstowe. Jeśli z tego menu wybierzesz polecenie Buduj..., to na ekranie pojawi się okno dialogowe Wybierz konstruktora. W oknie tym wybierz Konstruktor kodu i kliknij na OK. Na ekranie pojawi się w tym momencie okno modułu formularza.


4. Wprowadź do procedury instrukcję MsgBox wyświetlającą zdanie Gdzie jestem.

5. Sprawdź działanie przycisku.

6. Wróć do widoku projektu formularza i zmień jego właściwość Nazwa na Gdzie jestem.

7. Sprawdź działanie przycisku. Dlaczego nie chce on działać?

8. Otwórz moduł formularza i znajdź kod poprzedniej procedury.

9. Popraw procedurę, tak by jej kod działał poprawnie.




Ćwiczenie dodatkowe

Utworzenie nowej procedury typu Function


W tym ćwiczeniu utworzysz nową, zdefiniowaną przez użytkownika, funkcję.

1. Utwórz zdefiniowaną przez użytkownika funkcję o nazwie ReverseName, która od­czytuje tekst i przestawia go względem znajdującego się w tekście przecinka, jak to pokazano poniżej. Uruchom tę funkcję w oknie bezpośrednim.


6


Wyszukiwarka

Podobne podstrony:
Laboratorium 2 programowanie w VBA
Laboratorium 3 programowanie w VBA
Laboratorium 4 programowanie w VBA
access programowanie w vba
Projekt Inż, Wstęp, Laboratorium programowania niskopoziomowego
Excel 2003 PL Programowanie w VBA Vademecum profesjonalisty
GiG-laboratorium-program, IV semestr moje, elektrotechnika, Nowy folder
Laboratorium 2 Program
laboratorium 1 program
Excel 2003PL Programowanie VBA Vademecum Profesjonalisty
Programowanie w VBA
Access Programowanie w VBA acpv Nieznany
Visual basic, Programowanie VBA
Excel 2007 pl Programowanie w VBA
Laboratorium programowania w C
Excel 2013 PL Programowanie w VBA dla bystrzakow
access programowanie w vba
Excel 2010 PL Programowanie w VBA Vademecum Walkenbacha 2