Ludzie pragną czasami się rozstawać, żeby móc tęsknić, czekać i cieszyć się z powrotem.
Termin
Znaczenie
Kolekcja
Obiekt zawieraj¹cy zestaw powi¹zanych ze sob¹ obiektów.
Klasa
Definicja obiektu, która obejmuje jego nazwê, w³aœciwoœci, metody i zdarzenia. Klasa jest szablonem, z którego tworzy siê obiekty, tzw. instancje klasy.
Instancja
Obiekt utworzony z klasy, która zawiera jego definicjê. Tworz¹c instancjê klasy, tworzy siê nowy obiekt maj¹cy wszystkie cechy zefiniowane przez klasê.
Modu³ klasy
Zawiera definicjê klasy oraz jej w³aœciwoœci, metody i zdarzenia. Procedury VBA wpisane w module klasy staj¹ siê w³aœciwoœciami i metodami obiektu.
Modu³ standardowy
Zawiera procedury Sub i Function, które s¹ dostêpne dla innych procedur VB A i nie s¹ zwi¹zane z ¿adnym innym obiektem.
Modu³ formularza
Zawiera instrukcje VBA dla wszystkich procedur zdarzeñ, które wystêpuj¹ w okreœlonym formularzu lub jego formantach.
Zdarzenie
Czynnoœæ rozpoznawana przez obiekt (np. klikniêcie mysz¹ czy naciœniêcie klawisza), dla której mo¿na zdefiniowaæ odpowiedŸ.
166
Programowanie w Accel
Termin
Znaczenie
Zdarzenia mog¹ byæ spowodowane dzia³aniem u¿ytkownika, poi ceniami jêzyka Visual Basic; lub dzia³aniem systemu.
Procedura zdarzeñ
Procedura wykonywana automatycznie w odpowiedzi na zdarzJ zainicjowane przez u¿ytkownika, instrukcje programu lub systeJ
Praca z kolekcjami obiektów
Zbiór podobnych obiektów okreœla siê nazw¹ kolekcji. Na przyk³ad baza ( Microsoft Access zawiera zbiór (kolekcjê) tabel, a ka¿da tabela mieœci kolekcji oraz indeksów. W programie Microsoft Excel wszystkie otwarte skoroszyty nale kolekcji Workbooks, a wszystkie arkusze kalkulacyjne s¹ sk³adowymi kolekcji \ sheets. W programie Microsoft Word wszystkie otwarte dokumenty s¹ sk³; kolekcji Documents, a wszystkie akapity w danym dokumencie tworz¹ kolekcjêi| graphs. Kolekcje s¹ obiektami zawieraj¹cymi inne obiekty.
Bez wzglêdu na to, z jak¹ kolekcj¹ masz do czynienia, mo¿esz:
1. Odwo³aæ siê do konkretnego elementu kolekcji poprzez jego indeks Na przyk³ad, aby pobraæ nazwê pierwszego pola na formularzu Klienci,] nastêpuj¹c¹ instrukcjê w oknie Instrukcje bezpoœrednie:
?Forms!Klienci.Controls(1).name
2. Obliczyæ liczbê elementów w danej kolekcji za pomoc¹ w³aœciwoœci cou przyk³ad po wpisaniu w oknie Instrukcje bezpoœrednie polecenia:
?Forms!Klienci.Controls.Count
VBA poda liczbê elementów znajduj¹cych siê na formularzu Klienci.
3. Dodaæ nowe elementy do danej kolekcji za pomoc¹ metody Add. Nastêpi przyk³ad tworzy w oknie Instrukcje bezpoœrednie now¹ kolekcjê o nazwij jaKolekcja i dodaje do niej dwa elementy:
set mojaKolekcja = New Collection mojaKolekcja.Add "pierwszy element" mojaKolekcja.Add "drugi element"
w Access 2000
Kolekcje obiektów i klasy
Nastêpuj¹ca instrukcja zwraca liczbê
lekcja: v
w utworzonej kolekcji
167
mojaKo-
?mojaKolekcja.Count 2
wpisz nastêpuj¹ce polecenia:
Aby pobraæ nazwy elementów kolekcji, wpi
baza danych kolekcjê pój ty nale¿¹ do ekcji Work-
sk³adowymi k
PmojaKolekcja. Item(1) ? inojaKolekcja (2)
4. Przegl¹daæ elementy kolekcji za nnm â– â–
usun¹æ wszystkie elementy z koS? ?f *" Each"N-t. Na przyk³ad, abybezpoœrednie nastêpuj¹c¹ pêt," m°3aKole^ wplsz w oknie Instrukcje
cji
lub nazwê. ici, wpisz
wpisznastêpuj¹c¹ instrukcjê w okme Instrukcj
?mojaKolekc ja. Count
Enter zbIór
PUSta'
ount. Na
typuj¹cy
wie mo-
W trakcie pisania procedur lekcji obiektów. Z poprzednich ^aunien wm wac zwieloma danymi za pomoc¹ statycznych oiekcje maj¹ wbudowane w³aœciwoœci i metody lekcji oraz dodawania elementów do ' ' " " cowaæ z kolekcjami ni¿ z tablicami rrac rówme¿ martwiæ siê o zarz¹dzanie pamiêci¹.
Deklarowanie w³asnej kolekcji
m°¯emy Praco" u eleme"tów ko-
°biektów' ™ trzeba
czowych Dim oraz New, tak jak podano poni¿ej:
DimnazWa_kolekcji As New Collection
P°m°C¹ dwÓch s³ów klu"
168
Programowanie w Aci
Dodawanie elementów do kolekcji
Po utworzeniu kolekcji sk³adowe dodajemy za pomoc¹ metody Add.: kolekcji nie musz¹ byæ tego samego typu danych. Sk³adnia metody Add jest nai ca:
obiekt.Add item, key, before, after
Metoda Add posiada dwa elementy obowi¹zkowe - obiekt oraz item, jest nazw¹ w³asnej kolekcji, t¹ sam¹ której u¿y³eœ w deklaracji obiektu, itemji ra¿eniem dowolnego typu, które okreœla dodawany do kolekcji element. Keyj| k¹towym ci¹giem znaków, który identifikuje dany element w kolekcji.