[ Pobierz całość w formacie PDF ]
.Open strSQL, CurrentProject.Connection, adOpenKeyset, _adLockOptimistic' Dodaj nowy rekordrst.AddNew' Zapisz czas i datę logowania użytkownikaWith rst!Imię = Me.Name!Data = Date!Czas = TimeEnd With' Zapisz nowy rekordrst.Update' Zamknij zestaw rekordówrst.Close' Zniszcz zmienną obiektuSet rst = NothingEnd SubUżycie metodDo użycia metody przy otwieraniu aplikacji służy następujący kod:cUser.LoginZauważ, że użytkownicy tej metody nie muszą rozumieć kodu ADO, aby aktualizować wartość w bazie danych.Wystarczy, że używają właściwości i metod dostępnych dla obiektu wyświetlanego przez IntelliSense.Tworzenie zdarzeńObiekty w Accessie posiadają swoje zdarzenia.Przykładowo, obiekt formularz posiada zdarzenie Przy załadowaniu, aprzycisk polecenia zdarzenie Przy kliknięciu.Dla własnych obiektów również możesz tworzyć zdarzenia.W tym celu musisz użyć w części deklaracyjnej słowakluczowego Event i określić nazwę zdarzenia.Przykładowo, dodajmy zdarzenie Przy powitaniu, które będzie występowałopo otwarciu aplikacji przez użytkownika.W części deklaracyjnej modułu klasy umieść poniższy kod, który utworzywyrażenie:197Rozdział 11.f& Tworzenie obiektów przy użyciu modułów klasEvent PrzyPowitaniu ()Aby użyć zdarzenia, umieść je w metodzie obiektu.Służy do tego polecenie Raise.W naszym przykładzie, umieścimyzdarzenie Przy powitaniu w metodzie Login obiektu cUser.Gdy użytkownik uruchomi aplikację, nastąpi odwołanie do metody Login.Spowoduje to uruchomienie zdarzenia Przypowitaniu, które wyświetli ekran powitalny dla użytkownika, zawierający jego Imię.Służy do tego następujący kod:Public Sub Login()RaiseEvent PrzyPowitaniuEnd IfTe kroki wystarczą, by utworzyć zdarzenie i umieścić je w module klasy.W następnej części omówimy użycie zdarzeń wformularzu.Użycie zdarzeńAby użyć zdarzenia Przy powitaniu z modułu formularza, w części deklaracyjnej zadeklaruj zmienną obiektu cUser i użyjsłowa kluczowego WithEvents.Umieszczenie tego słowa konieczne jest do użycia zdarzeń obiektu cUser.Użyjnastępującego kodu:' W części deklaracyjnej modułu umieśćPrivate WithEvents objUser As cUserSłowo kluczowe WithEvents może być używane jedynie w modułachklasowych (takim właśnie są moduły formularza).Nie można go jednakużywać w standardowych modułach.Po zadeklarowaniu używającej słowa kluczowego WithEvents zmiennej na poziomie modułu przyjrzyj się znajdującymsię u góry okna modułu listom wyboru.W lewym polu wybierz obiekt cUser.Następnie w prawej liście wyboru zobaczyszzdarzenia dla tego obiektu.Wybierz zdarzenie Przy powitaniu, a procedura zostanie wyświetlona w oknie kodu.Tam teżbędziesz mógł wpisać kod, który będzie reakcją na zdarzenie.Poniższy przykład zawiera kod będący reakcją na zdarzenie Przy powitaniu (rysunek 11.7).Rysunek 11.7.Proceduraużywająca zdarzenia Przy powitaniuobiektu cUserW wyniku tego, przy otwieraniu aplikacji przez użytkownika wyświetlany będzie ekran powitalny (rysunek 11.8).198Część IV f& Tajniki VBARysunek 11.8.Ekran powitalnyUruchamianie zdarzeń Przy inicjacjii Przy zakończeniuModuły klasy zawsze posiadają zdarzenia Przy inicjacji i Przy zakończeniu.Aby użyć tych zdarzeń, wybierz je zeznajdującej się u góry okna kodu listy wyboru.Zdarzenie Przy inicjacji uruchamiane jest za każdym razem, gdy obiekt jest tworzony.Przykładowo, jeśli chcesz, abyokreślony kod był uruchamiany, gdy tworzony jest obiekt cUser, umieszczasz go w zdarzeniu Przy inicjacji.Zdarzenie Przy zakończeniu uruchamiane jest za każdym razem, gdy obiekt jest niszczony.Jest to dobre miejsce naumieszczenie kodu porządkującego, który zamknie połączenia bazy danych, zwolni zmienne obiektów itp.Użycie obiektówW tym momencie, obiekt cUser istnieje i posiada właściwości oraz metody.Aby użyć go w module klasy, wystarczywpisać nazwę tego obiektu oraz kropkę.IntelliSense wyświetli listę właściwości i metody dla tego obiektu.Aby użyć obiektu wewnątrz klasy, która go stworzyła, użyj słowa kluczowego Me.Przykładowo, aby ustawić nazwęużytkownika:Me.User = "Mariusz"Użycie tego obiektu z zewnątrz modułu klasy cUser (w formularzach lub modułach standardowych) wymaga wykonaniadwóch czynności.Po pierwsze, zadeklarowania zmiennej obiektu, która zostanie użyta jako odniesienie do obiektu.Drugączynnością jest wykorzystanie słowa kluczowego Set do utworzenia odniesienia zmiennej obiektu do obiektu.Tworzenie zmiennej obiektuZmienna jest to fragment pamięci, zarezerwowany w celu przechowywania bądz pobierania informacji.Z pewnościąmiałeś już do czynienia ze zmiennymi prostymi np.string (ciąg znaków) czy integer (liczba całkowita).Poniżejznajdziesz przykłady deklarowania i użycia dwóch prostych zmiennych:Dim strImię as StringDim I as IntegerStrImię = "Mariusz"I = 10W tych przypadkach, zmienne zawierały określony typ danych, a informacje w nich przechowywane mogły być w raziepotrzeby pobierane.Zmienna obiektu, podobnie do prostych zmiennych, deklarowana jest za pomocą polecenia Dim:Dim objUser as cUserPrzypisywanie zmiennej obiektu do obiektuDo tworzenia odniesienia między zmienną obiektu a obiektem używamy słowa kluczowego Set.Na przykład:199Rozdział 11.f& Tworzenie obiektów przy użyciu modułów klasSet objUser = New cUserZawsze używaj instrukcji Dim i Set w osobnych liniach.Nigdy nie łącz ichw jednej linii (np.Dim objUser = New cUser) [ Pobierz całość w formacie PDF ]