Materiały pomocnicze Program MS Access 2000 Na prawach rękopisu Warszawa 2002 Opracowanie: Janusz S. Wierzbicki Marta Wnukowicz
Spis treści 1. Wstęp...3 2. Uruchamianie programu MsAccess2000...4 3. Podstawowe obiekty bazy danych Ms. Access...6 3.1. Tabela...6 4. Relacja...9 4.1. Relacja jeden do jednego...9 4.2. Relacja jeden do wielu...10 4.3. Relacja wiele:wielu...10 5. W jaki sposób powiązać dwie tabele relacją?...12 5.1. Więzy integralności...14 6. Obiekt bazy danych formularz...15 6.1. Kolejne kroki tworzenia formularza....15 6.2. Umieszczanie przycisków na formularzu...19 7. Obiekt bazy danych kwerenda...22 7.1. Kwerenda wybierająca...25 7.2. Kwerenda wybierająca z wyrażeniem wiążącym - Co zrobić, aby w dodatkowym polu wyświetlały się, np. imiona i nazwiska łącznie (ze spacją między wyrazami)?...27 8. Przykładowe kwerendy do wykonania ćwiczenia samodzielne...28 8.1. Polecenia...28 8.2. Odpowiedzi polecenia w języku SQL...28 9. Kwerendy...29 9.1. Kwerenda aktualizująca...29 9.2. Kwerenda tworząca tabelę (powielająca)...31 9.3. Kwerenda krzyżowa...32 9.4. Kwerenda usuwająca...32 9.5. Kwerenda dołączająca...32 10. Obiekt bazy danych raport...33 11. Spis ilustracji...36 CET 2001 - Opracowanie materiałów: Marta Wnukowicz, Janusz S. Wierzbicki Strona 2
1. Wstęp Baza danych to zbiór powiązanych ze sobą informacji, które można przetwarzać za pomocą odpowiednich programów (np. Ms. Access, dbase, Ms. Works). Rodzaje elektronicznych baz danych:! kartotekowa (dbase)! relacyjne (Ms. Access) relacja = powiązanie = związek Program Ms. Access umożliwia: (cechy elektronicznej bazy danych)! przechowywanie zebranych informacji;! szybki dostęp do wybranych informacji;! porządkowanie informacji według różnych kryteriów;! szybką zmianę sposobu prezentacji danych;! budowanie unikatowych zestawów danych;! szybkie dołączania, uzupełnianie, modyfikowanie i usuwanie danych;! grupowanie danych;! dokonywanie obliczeń. Przed przystąpieniem do elektronicznego projektowania bazy, należy zastanowić się w jaki sposób będzie zbudowana baza, tzn. czego dotyczy, jakie będą w niej umieszczone dane, jakie istnieją zależności między danymi. Czyli jakie będą tabele w bazie oraz jakie relacje zachodzą między tabelami. CET 2001 - Opracowanie materiałów: Marta Wnukowicz, Janusz S. Wierzbicki Strona 3
2. Uruchamianie programu MsAccess2000 Jednym z takich programów jest MsAccess 2000, należący do pakietu MsOffice. Z menu Start wybieramy Programy następnie Microsoft Access. 1. Wybieramy Microsoft Access Rysunek 1. Wybór programu Otwiera się wtedy okno programu, w którym mamy możliwość wyboru: 1. pustej bazy danych gdy zakładamy nową bazę; 2. projekty, strony i kreatory baz danych jeżeli chcemy skorzystać z pomocy programu w tworzeniu bazy; 3. otwórz istniejący plik gdy otwieramy już zapisaną bazę danych, którą chcemy zmodyfikować. CET 2001 - Opracowanie materiałów: Marta Wnukowicz, Janusz S. Wierzbicki Strona 4
1. Wybieramy, jeżeli chcemy utworzyć nową bazę danych. 2. Zatwierdzamy wybór. Rysunek 2. Startowe okno dialogowe Jeżeli otwieramy pustą bazę danych, to program od razu proponuje zapisanie jej pod domyślną nazwą db1. Nazwę oczywiście możemy wpisać dowolną a następnie, po wyborze miejsca zapisu bazy, wciskamy przycisk Utwórz program utworzy nową bazę - patrz Rysunek 4 Rozdział 3. 1. Wybór miejsca zapisu bazy. 2. Wpisanie nazwy pliku. 3. Utworzenie bazy danych poprzez zapisanie jej na dysku. Rysunek 3. Zapisywanie tworzonej bazy danych CET 2001 - Opracowanie materiałów: Marta Wnukowicz, Janusz S. Wierzbicki Strona 5
3. Podstawowe obiekty bazy danych Ms. Access W bazie danych Ms. Acces jest siedem obiektów. Niemniej podstawowymi, niezbędnymi obiektami, którymi będziemy się zajmować są wyróżnione cztery:! tabele;! formularze;! kwerendy (zapytanie);! raporty;! moduły;! makra;! strony (Ms. Access 2000) 1. Pole wyboru obiektów. Rysunek 4. Obiekty w bazie danych Ms. Access 2000. 3.1. Tabela Podstawowym obiektem programu Access jest tabela, w niej są przechowywane dane. Tabelę można utworzyć korzystając z trzech możliwości:! w widoku projektu tabeli;! za pomocą kreatora dla osób mniej zaawansowanych;! w widoku arkusza danych od razu można wprowadzać dane najprostszy sposób. Najlepszym sposobem jest samodzielne projektowanie tabeli mamy wtedy najpełniejszą orientację, jak zbudowana jest tabela. CET 2001 - Opracowanie materiałów: Marta Wnukowicz, Janusz S. Wierzbicki Strona 6
1. Trzy sposoby tworzenia tabeli - podświetlony preferowany i opisany sposób. 2. Utworzone dwa obiekty tabele zapisują się poniżej Rysunek 5. Tworzenie tabeli w widoku projektu. Otworzy się widok projektu tabeli. Musimy nadać nazwy polom, zdefiniować dla każdego pola typ danych, jaki będzie się w tym polu znajdował, oraz w zależności od potrzeby ustalić parametry tych pól, np. jaka będzie wyświetlana nazwa pola lub format daty. Tu także zakładamy klucz podstawowy. Na rysunku zostały już wprowadzone nazwy pól, typy danych oraz parametry. Po wpisaniu nazwy pola i wybraniu dla niego typu danych, pod tabelą pól uaktywnia się miejsce, w którym możemy ustalić dodatkowe parametry dla projektowanego pola tabeli. 3. Ikona widoku arkusza danych wybierając ją zmienimy sposób wyświetlani tabeli. 1. Ustalona nazwa pola i wybrany typ danych Data/Godzina 2. Miejsce ustalania parametrów dla konkretnego pola tu dla pola o nazwie datazatrudnie nia patrz chmurka 1. Rysunek 6. Tabela - widok projekt tabeli. CET 2001 - Opracowanie materiałów: Marta Wnukowicz, Janusz S. Wierzbicki Strona 7
Po zaprojektowaniu tabeli należy przejść do widoku arkusza danych tabeli patrz Rysunek 6 chmurka 1. 1. Wybierając ikonę ekierki i ołówka przejdziemy ponownie do widoku projektu tabeli takiego jaki przedstawia Rysunek 6 Rysunek 7. Tabela - widok arkusza danych. 2. Typ wprowadzanych danych dla pola o nazwie datazatrudnienia Data/Godzina a parametr to format daty krótkiej (format, czyli tu sposób wyświetlenia daty) Wiersz w tabeli to rekord, kolumna w tabeli to pole, nagłówek w tabeli to nagłówek pola. Poszczególne pola w tabeli muszą być jednego, określonego typu, w zależności od tego jakiego rodzaju wartości są w nim przechowywane (np. typ tekstowy to wartości tekstowe, typ liczbowy to wartości liczbowe, typ daty to data). Dla pól o ustalonym typie można podać dodatkowe parametry związane np. z maksymalną długością elementów danych przechowywanych w polu (np. długość numeru NIP), sposobem jego wyświetlania w tabeli (np. data = rrrr.mm.dd lub dd.mm.rrrr). Przykładowe typy pól: 1. Tekst wybieramy, gdy dane w polu, będą tekstowe, np. nazwisko, adres; 2. Autonumer jeżeli program ma sam automatycznie numerować rekordy; 3. Liczba jeśli dane w polu maja być liczbami; 4. Tak/Nie jeśli będzie to pole wyboru; 5. Walutowy gdy wprowadzamy walutę; 6. Data/Godzina jeżeli w danym polu będą dane dotyczące daty lub godziny; 7. itd. Imię Nazwisko Data urodzenia 1. Nazwa pola (nagłówek tabeli) 2. Rekord (wiersz tabeli) 3. Pole (kolumna tabeli) Rysunek 8. Elementy w tabeli. CET 2001 - Opracowanie materiałów: Marta Wnukowicz, Janusz S. Wierzbicki Strona 8
4. Relacja Relacja, czyli powiązanie między parą tabel. Relacja zachodzi między parą tabel. Żeby można było utworzyć relację, należy zdefiniować klucze podstawowe dla tych tabel (oraz w zależności od rodzaju zachodzącej relacji, również klucz obcy we właściwej tabeli). Klucz podstawowy - zakłada się zazwyczaj na jedno pole zawierające wartości unikatowe. Wartości w komórkach tego pola służą do jednoznacznej identyfikacji rekordów. Cechy relacyjnej bazy danych:! dane przechowywane są w tabelach;! tabela składa się z rekordów i pól;! każdy rekord wyróżniany jest przez zawierające niepowtarzalną, unikatową wartość, w związku z tym kolejność pól i rekordów w tabeli jest bez znaczenia. Rodzaje relacji:! jeden do jednego;! jeden do wielu;! wielu do wielu. 4.1. Relacja jeden do jednego Istnieje w sytuacji, gdy pojedynczemu rekordowi w jednej tabeli przyporządkowany jest najwyżej jeden rekord z drugiej tabeli i na odwrót. Tabela A (Oddziały szpitalne) Tabela B (Ordynatorzy) Rysunek 9. Relacja jeden do jednego. Oddział może mieć tylko jednego ordynatora i odwrotnie ordynator może zarządzać tylko jednym oddziałem szpitala (łączymy relacją klucze podstawowe obu tabel). Zastosowanie: 1. Jeżeli chcemy przechowywać informacje o bardzo skomplikowanych obiektach (tabela w programie Access może zawierać tylko 255 pól). CET 2001 - Opracowanie materiałów: Marta Wnukowicz, Janusz S. Wierzbicki Strona 9
2. Jeżeli chodzi o ład w przechowywanych danych tworzy się wtedy dwie tabele:! tabelę główną! tabelę podporządkowaną. Tabela podporządkowana służy do przechowywania danych będących podzbiorem tabeli głównych, np. w tabelach będą następujące pola:! tabeli główna = pracownicy Uniwersytetu (np. imię, nazwisko, adres, data_urodzenia)! tabela podporządkowana = pracownicy naukowi (np. tytuł_naukowy, data_otrzymania). Tu przechowywane są dane charakterystyczna tylko dla pracowników naukowych. Utworzenie tabeli podporządkowanej jest uzasadnione tym, ze w tabeli głównej nie będzie pustych, niezapisanych pól. 4.2. Relacja jeden do wielu Najczęściej stosowany rodzaj relacji. Rekordowi w jednej tabeli może odpowiadać jeden lub więcej rekordów z drugiej tabeli, ale pojedynczemu rekordowi drugiej tabeli odpowiada najwyżej jeden rekord z pierwszej tabeli Tabela A (Klienci) Tabela B (Zamówienia) Rysunek 10. Relacja jeden do wielu. Np. relacja miedzy tabelą Klienci i Zamówienia. Pojedynczy klient może składać wiele zamówień, natomiast pojedyncze zamówienie należy do pojedynczego klienta (tworzy się poprzez połączenie klucza podstawowego z tabeli Klienci i klucza obcego z tabeli Zamówienia). Klucz obcy jest kopią klucza podstawowego (nazwa pola, typ danych, parametry klucza podstawowego i jego kopii muszą być identyczne. Tylko w jednym przypadku mogą nie mieć identycznych typów danych - pozornym wyjątkiem może być typ danych liczba i autonumer. Autonumer też jest liczbą, więc tak naprawdę nie jest to wyjątek, dlatego nazywany ten przypadek pozornym wyjątkiem). 4.3. Relacja wiele:wielu Też często stosowana. Istnieje wtedy, gdy rekordowi w jednej tabeli może odpowiadać jeden lub więcej rekordów z drugiej tabeli, jednocześnie pojedynczemu rekordowi drugiej tabeli odpowiada jeden lub więcej rekordów z pierwszej tabeli. W praktyce relacje tego typu trudno jest stworzyć bezpośrednio bez zapisywania powtarzających się informacji. Poza tym tak CET 2001 - Opracowanie materiałów: Marta Wnukowicz, Janusz S. Wierzbicki Strona 10
powiązane tabele sprawiały by kłopoty przy dopisywaniu, modyfikacji czy usuwaniu danych. Dlatego też wprowadza się dodatkową tabelę tzw. tabelę łączącą. Służy ona do połączenia danych w dwóch innych tabelach. Służy ona do połączenia danych w dwóch innych tabelach. Relacja wiele do wielu jest w istocie dwiema relacjami jeden do wielu. Studenci Idstudenci Adres Wykładowcy Idwykładowcy sala Relacja jeden do wielu Studenci/Wykłady Idstudenci idwykłady Relacja jeden do wielu Rysunek 11. Relacja wiele do wielu. Np. Jeden student może chodzić na wiele wykładów, podobnie na jeden wykład może uczęszczać wiele studentów. Tabele Studenci i Wykłady są powiązane relacją wiele do wielu zdefiniowaną przez utworzenie dwóch relacji 1:wielu z tabelą łączącą Studenci/Wykłady. Uwaga: nazwa tabeli łączącej powinna odzwierciedlać tworzoną relację. (np. Studenci/Wykłady) Tabela łącząca studenci/wykłady składa się z kopii kluczy podstawowych obu łączonych tabel. Zestaw dwóch kluczy tworzy złożony klucz podstawowy, składający się z dwóch pól, a nie jednego, czyli tabela łączącą składa się z dwóch kluczy obcych, będących kopiami kluczy podstawowych łączonych tabel (złożony klucz podstawowy musi mieć również unikatowe wartości) Obowiązkowe pola w tabeli łączącej to oba klucze obce, ale mogą się też w niej znaleźć inne pola. CET 2001 - Opracowanie materiałów: Marta Wnukowicz, Janusz S. Wierzbicki Strona 11
5. W jaki sposób powiązać dwie tabele relacją? Tabele powinny być zaprojektowane, nie muszą mieć wpisanych danych (jeśli dane są wpisane, nie przeszkadzają w założeniu relacji). Tabele muszą być zamknięte. Z menu Narzędzia wybieramy opcję Relacje... 1. Z menu Narzędzia wybieramy opcję Relacje... Rysunek 12. Otwieranie okna relacji. Otworzy się okno relacji, w którym ustalamy rodzaj relacji między tabelami. Może być puste, więc należy dodać do niego obiekty, które chcemy łączyć relacją są to z reguły tabele (relacją można łączyć również kwerendy). Patrz Rysunek 13. Należy wybrać przycisk Pokaż tabele (chmurka 1), pokaże się okno o nazwie Pokazywanie tabeli, w którym wskazujemy tabele, które chcemy łączyć relacją i wybieramy przycisk Dodaj (chmurka 3). CET 2001 - Opracowanie materiałów: Marta Wnukowicz, Janusz S. Wierzbicki Strona 12
1. przycisk Pokaż Tabele 3. Wciskając przycisk Dodaj, dodajemy obiekty do okna relacji. 4. Zamykamy operację dodawania obiektów do okna relacji. 2. Tabela wskazana do dodania do okna relacji. Rysunek 13. Dodawanie obiektów w oknie relacji. Zamykamy okno wybierając przycisk Zamknij (chmurka 4). Teraz okno relacji wygląda następująco patrz Rysunek 14. 1. Relacja jeden do wielu z wymuszonymi więzami integralności. Klikając prawym klawiszem myszy dokładnie na linii możemy edytować relację (w celu ustalenia więzów integralności) lub ją usunąć. Rysunek 14. Okno relacji z utworzoną relacją jeden do wielu. Łączymy klucz podstawowy z tabeli dane_pracowników z kopią tego klucza (czyli kluczem obcym) z tabeli zlecenia. Otwiera się okno Edytowanie relacji, zaznaczamy Wymuszaj więzy integralności Utwórz patrz Rysunek 15. CET 2001 - Opracowanie materiałów: Marta Wnukowicz, Janusz S. Wierzbicki Strona 13
1. Zaznaczając Wymuszaj więzy integralności uaktywniamy pola poniżej chmurka 2 i 3 2. Kaskadowo aktualizuj pola pokrewne 3. Kaskadowo usuń rekordy pokrewne Rysunek 15. Wymuszanie więzów integralności. 4. Nazwa rodzaju zachodzącej między tabelami relacji! 5.1. Więzy integralności Więzy integralności to system reguł zapewniający poprawność związków między rekordami tabel połączonych relacją (np. uniemożliwia przypadkowe usunięcie rekordów albo zmianę wartości klucza podstawowego). Natomiast jeżeli chcemy w już zbudowanej bazie i uzupełnionej danymi:! dokonać zmiany wartości klucza podstawowego w rekordzie tabeli podstawowej, to należy zaznaczyć pole (2 1 ), wtedy dokona się automatyczna aktualizacja tej wartości we wszystkich rekordach powiązanych, np. jeśli w tabeli dane_pracownika zmieni się wartość IDpracownika, w tabeli Zlecenia zostaną automatycznie zmienione wartości pól Idpracownika w każdej fakturze tego pracownika, tak aby nie naruszyć istniejącej relacji.! usunąć rekord z tabeli podstawowej, to należy zaznaczyć pole (3), wtedy dokona się automatyczne usunięcie wszystkich rekordów powiązanych w tabeli powiązanej. Na przykład jeśli z tabeli dane_pracownika usunie się rekord pracownika, z tabeli Zlecenia zostaną automatycznie usunięte wszystkie zlecenia tego pracownika (dotyczy to również rekordów w innych tabelach powiązanych relacją a tabelą Zlecenia gdyby jeszcze istniały w naszej bazie dodatkowe tabele) 1 Numer w nawiasie oznacza numer chmurki wskazującej, gdzie daną czynność możemy wykonać patrz Rysunek 15 CET 2001 - Opracowanie materiałów: Marta Wnukowicz, Janusz S. Wierzbicki Strona 14
6. Obiekt bazy danych formularz Formularz służy do wprowadzania danych do tabel, do prezentowania danych, jako okna dialogowe, ułatwiające poruszanie się po aplikacji (bazie danych). 6.1. Kolejne kroki tworzenia formularza. 1. W oknie bazy danych wybieramy obiekt Formularz patrz Rysunek 17. 1. Dwa sposoby tworzenia formularza - podświetlony preferowany i opisany sposób. 2. Utworzone dwa obiekty formularz i podformularz zapisują się poniżej. Rysunek 16. Obiekt bazy danych formularz. 2. Utwórz formularz w widoku projekt formularza otworzy się okienko z zupełnie czysta kartką formularza, na którym musimy umieścić pożądane obiekty z konkretnych, np. tabel patrz Rysunek 17. CET 2001 - Opracowanie materiałów: Marta Wnukowicz, Janusz S. Wierzbicki Strona 15
2. Nieaktywna ikona Listy pól. 1. Prawy klawisz myszy/ Właściwości 3. Pole formularza jeszcze czysta, niezwiązana kartka. Rysunek 17. Umieszczanie danych na formularzu 3. Po wybraniu Właściwości formularza otworzy się okienko właściwości obiektów dotyczące formularza o nazwie Formularz patrz Rysunek 18. Na zakładce Dane w polu Źródło rekordów wybieramy z listy nazwę, np. tabeli, z której pola będziemy umieszczać na formularzu (z tą tabelą formularz będzie ściśle związany). 1. Źródłem rekordów jest tabela o nazwie dane pracowników wybrana z listy rozwijanej. Rysunek 18. Właściwości formularza. CET 2001 - Opracowanie materiałów: Marta Wnukowicz, Janusz S. Wierzbicki Strona 16
4. Zamykamy okienko właściwości formularza. Automatycznie uaktywnia się przycisk Lista pól i otwiera okienko o tej samej nazwie, z którego zrzucamy pola wybranej tabeli na formularz patrz Rysunek 18. 1. Aktywna i włączona Lista pól. 2. Otwarte okno listy pól., z którego zrzucamy wybrane pola na formularz. 4. Etykieta 5. Pole - w którym w widoku formularza wprowadzamy dane w projekcie możemy tylko formatować. 3. Umieszczone na formularzu pole razem z etykietą, czyli nazwą pola. Rysunek 19. Zrzucanie pól tabeli na formularz. Możemy zrzucić wszystkie pola lub tylko wybrane. Pole pojawi się razem z etykietą. Można je, np. przenosić, formatować 2, usuwać tak jak każdy obiekt graficzny jeżeli jest zaznaczony, czyli otoczony kwadracikami. Żeby wprowadzać dane w formularzu musimy mieć pole, etykieta tylko informuje nas, jakie dane mamy wpisać do pola. Usunięcie etykiety nie wpływa na prawidłowe funkcjonowanie formularza. Jest ona tylko tekstem informacyjnym ważnym z punktu widzenia czytelności formularza pozwala nam ustrzec się błędnego wpisania danych do pola tabeli. 5. Po umieszczeniu wszystkich pól na formularzu i starannym ich sformatowaniu, przechodzimy do widoku formularza, aby móc wprowadzać dane do tabeli. Poprzez formularz bowiem uzupełniamy dane w tabelach. Z menu Widok wybieramy opcję Widok formularz patrz Rysunek 20. Jeżeli chcemy poprawić coś na formularzu, to ponownie musimy przejść do jego projektu z menu Widok wybieramy opcję Widok projekt. 2 formatować ogólnie mówiąc zmienić, dostosowywać do swoich potrzeb, np. kolor tekstu, rysunku, jego rozmiar, itd. Żeby sformatować tekst, rysunek, czy inny obiekt należy go zaznaczyć tekst podświetlić, a na rysunku kliknąć raz lewym klawiszem myszy, żeby pojawiły się kwadraciki zaznaczenia. CET 2001 - Opracowanie materiałów: Marta Wnukowicz, Janusz S. Wierzbicki Strona 17
Rysunek 20. Widok formularza gotowego do wprowadzania danych. CET 2001 - Opracowanie materiałów: Marta Wnukowicz, Janusz S. Wierzbicki Strona 18
6.2. Umieszczanie przycisków na formularzu Żeby umieścić przycisk na formularzu, należy uaktywnić pasek narzędzi o nazwie Przybornik. Wciskamy na pasku narzędzi Widok formularza przycisk Przybornik ( ), pojawi się pasek narzędzi o tej samej nazwie patrz Rysunek 21 (2) 1. Przycisk Przybornik 2. Pasek narzędzi Przybornik 3. Wciskamy ikonę o nazwie Przycisk polecenia 4. Przyciski umieszczone na formularzu. Rysunek 21. Przybornik - umieszczanie przycisków na formularzu.! wybieramy przycisk o nazwie Przycisk polecenie, przenosimy kursor myszy nad projekt formularza i trzymając wciśnięty przycisk myszy rysujemy obiekt na projekcie; gdy zadowala nas wielkość przycisku, puszczamy lewy klawisz myszy.! otworzy się kreator przycisków patrz Rysunek 22 należy wybrać interesującą nas kategorię i akcję jaką wykona przycisk, po jego naciśnięciu, w widoku formularza. W tym przypadku, został wybrany przycisk, z pomocą którego możemy przemieszczać się pomiędzy rekordami, a konkretnie przejść do następnego rekordu. CET 2001 - Opracowanie materiałów: Marta Wnukowicz, Janusz S. Wierzbicki Strona 19
Rysunek 22. Kreator przycisków krok pierwszy.! W następnym kroku, po wybraniu przycisku Dalej>, ustalamy czy na przycisku umieścimy tekst, czy obraz (najlepiej symbolizujący działanie przycisku) patrz Rysunek 23. Rysunek 23. Kreator przycisków krok drugi.! W kolejnym kroku możemy nadać nazwę przyciskowi, ale nie jest to czynność niezbędna patrz Rysunek 24 wciskając przycisk Zakończ zamykamy kreatora przycisków. CET 2001 - Opracowanie materiałów: Marta Wnukowicz, Janusz S. Wierzbicki Strona 20
Rysunek 24. Kreator przycisków - krok trzeci. Umieszczony w ten sposób przycisk na siatce możemy formatować (podobnie jak inne obiekty) nadając mu odpowiednią wielkość, zmienić miejsce jego położenia, jak również wybierając jego Właściwości (prawy klawisz myszy na przycisku) ustalić dodatkowe lub zmienić jego właściwości. CET 2001 - Opracowanie materiałów: Marta Wnukowicz, Janusz S. Wierzbicki Strona 21
7. Obiekt bazy danych kwerenda Kwerenda inaczej zapytanie. Kwerendy tworzymy najczęściej na podstawie tabel, ale również innych kwerend lub kwerend i tabel. Są one obiektami źródłowymi dla kwerendy. Kwerenda umożliwia: 1. wybór informacji z obiektu źródłowego wg. kryteriów zdefiniowanych przez użytkownika; 2. łączenie informacji z kilku źródeł; 3. porządkowanie danych; 4. dokonywanie obliczeń na danych; 5. szybszą aktualizację danych (zmianę wartości w określonych rekordach, tworzenie nowych tabel, dołączanie, usuwanie rekordów). Rodzaje kwerend: 1. wybierająca; 2. aktualizująca; 3. krzyżowa; 4. usuwająca; 5. dołączająca; 6. tworząca tabelę. Kwerendy można tworzyć w dwojaki sposób: 1. w widoku projekt; 2. za pomocą kreatora. Z okna bazy wybieramy obiekt Kwerenda. Następnie otwieramy widok projekt kwerendy patrz Rysunek 25. 1. Dwa sposoby tworzenia formularza - podświetlony preferowany i opisany sposób 2. przykładowe pliki kwerend. Rysunek 25. Tworzenie kwerendy. CET 2001 - Opracowanie materiałów: Marta Wnukowicz, Janusz S. Wierzbicki Strona 22
Otworzy się okno projektu kwerendy, oczywiście najpierw należy wybrać obiekty, z pola wykorzystamy do tworzenia zapytania. Obiekty do kwerendy wybieramy z okna Pokazywanie tabeli (w taki sam sposób, jak obiekty, z których mają być wybrane pola umieszczone na formularzu) patrz Rysunek 26. Rysunek 26. Wybieranie obiektów, z których pola mają być umieszczone na siatce. Po dodaniu tabel, możemy przystąpić do tworzenia kwerendy patrz Rysunek 27. Uwaga * zastępuje dowolny ciąg znaków? zastępuje tylko jeden znak CET 2001 - Opracowanie materiałów: Marta Wnukowicz, Janusz S. Wierzbicki Strona 23
1. Tabele, z których zrzucamy wybrane pola na siatkę kwerendy. 2. Siatka kwerendy. Rysunek 27. Widok projektu kwerendy. Pole: Nazwisko Tabela: Pracownicy Sortuj: Rosnąco Pokaż: Kryteria: Like "K*" Lub: Like "R*" 1. Pojawi się nazwa pola. 2. Nazwa obiektu (tu tabeli), z którego 3. Wybór z listy sposobu sortowania. 4. Jeśli w kwadraciku będzie zaznaczenie- pole pojawi się w widoku arkusza danych, jeśli nie pole zostanie ukryte. 5. Wpisujemy warunek, czyli kryterium. 6. Wpisujemy drugi warunek z alternatywy kryteriów. Rysunek 28. Siatka kwerendy - opis. Zastosowane w powyższym przykładzie kryterium brzmi następująco i oznacza: Like "K*" lub Like "R*" Wybierz z tabeli nazwiska rozpoczynające się na literę K lub nazwiska rozpoczynające się na literę R (alternatywa wyboru) wyświetlą się wszystkie nazwiska rozpoczynające się na literę K lub nazwiska rozpoczynające się na literę R lub jedne i drugie. Po wprowadzeniu wszystkich niezbędnych pól oraz wpisaniu kryteriów, uruchamiamy kwerendę aby zobaczyć jej wynik wciskamy przycisk o nazwie Uruchom. Wyniki wyświetlą się w widoku arkusza danych. Zapisujemy kwerendę nadając jej nazwę adekwatna do wykonywanej przez nią funkcji. CET 2001 - Opracowanie materiałów: Marta Wnukowicz, Janusz S. Wierzbicki Strona 24
7.1. Kwerenda wybierająca Warunki określające kwerendę wybierającą 3 : 1. sortowanie malejące lub rosnące; 2. wybieranie wg kryterium tekstowego, np.! wybierz wszystkie osoby, których nazwiska rozpoczynają się na literę K Like "K*" (wystarczy, że wpiszemy w polu kryterium - K*)! wybierz wszystkich, którzy mieszkają w Warszawie Like "Warszawa" (wystarczy, że wpiszemy w polu kryterium Warszawa) 3. wybieranie według kryterium liczbowego, np.! wybierz osoby, które zarabiają więcej niż 3000 >3000! wybierz osoby, które zarabiają mniej niż 3000 <3000 4. złożone warunki wyboru:! Koniunkcja (i)=(and) oba warunki muszą być spełnione - koniunkcja kryteriów dla tego samego pola (warunek umieszczony jest w jednym polu siatki) warunek1 and warunek2 np1. >7 and <9 znajdź te osoby, których stawka za godzinę mieści się w przedziale między 7 i 9 złotych np2. Like "M*" and Like "*a" (M* and *a) znajdź takie osoby, których nazwisko rozpoczyna się na literę M* i kończy na literę *a - koniunkcja kryteriów dla kilku różnych pól (warunki umieszczone w kilku polach siatki) POLE KRYTERIUM Kod_działu ZA Stawka <8 np. wybierz osoby, które pracują w dziale Zaopatrzenia (kod działu ZA) i mają stawkę za godzinę mniejszą niż 8 zł.! Alternatywa (lub) = (or) - alternatywa kryteriów dla tego samego pola (spełnienie jednego z dwóch lub więcej warunków) warunek1 or warunek2 np. Like "W*" or Like "Z*" (W* or Z*) wybierz osoby, których nazwiska rozpoczynają się na literę W lub litere Z (wyświetlą się nazwiska na literę W i literę Z, a jeśli nie ma na Z to wyświetli na W i odwrotnie) Uwaga w jednej komórce nie będzie zarówno nazwiska na W i na Z. - alternatywa kryteriów różnych pól definiuje się ją poprzez wpisanie pojedynczych warunków na poziomie wiersza KRYTERIA, w wierszu LUB dla tych pól. 5. uzupełnianie danych za pomocą kwerendy wyszukującej puste (niepuste) komórki pola, np. znajdź rekordy, które nie mają uzupełnionych danych w polu STANOWISKO. 3 Według... CET 2001 - Opracowanie materiałów: Marta Wnukowicz, Janusz S. Wierzbicki Strona 25
Dwa etapy uzupełniania danych:! zaprojektowanie kwerendy wybierającej puste miejsca w tabeli wymagającej uzupełnienia. Wpisanie w polu kryterium dla odpowiedniego pola tabeli polecenia IS NULL! uruchomienie kwerendy wyświetli się arkusz danych wpisanie brakujących danych Zamknięcie wyników kwerendy (arkusza danych) pociąga za sobą automatyczne skopiowanie wprowadzonych informacji do tabeli źródłowej. Polecenia: IS NULL = puste IS NOT NULL = nie puste 6. Definiowanie pól obliczeniowych: Definiujemy dodatkowe pole w widoku projektu kwerendy. Możemy to wykonać w dwojaki sposób:! wpisujemy wyrażenie w pierwszym wierszu siatki kwerendy (Pole:), np. [Czas pracy]*[stawka] Jeżeli argumentami wyrażenia są nazwy pól, to muszą być ujęte w nawiasy kwadratowe. Bardzo ważne jest, abyśmy nie popełnili błędu w nazwie pola, nawet istotna jest wielkość liter.! za pomocą kreatora - prawy klawisz myszy na pustej komórce pierwszego pola siatki o nazwie (Pole:) i wybieramy opcję Buduj... Otworzy się okno konstruktora wyrażeń - patrz Rysunek 29. 5. Pole wyrażenia tu pojawia się budowane wyrażenie. 1. Pole zawierające foldery z listami obiektów znajdujących się w bazie, z których wybieramy elementy wyrażenia, czyli pola 4. Często używane operatory. 3. Przycisk Wklej 2. Pola wybranej tabeli.. Rysunek 29. Konstruktor wyrażeń. - z pola (1 4 ) wybieramy z listy folderów interesujący nas obiekt; - w polu (2) pokażą się wszystkie pola znajdującej się w wybranej tabeli zaznaczamy wybrane pole do wyrażenia; 4 Numer w nawiasie oznacza numer chmurki wskazującej, gdzie daną czynność możemy wykonać patrz Rysunek 29 CET 2001 - Opracowanie materiałów: Marta Wnukowicz, Janusz S. Wierzbicki Strona 26
- wciskamy przycisk Wklej (3); - w oknie (1) pojawi się pierwszy argument (w nawiasach nazwa tabeli i nazwa pola); - wciskamy właściwy operator (4) - tu znak odejmowania; - operator pojawi się w polu (1); - wskazujemy w oknie (2) kolejne pole, które zostanie użyte do wyrażenia (natomiast jeśli drugi argument wyrażenia nie znajduje się w wybranej tabeli, to musimy powrócić do pierwszego kroku wybrać z okna (1) obiekt, w którym zawarty jest drugi argument i w oknie (2) wybieramy pole do wyrażenia); - wciskamy ponownie przycisk Wklej (3); - w oknie (1) pojawi się drugi argument; - jeżeli wyrażenie zostało już skonstruowane, to zatwierdzamy przyciskiem OK. - wyrażenie zostanie wpisane w pierwszym wierszu siatki zostało dodane kolejne pole, w którym będzie działało wyrażenie dokona się obliczenie dla każdego rekordu tabeli patrz Rysunek 30. 1. Komórka, w której wpisało się utworzone za pomocą konstruktora wyrażenie. Rysunek 30. Zdefiniowane wyrażenie. Konstruktor ułatwia definiowanie bardziej złożonych wyrażeń. 7.2. Kwerenda wybierająca z wyrażeniem wiążącym - Co zrobić, aby w dodatkowym polu wyświetlały się, np. imiona i nazwiska łącznie (ze spacją między wyrazami)? Należy pamiętać, że w jednym polu tabeli muszą znajdować się imiona a w drugim nazwiska. Nie wolno w jednym polu wpisywać imion i nazwisk wynika to z właściwej organizacji danych w bazie. Czasem jednak chcemy, aby imię i nazwisko osoby znajdowało się w jednej komórce. Możemy spowodować, że te dane będą się tak wyświetlały, tworząc dodatkowe pole w tabeli, w którym utworzymy wyrażenie wiążące dane z obu interesujących nas pól. Będzie to tylko sposób wyświetlenia danych, a nie zmiana ich organizacji. Jeżeli chcielibyśmy modyfikować dane w tabeli, musielibyśmy wprowadzić nowe imię w polu Imię a nazwisko w polu Nazwisko. Konstruowanie wyrażenia wiążącego w siatce kwerendy w widoku projekt: CET 2001 - Opracowanie materiałów: Marta Wnukowicz, Janusz S. Wierzbicki Strona 27
1. w wierszu Pole prawy klawisz myszy Buduj...; 2. wybieramy tabelę, w której są interesujące nas pola; 3. wybieramy pole Imię; 4. wklejamy je do okienka wyrażenia podobnie jak przedstawia Rysunek 29 (5); 5. wpisujemy &" "& (po wpisaniu pojawi się spacja między imieniem a nazwiskiem); 6. wybieramy pole Nazwisko; 7. wklejamy je do okienka wyrażenia; 8. zatwierdzamy wyrażenie. 8. Przykładowe kwerendy do wykonania ćwiczenia samodzielne Kwerendy są opracowane do konkretnej bazy bazy ćwiczeniowej 8.1. Polecenia 1. Znajdź osoby, których nazwiska rozpoczynają się na literę K, posortuj je malejąco wg nazwiska. 2. Znajdź osoby, których nazwiska rozpoczynają się na literę K oraz na literę Z. 3. Znajdź osoby, których nazwiska rozpoczynają się na literę M i kończące się literą a. 4. Znajdź osoby, których nazwiska rozpoczynają się na literę K, posortuj rosnąco według płacy. 5. Znajdź osoby, które zarabiają więcej niż 3000 ale mniej niż 4000 złotych. 6. Oblicz płaca minus zaliczka; 7. Oblicz wypłatę mnożąc stawkę za godzinę razy liczbę przepracowanych godzin; 8. Oblicz ile zleceń ma poszczególny pracownik. 9. Oblicz 5% premii dla każdego pracownika wyświetl to pole w formacie walutowym. 8.2. Odpowiedzi polecenia w języku SQL 1. Like "K*" - do pierwszej części polecenia. 2. Like "K*" or Like "Z*" 3. Like "M*" and Like "*a" 4. Tak jak w kwerendzie 1 tylko, że sortowanie należy wybrać w polu płaca. 5. >3000 and <4000 6. Możemy skorzystać z konstruktora wyrażeń. 7. Możemy skorzystać z konstruktora wyrażeń. 8. Pola do wyrażenia pochodzą z dwóch różnych tabel, połączonych ze sobą relacją jeden do wielu.! w siatce kwerendy wierszu Pole należy wpisać następujące wyrażenie: Policz of zlecenia: Policz(*) (zlecenia to nazwa tabeli)! prawy klawisz myszy na siatce i wybieramy opcję Sumy do siatki doda się wiersz o nazwie Podsumowanie: i w tym wierszu z listy wybieramy Wyrażenie! uruchamiamy kwerendę. 9. [stawka]*0,05. Stojąc kursorem w tym polu, wybieramy z menu Widok opcję Właściwości i na zakładce Ogólne w wierszu Format, wybieramy z listy format walutowy. CET 2001 - Opracowanie materiałów: Marta Wnukowicz, Janusz S. Wierzbicki Strona 28
9. Kwerendy Poza najczęściej stosowana kwerendą wybierającą, można tworzyć jeszcze inne rodzaje kwerend. Zostaną one krótko opisane w niniejszym rozdziale. 9.1. Kwerenda aktualizująca Projektuje się ją w celu zaktualizowania danych w tabeli. Przygotowujemy ją w dwóch etapach: 1. tworzymy kwerendę wybierającą zrzucamy z tabeli na siatkę kwerendy pole (np. płaca), w którym chcemy zaktualizować wartości; 2. stojąc kursorem myszy w zrzuconym polu, wybieramy z menu Kwerenda opcję kwerenda aktualizująca patrz Rysunek 31. 2. Z menu Kwerenda wybieramy opcję Kwerenda aktualizująca. 1. Zrzucone pole, w którym mamy zaktualizować dane. Rysunek 31. Kwerenda aktualizująca - etap pierwszy.! po wybraniu kwerendy aktualizującej zmieni się wygląd siatki projektu kwerendy. Następnie w polu Zmiana na: wpisujemy algorytm zamiany, np. [Płaca]*1,5 (nazwa pola w nawiasach kwadratowych) patrz Rysunek 32; CET 2001 - Opracowanie materiałów: Marta Wnukowicz, Janusz S. Wierzbicki Strona 29
1. Pole kwerendy aktualizującej Zamian na: Rysunek 32. Kwerenda aktualizująca - etap drugi.! uruchamiamy kwerendę.! otwieramy tabele, w której aktualizowaliśmy pola, sprawdzamy, że operacja się dokonała. W tabeli, w polu, w którym dane aktualizowaliśmy zostaną zmienione dane nie można będzie już cofnąć tej operacji. Uwaga Każdorazowe naciśnięcie kwerendy aktualizującej patrz Rysunek 33 (1) powoduje ponowna aktualizację w wybranym polu tabel. Jeśli bez uzasadnienia wybierzemy tę kwerendę, to wartości w polu tabeli zostaną zaktualizowane, a operacji nie będzie można cofnąć! Jeżeli chcemy zmienić warunek zamiany, to na nazwie kwerendy należy wcisnąć prawy klawisz myszy i wybrać Widok projekt patrz Rysunek 33(2). Przed nazwą każdego utworzonego pliku kwerendy, której uruchomienie powoduje nieodwracalne zmiany (np. tak, jak w przypadku kwerendy aktualizującej) wyświetlany jest wykrzyknik patrz Rysunek 33(1). CET 2001 - Opracowanie materiałów: Marta Wnukowicz, Janusz S. Wierzbicki Strona 30
1. Zapisana kwerenda aktualizująca 2. Otwieranie widoku projektu kwerendy w celu zmiany warunku. Rysunek 33. Otwieranie już zapisanej kwerendy aktualizującej. 9.2. Kwerenda tworząca tabelę (powielająca) Kwerenda powielająca przekształca zestaw danych przygotowany na podstawie kwerendy, np. wybierającej na tabelę. Nowa tabela będzie umieszczona w oknie obiektu Tabele. Projektowanie tej kwerendy przebiega w dwóch etapach: 1. przygotowanie kwerendy wybierającej, np. zrzucamy pole nazwisko z jednej tabeli i pole zlecenia z drugiej tabeli. Obliczmy ilość zleceń jaką przeprowadził każdy pracownik patrz Rysunek 34. Chcemy utworzyć tabelę, w której będą tylko te dane. Rysunek 34. Kwerenda wybierająca - etap pierwszy kwerendy tworzącej tabelę. CET 2001 - Opracowanie materiałów: Marta Wnukowicz, Janusz S. Wierzbicki Strona 31
2. zamiana tej kwerendy na kwerendę tworzącą tabelę - z menu Kwerenda wybieramy Kwerenda tworząca tabele... patrz Rysunek 35. 1. Z menu Kwerenda wybieramy Kwerenda tworząca tabele... Rysunek 35. Projektowanie kwerendy tworzącej tabelę etap drugi.! teraz należy uruchomić kwerendę (wcisnąć znak wykrzyknika) i wyrazić zgodę na utworzenie nowej tabeli poprzez kopiowanie wybranych przez kwerendę danych do nowotworzonej tabeli. Wielokrotne uruchamianie tej kwerendy powoduje zastępowanie utworzonej przez nią tabeli ponownie tworzona tabelą. Jest to istotne jeżeli chcemy, np. skopiować jeszcze dodatkowe pole. Otwieramy wtedy kwerendę w widoku projekt adekwatnie jak kwerendę aktualizującą patrz Rysunek 33. 9.3. Kwerenda krzyżowa 9.4. Kwerenda usuwająca Utworzenie takiej kwerendy pozwala na szybsze usunięcie danych według określonego kryterium. Przebiega w dwóch etapach: 1. tworzymy kwerendę wybierającą zrzucamy z tabeli na siatkę kwerendy pole (np. nazwa działu), w którym chcemy usunąć dane; 2. następnie zamieniamy tę kwerendę na kwerendę usuwająca. Uruchomienie tej kwerendy powoduje usunięcie informacji z obiektu źródłowego, w tym przypadku z tabeli Pracownicy z pola Nazwa działu. Do uzupełnienia 9.5. Kwerenda dołączająca Do uzupełnienia CET 2001 - Opracowanie materiałów: Marta Wnukowicz, Janusz S. Wierzbicki Strona 32
10. Obiekt bazy danych raport Raport jest kolejnym, ostatnim z podstawowych obiektów bazy danych. Raporty służą do prezentowania danych w taki sposób, jaki najbardziej odpowiada użytkownikowi. Są one projektowane w widoku projekcie raportu lub za pomocą kreatora raportów, a następnie drukowane z pozycji podglądu wydruku. Większość informacji na raporcie pochodzi z tabel lub kwerend. Tworzenie raportu patrz Rysunek 36. 2. Dwa sposoby tworzenia raportu - podświetlony preferowany i opisany sposób. 3. Utworzone cztery obiekty raporty. 1. Wybrany obiekt - Raporty. Rysunek 36. Obiekt bazy danych - Raport. 1. Wybieramy opcję Utwórz raport w widoku projektu 2. Otworzy się okno projektu raportu - otworzy się okienko z zupełnie czysta kartką raportu, na którym musimy umieścić pożądane obiekty z konkretnych, np. tabel patrz Rysunek 37. CET 2001 - Opracowanie materiałów: Marta Wnukowicz, Janusz S. Wierzbicki Strona 33
2. Nieaktywna ikona Listy pól. 3. Pola raportu jeszcze czysta, niezwiązana kartka. 1. Prawy klawisz myszy/ Właściwości Rysunek 37. Widok projektu raportu. 3. Po wybraniu Właściwości raportu otworzy się okienko właściwości obiektów dotyczące raportu o nazwie Raport patrz Rysunek 38. Na zakładce Dane w polu Źródło rekordów wybieramy z listy nazwę, np. kwerendy, z której pola będziemy umieszczać na raporcie (z tą kwerendą raport będzie ściśle związany). Rysunek 38. Wybór źródła rekordów dla raportu. 4. Zamykamy okienko właściwości raportu. Automatycznie uaktywnia się przycisk Lista pól i otwiera okienko o tej samej nazwie, z którego zrzucamy pola wybranej tabeli na raport patrz Rysunek 39. CET 2001 - Opracowanie materiałów: Marta Wnukowicz, Janusz S. Wierzbicki Strona 34
4. Przełączenie się do widoku wydruku raportu 1. Aktywna i włączona Lista pól. 2. Otwarte okno listy pól., z której zrzucamy wybrane pola na raport. 3. Umieszczone na raporcie pole razem z etykietą. Rysunek 39. Zrzucanie pól kwerendy na raport. 5. Po umieszczeniu wszystkich pól na raporcie i starannym ich sformatowaniu, przechodzimy do widoku podglądu raportu czyli podglądu wydruku patrz Rysunek 39 (4) Jeżeli chcemy poprawić coś na raporcie, to ponownie musimy przejść do jego projektu, np. z menu Widok wybieramy opcję Widok Projekt. 6. Jeśli projektowanie raportu dobiegnie końca, można go wydrukować. Należy przejść do podglądu wydruku i wybrać, np. z menu Plik opcje Drukuj... CET 2001 - Opracowanie materiałów: Marta Wnukowicz, Janusz S. Wierzbicki Strona 35
11. Spis ilustracji Rysunek 1. Wybór programu...4 Rysunek 2. Startowe okno dialogowe...5 Rysunek 3. Zapisywanie tworzonej bazy danych...5 Rysunek 4. Obiekty w bazie danych Ms. Access 2000....6 Rysunek 5. Tworzenie tabeli w widoku projektu...7 Rysunek 6. Tabela - widok projekt tabeli....7 Rysunek 7. Tabela - widok arkusza danych...8 Rysunek 8. Elementy w tabeli...8 Rysunek 9. Relacja jeden do jednego...9 Rysunek 10. Relacja jeden do wielu...10 Rysunek 11. Relacja wiele do wielu...11 Rysunek 12. Otwieranie okna relacji...12 Rysunek 13. Dodawanie obiektów w oknie relacji....13 Rysunek 14. Okno relacji z utworzoną relacją jeden do wielu...13 Rysunek 15. Wymuszanie więzów integralności...14 Rysunek 16. Obiekt bazy danych formularz...15 Rysunek 17. Umieszczanie danych na formularzu...16 Rysunek 18. Właściwości formularza....16 Rysunek 19. Zrzucanie pól tabeli na formularz....17 Rysunek 20. Widok formularza gotowego do wprowadzania danych....18 Rysunek 21. Przybornik - umieszczanie przycisków na formularzu....19 Rysunek 22. Kreator przycisków krok pierwszy...20 Rysunek 23. Kreator przycisków krok drugi....20 Rysunek 24. Kreator przycisków - krok trzeci...21 Rysunek 25. Tworzenie kwerendy....22 Rysunek 26. Wybieranie obiektów, z których pola mają być umieszczone na siatce....23 Rysunek 27. Widok projektu kwerendy....24 Rysunek 28. Siatka kwerendy - opis....24 Rysunek 29. Konstruktor wyrażeń....26 Rysunek 30. Zdefiniowane wyrażenie...27 Rysunek 31. Kwerenda aktualizująca - etap pierwszy....29 Rysunek 32. Kwerenda aktualizująca - etap drugi...30 Rysunek 33. Otwieranie już zapisanej kwerendy aktualizującej....31 Rysunek 34. Kwerenda wybierająca - etap pierwszy kwerendy tworzącej tabelę...31 Rysunek 35. Projektowanie kwerendy tworzącej tabelę etap drugi...32 Rysunek 36. Obiekt bazy danych - Raport....33 Rysunek 37. Widok projektu raportu....34 Rysunek 38. Wybór źródła rekordów dla raportu...34 Rysunek 39. Zrzucanie pól kwerendy na raport...35 CET 2001 - Opracowanie materiałów: Marta Wnukowicz, Janusz S. Wierzbicki Strona 36