You are on page 1of 41

IDZ DO

PRZYKADOWY ROZDZIA
SPIS TRECI

KATALOG KSIEK
KATALOG ONLINE
ZAMW DRUKOWANY KATALOG

TWJ KOSZYK
DODAJ DO KOSZYKA

CENNIK I INFORMACJE
ZAMW INFORMACJE
O NOWOCIACH
ZAMW CENNIK

CZYTELNIA
FRAGMENTY KSIEK ONLINE

Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl

Access 2002. Projektowanie


baz danych. Ksiga eksperta
Autorzy: Stephen Forte, Thomas Howe, Kurt Wall,
Paul Kimmel, Russ Mullen
Tumaczenie: Pawe Gonera
ISBN: 83-7197-669-0
Tytu oryginau: Access 2002 Development Unleashed
Format: B5, stron: 666
Zawiera CD-ROM
Ksika ta jest napisana przez programistw Accessa oraz dla programistw Accessa.
Obecnie wiele ksiek pisanych jest przez zawodowych instruktorw i pisarzy. Autorzy
tej ksiki zajmuj si tym samym co Ty tworz w Accessie aplikacje dla swoich
uytkownikw. W ksice tej dzielimy si naszym dowiadczeniem. Skupiamy si na
tych waciwociach Accessa, ktrych najprawdopodobniej bdziesz uywa -- nie
opisujemy w nieskoczono kadego przycisku i kadej zakadki okna dialogowego.
Niezalenie od tego, czy piszesz zawodowo aplikacje w Accessie, zmieniasz narzdzie
z Visual Basica lub innego jzyka programowania, mylisz o zastosowaniu Accessa
jako interfejsu uytkownika dla serwera bazy danych SQL Server, Oracle, Informix lub
Sybase, bd te jeste po prostu niedowiadczonym uytkownikiem Accessa,
chccym pozna jego szczegy techniczne jest to ksika dla Ciebie.
Jest to jedyna ksika o Accessie, ktra tak dokadnie opisuje prac z baz Oracle.
Za pierwszym razem, gdy musiaem stworzy aplikacj Accessa korzystajc z Oracle,
byem bardzo zawiedzony brakiem literatury na ten temat. Dowiadczenie Jamesa
Ralstona w czeniu Accessa z baz Oracle zostao wykorzystane w jednym
z rozdziaw. Ponadto znajdziesz tu dwa pene rozdziay na temat wspdziaania
Accessa z SQL Serverem oraz wiele fragmentw innych rozdziaw, opisujcych ten
sam problem.
Najlepiej opisuje wykorzystanie Accessa w Internecie. Rozwj popularnoci Internetu
wpyn nie tylko na wiele gwnych firm przemysu komputerowego w tym
Microsoftu -- ale dziki niemu niespodziewanie zmieni si take sposb tworzenia
oprogramowania. Wiele ksiek o Accessie nadal traktuje Internet jako problem do
przemylenia; ta ksika opisuje Sie obok innych rodowisk programowania. Istotnie,
Internet jest kolejn platform programowania, a Access jest baz danych, pozwalajc
na tworzenie aplikacji ukierunkowanych na dane. Opisalimy rwnie sposoby
stworzenia od podstaw serwera WWW na komputerze z Windows 2000/NT
i korzystanie z Windows 95 z zainstalowanym Personal Web Server. Zagadnienia
opisane w tej ksice obejmuj wiele problemw zwizanych z zastosowaniami
Accessa w Internecie: poczwszy od XML, ASP, DAP i komponentw sieciowych Office,
na najnowszych trendach w programowaniu skoczywszy.

5RKUVTGEK


 



  
    
Zmiany interfejsu uytkownika .............................................................................................................30
Zmiany w VBE......................................................................................................................................30
Zgodno z bazami danych Accessa 2000 ............................................................................................31
Rejestrowanie bdw konwersji bazy danych......................................................................................32
Strony dostpu do danych w trybie offline............................................................................................32
Ulepszona integracja z SQL Server 2000..............................................................................................33
Rozszerzona obsuga waciwoci ..................................................................................................33
Modyfikacja wsadowa.....................................................................................................................34
Ochrona projektw Accessa za pomoc hasa ................................................................................34
Inne wasnoci Accessa 2002 ................................................................................................................34
Widoki danych: Wykres przestawny i Tabela przestawna..............................................................34
Obsuga XML..................................................................................................................................34
Kreator tabel poczonych...............................................................................................................35
Tryb kwerend ANSI-92 bez ADO ..................................................................................................35

   ! "


Okrelenie wymaga .............................................................................................................................38
Dlaczego faza okrelenia wymaga jest tak wana?.......................................................................38
Odnalezienie rzeczywistego problemu............................................................................................39
ledztwo ..........................................................................................................................................39
Diagramy procesu ...........................................................................................................................42
Identyfikacja zakresu projektu ........................................................................................................43
Spisywanie wymaga ......................................................................................................................43
Architektura ...........................................................................................................................................44
Planowanie rozwoju ..............................................................................................................................44
Strategia dostarczania......................................................................................................................44
Standardy.........................................................................................................................................45
Konstrukcja............................................................................................................................................47
Dziel i rzd: dziaania w fazie Konstrukcja...................................................................................47
Edycje i kompilacje .........................................................................................................................49
Szczegowy projekt .......................................................................................................................51

 
   
Kontrola projektu ............................................................................................................................51
Tworzenie aplikacji .........................................................................................................................53
Kontrola aplikacji ............................................................................................................................53
Testowanie ......................................................................................................................................53
Odnajdywanie usterek .....................................................................................................................55
Kontrola wersji ................................................................................................................................58

 !#$%%
&  ! '
Teoria projektowania relacyjnego .........................................................................................................61
Korzyci z uywania modelu relacyjnego.......................................................................................63
Tabele i niepowtarzalno ...............................................................................................................63
Klucze obce i domeny .....................................................................................................................64
Relacje .............................................................................................................................................65
Normalizacja danych.......................................................................................................................67
Zasady integralnoci danych ...........................................................................................................69

( )#% "


Kwerendy w Accesie 2002 ....................................................................................................................71
Waciwoci kwerend ............................................................................................................................73
Okno projektowania kwerendy .......................................................................................................73
Panel tabel .......................................................................................................................................76
Siatka kwerendy ..............................................................................................................................82
Tworzenie zaawansowanych kwerend ..................................................................................................84
Kwerendy podsumowujce....................................................................................................................84
Zliczanie wierszy za pomoc funkcji Policz ...................................................................................85
Obliczanie rednich za pomoc funkcji rednia .............................................................................86
Funkcje agregujce Minimum i Maksimum ...................................................................................86
Funkcje Pierwszy i Ostatni..............................................................................................................87
Kontrola poprawnoci danych przy pomocy funkcji Odchylenie standardowe i Wariancja ..........87
Tworzenie wasnych funkcji agregujcych przy pomocy funkcji Wyraenie ................................88
Warunek Gdzie................................................................................................................................88
Uycie kwerend krzyowych.................................................................................................................91
Uycie kwerend parametrycznych.........................................................................................................94
Tworzenie parametrw dla kwerendy w siatce QBE ......................................................................94
Tworzenie parametrw w kwerendach korzystajcych z programu ...............................................96
Wykonywanie kwerendy poprzez zbir parametrw......................................................................97
Kwerendy przekazujce.........................................................................................................................98
Kwerendy definiujce dane ...................................................................................................................99
Tworzenie nowej tabeli ...................................................................................................................99
Okrelanie waciwoci pl ...........................................................................................................100
Modyfikowanie tabeli ...................................................................................................................101
Tworzenie indeksw .....................................................................................................................102
Usuwanie tabeli .............................................................................................................................102

* +( , #$%


- . 
Historia Microsoft Jet ..........................................................................................................................103
Jet 1.0 ............................................................................................................................................103
Jet 1.1 ............................................................................................................................................104
Jet 2.0 ............................................................................................................................................104
Jet 2.5 ............................................................................................................................................104

 

Jet 3.0 ............................................................................................................................................104


Jet 3.5 ............................................................................................................................................104
Jet 3.51 ..........................................................................................................................................105
Jet 4.0 ............................................................................................................................................105
Przysze wersje Microsoft Jet........................................................................................................105
Praktyczne zastosowanie nowych opcji silnika Jet 4.0 .......................................................................106
Wbudowany dostawca baz danych OLE.......................................................................................106
Blokowanie na poziomie rekordu .................................................................................................106
Pena obsuga Unicode ..................................................................................................................106
Typy danych Jet ............................................................................................................................109
Ulepszenia opcji Autonumerowanie .............................................................................................111
Przeszukiwalne pola Memo ..........................................................................................................111
Kontrola pocze i zamknicie bierne .........................................................................................111
Nowa skadnia SQL ......................................................................................................................112




' $#/%
 01 
Historia dostpu do danych .................................................................................................................119
Firmowe interfejsy API .................................................................................................................119
Open Database Connectivity (ODBC) ..........................................................................................120
Microsoft Jet/Obiekty Data Access (DAO) ..................................................................................120
Zdalne obiekty danych (RDO) i ODBCDirect ..............................................................................120
Inicjatywa Universal Data Access.......................................................................................................120
Obiekty ActiveX Data (ADO).............................................................................................................121
ADO 1.0 ........................................................................................................................................121
ADO 1.5 ........................................................................................................................................122
ADO 2.0 ........................................................................................................................................122
ADO 2.1 ........................................................................................................................................122
ADO 2.5 ........................................................................................................................................123
ADO 2.6 Stan obecny...............................................................................................................123
Model obiektowy ADO .......................................................................................................................124
Obiekt Connection.........................................................................................................................125
Wykonywanie wyrae SQL w obiekcie Connection...................................................................127
Obiekty ADO: Recordset ..............................................................................................................128
Uycie Recordset z obiektami Command i Parameter..................................................................130
Wykorzystywanie obiektu Record ................................................................................................133
Wykonywanie kwerendy funkcjonalnej poprzez obiekt Command..............................................134
Obiekty Field i Property ................................................................................................................135
Wykorzystanie obiektu Stream .....................................................................................................136
Zarzdzanie bdami za pomoc obiektu Error.............................................................................136
Przejcie z obiektw DAO do ADO....................................................................................................137
Konwersja z poprzednich wersji Accessa .....................................................................................138
Czy warto przej na obiekty ADO?.............................................................................................138
Porwnanie modelu obiektowego ADO i DAO ..................................................................................140

" )2 (
Uycie dostawcy OLE DB dla Jet w Accessie 2002 ...........................................................................143
CurrentProject.Connection ............................................................................................................146
Wykorzystanie Microsoft Data Links do podczenia si do bazy danych...................................146

 
   
Uzyskanie poprzez ADO dostpu do danych w bazach nierelacyjnych .............................................151
Lista uytkownikw Jet.................................................................................................................151
Tworzone zestawy rekordw ........................................................................................................152
Ksztatowanie danych ...................................................................................................................153
Zaawansowana obrbka danych przy uyciu ADO ............................................................................155
Modyfikowanie danych w zestawie rekordw..............................................................................156
Trwae zestawy rekordw .............................................................................................................157
Definiowanie danych przy uyciu ADOX...........................................................................................159
Obiekt Catalog...............................................................................................................................160
Tworzenie bazy danych.................................................................................................................160
Tworzenie tabel i pl.....................................................................................................................161
Tworzenie relacji w ADOX ..........................................................................................................164
Tworzenie kwerend w ADOX.......................................................................................................165

   !
 "#
3 !#.&  "
Waciwoci formularza ......................................................................................................................172
Zakadka Dane...............................................................................................................................172
Zakadka Format ...........................................................................................................................173
Zakadka Inne ................................................................................................................................175
Uyteczne waciwoci nie znajdujce si na arkuszu waciwoci .............................................177
Zdarzenia .......................................................................................................................................178
Formanty formularza w Accessie ........................................................................................................179
Formant Lista rozwijana................................................................................................................180
Pole listy ........................................................................................................................................183
Pole listy wielokrotnego wyboru...................................................................................................183
Podformularze ...............................................................................................................................184
Wbudowany formant Karta ...........................................................................................................185
Grupa opcji ....................................................................................................................................185
Podrczne menu ............................................................................................................................185
Hipercza......................................................................................................................................186
Tworzenie widokw tabeli przestawnej i wykresu przestawnego.......................................................186
Tworzenie widoku tabeli przestawnej...........................................................................................187
Konwersja pomidzy wykresem przestawnym i tabel przestawn .............................................191

 $.& %%4% .&/ 01 


Jak korzysta z formantw ActiveX....................................................................................................193
Typy formantw ActiveX .............................................................................................................194
Gdzie znale formanty ActiveX? ................................................................................................194
Czy formanty ActiveX s bezpieczne? .........................................................................................195
Czy mog korzysta z formantw ActiveX i rozpowszechnia je w moich aplikacjach? ............195
Uycie formantw ActiveX.................................................................................................................195
Instalowanie formantu ActiveX ....................................................................................................196
Rejestrowanie formantw ActiveX ...............................................................................................196
Dodawanie formantu ActiveX do formularza ...............................................................................197
Ustawianie waciwoci formantu ActiveX ..................................................................................198
Pisanie kodu umoliwiajcego wykonywanie metod i reagowanie na zdarzenia .........................198

 

21 formantw ActiveX ........................................................................................................................198


Formant Animation .......................................................................................................................200
Formant Calendar ..........................................................................................................................200
Formant Common Dialog..............................................................................................................201
Formant DateTimePicker ..............................................................................................................202
Formant FlatScrollBar...................................................................................................................203
Formant ImageCombo...................................................................................................................203
Formant ImageList ........................................................................................................................205
Formant ListView .........................................................................................................................206
Formant MAPISession ..................................................................................................................208
Formant MAPIMessages...............................................................................................................208
Formant MonthView .....................................................................................................................209
Formant ProgressBar.....................................................................................................................209
Formant RichText .........................................................................................................................211
Formant Slider...............................................................................................................................212
Formant StatusBar.........................................................................................................................213
Formant SysInfo ............................................................................................................................214
Formant TabStrip ..........................................................................................................................214
Formant Toolbar............................................................................................................................215
Formant TreeView ........................................................................................................................216
Formant UpDown..........................................................................................................................217
Formant WebBrowser ...................................................................................................................218
Dystrybucja formantw ActiveX.........................................................................................................220

  5/
Czym s raporty? .................................................................................................................................221
Struktura raportw w Accessie............................................................................................................222
Tworzenie prostych raportw przy uyciu kreatora ............................................................................222
Dostosowywanie raportw ..................................................................................................................225
Zmiana rda rekordw w raporcie .............................................................................................226
Zmiana struktury grupowania w raporcie .....................................................................................227
Umieszczenie grupowania w raporcie...........................................................................................228
Uycie funkcji w raporcie .............................................................................................................228
Praca z podraportami ...........................................................................................................................234
Tworzenie prostego podraportu ....................................................................................................234
Tworzenie prostych etykiet adresowych .............................................................................................236
Publikowanie raportu...........................................................................................................................238
Metody publikowania raportw ....................................................................................................239
Modyfikowanie raportu podczas jego dziaania ..................................................................................241
Filtrowanie i sortowanie................................................................................................................241
Zdarzenia raportu (podczas jego dziaania)...................................................................................242
Waciwoci sekcji zwizane z procesem projektowania .............................................................245
Waciwoci sekcji (podczas dziaania raportu)............................................................................246
Programowe tworzenie raportw.........................................................................................................248
Tworzenie rda rekordw ..........................................................................................................249
Tworzenie obiektu Report .............................................................................................................250
Tworzenie sekcji ...........................................................................................................................252

"

 
   
Wskazwki ..........................................................................................................................................252
Tworzenie grupowania dwutygodniowego ...................................................................................252
Ukryj powtarzajce si dane .........................................................................................................253
Alfabetyczne grupowanie danych .................................................................................................253
Tworzenie numerowanych list ......................................................................................................253
Tworzenie pustych linii co n znakw............................................................................................254
Zerowanie numeru strony dla nowych grup..................................................................................254
Rysowanie pionowych linii ...........................................................................................................255
Przesuwanie numerw stron parzystych i nieparzystych ..............................................................255
Identyfikacja uytkownika drukujcego raport.............................................................................255
Wyrwnanie stron do oprawy .......................................................................................................256
Obliczanie podsumowa strony ....................................................................................................256
Precyzyjne przesuwanie formantw..............................................................................................257

$%  $&' (#


 5$#/%4% &/#  '
Korzyci z uywania obiektw............................................................................................................262
Ukrywanie zoonoci ...................................................................................................................262
Uycie technologii Microsoft IntelliSense ....................................................................................263
Organizowanie kodu .....................................................................................................................263
Dopuszczenie przegldania obiektw w Object Browser .............................................................264
Tworzenie wielu egzemplarzy obiektw.......................................................................................264
Tworzenie kodu atwego do aktualizacji i utrzymania..................................................................264
Ograniczenie dostpu do kodu ......................................................................................................264
Tworzenie przenonego kodu........................................................................................................264
Przegld obiektw, waciwoci i metod.............................................................................................264
Tworzenie klas.....................................................................................................................................265
Wstawianie moduu klasowego.....................................................................................................265
Tworzenie waciwoci........................................................................................................................266
Uycie zmiennych publicznych ....................................................................................................266
Uycie procedur waciwoci........................................................................................................266
Zmienna publiczna czy procedury waciwoci............................................................................269
Tworzenie wyliczeniowych typw danych ...................................................................................269
Tworzenie metod .................................................................................................................................271
Uycie metod.................................................................................................................................271
Tworzenie zdarze...............................................................................................................................271
Uycie zdarze ..............................................................................................................................272
Uruchamianie zdarze Przy inicjacji i Przy zakoczeniu ......................................................272
Uycie obiektw ..................................................................................................................................273
Tworzenie zmiennej obiektu .........................................................................................................274
Przypisywanie zmiennej obiektu do obiektu.................................................................................274
Uycie obiektu...............................................................................................................................274
Zwalnianie obiektu ........................................................................................................................275
Tworzenie wielu egzemplarzy obiektw .............................................................................................275
Przegld innych obiektw ...................................................................................................................276
Obiekt TextFile .............................................................................................................................276
Klasa MyTimer .............................................................................................................................277

 

""

Obiekt Sound.................................................................................................................................278
Obiekt Letter .................................................................................................................................279
Obiekt Outlook ..............................................................................................................................280
Implementacja obiektu obsugi bdw ...............................................................................................281
Uycie obiektw w poczeniu z kolekcjami VBA.............................................................................282
Tworzenie kolekcji VBA ..............................................................................................................283
Waciwoci i metody kolekcji VBA ............................................................................................283

 6$/ # !


  3"
Usuwanie bdw logicznych ..............................................................................................................287
Praca z Visual Basic Integrated Development Environment (IDE) ....................................................288
Project Explorer.............................................................................................................................288
Okno Code.....................................................................................................................................289
Okno Properties.............................................................................................................................289
Okno Immediate ............................................................................................................................290
Okno Locals ..................................................................................................................................290
Okno Watch...................................................................................................................................291
Object Browser..............................................................................................................................291
Okno Call Stack ............................................................................................................................291
Obiekt Debug.......................................................................................................................................292
Debug.Print ...................................................................................................................................292
Debug.Assert .................................................................................................................................293
Uycie okna Immediate .......................................................................................................................293
Podgldanie zmiennych.................................................................................................................293
Zmiana wartoci zmiennych..........................................................................................................293
Wywietlanie wartoci funkcji wbudowanych..............................................................................293
Uruchamianie funkcji wasnych....................................................................................................293
Uruchamianie wasnych procedur .................................................................................................293
Wskazwki pomocne w korzystaniu z okna Immediate ...............................................................294
Uycie programu uruchomieniowego .................................................................................................294
Ustawianie punktw zatrzymania .................................................................................................295
Przechodzenie przez kod ...............................................................................................................295
Uycie podczas usuwania bdw technologii Microsoft IntelliSense .........................................297
Uycie okna Locals .......................................................................................................................298
Uycie okna Watch .......................................................................................................................298
Uycie okna Call Stack .................................................................................................................299
Uycie kompilacji warunkowej ...........................................................................................................299
Pisanie solidnego kodu..................................................................................................................300
Testowanie aplikacji ............................................................................................................................304
wiczenie technik usuwania bdw...................................................................................................304

  .! $$/ *


Usuwanie bdw skadni....................................................................................................................306
Usuwanie bdw logicznych ..............................................................................................................308
Usuwanie bdw wykrytych w trakcie uytkowania .........................................................................308
Proste narzdzie do obsugi bdw ..............................................................................................308
Obiekt Err ......................................................................................................................................311
Reagowanie na bdy ....................................................................................................................313

"

 
   
Instrukcje Resume .........................................................................................................................314
Uzyskiwanie dodatkowych informacji o bdzie ..........................................................................314
Zaawansowane narzdzie do obsugi bdw ...............................................................................316
Modu klasowy Error (Obiekt) ......................................................................................................316
Bdy w rnych aplikacjach...............................................................................................................327
Obsuga bdw w procedurach zagniedonych................................................................................327
Zaawansowane zagadnienia zwizane z bdami ................................................................................328
Procedury zdarze zwizane z bdami.........................................................................................328
On Error GoTo 0 ...........................................................................................................................328
On Error Resume Next ..................................................................................................................329
Metoda AccessError ......................................................................................................................329
Inne funkcje zwizane z bdami ..................................................................................................329
Ustawienie opcji wyapujcych bdy...........................................................................................329

 ( %&  ! # ! 


Ulepszanie podstaw: optymalizacja sprztu i systemu Windows .......................................................332
Instalowanie aplikacji w celu uzyskania optymalnej wydajnoci .......................................................334
Optymalizacja silnika bazy danych Jet................................................................................................335
Bezpieczne modyfikowanie ustawie silnika Jet ..........................................................................339
Narzdzia suce do pomiaru wydajnoci..........................................................................................340
Spojrzenie za kulisy.............................................................................................................................341
Optymalizacja bazy danych od podstaw .............................................................................................343
Projektowanie tabel w celu osignicia poprawy wydajnoci ......................................................343
Normalizacja danych w celu osignicia poprawy wydajnoci ....................................................344
Tworzenie indeksw w celu przyspieszenia pracy kwerend.........................................................344
Wczeniejsze tworzenie relacji jako sposb na popraw wydajnoci...........................................345
Poprawa wydajnoci kwerend .............................................................................................................345
Wybr typu zestawu wynikw zapewniajcego optymaln wydajno .......................................347
Przyspieszenie funkcjonowania formularzy ........................................................................................353
Zacznijmy od pocztku .................................................................................................................353
Szybsze pobieranie rysunkw .......................................................................................................354
Podstawowy, szybki formularz .....................................................................................................354
Szybsze drukowanie raportw ......................................................................................................357
Pisanie szybkiego kodu .......................................................................................................................358
Uycie pamici przez kod .............................................................................................................359
Praca z moduami ..........................................................................................................................359
Kompilowanie i dekompilowanie kodu ........................................................................................360
Porady na temat kodowania.................................................................................................................360
Uycie Option Explicit..................................................................................................................360
Precyzyjne wybieranie rozmiaru zmiennych ................................................................................361
Oszczdzanie przestrzeni stosu przy uyciu zmiennych typu string.............................................361
Dokadne okrelanie typu obiektw ..............................................................................................361
Umieszczenie kodu we wntrzu procedury zamiast odwoywania si do innych funkcji ............362
Zmiana True i False.......................................................................................................................362
Uycie Len() zamiast pustego cigu .............................................................................................362
Uycie True i False zamiast zera...................................................................................................362
Szybkie odwoania do obiektw ...................................................................................................363
Uycie szybkich tablic ..................................................................................................................363

 

"#

Uywaj staych, gdy tylko jest to moliwe ...................................................................................364


Waciwe uycie zakadek (Bookmarks) ......................................................................................364
Zamykaj i niszcz............................................................................................................................365
Uywaj SQL zamiast DAO ...........................................................................................................365
Indeksowanie kolekcji...................................................................................................................365
Tworzenie szybszych ptli ............................................................................................................366
Usu z kodu IIF() ..........................................................................................................................366
Porzdkowanie Select Case...........................................................................................................366
Uywaj Execute zamiast RunSQL ................................................................................................367
Uywaj QueryTimer......................................................................................................................367
Testuj wydajno transakcji ..........................................................................................................367
Kontroluj odwieanie...................................................................................................................367
Uywaj wczesnego wizania i zwracaj uwag na odniesienia ActiveX .......................................367
Przejcie do architektury klient-serwer .........................................................................................367
Chleba i igrzysk.............................................................................................................................368

$'     ) *  +"#


 * !#/&
- .  %
"
Wprowadzenie do projektw programu Microsoft Access .................................................................371
Wady i zalety ADP........................................................................................................................372
Uycie ADP.........................................................................................................................................372
Tworzenie ADP.............................................................................................................................373
Nowe okno bazy danych ...............................................................................................................375
Praca z ADP i istniejcymi bazami danych serwera SQL...................................................................375
Praca z tabelami ............................................................................................................................375
Kwerendy w serwerze SQL...........................................................................................................377
Procedury przechowywane ...........................................................................................................378
Diagramy bazy danych..................................................................................................................379
Formularze, strony, raporty i moduy............................................................................................379
Zarzdzanie serwerem SQL poprzez ADP....................................................................................380
Powtrne przyczenie do bazy serwera SQL...............................................................................382
Tworzenie projektu opartego na nowej bazie danych .........................................................................383
Tworzenie tabel .............................................................................................................................383
Tworzenie relacji na diagramie bazy danych ................................................................................385
Tworzenie widokw ......................................................................................................................386
Tworzenie procedur przechowywanych........................................................................................387
Tworzenie aplikacji w Accessie ....................................................................................................388

 ' 5.!4%##


 - .78970 3
Architektura klient-serwer: OLE DB kontra ODBC ...........................................................................389
Tworzenie poczenia z serwerem SQL ..............................................................................................390
Tworzenie rda danych ODBC (DSN) ......................................................................................390
czenie tabel................................................................................................................................391

"$

 
   
Procedury przechowywane i kwerendy przekazujce .........................................................................393
Tworzenie raportw opartych na procedurach przechowywanych
poprzez zapytania przekazujce ....................................................................................................394
Raportowanie z serwera SQL w Accessie...........................................................................................396
Zaawansowane moliwoci: przekazywanie parametrw do procedury przechowywanej
w czasie dziaania programu .........................................................................................................397
Dodatkowe filtrowanie danych raportu.........................................................................................398
Formularze w aplikacji ........................................................................................................................400
Formularze zwizane.....................................................................................................................400
Formularze niezwizane................................................................................................................400
Zaawansowane waciwoci: dostawca OLE DB dla serwera SQL....................................................402
Nastpny zestaw wynikw ............................................................................................................402
Wykonywanie polece z parametrami ................................................................................................403
Duga droga ...................................................................................................................................404
Uycie metody CreateParameter ...................................................................................................405
Uycie Refresh ..............................................................................................................................406
Obsuga zwracanych wartoci .......................................................................................................407
Wykonanie procedury bez obiektu Command ..............................................................................409
Uycie klasy Connection .....................................................................................................................409
Uycie klasy Connection w aplikacji ............................................................................................410

 " :.!    ; (


Dostp do danych Oraclea przez Accessa..........................................................................................412
Tabele poczone...........................................................................................................................412
Kwerendy przekazujce (SPT)......................................................................................................414
Uycie znakw specjalnych ..........................................................................................................417
Funkcje w Oracleu i Accessie ............................................................................................................419
Cigi ..............................................................................................................................................419
Obliczenia w Oracleu...................................................................................................................425
Obliczenia na datach .....................................................................................................................427
Poznajemy widoki i procedury przechowywane .................................................................................430
Tworzenie widokw ......................................................................................................................431
Poczenie z Oracleem poprzez ADO..........................................................................................432
Tworzenie procedur przechowywanych........................................................................................435
Uruchamianie procedury ...............................................................................................................436
Tworzenie niezwizanego interfejsu do Oraclea ...............................................................................437
Tworzenie niezwizanego interfejsu .............................................................................................438

$,-.
 
 //
 3 64% &% ! 01 ((
Czym jest automatyzacja ActiveX ......................................................................................................450
Dlaczego uywamy automatyzacji ......................................................................................................450
Rnice midzy serwerem automatyzacji a klientem automatyzacji ..................................................450
Okrelanie zasobw wymaganych przez automatyzacj.....................................................................450
Wielka trjka....................................................................................................................................451
Tworzenie i ustanowienie odwoania do innej aplikacji .....................................................................451
Ustanawianie odwoania do innej aplikacji...................................................................................451
Przegld obiektw, waciwoci i metod ......................................................................................452

 

"%

Poznajemy struktur obiektw ......................................................................................................452


Uycie narzdzia Object Browser .................................................................................................453
Tworzenie zmiennej obiektowej ...................................................................................................454
Odwoanie do pracujcej aplikacji ................................................................................................455
Przypisywanie zmiennej obiektowej do aplikacji ...............................................................................455
Tworzenie egzemplarza aplikacji ........................................................................................................456
Jednoczesne uycie funkcji GetObject i New ...............................................................................456
Uycie wczesnego i pnego czenia typw ...............................................................................457
Uycie funkcji CreateObject .........................................................................................................457
Uycie metod i waciwoci obiektw automatyzacji .........................................................................458
Ustawianie waciwoci obiektu ...................................................................................................459
Wykonywanie metod obiektw.....................................................................................................459
Zwalnianie obiektw automatyzacji....................................................................................................459
czymy wszystko razem....................................................................................................................459
Zamykanie aplikacji serwera automatyzacji........................................................................................460
Uycie waciwoci UserControl do sprawdzenia, w jaki sposb zostaa otwarta aplikacja ..............461
Uycie WithEvents w celu udostpnienia zdarze serwera automatyzacji .........................................461
Uruchamiamy WithEvents ............................................................................................................463
Techniki i wskazwki do automatyzacji .............................................................................................464
Ustanowienie odwoania, uycie wczesnego wizania typw i sowa kluczowego New.............464
Uycie istniejcego egzemplarza aplikacji, jeeli jest ona uruchomiona .....................................464
Wycz odwieanie ekranu ..........................................................................................................465
Informacja o przetwarzaniu...........................................................................................................465
Wykonywanie programu przez serwer automatyzacji ..................................................................466
Uycie konstrukcji With/End With ...............................................................................................466
Zwalnianie zmiennych obiektowych.............................................................................................466
Nie wywietlaj okien dialogowych i komunikatw ......................................................................467
Uywaj obsugi bdw .................................................................................................................467

  : !- ...  ('


Powody integracji z Microsoft Office .................................................................................................470
Uycie Worda................................................................................................................................471
Uycie Excela................................................................................................................................471
Uycie PowerPointa ......................................................................................................................471
Uycie Outlooka............................................................................................................................471
Uycie Grapha...............................................................................................................................471
Wybr waciwego narzdzia ..............................................................................................................472
Uycie rejestratora makr do pisania kodu ...........................................................................................472
Uycie makr automatycznych .............................................................................................................474
Microsoft Forms ..................................................................................................................................474
Object Browser ....................................................................................................................................475
Nazwy klas aplikacji Office ................................................................................................................475
Przykad automatyzacji........................................................................................................................476
Automatyzacja Worda .........................................................................................................................477
Model obiektw Worda.................................................................................................................478
Uycie szablonw Worda..............................................................................................................479
Wstawianie danych do dokumentu Worda....................................................................................480
Przykady kodu automatyzacji Worda ..........................................................................................483
Pola................................................................................................................................................488

"

 
   
Informacje o dokumencie..............................................................................................................489
Inne moliwoci Worda ................................................................................................................490
Automatyzacja Excela .........................................................................................................................490
Model obiektw Excela.................................................................................................................491
Przykady automatyzacji Excela ...................................................................................................491
Automatyzacja PowerPointa................................................................................................................494
Model obiektw PowerPointa .......................................................................................................494
Przykady automatyzacji PowerPointa..........................................................................................494
Automatyzacja Outlooka .....................................................................................................................497
Model obiektw Outlooka.............................................................................................................497
Dodawanie i wywietlanie folderw .............................................................................................498
Dodawanie nowego zadania i wywietlenie zada .......................................................................498
Tworzenie wiadomoci e-mail z zacznikiem .............................................................................498
Tworzenie elementw Outlooka ...................................................................................................499
Wywietlanie domylnych folderw .............................................................................................500
Wywietlenie foldera publicznego ................................................................................................500
Szukanie elementu w Outlooku.....................................................................................................500
Filtrowanie elementw w Outlooku ..............................................................................................500
Automatyzacja Graph ..........................................................................................................................501
Model obiektw Graph..................................................................................................................501
Tworzenie wykresu .......................................................................................................................501

  64% < =  & *


Tworzenie komponentw ActiveX......................................................................................................503
Czym s komponenty ActiveX .....................................................................................................504
Rnice midzy ActiveX EXE i ActiveX DLL ............................................................................504
Tworzenie komponentu ActiveX ..................................................................................................505
Kompilowanie biblioteki DLL ......................................................................................................508
Uycie komponentu ActiveX cSound ...........................................................................................509
Dystrybucja komponentw ActiveX .............................................................................................510
Komponent obsugi bdw ..........................................................................................................519
Dane moduu obsugi bdw........................................................................................................519
Komponent cError.........................................................................................................................520
Tworzenie formantw ActiveX ...........................................................................................................520
Rodzaje formantw ActiveX.........................................................................................................520
Atrybuty formantw ActiveX .......................................................................................................521
Tworzenie programowych formantw ActiveX ...........................................................................521
Tworzenie formantw ActiveX interfejsu uytkownika ...............................................................534

$01  )

 (/
 ) > #/>
$ # *(
Zagadnienia wielodostpu ...................................................................................................................543
Przegld wielouytkownikowej architektury Jet .................................................................................544
Omwienie blokad Jet .........................................................................................................................545
Tryby bazy danych ........................................................................................................................545
Schemat blokowania .....................................................................................................................547
Szczegowo blokad ..................................................................................................................548

 

"

Wybr waciwej architektury.............................................................................................................548


Operacje na blokadach.........................................................................................................................549
Okrelanie stanu blokad ................................................................................................................549
Obsuga bdw blokowania .........................................................................................................551
Transakcje .....................................................................................................................................553
Optymalizacja aplikacji wielodostpnych ...........................................................................................555
Indeksowanie tabel ........................................................................................................................555
Partycjonowanie aplikacji .............................................................................................................555
Blokady Oracle/SQL Server................................................................................................................555

 = ? **"


Elementy bezpieczestwa....................................................................................................................558
Zabezpieczenie bazy danych hasem.............................................................................................558
System bezpieczestwa grupy roboczej ........................................................................................558
Tworzenie grupy roboczej ...................................................................................................................559
Uytkownicy i grupy ...........................................................................................................................562
Omwienie domylnych ustawie uytkownikw i grup .............................................................562
Tworzenie uytkownikw .............................................................................................................563
Ustawianie i zmiana hasa uytkownika .......................................................................................563
Tworzenie grup .............................................................................................................................564
Przypisywanie uytkownikw do grup .........................................................................................565
Rozrnianie midzy domylnymi i specjalnymi grupami i uytkownikami ...............................565
Poznajemy uprawnienia ................................................................................................................566
Tworzenie systemu bezpieczestwa przy uyciu opcji startowych.....................................................568
Zagadnienia bezpieczestwa przy uyciu replikacji ...........................................................................569
Ochrona podzielonych baz danych......................................................................................................570
Opcja With OwnerAccess .............................................................................................................571
Bezpieczestwo systemu klient-serwer ...............................................................................................572
Zarzdzanie uytkownikami .........................................................................................................572
Wyliczanie grup i uytkownikw oraz wywietlanie przynalenoci...........................................574
Identyfikacja biecych uytkownikw za pomoc ADOX .........................................................575
Wyszukiwanie uytkownikw z pustym hasem ..........................................................................576
Ustawianie i usuwanie hasa .........................................................................................................577
Zarzdzanie prawami wasnoci obiektw....................................................................................578
Zarzdzanie wieloma aplikacjami .................................................................................................578
Uywanie SQL ..............................................................................................................................579
Zabezpieczanie bazy danych krok po kroku........................................................................................581
Czste bdy bezpieczestwa...............................................................................................................581

$ )
  
2
3' 44(5+
  @. !$ #
  *3*
rodowisko programistyczne a rodowisko produkcyjne ...................................................................585
Wybr platformy .................................................................................................................................586
Personal Web Server i Peer Web Services....................................................................................587
Internet Information Server ...........................................................................................................587
Co to jest Option Pack .........................................................................................................................588

"

 
   
Uruchomienie serwera WWW.............................................................................................................589
Instalacja........................................................................................................................................589
NT Option Pack dla Windows 95/98 ............................................................................................590
Microsoft Transaction Server 2.0..................................................................................................593
Zarzdzanie i konfiguracja serwera WWW.........................................................................................595
Personal Web Manager .................................................................................................................595
Microsoft Management Console ...................................................................................................597
Zabezpieczanie aplikacji WWW .........................................................................................................603
Rnice pomidzy witryn a katalogiem wirtualnym .........................................................................604
Co to jest IUSER ? ........................................................................................................................606
Typ systemu plikw ......................................................................................................................606
Struktura katalogw i wymagane uprawnienia .............................................................................607
ASP/HTML pooenie i uprawnienia.......................................................................................607
Bazy danych pooenie i uprawnienia......................................................................................607

 (     


& A#&/ %
..  '
Czym s komponenty sieciowe Office ................................................................................................611
Co potrafi komponenty sieciowe Office......................................................................................612
Wymagane licencje na uycie komponentw sieciowych ............................................................612
Uycie formantu Office Arkusz ..........................................................................................................613
Rozpoczynamy ..............................................................................................................................613
Uycie formantu w Accessie.........................................................................................................613
Uycie formantu Office Wykres..........................................................................................................616
Rozpoczynamy ..............................................................................................................................616
Uycie formantu w Accessie.........................................................................................................616
Uycie formantu Office Tabela przestawna ........................................................................................619
Rozpoczynamy ..............................................................................................................................619

 * 64% %


'
Czym s strony dostpu do danych? .............................................................................................621
Architektura oraz wymagania stron dostpu do danych ...............................................................622
Tworzenie Twojej pierwszej strony dostpu do danych .....................................................................622
Ogldanie strony dostpu do danych ............................................................................................625
Tworzenie interaktywnych odnonikw..............................................................................................626
czenie komponentw sieciowych Office z DAP.............................................................................627
Dodanie komponentu sieciowego Arkusz Excel...........................................................................628
Dodanie komponentu sieciowego Wykres ....................................................................................629
Skrypty w stronach dostpu do danych ...............................................................................................630
Zmiana rda danych w trakcie dziaania strony .........................................................................631

 ' $ # %4%   


 070 '
Uycie Active Server Pages ................................................................................................................633
Architektura Active Server Pages........................................................................................................634
Active Server Pages kontra CGI ...................................................................................................635
Uruchomienie stron ASP...............................................................................................................636

 

"!

Rozpoczynamy prac z Active Server Pages ......................................................................................636


Konstrukcja kodu ASP ..................................................................................................................639
Ograniczenia eksportu stron ASP .................................................................................................639
Active Server Pages.............................................................................................................................640
Silnik ASP .....................................................................................................................................640
Skrypty wykonywane na serwerze ................................................................................................640
Obiekty aplikacji i sesji .................................................................................................................646
Uycie obiektw da i odpowiedzi............................................................................................647
Plik global.asa ...............................................................................................................................649
Przykady uycia obiektw ASP ...................................................................................................650
Uycie ADO w aplikacjach ASP ..................................................................................................651
Przykad: tworzenie strony WWW dostpnej dla czonkw grupy.....................................................652
Publikacja w sieci z Accessa 2002 przy uyciu XML.........................................................................659
Podstawy XML .............................................................................................................................659
Programowe tworzenie pliku XML...............................................................................................662
Tworzenie wykresw przy uyciu formantu Wykres..........................................................................664

7# ''"



    
9V[OTQ\F\KCNG


Uycie dostawcy OLE DB dla Accessa 2002

Uzyskanie dostpu do danych w bazach nierelacyjnych poprzez ADO

Zaawansowana obrbka danych przy uyciu ADO

Definiowanie danych przy uyciu ADOX

Teraz, kiedy ju umiesz uywa obiektw ADO i porwnae je z DAO, przyjrzyj si


tym cechom ADO, ktre pomog Ci tworzy aplikacje w Accessie 2002.

 

Gdy uywasz ADO w aplikacjach Accessa, najprawdopodobniej bdziesz korzysta
z dostawcy OLE DB dla Jet (uycie dostawcy OLE DB dla SQL Server omwiono
w rozdziale 15.). Dostawca ten pozwala na bezporedni dostp do plikw typu MDB.
Zdolno bezporedniej komunikacji ze rdem danych to wielki krok naprzd dla
ADO. Aby uy dostawcy OLE DB dla Jet, musisz poda jego nazw i pen ciek
dostpu do bazy danych jako cz cigu poczeniowego. Aby zachowa przejrzysto,
umieszczono w ADO waciwo , ktrej odpowiednie ustawienie umoliwi
uycie dostawcy dla Jet. Jego unikatowym 
w cigu poczenia jest Microsoft.
Jet.OLEDB.4.0. Przedstawiony tu przykad pokazuje, jak tworzy poczenie do bazy
Accessa przy uyciu dostawcy OLE DB dla Jet:

   



  


  

 



 !
! " #$!
!%!  $ !&'%

 &

Jeli zachodzi konieczno okrelenia innych informacji dotyczcych poczenia


(np. hasa bazy danych czy pliku grupy roboczej), docz je do cigu poczeniowego,
poprzedzajc rednikiem. W tabeli 7.1 znajdziesz charakterystyczne dla dostawcy wa-



 
 
ciwoci poczenia, ktrych moesz uy w cigu poczeniowym. Inne charakterystyczne dla dostawcy waciwoci, znajdujce si w zbiorze waciwoci poczenia, zostan
zignorowane.

  Waciwoci cigw poczenia charakterystyczne dla dostawcy OLE DB dla Microsoft Jet

 



&!
( '!&!  "

rednia ilo miejsca odzyskiwana podczas kompaktowania


bazy danych


 
'

Kontroluje dostp uytkownika do bazy danych

!
 )
 !
!%! 

Wykorzystuje si j do tworzenia systemowej bazy danych


podczas tworzenia nowego rda danych

!
!%!   * 

Tryb uywany podczas blokowania bazy danych;


wicej informacji na ten temat znajdziesz w rozdziale 21.,
dotyczcym obsugi wielu uytkownikw. Zauwa, e baza
moe by otwarta jednoczenie tylko w jednym trybie.
Uytkownik, ktry jako pierwszy otwiera baz, okrela
jej tryb blokowania

!
!%!  ! 

Haso uywane do otwarcia bazy danych. Od hasa


uytkownika rni si tym, e haso bazy danych dotyczy
pliku, a nie konkretnego uytkownika. Wicej informacji
na ten temat znajdziesz w rozdziale 21.

+
&)  !'  &!

Waciwo wykorzystywana do sterowania kopiowaniem


informacji narodowych podczas kompaktowania bazy

 )&
!
!%! 

Wykorzystuje si j do sterowania szyfrowaniem bazy


w trakcie kompaktowania

  ,)&

Okrelenie silnika, ktry aktualnie jest wykorzystywany


w celu uzyskania dostpu do danych

- '"  ) . '!)

Okrela maksymaln dugo przerwy w czasie zapisu


asynchronicznego

/'" . ,! !
 ,"

Okrela czas oczekiwania, po ktrym dane asynchroniczne


s zapisywane na dysk

0'%!' "'* ,! !




Okrela, czy masowe operacje SQL s wykonywane


w formie transakcji. Waciwo ta wskazuje ustawienie
domylne dla wszystkich operacji w aktualnym poczeniu

0'%!' !
!' "'* &

Waciwo ta okrela zachowanie Jet w przypadku bdu


w masowych operacjach SQL DML. Moe zosta
uniewaniona przez ustawienie waciwoci Jet na
#!
!' "'* &

1&'

) .

Definiuje wewntrzny sposb zapisu transakcji


synchroniczny lub asynchroniczny

 * '!)

Okrela opnienie (w milisekundach), po ktrym nastpi


ponowna prba wykonania blokady

 * (
)

Okrela ilo prb naoenia blokady

!- " 2

Podaje maksymaln ilo pamici dla bufora Jet,


przeznaczon na zapisywane dane

!-  *  /'

Definiuje maksymaln ilo blokad w bazie danych;


wartoci domyln jest 9500

  




  Waciwoci cigw poczenia charakterystyczne dla dostawcy OLE DB dla Microsoft Jet
(cig dalszy)

 



 !
!%!  ! 

Okrela nowe haso bazy danych


Podaje czas (w milisekundach), po ktrym wykonanie
zdalnego polecenia ODBC nie powiedzie si
Okrela ilo blokad strony, zanim blokady te zostan
zamienione na blokad tabeli
Ilo milisekund po ktrych baza danych uwaa dane
z bufora za nieaktualne.
Okrela, czy strony BLOB bd agresywnie odzyskiwane
cieka dostpu do klucza rejestru dla Jet. Nie zawiera
znacznika HKEY_LOCAL_MACHINE. Warto ta moe
zosta zamieniona na drugorzdn lokalizacj w celu
przechowywania wartoci rejestru aplikacji, ktre nie s
wspdzielone z innymi aplikacjami korzystajcymi z Jet na
tym komputerze. Przykadowo, ustawienie dla Accessa 2002
to: SOFTWARE\Microsoft\Office\9.0\Access\Jet\4.0\Engines
Wskazuje, czy liczniki wydajnoci powinny by zerowane
po kadym pobraniu danych
Okrela opnienie (w milisekundach) zapisu asynchronicznego
w przypadku otwarcia bazy danych w trybie wielodostpu
Podaje lokalizacj systemowej bazy Jet, ktra ma by
uywana przez okrelonych uytkownikw. Powoduje to
uniewanienie wartoci ustalonej w rejestrze lub klucza
rejestru systemdb, uywanego wraz z Jet ( 
)
!
.. Waciwo ta moe zawiera ciek dostpu do pliku
Okrela, czy zapis podczas zatwierdzania transakcji jest
asynchroniczny, czy synchroniczny

 ! , "

!   *
 ,!%'  *
!  ,"

( ) '  34!'" ! 


( 
) !
.

( 
1  
!

.! ) . '!)
)
 !
!%! 

,! !
 

5  
)

Okrela, czy zmiany w transakcji s zapisywane w sposb


synchroniczny, czy asynchroniczny

Oprcz waciwoci umieszczonych w tabeli 7.1 silnik bazy danych Microsoft Jet posiada kilka opcji, ktrych ustawienie okrela zachowanie silnika. Opcje te czsto maj
bezporedni wpyw na jego wydajno. Domylnie, po uruchomieniu Jet uywane s
wartoci znajdujce si w rejestrze, w kluczu \HKEY_LOCAL_MACHINES\Software\
Microsoft\Jet. Istnieje jednak moliwo tymczasowego uniewanienia tych ustawie.
W przypadku ADO wartoci te stanowi cz cigu poczenia. Stae cigu poczenia
znajduj si w tabeli 7.2.
Nastpujcy fragment kodu powoduje otwarcie zabezpieczonej bazy, okrelajc jej haso i plik grupy roboczej:

   



  


  

 



 !
! " #$!
!%!  $ !&'%67
8
 #!
!%! !  "&  
67
8 #)
!
!%! 6 #$ $ )
$ )


 &



 
 

 Opcje cigu poczenia ADO






%! ,"


#!  ,"

%.! ) '!)


#.! ) '!)

%- '"  ) '!)


#- '"  ) '!)

% *(
)


# * (
)

%5 
)


#5  
)

%1&' 

)


#1&' 

)

%!-"2


#!- " 2

%!- * /'


#!-  *  /'

% *'!)


# * '!)

%( ) '4


#( ) '  34!'" ! 

%/'" .,! !
,"


#/'" .
! !
 ,"

 
 
 
Gdy chcesz uzyska dostp do aktualnej bazy poprzez kod ADO, Access umoliwia Ci
pjcie na skrty, oddajc do Twojej dyspozycji odnonik do obiektu, 
. Uywajc tej skadni, moesz z atwoci przydzieli aktualnej bazie obiekt . Odnonik ten pozwala zaoszczdzi czas, jeli chcesz
otworzy zestaw rekordw.
(  
   (  


(  
  (  

(  
 &"
 9"
:



Zalecamy ostrono podczas korzystania z "


:

. Pamitaj,
e polecenie to nie moe by uywane w innym rodowisku ni Access 2002.
Jeli zamierzasz wykorzysta swj kod w innej aplikacji ni Access (np. Visual Basic),
do utworzenia poczenia musisz uy duszej skadni.

 
 

  

Dzi, gdy obiekty ADO s podstawowym sposobem uzyskiwania dostpu do danych,
twrcy Accessa uznali, e programici potrzebuj standardowego sposobu obsugiwania, adowania, otwierania i zarzdzania informacjami o poczeniu OLE DB, przypominajcego dawne narzdzie do zarzdzania i administrowania sterownikami ODBC.
Moliwo t daj Microsoft Universal Data Links (UDL). Mechanizm UDL umoliwia
zapisywanie informacji o poczeniu w pliku UDL, a nastpnie otwarcie obiektu 
 w ADO, na podstawie informacji zapisanych w tym pliku. Moliwo ta bdzie
bardzo przydatna, gdy bdziesz chcia przetestowa podczenie bazy danych do rnych komputerw bez zmiany kodu.

  




Mechanizm Microsoft Universal Data Links skada si z:




graficznego interfejsu uytkownika, sucego do tworzenia pocze OLE DB;

interfejsu automatyzacji.

Zanim zaczniesz uywa UDL w aplikacjach VB lub VBA, musisz najpierw je utworzy. Tworzenie UDL nie jest skomplikowane. Uruchom Eksploratora Windows, z menu
Plik wybierz Nowy, a nastpnie Dokument tekstowy (rysunek 7.1).
 
Tworzenie
nowego
pliku UDL

Po utworzeniu pliku UDL kliknij go dwukrotnie, aby rozpocz edycj. Przedstawiony


na rysunku 7.2 pierwszy ekran zawiera list wszystkich zainstalowanych na Twoim
komputerze dostawcw OLE DB. Wybierz jednego z nich i kliknij Dalej, aby przej
do zakadki Poczenie. Teraz moesz okreli wszystkie, charakterystyczne dla dostawcy informacje dotyczce poczenia (rysunek 7.3). W naszym przykadzie uylimy
dostawcy OLE DB dla Jet, wic musielimy okreli ciek dostpu, identyfikator uytkownika i haso (gdybymy wybrali SQL Server, musielibymy poda nazw serwera
i bazy danych). Nastpna zakadka, Zaawansowane, suy do okrelenia waciwoci
dostawcy, ustalanych zwykle przez takie waciwoci, jak CommandTimeout. Ostatnia
zakadka Wszystkie zawiera podsumowanie wszystkich wybranych waciwoci.
Teraz, gdy utworzye ju plik UDL, moesz umieci go w kodzie VBA, aby utworzy
w ADO obiekt . Suca do tego skadnia jest prosta. Utwrz obiekt 
 tak, jak to zwykle robisz i uyj metody . Nastpnie wska plik UDL za
pomoc identyfikatora  :
    


   

 &/'! #$ .!&
;"'8

!

 
 


Wybr dostawcy
OLE DB


Wprowadzanie
informacji
o poczeniu

Fragment kodu na wydruku 7.1 znajduje si na doczonej do ksiki pycie CD.


Pokazuje on, jak utworzy obiekt 
 oparty na pliku UDL, umieszczonym
w folderze bazy danych Northwind. czysz si z baz i wypeniasz okno zawartoci
tabeli Customers. Bardzo przydatn cech tego kodu jest to, e jeli bdziesz chcia
uy bazy Northwind w wersji SQL, wystarczy zmieni waciwoci pliku UDL
i uruchomi kod ponownie.
  Uycie UDL w kodzie VBA
!
"% &4!*<=
0,- &


   



  


  


"


 &/'! #$
&$%%'"'8
(  
   (  


(  
  (  

(  
 &'
>/&"%' . 9

5
'(  
 /
%" 
(  
/' <?=
(  
-

&
(  
' 

(  

.

' 



.
- &
#
 - &

"%


 

Aby zmieni plik UDL, naley w programie Windows Explorer klikn dwukrotnie jego ikon lub wpisa w oknie Uruchom, wywoywanym z menu Start, pen ciek do
pliku UDL (rysunek 7.4).

Dwukrotne
kliknicie
pliku UDL
uruchamia
okno waciwoci
cza danych



 

Poniewa pliki UDL posiadaj swj wasny interfejs automatyzacji, moesz nimi zarzdza i kontrolowa je programowo. Aby uy UDL w kodzie VBA, ustaw odwoanie na

#

 
 
typ biblioteki o nazwie Microsoft OLE DB Service Component 1.0 Type Library (rysunek 7.5).


Ustawianie
odnonika
na Microsoft
OLE DB Service
Component 1.0
Type Library

Po ustawienie odwoania moesz rozpocz zarzdzanie plikami UDL. Dodatkowo moesz poprosi uytkownika o podanie informacji o poczeniu OLE DB poprzez okna
dialogowe UDL (moliwo ta jest przydatna w prototypowych aplikacjach lub wersjach demonstracyjnych produktw przeznaczonych dla uytkownikw zaznajomionych
z funkcjonowaniem Microsoft Data Links). Moesz tego dokona, wykorzystujc metod
 obiektu  . Kod na wydruku 7.2 prosi uytkownika o podanie informacji o poczeniu OLE DB poprzez okno dialogowe UDL, a nastpnie czy si z baz
danych i otwiera zestaw rekordw.
 Programowe UDL
!
"% &5!' <=
0,- &

5  !


!*

5 !
!*

 


5&

(  
   (  


(  
  (  

+@!*A!!)9B"B)
**)%!A%!2C!) .%'%
(  
 &'
>/"%' . 9

 -(  


/' <?=
-
"%
- &
#
 - &

"%

  




   !


" # $
%$ !& $
Nawizujc do omwionego w rozdziale 6. wykorzystania Accessa do komunikowania
si z danymi nierelacyjnymi (np. danymi arkusza Excel) trzeba powiedzie w tym miejscu, e ADO posiada kilka zaawansowanych opcji, ktre uatwi Ci prac z tym typem
danych. Przyjrzymy si tym opcjom. S nimi:


lista uytkownikw Jet;

tworzenie zestaww rekordw;

ksztatowanie danych.

   ! "
Dostawca OLE DB dla Jet umoliwi Ci otwarcie zestawu rekordw, zawierajcego nazwy
uytkownikw aktualnie zalogowanych do bazy, ktrej nazw okrelisz w poczeniu.
Dziki temu nie bdziesz ju musia korzysta z dostarczanego z poprzednimi wersjami
Jet narzdzia LDBView. Kod na wydruku 7.3 przedstawia sposb utworzenia zestaww
rekordw z aktualnymi uytkownikami bazy danych. Uylimy w nim metody   
 obiektu  z parametrem charakterystycznym dla aparatu JET/JOLT. Zauwa, e ADO nie podpowiada Ci adnych staych. Bdziesz musia rcznie wprowadzi
warto GUID (!"#$%%&'()#*&&&%%+'''#+%"(,$)-). Pozostaje nam mie nadziej, e niedogodno ta zostanie poprawiona w kolejnej wersji obiektw ADO.
 Uycie listy uytkownikw
"%5 (
<=
 0,- &


   



  


  

  



 '! #$
&$%%'"'

 &
(  
   (  


(  

 & .!<! .!&  997
DE;%%?F3GH3'3%%3 %EFI;GJ=
5
'(  
 /
%" 
(  
K 5,(7 
%" 
(  
K 017 
%" 
(  
K ,
%" 
(  
K5,, ,

$

 
 
(  
-

&
-
"%
- &
#
 - &

"%

#  !
Obiekty ADO daj Ci moliwo tworzenia zestaww rekordw z niczego. Moesz
teraz korzysta z metod 
 i
, aby dodawa pola i dane do zestawu
rekordw. Technika ta nadaje si wietnie do tworzenia procedur pobierajcych dane
z nierelacyjnych rde (np. folderu z plikami) i zwracajcych zestaw rekordw. Dziki
ADO aplikacja moe przez cay czas wsppracowa z zestawami rekordw, a jej kod
jest duo prostszy. Poniszy przykad przedstawia sposb utworzenia zestawu rekordw, zawierajcego nazwy plikw znajdujcych si w okrelonym folderze. Jeli umiecisz ten kod w module, bdziesz go mg uy w wielu aplikacjach. My na przykad
wykorzystalimy go do sporzdzenia listy wszystkich plikw typu ZIP w katalogu serwera FTP, a nastpnie przejrzenia ich i utworzenia strony, z ktrej mona te pliki pobra. Przewag tej techniki nad dostawc NT Active OLE DB jest fakt, i dziaa ona
w systemie Windows 95. Wydruk 7.4 pokazuje, w jaki sposb mona otworzy zestaw
rekordw oparty na licie nazw plikw w folderze.
 Tworzenie zestawu rekordw z nierelacyjnych danych
"%!
!%'(
7/' < &
!'!
. 
  #$
&=
0,- &

(  
   (  


(  
  (  

(  
"  !
!5 '

(  
/'  &&/'!9!4!.!9FGG9!/'(1
(  
/'  &&-

9!.!9H9!/'/-
(  
 &99! &
!
 9! *!
. &


1( .
<!
.9?=LM$,.!
.!
.6$
!
.<!
.6>>9%!'=
N.'
!
.M
(  
  !)</'!9-

=97
 !)<
!
.9( .
<
!
.9H==
!
.
&
(  
/

5
'(  
 /
%" 
(  
K/'!
(  
-

  


%

&
-
"%
- &
#
 - &

"%

$  

Umoliwienie przegldania danych w zhierarchizowany sposb jest w obiektach ADO
bardzo proste. Moesz uy nowej zdolnoci ADO, o nazwie Data Shaping (ang.
ksztatowanie danych), aby przeglda nadrzdne i podrzdne rekordy w jednym zestawie. Moesz uy dostawcy MSDataShape OLE DB do tworzenia hierarchii opartych
na relacjach i hierarchii grupowania. Tworzenie tego typu hierarchicznych zestaww rekordw moe uatwi do pracochonn obrbk hierarchicznych danych. Przykadowo,
na rysunku 7.6 znajduje si grupowa hierarchia wszystkich zamwie klientw z bazy
Northwind, przegldana w nowej siatce, o nazwie Microsoft Hierarchical FlexGrid (wersja
OLAP popularnej FlexGrid). Formant ten doczony jest do pakietu Office 2002 w wersji Developer Edition oraz do Visual Basic 6 (nasze rysunki i listingi zostay stworzone
w VB 6 i uywaj bazy danych Accessa jako rda danych). Zwr uwag na znak plus,
znajdujcy si przy kadym z rekordw. Umoliwia on rozszerzanie ich i przegldanie ich
szczegw, co pokazuje rysunek 7.7. Zanim powsta dostawca MSDataShape OLE DB,
utworzenie takiej siatki wymagao napisania wielu linijek kodu.

Zestaw rekordw
uzyskany poprzez
dostawc
MSDataShape OLE
DB w Visual Basic


Zestaw rekordw
GrupujWedug
w Visual Basic

 Tworzenie rekordu z uksztatowanymi danymi i wypenianie siatki MSHFlexGrid w VB


"%"%0"&O! .)<=


  




 
 


 !
!.!&67
8!
!&  

 67
8!
! " 6 &&!
.6$ !&'%
(  
   (  


(  
  (  

(  
"  .!&D'
 "
967
( "
 J
?67
 5, 5,<
? "
= "
"
9
?)( 
(  
 &9



  O/'-0?(  
(  

"%

Jak to wida w tym fragmencie kodu, musisz uy specjalnej, powizanej z Data Shaping skadni SQL. Kompletn list zastosowa tej skadni znajdziesz w dostarczanym
wraz z Visual Basic 6 i pakietem Office Developer 2000 dokumentacji MSDN oraz na
stronie WWW o adresie http://www.microsoft.com/data. Moesz rwnie uy tego kodu do operacji Data Shaping i przeniesienia danych do programu Microsoft Excel. Kod
na wydruku 7.6 przedstawia sposb, w jaki za pomoc poprzedniego przykadu
mona przenie dane do arkusza programu Excel.
 Uycie Data Shaping w programie Microsoft Excel
/"
0
!
!%! <= 

+@P
C"* :C
!*9!%)2! !A!Q B*C&2)*A!:%!2)!) .
0
!
!%!  #$
&$ !&'%
/"

"%5('!
<=
(  
   (  


(  
  (  



  



 !
!.!&867
8!
!&  

 67
8!
! " 60
!
!%! <=
(  
" 7
 .!&D'
> "
 ."
+ /R1+J67
 &&<D'
>/  J   67
( , "

 "
=
(  





(  
 &99! &
!
 9! *!
. &


.(  
(  

"%
"%.(  
<)4!'(  
   (  
97
 &
!'*&'! '!/!' =

  




.'   (  

'   /'
"
'" 1
 
"
( 1
 
1
*&'!,.
'' '

'
'!


1
5
'(  
 /
"
'""
'"S?
1
*&'!,.
"
(?
' 
"
(F
1
/! .'1(  
/'
1 ',)&LM!.!&
,.
'' <
"
'"9
"
(=7
 '!6#6 '4!'"
' 

.' '4!'"
.(  
.'9,"
1
"
("
(S?
-

(  
-

&
'' <?9?='

"%

    %!'% $
!##
W ostatnim rozdziale pokazalimy, jak tworzy zestawy rekordw zawierajce dane
i jak korzysta z obiektw . Teraz pokaemy kilka dodatkowych moliwoci
obiektw ADO. Przyjrzymy si kolejno:


modyfikowaniu danych w zestawie rekordw;

trwaym zestawom rekordw.



 
 

   
  !
Aby modyfikowa dane w zestawie rekordw, musisz jedynie przej do niego i rozpocz edycj. Po przejciu do kolejnego rekordu lub uyciu metody . dokonane
przez Ciebie zmiany zostan zapisane. Jest to duy krok naprzd w porwnaniu z obiektami DAO, gdzie musiae najpierw uy polecenia /, a nastpnie obowizkowo
uy polecenia .. Kod na wydruku 7.7 pokazuje, w jaki sposb mona dokona
edycji danych.
 Edycja rekordu
"%
(  <=
 0,- &

(  
   (  


(  
  (  

T 

T'
>/"
 N."
1?
(  
 &T9"
:

97
! &R) 
9! * &


(  
K&!)!!!2!
(  
5&!

-
"%
- &
#
 - &

"%

Moesz otworzy zestaw rekordw bazujcy na wyraeniu SQL wymagajcym klucza


podstawowego; zajmie to znacznie mniej czasu, ni otwieranie caej tabeli i w niej
dopiero wyszukiwanie danego rekordu.
Poniewa zmiany dokonywane w zestawie rekordw uwzgldniane s bez uycia
polecenia 5&!
 (wystarczy do tego przejcie do kolejnego rekordu), zalecamy
ostrono podczas edycji danych.


 
Dodawanie rekordu przebiega w prawie identyczny sposb, jak jego edycja. Musisz
otworzy zestaw rekordw i uy metody
. W przypadku operacji / zastosowanie maj te same zasady, co w przypadku .. Po dodaniu rekordu znajdziesz si
w aktualnym rekordzie. Wydruk 7.8 zawiera przykad dodawania rekordu do tabeli:
  Dodawanie rekordu do tabeli
"% (  <=
 0,- &

  




(  
   (  


(  
  (  

(  
 &"
 9"
:

97
! &)! 9! * &

 9!,!%'

(  
 
+!'B)2!U!' )
 !!"*!
 
)*!
!
(  
K"
1H
(  
K!7!
(  
K!7/
!
(  
K!7!
!*
(  
5&!

 -1 !"
!#6(  
K"
1
(  
' 

(  

.
-
"%
- &
#
 - &

"%

By moe zauwaye, e otware tabel ze sta 0% . Jeli uyjesz tej
staej z typem kursora  1 i blokowaniem optymistycznym, osigniesz taki
sam efekt, jak przy uyciu polecenia %0% w DAO. Tabela 7.3 zawiera wszystkie opcje kursorw i blokowania ADO oraz ich odpowiedniki w DAO:
 Kombinacje obiektw ADO dla Accessa
!

"#$!! 

!  

! &/! ')

! *(! ')

% &!&.

%/! ')

 &R)

! *(! ')

Brak odpowiednika

 &R)

! * 




 &)! 

 &R)

! * &



 &)! 

 &R)

! *!
. &



 &)! 

 &
!


! *(! ')

 &)! 

! &)!

! * &

 ,
!,!%'

% &,!%'

#  !
Jeli musisz zadba rwnie o obsug uytkownikw nie podczonych do sieci, pojcie trwaoci rekordw stanowi bdzie dla Ciebie fantastyczny podarunek od firmy
z Redmond. Teraz masz bowiem moliwo zapisania zestawu rekordw na dysku i obrabiania go w aplikacji VB lub VBA. Pniej bdziesz mg ponownie wczy ten zestaw
do bazy. Aby tego dokona, otwrz zestaw rekordw ADO z typem blokowania  
2 , uywajc kursora . Nastpnie uyj metody  obiektu 3
. Musisz okreli nazw pliku i format, w jakim ma by zapisany. ADO oferuje
nastpujce moliwoci:

!

 
 



04;

56 .

Jeli wybierzesz format 


04 lub 56 , bdziesz mg pniej z atwoci otworzy ten plik w ADO. Wydruk 7.9 pokazuje, jak otworzy zestaw rekordw, zmieni rekord, zapisa zmiany do pliku, otworzy rekord ponownie i wczy go
z powrotem do bazy.
% Zapisywanie zestawu rekordw na dysku, jego ponowne otwarcie oraz wczenie
do bazy danych
"% 
<=
 0,- &

T 

  

4!'" 

T'
>/"
 N."
1+ /R1+

   



  


  

 HG?



 !
! " 67
 &&!
.6$ !&'%

 &
(  
   (  


(  
  (  

(  
"  !
!5 '

(  
 &T97

9! &
!
 9! *!
. &


  2C&!UV!2C)'!#67
(  
K&!)!6%67
1
)*!
*'
!6(  
K"
1
4!'"1&"
-< =
(  
5&!
&!)!94!'"
 ( "-

R'' &&!
.6$. !!

 0,- &

(  
! &&!
.6$. !!
9! 
,0
(  
' 

(  

.
 -@!& !&'*"#6 &&!
.6$. !!
9%1!


  


"

-
"%
- &
#
 - &

"%
"%( ) .<=
 0,- &

T 

T'
>/"
 N."
1+ /R1+
(  
   (  


(  
  (  

+
!   
"2!& ! &'*"
(  
 & &&!
.6$. !!
997
! &
!
 9! *!
. &

 9!/'
  

 &2!
Q #67
(  
K&!)!  !'4!'"
  6%67
N!
Q &'*"#6(  
K&!)!
 - 9%1!
9&22!& !!
Q 

   



  


  

 HG?



 !
! " 67
 &&!
.6$ !&'%

 &
(  




(  
5&!
!
.
 -!2!!) .2
!A!2 ) .2!!K9%1!

-
"%
- &
#
 - &

"%

(    $ !##)


Korzystajc z obiektw ADO, moesz z atwoci dokonywa definiowania danych.
Aby tworzy i modyfikowa tabele, kwerendy i inne obiekty zwizane z danymi, na
przykad indeksy, musisz skorzysta ze specjalnej biblioteki ADO o nazwie ADOX.

 #

 
 
Aby uy ADOX, musisz ustawi odnonik na Microsoft ADO Ext. 2.5 For DDL and
Security, wybierajc z menu Tools pozycj References (rysunek 7.8).

 
Microsoft ADO
Ext. 2.5 For DDL
and Security

Gdy ustawie ju ten odnonik, jeste gotw do korzystania z ADOX.

% &'
Jeli korzystasz z ADOX, wszystko, co robisz, zwizane jest z obiektem 7. Obiekt
ten oznacza baz danych. Pracujc w Accessie, musisz jedynie ustawi jej waciwo

 na prawidowy obiekt .
!
!'    W!
!'

!
!'   W!
!'
+N *!B%*
!
!'
+!*
"!'V%!2C!) .
!
!' 

"
:



#  

Aby utworzy now, pust baz danych przy uyciu ADOX, musisz uy metody 

 obiektu 7 i poda ciek dostpu do nowej bazy (wydruk 7.10).
 & Tworzenie bazy danych przy uyciu ADOX
"%!
!
!! <=
 0,- &

!
!'    W!
!'

!
!'   W!
!'
!
!' !
&  
, 867
!
! " #$%%
 -!2!!) ."
2!K9%1!

 
!
!' 
.
-
"%

  


 

- &
#
 - &

"%

#  & !&


Aby utworzy tabel i jej pola, moesz utworzy obiekt ADOX o nazwie % i doczy do niego kolumny (wydruk 7.11).
  Tworzenie tabel i pl
"%!
,!%'7 , <=
 0,- &

!
!'    W!
!'

!
!'   W!
!'
!
!' 

"
:


,!%'   W,!%'

,!%'  W,!%'
,!%'!"
7  
,!%''"  &&"
19!1
 
,!%''"  &&!7-9!N.!9FG
,!%''"  &&!7/
9!N.!9F
,!%''"  &&!7!
9!N.!9G
!
!' ,!%'  &&,!%'

,!%'
.

!
!' 
.
-
"%
- &
#
 - &

"%

 
 
 
Aby utworzy w Accessie doczon tabel, musisz utworzy tabel nie doczajc do
niej adnych pl, a nastpnie ustawi dwie waciwoci:


8  / 2  ;

8/0  / 23 0% .

Jako   podaj ciek dostpu do bazy danych, do ktrej chcesz si doczy. Jako 3 0%  ustaw nazw tej bazy. Cay przykad znajduje si na wydruku 7.12.

 $

 
 

  Tworzenie doczonej tabeli


"%!


! .
,!%'<=
 0,- &

!
!'    W!
!'

!
!'   W!
!'
!
!' 

"
:


,!%'   W,!%'

,!%'  W,!%'
,!%'!"
 7*

,!%'!
!
!' !
!'
,!%'&
 <
 #*!
! " = #$
&$%%
,!%'&
 <
 #(
,!%'!="
 
!
!' ,!%'  &&,!%'

!
!' 
.
-
"%
- &
#
 - &

"%



 
Kiedy utworzysz pole, moesz uy w ADOX obiektu , aby ustawi waciwoci
charakterystyczne dla tego pola. Na przykad moesz ustawi typ pola na Autonumerowanie, nadajc waciwoci
  warto 0:
'"   W'"

'",!%''" <"
1=
'"&
 < "
 
=,"

Istniej take inne waciwoci, ktre moesz ustawi dla obiektu . Umiecilimy
je w tabeli 7.4, wraz z ich odpowiednikami w DAO.
 Waciwoci obiektu Field
'!

$(!)  *

Waciwo

Warto

Waciwo

Warto

%"


% "
1 /'

"
1 

,"

%"


%/-/'

'"

%"


!'/-

%"


%O)&'*/'


#O)&'*

,"

%"


%)
/'

%"


%4!!%'/'

'"

%"


inna ni !'/-

  


 %

 
 
Tworzc indeks w ADOX, bdziesz musia uy obiektu klucza. Po jego utworzeniu
musisz doczy do niego pole, a nastpnie okreli, czy ma to by klucz podstawowy,
czy unikatowy oraz jaka ma by kolejno sortowania:

1-  W11-!+!)R)+
1-'"  &&"
1
1-'" <"
1=
!
 
1-1-"'' !1-"''  !''
1-!)R),"
,!%'1-  &&1-

Waciwo 9 ustawiona jest domylnie na  9 , co oznacza, e wartoci  nie s w indeksie dopuszczalne i w przypadku, gdy pole w indeksie bdzie tak warto zawiera, nie zostanie dokonany aden wpis do indeksu. W tabeli 7.5 znajduj si wartoci akceptowane przez waciwo 9, wraz z ich
odpowiednikami w DAO.
 Wartoci dla waciwoci IndexNulls


 *

Wymagane

9 "''

1  "''



,"

/!' 

1-"''  !''

Warto "'' nie jest akceptowana w polu


indeks; wpis do indeksu nie zostanie
dokonany

/!' 

,"

1-"'' 1 

Warto "'' dopuszczona w polu indeks;


wpis do indeksu nie zostanie dokonany

/!' 

/!' 

1-"'' 1  )

Warto "'' dopuszczona w polu indeks;


wpis do indeksu zostanie dokonany

Kod na wydruku 7.13 czy te wszystkie przykady, tworzc tabel pola Autonumerowanie i indeks klucza gwnego w tej tabeli.
  Tworzenie tabeli z polem Autonumerowanie i indeksem klucza gwnego
"%!
 "
"%R<=
 0,- &

!
!'    W!
!'

!
!'   W!
!'
!
!' 

"
:


,!%'   W,!%'

,!%'  W,!%'
,!%'!"
7  
,!%'!
!
!' !
!'
,!%''"  &&"
19!1
 
,!%''" <"
1=&
 < "
 
=,"

 

 
 
,!%''"  &&!7-9!N.!9FG
,!%''"  &&!7/
9!N.!9FG
,!%''"  &&!7!
9!N.!9G
!
!' ,!%'  &&,!%'
1-   W1
1-  W11-!!)R)
1-'"  &&"
1
1-'" <"
1=
!
 
1-1-"'' !1-"''  !''
1-!)R),"
,!%'1-  &&1
,!%'
.

1-
.

!
!' 
.
-
"%
- &
#
 - &

"%

#  &
 (%)
Aby utworzy relacj w ADOX, musisz utworzy obiekt :1, okreli jego waciwoci,
a nastpnie doczy ten klucz do obiektu 0%. Uyj nastpujcej skadni:
!
!' ,!%' <"
=R)  &&R)

Kod na wydruku 7.14 wykonuje wszystkie te czynnoci oraz tworzy relacje.


  Tworzenie relacji
"%!
/ R)<=
 0,- &

!
!'    W!
!'

!
!'   W!
!'
!
!' 

"
:


R)   WR)

R)  WR)
R)!!
  "

R),)&!R)/ 
R)('!
,!%'!
  
R)'"  &&!
 )1
R)'" <!
 )1=('!
'"!
 )1
R)5&!
("'!(1! !

  


 

!
!' ,!%' <"
=R)  &&R)
-
"%
- &
#
 - &

"%

#    (%)


Aby utworzy kwerend w ADOX, musisz uy pustego obiektu  i ustawi jego
waciwo 09, a nastpnie doczy go do aktualnego obiektu 7:
!!,-
'
>/( !
  
!
!' 4  &&X)!
  9!

Gdy odnosisz si do kwerendy w Accessie, musisz pamita, e Microsoft Jet 4.0 zarzdza
wszystkimi tabelami, kwerendami, polami i indeksami za Ciebie. Jet definiuje kwerendy Accessa na dwa sposoby jako widoki lub procedury.
Przez widok rozumiemy zwracajc wiersze, nieparametryczn kwerend, podczas gdy
procedura oznacza wszystkie inne kwerendy.

 
 
Microsoft Jet zajmie si za Ciebie definiowaniem kwerendy. Aby utworzy widok, naley utworzy kwerend poprzez obiekt  (wydruk 7.15).
  Tworzenie widoku w ADOX
"%!
4<=
 0,- &

!   !


!!,-
'
>/( !
  
!
!'    W!
!'
!
!' 

"
:


!
!' 4  &&X)!
  9!

!
!' 
.
-
"%
- &
#
 - &

"%

 
 
Tworzenie procedury jest rwnie proste, jak tworzenie widoku. Wystarczy zdefiniowa
w obiekcie  waciwo 9 i w takiej postaci doczy go do obiektu
7 (wydruk 7.16).

 
 

  Tworzenie procedury


"%!
 "<=
 0,- &

!
!'    W!
!'
!
!' 

"
:


!   !
!!,-
!!
 YZ( [,-
867
'
>&') .( YZ( [
!
!'  "  &&X)&') ( 9!

!
.

!
!' 
.
-
"%
- &
#
 - &

"%

! 
" 
#$
  
Aby zmodyfikowa wyraenie SQL kwerendy, musisz najpierw utworzy obiekt 
, oparty na aktualnej kwerendzie w bazie danych, a nastpnie zmodyfikowa waciwo 9 i zresetowa obiekt  (wydruk 7.17).
  Zmiana wyraenia SQL
"%)T")T<=
 0,- &

!
!'    W!
!'
!
!' 

"
:


!   !

!!
!'  " <X)&') ( =!
!!,-
7
!!
 Y [KY [KY
-
( [,-
867
'
>&') 67
N.( Y [KY [KY
-
( [

!
!'  " <X)&') ( =!!

!
.

!
!' 
.
-
"%
- &
#
 - &

"%

  


 

Zauwaye zapewne, e w kodzie ADO znajdujcym si na wydruku 7.17 ustawienie


waciwoci  obiektu  na zmodyfikowany obiekt  powoduje
zapisanie zmian. Gdybymy nie umiecili tego ostatniego kroku, zmiany nie zostayby
umieszczone na stae w bazie danych. Rnica ta wynika z tego, e obiekty  zostay zaprojektowane jako tymczasowe. Fakt ten ma due znaczenie, gdy w DAO obiekty
;1+ uwaane byy za trwae. Moe Ci si wydawa, e przedstawione tutaj fragmenty kodu ADO s rwnoznaczne. Oto pierwszy z nich:

!!
!'  " <X)&') ( =!
!!,-
!!
 YZ( [,-
867
'
>&') .( YZ( [

!
!'  " <X)&') ( =!!

a to drugi:
!
!'  " <X)&') ( =!,-
7
!!
 YZ( [
-
867
'
>&') .( YZ( [

Mimo tego, e mona odnie wraenie, i dziaaj one podobnie, drugi fragment kodu
nie spowoduje rzeczywistej aktualizacji kwerendy w bazie. W drugim przykadzie moesz uy obiektu  z jego nowym wyraeniem SQL, zapisanym w kodzie VBA.
Jednak po zakoczeniu pracy zmiany w SQL nie zostan zapisane w bazie. W pierwszym przypadku natomiast poniewa nakazujesz zapisanie  zmiany zostan uwzgldnione w bazie danych.

You might also like