access

Pliki do pobrania: 3

  1. baza.accdb
  2. schemat_obiektow_accessa.gif
    grafika
  3. schemat_raportu_accessa.gif
    grafika

Informacje



Reguły w bazie danych:

  • unikanie nadmiarowości - eliminacja powtarzania danych
  • jedna z kolumn musi zawierać pole unikatowe - do identyfikacji rekordów
  • baza danych musi zawierać klucz

KLUCZ: pole w tabeli, zawierające niepowtarzalne dane

INDEX: zbiór par: klucz i położenie rekordu w bazie dancy (przyśpiesza przeszukiwanie)

Szybkość działania bazy danych można bardzo powiększyć dzieląc ją na mniejsze tabele

MAKRA: proste programy, pozwalające na zautomatyzowanie pracy z bazą

MODUŁY: zbiór deklaracji, instrukcji i procedur przeznoczony do organizacji kodu MS VBA. Stosowane tam, gdzie same makropolecenia nie wystarczają

Wybrane skróty klawiszowe

  • bieżąca data: Ctrl;
  • bieżąca godzina: Ctrl:
  • wartość z pola powyżej: Ctrl'
  • wstawianie znaku końca wiersza w polu tekstowym: Ctrl Enter
  • zapis rekordu w tabeli: Shift Enter

Relacje:

  • 1 do 1 np. dane personalne klienta i jego dane adresowe w oddzielnej tabeli; opłacalne w sytuacji, kiedy niektórzy klienci nie podają adresu
  • 1 do N np. jeden klient z tabeli Klienci i wiele jego zamówień z tabeli Zamówienia
  • N do M tworzone zwykle za pomocą tabeli pośredniej i dwóch relacji 1 do N, np: Klienci(1) - (N)Zamówienia(N) - (1)Towar

Typy danych dla pól dostępne w programie Microsoft Access

Typ danychZastosowanieRozmiar
TekstTekst lub kombinacja tekstu i liczb, na przykład w adresie. Również liczby, na których nie są przeprowadzane obliczenia, takie jak numery telefonów, numery katalogowe i kody pocztowe. Program Microsoft Access przechowuje tylko znaki wprowadzone w polu; nie przechowuje znaków spacji ani pozycji nieużywanych w polu typu Tekst. Aby ograniczyć maksymalną liczbę znaków, jaka może być wprowadzona, ustaw właściwość Rozmiar pola.Maksymalnie 255 znaków.
MemoDługie teksty i liczby, na przykład notatki i opisy. Maksymalnie 64 000 znaków.
LiczbaDane liczbowe, na których są przeprowadzane obliczenia, z wyjątkiem obliczeń walutowych (należy użyć typu Waluta). Aby zdefiniować określony typ liczbowy, należy ustawić właściwość Rozmiar pola. 1, 2, 4 lub 8 bajtów. 16 bajtów tylko dla identyfikatora replikacji (GUID).
Data/GodzinaDaty i godziny. 8 bajtów.
WalutaWartości walutowe. Użyj typu Waluta, jeśli chcesz zapobiec zaokrąglaniu podczas obliczeń. Dokładność wynosi 15 cyfr po lewej stronie symbolu dziesiętnego i 4 cyfry po jego prawej stronie. 8 bajtów.
AutonumerowanieUnikatowe sekwencje (o przyroście równym 1) lub liczby losowe wstawiane automatycznie podczas dodawania rekordu. 4 bajty. 16 bajtów tylko dla identyfikatora replikacji (GUID).
Tak/NiePola zawierające tylko jedną z dwóch możliwych wartości, na przykład Tak/Nie, Prawda/Fałsz, Wł/Wył. 1 bit.
Obiekt OLEObiekty (takie jak dokumenty programu Microsoft Word, arkusze kalkulacyjne programu Microsoft Excel, rysunki, dźwięki lub inne dane binarne) utworzone w innych programach przy użyciu protokołu OLE, które mogą być połączone lub osadzone w tabeli programu Microsoft Access. Aby wyświetlić obiekt OLE w formularzu lub raporcie, trzeba użyć związanej ramki obiektu. Maksymalnie 1 gigabajt (ograniczeniem jest też miejsce na dysku).
HiperłączePole, w którym przechowywane są hiperłącza. Hiperłącze może być ścieżką UNC lub ścieżką URL. Maksymalnie 64 000 znaków.
Kreator odnośnikówTworzy pole, które pozwala wybrać wartość z innej tabeli lub z listy wartości przy użyciu pola kombi. Wybranie tej opcji na liście typów danych powoduje uruchomienie kreatora, który definiuje pole. Taki sam, jak rozmiar pola klucza podstawowego, które jest również polem odnośnika; zazwyczaj 4 bajty.

Uwaga Typy danych Liczba, Data/Godzina, Waluta i Tak/Nie oferują predefiniowane formaty wyświetlania. Aby wybrać format (z listy dostępnych formatów) dla danego typu danych, ustaw właściwość Format. Możesz również utworzyć niestandardowy format wyświetlania dla wszystkich typów danych, z wyjątkiem typu Obiekt OLE.

NOTA: przy sortowaniu wykorzystuje się jedynie pierwszych 255 znaków
LICZBY:
bajt: liczby naturalne od 0 do 255
liczba całkowita: od -32768 do 32767
liczba całkowita długa: od -2147483648 do 2147483647
podwójna precyzja: liczby rzeczywiste o 10 cyfrach znaczących (E309)
pojedyncza precyzja: liczby rzeczywiste o 6 cyfrach znaczących (E39)
dziesiętne: od -1038-1 do 1038-1
WALUTA: dokładność 15 miejsc przed przecinkiem i 4 miejsc po przecinku

Kompresja danych w polach typu Tekst, Memo lub Hiperłącze

W programie Microsoft Access do reprezentacji danych w polach typu Tekst, Memo lub Hiperłącze używany jest schemat kodowania znaków Unicode. W kodzie Unicode każdy znak jest reprezentowany przez dwa bajty zamiast jednego.

Schemat kodowania, w którym używany jest jeden bajt, stwarza ograniczenie do jednej strony kodowej - numerowanego zestawu zawierającego najwyżej 256 znaków. Jednak kod Unicode może obsługiwać aż 65 536 znaków, ponieważ każdy znak jest reprezentowany przez dwa bajty. Z tego powodu pola typu Tekst, Memo lub Hiperłącze wymagają więcej miejsca w pamięci, niż to było konieczne w poprzednich wersjach programu Access.

Ten niekorzystny skutek zastosowania kodu Unicode można jednak skompensować i zapewnić optymalną wydajność ustawiając właściwość Kompresja Unicode pola na wartość Tak. Jest to wartość domyślna, jeśli tworzone jest pole typu Tekst, Memo lub Hiperłącze. Kiedy właściwość Kompresja Unicode pola jest ustawiona na wartość Tak, wszelkie znaki, których kierwszy bajt jest równy 0, są przy zapisywaniu poddawane kompresji, a przy odczycie - dekompresji. Ponieważ pierwszy bajt znaków łacińskich - znaków języków zachodnioeuropejskich takich jak angielski, hiszpański lub niemiecki - jest równy 0, reprezentacja znaków Unicode nie wpływa na rozmiar pamięci wymaganej do przechowywania danych poddanych kompresji, które składają się całkowicie ze znaków łacińskich.

W pojedynczym polu można przechowywać dowolną kombinację znaków obsługiwanych przez kod Unicode. Jeśli jednak pierwszy bajt konkretnego znaku nie jest równy 0, znak ten nie jest poddawany kompresji.

Uwaga Dane w polu typu Memo nie są poddawane kompresji, dopóki po operacji kompresji nie wymagają obszaru pamięci o rozmiarze 4 096 bajtów lub mniej. W rezultacie, zawartość pola typu Memo może być poddana kompresji w jednym rekordzie, lecz w innym rekordzie może nie być poddana kompresji.

Wybór między formatem wyświetlania, a maską wprowadzania

W programie Microsoft Access użytkownik ma do dyspozycji dwie właściwości, które dają podobny efekt: właściwość Format i właściwość MaskaWprowadzania.

Właściwość Format służy do wyświetlania danych w jednolitym formacie. Na przykład, jeśli właściwość Format dla pola Data/Godzina zostanie ustalona jako Data średnia, wówczas wszystkie wprowadzane daty będą wyświetlane w tym formacie: 12-I-96. Jeśli użytkownik bazy danych wprowadzi datę w postaci 01/12/96 (lub w innym poprawnym formacie), to program Microsoft Access przekształci wyświetloną datę do formatu Data średnia podczas zapisywania rekordu.

Właściwość Format wpływa tylko na sposób wyświetlania wartości, a nie na to, jak jest ona zapisana w tabeli. Format wyświetlania staje się obowiązujący dopiero wtedy, gdy wprowadzone dane są zapisane - w polu, do którego są wprowadzane dane nie ukazuje się żaden komunikat sugerujący wybór określonego formatu lub sterujący wprowadzaniem danych. Jeśli wymagana jest kontrola danych podczas ich wprowadzania, należy wykorzystać maskę wprowadzania zamiast, lub jednocześnie z formatem wyświetlania danych. Jeśli dane mają być wyświetlane w postaci dokładnie takiej, jak podczas wprowadzania, nie należy ustawiać właściwości Format.

Predefiniowane formaty wyświetlania są dostępne dla pól typu Liczba, Waluta, Data/Godzina, Autonumeracja i Tak/Nie; a formaty tych pól można też dostosować. Dla pól typu Tekst, Memo lub Hiperłącze formaty predefiniowane nie są określone ale dla tych pól można zdefiniować formaty niestandardowe. Nie można natomiast zdefiniować formatu wyświetlania dla pól typu Obiekt OLE.

Właściwość MaskaWprowadzania należy stosować do wyświetlania literowych znaków wyświetlania w polach zawierających puste miejsca do wypełnienia

Zastosowanie maski wprowadzania zapewnia, że dane będą zgodne ze zdefiniowanym formatem; można ponadto zdefiniować typ wartości, która ma być wprowadzona w każde z pustych miejsc. Na przykład, przedstawiona powyżej maska wprowadzania wymaga, aby wszystkie dane zawierały dokładnie tyle cyfr, ile potrzeba do zapisania numeru telefonu wraz z numerem kierunkowym, oraz aby w każde z pustych miejsc została wpisana cyfra.

W przypadku zdefiniowania dla danego pola zarówno formatu wyświetlania, jak i maski wprowadzania, program Microsoft Access odwołuje się do maski w przypadku dodawania lub edycji danych, zaś właściwość Format określa sposób wyświetlania danych po zapamiętaniu rekordu. Stosując jednocześnie właściwości Format i MaskaWprowadzania należy sprawdzić, czy wyniki ich działania nie będą sprzeczne.

Znaki formatujące

(wyświetlają dane w innej postaci, niż je wpisano)

>wielkie litery w ciągu znaków
<małe litery w ciągu znaków
"tekst"wyświetla ciąg znaków z cudzysłowu
!wyrównuje napis do lewego marginesu
*wypełnia puste miejsca znakiem wpisanym po gwiazdce; domyślnie, przy wyrównaniu do prawego marginesu Access wstawia spacje, *- zamienia je na myślniki
[kolor]wyświetla tekst w kolorze: Black, Blue, Green, Cyyan, Red, Magenta, Yellow, White
@wyświetla w podanym miejscu pojedynczy znak lub spację wpisaną w pole jako znak wymagany
&wyświetla w podanym miejscu pojedynczy kolejny znak z tekstu wpisanego w polu jako znak opcjonalny
-+spacjawyświetla wskazany znak wewnątrz sformatowanego tekstu
\mówi, że znak wpisany po nim ma być wpisany jako znak, a nie jako symbol specjalny: \! daje ! w komórce

Przykłady działania znaków formatujących

formatdane wpisane do arkuszadane wyświetlane w arkuszu przez format
@@@-@@@123456123-456
(@-@@) @@@-@@-@@0123456789(0-12) 345-67-89
@@@@@@123-456123-456
>dużeDUŻE
<Małemałe
@;"brak danych"wartość Nullbrak danych

Maski wprowadzania

DEFINICJA MASKIPRZYKŁADY WARTOŚCI
(000) 000-0000(206) 555-0248
(999) 999-9999!(206) 555-0248
( ) 555-0248
(000) AAA-AAAA(206) 555-TELE
#999-20
2000
>L????L?000L0GREENGR339M3
MAY R 452B7
>L0L 0L0T2F 8M4
00000-999998115-
98115-3007
>L<??????????????Maria
Pierre
ISBN 0-&&&&&&&&&-0ISBN 1-55615-507-7
ISBN 0-13-964262-5
>LL00000-0000DB51392-0493

Definiowanie masek wprowadzania

Definicja maski wprowadzania może zawierać maksymalnie trzy sekcje rozdzielone średnikami; na przykład (999) 000-0000!;0;" ".

SEKCJAZNACZENIE
PierwszaSama maska wprowadzania.
DrugaOkreśla, czy mają być przechowywane znaki literałowe.
0 = przechowuj znaki wraz z wprowadzonymi wartościami
1 lub pusta = przechowuj tylko znaki wprowadzone w puste miejsca
TrzeciaZnak wyświetlany zamiast pustego miejsca w masce wprowadzania. Można użyć dowolnego znaku; Aby wyświetlana była spacja, należy wpisać " " (znak podwójnego cudzysłowu, spacja, znak podwójnego cudzysłowu). Jeśli sekcja ta pozostanie pusta, używany jest znak kreski poziomej ( _ ).

Prawidłowe znaki dla masek wprowadzania

Program Microsoft Access interpretuje znaki w pierwszej części definicji właściwości Maska wprowadzania tak, jak to zostało pokazane w następnej tabeli. Aby zdefiniować znak literałowy, należy wprowadzić dowolny znak inny niż znaki pokazane w tej tabeli, łącznie ze spacją i symbolami. Aby zdefiniować jeden z następujących znaków jako znak literałowy, należy poprzedzić ten znak znakiem \.

ZNAKOPIS
0Cyfra (od 0 do 9, pozycja wymagana; znaki plus [+] i minus [-] nie są dozwolone).
9Cyfra lub spacja (pozycja opcjonalna; znaki plus i minus nie są dozwolone).
#Cyfra lub spacja (pozycja opcjonalna; puste miejsca konwertowane na spacje, znaki plus i minus dozwolone).
LLitera (od A do Z, pozycja wymagana).
&#063;Litera (od A do Z, pozycja opcjonalna).
ALitera lub cyfra (pozycja wymagana).
aLitera lub cyfra (pozycja opcjonalna).
&Dowolny znak lub spacja (pozycja wymagana).
CDowolny znak lub spacja (pozycja opcjonalna).
. , : ; - /Dziesiętny symbol zastępczy oraz separatory tysięcy, daty i godziny. (Faktycznie używany znak zależy od ustawień regionalnych określanych przez dwukrotne kliknięcie ikony "Ustawienia regionalne" w Panelu sterowania systemu Windows.)
<Powoduje, że wszystkie następujące po nim znaki są konwertowane na małe znaki.
>Powoduje, że wszystkie następujące po nim znaki są konwertowane na duże znaki.
!Powoduje, że znaki w masce wprowadzania są wyświetlane od strony prawej do lewej zamiast od lewej do prawej. Znaki wpisywane w masce wprowadzania zawsze wypełniają ją od strony lewej do prawej. Znaku wykrzyknika można użyć w dowolnym miejscu w masce wprowadzania.
\Powoduje, że wszystkie następujące po nim znaki są wyświetlane jako znaki literałowe. Używany do wyświetlania znaków przedstawionych w tej tabeli jako znaków literałowych. (na przykład, \A jest wyświetlane jako A).
HasłoUstawienie właściwości Maska wprowadzania na wartość Hasło powoduje utworzenie pola tekstowego dla hasła. Dowolny znak wpisany w tym polu jest przechowywany jako znak, ale wyświetlany jako gwiazdka (*).

Reguły poprawności

Przykłady reguł poprawności dla pól w tabelach i formantach na formularzach

"Reguła poprawności""Komunikat o błędzie"
<>0Należy wprowadzić wartość różną od zera.
0 Or >100Wartość musi być równa 0 lub większa od 100.
Like "K???"Wartość musi składać się z czterech znaków i zaczynać się do litery K.
<#1/1/96#Należy wprowadzić datę sprzed roku 1996.
>=#1/1/97# And <#1/1/98#Należy wprowadzić datę z roku 1997.

Symbole wieloznaczne w filtrach i kwerendach

*pierwszy lub ostatni znak w kryterium (litery, liczby)
?pojedynczy znak alfanumeryczny
#jedna cyfra
[]wyszukuje każdy znak ze środka, np: m[ąę]ka wyszuka: mąka i męka
!negacja w []
-w [] od do, np. od 2 do 30, od a do k (do tekstów i liczb)

Rodzaje kwerend

KWERENDA WYBIERAJĄCA jest najczęściej używanym rodzajem kwerendy. Służy do otrzymywania danych z tabeli lub tabel i wyświetla wyniki w arkuszu danych, w którym można je następnie aktualizować (z pewnymi ograniczeniami). Kwerendy wybierające mogą być również używane do grupowania rekordów i obliczania sum, zliczeń, wyliczania średnich i przeprowadzania innych obliczeń.
Wykonanie KWERENDY PARAMETRYCZNEJ powoduje wyświetlenie okna dialogowego, w którym należy podać informacje, takie jak kryteria wyszukiwania rekordów czy wartości, które mają być wstawione w polach. Kwerendę można tak zaprojektować, aby użytkownik był pytany o kilka różnych informacji, na przykład o dwie daty. W takim przypadku zostaną znalezione wszystkie te rekordy, które znajdują się między dwoma podanymi datami. Kwerendy parametryczne są również przydatne do tworzenia formularzy, raportów i stron dostępu do danych. Na przykład na podstawie kwerendy parametrycznej można utworzyć miesięczny wykaz pensji. Przy drukowaniu raportu wyświetlane jest okno dialogowe, w którym użytkownik jest proszony o podanie miesiąca, którego raport ma dotyczyć. Po podaniu miesiąca jest drukowany odpowiedni raport. Zamiast korzystać z okna dialogowego kwerendy parametrycznej, można utworzyć niestandardowy formularz lub okno dialogowe, w którym będą umieszczone odpowiednie pytania i komunikaty.
KWERENDA KRZYŻOWA wyświetla wartości sumowane (sumy, zliczenia i średnie) z jednego pola w tabeli i na podstawie jednego zestawu faktów grupuje je po lewej stronie arkusza danych, a na podstawie drugiego zestawu faktów w górnej części arkusza. Dane kwerendy krzyżowej można wyświetlać bez tworzenia oddzielnej kwerendy w bazie danych, używając Kreatora tabel przestawnych w formularzu albo tworząc listę tabel przestawnych na stronie dostępu do danych. Formularz tabel przestawnych albo lista tabel przestawnych umożliwia zmianę nagłówków kolumn i wierszy na żądanie, dzięki czemu dane mogą być analizowane w różny sposób.
KWERENDA FUNKCJONALNA pozwala na wprowadzenie zmian w wielu rekordach za pomocą jednej procedury. Istnieją cztery rodzaje kwerend funkcjonalnych: usuwająca, aktualizująca, dołączająca i tworząca tabele.
KWERENDA USUWAJĄCA Usuwa grupę rekordów z jednej lub kilku tabel. Kwerenda usuwająca może być użyta na przykład do usunięcia produktów, które zostały wycofane z oferty i na które nie ma zamówień. Użycie kwerendy usuwającej powoduje usunięcie całych rekordów, nie zaś wybranych pól w rekordach.
KWERENDA AKTUALIZUJĄCA Dokonuje globalnych zmian w grupie rekordów w tabeli lub kilku tabelach. Na przykład można podwyższyć o 10% ceny wszystkich produktów mlecznych lub dać pięcioprocentową podwyżkę wszystkim pracownikom należącym do określonej kategorii zawodowej. Za pomocą kwerend aktualizujących można zmieniać dane w istniejących tabelach.
KWERENDA DOŁĄCZAJĄCA Dodaje grupę rekordów z tabeli lub tabel na końcu innej tabeli lub tabel. Na przykład jeśli firmie przybywają nowi klienci, których dane znajdują się w osobnej bazie danych, aby uniknąć wpisywania wszystkich tych informacji, można dołączyć je do tabeli Klienci. Kwerendy dołączające są również przydatne w następujących sytuacjach:
-Dołączanie pól wybranych na podstawie kryteriów. Na przykład można dołączyć tylko nazwy i adresy klientów o największych zamówieniach.
-Dołączanie rekordów w sytuacji, gdy część pól jednej tabeli nie ma swoich odpowiedników w drugiej tabeli. Na przykład tabela Klienci w przykładowej bazie danych Northwind ma 11 pól. Jeśli do tej tabeli chcemy dołączyć rekordy z tabeli, w której 9 z 11 pól jest takich samych, jak w tabeli Klienci, kwerenda dołączająca uwzględni tylko dane w dopasowanych polach, pozostałe zaś będą zignorowane.
KWERENDA TWORZĄCA TABELĘ Tworzy nową tabelę z wszystkich lub z części danych znajdujących się w jednej lub kilku tabelach. Kwerendy tworzące tabele są przydatne w następujących sytuacjach:
-Tworzenie tabel, które mają być eksportowane do innych baz danych programu Microsoft Access. Na przykład można utworzyć tabelę zawierającą część pól z tabeli Pracownicy, a następnie wyeksportować ją do bazy danych używanej przez dział kadr.
-Tworzenie stron dostępu do danych zawierających dane poczynając od określonego momentu. Na przykład załóżmy, że dnia 15 maja 1996 chcemy na podstawie tabeli wyświetlić stronę dostępu do danych, która przedstawiałaby kwartalną sprzedaż od godziny 9:00 dnia 1 kwietnia 1996. Strona dostępu do danych utworzona na podstawie kwerendy lub instrukcji SQL wybrałaby wartości najnowsze, nie zaś te, które odpowiadają określonym ramom czasowym. Aby zachować dane dokładnie w takiej postaci, w jakiej znajdowały się 1 kwietnia 1996 o godzinie 9:00, należy utworzyć kwerendę tworzącą tabelę, która znajdzie potrzebne rekordy i zachowa je w oddzielnej tabeli. Ta tabela, a nie kwerenda, powinna następnie stanowić podstawę do utworzenia strony dostępu do danych.
-Tworzenie kopii zapasowej tabeli.
-Tworzenie tabeli archiwalnej, zawierającej nieaktualne rekordy. Na przykład można utworzyć tabelę, w której byłyby zapisywane wszystkie zrealizowane zamówienia przed usunięciem ich z tabeli bieżących zamówień (Zamówienia).
-Poprawianie sprawności działania formularzy, raportów i stron dostępu do danych utworzonych na podstawie kwerend korzystających z danych z wielu tabel lub instrukcji SQL. Na przykład jeśli trzeba wydrukować kilka raportów utworzonych na podstawie kwerendy wykorzystującej dane z pięciu tabel i zawierającej podliczenia, proces tworzenia raportów może być przyśpieszony, jeśli uprzednio zostanie utworzona kwerenda tworząca tabelę, która znajdzie odpowiednie rekordy i umieści je w jednej tabeli. Następnie na podstawie tej tabeli można tworzyć raporty. Tabela ta może również być określona w instrukcji SQL jako źródło rekordów dla formularza, raportu lub strony dostępu do danych. Dzięki temu nie trzeba wykonywać kwerendy przy tworzeniu każdego z raportów. Należy jednak pamiętać, że podczas wykonywania kwerendy tworzącej tabelę, dane w tabeli podstawowej nie ulegają zmianie.
KWERENDA WYSZUKUJĄCA DUPLIKATY - odnajdywanie w tabeli powtarzających się danych
KWERENDA WYSZUKUJĄCA NIEDOPASOWANE DANE - odszukiwanie "sierot" w tabeli, nie mających odpowiednika w tabeli połączonej relacją; np. klienci bez zamówień.
prawa autorskie zastrzeżone