F
ormularze to obiekty bazy danych, kt≤re s│u┐▒ do wizualizacji danych, a tak┐e wy╢wietlenia ich w odpowiedniej postaci (mo┐emy ustawiaµ kolejno╢µ wystΩpowania p≤l, ich po│o┐enie, kolory, czcionkΩ). DziΩki nim mo┐emy wprowadzaµ dodatkowe elementy sterowania, takie jak przyciski nawigacyjne. Formularze przypominaj▒ swoj▒ nazw▒, a tak┐e wygl▒dem, spotykane niemal┐e wszΩdzie i wype│niane przez nas dokumenty - PIT-y, wnioski o zmianΩ meldunku, wydanie dowodu osobistego b▒d╝ wype│niane ankiety.
Access oferuje mo┐liwo╢µ tworzenia formularzy r≤┐nego typu, np. taki, kt≤ry bΩdzie zwi▒zany z jak▒╢ konkretn▒ tabel▒ i bΩdzie pobiera│ z niej okre╢lone dane, b▒d╝ te┐ mo┐e byµ obiektem nie zwi▒zanym z ┐adn▒ tabel▒ i stanowiµ Menu steruj▒ce prac▒ w naszej bazie.
Aby utworzyµ nowy Formularz, nale┐y klikn▒µ przycisk Formularze w oknie Bazy Danych, a nastΩpnie przycisk Nowy. W oknie komunikatu mamy do wyboru "Pusty formularz" (przydatny podczas tworzenia formularzy steruj▒cych nasz▒ baz▒ danych) oraz "Kreatory formularzy". Aby utworzyµ formularz za pomoc▒ kreator≤w, nale┐y wybraµ tabelΩ b▒d╝ zapytanie, z kt≤rego formularz bΩdzie pobiera│ dane. Podczas tworzenia formularzy powinno siΩ u┐ywaµ zapyta± jako danych wej╢ciowych, gdy┐ zapytania mog▒ w pe│ni dostarczyµ odpowiednich p≤l. Wyobra╝my sobie sytuacjΩ, ┐e stworzyli╢my formularz dla jakiej╢ konkretnej tabeli. Poniewa┐ firma rozwija siΩ, a wraz z ni▒ rozrasta siΩ baza danych, stworzyli╢my wiΩc dodatkow▒ tabelΩ bΩd▒c▒ w relacji z poprzedni▒ tabel▒. Gdyby╢my chcieli za│▒czyµ do jakiegokolwiek formularza pole z nowej tabeli, mieliby╢my do╢µ du┐y problem, gdy┐ nale┐a│oby stworzyµ dodatkowy formularz. W przypadku, gdy danymi wej╢ciowymi formularzy s▒ zapytania, mo┐na │atwo do│▒czyµ tabelΩ i odpowiednie pola do zapytania (zapytanie bΩdzie automatycznie widzia│o relacjΩ), a poniewa┐ formularz opiera siΩ na zapytaniu, wiΩc to pole bΩdzie dostΩpne w formularzu. Access ma wbudowane Wizardy, kt≤re pomagaj▒ w tworzeniu formularzy.
|
Rys. 1. Opr≤cz
standardowych
zmian w formularzu mamy dodatkowe narzΩdzia do projektowania:
Paleta i Zestaw NarzΩdzi |
Kreatory formularzy pomagaj▒ stworzyµ formularze zadaj▒c pytania, jednak┐e rzadko siΩ zdarza, aby formularz stworzony przez kreatory odpowiada│ nam ca│kowicie. Aby przerobiµ formularz, nale┐y wybraµ Formularz w oknie Bazy Danych, a nastΩpnie nacisn▒µ przycisk Projekt. Opr≤cz standardowych zmian w formularzu, takich jak rozmiar czcionki, wielko╢µ, mamy dodatkowe narzΩdzia do projektowania: Paleta i Zestaw NarzΩdzi (rys. 1).
Paleta pozwala na ustawienie koloru t│a, koloru obrazu, koloru krawΩdzi oraz na u┐ycie efekt≤w specjalnych, takich jak styl wypuk│y, b▒d╝ wklΩs│y. Zestaw narzΩdzi zawiera wiele u┐ytecznych element≤w potrzebnych przy projektowaniu formularzy (rys. 2). Sk│ada siΩ on z nastΩpuj▒cych element≤w:
|
Rys. 2.
Zestaw narzΩdzi zawiera wiele u┐ytecznych element≤w potrzebnych przy projektowaniu formularzy |
- wska╝nik - s│u┐y do wybierania element≤w sterowania na formularzu. Musi byµ wci╢niΩty, gdy chcemy zaznaczyµ jaki╢ element sterowania (np. aby zmieniµ kolor b▒d╝ te┐ przesun▒µ go);
- etykieta - s│u┐y do wprowadzania dodatkowych napis≤w i tytu│≤w. Nie mo┐na wprowadzaµ do niej danych w Widoku Formularz;
- grupa opcji - u┐ytkownik mo┐e wybraµ tylko jedn▒ z opcji wykluczaj▒cych siΩ wzajemnie. Dane wej╢ciowe mog▒ pochodziµ z tabeli lub mo┐na wpisaµ je przy projektowaniu. Wybran▒ opcjΩ mo┐na zapisaµ w tabeli (zapisywane jest to w jednym polu jako liczba ca│kowita);
- przyciski opcji - wystΩpuj▒ w wiΩkszo╢ci w grupie opcji wykluczaj▒c siΩ wzajemnie. Gdy wystΩpuj▒ samodzielnie, to mog▒ s│u┐yµ do zaznaczania warto╢ci typu Tak/Nie;
- pole edycji z list▒ wyboru (pole typu combo) - s│u┐y do wybrania jednej z wielu warto╢ci lub wprowadzenia nowej. Dane wej╢ciowe do listy mog▒ pochodziµ z tabeli, b▒d╝ te┐ mog▒ byµ wpisane podczas projektowania. Pole to mo┐e byµ pomocne przy wprowadzaniu du┐ej liczby rekord≤w o mieszka±cach z kilku miast (ograniczona liczba miast, czΩsto powtarzaj▒ca siΩ nazwa miasta). Zamiast wpisywania ca│ej nazwy miasta, tworzy siΩ dodatkow▒ tabelΩ z ich nazwami, a nastΩpnie pole combo, kt≤re bΩdzie zapisywa│o wybrane miasto w tabeli. Po wpisaniu pierwszej litery zostanie wybrane miasto o pocz▒tkowej literze zgodnej z wprowadzon▒ na klawiaturze;
|
Rys. 3.
Przyk│adowy formularz
utworzony
za pomoc▒ Zestawu narzΩdzi |
- wykres - pozwala w│▒czyµ do formularzu wykres, kt≤ry bΩdzie dynamicznie operowa│ na danych z tabeli po uruchomieniu formularza;
- nie zwi▒zana ramka obiektu - pozwala na osadzanie obiekt≤w OLE w bazie danych. Po osadzeniu obiektu bΩdzie on przechowywany w bazie danych;
- zwi▒zana ramka obiektu - podobnie jak poprzednio, z tym, ┐e w bazie przechowywane bΩdzie jedynie powi▒zanie z obiektem (informacja, gdzie plik siΩ znajduje);
- linia - rysowanie linii o dowolnym kolorze i grubo╢ci. Mo┐e byµ elementem separuj▒cym pewne bloki danych;
- nowa strona - wstawia koniec strony do formularza. Poruszanie siΩ po stronach odbywa siΩ za pomoc▒ klawiszy [PageUp, PageDown];
- kreatory element≤w steruj▒cych - w│▒cza lub wy│▒cza wbudowane kreatory (je┐eli istniej▒ dla element≤w, kt≤re aktualnie tworzymy);
- pole tekstowe - s│u┐y do edycji i wprowadzania danych do pola w tabeli;
- przycisk prze│▒cznika - s│u┐y do przedstawienia dw≤ch stan≤w wci╢niΩty/wyci╢niΩty. Warto╢µ, jaka jest przyporz▒dkowana stanom prze│▒cznika, jest okre╢lona przez Warto╢µ opcji;
- pole wyboru - s│u┐y do zaznaczenia warto╢ci Tak/Nie dla pola o formacie Tak/Nie;
- pole listy - mo┐na wybraµ jedn▒ z kilku warto╢ci z listy. Nie mo┐na wpisaµ warto╢ci, kt≤ra nie jest na li╢cie;
- podformularz/podraport - pozwala na za│▒czenie innego formularza lub raportu. Mo┐na powi▒zaµ je okre╢lonym polem. Je┐eli w bazie s▒ dwie tabele "Oddzia│y" i "Pracownicy" powi▒zane relacj▒ (polem ID Oddzia│u), to mo┐emy za│▒czyµ podformularz "Pracownicy" do formularza "Oddzia│y" i powi▒zaµ je polem ID Oddzia│u. W ten spos≤b bΩdziemy mieli na formularzu informacje o oddziale oraz o jego wszystkich pracownikach;
- prostok▒t - dziΩki niemu mo┐na zaznaczyµ jaki╢ blok danych, stanowi▒cych pewn▒ ca│o╢µ;
- przycisk polecenia - wstawiony w formularz przycisk mo┐e wywo│aµ szereg polece± napisanych w jΩzyku Visual Basic, b▒d╝ te┐ wywo│aµ zdefiniowane zdarzenia (np. otwieranie formularzy, poruszanie siΩ po rekordach, wywo│anie makra);
- blokada narzΩdzia - pozwala na tworzenie wielu element≤w sterowania tego samego typu (domy╢lnie Access zamienia element steruj▒cy na wska╝nik po utworzeniu jednego elementu sterowania).
Rodzaje formularzy
- Formularz jednokolumnowy - ka┐dy rekord wy╢wietlany jest na "oddzielnej kartce"; przypomina on znane nam formularze z codziennego ┐ycia.
- Formularz tabelaryczny - dane w formularzu wy╢wietlane s▒ bardzo podobnie jak w tabeli; ka┐dy rekord wy╢wietlany jest w oddzielnym wierszu.
- Wykres - pozwala na stworzenie wykresu z danych. Za jego pomoc▒ mo┐na zliczyµ odpowiednie warto╢ci wystΩpuj▒ce w rekordach (np. liczbΩ um≤w z firm▒ X) lub zsumowaµ odpowiednie warto╢ci (np. wydatki na benzynΩ).
- Formularz zespolony - pozwala tworzyµ formularz zawieraj▒cy inny podformularz.
- Autoformularz - tworzony jest automatycznie przez Accessa. W wiΩkszo╢ci jest to formularz jednokolumnowy ze wszystkimi polami.
Przyk│adowy formularz utworzony za pomoc▒ wymienionych narzΩdzi pokazany jest na rys. 3.
Raporty
|
Rys. 4.
Przyk│adowy
raport Grupy/Podsumowania,
w kt≤rym
grupowano
wed│ug pola "miasto",
a sortowano
wed│ug pola "Nazwisko" |
Jednym z zada± bazy danych jest opracowanie wynik≤w i wydrukowanie ich w odpowiedniej formie. Access pozwala tworzyµ raporty, kt≤re podsumuj▒ dane, wylicz▒ udzia│ procentowy, utworz▒ wykresy b▒d╝ stworz▒ etykiety adresowe. Na drukowanym raporcie mo┐e znale╝µ siΩ data drukowania, numer strony oraz dodatkowe informacje: logo firmy i adres. Raporty umo┐liwiaj▒ grupowanie danych wed│ug zadanych p≤l oraz sortowanie, przez co wydruki s▒ uporz▒dkowane (rys 4).
Rodzaje raport≤w
- Jednokolumnowy - podobnie jak w przypadku formularzy pola wy╢wietlane s▒ w jednej kolumnie.
- Grupy/Podsumowania - mo┐na grupowaµ dane (np. wed│ug miast), sortowaµ je i sumowaµ. Bardzo │atwo stworzony raport mo┐e dostarczyµ wielu wa┐nych dla nas informacji.
- Etykieta adresowa - dziΩki niemu mo┐emy stworzyµ etykiety o r≤┐nych rozmiarach, wed│ug ustalonych standard≤w b▒d╝ wed│ug w│asnych wymaga±. Przy projektowaniu etykiet mo┐na ustawiµ po│o┐enie p≤l, kroje czcionek oraz ich wielko╢µ. Gdy nasz raport opiera siΩ na zapytaniu, to mo┐emy np. wydrukowaµ etykiety dla naszych najlepszych klient≤w (poprzez stworzenie odpowiedniego zapytania wybieraj▒cego).
- Podsumowania - raport tworzy podsumowania dla pewnych grup rekord≤w.
- Tabelaryczny - ka┐dy wiersz w raporcie bΩdzie zawiera│ inny rekord. Mo┐e byµ on u┐yty jedynie dla rekord≤w o ma│ej liczbie p≤l.
- Autoraport - Access wed│ug w│asnego uznania tworzy odpowiedni raport.
- Wydruk seryjny MS Word - │▒czy dane z dokumentem MS Word, aby umo┐liwiµ korespondencjΩ seryjn▒.
Modu│y Visual Basica
Opr≤cz do╢µ │atwego interfejsu u┐ytkownika przy tworzeniu tabel, zapyta±, formularzy i raport≤w istnieje w Accessie jΩzyk programowania - Visual Basic. DziΩki temu mo┐emy dokonywaµ do╢µ skomplikowanych operacji na naszej bazie, kt≤re nie s▒ dostΩpne w kreatorach b▒d╝ w Widoku projekt. JΩzyk Visual Basic jest do╢µ │atwym jΩzykiem, a jego zalet▒ jest to, ┐e nie ma siΩ do czynienia z ca│ym kodem programu, gdy┐ takowy w│a╢ciwie nie istnieje. Program pisze siΩ "kawa│kami", a ka┐da funkcja lub procedura zapisana jest oddzielnie.
Napisane funkcje mog▒ byµ przechowywane jako oddzielne modu│y i zapisane w oknie "Bazy danych" jako "Nazwa modu│u", b▒d╝ te┐ mog▒ byµ napisane bezpo╢rednio w formularzu (funkcje VB wywo│ywane s▒ w wiΩkszo╢ci z formularzy) i wtedy bΩd▒ one widoczne tylko podczas aktywnego formularza.
Dla przyk│adu podam funkcjΩ VB, kt≤ra zamyka formularz "Pracownicy", zapamiΩtuje warto╢µ ID Oddzia│u, w kt≤rym dana osoba pracuje, a nastΩpnie otwiera formularz "Oddzia│y" i wy╢wietla informacje o oddziale.
Sub Przycisk41_Click () 'Pocz▒tek procedury
Dim FormName As String
'Deklaracja zmiennej FormName jako │a±cuch Dim
Zmienna As Long
'Deklaracja zmiennej Zmienna jako liczba ca│kowita d│uga
FormName = "Oddzia│y"
'Wpisanie do zmiennej FormName warto╢ci │a±cuchowej Oddzia│y
Zmienna = Me![ID oddzia│u]
'Wpisanie do zmiennej Zmienna warto╢ci aktualnej z pola ID oddzia│u
DoCmd Close
'ZamkniΩcie formularza Pracownicy
DoCmd OpenForm FormName
'Otwarcie formularza Oddzia│y
DoCmd GoToRecord A_FORM, FormName, , Zmienna
'Przej╢cie do rekordu z przesuniΩciem o Zmienn▒
DoCmd GoToRecord A_FORM, FormName, LAST
'CofniΩcie siΩ o jeden rekord do ty│u
End Sub 'Koniec procedury
Program ten jest do╢µ prosty, jednak┐e ma pewn▒ wadΩ. Ot≤┐ przej╢cie do rekordu odbywa siΩ poprzez GoToRecord, z przesuniΩciem o warto╢µ Zmienna. Je╢li w naszej bazie danych skasowaliby╢my kilka rekord≤w, to wprowadzane rekordy do tabeli Oddzia│y mia│yby do╢µ du┐e warto╢ci ID oddzia│u (klucz podstawowy pomimo skasowania nie zostaje nadany powt≤rnie) i wtedy chcieliby╢my przej╢µ do rekordu, kt≤ry m≤g│by nie istnieµ, gdy┐ tylu rekord≤w nawet nie by│oby w naszej bazie. Prawid│owo napisany program powinien otwieraµ formularz z odpowiednimi kryteriami okre╢lonymi przez zapytanie (w naszym przypadku warto╢µ [ID oddzia│u] = Zmienna).
Makra
Makra maj▒ podobne dzia│anie do funkcji Visual Basica. DziΩki nim mo┐na wykonywaµ wiele operacji na rekordach, aplikacji i na obiektach bazy danych (takich jak otwieranie, zamykanie). Akcje makr maj▒ jednak du┐▒ wadΩ w por≤wnaniu z funkcjami VB - nie maj▒ obs│ugi b│Ωd≤w (np. akcja makra bΩdzie chcia│a zamkn▒µ formularz, kt≤ry nie jest otwarty). Z tego powodu powinno unikaµ siΩ makr, a zastΩpowaµ je odpowiednimi funkcjami VB. Istniej▒ jednak makra, kt≤re nie maj▒ odpowiednik≤w w postaci funkcji VB. S▒ to m.in. makro AutoExec (automatycznie │adowane po otwarciu bazy danych) oraz makra zwi▒zane z tworzeniem Menu (Access pozwala tworzyµ menu kontekstowe, w zale┐no╢ci od uruchomionego formularza mamy inne menu). Makra mog▒ byµ pojedyncze lub te┐ zgrupowane w tzw. grupy makr (zmniejsza to liczbΩ makr, a tak┐e jest niezbΩdne w tworzeniu menu).
Warto╢ci dla makra Menu G│≤wne:
Akcja | Nazwa Menu | Nazwa makra menu |
|
DodajMenu | &Plik | Menu G│≤wne Plik |
DodajMenu | &Edycja | Menu G│≤wne Edycja |
DodajMenu | &Pomoc | Menu G│≤wne Pomoc |
Przyk│adowa zawarto╢µ makra Menu G│≤wne Plik:
Nazwa makra | Akcja (argumenty) |
|
&Zamknij | Zamknij (Formularz Pracownicy) |
&Do ikony | DoIkony |
&Wyj╢cie | Koniec |
Znak "&" przed dowoln▒ liter▒ Nazwy makra b▒d╝ Nazwy Menu oznacza skr≤t literowy (z u┐yciem klawisza Alt+znak) dla tego menu.
Na przyk│ad w stworzonym przez nas Menu mo┐emy uruchomiµ polecenie Zamknij za pomoc▒ skr≤tu klawiszy Alt+Z.
Aplikacje baz danych
ªrodowisko Accessa pozwala na to, aby nasza baza danych mog│a przypominaµ program napisany w konkretnym celu. Aby tak siΩ sta│o, nale┐y wy│▒czyµ wszelkie paski narzΩdzi (za pomoc▒ akcji makr) oraz stworzyµ taki interfejs programu, kt≤ry u│atwia u┐ytkownikowi pracΩ. Poruszanie siΩ po programie mo┐e odbywaµ siΩ za pomoc▒ formularzy z przyciskami steruj▒cymi lub te┐ za pomoc▒ stworzonego przez nas menu. Aby utworzyµ menu dla formularza Pracownicy, sk│adaj▒ce siΩ z trzech czΩ╢ci: Plik, Edycja, Pomoc, nale┐y utworzyµ 4 makra. Jedno z nich bΩdzie okre╢la│o, jakie makra bΩd▒ odpowiedzialne za poszczeg≤lne elementy menu i z ilu element≤w bΩdzie sk│ada│o siΩ nasze menu. Aby nasz formularz "wiedzia│", ┐e istnieje dla niego Menu, to nale┐y we w│a╢ciwo╢ciach formularza w Widoku projekt wstawiµ nazwΩ tego makra dla pola "Pasek menu". Pierwsze makro g│≤wne bΩdzie nazywa│o siΩ Menu G│≤wne i w Widoku projekt nale┐y wprowadziµ odpowiednie warto╢ci (patrz tab. 1).
Kolejne trzy makra odpowiedzialne za poszczeg≤lne elementy menu powinny mieµ nazwy: Menu G│≤wne Plik, Menu G│≤wne Edycja, Menu G│≤wne Pomoc (tab. 2).
Za miesi▒c: dodatkowe funkcje i mo┐liwo╢ci nowszych wersji tego programu - Access 7.0
(z pakietu Microsoft Office 95) oraz Access
97 (z pakietu Microsoft Office 97).
(c) Copyright LUPUS |