IDZ DO
IDZ DO
PRZYKŁADOWY ROZDZIAŁ
PRZYKŁADOWY ROZDZIAŁ
Access.
SPIS TRE CI
SPIS TRE CI
Programowanie w VBA
KATALOG KSIĄŻEK
KATALOG KSIĄŻEK
Autor: Charles E. Brown
Tłumaczenie: Krzysztof Masłowski (wstęp, rozdz. 1 8),
KATALOG ONLINE
KATALOG ONLINE
Grzegorz Werner (rozdz. 9 21, dod. A)
ISBN: 83-7361-807-4
ZAMÓW DRUKOWANY KATALOG
ZAMÓW DRUKOWANY KATALOG
Tytuł oryginału: Access VBA Programming
Format: B5, stron: 408
TWÓJ KOSZYK
TWÓJ KOSZYK
Wykorzystaj całą moc Accessa
DODAJ DO KOSZYKA
DODAJ DO KOSZYKA
" Poznaj rodowisko VBA
" Naucz się wykorzystywać możliwo ci Accessa w VBA
" Stwórz wydajne i szybkie aplikacje
CENNIK I INFORMACJE
CENNIK I INFORMACJE
MS Access jest jednym z najczę ciej wykorzystywanych systemów zarządzania bazami
danych. Jest łatwy w obsłudze, posiada spore możliwo ci i nie wymaga poznawania
ZAMÓW INFORMACJE
ZAMÓW INFORMACJE
złożonych języków manipulacji danymi. Czasem jednak jego podstawowe możliwo ci
O NOWO CIACH
O NOWO CIACH
nie wystarczają do realizacji niektórych zadań. W takich sytuacjach należy sięgnąć
po VBA (Visual Basic for Applications), czyli narzędzie programistyczne pozwalające
ZAMÓW CENNIK
ZAMÓW CENNIK
na tworzenie aplikacji dla aplikacji programów integrujących się z Accessem
i wykorzystujących jego funkcje, ale w sposób dokładnie taki, jaki jest potrzebny
w okre lonym przypadku.
CZYTELNIA
CZYTELNIA
Książka Access. Programowanie w VBA opisuje zasady programowania w Accessie
z wykorzystaniem VBA. Przedstawia zasady projektowania aplikacji i pracy
FRAGMENTY KSIĄŻEK ONLINE
FRAGMENTY KSIĄŻEK ONLINE
ze rodowiskiem programistycznym VBA, korzystania z elementów i funkcji Accessa
oraz tworzenia formularzy i raportów. Znajdziesz w niej także bardziej zaawansowane
techniki tworzenie aplikacji klient-serwer, mechanizmy wymiany danych pomiędzy
aplikacjami pakietu MS Office oraz łączenie Accessa z SQL Serverem.
" Projektowanie aplikacji
" Dostosowanie Accessa do własnych potrzeb
" rodowisko programistyczne VBA oraz język Visual Basic for Applications
" Tworzenie formularzy, raportów, menu i pasków narzędziowych
" Bezpieczeństwo baz danych
" Aplikacje WWW i zastosowanie języka XML
" Tworzenie aplikacji wielodostępnych
Wydawnictwo Helion
Je li nie wystarczają Ci standardowe możliwo ci Accessa, sięgnij po VBA w ten
ul. Chopina 6
sposób wykorzystasz prawdziwe bogactwo Accessa.
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Spis treści
O Autorach........................................................................................9
Wstęp .............................................................................................11
Część I Poznanie środowiska MS Accessa ..................................15
Rozdział 1. Wstęp do VBA for Applications.........................................................17
Historia Microsoft Accessa ............................................................................................. 17
Tworzenie aplikacji w Accessie ...................................................................................... 19
Okno Baza danych .................................................................................................... 19
Makra ........................................................................................................................ 21
Moduły...................................................................................................................... 22
Przyszłość Microsoft Accessa ......................................................................................... 23
Podsumowanie ................................................................................................................ 24
Rozdział 2. Projektowanie aplikacji Accessa ......................................................25
tapy procesu tworzenia aplikacji................................................................................... 26
Określanie i analizowanie wymagań ............................................................................... 26
Analizowanie wymagań ............................................................................................ 27
Ocena i oszacowanie wymagań....................................................................................... 28
Projektowanie i tworzenie programu............................................................................... 29
Model encja-relacja................................................................................................... 30
Tłumaczenie modelu -R na accessową bazę danych............................................... 31
Wdrażanie i testowanie.................................................................................................... 34
Przygotowanie dokumentacji .......................................................................................... 35
Utrzymanie systemu........................................................................................................ 36
Podsumowanie ................................................................................................................ 37
Rozdział 3. Używanie Accessa bez VBA..............................................................39
Architektura systemu....................................................................................................... 40
Rozumienie aplikacji bazodanowej ................................................................................. 41
Praca bez VBA................................................................................................................ 42
Relacje....................................................................................................................... 43
Zdarzenia......................................................................................................................... 45
Stwórz makro ............................................................................................................ 46
Przekształcanie makr w kod VBA............................................................................. 49
Konwencje nazw ............................................................................................................. 50
Szablony predefiniowane ................................................................................................ 50
Menadżer panelu przełączania......................................................................................... 51
Podsumowanie ................................................................................................................ 55
4 Access. Programowanie w VBA
Rozdział 4. Przystosowywanie środowiska Accessa do własnych potrzeb ............57
Interakcja z Accessem ..................................................................................................... 57
Dostosowywanie paska poleceń................................................................................ 59
Tworzenie własnego paska narzędziowego............................................................... 62
Dostosowywanie menu podręcznych .............................................................................. 63
Tworzenie menu.............................................................................................................. 64
Przypisywanie kodu do elementu dostosowanego menu................................................. 65
Podsumowanie ................................................................................................................ 68
Część II Poznanie środowiska VBA...............................................69
Rozdział 5. Wprowadzenie do środowiska programistycznego VBA ......................71
Wprowadzenie do VBA .................................................................................................. 71
Historia VBA ............................................................................................................ 72
Model VBA..................................................................................................................... 72
Moduły...................................................................................................................... 73
Procedury .................................................................................................................. 73
Koncepcja obiektów........................................................................................................ 74
Obiekty ADO ............................................................................................................ 76
Obiekty VBA ............................................................................................................ 77
Obiekty Accessa........................................................................................................ 77
dytor VBA .................................................................................................................... 78
Zaprzęgnięcie edytora VBA do pracy ....................................................................... 80
Podsumowanie ................................................................................................................ 84
Rozdział 6. Podstawy programowania w VBA......................................................85
Podstawy programowania ............................................................................................... 85
Tworzenie modułów standardowych......................................................................... 86
Tworzenie procedur .................................................................................................. 88
Wejście i wyjście....................................................................................................... 94
Struktury sterujące........................................................................................................... 96
Struktury decyzyjne .................................................................................................. 96
Pętle ........................................................................................................................ 101
Tablice........................................................................................................................... 106
Składniki tablicy ..................................................................................................... 106
Czyszczenie tablic................................................................................................... 111
IsArray .................................................................................................................... 111
Podsumowanie .............................................................................................................. 112
Rozdział 7. Zrozumienie działania edytora VBA.................................................113
Otwieranie edytora VBA............................................................................................... 113
Najważniejsze elementy i cechy systemu menu ............................................................ 115
Menu dit ............................................................................................................... 115
Menu View.............................................................................................................. 115
Menu Tools ............................................................................................................. 116
Menu podręczne (Shortcut)..................................................................................... 116
Paski narzędziowe Debug, dit i UserForm.................................................................. 117
ksplorator projektu...................................................................................................... 118
Zarządzanie modułami .................................................................................................. 119
Wstawianie i kasowanie modułów .......................................................................... 119
Importowanie i eksportowanie modułów ................................................................ 120
Okno Properties............................................................................................................. 121
Przeglądarka obiektów .................................................................................................. 121
Biblioteki................................................................................................................. 124
Referencje ..................................................................................................................... 125
Spis treści 5
Używanie opcji edytora VBA........................................................................................ 125
Karta ditor............................................................................................................. 126
Karta ditor Format ................................................................................................ 129
Karty General i Docking ......................................................................................... 130
Sięganie po pomoc ........................................................................................................ 131
Rozpoczynanie nowej procedury w VBA ..................................................................... 133
Podsumowanie .............................................................................................................. 134
Rozdział 8. Składniki języka VBA .....................................................................135
Obiekty w VBA............................................................................................................. 135
Stałe wewnętrzne........................................................................................................... 136
Podstawowe programy VBA używające formularzy..................................................... 137
Ustawianie ogniska ................................................................................................. 138
Znajdowanie rekordu.............................................................................................. 141
Obiekt Me ............................................................................................................... 143
Sprawdzanie poprawności rekordu......................................................................... 144
Lączenie z Accessem..................................................................................................... 145
SQL (strukturalny język zapytań).................................................................................. 146
SQL podstawy.................................................................................................... 147
SQL i VBA.................................................................................................................... 150
Prezentacja wyników..................................................................................................... 153
Podsumowanie .............................................................................................................. 155
Rozdział 9. Procedury......................................................................................157
Deklarowanie procedury ............................................................................................... 157
Funkcje.......................................................................................................................... 159
Parametry ...................................................................................................................... 160
Parametry opcjonalne.............................................................................................. 162
Parametry nazwane ................................................................................................. 163
Projekt i zasięg .............................................................................................................. 164
Zmienne globalne i statyczne ........................................................................................ 165
Zmienne globalne.................................................................................................... 165
Zmienne statyczne................................................................................................... 166
Zmiana struktury bazy danych za pomocą procedury.................................................... 167
Konstruowanie tabeli .............................................................................................. 167
Podsumowanie .............................................................................................................. 169
Rozdział 10. Usuwanie usterek z kodu VBA........................................................171
Podstawowe informacje o obsłudze błędów.................................................................. 171
Błędy wykonania..................................................................................................... 172
Obiekt rr...................................................................................................................... 176
Kolekcja rrors ............................................................................................................. 177
Narzędzia do usuwania usterek z kodu.......................................................................... 180
Okno Immediate i punkty wstrzymania................................................................... 181
Asercje .................................................................................................................... 183
Okno Locals ............................................................................................................ 184
Okno Watch ............................................................................................................ 185
Podsumowanie .............................................................................................................. 186
Rozdział 11. Funkcje.........................................................................................187
Podprogramy i funkcje .................................................................................................. 187
Funkcje wbudowane...................................................................................................... 188
MsgBox................................................................................................................... 188
InputBox ................................................................................................................. 192
Funkcje daty i czasu ...................................................................................................... 193
Funkcje finansowe......................................................................................................... 195
Podsumowanie .............................................................................................................. 197
6 Access. Programowanie w VBA
Część III Interakcja z VBA ..........................................................199
Rozdział 12. Formularze.....................................................................................201
Formularze i dane.......................................................................................................... 201
Dynamiczne przypisywanie zestawów rekordów .......................................................... 205
Dołączanie i edytowanie danych ................................................................................... 207
Sterowanie formantami na formularzach....................................................................... 208
Podsumowanie .............................................................................................................. 214
Rozdział 13. Raporty .........................................................................................215
Anatomia raportu........................................................................................................... 215
Kreator raportów ........................................................................................................... 218
Raporty specjalne .......................................................................................................... 220
Wykresy .................................................................................................................. 221
tykiety adresowe ................................................................................................... 224
Wywoływanie raportu z kodu VBA .............................................................................. 226
Tworzenie raportu metodą programową........................................................................ 226
Tworzenie pustego raportu...................................................................................... 226
Dodawanie formantów do raportu........................................................................... 228
Podsumowanie .............................................................................................................. 231
Rozdział 14. Menu i paski narzędzi ....................................................................233
Paski poleceń................................................................................................................. 233
Tworzenie paska narzędzi ............................................................................................. 235
Menu............................................................................................................................. 240
Podmenu........................................................................................................................ 243
Podsumowanie .............................................................................................................. 244
Rozdział 15. Modyfikowanie środowiska Accessa...............................................245
Właściwości startowe .................................................................................................... 245
Modyfikowanie opcji .................................................................................................... 247
Karta Widok............................................................................................................ 249
Karta Ogólne........................................................................................................... 249
Karta dytowanie/Znajdowanie.............................................................................. 250
Karta Klawiatura ..................................................................................................... 250
Karta Arkusz danych............................................................................................... 251
Karta Formularze/Raporty....................................................................................... 251
Karta Strony ............................................................................................................ 252
Karta Zaawansowane .............................................................................................. 252
Karta Międzynarodowe ........................................................................................... 253
Karta Sprawdzanie błędów...................................................................................... 253
Karta Pisownia ........................................................................................................ 253
Karta Tabele/Kwerendy .......................................................................................... 254
Podsumowanie .............................................................................................................. 255
Część IV Zaawansowane techniki programowania .......................257
Rozdział 16. Bezpieczeństwo bazy danych..........................................................259
Access i bezpieczeństwo ............................................................................................... 259
Interfejs użytkownika.............................................................................................. 259
Ustawianie hasła ..................................................................................................... 260
Programowe tworzenie hasła................................................................................... 261
Ochrona kodu VBA................................................................................................. 262
Kompilowanie kodu do pliku .mde ......................................................................... 263
Zabezpieczenia na poziomie użytkownika .................................................................... 263
Modyfikowanie kont użytkowników metodą programową ..................................... 266
Spis treści 7
Bezpieczeństwo i Access 2003...................................................................................... 268
Jet Sandbox ............................................................................................................. 269
Zabezpieczenia makr............................................................................................... 269
Podsumowanie .............................................................................................................. 273
Rozdział 17. Access i środowisko Microsoft Office.............................................275
Współdzielone obiekty .................................................................................................. 275
Obiekt FileSearch.................................................................................................... 276
Obiekt CommandBar .............................................................................................. 277
Lączenie Accessa z innymi programami pakietu Microsoft Office ............................... 280
Lączenie się z xcelem ........................................................................................... 281
Lączenie się z Outlookiem ...................................................................................... 283
Lączenie się z Wordem ........................................................................................... 284
Podsumowanie .............................................................................................................. 286
Rozdział 18. Access i sieć WWW.......................................................................287
Mechanika sieci WWW................................................................................................. 287
Strony dostępu do danych ............................................................................................. 288
Generowanie strony dostępu do danych.................................................................. 289
Zapisywanie strony DAP ........................................................................................ 293
Tworzenie strony dostępu do danych w widoku projektu ....................................... 295
Strony dostępu do danych i VBA............................................................................ 297
XML (xtensible Markup Language) ........................................................................... 298
Podsumowanie .............................................................................................................. 301
Rozdział 19. Rozbudowa....................................................................................303
Microsoft Access i SQL Server ..................................................................................... 304
Access Data Projects ..................................................................................................... 304
Rozbudowa bazy danych Accessa........................................................................... 306
Praca z plikiem ADP ..................................................................................................... 310
Procedury przechowywane ..................................................................................... 311
Widoki .................................................................................................................... 311
Podsumowanie .............................................................................................................. 313
Część V Tworzenie aplikacji.......................................................315
Rozdział 20. Aplikacje wielodostępne ................................................................317
Współdzielenie bazy danych ......................................................................................... 317
Obsługa współzawodnictwa i konfliktów...................................................................... 318
Ustawianie interwału odświeżania .......................................................................... 319
Ustawianie interwału aktualizacji............................................................................ 319
Blokowanie rekordów w interfejsie Accessa........................................................... 320
Ustawianie opcji sposobem programowym............................................................. 322
Blokowanie rekordów w ADO................................................................................ 323
Zwiększanie wydajności aplikacji ................................................................................. 324
Oddzielanie danych od innych obiektów Accessa................................................... 325
Centralizacja i decentralizacja................................................................................. 329
Kompilowanie kodu................................................................................................ 329
Optymalizowanie kodu VBA .................................................................................. 331
Podsumowanie .............................................................................................................. 333
Rozdział 21. Nie tylko Microsoft Access ............................................................335
VBA i Microsoft Office................................................................................................. 335
Visual Basic .................................................................................................................. 340
VBScript........................................................................................................................ 347
Platforma Microsoft .NT............................................................................................. 349
Podsumowanie .............................................................................................................. 350
8 Access. Programowanie w VBA
Dodatki .......................................................................................351
Dodatek A Obiekt DoCmd ...............................................................................353
AddMenu...................................................................................................................... 354
ApplyFilter .................................................................................................................... 354
Beep .............................................................................................................................. 355
Cancelvent .................................................................................................................. 356
Close.............................................................................................................................. 356
CopyDatabaseFile ......................................................................................................... 358
CopyObject ................................................................................................................... 358
DeleteObject.................................................................................................................. 359
DoMenuItem ................................................................................................................. 360
cho .............................................................................................................................. 360
FindNext........................................................................................................................ 361
FindRecord.................................................................................................................... 362
GoToControl ................................................................................................................. 364
GoToPage...................................................................................................................... 364
GoToRecord.................................................................................................................. 365
Hourglass....................................................................................................................... 366
Maximize....................................................................................................................... 366
Minimize ....................................................................................................................... 367
MoveSize....................................................................................................................... 367
OpenDataAccessPage.................................................................................................... 368
OpenDiagram ................................................................................................................ 369
OpenForm ..................................................................................................................... 369
OpenFunction................................................................................................................ 371
OpenModule.................................................................................................................. 371
OpenQuery .................................................................................................................... 372
OpenReport ................................................................................................................... 373
OpenStoredProcedure.................................................................................................... 374
OpenTable..................................................................................................................... 375
OpenView ..................................................................................................................... 376
OutputTo ....................................................................................................................... 377
PrintOut......................................................................................................................... 379
Quit ............................................................................................................................... 380
Rename.......................................................................................................................... 380
RepaintObject................................................................................................................ 382
Requery ......................................................................................................................... 382
Restore .......................................................................................................................... 382
RunCommand ............................................................................................................... 383
RunMacro...................................................................................................................... 383
RunSQL ........................................................................................................................ 384
Save............................................................................................................................... 385
SelectObject .................................................................................................................. 386
SendObject .................................................................................................................... 387
SetMenuItem ................................................................................................................. 388
SetWarnings .................................................................................................................. 389
ShowAllRecords............................................................................................................ 389
ShowToolbar ................................................................................................................. 390
TransferDatabase........................................................................................................... 391
TransferSpreadsheet ...................................................................................................... 391
TransferSQLDatabase ................................................................................................... 391
TransferText.................................................................................................................. 391
Skorowidz......................................................................................393
Rozdział 6.
Podstawy
programowania w VBA
W rozdziale 5 poznałeś środowisko VBA, jego strukturę, koncepcję i edytor. Teraz
zamierzamy przedstawić podstawy programowania oraz specyficzną składnię języka
VBA. Wrócimy do koncepcji omówionych w rozdziale 5 i przyjrzymy się im dokładniej,
zaczynając od przeglądu miejsc, gdzie kod jest przechowywany, oraz typów bloków,
na jakie jest dzielony. Czyniąc to, szczegółowo zajmiemy się również problemem
zmiennych. Trudno jest mówić o zmiennych, pomijając ich szczególny typ nazywany
tablicą (array).
Zamierzamy także przyjrzeć się kilku wbudowanym narzędziom VBA, znacznie ułatwia-
jącym wykonywanie zadań. Zakończymy nasze rozważania, przyglądając się różnym
typom struktur programistycznych i ich stosowaniu w środowisku VBA.
Podstawy programowania
Jak już powiedzieliśmy w rozdziale 5, kod VBA jest zapisywany i przechowywany
w modułach. Zapewne pamiętasz, że istnieją dwa podstawowe typy modułów: powiązane
z raportami i formularzami oraz ogólne, przechowujące procedury używane w całym
projekcie.
Istnieje jeszcze jeden typ zwany modułem klasy, który zawiera kod powiązany z obiek-
tem. O modułach będziemy jeszcze mówić w pozostałej części książki.
Zanim zaczniesz pisać kod VBA, musisz stworzyć moduł. Ponieważ moduły dla for-
mularzy i raportów są tworzone wraz z formularzami i raportami, tutaj skupimy się na
tworzeniu modułu standardowego.
86 Część II f& Poznanie środowiska VBA
Tworzenie modułów standardowych
Istnieje kilka różnych sposobów tworzenia modułów standardowych. Najłatwiej przejść
do kategorii Moduły w oknie dialogowym Baza danych, jak to zostało pokazane na
rysunku 6.1. Wystarczy wówczas jedynie kliknąć przycisk Nowy, aby zostać przenie-
sionym do edytora VBA, a w nim do wnętrza stworzonego modułu, co zostało pokazane
na rysunki 6.2.
Rys nek 6.1.
Okno Baza danych
po wybraniu
kategorii Moduły
Rys nek 6.2. Edytor VBA z otwartym modułem Module1
Wyszukiwarka
Podobne podstrony:
Access Programowanie w VBA?pvbaaccess programowanie w vbaMS Access 2000 PL Zaawansowane techniki programowaniaBaza danych w programie Access05 Praktyczne wskazówki do programu Access04 Szybkie porady do programu AccessMS Access 97 PL Zaawansowane techniki programowania09 Efektywne przeszukiwanie danych w programie AccessSkładniki programu Microsoft Accesszestawy cwiczen przygotowane na podstawie programu Mistrz Klawia 6ImageIcon AccessibleImageIconMiędzynarodowy Program Badań nad Zachowaniami SamobójczymiCSharp Introduction to C# Programming for the Microsoft NET Platform (Prerelease)Instrukcja Programowania Zelio Logic 2 wersja polskaProgram wykładu Fizyka II 14 15więcej podobnych podstron