K lub U┐ytkownika  


Access 2.0 (4)
Wprowadzamy dane
Piotr Daniszewski


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.
Paleta i Zestaw NarzΩdzi
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:
Zestaw NarzΩdzi
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;
    Przyk│adowy formularz
    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


Przyk│adowy raport
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