Académique Documents
Professionnel Documents
Culture Documents
PRZYKADOWY ROZDZIA
SPIS TRECI
KATALOG KSIEK
KATALOG ONLINE
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
Spis treci
Wstp.............................................................................................................................................................. 5
Rozdzia 1.
Rozdzia 2. Tabele...........................................................................................................................................................23
Rozdzia 3. Relacje........................................................................................................................................................ 39
Rozdzia 4. Kwerendy................................................................................................................................................... 53
Rozdzia 5. Formularze ................................................................................................................................................. 73
Rozdzia 6. Raporty......................................................................................................................................................... 91
Rozdzia 7.
Co nowego?............................................................................................................................................ 135
4.
Kwerendy
Rozdzia
54
kwerend. Na ekranie zostanie wywietlona lista tytuw filmw i dat ich produkcji.
Rozdzia 4. Kwerendy
55
6. Wywietl kwerend w Widoku SQL (aby wywietli list dostpnych dla kwerend
Wyraenia arytmetyczne.
Na podstawie przechowywanych w bazie danych SZBD moe wyliczy dane pochodne.
Dane te mog by wyliczone na podstawie danych zapisanych w pojedynczych polach
(np. podwojona cena zakupu filmw, ostatnia litera nazwiska reysera filmu) albo na podstawie danych zapisanych w kilku polach. Aby pokaza t moliwo, dodamy do definicji tabeli Film kolumn typu liczbowego (Zysk), w ktrej bdziemy zapisywa osignity z wypoyczania danego filmu zysk.
W tym celu:
1. Wywietl widok projektu tabeli Film.
2. Kliknij prawym przyciskiem myszy na polu znajdujcym si poniej pola Cena
Pokazywanie tabeli.
7. W pierwszym polu wywietlanej w dolnej czci ekranu tabeli wybierz nazw
VBA CINT konwertuje dane przekazane jako argument jej wywoania do typu liczb
cakowitych (ang. Integer).
10. W czwartej kolumnie kwerendy zwracane bd informacje o zysku osignitym
56
Rysunek 4.2.
Wybieranie
kolumn rdowych
w widoku projektu
tabeli jest rwnie
atwe, jak za pomoc
kreatora kwerend
11. Ostania kolumna kwerendy bdzie zwracaa dane o zysku (lub stracie) wyliczone
jako rnica pomidzy cen zakupu filmu a uzyskanym z jego wypoyczania zyskiem.
W tym celu w kolejnym polu wpisz
. Projekt kwerendy pokazany zosta
na rysunku 4.3.
Rysunek 4.3.
Kwerenda
zwracajca
dane rdowe
i wyliczone
na ich podstawie
dane pochodne
12. Aby uruchomi kwerend, nacinij znajdujc si na pasku narzdzi kwerendy ikon
Rozdzia 4. Kwerendy
57
wiczenie 4.3.
Literay.
SZBD Access umoliwia rwnie dodawanie do wyniku kwerend dodatkowych kolumn,
zawierajcych we wszystkich polach t sam, okrelon warto.
Aby utworzy kwerend, w ktrej tytu filmu zostanie oddzielony od daty jego produkcji
cigiem znakw nakrcony:
1. Utwrz now kwerend w widoku projektu.
2. Jako tabel rdow wybierz tabel Film.
3. Jako pierwsz kolumn kwerendy wybierz kolumn Tytu, jako trzeci kolumn
DataPr.
4. W polu drugiej kolumny kwerendy wpisz cig znakw
(w programie
58
Eliminowanie duplikatw.
Oczywicie w dobrze zaprojektowanej relacyjnej bazie danych te same dane nie s wielokrotnie przechowywane. Jednak typ czcych poszczeglne tabele relacji powoduje, e
niektre informacje mog by zwrcone uytkownikowi kilkukrotnie. Na przykad,
gdybymy chcieli wywietli ca zawarto tabeli Film_Aktor, to dane o tym samym filmie
zostan wywietlone tyle razy, ilu gra w nim wpisanych do bazy aktorw, a dane tego samego aktora tyle razy, w ilu filmach zagra.
Aby wyeliminowa z wyniku kwerendy duplikaty danych:
1. Utwrz now kwerend w widoku projektu.
2. Jako tabel rdow wybierz tabel Film_Aktor.
3. Na pierwsz kolumn kwerendy wybierz kolumn IdFilmu.
4. Uruchom kwerend w wyniku zostanie wywietlona lista tytuw filmw,
Rozdzia 4. Kwerendy
59
Sortowanie danych.
Utworzone do tej pory kwerendy1 zwracay dane w takim porzdku, w jakim informacje
te zapisane byy w tabelach rdowych. Natomiast uytkownicy bazy danych spodziewaj si informacji posortowanych wedug okrelonych kryteriw, np. tytuw lub cen filmw czy nazwisk ich reyserw.
Aby posortowa dane zwracane przez kwerend:
1. Utwrz now kwerend w widoku projektu.
2. Jako tabel rdow wybierz tabel Film.
3. Pierwsz kolumn kwerendy bdzie kolumna Tytul, drug Cena.
4. Rozwi pole Sortuj: kolumny Cena i wybierz z listy pozycj Malejco.
5. Uruchom kwerend dane o filmach zostay posortowane od najdroszego
do najtaszego filmu.
6. Wywietl kwerend w Widoku SQL. Definicja kwerendy powinna wyglda
nastpujco:
34
Wyjtkiem s posortowane przez kreatora odnonikw dane zwracane przez kwerend Filmy_zAktorami.
60
wiczenie 4.7.
34
"#$
Rozdzia 4. Kwerendy
61
si, kto poyczy film o okrelonym tytule czy pozna list filmw danego reysera.
Zrealizowanie tego zadania wymaga selekcjonowania (wybierania) danych. Operacja ta
przeprowadzana jest za pomoc zdefiniowanego dla kwerendy warunku logicznego.
Aby wywietli dane filmu o okrelonym tytule:
1. Utwrz now kwerend w widoku projektu.
2. Jako tabel rdow wybierz tabel Film.
3. Na kolejne kolumny kwerendy wybierz kolumny: Tytul, Cena, IdGatunku, IdOsoby.
4. W polu Kryteria: kolumny Tytul wpisz warunek logiczny: !
"#" (operator
7
$'8 98'
(rysunek 4.9).
62
Rysunek 4.9.
Kolumna przechowujca
dane wykorzystane
do wybierania wierszy
nie musi zosta wywietlona
w wyniku kwerendy
7. Wywietl kwerend w Widoku SQL. Jej definicja powinna wyglda nastpujco:
7
3
+:2:;
wyglda nastpujco:
7
<.#$
Rozdzia 4. Kwerendy
63
wiczenie 4.12.
64
).
4. Jedyn kolumn kwerendy bdzie kolumna Zysk. Ustaw kursor w polu Podsumowanie:
tej kolumny i z listy dostpnych funkcji grupujcych wybierz SUMA (rysunek 4.12).
Rysunek 4.12.
Po zaznaczeniu
ikony Sumy
w dolnej czci
widoku projektu
kwerendy
wywietlony
zosta wiersz
Podsumowanie:
danych, warto.
Rozdzia 4. Kwerendy
65
tekst Grupuj wedug oznacza to, e nazwa gatunku bdzie podstaw dzielenia
na odrbne grupy danych rdowych funkcji grupujcej.
6. Jako drug kolumn kwerendy wybierz pole IdFilmu tabeli Film.
66
Kwerendy krzyowe
Kwerenda krzyowa suy do wykonywania oblicze i jednoczesnej zmiany struktury
danych w celu ich atwiejszej analizy. Kwerendy krzyowe obliczaj sum, redni, zliczaj dane lub przeprowadzaj inne rodzaje podsumowa dla danych zgrupowanych
wedug dwch typw informacji jeden wzdu lewej, a drugi wzdu grnej krawdzi
arkusza danych. Kwerendy tego typu wywietlaj te same informacje, co wykonujce
analogiczne obliczenia kwerendy wybierajce, ale dziki grupowaniu ich zarwno w pionie,
jak i w poziomie, tworz czytelniejsze wyniki.
wiczenie 4.15.
Kwerenda krzyowa.
Najatwiej przekona si o zaletach kwerend krzyowych, porwnujc te same dane zwrcone przez kwerend wybierajc i kwerend krzyow.
Aby wywietli liczb filmw poszczeglnych reyserw, pogrupowan dodatkowo wedug
ich gatunkw:
1. Utwrz now kwerend w widoku projektu.
2. Jako tabele rdowe wybierz tabele: Film, Gatunek i Rezyser.
3. Kliknij znajdujc si na pasku narzdzi Projekt kwerendy ikon Sumy.
4. Na pierwsz kolumn kwerendy wybierz kolumn Nazwisko tabeli Rezyser,
Rozdzia 4. Kwerendy
67
Tworzymy tabele.
Aby za pomoc kwerendy utworzy tabel, w ktrej zapisane zostan informacje o filmach
wybranego reysera:
1. Utwrz now kwerend w widoku projektu.
2. Jako tabele rdowe wska tabele Film i Rezyser.
3. Zmie typ kwerendy na kwerend tworzc tabel. W tym celu z menu Kwerenda
68
reysera, jako pierwsz kolumn kwerendy wybierz symbol * tabeli Film, a aby
ograniczy list kopiowanych danych do filmw jednego reysera, jako drug
kolumn kwerendy wybierz kolumn Nazwisko tabeli Rezyser i w polu Kryteria:
tej kolumny wpisz Machulski.
6. Uruchom kwerend. Zostanie wywietlony komunikat, informujcy Ci o fakcie
nastpujco:
8-
)@ #$A*
.#--=-
-.#2.#>
2.#
7.#-.+#$*>')@ #$'
Kwerendy aktualizujce
Kwerenda aktualizujca pozwala na automatyczn zmian zapisanych w tabelach danych.
Z reguy kwerendy tego typu wykorzystywane s do zmiany wartoci wybranych rekordw,
np. przecenienia towarw nalecych do okrelonej grupy towarowej.
wiczenie 4.17.
Modyfikujemy dane.
Aby obniy o 10 proc. cen zakupu filmw wyprodukowanych przed 1 stycznia 1980 roku:
1. Utwrz now kwerend w widoku projektu.
2. Na tabel rdow wybierz tabel Film.
3. Zmie typ kwerendy na kwerend aktualizujc. W tym celu z menu Kwerenda
zmniejszona o 10 proc.
5. Jako drug kolumn kwerendy wybierz kolumn DataPr i w polu Kryteria:
tej kolumny wpisz warunek ,2314(5(35(32 w rezultacie zmieniona zostanie cena
Rozdzia 4. Kwerendy
69
Rysunek 4.17.
Wykonanie kwerendy
aktualizujcej bez
okrelenia kryteriw
wyboru wierszy
spowodowaoby
uaktualnienie cen
wszystkich filmw
nastpujco:
0
>8;B
7
<C!D!D!BE;C
Kwerendy doczajce
Kwerenda doczajca suy do dodawania grupy rekordw, pochodzcych z jednej lub
kilku tabel, na kocu innej (lub innych) tabeli. W praktyce kwerendy tego typu wykorzystywane s podczas importowania danych ze rde zewntrznych lub w celu dopisania do wybranej tabeli rekordw speniajcych podane kryteria, np. danych klientw,
ktrych zaduenie przekroczyo okrelony prg. Podstawowa rnica pomidzy kwerendami tego typu a kwerendami tworzcymi tabele polega na tym, e kwerendy aktualizujce dopisuj dane do istniejcej tabeli, nie tworzc jej, a wic tabela docelowa musi
zosta wczeniej utworzona. Natomiast prba kilkukrotnego uruchomienia kwerendy
tworzcej tabele za kadym razem spowoduje usunicie i ponowne utworzenie tabeli
o podanej nazwie.
wiczenie 4.18.
Dodajemy dane.
Aby utworzy kwerend, ktra do tabeli Dluznicy dopisze nazwiska i numery telefonw
osb, ktre poyczyy wicej ni trzy filmy:
1. Utwrz tabel Dluznicy, skadajc si z dwch kolumn: Nazwisko i Telefon
70
a nie wszystkich osb, jako trzeci kolumn kwerendy wybierz kolumn IdFilmu
tabeli Film. Tym razem w polu Doczanie do: nie zostaa wywietlona adna nazwa
kolumny (w tabeli Dluznicy nie ma kolumny o nazwie IdFilmu).
10. W polu Podsumowanie: kolumny IdFilmu wybierz funkcj Policz, a w polu Kryteria:
wpisz warunek +6 w ten sposb do tabeli docelowej dopisane zostan dane
tylko tych osb, ktre wypoyczyy wicej ni trzy filmy (rysunek 4.18).
Rysunek 4.18.
Dziki graficznemu
rodowisku SZBD
Access w ramach
kilkunastu wicze
Czytelnik opanowa
umiejtno
tworzenia stosunkowo
skomplikowanych
instrukcji jzyka SQL
11. Uruchom kwerend. Ponownie zostanie wywietlone pytanie, czy zmodyfikowa dane.
Rozdzia 4. Kwerendy
71
#*,--=-
-#*,2#*,>
2#*,
6034#*,-.+#$*#*, 9*
7?-6*
2
F5
Kwerendy usuwajce
Kwerenda usuwajca suy do usuwania wierszy z jednej lub kilku tabel. W praktyce
kwerendy tego typu wykorzystywane s do automatycznego usuwania rekordw speniajcych podane kryteria, np. towarw, ktrych nie ma ju w ofercie firmy.
wiczenie 4.19.
Usuwamy dane.
Aby za pomoc kwerendy usun z bazy wszystkie filmy poyczone przez wybran osob:
1. Utwrz now kwerend w widoku projektu.
2. Jako tabele rdowe kwerendy okrel tabele Film i Osoba.
3. Zmie typ kwerendy na kwerend usuwajc dane. W tym celu z menu Kwerenda
wycznie cay wiersz, a nie wybrane pola tabeli). Zwr uwag, e w polu Usuwanie:
tej kolumny pojawi si wpis Skd.
5. Jako drug kolumn kwerendy wybierz kolumn Imie tabeli Osoba.
72
nastpujco:
8#*,
#*,--=-
-#*,2#*,>
2#*,
7#*,
>')#.$'