Alicja Żarowska-Mazur, Waldemar Węglarz

ACCESS 2010

Praktyczny kurs

Projekt okładki
Łukasz Kowalik

Ilustracja na okładce
Istockphoto

Redaktor inicjujący
Kinga Tomaszewska

EPUB został przygotowany
na podstawie wydania papierowego z 2012 r.
(wyd. I)

Copyright © by Wydawnictwo Naukowe PWN SA

Warszawa 2011, 2012

ISBN 978-83-01-17561-0

Wydawnictwo Naukowe PWN SA

02-460 Warszawa, ul. G. Daimlera 2

tel. 22 69 54 321; faks 22 69 54 288

infolinia 801 33 33 88

e-mail: pwn@pwn.com.pl; www.pwn.pl

Skład komputerowy: Bogusław Górecki, Sułkowice

Skład wersji elektronicznej:

Virtualo Sp. z o.o.

Spis treści

- Wstęp

- Bazy danych

- 1. Organizacja bazy danych

- 1.1. Tabele

- 1.2. Relacje

- 1.3. Operacje

- 2. Obsługa aplikacji

- 2.1. Praca z bazami danych

- 2.2. Typowe zadania

- 3. Tabele

- 3.1. Kreator tabeli

- 3.2. Import danych do nowej tabeli

- 3.3. Projekt tabeli

- 3.4. Relacje

- 3.5. Maska wprowadzania i wymagalność

- 3.6. Sprzężenia

- 3.7. Reguły sprawdzania poprawności danych

- 4. Kwerendy

- 4.1. Kwerenda wybierająca

- 4.2. Kwerenda aktualizująca

- 4.3. Kwerenda usuwająca rekordy z tabeli

- 4.4. Kwerenda tworząca nowe tabele

- 4.5. Kwerenda dołączająca rekordy do tabeli

- 4.6. Formuły w kwerendach

- 4.7. Kwerendy krzyżowe

- 4.8. Wyświetlanie duplikatów

- 4.9. Wyświetlanie niedopasowanych wartości

- 5. Formularze

- 5.1. Automatyczne tworzenie formularza

- 5.2. Projekt formularza

- 5.3. Kreator formularzy

- 5.4. Pusty formularz

- 5.5. Pola obliczeniowe

- 5.6. Kotwiczenie kontrolek

- 5.7. Kolejność przechodzenia klawiszem Tab między kontrolkami

- 5.8. Nagłówek i stopka

- 5.9. Podformularze

- 6. Raporty

- 6.1. Autoraport

- 6.2. Projekt raportu

- 6.3. Pusty raport

- 6.4. Kreator raportów

- 6.5. Wstawianie do raportu dodatkowych kontrolek

- 7. Makropolecenia

- 8. Nawigacja

- 9. Eksport danych

- 10. Korekta i dokumentacja

- 10.1. Wydajność bazy danych

- 10.2. Dokumentacja

Wszystkie rozdziały dostępne w pełnej wersji książki.

Wstęp

MS Office 2010 jest najnowszą wersją popularnego pakietu oprogramowania biurowego wydanego przez Microsoft. Pakiet obejmuje programy przydatne w biurze: edytor tekstu, arkusz kalkulacyjny, program do tworzenia baz danych oraz program do tworzenia prezentacji. Wszystkie wymienione aplikacje są kompatybilne. Zachowana jest również zgodność z poprzednimi wersjami pakietu MS Office.

Microsoft Office Access 2010 jest najpotężniejszym narzędziem pakietu biurowego. Umożliwia projektowanie i zarządzanie relacyjnymi bazami danych. Łączy funkcje narzędzi wspomagających projektowanie i zarządzanie bazami oraz narzędzia do operowania i zarządzania danymi.

Niniejsza książka jest przeznaczona zarówno dla osób projektujących bazy danych, jak i obsługujących bazy już istniejące. Opisując zastosowanie poszczególnych narzędzi staraliśmy się stworzyć praktyczny poradnik, dzięki któremu zarówno osoby pracujące, jak i dopiero zamierzające pracować z programem MS Access 2010 będą w stanie samodzielnie utworzyć bazę danych, znaleźć w bazie konkretne dane, przedstawić je w postaci raportu lub wyeksportować w określonym formacie.

Bazy danych

Podstawowym celem bazy danych jest przechowywanie informacji dotyczących obiektów oraz możliwość szybkiego wyszukiwania tych informacji. Baza może dotyczyć zarówno biur podróży, jak i kart pacjentów czy płytoteki.

Podczas omawiania zaawansowanych elementów Accessa oprzemy się na nowej, tworzonej krok po kroku, bazie danych.

1. Organizacja bazy danych

Bazę danych stanowią informacje powiązane ze sobą tematycznie. Dane znajdują się w tabelach, z których możemy pobierać za pomocą zapytań (kwerend) interesujące nas informacje.

Jak w skrócie określić dane, a jak informację? Informacja to pewien zbiór danych. Załóżmy, że mamy bazę danych dotyczącą pracowników. Baza zawiera dane dotyczące imion, nazwisk, dat urodzenia, miejsc urodzenia, miejsc zamieszkania, numerów telefonów itd. Pojedyncza dana, na przykład 1.01.1970, nie mówi kompletnie nic. Tak samo na przykład Witold. Natomiast kilka danych związanych ze sobą, na przykład Witold Kowalski 01.01.1970, będzie tworzyło spójną informację, z której będzie można już wywnioskować, jak nazywa się pracownik i kiedy się urodził.

Tabela składa się z rekordów, a te z kolei złożone są z pól. Załóżmy, że baza danych będzie dotyczyła książek. Jedna z tabel powinna dotyczyć autorów. Każdy autor będzie opisany numerem, nazwiskiem, imieniem, datą urodzenia itd. Będą to właśnie pola – wszystkie pola odnoszące się do jednego autora to jeden rekord. Kolejne pola (takie same), ale opisujące już innego autora, to drugi rekord (tab. 1).

Tabela 1. Sposób budowy tabeli w bazie danych

TABELA AUTORZY

REKORD1  Nazwisko autora 1  Imię autora 1   Data urodzenia autora 1…

REKORD2  Nazwisko autora 2  Imię autora 2   Data urodzenia autora 2…

REKORD3  Nazwisko autora 3  Imię autora 3   Data urodzenia autora 3…

REKORD4  Nazwisko autora 4  Imię autora 4   Data urodzenia autora 4…

REKORD5  Nazwisko autora 5  Imię autora 5    Data urodzenia autora 5…

Każde pole musi mieć ustawione właściwości – jeśli pole dotyczy nazwy, można wybrać typ tekstowy, podać domyślną nazwę, określić liczbę znaków itd. Jeżeli pole dotyczy daty, można ustalić, w jaki sposób ma być wyświetlana data, znowu wpisać wartość domyślną itd.

Obecnie większość firm z niemal wszystkich branży korzysta z baz danych. Jeśli firma zatrudnia pięć czy dziesięć osób, można szybko zebrać potrzebne informacje dotyczące każdego pracownika. Jeżeli jednak dane dotyczą dużego przedsiębiorstwa, szpitala czy linii lotniczych, trzeba swoje działania oprzeć na bazach danych.

Wyobraźmy sobie na przykład linie lotnicze, w których wszystkie informacje dotyczące pasażerów, godzin przylotów i odlotów samolotów, pilotów itd. istnieją tylko w formie papierowej. Potencjalny klient, który chciałby zarezerwować bilet, musiałby bardzo długo czekać na odnalezienie właściwego samolotu, sprawdzenie wolnych miejsc itd.

Ponadto wszystkie osoby zajmujące się w tych liniach rezerwacją i sprzedażą biletów musiałyby po każdej dokonanej transakcji mieć dostarczane kopie aktualnego stanu zarezerwowanych i sprzedanych biletów.

Dzięki użyciu komputerów i odpowiednich programów wszystkie dane są wprowadzane bezpośrednio do bazy danych. Pracownicy są w stanie ze swoich stanowisk sprawdzić liczbę wolnych miejsc, liczbę dokonanych rezerwacji, zwroty biletów, a także to, kto jest pasażerem. Poza tym bardzo szybko mogą odnaleźć właściwy dzień oraz godzinę odlotu, a także dodatkowe informacje dotyczące ewentualnych przesiadek czy opóźnień odlotu (przylotu).

Również administracja publiczna, która operuje na dużej liczbie danych, musi korzystać z baz danych. Przykładem jest ewidencja ludności prowadzona w systemie informatycznym i kartotecznym w formie gminnego zbioru meldunkowego. Dotyczy osób mających stały meldunek, osób, które zmieniły miejsce zamieszkania (czyli wymeldowały się z aktualnego miejsca), zmarłych. Dodatkowo prowadzony jest rejestr osób zameldowanych czasowo. Pośród danych znajdują się między innymi:

• nazwisko i imiona,

• nazwisko rodowe,

• nazwiska i imiona poprzednie,

• imiona i nazwiska rodowe rodziców,

• data i miejsce urodzenia,

• stan cywilny,

• numer aktu urodzenia i oznaczenie urzędu stanu cywilnego, który ten akt sporządził,

• płeć,

• PESEL,

• obywatelstwo,

• imię i nazwisko rodowe małżonka,

• data zawarcia związku małżeńskiego,

• numer aktu małżeństwa i oznaczenie urzędu stanu cywilnego, który ten akt sporządził,

• data rozwiązania związku małżeńskiego,

• sygnatura akt i oznaczenie sądu który rozwiązał małżeństwo,

• data zgonu małżonka,

• numer aktu zgonu i oznaczenie urzędu stanu cywilnego, który ten akt sporządził itd.

To oczywiście tylko część danych, jakimi posługują się pracownicy urzędów i do których muszą mieć dostęp. Gdyby wszystkie te informacje były w formie papierowej, bardzo trudno byłoby znaleźć właściwe. Natomiast baza danych powoduje, że pracownik upoważniony do korzystania z niej może za pomocą odpowiedniego zapytania w ciągu krótkiej chwili znaleźć konkretne informacje oraz wprowadzić stosowane zmiany.

Podobnie sytuacja przedstawia się w bankach. Również tutaj mamy do czynienia z wieloma klientami, z których część ma kilka rachunków. Baza danych pozwala na sprawdzenie stanu konta, nagromadzonych odsetek, ewentualnego zadłużenia, a także posiadanych kart płatniczych i kredytowych. Umożliwia to zarówno dobranie odpowiedniej oferty, poinformowanie klienta o aktualnym stanie, jak i określenie możliwości udzielenia mu na przykład kredytu. Baza danych ułatwia szybką komunikację między bankami i sprawdzenie, czy w razie gdy klient ubiega się o kredyt, nie jest już przypadkiem gdzieś zadłużony.

Innym przykładem są szpitale używające baz danych dotyczących pacjentów. Podczas leczenia łatwo znaleźć dane odnoszące się do konkretnej osoby – przebytych chorób, stosowanego wcześniej leczenia, ewentualnych zabiegów i operacji. Jednak baza to również informacje o wieku, miejsca zamieszkania pacjenta oraz opłacanego ubezpieczenia.

Jak widać, bazy danych mogą znaleźć zastosowanie właściwie w każdej branży. Wystarczy umiejętnie określić, jakie dane powinny być przechowywane, aby później łatwo znaleźć określone informacje. Można je stosować w małych prywatnych firmach produkcyjnych i usługowych – umieszczać w nich informacje o pracownikach, produktach, stanie magazynu, stanie sprzedaży, wykonanych usługach. Można je również stosować w fabrykach zatrudniających setki osób, szpitalach, prywatnych gabinetach lekarskich czy administracji, gdzie operuje się dużą liczbą danych.

1.1. Tabele

Tabela w bazie danych jest zbiorem danych związanych z określonym tematem, na przykład z produktem. Należy pamiętać o tym, aby dla każdego przedmiotu tworzyć oddzielne tabele – dzięki temu unikamy duplikowania danych.

Załóżmy, że mamy do czynienia z bazą danych dotyczącą pewnego przedsiębiorstwa. Jeśli wprowadzimy do jednej tabeli dane dotyczące pracowników, przedsiębiorstwa i produktów, powstanie chaos, w którym ciężko będzie cokolwiek odnaleźć. Bardzo trudno będzie również stwierdzić, czy określone dane znajdują się już w tabeli, czy dopiero trzeba je wpisać.

Jeżeli natomiast utworzymy przynajmniej trzy tabele, z których pierwsza będzie dotyczyła tylko pracowników, druga – produktów, trzecia – przedsiębiorstwa, zarówno sortowanie danych, jak i wyszukiwanie określonych informacji stanie się szybsze i skuteczniejsze.

Każde pole tabeli w bazie danych można porównać do komórki w arkuszu kalkulacyjnym. Jak pamiętamy, do każdej komórki wprowadzaliśmy tylko jedną wartość, co przyspieszało później pracę. Podobnie sprawa się ma w przypadku pól tabel i bazy danych. Jeżeli wpiszemy do jednej komórki na przykład datę urodzenia pracownika i jego adres zamieszkania, a później będziemy chcieli za pomocą zapytania sprawdzić miejsce zamieszkania, będzie to praktycznie niemożliwe. Ponadto każde pole ma określony typ. I w tym przypadku również nie możemy określić go precyzyjnie. Wpisanie daty do jednego pola, a miejsca zamieszkania do drugiego sprawi, że oba pola będą miały własne typy danych, ustaloną liczbę wpisywanych znaków, format pola czy wartość domyślną. Dzięki temu z kolei unikniemy wprowadzenia niepoprawnych danych.

Jeżeli tabela dotyczy na przykład numerów telefonów, możemy przyjąć dokładny rozmiar pola. Załóżmy, że numer ma mieć postać 12 222 22 22. A zatem rozmiar pola to dziewięć znaków. Dzięki takiemu określeniu rozmiaru wprowadzany numer zawsze będzie miał tę samą liczbę cyfr.

W tabeli, w której chcemy przechowywać na przykład daty, warto określić ich format. Możemy wybrać na przykład format daty krótkiej. Tak samo postępujemy z innymi polami – w przypadku imion ustawiamy pole tak, aby pierwsza litera zawsze była zamieniana na wielkie znaki.

Jeżeli tabela dotyczy miejsca zamieszkania, a wiemy, że większość osób, które znajdą się w bazie danych, pochodzi na przykład z Wrocławia, ustawiamy wartość domyślną Wrocław. Podczas wpisywania danych do tabeli w polu z miejscem zamieszkania automatycznie będzie się pojawiał Wrocław.

Celem utworzenia klucza podstawowego jest jednoznaczna identyfikacja rekordu. Klucz podstawowy nie pozwoli na wprowadzenie po raz drugi istniejącej już wartości. Jeżeli zatem mamy na przykład 300 rekordów numerowanych od 1 do 300 i będziemy chcieli dodać kolejny rekord, program wymusi wstawienie następnego numeru, nie dopuści do powtórzenia żadnego z już wykorzystanych.

Jest to dużą zaletą, ponieważ baza danych – jak wspomniano wcześniej – to połączone tabele. Tabele połączone są tzw. relacjami. Jeżeli rekordy mają swoje odpowiedniki w innych tabelach (na przykład autor – książka, autor – wydawnictwo), klucz podstawowy powoduje, że relacje te mają sens. Gdyby nie było klucza podstawowego mogłoby się okazać, że po dodaniu drugi raz takiego samego numeru rekordu Sienkiewicz jest autorem „Naszej szkapy”. Jednoznaczna identyfikacja rekordów uniemożliwia przypadkowe błędy merytoryczne.

Indeksy w bazie danych pomagają w szybszym wyszukiwaniu określonych informacji. Działają podobnie jak spisy haseł w książce – aby znaleźć odpowiednie wartości, należy sprawdzić ich położenie. Indeksy tworzone są na podstawie jednego lub wielu pól.

1.2. Relacje

Wiemy już, jak tworzyć tabele i zmieniać ich właściwości. Nie stanowią one jednak prawdziwej bazy danych. Brak w nich relacji.

Jak już wspomniano, relacje to powiązania między tabelami. Tworzy się je, aby uzyskać możliwość jednoczesnego przetwarzania danych znajdujących się w różnych tabelach. Relacje definiujemy za pomocą pola (lub kilku pól), które pojawia się w obu powiązanych ze sobą tabelach.

Podczas tworzenia relacji między tabelami pola powiązane relacją nie muszą mieć tych samych nazw. Muszą jednak mieć ten sam typ danych, chyba że pole klucza podstawowego jest polem Autonumerowanie.

Istnieją trzy typy relacji:

1. Jeden do jednego – każdy rekord w tabeli A może mieć tylko jeden dopasowany rekord z tabeli B. I tak samo każdy rekord w tabeli B może mieć tylko jeden dopasowany rekord z tabeli A (na przykład w bazie dotyczącej książek jeden tytuł może mieć tylko jednego autora).

2. Jeden do wielu – rekord w tabeli A może mieć wiele dopasowanych do niego rekordów z tabeli B, ale rekord w tabeli B ma tylko jeden dopasowany rekord w tabeli A (na przykład w bazie dotyczącej książek jednemu autorowi może odpowiadać wiele tytułów).

3. Wiele do wielu – rekord w tabeli A może mieć wiele dopasowanych do niego rekordów z tabeli B. I tak samo rekord w tabeli B może mieć wiele dopasowanych do niego rekordów z tabeli A (na przykład w bazie dotyczącej książek każdy autor może mieć wielu wydawców i każda książka może być wydawana przez różnych wydawców).

Kolejną istotną rzeczą są tzw. więzy integralności. Tworzy się je podczas ustalania relacji. Więzy integralności to reguły, których należy przestrzegać, aby zachować zdefiniowane relacje między tabelami podczas wprowadzania lub usuwania rekordów. Wymagają one spełnienia następujących warunków:

• Pole w tabeli podstawowej jest kluczem podstawowym lub ma indeks unikatowy.

• Pokrewne pola mają ten sam typ danych. Istnieją dwa wyjątki. Pole Autonumerowanie może być związane relacją z polem Liczba z właściwością Rozmiar pola ustawioną na Liczba całkowita długa oraz pole Autonumerowanie z właściwością Rozmiar pola ustawioną na ID replikacji może być związane relacją z polem Liczba z właściwością Rozmiar pola ustawioną na ID replikacji.

• Obie tabele należą do jednej bazy danych programu Microsoft Access. Jeśli są połączone, muszą być tabelami programu Microsoft Access i – aby określić więzy integralności – trzeba otworzyć bazę danych, w której są przechowywane. Więzów integralności nie można wymusić dla tabel przyłączonych z baz danych innego formatu.

1.3. Operacje

Zadaniem osoby projektującej bazę danych jest utworzenie odpowiedniego modelu przechowywania danych. Ponadto pracownik ten jest odpowiedzialny za utworzenie systemu zarządzania danymi z wykorzystaniem odpowiednich aplikacji bazodanowych.

W wielu opracowaniach można przeczytać, że nie trzeba być fachowcem w tej dziedzinie, aby utworzyć bazę danych. I częściowo to prawda. Musimy jednak zdać sobie sprawę z tego, że baza danych oparta na paru tabelach i kwerendach może wystarczyć jedynie na przykład w wypożyczalni płyt DVD, w szkolnej bibliotece itd. Wszędzie tam, gdzie przetwarza się wielkie ilości informacji, potrzebne są rozbudowane systemy oparte na wielu tabelach i relacjach. Osoba projektująca bazę danych jest odpowiedzialna za poprawne jej funkcjonowanie, zabezpieczenie danych, a także tworzenie, często skomplikowanych, raportów. To z kolei wiąże się z umiejętnościami analitycznymi, które pozwolą na szybkie zapoznanie się z produktem, którego dotyczy baza danych (w tym przypadku produktem mogą być faktycznie wytwarzane przedmioty, ale również na przykład usługi).

Często projektanci i twórcy baz danych stają się jednocześnie szkoleniowcami. Gotowa baza danych nie dla wszystkich jest od razu oczywista, dlatego też organizowane są spotkania, na których użytkownicy są zapoznawani z zasobami bazy, a także z jej możliwościami – kto i w jaki sposób może wprowadzać dane, którzy użytkownicy są uprawnieni do korzystania z określonych zasobów itd.

W zależności od branży i wielkości bazy danych, a także informacji w niej zawartych niektórzy użytkownicy są uprawnieni do korzystania tylko z części danych, inni z pozostałych informacji. Jednak to właśnie użytkownicy modyfikują zawarte w niej informacje.

Załóżmy, że baza danych znajduje się w liniach lotniczych. Oczywiście klienci nie mogą czekać na zaktualizowanie bazy przez administratora. To obsługa lotniska, która dokonuje rezerwacji i sprzedaży biletów, wprowadza do systemu informacje o dokonanej sprzedaży, a także o kliencie.

Podobnie sytuacja wygląda na przykład w gabinecie stomatologicznym. Po wykonanym zabiegu lekarz wprowadza dane dotyczące pacjenta do bazy danych. Jeśli natomiast chce się dowiedzieć, jakie zabiegi były planowane czy też na jakie leki uczulony jest pacjent, może te informacje samodzielnie wybrać z bazy.

Administrator bazy danych to osoba odpowiedzialna za środowiskowy aspekt bazy danych. Do jego obowiązków należy przede wszystkim dbanie o bezpieczeństwo danych i poprawne funkcjonowanie całej bazy. Jest to tym bardziej istotne, że w dobie komputeryzacji większość informacji przechowuje się w formie cyfrowej, rzadziej w formie papierowej.

W celu uniknięcia błędów, takich jak zduplikowanie lub usunięcie poprawnych danych, administrator musi dbać o to, żeby dostęp do poszczególnych części bazy miały osoby z określonymi uprawnieniami. Jeżeli zatem mamy dyrektora, kierowników i pozostałych pracowników, do danych dotyczących kont bankowych, kontrahentów będzie miał dostęp na przykład tylko dyrektor. Ale już do danych dotyczących wielkości produkcji będą mieli dostęp poszczególni kierownicy. Ponadto administrator musi sprawdzać, czy dwie osoby nie edytują w tym samym czasie tej samej informacji, ponieważ dane wprowadzane jednocześnie przez różne osoby mogą się okazać niespójne.

Administrator bazy danych jest odpowiedzialny również za jej zabezpieczenie i odzyskanie danych po błędzie komputera. Wymaga to przede wszystkim częstego tworzenia kopii zapasowych. Ponadto administrator musi dbać o to, aby baza danych nie została uszkodzona przez hakerów lub przez wirusy. Dlatego też powinien monitorować, czy nie ma włamań z zewnątrz, oraz zabezpieczyć system zarówno programem antyspyware’owym, antywirusowym, jak i firewallem.

2. Obsługa aplikacji

2.1. Praca z bazami danych

Uruchamianie i zamykanie programu do obsługi bazy danych odbywa się poprzez kliknięcie kolejno Start ► Wszystkie programy ► Microsoft Office ► Microsoft Access (rys. 1).

Rysunek 1. Uruchamianie programu Microsoft Access

Aby otworzyć istniejącą bazę danych, musimy kliknąć kartę Pliki wybrać z menu opcję Otwórz. Następnie w oknie dialogowym określamy lokalizację pliku i ponownie klikamy Otwórz (rys. 2).

Możemy również kliknąć dwukrotnie ikonę oznaczającą plik zapisany w formacie *.accdb lub jednokrotnie prawym klawiszem myszy i z menu kontekstowego wybrać opcję Otwórz (rys. 3).

Tworzenie bazy danych jest stosunkowo proste. Na ekranie powitalnym mamy wymienione dostępne szablony. Część szablonów zainstalowana jest na komputerze, pozostałe dostępne są na stronie Office. Jeśli chcemy z nich skorzystać, wystarczy kliknąć jeden z nich, a następnie polecenie Utwórz – w przypadku szablonów dostępnych z dysku, lub Pobierz – gdy szablony są dostępne w Internecie (rys. 4). Możemy dodatkowo od razu określić lokalizację tworzonej bazy. W tym celu w prawej części okna klikamy ikonę znajdującą się obok pola Nazwa pliku i wybieramy odpowiedni dysk oraz folder.

Jeśli natomiast chcemy utworzyć od podstaw własną bazę, zaznaczamy opcję Pusta baza danych. Pozostałe operacje przebiegają tak samo, jak w przypadku szablonów – określamy lokalizację, wpisujemy nazwę bazy i klikamy Utwórz (rys. 5).

Rysunek 2. Otwieranie istniejącej bazy danych z poziomu programu

Rysunek 3. Otwieranie istniejącej bazy danych

Rysunek 4. Szablony w MS Access 2010