wszelkie prawa zastrzeżone. nieautoryzowane ... · 226 access 2016 pl w biurze i nie tylko mo...

38

Upload: others

Post on 17-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Wszelkie prawa zastrzeżone. Nieautoryzowane ... · 226 Access 2016 PL w biurze i nie tylko mo *liwo ü przetwarzania danych w pojedynczym rekordzie, mo *liwo ü generowania komunikatów
Page 2: Wszelkie prawa zastrzeżone. Nieautoryzowane ... · 226 Access 2016 PL w biurze i nie tylko mo *liwo ü przetwarzania danych w pojedynczym rekordzie, mo *liwo ü generowania komunikatów

Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje naruszenie praw autorskich niniejszej publikacji.

Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli.

Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie,ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce.

Opieka redakcyjna: Ewelina BurskaProjekt okładki: Studio Gravite/OlsztynObarek, Pokoński, Pazdrijowski, ZapruckiMateriały graficzne na okładce zostały wykorzystane za zgodą Shutterstock.

Wydawnictwo HELIONul. Kościuszki 1c, 44-100 GLIWICEtel. 32 231 22 19, 32 230 98 63e-mail: [email protected]: http://helion.pl (księgarnia internetowa, katalog książek)

Drogi Czytelniku!Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres http://helion.pl/user/opinie/a16biuMożesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.

ISBN: 978-83-283-1737-6

Copyright © Helion 2016

Printed in Poland.

• Kup książkę• Poleć książkę • Oceń książkę

• Księgarnia internetowa• Lubię to! » Nasza społeczność

Page 3: Wszelkie prawa zastrzeżone. Nieautoryzowane ... · 226 Access 2016 PL w biurze i nie tylko mo *liwo ü przetwarzania danych w pojedynczym rekordzie, mo *liwo ü generowania komunikatów

Spis tre ci Wst p .............................................................................................. 7

Rozdzia 1. Podstawowe informacje o obs udze systemuzarz dzania bazami danych Access 2016 .......................................... 9Uruchomienie i zamykanie programu ............................................................................. 11Baza danych ................................................................................................................... 13

Otwarcie istniej cej bazy danych ................................................................................ 13Otwarcie istniej cej bazy danych ze zmodyfikowanymi parametrami

uruchomieniowymi ................................................................................................... 16Tworzenie nowej bazy danych .................................................................................... 20Narz dzia bazy danych ............................................................................................... 21

Bazy danych a wersje programu Access ......................................................................... 25Otwieranie bazy danych z wcze niejszej wersji programu Access ............................. 26

Rozdzia 2. Tabele ........................................................................................... 27Tworzenie tabeli i jej struktura ....................................................................................... 27

Typy danych pola ....................................................................................................... 28Tworzenie tabel .......................................................................................................... 28Tworzenie tabeli przez wprowadzanie danych ........................................................... 30Tworzenie tabeli w widoku projektu ........................................................................... 35Tworzenie tabeli — polecenie Importuj ...................................................................... 43Tworzenie tabeli — polecenie Po cz tabele .............................................................. 49Klucze podstawowe tabeli .......................................................................................... 52

Obs ugiwanie tabeli ........................................................................................................ 55Nawigowanie w tabeli ................................................................................................ 56Zaznaczanie pól i rekordów ........................................................................................ 61Prezentacja danych w tabeli ........................................................................................ 62Aktualizacja danych w tabeli ...................................................................................... 74Modyfikacja struktury tabeli ....................................................................................... 84

Rozdzia 3. Relacje i kwerendy ......................................................................... 91Relacje — informacje podstawowe ................................................................................ 91Tworzenie, edytowanie i usuwanie relacji ...................................................................... 94

Konstruowanie relacji „jeden do wielu” ..................................................................... 94Aktualizacja tabel pozostaj cych w relacji „jeden do wielu” ...................................... 99Konstruowanie relacji „wiele do wielu” ................................................................... 102Aktualizacja tabel pozostaj cych w relacji „wiele do wielu” .................................... 113

Poleć książkęKup książkę

Page 4: Wszelkie prawa zastrzeżone. Nieautoryzowane ... · 226 Access 2016 PL w biurze i nie tylko mo *liwo ü przetwarzania danych w pojedynczym rekordzie, mo *liwo ü generowania komunikatów

4 Access 2016 PL w biurze i nie tylko

Kwerendy — informacje podstawowe .......................................................................... 116Tworzenie kwerendy w widoku projektu ..................................................................... 116

Tworzenie kwerendy za pomoc kreatora ................................................................. 122Kwerenda wybieraj ca .............................................................................................. 125Kwerenda parametryczna .......................................................................................... 135Kwerenda krzy owa ................................................................................................. 139Kwerendy funkcjonalne ............................................................................................ 148Kwerenda tworz ca tabel ........................................................................................ 149Kwerenda aktualizuj ca ............................................................................................ 153Kwerenda usuwaj ca ................................................................................................ 160Kwerenda do czaj ca .............................................................................................. 167

Rozdzia 4. Formularze, formanty i raporty ...................................................... 173Formularz — informacje podstawowe .......................................................................... 173

Tworzenie formularza zwi zanego ........................................................................... 173Formularz z wieloma elementami (tabelaryczny) ..................................................... 176Formularz jako arkusz danych .................................................................................. 178Formularz dzielony ................................................................................................... 181Tworzenie formularza za pomoc kreatora ............................................................... 183Tworzenie formularza w widoku projektu ................................................................ 188Zmiana w a ciwo ci formularza ............................................................................... 194Formularz — umieszczanie obrazu (grafiki) ............................................................ 196Formularz jako okno dialogowe ............................................................................... 199Tworzenie podformularzy ......................................................................................... 202

Formanty — informacje podstawowe ........................................................................... 209Umieszczanie formantu na formularzu ..................................................................... 210Grupa narz dzi Formanty ......................................................................................... 213

Raporty — informacje podstawowe ............................................................................. 215Tworzenie raportu za pomoc polecenia Raport ....................................................... 216Tworzenie raportu za pomoc kreatora ..................................................................... 219

Rozdzia 5. Makra i edytor j zyka Visual Basic ............................................... 225Makra — informacje podstawowe ................................................................................ 226

Tworzenie makra ...................................................................................................... 226Uruchamianie makra ................................................................................................. 230

Edytor j zyka Visual Basic ........................................................................................... 236Obs uga edytora VBA ............................................................................................... 236

Rozdzia 6. Jednor ki bandyta, czyli grafika i losowo w jednym .................... 251Zadanie projektowe ...................................................................................................... 251

Za o enia szczegó owe do projektowanej bazy danych ............................................ 251Konstruowanie tabel bazy danych ................................................................................ 256

Konstruowanie tabeli Tab_fot ................................................................................... 257Konstruowanie tabeli Wynik .................................................................................... 264

Konstruowanie formularzy ........................................................................................... 265Formularz Tabela wygranych ................................................................................... 265Formularz START .................................................................................................... 272Formularz Logo ........................................................................................................ 290

Makra ........................................................................................................................... 298Makropolecenie Makro1 ........................................................................................... 300Makropolecenie Makro2 ........................................................................................... 300Makropolecenie Makro3 ........................................................................................... 301Makropolecenie Makro4 ........................................................................................... 302

Poleć książkęKup książkę

Page 5: Wszelkie prawa zastrzeżone. Nieautoryzowane ... · 226 Access 2016 PL w biurze i nie tylko mo *liwo ü przetwarzania danych w pojedynczym rekordzie, mo *liwo ü generowania komunikatów

Spis tre ci 5

Obs uga zdarze formularzy i formantów .................................................................... 302Formularz START ........................................................................................................ 304

Formularz Logo ........................................................................................................ 314

Rozdzia 7. Kalendarze, czyli funkcje i kwerendy w jednym .............................. 315Zadanie projektowe ...................................................................................................... 315

Za o enia szczegó owe do projektowanej bazy danych ............................................ 315Konstruowanie tabel oraz kwerend bazy danych .......................................................... 319

Konstruowanie tabeli Rok ......................................................................................... 320Konstruowanie tabeli wi ta .................................................................................... 321Konstruowanie kwerendy aktualizuj cej ROK Kwerenda ........................................ 323Konstruowanie kwerendy aktualizuj cej wi ta Kwerenda ..................................... 327Konstruowanie kwerendy aktualizuj cej Data_0_Kwerenda .................................... 328Konstruowanie kwerendy aktualizuj cej Aktualizacja ............................................. 329

Konstruowanie formularza ........................................................................................... 332Konstruowanie formularza Kalendarz_rok ............................................................... 332

Makro ........................................................................................................................... 347Makropolecenie Makro1 ........................................................................................... 349

Obs uga zdarze formularza i formantów ..................................................................... 351Formularz Kalendarz_rok ......................................................................................... 351

Filtrowanie formularza Kalendarz_rok ......................................................................... 364

Rozdzia 8. Wykresy, czyli liczby w s upkach ................................................... 371Zadanie projektowe ...................................................................................................... 371

Za o enia szczegó owe do projektowanej bazy danych ............................................ 371Konstruowanie tabel i kwerendy bazy danych ............................................................. 375

Konstruowanie tabeli Tab_osoby .............................................................................. 376Konstruowanie tabeli Tab_transakcje ....................................................................... 377Konstruowanie tabeli Parametry ............................................................................... 379Konstruowanie relacji pomi dzy tabelami Tab_osoby i Tab_transakcje .................. 380Konstruowanie kwerendy Suma_Kwerenda ............................................................. 384

Konstruowanie formularzy ........................................................................................... 388Formularz START .................................................................................................... 388Formularz Parametry ................................................................................................ 412Formularz Wykres .................................................................................................... 420

Modyfikacja wykresu ................................................................................................... 428Konstruowanie raportu ................................................................................................. 436Konstruowanie makropolece ...................................................................................... 446

Makropolecenie Makro1 ........................................................................................... 448Makropolecenie Makro2 ........................................................................................... 448Makropolecenie Makro3 ........................................................................................... 449

Obs uga zdarze formularzy i formantów .................................................................... 449

Skorowidz ................................................................................... 453

Poleć książkęKup książkę

Page 6: Wszelkie prawa zastrzeżone. Nieautoryzowane ... · 226 Access 2016 PL w biurze i nie tylko mo *liwo ü przetwarzania danych w pojedynczym rekordzie, mo *liwo ü generowania komunikatów

6 Access 2016 PL w biurze i nie tylko

Poleć książkęKup książkę

Page 7: Wszelkie prawa zastrzeżone. Nieautoryzowane ... · 226 Access 2016 PL w biurze i nie tylko mo *liwo ü przetwarzania danych w pojedynczym rekordzie, mo *liwo ü generowania komunikatów

Rozdzia 5.

Makra i edytorj zyka Visual Basic

W programie Microsoft Access obs ug zdarze zachodz cych w obiektach (formula-rzach, formantach), wywo anych zachowaniem u ytkownika (jak równie reakcj nazdarzenia w innych obiektach), mo na zapewni , u ywaj c makra lub korzystaj cz interfejsu u ytkownika. Jednak e w wielu bazach danych przyjdzie nam si zmierzyz „czystym programowaniem”, czyli u yciem procedur (sk adni) j zyka Visual Basicfor Applications.

Dla osób niezajmuj cych si na co dzie programowaniem zastosowanie makra do two-rzenia powi za istniej cych obiektów bazy danych jest atwiejsze, poniewa wyma-gana jest tylko niewielka wiedza na temat sk adni polece . Prostota ta poci ga jednakza sob pewne ograniczenia „programistyczne”, do których trzeba zaliczy :

brak mo liwo ci modyfikowania argumentu (u ycia zmiennych jakoargumentów) makra w czasie jego wykonywania,

makra s obiektami zewn trznymi w stosunku do formularzy i raportów(które z nich korzystaj ), dlatego te baza danych zawieraj ca du liczb makrreaguj cych na zdarzenia wyst puj ce w formularzach i raportach staje sik opotliwa w obs udze,

makra operuj na ca ym zestawie rekordów jednocze nie.

U ywaj c j zyka Visual Basic, mo na manipulowa wszystkimi obiektami bazy czniez sam baz , jak równie wykonywa dzia ania na poziomie systemu. Dost pne w j zykuVBA funkcje umo liwiaj przeprowadzanie oblicze bez konieczno ci tworzenia skom-plikowanych wyra e . Mo na równie tworzy w asne funkcje do wykonywania obliczeprzekraczaj cych mo liwo ci pojedynczego wyra enia lub zast puj cych skompliko-wane wyra enia. Ponadto utworzonych przez siebie funkcji mo na u ywa w stosunkudo wielu obiektów (formularzy, formantów). Inne zalety zastosowania instrukcji i polecej zyka Visual Basic to:

Poleć książkęKup książkę

Page 8: Wszelkie prawa zastrzeżone. Nieautoryzowane ... · 226 Access 2016 PL w biurze i nie tylko mo *liwo ü przetwarzania danych w pojedynczym rekordzie, mo *liwo ü generowania komunikatów

226 Access 2016 PL w biurze i nie tylko

mo liwo przetwarzania danych w pojedynczym rekordzie,

mo liwo generowania komunikatów o ewentualnych b dach,

mo liwo opracowania (zaprogramowania) procedur obs uguj cych b dyprogramu lub u ytkownika.

Makra — informacje podstawoweInstrukcja Accessa okre la makro jako akcj lub zestaw akcji, które mo na tworzy w celuzautomatyzowania cz sto wykonywanych zada . Mówi c pro ciej, je eli chcemy naprzyk ad otworzy obiekt (formularz, raport, kwerend itp.) lub przej w tabeli donast pnego rekordu w sposób „programowy”, to znaczy bez wykonywania kolejnychpolece z menu i (lub) okien dialogowych, mo emy wybra odpowiedni akcj , czylipolecenie, i przypisa j do procedury obs ugi zdarzenia wybranego formantu (np. do zda-rzenia, jakim jest klikni cie formantu typu przycisk).

Tworzenie makra

Aby utworzy makro, które zostanie nast pnie zwi zane z jakim formantem lub formu-larzem, nale y post powa wed ug poni szych kroków:

1. Z karty Tworzenie wybra polecenie Makro (rysunek 5.1).

Rysunek 5.1. Rozpocz cie tworzenia makropolecenia

2. Dzia anie z punktu 1. spowoduje aktywacj okna projektu makropolecenia(rysunek 5.2).

Rysunek 5.2.Okno projektumakropolecenia

Poleć książkęKup książkę

Page 9: Wszelkie prawa zastrzeżone. Nieautoryzowane ... · 226 Access 2016 PL w biurze i nie tylko mo *liwo ü przetwarzania danych w pojedynczym rekordzie, mo *liwo ü generowania komunikatów

Rozdzia 5. Makra i edytor j zyka Visual Basic 227

3. Za pomoc przycisku oznaczonego symbolem 1 na rysunku 5.2 rozwin listz dost pnymi akcjami, a nast pnie dokona wyboru danej akcji (rysunek 5.3).

Rysunek 5.3.Lista rozwijanaakcji dost pnychdla makropolecenia

4. Po dokonaniu wyboru akcji w dolnej cz ci okna projektu makra zostanwy wietlone (je eli wyst puj ) Argumenty akcji (rysunek 5.4).

Rysunek 5.4.Sekcja Argumentyakcji dla akcjiOtwórzFormularz

Poleć książkęKup książkę

Page 10: Wszelkie prawa zastrzeżone. Nieautoryzowane ... · 226 Access 2016 PL w biurze i nie tylko mo *liwo ü przetwarzania danych w pojedynczym rekordzie, mo *liwo ü generowania komunikatów

228 Access 2016 PL w biurze i nie tylko

5. Okre lenie argumentu akcji mo emy wykona przez:

klikni cie przycisku (je eli jest dost pny) ze strza k (rysunek 5.5,oznaczenie 1), a nast pnie dokonanie wyboru z listy rozwijanejwy wietlaj cej dost pne opcje argumentu akcji,

Rysunek 5.5.Lista rozwijanadost pnych opcjiargumentu akcji

klikni cie przycisku (je eli jest dost pny) z wielokropkiem (rysunek 5.6,oznaczenie 1), powoduj c tym samym uruchomienie okna dialogowegoKonstruktor wyra e (rysunek 5.7),

Rysunek 5.6.Przyciskuruchomienia oknaKonstruktor wyra e

Rysunek 5.7.Okno dialogoweKonstruktor wyra e

Poleć książkęKup książkę

Page 11: Wszelkie prawa zastrzeżone. Nieautoryzowane ... · 226 Access 2016 PL w biurze i nie tylko mo *liwo ü przetwarzania danych w pojedynczym rekordzie, mo *liwo ü generowania komunikatów

Rozdzia 5. Makra i edytor j zyka Visual Basic 229

r czne wpisanie w polu argumentu danego wyra enia.

Okno Konstruktor wyra e sk ada si z dwóch podstawowych sekcji:

1 — pole wyra enia — s u y do utworzenia zapisu wyra enia za pomoc wklejeniawybranych elementów z sekcji 2. W polu wyra enia mo na równie bezpo rednio wpi-sywa poszczególne cz ci wyra enia.

2 — elementy wyra enia — to trzy pola w dolnej cz ci okna Konstruktor wyra e ,s u ce do okre lenia (wyboru):

Lewe pole zawiera foldery z listami obiektów bazy danych, takich jak tabele,kwerendy, formularze i raporty, oraz listami funkcji wbudowanych i zdefiniowanychprzez u ytkownika, sta ych, operatorów i typowych wyra e .

rodkowe pole zawiera list elementów lub kategorii elementów okre lonychdla folderu zaznaczonego w lewym polu.

W prawym polu wy wietlana jest lista warto ci (je li takie istniej ) dla elementówzaznaczonych w polu lewym i rodkowym.

6. Aby zako czy projektowanie makropolecenia, nale y klikn ikon oznaczonsymbolem X, znajduj c si w prawym górnym rogu okna projektu makra,co spowoduje pojawienie si okna z komunikatem dotycz cym potwierdzeniazapisu zmian w projekcie makropolecenia (rysunek 5.8).

Rysunek 5.8.Okno z komunikatemdotycz cympotwierdzenia zapisuzmian w projekciemakropolecenia

7. Klikni cie przycisku Tak spowoduje pojawienie si okna dialogowegoZapisywanie jako, w którym nale y wpisa nazw makra lub pozostawinazw domy ln , po czym klikn przycisk OK (rysunek 5.9).

Rysunek 5.9.Okno dialogoweZapisywanie jako

Aby utworzy zestaw akcji wchodz cych w sk ad makra, które zostanie nast pnie zwi zanez jakim formantem lub formularzem, nale y w kolejnych liniach okna projektu makropo-lecenia umie ci polecenia wykonania danej akcji (rysunek 5.10, oznaczenie 1).

Poleć książkęKup książkę

Page 12: Wszelkie prawa zastrzeżone. Nieautoryzowane ... · 226 Access 2016 PL w biurze i nie tylko mo *liwo ü przetwarzania danych w pojedynczym rekordzie, mo *liwo ü generowania komunikatów

230 Access 2016 PL w biurze i nie tylko

Rysunek 5.10.Wygl d zestawu akcjiwchodz cych w sk adprzyk adowego makrao nazwie Makro_MC

Uruchamianie makra

Skonstruowane makro (bez wzgl du na jego struktur : czy pojedyncza akcja, czy zestawakcji) mo emy uruchomi w jeden z podanych poni ej sposobów:

bezpo rednio w okienku nawigacji,

w odpowiedzi na zdarzenie zwi zane z obiektem bazy danych (np. klikni cieprzycisku znajduj cego si na formularzu),

z karty Narz dzia bazy danych w grupie Makro — polecenie Uruchom makro,

z procedury j zyka VBA.

Okre lone powy ej sposoby uruchamiania makra prze ledzimy na specjalnie do tegoskonstruowanym zestawie akcji (rysunek 5.11) o nazwie Makro1, w którego sk adwchodz kolejno:

1. Akcja OknoKomunikatu — wy wietla komunikat z tre ci okre lon przezu ytkownika.

2. Akcja Minimalizuj — minimalizuje aktywne okno.

3. Akcja SygnalizujD wi kiem — emituje sygna d wi kowy za pomoc g o nikakomputera.

Rysunek 5.11.Okno projektuprzyk adowego makra

Poleć książkęKup książkę

Page 13: Wszelkie prawa zastrzeżone. Nieautoryzowane ... · 226 Access 2016 PL w biurze i nie tylko mo *liwo ü przetwarzania danych w pojedynczym rekordzie, mo *liwo ü generowania komunikatów

Rozdzia 5. Makra i edytor j zyka Visual Basic 231

Tak skonstruowane makro spowoduje nast puj ce dzia anie:

1. Bezpo rednio po uruchomieniu w oknie dialogowym o nazwie Test makra(argument Tytu w akcji Okno komunikatu zosta uzupe niony tekstemTest makra) wy wietli si komunikat o tre ci: Po komunikacie zostaniezminimalizowane okno obiektu (rysunek 5.12) oraz us yszymy sygnad wi kowy (argument Sygnalizuj d wi kiem akcji Okno komunikatu zostaustawiony na warto Tak). Dzia anie makra zostanie wstrzymane do chwiliklikni cia przez u ytkownika przycisku OK znajduj cego si w okniez komunikatem.

Rysunek 5.12.Okno dialogoweTest makra

2. Po klikni ciu przycisku OK:

zniknie okno z komunikatem,

okno aktywne w chwili dzia ania makra (np. okno formularza) zostaniezmniejszone do postaci ma ego paska tytu u.

3. Po zminimalizowaniu okna us yszymy sygna d wi kowy (efekt dzia aniaakcji SygnalizujD wi kiem).

Uruchamianie makra w okienku nawigacji

Aby uruchomi makro w okienku nawigacji, nale y wykona jedn z czynno ci:

klikn prawym przyciskiem myszy selektor formularza, po czym z menupodr cznego wybra polecenie Uruchom (rysunek 5.13),

Rysunek 5.13.Menu podr czneobiektu Makro

Poleć książkęKup książkę

Page 14: Wszelkie prawa zastrzeżone. Nieautoryzowane ... · 226 Access 2016 PL w biurze i nie tylko mo *liwo ü przetwarzania danych w pojedynczym rekordzie, mo *liwo ü generowania komunikatów

232 Access 2016 PL w biurze i nie tylko

w okienku nawigacji klikn dwukrotnie nazw danego makra (rysunek 5.14).

Rysunek 5.14.Uruchomienie makraprzez dwukrotneklikni cie

Wykonanie jednej z opisanych powy ej czynno ci spowoduje w przypadku uruchomie-nia przyk adowego makropolecenia o nazwie Makro1:

wy wietlenie komunikatu w postaci pokazanej na rysunku 5.15 wraz z emisjsygna u d wi kowego,

Rysunek 5.15.Okno z komunikatemokre lonym w akcjiOknoKomunikatu

po klikni ciu przycisku OK — przyj cie przez okienko nawigacji postacipokazanej na rysunku 5.16,

Rysunek 5.16.Wygl d okienkanawigacjipo wykonaniu akcjiMinimalizuj

wyemitowanie sygna u d wi kowego przez g o nik komputera.

Poleć książkęKup książkę

Page 15: Wszelkie prawa zastrzeżone. Nieautoryzowane ... · 226 Access 2016 PL w biurze i nie tylko mo *liwo ü przetwarzania danych w pojedynczym rekordzie, mo *liwo ü generowania komunikatów

Rozdzia 5. Makra i edytor j zyka Visual Basic 233

Uruchamianie makra w odpowiedzina zdarzenie zwi zane z obiektem bazy danych

Aby makro by o uruchamiane w odpowiedzi na zdarzenia zachodz ce w obiekcie, nale yje przypisa do okre lonego typu zdarzenia obiektu. Na przyk ad na rysunku 5.17 pokaza-no sposób przypisania makropolecenia do procedury obs ugi zdarzenia Przy klikni ciuobiektu typu przycisk polecenia. Przypisanie takie nale y wykona w nast puj cy sposób:

1. W widoku Projekt wybra obiekt, do którego ma zosta przypisanemakropolecenie.

Rysunek 5.17.Przypisaniemakropoleceniado zdarzeniaPrzy klikni ciuobiektu przyciskpolecenia

2. Otworzy okno Arkusz w a ciwo ci obiektu, na przyk ad okno w a ciwo ciobiektu typu przycisk polecenia (rysunek 5.17) lub okno w a ciwo ci formularza(rysunek 5.18).

Rysunek 5.18.Przypisaniemakropoleceniado zdarzeniaPrzy za adowaniuobiektu Formularz

Poleć książkęKup książkę

Page 16: Wszelkie prawa zastrzeżone. Nieautoryzowane ... · 226 Access 2016 PL w biurze i nie tylko mo *liwo ü przetwarzania danych w pojedynczym rekordzie, mo *liwo ü generowania komunikatów

234 Access 2016 PL w biurze i nie tylko

3. Na karcie Zdarzenie klikn w polu zdarzenia, które ma by obs u oneprzez akcj makropolecenia.

4. Rozwin za pomoc przycisku ze strza k list dost pnych makropolecei wybra dane makro.

5. Zamkn okno w a ciwo ci obiektu i zapisa dokonane zmiany.

6. Uruchomi „oprogramowany” w taki sposób formularz.

Gdy nasze przyk adowe makro, sk adaj ce si z trzech akcji: OknoKomunikatu, Mini-malizuj oraz SygnalizujD wi kiem, przypiszemy do obs ugi zdarzenia Przy klikni ciuobiektu typu przycisk polecenia (znajduj cego si na formularzu) — „praca” makrarozpocznie si dopiero wtedy, gdy przycisk polecenia zostanie przez nas klikni tymysz . Dzia anie to spowoduje aktywacj okna z komunikatem (rysunek 5.19).

Rysunek 5.19.Wygl duruchomionego oknaformularza oraz oknaz komunikatem(po klikni ciuprzycisku poleceniaUruchom makro)

Efektem klikni cia przycisku OK (znajduj cego si w oknie z komunikatem) b dzieprzybranie przez okno formularza postaci oznaczonej na rysunku 5.20 symbolem 1.

Rysunek 5.20.Wygl d formularzapo zako czeniu pracymakropolecenia

Poleć książkęKup książkę

Page 17: Wszelkie prawa zastrzeżone. Nieautoryzowane ... · 226 Access 2016 PL w biurze i nie tylko mo *liwo ü przetwarzania danych w pojedynczym rekordzie, mo *liwo ü generowania komunikatów

Rozdzia 5. Makra i edytor j zyka Visual Basic 235

Gdy omawiane makropolecenie przypiszemy do obs ugi zdarzenia formularza Przyza adowaniu, proces przebiega b dzie nast puj co:

bezpo rednio po uruchomieniu formularza (np. przez dwukrotne klikni cie nazwyformularza w okienku nawigacji) zostanie wy wietlone okno z komunikatem,

gdy w oknie z komunikatem klikniemy przycisk OK, na chwil zostaniewy wietlone okno formularza, po czym samoczynnie zmniejszy si onodo postaci paska (oznaczenie 1 na rysunku 5.20).

Uruchamianie makropolecenia z procedury j zyka VBA zostanie opisane w dalszejcz ci niniejszego rozdzia u.

Uruchamianie makra z karty Narz dzia bazy danych

Aby uruchomi makro z karty Narz dzia bazy danych, nale y:

otworzy dan baz danych,

z karty Narz dzia wybra polecenie Uruchom makro (rysunek 5.21, oznaczenie 1),

Rysunek 5.21.Karta Narz dzia bazydanych — polecenieUruchom makro

po aktywacji okna dialogowego Uruchamianie makra wybra z listy rozwijanejNazwa makra (rysunek 5.22) dane makro, po czym klikn przycisk OK.

Rysunek 5.22.Okno dialogoweUruchamianie makra

Je eli makro (przyk adowe o nazwie Makro1) uruchomimy z menu, zmniejszanie oknado postaci paska dotyczy b dzie okna dialogowego aktywnego obiektu: okienkanawigacji, tabeli lub formularza. Na rysunku 5.22 aktywnym obiektem jest okienkonawigacji.

Poleć książkęKup książkę

Page 18: Wszelkie prawa zastrzeżone. Nieautoryzowane ... · 226 Access 2016 PL w biurze i nie tylko mo *liwo ü przetwarzania danych w pojedynczym rekordzie, mo *liwo ü generowania komunikatów

236 Access 2016 PL w biurze i nie tylko

Edytor j zyka Visual BasicEdytor j zyka Visual Basic for Applications (j zyka programowania wysokiego poziomu,b d cego wizualn wersj j zyka Basic) wchodz cy w sk ad pakietu MS Office, naprzyk ad w sk ad aplikacji Word, Excel, Access, PowerPoint, Outlook, jest w przypadkuka dej z nich prawie identyczny (mo e poza Accessem), to znaczy ma taki sam interfejsu ytkownika, identyczn sk adni oraz takie same s owa kluczowe i instrukcje. Ró nicapolega tylko na ró nych obiektach i ich metodach oraz w a ciwo ciach obiektów zwi za-nych z aplikacj macierzyst . Poniewa wcze niej by a ju mowa o tym, co to jestobiekt oraz czym s jego w a ciwo ci, w tym miejscu nale y jeszcze wyja ni poj ciemetody. Metoda jest procedur podobn do instrukcji lub funkcji, pozwalaj c na two-rzenie nowych obiektów lub operuj c na istniej cych ju obiektach (np. manipulowanieich w a ciwo ciami).

Obs uga edytora VBA

Edytor Visual Basic mo e zosta uruchomiony przez wykonanie jednej z czynno ci:

naci ni cie klawiszy Alt+F11,

klikni cie polecenia Visual Basic na karcie Narz dzia bazy danych,

klikni cie w oknie w a ciwo ci formularza (formantu) przycisku z wielokropkiem(rysunek 5.23, oznaczenie 1), a nast pnie wybranie z wy wietlonego oknadialogowego Wybieranie konstruktora opcji Konstruktor kodu (rysunek 5.24).

Rysunek 5.23.Przycisk otwieraj cyokno dialogoweWybieraniekonstruktora

Rysunek 5.24.Okno dialogoweWybieraniekonstruktora — opcjaKonstruktor kodu

Poleć książkęKup książkę

Page 19: Wszelkie prawa zastrzeżone. Nieautoryzowane ... · 226 Access 2016 PL w biurze i nie tylko mo *liwo ü przetwarzania danych w pojedynczym rekordzie, mo *liwo ü generowania komunikatów

Rozdzia 5. Makra i edytor j zyka Visual Basic 237

Wykonanie jednego z wymienionych polece spowoduje aktywacj okna edytora VBAo wygl dzie przedstawionym na rysunku 5.25. W oknie tym mo emy wyró ni nast -puj ce elementy:

1 — menu,

2 — pasek (paski) narz dzi,

3 — okno projektu bazy danych,

4 — okno w a ciwo ci,

5 — okno kodu,

6 — lista obiektów,

7 — lista zdarze obiektu.

Rysunek 5.25. Edytor kodu VBA

Podstawowe informacje z zakresu tworzeniakodu programu w j zyku VBA

Ogólnie kod j zyka VBA dzieli si na jednostki nazywane procedurami. Procedurask ada si z szeregu instrukcji (polece ), które wykonuj operacje na bazie danych lubobliczaj dane warto ci. Procedura wykonywana automatycznie w odpowiedzi nazdarzenie zainicjowane przez u ytkownika (np. klikni cie przycisku) lub kod programunazywana jest procedur zdarzenia.

Poleć książkęKup książkę

Page 20: Wszelkie prawa zastrzeżone. Nieautoryzowane ... · 226 Access 2016 PL w biurze i nie tylko mo *liwo ü przetwarzania danych w pojedynczym rekordzie, mo *liwo ü generowania komunikatów

238 Access 2016 PL w biurze i nie tylko

Procedury s przechowywane w modu ach. W programie Microsoft Access istniej trzytypy modu ów:

modu y formularzy,

modu y standardowe,

modu y klasy.

Modu y formularzy s podstaw do obs ugi wi kszo ci baz danych. Mog one zawieraprocedury obs uguj ce zdarzenia, procedury ogólne oraz deklaracje sta ych i zmiennychu ytych do przeprowadzenia procesów przetwarzania danych (wykonywania oblicze ).Kod zawarty w module formularza odnosi si do konkretnej bazy danych, do którejnale y formularz. Formularz wraz ze swoimi obiektami (formantami) mo e równieodwo ywa si (pobiera i przekazywa dane) do innych obiektów tworz cych okre lonbaz danych. Gdy po raz pierwszy tworzymy procedur zdarzenia dla formularza lubraportu, program Microsoft Access automatycznie tworzy zwi zany z ni modu formu-larza lub raportu.

Modu y standardowe s „pojemnikami” dla procedur i deklaracji cz sto wykorzysty-wanych przez inne modu y bazy danych (np. przez modu y formularzy). Na przyk admo e si okaza , e kod napisany w jednym z formularzy jest przydatny w innych for-mularzach — ze wzgl du na to, e wykonuje ten sam proces przetwarzania danych.Poniewa nie jest wskazane powielanie tego samego kodu w ró nych formularzach,tworzy si odr bny modu zawieraj cy procedur z tym w a nie zestawem instrukcji.Modu y standardowe mog zawiera deklaracje sta ych i zmiennych dost pnych dlaca ej bazy danych (sta e i zmienne globalne) i (lub) deklaracje sta ych i zmiennych do-st pnych tylko na poziomie modu u.

Kod modu u standardowego nie musi by zwi zany z konkretn baz danych. Je elinie zostan w nim umieszczone odwo ania do nazw konkretnych formularzy lub for-mantów, to b dzie go mo na zastosowa tak e w wielu innych bazach danych.

Modu y klasy s podstaw programowania obiektowego, gdy zawieraj definicjnowego obiektu, to znaczy stanowi szablon niezb dny do utworzenia obiektu. Na przy-k ad dwa obiekty typu przycisk polecenia pod wzgl dem opisuj cych ich cech i funk-cjonalno ci s takie same, poniewa utworzone s w oparciu o t sam klas . Obiektstanowi wi c konkretn reprezentacj danej klasy. Poniewa ka dy z obiektów jestwzajemnie niezale ny oraz ka dy tworzony jest w oparciu o klas , o obiekcie cz stomówi si jako o instancji danej klasy. Przyk adowo ka dy z formularzy jest instancjklasy Form, a ka dy z formantów (za pomoc których konstruujemy formularz) instancjokre lonej klasy, w oparciu o któr zosta utworzony.

Modu y formularzy s w rzeczywisto ci modu ami klas.

Dost p do poszczególnych (opisanych wcze niej) modu ów uzyskujemy w oknie pro-jektu edytora VBA (rysunek 5.26) przez dwukrotne klikni cie nazwy danego modu u.

Poleć książkęKup książkę

Page 21: Wszelkie prawa zastrzeżone. Nieautoryzowane ... · 226 Access 2016 PL w biurze i nie tylko mo *liwo ü przetwarzania danych w pojedynczym rekordzie, mo *liwo ü generowania komunikatów

Rozdzia 5. Makra i edytor j zyka Visual Basic 239

Rysunek 5.26.Przyk adowe oknoprojektu edytora VBAzawieraj ce:1 — modu yformularzy,2 — modustandardowy,3 — modu klasy

Aby utworzy (wstawi ) nowy modu standardowy lub nowy modu klasy, nale y z menuInsert wybra , odpowiednio, polecenie Module lub Class Module (rysunek 5.27).

Rysunek 5.27.Edytor VBA— menu Insert

Ka dy modu formularzy, modu standardowy i modu klasy mog posiada :

deklaracje sta ych, zmiennych oraz typów,

procedury typu Sub lub Function, zawieraj ce fragment kodu wykonywany jakojedna ca o .

Deklaracja zmiennych w kodzie j zyka VBA

Podczas wykonywania oblicze cz sto zachodzi potrzeba tymczasowego przechowywaniawarto ci. W j zyku VBA (jak w wi kszo ci innych j zyków programowania) do tego celus u zmienne. Zmienna posiada nazw (ci g znaków), wykorzystywan w celu odwo a-nia si do warto ci zmiennej, oraz typ danych, czyli atrybut okre laj cy rodzaj danychprzechowywanych w zmiennej. Ze zmiennymi zwi zane jest poj cie deklarowania, czyliwcze niejszego poinformowania programu o ich istnieniu. Deklaracja zmiennych mo eby przeprowadzona w sposób jawny (Implicit) i niejawny (Explicit). Do deklarowaniazmiennych u ywanych w obr bie okre lonej procedury (tzw. zmiennych lokalnych) s us owa kluczowe Dim oraz Static, na przyk ad zapis Dim s owo As String oraz zapisStatic rd As Integer s deklaracjami zmiennej s owo oraz zmiennej rd wraz z okre leniemtypu danych, odpowiednio: a cucha znaków (String) oraz liczby ca kowitej (Integer).Warto ci zmiennych lokalnych, zadeklarowanych przy u yciu s owa kluczowego Static,istniej przez ca y czas dzia ania bazy danych, natomiast zmienne zadeklarowane przyu yciu s owa Dim istniej tylko w czasie wykonywania danej procedury.

Poleć książkęKup książkę

Page 22: Wszelkie prawa zastrzeżone. Nieautoryzowane ... · 226 Access 2016 PL w biurze i nie tylko mo *liwo ü przetwarzania danych w pojedynczym rekordzie, mo *liwo ü generowania komunikatów

240 Access 2016 PL w biurze i nie tylko

Zmienne maj ce dzia a w obr bie modu u mo na utworzy , deklaruj c je przy u ycius owa kluczowego Private w sekcji Declarations na pocz tku modu u (rysunek 5.28).Na poziomie modu u nie ma ró nicy mi dzy deklaracjami Private i Dim.

Rysunek 5.28.Wygl d deklaracjizmiennej z poziomumodu u

Aby zmienna u yta w okre lonym module sta a si dost pna w innych modu ach, nale y,deklaruj c j , u y s owa kluczowego Public. Warto ci zmiennych publicznych s dos-t pne dla wszystkich procedur bazy danych. Podobnie jak zmienne poziomu modu u,zmienne publiczne deklaruje si w sekcji Declarations na pocz tku modu u.

Nie mo na deklarowa zmiennych publicznych w procedurze, lecz tylko w sekcjiDeclarations modu u.

J zyk Microsoft VBA nie wymaga bezwzgl dnie jawnego deklarowania zmiennej przedu yciem jej w procedurze. Je li zostanie u yta zmienna, która nie by a zadeklarowanaw sposób jawny, w j zyku Visual Basic jest ona deklarowana niejawnie jako zmienna typuVariant. Mimo e takie niejawne deklarowanie jest wygodne, mo e prowadzi do po-wstawania b dów w kodzie. Mo na wymaga deklaracji zmiennych przed u yciem ichw procedurze. Aby Microsoft Access automatycznie do cza instrukcj Option Explicitdo sekcji deklaracji wszystkich nowych modu ów w bazie danych (tak e do modu ów for-mularzy i raportów skojarzonych z nowymi formularzami lub raportami), nale y:

1. W menu Tools (rysunek 5.29) klikn polecenie Options.

Rysunek 5.29.Ustawianie opcjiautomatycznegodo czania instrukcjiOption Explicit

2. Klikn kart Editor.

3. W obszarze Code Settings zaznaczy pole wyboru Require VariableDeclaration ( daj deklaracji zmiennych) (rysunek 5.29, oznaczenie 1).

Poleć książkęKup książkę

Page 23: Wszelkie prawa zastrzeżone. Nieautoryzowane ... · 226 Access 2016 PL w biurze i nie tylko mo *liwo ü przetwarzania danych w pojedynczym rekordzie, mo *liwo ü generowania komunikatów

Rozdzia 5. Makra i edytor j zyka Visual Basic 241

Deklaracja sta ych w kodzie j zyka VBA

Cz sto mo na spotka si z kodem, który zawiera powtarzaj ce si okre lone warto cilub wr cz warto ci te s u ywane do budowy kodu (np. do okre lenia w a ciwo ci obiek-tów). Mówimy wtedy, e mamy do czynienia ze sta ymi. Sta e przypominaj niecozmienne, gdy pobranie z nich warto ci odbywa si przez odwo anie do ich nazwy, jednakró ni si od zmiennych tym, e nie mo na ich modyfikowa ani przypisa im nowejwarto ci. W VBA s dwa ród a sta ych:

sta e wewn trzne lub systemowe — dostarczane przez aplikacj i formanty. Sta ete s wymienione w bibliotekach obiektów systemu VBA w przegl darceobiektów Object Browser. Sta e z bibliotek obiektów systemu VBA majprefiksy „vb” — na przyk ad: vbNewLine,

sta e symboliczne lub zdefiniowane przez u ytkownika — s deklarowane przyu yciu instrukcji Const. Sk adnia deklarowania sta ej jest nast puj ca:

[Public|Private] Const nazwa_sta ej [As type] = wyra enie

gdzie:

nazwa_sta ej — nazwa utworzona przez u ytkownika, jak w przypadku nazwyzmiennej,

type — typ danych okre lony przez u ytkownika,

wyra enie — liczby b d ci gi znaków i operatorów.

Zapis w nawiasach kwadratowych [ ] oznacza wyst powanie danej deklaracji(instrukcji) w sposób opcjonalny.

Procedury typu Sub

Procedury typu Sub mo na umieszcza w modu ach formularzy, modu ach standardo-wych oraz w modu ach klas. Procedury typu Sub s domy lnie procedurami publicz-nymi we wszystkich modu ach, to znaczy, e mog by wywo ywane w bazie danychz dowolnego miejsca. Sk adnia procedury typu Sub jest nast puj ca:

[Public|Private][Static] Sub nazwa_procedury(argumenty)...[deklaracje]......instrukcje...End Sub

Argumenty procedury odpowiadaj deklaracjom zmiennych, to znaczy deklaruje siw nich warto ci przekazywane z procedury wywo uj cej dane. W VBA mo emy rozró nidwa rodzaje procedur typu Sub:

procedury ogólne,

procedury zdarzenia.

Procedura ogólna s u y w bazie danych do wykonania okre lonych przez u ytkownikazada i musi by jawnie wywo ana przez podanie w kodzie jej nazwy. W odró nieniuod niej procedura zdarzenia pozostaje nieaktywna a do chwili pojawienia si zdarzenia

Poleć książkęKup książkę

Page 24: Wszelkie prawa zastrzeżone. Nieautoryzowane ... · 226 Access 2016 PL w biurze i nie tylko mo *liwo ü przetwarzania danych w pojedynczym rekordzie, mo *liwo ü generowania komunikatów

242 Access 2016 PL w biurze i nie tylko

wywo anego dzia aniem u ytkownika lub systemu. Stosowanie procedur ogólnych jestwskazane, gdy w kilku procedurach zdarze potrzebne s te same akcje. W ten sposóbunikamy powielania kodu.

Procedura zdarzenia jest wywo ywana automatycznie, je li dowolny obiekt rozpoznajezaj cie zdarzenia (np. klikni cie mysz w jego obszarze). Nazwa procedury zdarzeniask ada si z:

w przypadku formantu: aktualnej nazwy formantu (okre lonej przezw a ciwo Nazwa znajduj c si w kategorii Inne), znaku podkre lenia,nazwy zdarzenia oraz znaków (). Na przyk ad je li przycisk poleceniao nazwie Polecenie10 ma wywo a po klikni ciu procedur zdarzenia, nale ywpisa dane instrukcje w procedurze o nazwie Polecenie10_Click(),

w przypadku formularza: wyrazu Form, znaku podkre lenia, nazwy zdarzeniaoraz znaków (). Na przyk ad je li w formularzu klikni cie w jego obszarzewska nikiem myszy ma wywo a okre lone dzia anie, nale y wpisa daneinstrukcje w procedurze o nazwie Form_Click().

Nazwy formularzy w procedurach zdarze nie s u ywane (pomimo e s unikatowe,podobnie jak nazwy formantów).

Wszystkie procedury zdarze maj t sam sk adni ogóln :

dla formantów:Private Sub nazwaformantu_nazwa zdarzenia(argumenty)...[deklaracje]......instrukcje...End Sub

dla formularzy:Private Sub Form_nazwa zdarzenia(argumenty)...[deklaracje]......instrukcje...End Sub

Procedury typu Function

Oprócz dost pnych (wbudowanych) w VBA funkcji procedura typu Function, podobniejak procedura typu Sub, mo e przyjmowa argumenty i wykonywa serie instrukcji.W przeciwie stwie jednak do procedury Sub procedura Function mo e zwraca wartodo wywo uj cej j procedury. Sk adnia procedury typu Function jest nast puj ca:

[Public|Private][Static] Function nazwa_procedury(argumenty)[As type]...[deklaracje]......instrukcje...End Function

Procedury Function zwykle wywo uje si , umieszczaj c nazw funkcji i jej argumentyz prawej strony instrukcji lub wyra enia (zmiennej):

zwracana_warto = nazwa_funkcji(argumenty)

Poleć książkęKup książkę

Page 25: Wszelkie prawa zastrzeżone. Nieautoryzowane ... · 226 Access 2016 PL w biurze i nie tylko mo *liwo ü przetwarzania danych w pojedynczym rekordzie, mo *liwo ü generowania komunikatów

Rozdzia 5. Makra i edytor j zyka Visual Basic 243

Procedury typu Function, tak samo jak zmienne, maj pewien typ danych. Okre la on typwarto ci zwracanej przez funkcj . Je eli nie ma klauzuli As, to zwracana zmienna posiadadomy lny typ Variant. Zwracanie warto ci polega na przypisaniu jej do zmiennej o tejsamej nazwie co nazwa funkcji. Na przyk ad je li w procesie przetwarzania danychcz sto zachodzi potrzeba wyliczenia: jednej trzeciej po owy pola kwadratu o boku opar-tym na przeciwprostok tnej trójk ta prostok tnego przy podanych d ugo ciach przy-prostok tnych tego trójk ta, to niezwykle por cznym rozwi zaniem b dzie napisaniew asnej funkcji o poni szej postaci:

Function Przeciwprostok tna (A as Integer, B as Integer) As String Przeciwprostok tna = (0.5 * (SQR (A ^ 2 + B ^ 2)) ^ 2)/3End Function

gdzie:

SQR() — jest wbudowan funkcj VBA pierwiastka kwadratowego,

^ — jest operatorem pot gowania (^2 — zapis oznaczaj cy „do kwadratu”).

Praktyczne u ycie opisanej powy ej funkcji przedstawimy na przyk adzie formularza(rysunek 5.30), w którym po klikni ciu przycisku polecenia (przycisk o nazwie Oblicz)w formancie typu etykieta zostanie wy wietlona warto wyliczona za pomoc funkcjiPrzeciwprostok tna(). Argumenty funkcji (d ugo ci przyprostok tnych) zosta y podanew sposób jawny (odpowiednio: warto 5 oraz warto 8).

Rysunek 5.30.Wygl d formularzapo klikni ciuprzycisku Oblicz

Aby formularz móg wykona postawione przed nim zadanie, nale y w jego modulewpisa :

1. Kod funkcji Przeciwprostok tna():Function Przeciwprostok tna (A As Integer, B As Integer) As String Przeciwprostok tna = (0.5 * (SQR(A ^ 2 + B ^ 2)) ^ 2) / 3End Function

2. Kod obs ugi zdarzenia Przy klikni ciu przycisku polecenia:Private Sub Polecenie0_Click()Etykieta5.Caption = Przeciwprostok tna(5,8)End Sub

Wygl d zapisu powy szych kodów w oknie edytora VBA pokazany zosta narysunku 5.31.

Poleć książkęKup książkę

Page 26: Wszelkie prawa zastrzeżone. Nieautoryzowane ... · 226 Access 2016 PL w biurze i nie tylko mo *liwo ü przetwarzania danych w pojedynczym rekordzie, mo *liwo ü generowania komunikatów

244 Access 2016 PL w biurze i nie tylko

Rysunek 5.31.Wygl d kodu funkcjioraz kodu obs ugizdarzenia przyciskuOblicz w oknieedytora VBA— argumenty funkcjipodane w sposóbjawny

W przypadku gdy chcemy przekazywa (móc wprowadza ) dane dotycz ce d ugo ciprzyprostok tnych w czasie pracy formularza, formularz powinien by zaopatrzonyw dwa formanty typu pole tekstowe (niezwi zane), jak pokazano na rysunku 5.32.

Rysunek 5.32.Wygl d formularzazaopatrzonegow formanty typu poletekstowe

Dodatkowo formularz posiada trzy formanty typu etykieta wy wietlaj ce teksty: „A=”,„B=” oraz „C=”, stanowi ce opisy dla pól tekstowych oraz dla etykiety, w którejjest wy wietlony wynik oblicze funkcji.

Dla tak skonstruowanego formularza zapis funkcji Przeciwprostok tna() powinien mieponi sz posta :

Function Przeciwprostok tna (ByVal A As Integer, ByVal B As Integer) As String Przeciwprostok tna = (0.5 * (SQR(A ^ 2 + B ^ 2)) ^ 2) / 3End Function

Natomiast kod obs ugi zdarzenia Przy klikni ciu przycisku polecenia Oblicz powinienby zapisany w nast puj cy sposób:

Private Sub Polecenie0_Click() Tekst1.SetFocus przyprostok tna_A = Tekst1.Text Tekst3.SetFocus przyprostok tna_B = Tekst3.TextEtykieta5.Caption = Przeciwprostok tna(przyprostok tna_A, przyprostok tna_B)End Sub

Wygl d zapisu powy szych kodów w oknie edytora VBA pokazany zosta narysunku 5.33.

Poleć książkęKup książkę

Page 27: Wszelkie prawa zastrzeżone. Nieautoryzowane ... · 226 Access 2016 PL w biurze i nie tylko mo *liwo ü przetwarzania danych w pojedynczym rekordzie, mo *liwo ü generowania komunikatów

Rozdzia 5. Makra i edytor j zyka Visual Basic 245

Rysunek 5.33.Wygl d kodu funkcjioraz kodu obs ugizdarzenia przyciskuOblicz w oknieedytora VBA— argumenty funkcjipodane za pomoczmiennych

Zagadnienia techniczne dotycz ce tworzenia kodu programu

Do tworzenia kodu programu w j zyku VBA korzystamy ze „s ów”, które stanowi :

nazwy instrukcji programu,

nazwy funkcji standardowych j zyka VBA,

nazwy obiektów, na przyk ad nazwy formularzy, formantów lub raportów,

nazwy w a ciwo ci obiektów, czyli parametrów obiektów,

nazwy metod, czyli czynno ci, które mo na wykona na obiekcie (ka dy obiektma odpowiedni dla siebie zestaw metod).

Mo na ustawi opcje edytora Visual Basic tak, aby w oknie kodu programu by y wy wie-tlane informacje o sk adni:

gdy zostanie wpisana nazwa obiektu, a nast pnie znak kropki, wy wietlonazostanie lista dost pnych (dla danego obiektu) w a ciwo ci lub metod(rysunek 5.34) umo liwiaj ca — przez klikni cie danej pozycji —automatyczne uzupe nienie kodu,

Rysunek 5.34.Wygl d fragmentulisty w a ciwo cii metod dost pnychdla obiektu typu poletekstowe

gdy zostanie wpisana nazwa metody lub istniej cej procedury, na przyk adfunkcji, a po niej spacja lub nawias otwieraj cy, pojawi si porada z informacjamio sk adni metody lub procedury, takimi jak wymagane argumenty (rysunek 5.35).

Rysunek 5.35.Wygl d porady dlastandardowej funkcji Sqr— funkcji pierwiastkakwadratowego

Poleć książkęKup książkę

Page 28: Wszelkie prawa zastrzeżone. Nieautoryzowane ... · 226 Access 2016 PL w biurze i nie tylko mo *liwo ü przetwarzania danych w pojedynczym rekordzie, mo *liwo ü generowania komunikatów

246 Access 2016 PL w biurze i nie tylko

Aby program Microsoft Access pomaga w uzupe nianiu instrukcji i (lub) wy wietla listdost pnych w a ciwo ci i metod obiektu podczas pisania kodu j zyka Visual Basic, nale y:

W menu Tools klikn polecenie Options, powoduj c tym samym aktywacjokna dialogowego Options (rysunek 5.36).

Rysunek 5.36.Ustawianiewy wietlania pomocy

Wybra kart Editor.

Sprawdzi , czy w sekcji Code Settings zaznaczona jest opcja Auto ListMembers — powoduj ca wy wietlenie listy w a ciwo ci i metod obiektu(rysunek 5.36, oznaczenie 1).

Sprawdzi , czy w sekcji Code Settings zaznaczona jest opcja Auto Quick Info,powoduj ca wy wietlenie sk adni metody lub procedury (rysunek 5.36,oznaczenie 2).

W czasie pisania kodu programu mo e si zdarzy , e tworzone wyra enie (instrukcja)jest bardzo d ugie, co powoduje, e pocz tkowy ci g znaków jest niewidoczny w okniekodu (zosta przesuni ty w lew stron ). W takim wypadku nale y podzieli d uginstrukcj na kilka linijek w nast puj cy sposób:

po ostatnim elemencie sk adni instrukcji wpisa spacj i znak _,

nacisn klawisz Enter,

kontynuowa instrukcj w nast pnym wierszu.

Aby umie ci dany kod w procedurze obs ugi zdarzenia okre lonego obiektu — bezwychodzenia do formularza wy wietlonego w widoku projektu — wystarczy z listyrozwijanej obiektów wybra nazw obiektu, a z listy zdarze obiektu dane zdarzenie(rysunek 5.37), co spowoduje, e edytor przeniesie nas automatycznie do wybranej w tensposób procedury.

Poleć książkęKup książkę

Page 29: Wszelkie prawa zastrzeżone. Nieautoryzowane ... · 226 Access 2016 PL w biurze i nie tylko mo *liwo ü przetwarzania danych w pojedynczym rekordzie, mo *liwo ü generowania komunikatów

Rozdzia 5. Makra i edytor j zyka Visual Basic 247

Rysunek 5.37.Przyk adowy wygl drozwini tej listyobiektów oraz listyzdarze obiektu

Uruchamianie makra z procedury j zyka Visual Basic

Do tworzenia kodu programu najcz ciej stosowany jest obiekt DoCmd (do command —„wykonaj polecenie”). Metodami tego obiektu s takie czynno ci, jak zamykanieokien, otwieranie formularzy i ustawianie warto ci formantów, b d ce odpowied-nikami makr. Mo na na przyk ad u y metody OpenForm obiektu DoCmd, aby otworzyformularz, lub metody Hourglass, aby zmieni wska nik myszy na ikon klepsydry.Zapis obiektu w kodzie VBA odbywa si wed ug sk adni:

DoCmd.metoda [argument1, argument1, argument1...]

Wi kszo z metod obiektu DoCmd ma argumenty — niektóre z nich s wymagane, inneza tylko opcjonalne. Argumenty s oddzielone przecinkami. Je li argumenty opcjonalnezostan pomini te, przyjm warto ci domy lne dla danej metody. Na przyk ad metodaOpenForm u ywa siedmiu argumentów, ale tylko pierwszy z nich, nazwa_formularza, jestniezb dny. Dla niektórych metod istniej predefiniowane sta e, na przyk ad dla metodyGoToRecord sta tak jest acNewRec, która nakazuje przej do nowego rekordu:

DoCmd.GoToRecord , , acNewRec

Aby z procedury j zyka Visual Basic uruchomi makropolecenie, nale y dla obiektu DoCmdu y metody RunMacro. Kod programu uruchamiaj cy przyk adowe makro, sk adaj ce siz trzech akcji (rysunek 5.13), utworzymy wed ug nast puj cych kroków:

1. Otworzy formularz w widoku Projekt.

2. Otworzy arkusz w a ciwo ci formularza (np. przez dwukrotne klikni cieselektora formularza — rysunek 5.38, oznaczenie 1).

Rysunek 5.38.Okno w a ciwo ciformularza

Poleć książkęKup książkę

Page 30: Wszelkie prawa zastrzeżone. Nieautoryzowane ... · 226 Access 2016 PL w biurze i nie tylko mo *liwo ü przetwarzania danych w pojedynczym rekordzie, mo *liwo ü generowania komunikatów

248 Access 2016 PL w biurze i nie tylko

3. Na karcie Zdarzenia w polu w a ciwo ci Przy za adowaniu klikn przyciskz wielokropkiem (rysunek 5.38, oznaczenie 2), co spowoduje aktywacjokna dialogowego Wybieranie konstruktora (rysunek 5.39).

Rysunek 5.39.Okno dialogoweWybieraniekonstruktora

4. Pod wietli opcj Konstruktor kodu, a nast pnie klikn przycisk OK.

5. Dzia anie z punktu 4. spowoduje aktywacj okna edytora kodu VBA, w którymponi ej zapisu Private Sub Form_Load() zobaczymy migaj cy znak kursora.

6. Wpisa kod programu: DoCmd.RunMacro "makro1" (rysunek 5.40).

Rysunek 5.40.Wygl d kodu dlaobs ugi zdarzeniaformularza Przyza adowaniu

Wielko liter u ytych do zapisu argumentów, na przyk ad nazwy obiektu, nie maznaczenia.

7. Powróci do formularza wy wietlonego w widoku Projekt przez wydanie z menuFile polecenia Close and Return to Microsoft Access (rysunek 5.41).

8. Zamkn formularz i zapisa dokonane zmiany.

9. Uruchomi formularz.

Poleć książkęKup książkę

Page 31: Wszelkie prawa zastrzeżone. Nieautoryzowane ... · 226 Access 2016 PL w biurze i nie tylko mo *liwo ü przetwarzania danych w pojedynczym rekordzie, mo *liwo ü generowania komunikatów

Rozdzia 5. Makra i edytor j zyka Visual Basic 249

Rysunek 5.41.Menu File — polecenieClose and Returnto Microsoft Access

Dzia anie tak oprogramowanego formularza b dzie identyczne jak opisany wcze niejsposób dzia ania formularza, w którym przypisano makro do w a ciwo ci Przy za ado-waniu, i przebiega b dzie nast puj co:

bezpo rednio po uruchomieniu formularza (np. przez dwukrotne klikni cienazwy formularza w oknie bazy) zostanie wy wietlone okno z komunikatem,

po klikni ciu w oknie z komunikatem przycisku OK na chwil zostaniewy wietlone okno formularza, po czym samoczynnie zmniejszy siono do postaci paska (oznaczenie 1, na rysunku 5.20).

Poleć książkęKup książkę

Page 32: Wszelkie prawa zastrzeżone. Nieautoryzowane ... · 226 Access 2016 PL w biurze i nie tylko mo *liwo ü przetwarzania danych w pojedynczym rekordzie, mo *liwo ü generowania komunikatów

250 Access 2016 PL w biurze i nie tylko

Poleć książkęKup książkę

Page 33: Wszelkie prawa zastrzeżone. Nieautoryzowane ... · 226 Access 2016 PL w biurze i nie tylko mo *liwo ü przetwarzania danych w pojedynczym rekordzie, mo *liwo ü generowania komunikatów

SkorowidzA

Access wersja, 25, 26Access 2016, 7

pierwsze uruchamianie, 11zamykanie, 13

algorytm Gaussa, 318, 363autoformularz, Patrz: formularz zwi zany

Bbaza danych, 9, Patrz te : tabela

aktualizacja, 260format, 22

domy lny, 22, 24zmiana, 24

nazwa, 22, 23otwieranie, 13

z wcze niejszej wersji Accessa, 26ze zmodyfikowanymi parametrami, 16, 17

system zarz dzaj cy, Patrz: DBMStworzenie, 20, 256, 257, 264zapisywanie, 22

Bo e Cia o, 318, 363

Ddane

aktualizacja, 74, 99, 113nota, 82, 84obiekt OLE, 75

alfanumeryczne, 74, 173arkusz, 178filtrowanie, Patrz: filtrowanieformatowanie, 143, 409, 410

warunkowe, 406prezentacja, 62

sortowanie, Patrz: sortowanietyp, Patrz: typudost pnianie, 193wprowadzanie, 11

data, 316database, Patrz: baza danychDatabase Management System, Patrz: DBMSDBMS, 7, 9dokument kartotekowy, 42

Eekran startowy, 12etykieta, 10

Ffield, Patrz: polefiltrowanie, 68, 364

kryteria, 72wed ug formularza, 71wed ug pustego pola, 72z wy czeniem wyboru, 70

formant, 10, 11, 173, 209, 242ActiveX, 215etykieta, 211, 213, 272, 290, 332, 340, 413grupa opcji, 213karta, 214pole, 214linia, 214lista, 373narz dzia, 213obraz, 196, 211, 214, 251, 273, 280, 290podformularz, 214, 373, 388podzia strony, 214pole

listy, 388tekstowe, 213, 266, 332, 335, 373, 388, 413wyboru, 213

Poleć książkęKup książkę

Page 34: Wszelkie prawa zastrzeżone. Nieautoryzowane ... · 226 Access 2016 PL w biurze i nie tylko mo *liwo ü przetwarzania danych w pojedynczym rekordzie, mo *liwo ü generowania komunikatów

454 Access 2016 PL w biurze i nie tylko

poleprostok t, 214, 273, 280przycisk

opcji, 213polecenia, 214, 273, 290, 332, 373, 389, 413prze cznika, 213

punkty konstrukcyjne, 211ramka

niezwi zana,196, 211, 214zwi zana, 196, 214, 266

usuwanie, 211wstawianie, 210, 211

formularz, 10, 11, 173, 226, 242arkusz danych, 178dzielony, 181forms, 10g ówny, 202hierarchiczny, 202, Patrz te : podformularzjako okno dialogowe, 199niezwi zany, 199obraz

kopia, 199wielko , 197wstawianie, 196

startowy, 254, 272, 274, 304, 317, 373tabelaryczny, 176, 177tworzenie, 183, 188, 265, 266, 274, 290, 291, 332uruchamianie, 173widok, 180w a ciwo ci, 391, 413, 420, 421

zmiana, 194z wieloma elementami, Patrz: formularz

tabelarycznyzwi zany, 173

GGaussa algorytm, Patrz: algorytm Gaussa

Iindeks, 47

Jjednor ki bandyta, 251j zyk Visual Basic, Patrz: Visual Basic

Kkalendarz, 315karta, 214

klucz podstawowy, 46, 47, 52, 93, 101autonumerowanie, 52jednopolowy, 54wielopolowy, 55

kwerenda, 10, 116, 226aktualizuj ca, 116, 153, 157, 327, 328, 329

z parametrem, 158, 159dodawanie

pola, 118, 121tabeli, 121

do czaj ca, 116, 167, 172formatowanie danych, 143funkcjonalna, 116, 148krzy owa, 116, 139

b dy, 144z parametrem, 145, 148

parametryczna, 116, 135, 138tworz ca tabel , 116, 149, 153tworzenie, 116, 117, 118, 120, 122, 323, 384usuwaj ca, 116, 160, 163

z parametrem, 164, 166usuwanie

pola, 120, 121, 123tabeli, 120, 121

wybieraj ca, 116, 125

Llista, 373, 388

rozwijana, 33

Mmakro, 10, 11, 225, 226, 446

tworzenie, 226, 229, 298, 300, 301, 302, 347, 349uruchamianie, 230, 231, 233, 235, 247

Microsoft Graph, 374modu , 10

formularzy, 238, 239klasy, 10, 238, 239standardowy, 10, 238, 239

NNull, 29, 52, 54, 65, 93

Oobiekt, 10, 21, 209, 226

DoCmd, 247okno, 42OLE, 29, 75prezentacja wizualna, 10ramka, 78typ, 10

Poleć książkęKup książkę

Page 35: Wszelkie prawa zastrzeżone. Nieautoryzowane ... · 226 Access 2016 PL w biurze i nie tylko mo *liwo ü przetwarzania danych w pojedynczym rekordzie, mo *liwo ü generowania komunikatów

Skorowidz 455

obraz, 78, 196, 214, 251, 416okno

dialogowe, 42, 199nawigacji, 16, 17, 21obiektu, Patrz: obiekt okno

PPaint, 77pasek przewijania, 58plik, 9

.accdb, 10

.mdb, 10

.txt, 10format, 10, 22, 24nazwa, 9, 10

podformularz, 202, 214, 373, 388, 406tworzenie, 202, 203, 205, 207, 209

pole, 10, 27, 31blokowanie, 64dodawanie, 89kombi, 214listy, 214, 388memo, 82Memo, Patrz te : typ notanazwa, 27, 31odblokowanie, 64odkrywanie, 63, 64odno ników, 29, 33rozmiar, 48

domy lny, 37tekstowe, 10, 213, 266, 332, 335, 373, 388, 413ukrywanie, 63usuwanie, 31, 89, 90wstawianie, 31wyboru, 10, 213zaznaczanie, 61, 62zmiana po o enia, 84, 85

polecenieimportuj, 30, 43raport, 216

procedura, Patrz te : moduFunction, 239, 242, 243ogólna, 241Sub, 239, 241zdarzenia, 242

program Microsoft Graph, Patrz: Microsoft Graphprze cznik, 213przycisk, 10, 173, 373

Formanty ActiveX, 215kreatora formantów, 215opcji, 213polecenia, 251, 332, 389, 413prze cznika, 213zaznaczania obiektów, 215

Qquery, Patrz: kwerenda

Rramka, 213

niezwi zana, 214wi zana, 214zwi zana, 266

raport, 10, 11, 209, 215, 226kolor, 445tworzenie, 215, 216, 219, 436, 438, 443, 445uk ad, 438

record, Patrz: rekordrekord, 10, 27, 30

do czanie, 167filtrowanie, Patrz: filtrowanieselektor, 56, 57sortowanie, Patrz: sortowaniezaznaczanie, 61, 62

relacja, 91, 93edytowanie, 98jeden do jednego, 93jeden do wielu, 94, 99, 380tworzenie, 94, 380usuwanie, 98wiele do wielu, 93

tworzenie, 102, 113report, Patrz: raport

Ssiatka projektowa, 334s owo kluczowe

Dim, 239Private, 240Public, 240Static, 239

sortowanie, 47, 65proste, 65z o one, 67

sta a, 239deklarowanie, 241

strona dost pu, 209system zarz dzaj cy baz danych, Patrz: DBMS

wi toruchome, 318, 363sta e, 329, 363

Poleć książkęKup książkę

Page 36: Wszelkie prawa zastrzeżone. Nieautoryzowane ... · 226 Access 2016 PL w biurze i nie tylko mo *liwo ü przetwarzania danych w pojedynczym rekordzie, mo *liwo ü generowania komunikatów

456 Access 2016 PL w biurze i nie tylko

Ttabela, 10, 27, 55, Patrz te : baza danych

aktualizacja, Patrz: dane aktualizacjakolumna, 30, Patrz te : polemodyfikacja struktury, 84nadrz dna, 92nawigowanie, 56, 57, 58, 60podrz dna, 92, 100podstawowa, Patrz: tabela nadrz dnaprezentacja danych, Patrz: dane prezentacjatworzenie, 28, 30, 116, 149, 153, 375, 376, 377

importowanie, 43czenie z tabel zewn trzn , 49

przez wprowadzanie danych, 30, 33w widoku projektu, 35, 36

table, Patrz: tabelatyp, 28

autonumerowanie, 29, 52data/godzina, 29hiper cze, 29konwersja, 85, 86liczba, 29nota, 29, 82, 84obiekt OLE, 29, 75pole odno ników, 29, 33tak/nie, 29tekst, 29waluta, 29za czniki, 29

VVBA, 236, 237

kod programu, 245tworzenie, 247

modu , Patrz: moduprocedura, Patrz: procedurasta a, Patrz: sta azmienna, Patrz: zmienna

Visual Basic, 10, 225Visual Basic for Applications, Patrz: VBA

Wwarto Null, Patrz: NullWielkanoc, 318, 363wykres, 374, 420, 422

kolor, 433modyfikacja, 428, 430typ, 423tytu , 425

wyszukiwanie, 47

Zza cznik, 29zdarzenie

Form_Load, 305, 352formularzy obs uga, 302, 449obs uga, 173przy bie cym, 353przy cyklu czasomierza, 306przy klikni ciu, 303, 309, 310, 357, 360przy za adowaniu, 304, 314przy zamkni ciu, 353SpinButton, 355, 356, 357uruchamianie makra, 233

zmienna, 239deklarowanie, 239, 240lokalna, 239

Poleć książkęKup książkę

Page 38: Wszelkie prawa zastrzeżone. Nieautoryzowane ... · 226 Access 2016 PL w biurze i nie tylko mo *liwo ü przetwarzania danych w pojedynczym rekordzie, mo *liwo ü generowania komunikatów