Vous êtes sur la page 1sur 22

IDZ DO

PRZYKADOWY ROZDZIA
SPIS TRECI

KATALOG KSIEK
KATALOG ONLINE

Access 2003 PL.


wiczenia praktyczne
Autor: Marcin Szeliga
ISBN: 83-7361-226-2
Format: B5, stron: 144

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

Ksika przeznaczona jest dla pocztkujcych uytkownikw programu MS Access


(najpopularniejszej aplikacji sucej do tworzenia baz danych) i doskonale
przygotowuje do pracy nad trudniejszymi projektami, ktre Czytelnik zapewne wykona
w przyszoci. Zamieszczone wiczenia uoono w takiej kolejnoci, by w trakcie ich
wykonywania poznawa kolejne narzdzia programu. Ukad zaproponowany przez
autora gwarantuje, e studiowanie kolejnych partii materiau odbywa si bdzie bez
zbdnych przeskokw mylowych i nieustajcej wdrwki po kolejnych rozdziaach.
wiczenia z Accessa 2003 PL mog stanowi zarwno materia do samodzielnego
poznawania aplikacji, jak i pomoc dydaktyczn dla uczestnikw kursw
komputerowych, uczniw oraz studentw.
Poznasz:
Tworzenie i konfigurowanie baz danych
Projektowanie tabel
Konstruowanie relacji midzy tabelami
Wyszukiwanie danych za pomoc kwerend
Wprowadzanie danych przy uyciu formularzy
Tworzenie raportw z wyszukanych danych
Dostp do baz z poziomu sieci WWW
Pisanie wasnych makrodefinicji

Spis treci
Wstp.............................................................................................................................................................. 5
Rozdzia 1.

Baza danych ................................................................................................................................................ 9

Rozdzia 2. Tabele...........................................................................................................................................................23
Rozdzia 3. Relacje........................................................................................................................................................ 39
Rozdzia 4. Kwerendy................................................................................................................................................... 53
Rozdzia 5. Formularze ................................................................................................................................................. 73
Rozdzia 6. Raporty......................................................................................................................................................... 91
Rozdzia 7.

Strony dostpu do danych.............................................................................................................. 103

Rozdzia 8. Makra......................................................................................................................................................... 109


Rozdzia 9. Moduy........................................................................................................................................................ 115
Dodatek A

Co nowego?............................................................................................................................................ 135

4.
Kwerendy
Rozdzia

Podzielenie zapisanych w bazie danych pomidzy odpowiednie tabele wyeliminowao


dane nadmiarowe, ale utrudnio uytkownikom pobieranie interesujcych ich w danym
momencie informacji. Na przykad, aby odczyta nazwisko reysera i tytuy wyreyserowanych przez niego filmw, trzeba odwoa si do dwch powizanych ze sob tabel.
Rwnie modyfikowanie, wstawianie i usuwanie danych zostao utrudnione (np. niemoliwe jest usunicie rekordu z tabeli podrzdnej, jeeli klucz podstawowy tego rekordu
wystpuje cho raz w tabeli nadrzdnej).
Kolejny typ obiektw bazy danych programu Access kwerendy pozwala na
zautomatyzowanie operacji pobierania i modyfikowania zapisanych w tabelach danych.
Wszystkie systemy zarzdzania relacyjnymi bazami danych, w tym Access, umoliwiaj pobieranie i modyfikowanie danych za pomoc instrukcji strukturalnego jzyka
zapyta (SQL), a kwerendy s wanie zapisanymi w bazie danych instrukcjami tego
jzyka.
W zalenoci od rodzaju wykonywanej przez kwerend operacji, dzieli si je na:
 kwerendy wybierajce dane (instrukcje SELECT jzyka SQL),
 kwerendy krzyowe (instrukcje SELECT jzyka SQL uzupenione
o charakterystyczn dla SZBD Access funkcj TRANSFORM),
 kwerendy tworzce tabele (instrukcje SELECT INTO jzyka SQL),
 kwerendy aktualizujce istniejce dane (instrukcje UPDATE jzyka SQL),
 kwerendy doczajce dane (instrukcje INSERT INTO jzyka SQL),
 kwerendy usuwajce istniejce dane (instrukcje DELETE jzyka SQL).

54

Access 2003 PL. wiczenia praktyczne

Kwerendy wybierajce dane


Najczciej wykorzystywan i najbardziej rozbudowan instrukcj jzyka SQL jest instrukcja SELECT, ktrej w SZBD odpowiadaj kwerendy wybierajce dane (ten typ
jest typem domylnym nowo tworzonych kwerend). Kwerendy tego typu pobieraj dane
zapisane w tabelach, przeksztacaj je lub wyliczaj na ich podstawie dane pochodne
(np. na podstawie ceny towaru SZBD Access moe wyliczy warto podatku).
wiczenie 4.1.

Wybieranie kolumn z tabeli.


Stosunkowo rzadko uytkownika interesuj wszystkie zapisane w tabeli dane o danym
obiekcie. Na przykad, jeeli w danym momencie interesuje go, kto poyczy film o okrelonym tytule, to prawdopodobnie nie chce on zna daty produkcji filmu, a jedynie jego tytu
i nazwisko poyczajcej go osoby.
Aby za pomoc kreatora utworzy kwerend wybierajc dane zapisane w okrelonych
kolumnach tabeli:
1. Uruchom baz danych Filmoteka.
2. Z wywietlanej w gwnym oknie bazy danych listy typw obiektw wybierz

Kwerendy i dwukrotnie kliknij opcj Utwrz kwerend za pomoc kreatora.


3. W polu kombi Tabele/Kwerendy wybierz tabel rdow (tabel, w ktrej znajduj

si pobierane w ramach kwerendy dane). W tym przypadku bdzie to tabela Film.


4. Z listy dostpnych pl wybierz kolumny Tytul i DataPr (rysunek 4.1).
Rysunek 4.1.
Pierwszym krokiem
pracy kreatora
kwerend jest wybr
danych rdowych

5. Podaj nazw nowej kwerendy (Film_Tytul) i zakocz prac kreatora, otwierajc

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

widokw, naley klikn znajdujc si w lewym grnym rogu ekranu, tu obok


ikony Widok, skierowan w d strzak). Tworzca kwerend instrukcja jzyka SQL
powinna wyglda nastpujco:

  
 



7. Zamknij okno kwerendy.


wiczenie 4.2.

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

i z menu kontekstowego wybierz opcj Wstaw wiersze.


3. W nowo powstaym polu wpisz nazw kolumny (Zysk), okrel jej typ

(Pojedyncza precyzja) i tytu (Zysk z wypoyczania).


4. Przecz tabel Film do widoku arkusza danych, zapisz wprowadzone zmiany

i wpisz przykadowe dane do kolumny Zysk.


5. Zamknij okno arkusza danych tabeli Film, na licie typw obiektw wybierz

Kwerendy i dwukrotnie kliknij opcj Utwrz kwerend w widoku projektu.


6. Dodaj do listy tabel rdowych kwerendy tabel Film i zamknij okno

Pokazywanie tabeli.
7. W pierwszym polu wywietlanej w dolnej czci ekranu tabeli wybierz nazw

kolumny tabeli przechowujcej tytuy filmw (rysunek 4.2).


Symbol * oznacza wszystkie kolumny. Tak wic, jeeli kwerenda ma zwrci wszystkie dane
zapisane w tabeli, moemy albo kolejno zaznacza wszystkie kolumny, albo wybra ten symbol.
8. W drugim polu wybierz kolumn Cena.
9. Trzecia kolumna kwerendy bdzie zwracaa zaokrglon do liczb cakowitych cen
zakupu filmu. W tym celu w kolejnym polu wpisz  funkcja jzyka

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

z wypoyczania filmu z listy kolumn tabeli rdowej wybierz Zysk.

56

Access 2003 PL. wiczenia praktyczne

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

). Na ekranie zostan wywietlone dane, przypominajce te pokazane


Uruchom (
na rysunku 4.4.
Rysunek 4.4.
Kwerenda zwraca
tytu filmu, cen
zakupu, zaokrglon
cen zakupu, zysk
i rnic pomidzy
cen zakupu
a osignitym zyskiem

13. Przecz si do Widoku SQL. Tworzca kwerend instrukcja jzyka SQL

powinna wyglda nastpujco:



  
  !
" #$" #$% &



14. Zamknij okno kwerendy i zapisz j pod nazw Film_Zysk.

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

Access cigi znakw musz by umieszczane w cudzysowach, w innym wypadku


bd traktowane jako identyfikatory obiektw, nazwy zmiennych lub zastrzeone
sowa kluczowe). Gotowy projekt kwerendy zosta pokazany na rysunku 4.5.
Rysunek 4.5.
Kwerenda dodajca
do zwracanych
danych rdowych
tekst opisujce
te dane

5. Uruchom kwerend, a nastpnie przecz si do Widoku SQL. Definicja kwerendy

powinna wyglda nastpujco:



  '$()* +' !
 



6. Zamknij okno kwerendy i zapisz j pod nazw Film_DataPr.


wiczenie 4.4.

czenie cigw znakw.


Zgodnie z reguami teorii relacyjnych baz danych, projektujc tabel, w poszczeglnych
kolumnach zapisalimy niepodzielne, atomowe informacje. Czasami jednak chcielibymy
poczy dane przechowywane w kilku kolumnach w jednej kolumnie.

58

Access 2003 PL. wiczenia praktyczne

Aby wywietli adres osoby w jednej kolumnie:


1. Utwrz now kwerend w widoku projektu.
2. Jako tabel rdow wybierz tabel Osoba.
3. Jako pierwsz kolumn kwerendy wybierz kolumn Nazwisko.
4. W polu drugiej kolumny kwerendy wpisz wyraenie  

symbolem operatora konkatenacji (czenia cigw znakw) w SZBD Access


jest znak &, pojedyncza spacja dodana pomidzy nazw miasta a ulicy poprawi
czytelno wyniku.
5. Uruchom kwerend, a nastpnie przecz si do Widoku SQL. Definicja kwerendy

powinna wyglda nastpujco:


#*, -.+#$*# */''/0 )-*
 !
#*,

6. Zamknij okno kwerendy i zapisz j pod nazw Osoba_Adres.


wiczenie 4.5.

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,

w ktrych gra przynajmniej jeden aktor (rysunek 4.6).


Rysunek 4.6.
Tytuy filmw,
w ktrych gra
kilku aktorw,
wywietlone
zostay wielokrotnie

Rozdzia 4.  Kwerendy

59

5. Wywietl kwerend w Widoku SQL.


6. Ustaw kursor za sowem  !  i dopisz sowo kluczowe :
-
1$ * 2


1$ *

7. Ponownie uruchom kwerend tym razem duplikaty tytuw zostay automatycznie

usunite z wyniku kwerendy (rysunek 4.7).


Rysunek 4.7.
Sowo kluczowe
DISTINCT powoduje
usunicie z wyniku
kwerendy wszystkich
powtrze

8. Zamknij okno kwerendy i zapisz j pod nazw Filmy_zAktorami.


wiczenie 4.6.

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


7. Zapisz kwerend pod nazw Film_Cena.

Wyjtkiem s posortowane przez kreatora odnonikw dane zwracane przez kwerend Filmy_zAktorami.

60

Access 2003 PL. wiczenia praktyczne

wiczenie 4.7.

Ograniczanie liczby wierszy.


SZBD Access umoliwia nie tylko sortowanie zwracanych przez kwerendy danych, ale
rwnie ograniczanie wynikw kwerendy do okrelonej w sposb bezwzgldny lub procentowy liczby wierszy.
Aby wywietli tytuy trzech przynoszcych najwiksze zyski filmw:
1. Utwrz now kwerend w widoku projektu.
2. Jako tabel rdow wybierz tabel Film.
3. Pierwsz kolumn kwerendy bdzie kolumna Tytul, drug Zysk.
4. Rozwi pole Sortuj: kolumny Zysk i wybierz z listy pozycj Malejco.
5. W znajdujcym si na pasku narzdzi Projekt kwerendy polu kombi

Najwysze wartoci wpisz 3 (rysunek 4.8).


Rysunek 4.8.
W praktyce ogranicza
si liczb wczeniej
posortowanych
danych w innym
wypadku SZBD
Access zwrciby
informacje
o trzech, wybranych
na podstawie pozycji
wiersza w tabeli,
filmach

6. Uruchom kwerend, a nastpnie przecz si do Widoku SQL. Definicja kwerendy

powinna wyglda nastpujco:


5
  
" #$


34
" #$

7. Zapisz kwerend pod nazw Film_Dochodowe.


wiczenie 4.8.

Wybieranie filmw na podstawie ich tytuw.


Dotychczas utworzone kwerendy zwracay wybrane kolumny, ale wszystkie wiersze tabel rdowych2. Tymczasem uytkownikw baz danych stosunkowo rzadko interesuje
komplet przechowywanych w tabeli danych. Zamiast tego chcieliby na przykad dowiedzie
2

Z wyjtkiem zwracajcej okrelon liczb danych kwerendy Film_Dochodowe.

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

LIKE jest operatorem sprawdzania zgodnoci cigu znakw, w tym przypadku


tytuw filmw, z podanym wzorcem. Zapisany w cudzysowie wzorzec jest zgodny
z tytuami, ktre zwieraj wyraz life wystpujcy przed i po sowie znak gwiazdki
zastpuje dowolny cig znakw).
Lista wszystkich operatorw jzyka SQL znajduje si w rozdziale 3.
5. Uruchom kwerend, a nastpnie przecz si do Widoku SQL. Definicja kwerendy

powinna wyglda nastpujco:



  

26 $
2#*,


7
  $'8 98'

6. Zapisz kwerend pod nazw Filmy_Life.


wiczenie 4.9.

Wybieranie filmw na podstawie ich ceny.


Aby wybra tytuy filmw, ktrych cena zakupy naley do przedziau od 5 do 50 z:
1. Utwrz now kwerend w widoku projektu.
2. Jako tabel rdow wybierz tabel Film.
3. Jako pierwsz kolumn kwerendy wybierz Tytul, jako drug Cena.
4. W polu Kryteria: kolumny Cena wpisz warunek logiczny: $%&'%(
(operator $ ) * & sprawdza, czy dana warto naley do okrelonego
przedziau i moe zosta zastpiony ponisz koniunkcj +%&',%().
5. Uruchom kwerend chocia lista filmw zostaa ograniczona do tych,

za ktre zapacilimy wicej ni 5 i mniej ni 50 zotych, to oprcz tytuw filmw


wysiedlana jest ich cena. Ponownie wywietl kwerend w widoku projektu.
6. Odznacz pole wyboru Poka: w kolumnie Cena i raz jeszcze uruchom kwerend

(rysunek 4.9).

62

Access 2003 PL. wiczenia praktyczne

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:;

8. Zamknij okno kwerendy i zapisz j pod nazw Filmy_5do50.


wiczenie 4.10.

Wybieranie filmw na podstawie przynoszonego przez nie zysku.


SZBD umoliwia wybieranie danych nie tylko na podstawie zoonych warunkw logicznych (warunkw logicznych, ktre skadaj si z kilku poczonych operatorami AND
lub OR warunkw), ale rwnie na podstawie warunkw, ktre odwouj si do wartoci przechowywanych w tabelach.
Aby wywietli tytuy tych filmw, ktrych cena zakupu przekracza zyski uzyskane z tytuu
ich wypoyczenia:
1. Utwrz now kwerend w widoku projektu.
2. Na tabel rdow wybierz tabel Film.
3. Jako pierwsz kolumn kwerendy wybierz Tytul, jako drug Cena.
4. W polu Kryteria: kolumny Cena wpisz warunek logiczny: ,-. /(nawias klamrowy
informuje SZBD Access, e cig znakw . ma by traktowany jako nazwa

kolumny, a nie jako wyraz jzyka polskiego).


5. Uruchom kwerend, a nastpnie wywietl j w Widoku SQL. Jej definicja powinna

wyglda nastpujco:

 


7
<. #$

6. Zapisz kwerend pod nazw Filmy_Zysk.


wiczenie 4.11.

Wybieranie za pomoc kreatora danych z poczonych tabel.


Potrafimy ju nie tylko wybiera kolumny, ale rwnie wiersze zawierajce dane zwracane
przez kwerendy. Wiemy rwnie, jak zwraca wyliczone na podstawie innych wartoci
dane i je porzdkowa. Kolejnym zadaniem jest wybieranie danych zapisanych w poczonych ze sob tabelach.

Rozdzia 4.  Kwerendy

63

Aby wywietli nazwiska reyserw i tytuy ich filmw:


1. Utwrz now kwerend za pomoc kreatora.
2. Z tabeli Film wybierz kolumn Tytul, z tabeli Rezyser Nazwisko (rysunek 4.10).
Rysunek 4.10.
Pobieranie danych
zapisanych
w poczonych
tabelach

3. Podaj nazw nowo tworzonej kwerendy (Film_Rezyser), uruchom j, a nastpnie

wywietl w Widoku SQL. Struktura kwerendy powinna wyglda nastpujco:



  . # -.+#$*
. #--=-
-. # 2. #>
2. #

wiczenie 4.12.

Wybieranie danych z poczonych tabel.


Aby wywietli nazwiska aktorw grajcych w poszczeglnych filmach:
1. Utwrz now kwerend w widoku projektu.
2. Na tabele rdowe wybierz tabele: Film, Film_Aktor i Aktor.
3. Jako pierwsz kolumn kwerendy wybierz kolumn Tytul tabeli Film,

jako drug kolumn Nazwisko tabeli Aktor (rysunek 4.11).


Rysunek 4.11.
Definicja kwerendy
pobierajcej dane
z trzech poczonych
ze sob tabel

64

Access 2003 PL. wiczenia praktyczne

4. Uruchom kwerend, a nastpnie wywietl tworzc j instrukcj SQL.

Powinna ona wyglda nastpujco:



  $ * -.+#$*

--=-$ *--=-
1$ *-$ * 2$ *>

1$ * 2$ *-
2
>
1$ * 2

34
  

5. Zapisz kwerend pod nazw Filmy_Aktorzy.


wiczenie 4.13.

Sumowanie zyskw z wypoyczania filmw.


Kady SZBD, rwnie program Access, umoliwia wyliczanie wartoci okrelonej liczby
funkcji grupujcych, funkcji, ktre na podstawie zbioru argumentw zwracaj jedn
warto. Do funkcji grupujcych zaimplementowanych w SZBD Access nale midzy
innymi: SUMA (funkcja zwraca sum przekazanych wartoci), MAKSIMUM (funkcja
zwraca najwiksz z przekazanych wartoci), MINIMUM (funkcja zwraca najmniejsz
z przekazanych wartoci), REDNIA (funkcja zwraca warto redni przekazanych
wartoci), POLICZ (funkcja zwraca liczb przekazanych wartoci).
Aby podsumowa zyski z wynajmowania filmw:
1. Utwrz now kwerend w widoku projektu.
2. Na tabel rdow wybierz tabel Film.
3. Kliknij znajdujc si na pasku narzdzi Projekt kwerendy ikon Sumy (

).

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:

5. Uruchom kwerend w wyniku zobaczysz jedn, wyliczon na podstawie zbioru

danych, warto.

Rozdzia 4.  Kwerendy

65

6. Przecz kwerend do Widoku SQL. Jej definicja powinna wyglda nastpujco:




" #$
9" #$



7. Zapisz kwerend pod nazw Zyski_Suma.


wiczenie 4.14.

Zliczenie filmw nalecych do rnych gatunkw.


W poprzednim przykadzie wykorzystalimy funkcj grupujc do wyliczenia jednej
wartoci dla wszystkich zapisanych w tabeli danych. Co najmniej rwnie czsto funkcje
grupujce wykorzystywane s do wyliczenia jednej wartoci dla okrelonej grupy danych,
na przykad filmw tego samego reysera czy nalecych do tego samego gatunku.
Aby policzy, ile filmw przypisanych jest do poszczeglnych gatunkw:
1. Utwrz now kwerend w widoku projektu.
2. Na tabele rdowe wybierz tabele: Film i Gatunek.
3. Kliknij znajdujc si na pasku narzdzi Projekt kwerendy ikon Sumy.
4. Jako pierwsz kolumn kwerendy wybierz kolumn Nazwa tabeli Gatunek.
5. Zwr uwag, e w wierszu Podsumowanie: tej kolumny wywietlony zosta

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.

W polu Podsumowanie: dla tej kolumny wybierz funkcj POLICZ.


7. Uruchom kwerend na ekranie zostanie wywietlona lista nazw gatunkw

filmowych i liczba nalecych do poszczeglnych gatunkw filmw (rysunek 4.13).


Rysunek 4.13.
Funkcje grupujce
mog rwnie
zwraca wartoci
dla poszczeglnych
grup danych
8. Wywietl kwerend w Widoku SQL. Jej definicja powinna wyglda nastpujco:
6 $ -.+* 
2
* ).92

6 $--=-
-6 $ 26 $>
26 $
60346 $ -.+

9. Zapisz kwerend pod nazw Filmy_Gatunki.

66

Access 2003 PL. wiczenia praktyczne

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,

na drug kolumn Nazwa tabeli Gatunek. W obu przypadkach w wierszu


Podsumowanie: pozostaw domyln warto (Grupuj wedug).
5. Na trzeci kolumn kwerendy wybierz pole IdFilmu tabeli Film. Poniewa chcemy

policzy filmy, w polu Podsumowanie: wybierz funkcj POLICZ.


6. Uruchom kwerend (rysunek 4.14).
Rysunek 4.14.
Wynik kwerendy
wybierajcej
dane pogrupowane
wedug dwch
wartoci szybko
staje si nieczytelny
7. Zmie typ kwerendy na kwerend krzyow. W tym celu przecz j do widoku

projektu i z menu Kwerenda wybierz opcj Kwerenda krzyowa.


8. W dolnej czci widoku projektu kwerendy wywietlony zosta nowy wiersz:

Krzyowe:. W kolumnie Nazwisko rozwi to pole i z listy dostpnych wartoci


wybierz Nagwek wiersza.
9. W polu Krzyowe: kolumny Nazwa wybierz warto Nagwek kolumny,

a w tym samym polu kolumny IdFilmu Warto.

Rozdzia 4.  Kwerendy

67

10. Uruchom zmodyfikowan kwerend (rysunek 4.15).


Rysunek 4.15.
Te same dane zwrcone
przez kwerend
krzyow s
o wiele czytelniejsze
11. Wywietl Widok SQL kwerendy. Jej definicja powinna wyglda nastpujco:
-* 
2
* ).92

. # -.+#$*
. #--=-6 $--=-
-6 $ 26 $>

26 $-. # 2. #>
2. #
6034. # -.+#$*
?6 $ -.+

12. Zapisz kwerend pod nazw Film_Gatunek_Rezyser.

Kwerendy tworzce tabele


Czasami, najczciej do celw diagnostycznych lub na potrzeby wykonania kopii wybranych danych, programowo tworzy si nowe tabele bazy danych, zawierajce kopie
danych zapisanych w innych tabelach. Zadanie to realizuj kwerendy tworzce tabele.
wiczenie 4.16.

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

wybierz opcj Kwerenda tworzca tabel.


4. Podaj nazw tworzonej tabeli (FilmyMachulskiego) i okrel nazw bazy danych

programu Access, w ktrej tabela zostanie utworzona (rysunek 4.16).


Rysunek 4.16.
Domylnie tabela
z wybranymi danymi
utworzona zostanie
w biecej bazie danych

68

Access 2003 PL. wiczenia praktyczne

5. Poniewa w nowej tabeli maj znale si wszystkie informacje o filmach wybranego

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

utworzenia nowej tabeli i skopiowaniu do niej wybranych danych.


7. Przecz si do Widok SQL. Definicja nowej kwerendy powinna wyglda

nastpujco:

8-
)@ #$A*
. #--=-
-. # 2. #>
2. #
7. # -.+#$*>')@ #$'

8. Zapisz kwerend pod nazw Filmy_Machulskego, na licie typw obiektw

bazodanowych wybierz Tabele i wywietl zawarto automatycznie utworzonej tabeli.

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

wybierz opcj Kwerenda aktualizujca.


4. Jako pierwsz kolumn kwerendy wybierz kolumn Cena i w polu Aktualizacja do:
tej kolumny wpisz wyraenie "(01 w rezultacie cena filmw zostanie

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

nie wszystkich filmw, a tylko filmw wyprodukowanych przed okrelon dat


(rysunek 4.17).
6. Przed wykonaniem kwerendy moesz sprawdzi, ktrych filmw bdzie dotyczya

zmiana ceny. W tym celu wywietl kwerend w Widoku arkusza danych.

Rozdzia 4.  Kwerendy

69

Rysunek 4.17.
Wykonanie kwerendy
aktualizujcej bez
okrelenia kryteriw
wyboru wierszy
spowodowaoby
uaktualnienie cen
wszystkich filmw

7. Uruchom kwerend znowu zostanie wywietlone ostrzeenie, informujce Ci

o programowej zmianie danych w tabeli.


8. Wywietl instrukcj jzyka SQL, tworzc kwerend. Powinna ona wyglda

nastpujco:
0

>8; B
7
 <C!D!D!BE;C

9. Zapisz kwerend pod nazw Film_Przecena.

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

(dla tej tabeli wyjtkowo nie twrz klucza podstawowego).


2. Utwrz now kwerend w widoku projektu.

70

Access 2003 PL. wiczenia praktyczne

3. Jako tabel rdow wybierz tabele Osoba i Film.


4. Zmie typ kwerendy na kwerend doczajc dane. W tym celu z menu Kwerenda

wybierz opcj Kwerenda doczajca.


5. Jako tabel docelow wybierz tabel biecej bazy danych Dluznicy.
6. Kliknij znajdujc si na pasku narzdzi Projekt kwerendy ikon Sumy.
7. Jako pierwsz kolumn kwerendy wybierz kolumn Nazwisko tabeli Osoba.

Zwr uwag, e w polu Doczanie do: tej kolumny automatycznie wywietlona


zostaa kolumna Nazwisko tabeli Dluznicy.
8. Jako drug kolumn kwerendy wybierz kolumn Telefon tabeli Osoba.

Poniewa kolumna o takiej samej nazwie rwnie znajduje si w tabeli docelowej,


zostaa ona automatycznie wywietlona w polu Doczanie do: tej kolumny.
9. Poniewa do tabeli Dluznicy maj zosta dopisane dane tylko wybranych,

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.

Aby wyczy ten komunikat:


a) z menu Narzdzia wybierz Opcje,
b) przejd do zakadki Edytowanie/znajdowanie,
c) odznacz pole wyboru Kwerendy akcji. Od teraz wykonanie kwerend

funkcjonalnych (kwerend aktualizujcych, dopisujcych lub usuwajcych)


nie bdzie wymagao potwierdzania.
12. Wywietl kwerend w Widoku SQL. Tworzca j instrukcja jzyka SQL

powinna wyglda nastpujco:


-- .) -.+#$* 9*
#*, -.+#$*#*,  9*

Rozdzia 4.  Kwerendy

71

#*,--=-
-#*, 2#*, >
2#*,
6034#*, -.+#$*#*,  9*
7?-6* 
2
F5

13. Zapisz kwerend pod nazw Dluznicy_3.

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

wybierz opcj Kwerenda usuwajca.


4. Jako pierwsz kolumn kwerendy wybierz symbol * tabeli Film (usun mona

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.

Zwr uwag, e w polu Usuwanie: tej kolumny pojawi si wpis Gdzie.


6. W polu Kryteria: kolumny Imie wpisz w cudzysowie imi osoby, o ktrej wiesz,

e i tak nigdy nie odda poyczonych filmw (rysunek 4.19).


Rysunek 4.19.
Wykonanie kwerendy
usuwajcej dane bez
okrelenia kryteriw
wyboru usuwanych
danych skoczyoby
si skasowaniem
wszystkich danych
z tabeli

7. Uruchom kwerend. Pamitaj, e spowoduje to automatyczne i nieodwracalne

usunicie danych o filmach poyczonych przez wybran osob.

72

Access 2003 PL. wiczenia praktyczne

8. Wywietl tworzc kwerend instrukcj jzyka SQL. Powinna ona wyglda

nastpujco:

8#*, 

#*,--=-
-#*, 2#*, >
2#*,
7#*, 
>')#.$'

9. Zapisz kwerend pod nazw Filmy_Usun.


Operacje kopiowania, zmiany nazw, importowania, eksportowania czy usuwania kwerend
przeprowadza si w ten sam sposb, co analogiczne operacje w odniesieniu do tabel.

Vous aimerez peut-être aussi