Professional Documents
Culture Documents
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
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
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
'$#/%
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
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
""
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
"
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
"#
"$
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
$,-.
//
364% &% ! 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
"%
"
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
$01)
(/
) > #/>
$ # *(
Zagadnienia wielodostpu ...................................................................................................................543
Przegld wielouytkownikowej architektury Jet .................................................................................544
Omwienie blokad Jet .........................................................................................................................545
Tryby bazy danych ........................................................................................................................545
Schemat blokowania .....................................................................................................................547
Szczegowo blokad ..................................................................................................................548
"
$ )
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
"!
7# ''"
9V[OTQ\F\KCNG
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:
!
!" #$!
!%!$!&'%
&
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
&!
( '!&! "
'
!
)
!
!%!
!
!%! *
!
!%! !
+
&) !' &!
)&
!
!%!
,)&
/'". ,!!
,"
0'%!' !
!' "'*
&
1&'
) .
* '!)
* (
)
Waciwoci cigw poczenia charakterystyczne dla dostawcy OLE DB dla Microsoft Jet
(cig dalszy)
!
!%! !
! *
,!%' *
! ,"
(
1
!
.! ) . '!)
)
!
!%!
,!!
5
)
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 #$$)
$)
&
%! ,"
#! ,"
%.!) '!)
#.! ) '!)
#- '" ) '!)
% *(
)
# * (
)
%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"
:
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.
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
!
Wybr dostawcy
OLE DB
Wprowadzanie
informacji
o poczeniu
"
&/'! #$
&$%%'"'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,- &
(
(
+@!*A!!)9B"B)
**)%!A%!2C!) .%'%
(
&'
>/"%'.9
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
!
!.!&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:
!
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&!
-
"%
- &
#
- &
"%
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 .
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!
-
"%
- &
#
- &
"%
#
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
%&'
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!
!
!'
.
-
"%
- &
#
- &
"%
!
!'
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:
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.
$
! .
,!%'<=
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-"''!''
/!'
,"
1-"''1
/!'
/!'
1-"''1 )
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)
!
!'
W!
!'
!
!'
W!
!'
!
!'
"
:
R)
WR)
R)
WR)
R)!!
"
R),)&!R)/
R)('!
,!%'!
R)'"&&!
)1
R)'"<!
)1=('!
'"!
)1
R)5&!
("'!(1! !
!
!' ,!%'<"
=R)&&R)
-
"%
- &
#
- &
"%
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,- &
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).
!
!'
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)&')( =!!
!
.
!
!'
.
-
"%
- &
#
- &
"%
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.