Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00163 013958 11052374 na godz. na dobę w sumie
ABC Accessa 2002/XP PL - książka
ABC Accessa 2002/XP PL - książka
Autor: , Liczba stron: 144
Wydawca: Helion Język publikacji: polski
ISBN: 83-7197-827-8 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> bazy danych >> access
Porównaj ceny (książka, ebook, audiobook).
MS Access, program wchodzący w skład najnowszej wersji popularnego pakietu biurowego Office XP, to jedna z najpopularniejszych baz danych pracujących w systemach operacyjnych Microsoftu.

Książka ta, prezentująca najnowszą wersję popularnej bazy danych, jest przeznaczona zarówno dla początkujących, jak i bardziej zaawansowanych użytkowników programu. Dzięki niej można się dowiedzieć, jak samodzielnie przygotować bazę danych i jak z nią pracować. Dzięki książce samodzielnie utworzysz bazę danych do celów prywatnych lub służbowych. Może to być np. baza płyt kompaktowych, klientów czy kooperantów.

Książka składa się z siedmiu rozdziałów. W pierwszym dowiesz się, jak uruchamiać Accessa, poznasz podstawowe pojęcia związane z bazami danych oraz zapoznasz się z głównym oknem programu. Drugi rozdział omawia tworzenie podstawowych elementów bazy danych. Dowiesz się z niego, jak tworzyć własne tabele, formularze, raporty i kwerendy. W rozdziale tym opisano również sposoby 'przekształcenia' arkuszy programu Excel na bazę danych Access. Rozdział trzeci przedstawia metody dostosowania Accessa do własnych potrzeb oraz zwiększenia wydajności bazy.

Czwarty omawia szczegółowo zagadnienia związane z tworzeniem tabel oraz wykorzystaniem kwerend, raportów i filtrów. Właśnie w nim znajdziesz szczegółowe informacje na temat tego, jak przeszukiwać bazę danych, aby znaleźć potrzebne informacje. W rozdziałach piątym i szóstym zajmiemy się językiem Visual Basic for Applications. Makra utworzone w tym języku mogą sprawić, że nasze bazy danych będą pracować w naprawdę profesjonalny sposób. Rozdział siódmy przedstawia zaawansowane zagadnienia związane z pracą z formularzami.

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

IDZ DO IDZ DO PRZYK£ADOWY ROZDZIA£ PRZYK£ADOWY ROZDZIA£ SPIS TRE(cid:140)CI SPIS TRE(cid:140)CI ABC Accessa 2002/XP PL KATALOG KSI¥flEK KATALOG KSI¥flEK KATALOG ONLINE KATALOG ONLINE ZAM(cid:211)W DRUKOWANY KATALOG ZAM(cid:211)W DRUKOWANY KATALOG Autorzy: Edward C. Willett, Steve Cummings T‡umaczenie: Marek Korbecki Opracowanie wstŒpu i rozdzia‡(cid:243)w 1, 2: Daniel Chmielewski ISBN: 83-7197-827-8 Tytu‡ orygina‡u: Office XP Bible Format: B5, stron: 142 TW(cid:211)J KOSZYK TW(cid:211)J KOSZYK DODAJ DO KOSZYKA DODAJ DO KOSZYKA CENNIK I INFORMACJE CENNIK I INFORMACJE ZAM(cid:211)W INFORMACJE ZAM(cid:211)W INFORMACJE O NOWO(cid:140)CIACH O NOWO(cid:140)CIACH ZAM(cid:211)W CENNIK ZAM(cid:211)W CENNIK CZYTELNIA CZYTELNIA FRAGMENTY KSI¥flEK ONLINE FRAGMENTY KSI¥flEK ONLINE MS Access, program wchodz„cy w sk‡ad najnowszej wersji popularnego pakietu biurowego Office XP, to jedna z najpopularniejszych baz danych pracuj„cych w(cid:160) systemach operacyjnych Microsoftu. Ksi„¿ka ta, prezentuj„ca najnowsz„ wersjŒ popularnej bazy danych, jest przeznaczona zar(cid:243)wno dla pocz„tkuj„cych, jak i bardziej zaawansowanych u¿ytkownik(cid:243)w programu. DziŒki niej mo¿na siŒ dowiedzie(cid:230), jak samodzielnie przygotowa(cid:230) bazŒ danych i jak z ni„ pracowa(cid:230). DziŒki ksi„¿ce samodzielnie utworzysz bazŒ danych do cel(cid:243)w prywatnych lub s‡u¿bowych. Mo¿e to by(cid:230) np. baza p‡yt kompaktowych, klient(cid:243)w czy kooperant(cid:243)w. Ksi„¿ka sk‡ada siŒ z siedmiu rozdzia‡(cid:243)w. W pierwszym dowiesz siŒ, jak uruchamia(cid:230) Accessa, poznasz podstawowe pojŒcia zwi„zane z bazami danych oraz zapoznasz siŒ z(cid:160) g‡(cid:243)wnym oknem programu. Drugi rozdzia‡ omawia tworzenie podstawowych element(cid:243)w bazy danych. Dowiesz siŒ z niego, jak tworzy(cid:230) w‡asne tabele, formularze, raporty i kwerendy. W rozdziale tym opisano r(cid:243)wnie¿ sposoby (cid:132)przekszta‡cenia(cid:148) arkuszy programu Excel na bazŒ danych Access. Rozdzia‡ trzeci przedstawia metody dostosowania Accessa do w‡asnych potrzeb oraz zwiŒkszenia wydajno(cid:156)ci bazy. Czwarty omawia szczeg(cid:243)‡owo zagadnienia zwi„zane z tworzeniem tabel oraz wykorzystaniem kwerend, raport(cid:243)w i filtr(cid:243)w. W‡a(cid:156)nie w nim znajdziesz szczeg(cid:243)‡owe informacje na temat tego, jak przeszukiwa(cid:230) bazŒ danych, aby znale(cid:159)(cid:230) potrzebne informacje. W rozdzia‡ach pi„tym i sz(cid:243)stym zajmiemy siŒ jŒzykiem Visual Basic for Applications. Makra utworzone w tym jŒzyku mog„ sprawi(cid:230), ¿e nasze bazy danych bŒd„ pracowa(cid:230) w naprawdŒ profesjonalny spos(cid:243)b. Rozdzia‡ si(cid:243)dmy przedstawia zaawansowane zagadnienia zwi„zane z prac„ z formularzami. Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: helion@helion.pl Wstęp ...................................................z...................................................z.............. 7 Rozdział 1. Access 2002 — wprowadzenie...................................................z......................... 9 Podstawowe informacje na temat baz danych ...................................................i... 9 Uruchamianie programu ...................................................i.................................. 10 Okno programu Access 2002 ...................................................i........................... 11 Pasek menu ...................................................................................................................13 Paski narzędzi ...............................................................................................................13 Okno bazy danych.........................................................................................................13 Przyciski kart wyświetlających obiekty bazy danych.................................................13 Pasek stanu....................................................................................................................13 Okienko zadań ..............................................................................................................13 Asystent pakietu Office................................................................................................13 Pasek narzędzi okna bazy danych................................................................................14 Wersje programu Microsoft Access...................................................i................. 14 Rozdział 2. Podstawy pracy z programem Access 2002 ...................................................z.. 15 Praca z tabelami ...................................................i............................................... 15 Tworzenie tabel i praca z nimi.....................................................................................16 Operacje edycyjne na tabelach.....................................................................................19 Tworzenie tabel na bazie arkuszy programu Excel .....................................................20 Praca z kwerendami ...................................................i......................................... 25 Tworzenie raportów ...................................................i......................................... 27 Tworzenie formularzy...................................................i...................................... 29 Eksportowanie danych z Accessa do innych formatów...................................... 30 Drukowanie w programie Access ...................................................i.................... 31 Rozdział 3. Rozpoczynamy pracę z Accessem ...................................................z................. 33 Jak poradzić sobie z Accessem? ...................................................i...................... 33 Dostosowywanie zaawansowane ...................................................i..................... 34 Ustawienia początkowego zachowania bazy danych .................................................34 Dostosowywanie interfejsu i innych opcji ...................................................................35 Tworzenie makr w Accessie ........................................................................................35 Dodawanie i usuwanie składników..............................................................................38 Wybór mechanizmu obsługi bazy danych ...................................................i....... 39 Mechanizm Jet ..............................................................................................................39 Alternatywy dla Jeta ....................................................................................................39 Przemyślenia dotyczące wyboru mechanizmu ............................................................40 4 ABC Access 2002/XP PL Baza danych czy projekt? ............................................................................................42 Rozbudowa baz danych Jet do formatu SQL Server ..................................................43 Praca w Accessie...................................................i.............................................. 45 Poszerzanie pól w celu ułatwienia edycji ....................................................................45 Optymalizacja wydajności ...........................................................................................45 Korzystanie z analizatora wydajności..........................................................................46 Optymalizacja pracy sieciowej ....................................................................................47 Utrzymanie porządku w Accessie................................................................................48 Rozdział 4. Podstawy Accessa ...................................................z........................................... 49 Koncepcja bazy danych: krótki kurs...................................................i................ 49 Tabele: tam, gdzie przechowywane są dane ................................................................50 Kwerendy: koncentracja na potrzebnych danych ........................................................50 Formularze, strony i raporty: narzędzia interakcji z danymi ......................................51 Posługiwanie się makrami i modułami ........................................................................51 Obiekty bazy danych....................................................................................................52 Planowanie bazy danych ...................................................i.................................. 52 Rozpoczynamy od końca .............................................................................................52 Projektowanie tabel i organizacja pól ..........................................................................53 Projektowanie relacji między tabelami ........................................................................54 Szczegółowe definiowanie pól ....................................................................................55 Planowanie kwerend ....................................................................................................56 Projektowanie formularzy, stron dostępu do danych i raportów ................................56 Techniki konstrukcji baz danych ...................................................i..................... 56 Posługiwanie się oknem Baza danych .........................................................................57 Praca z widokami ..........................................................................................................59 Tworzenie tabel i praca z nimi.....................................................................................60 Uzyskiwanie odpowiedzi ...................................................i................................. 69 Wyszukiwanie, sortowanie i filtrowanie danych .........................................................69 Tworzenie kwerend......................................................................................................71 Dystrybucja raportów...................................................................................................73 Rozdział 5. Sekrety projektu aplikacji bazy danych ...................................................z...... 77 Jak rozumieć aplikacje Accessa? ...................................................i..................... 78 Planowanie i implementowanie aplikacji ....................................................................79 Wybór właściwego narzędzia: makra Accessa a VBA...............................................79 Kiedy nie tworzyć aplikacji baz danych w Accessie? ................................................81 Magia tworzenia aplikacji: wykorzystanie kreatorów baz danych ..................... 83 Tworzenie własnych aplikacji w Accessie...................................................i....... 85 Projektowanie interfejsu użytkownika.........................................................................85 Przygotowanie opcji startowych i zabezpieczanie interfejsu......................................89 Maksimum wydajności przy minimalnej ilości kodu VBA........................................90 Pisanie kodu VBA w Accessie ....................................................................................92 Dystrybucja aplikacji ...................................................i....................................... 92 Dzielenie bazy danych Jet w sieci ...............................................................................92 Replikacja bazy danych ...............................................................................................93 Zabezpieczanie plików.................................................................................................94 Rozdział 6. Praca z danymi przy użyciu VBA...................................................z................. 95 Wprowadzenie do programowania baz danych w VBA..................................... 95 Użycie DoCmd w Accessie .........................................................................................96 SQL i VBA ...................................................................................................................96 Niektóre technologie związane z bazami danych ........................................................98 Spis treści 5 Zapis kodu bazy danych przy użyciu ADO ...................................................i..... 99 Obsługa błędów ............................................................................................................99 Tworzenie w projekcie odwołań do ADO ...................................................................99 Ustanawianie łącza........................................................................................................99 Praca z obiektami Recordset ......................................................................................101 Obiekt Command ........................................................................................................107 Praca z SQL...................................................i...................................................i. 109 Unikanie SQL .............................................................................................................109 Dialekty SQL ..............................................................................................................110 Umieszczanie instrukcji SQL wewnątrz kodu VBA ................................................110 Zapis instrukcji SELECT ...........................................................................................111 Wykonywanie masowego uaktualniania i usuwania w SQL ....................................116 Rozdział 7. Projektowanie formularzy w Accessie ...................................................z....... 117 Formularze Accessa: świat z boku...................................................i................. 118 O formularzach związanych ......................................................................................118 Niepowtarzalność formularzy Accessa a nasze plany programistyczne...................118 Projektowanie formularzy Accessa...................................................i................ 119 Posługiwanie się widokami formularza .....................................................................120 Anatomia formularza Accessa ...................................................................................121 Sterowanie wyglądem formularza za pomocą polecenia Autoformatowanie...........125 Łączenie formularza z danymi...................................................................................126 Praca z formantami ....................................................................................................126 Praca z formularzami za pomocą kodu VBA ............................................................130 Praca z podformularzami ...........................................................................................131 Skorowidz...................................................z...................................................z... 135 Rozdział 5. W rozdziale: (cid:1)(cid:1)(cid:1)(cid:1) Planowanie własnych aplikacji Access (cid:1)(cid:1)(cid:1)(cid:1) Podejmowanie decyzji, kiedy korzystać z makr, VBA leub samego Accessa (cid:1)(cid:1)(cid:1)(cid:1) Tworzenie aplikacji użytkownika (cid:1)(cid:1)(cid:1)(cid:1) Dostosowywanie istniejących programów (cid:1)(cid:1)(cid:1)(cid:1) Sposoby, jak uzyskać więcej dzięki skromniejszemu kodeowi Skoro opanowaliśmy już podstawowe narzędzia konstrukcji baz danych (omówione w rozdziale 4.), czas przejść do bardziej zaawansowanych sposobów wykorzystania użyteczności Accessa. Prawdę mówiąc, Access to coś znacznie więcej niż program do obsługi baz danych — oferuje bowiem pełne środowisko programistyczne, umożli- wiając tworzenie własnych aplikacji. Ściśle rzecz biorąc, Access udostępnia dwa różne środowiska programowania aplika- cji. W jednym możemy tworzyć w pełni działające aplikacje, korzystając z makr au- tomatyzujących wydawanie poleceń dostępnych na paskach narzędziowych i w menu. Alternatywne środowisko umożliwia rezygnację z pracy z interfejsem Accessa i wy- korzystanie VBA, oferującego pełną moc programowania. W niniejszym rozdziale omówimy plusy i minusy obu rozwiązań. Witryna internetowa korporacji Microsoft udostępnia szereg artykułów szczegółowo omawiających zagadnienia programistyczne dotyczące wszystkich programów pakietu Office, w to znajdziemy pod adresem http:// msdn.microsoft.com/office/. i Accessa. Archiwum tym 78 ABC Access 2002/XP PL Jak rozumieć aplikacje Accessa? Od strony koncepcyjnej aplikacja Accessa jest kompletnym tworem programistycz- nym, wykonującym szereg zadań związanych z zarządzaniem bazami danych, udo- stępniającym użytkownikowi wbudowane funkcje za pośrednictwem pasków narzę- dziowych i formularzy dostosowywanych do jego wymagań. Oczywiście, nie ma potrzeby rozważać, kiedy baza danych staje się aplikacją. Wystarczy powiedzieć, że aplikacje to rozwiązanie o dalece ambitniejszych celach i dostosowywanych do okre- ślonych wymagań w znacznie wyższym stopniu niż bazy danych, zawierające infor- macje, którymi zarządzamy za pośrednictwem standardowego interfejsu użytkownika oraz poleceń. Kiedy rozpoczynamy tworzenie nowej aplikacji, w miejscu domyślnego okna bazy danych Accessa pojawia się formularz specjalnego rozdzielacza (przykład widoczny jest na rysunku 5.1). Pełniąc rolę centralnego panelu sterowania aplikacją, rozdzielacz udostępnia zestaw przycisków i innych kontrolek aktywujących polecenia lub odgałę- zienia do innych formularzy, wyświetlających dane w celu podglądu, edycji lub kwe- rendowania. Jednocześnie standardowe elementy interfejsu Accessa zastępują paski narzędziowe i menu aplikacji, które mają również zdolność samoczynnego ukrywania się i wyświetlania adekwatnie do działań użytkownika. Rysunek 5.1. Główny panel przełączający aplikacji użytkownika jest elementem, który, rozpoczynając pracę nad aplikacją, widzimy jako pierwszy Tworząc aplikację, koniecznie powinniśmy pamiętać o umieszczaniu komentarzy do- kładnie wyjaśniających kolejne zadania wykonywane przez makro czy skrypt VBA. Dzięki temu będziemy mieli pewność, że gdy przyjdzie nam lub komukolwiek innemu wprowadzić modyfikacje kodu poprawiające albo uaktualniające aplikację, nie będziemy mieli z tym problemu. Choć aplikacje możemy budować na własny użytek, to jednak znacznie częściej two- rzymy je w celu dystrybucji wśród innych użytkowników. Zapisując dane wraz z kontrolkami określonych zadań, umożliwiamy innym wykonanie pracy nawet przy znikomej znajomości Accessa. Rozdział 5.  Sekrety projektu aplikacji bazy danych 79 Planowanie i implementowanie aplikacji Proces planowania (opisany w rozdziale 4.) nabiera jeszcze większego znaczenia i wymaga baczniejszej uwagi, gdy dotyczy budowy kompletnej aplikacji. Projekt sta- nowiący fundament bazy danych — czyli tabele, pola, formularze, kwerendy i raporty — w dużym stopniu decyduje o końcowym sukcesie aplikacji. Należy się ponadto za- stanowić, jakich poleceń zautomatyzowanych może oczekiwać użytkownik oraz jak je zaprezentować na rozdzielaczu, pasku menu czy naerzędziowym. Bardzo ważne podczas przygotowywania projektu jest rozważenie aplikacji jako serii zdarzeń, które mogą zachodzić w dowolnej kolejności. Przykładem zdarzenia może być kliknięcie przycisku myszą, otwarcie lub zamknięcie formularza. W aplikacjach Accessa, podobnie jak w programach VBA, takie zdarzenia wyzwalają określone funkcje. Chcąc umożliwić użytkownikowi wykonanie kwerendy, możemy tak skon- struować program, by kwerenda była uruchamiana za pomocą naciśnięcia określone- go przycisku. Do wykonania kwerendy wywołanej kliknięciem przycisku aplikacja musi użyć makra lub kodu VBA. Wybór właściwego narzędzia: makra Accessa a VBA Pamiętajmy, że makra Accessa nie są tym samym, co oparte na VBA makra w pro- gramach Word, Excel i PowerPoint. Ponieważ do budowy aeplikacji możemy użyć obu rodzajów narzędzi, ważnym krokiem jest podjecie decyzji o wyborze jednego z nich, lepiej spełniającego nasze potrzeby. Różnice między makrem i VBA Ujmując rzecz w skrócie, różnice między makrami i procedurami VBA przedstawiają się następująco. (cid:1)(cid:1)(cid:1)(cid:1) Makra Accessa automatyzują serie akcji, w większości ekorespondujących z poleceniami, które można wydać za pośrednictwem inteerfejsu użytkownika (wykorzystując menu lub przyciski na pasku narzędzioweym). W ten sposób można otwierać tabele, uruchamiać kwerendy, wyświetleać formularze, drukować raporty i tak dalej. Podstawy tworzenia makr w Accessie omówione zostałyo w rozdziale 3. (cid:1)(cid:1)(cid:1)(cid:1) Procedury VBA wykorzystywane w Accessie funkcjonują epodobnie jak w innych aplikacjach pakietu Office. Jedyną charakterysetyczną ich cechą jest to, że mogą czynić bezpośredni użytek z programowania oebiektów należących do Accessa. VBA nie jest związany z interfejsem i dlaetego jego wygląd i sposób współdziałania z bazami danych może znaczniee odbiegać, zapewniając przy tym dalece większą moc, od sposobu, ew jaki pracuje interfejs użytkownika. 80 ABC Access 2002/XP PL Niezależnie od tych różnic granica między makrami i VBA jest niewyraźna. Makro mo- że uruchamiać procedury VBA, a kod VBA może wykorzystywać metody obiektu DoC- md w celu wykonywania makr. Należy także zwrócić uwagę na zdolność Accessa do konwertowania makr na procedury VBA. Operację konwersji rozpoczyna wyselekcjo- nowanie obiektu makra w oknie bazy danych (jednak bez otwierania obiektu). Jeśli na- tomiast makro jest połączone z formularzem bądź raportem, należy wówczas otworzyć ów formularz lub raport w widoku projektu, a następnie wydać polecenie Konwertuj ma- kra na język Visual Basic z menu Narzędzia/Makro. Kiedy użyć makr, a kiedy VBA? W jaki sposób wybrać między makrami i VBA? Ogólnie rzecz biorąc, makra są ła- twiejsze w użyciu, ale VBA zapewnia o wiele większą ueżyteczność działania. Oto rada: nie mając pewności, czy makra będą wystarczającym rozwiązaniem dla two- rzonej aplikacji, należy zrezygnować z ich użycia. Nauka VBA jest niełatwa i ukoń- czenie pierwszej aplikacji może potrwać dość długo, ale umiejętności, jakich nabędzie- my, budując proste aplikacje, przydadzą się, kiedy przystąpimy do tworzenia bardziej skomplikowanych. Jeśli natomiast odkryjemy, że nasza „prosta” aplikacja wymaga więcej funkcji, niż z początku sądziliśmy, umiejętność kodowania VBA uchroni nas od konieczności pisania całej aplikacji od początku. Prawdę mówiąc, Access nie wymusza na nas wyboru między makrami i VBA — w pojedynczej aplikacji można użyć obu rozwiązań jednocześnie. Poznając tajniki oby- dwu narzędzi, będziemy mogli wybrać z nich to, co najolepsze. Korzyści wynikające ze stosowania makr Czas na szczegóły. Makra są łatwiejsze w użyciu niż VBA, głównie z dwóch powo- dów. Po pierwsze, umiejętność posługiwania się interfejsem Accessa sprawia, że bu- dowa aplikacji przy użyciu makr to jedynie rozszerzenie posiadanej wiedzy. Więk- szość akcji wykonywanych przez makra to odpowiedniki regularnie wydawanych poleceń. Po drugie, Access pomaga nam w trakcie konstruowania makr, wyświetlając w oknie Makro pola argumentów niezbędnych do przeprowadzenia poszczególnych akcji. W przeciwieństwie do VBA, makra nie wymagają od nas neauki specjalizowanej składni. Makra oprócz łatwości użycia oferują inne korzyści. (cid:1)(cid:1)(cid:1)(cid:1) Użytkownik może definiować skróty klawiaturowe dla całeej aplikacji — w odróżnieniu od pojedynczych formularzy — wyłącznie eza pomocą makr, omijając VBA. O skrótach klawiaturowych mówi rozdział 3. (cid:1)(cid:1)(cid:1)(cid:1) Makra działają szybciej niż moduły VBA i w mniejszym estopniu obciążają pamięć. Tę zaletę w przypadku formularza czy raportu zaeuważymy jedynie wówczas, jeśli do obiektu nie został przypisany kod VBA (patrz punkt „Maksimum wydajności przy minimalnej ilości kodu VBA” w dalszeej części rozdziału). Rozdział 5.  Sekrety projektu aplikacji bazy danych 81 Zalety VBA Kod VBA ma wiele zalet w porównaniu z makrami. Omawiamey je poniżej. (cid:1)(cid:1)(cid:1)(cid:1) (cid:1)(cid:1)(cid:1)(cid:1) (cid:1)(cid:1)(cid:1)(cid:1) (cid:1)(cid:1)(cid:1)(cid:1) (cid:1)(cid:1)(cid:1)(cid:1) Łatwość konserwacji. W miarę wzrostu stopnia skomplikowania aplikacji VBA czyni o wiele łatwiejszym śledzenie działania perogramu, gdyż umożliwia pracę z różnymi wzajemnie powiązanymi procedeurami w ramach pojedynczego modułu. Ponieważ kod VBA dla formularza, eraportu lub strony dostępu do danych jest częścią obiektu, towarzyszy teemu obiektowi, jeśli przeniesiemy go do innej bazy danych. Łatwość usuwania błędów. Edytor języka Visual Basic wbudowany w Accessa udostępnia zaawansowane narzędzia do debuggiengu. Nie oferuje natomiast podobnej funkcji dla makr. Elastyczność. Choć makra mogą dokonywać sprawdzania warunków i, odpowiednio do wyników, przeprowadzać różne akcje, steruktura sterowania VBA jest znacznie bardziej rozbudowana. Dzięki możliwoeści definiowania argumentów dla procedur VBA w trakcie działania progreamu, aplikacja może elastyczniej niż makra reagować na pojawianie się okreeślonych warunków. Przydatność do wykonywania obliczeń. VBA pozwala użytkownikowi zapisywać kod własnych funkcji wykonujących złożone, eszczegółowe kalkulacje na liczbach lub tekście. Łatwość obsługi błędów. Makra w chwili wystąpienia błędu wyświetlają komunikat standardowy. Korzystając z VBA, możemy w takeiej sytuacji wskazać rodzaj błędu — kod potrafi samodzielnie podejemować próby korygowania błędów, wyświetlając jednocześnie komunikate zawierający szczegółowe informacje. VBA ma jeszcze jedną, ogromną zaletę: za pomocą języka Visual Basic aplikację bazy danych możemy napisać w dowolnym programie pakietu Office, jak również w odręb- nym module Visual Basic. Po zaznajomieniu się z obiektami bazy danych, ich meto- dami i właściwościami, będziemy mogli pracować w dowolnym środowisku Visual Basic — a wybór środowiska spoza Accessa, o czym powiemy w kolejnym punkcie, może okazać się wyborem trafnym. Kiedy nie tworzyć aplikacji baz danych w Accessie? Ponieważ Access jest programem do obsługi baz danych, wchodzącym w skład pa- kietu Office, logicznym wydaje się, że to właśnie ten program będziemy wykorzy- stywać do tworzenia własnych aplikacji baz danych. Czasami jednak warto rozważyć inne opcje. Powinniśmy bowiem pamiętać, że Access nie zarządza bazami danych bezpośrednio. Tym zajmuje się mechanizm obsługi bazy czyli oprogramowanie odpowiedzialne za przechowywanie i odczytywanie danych. Mechanizmy obsługi baz danych, które można wykorzystać podczas pracy z Accessem, omówione zostały w rozdziale 3. 82 ABC Access 2002/XP PL Rzeczywistą rolą Accessa jest pośredniczenie między użytkownikiem a mechanizmem obsługi bazy danych działającym w tle. Interfejs Accessa jest wyposażony w wiele komfortowych funkcji — takich jak projektowanie kwerend czy możliwość dostoso- wywania formularzy i raportów, z których każda znacznie upraszcza uzyskiwanie potrzebnych do pracy danych — a także w sterowanie sposobem ich wyświetlania. Jednak, bez względu na to, jak owe funkcje są przyjazne, faktem jest, że działają one w oddzieleniu od mechanizmu obsługi bazy, wykonującego właściwe zadania, zwią- zane z wyszukiwaniem i pozyskiwaniem żądanych informacji. Rysunek 5.2 w sposób schematyczny ilustruje tę rozdzielność ról. Rysunek 5.2. Ilustracja ta przedstawia przykłady połączeń interfejsów baz danych z mechanizmami ich obsługi Ponieważ interfejs użytkownika i mechanizm obsługi bazy danych są dwoma, odręb- nymi modułami programowymi, pamiętać należy, że możliwe jest wykorzystywanie narzędzi innych niż Access, instruujących działania mechanizmu obsługującego. Do- kładnie o to chodzi w tworzeniu aplikacji baz danych w VBA. Nawet jeśli kod aplika- cji zapiszemy w Accessie, kod VBA będzie się komunikował z mechanizmem obsłu- gującym nie za pomocą tego programu, a przy użyciu całkowicie niezależnego komponentu programowego, takiego jak ADO lub DAO. Znaczenie akronimów ADO i DAO omówimy w rozdziale 6. Programistyczne opcje tworzenia aplikacji bazy danych Skoro więc Access nie jest jedynym narzędziem potrafiącym kierować pracą mechani- zmu obsługi bazy danych, jakiego narzędzia powinniśmy używać do kodowania apli- kacji? Opcje i wynikające z ich wykorzystania korzyścei przedstawiają się następująco. (cid:1)(cid:1)(cid:1)(cid:1) Access. Aplikacje VBA tworzone w Accessie mogą czynić bezpoeśredni użytek z obiektów Accessa, takich jak formularze i raeporty. Ponieważ formularze i raporty Accessa mają wbudowane funkcje beaz danych, ich użycie może znacznie skrócić, w porównaniu do VBA, czaes potrzebny na opracowanie aplikacji. Ponadto Access jest najleepszym rozwiązaniem, jeśli aplikacje tworzymy jedynie do użytku osobistegoe, gdy spodziewamy się częstego dodawania nowych funkcji w miarę pojawiania seię nowych potrzeb. (cid:1)(cid:1)(cid:1)(cid:1) Inna aplikacja Office, taka jak Word lub Excel. W wielu aplikacjach użytkownika dostęp do bazy danych jest tylko jedną z efunkcji. Jeśli w swych planach przewidujemy, że tworzona aplikacja powinnae mieć możliwość intensywnego przetwarzania tekstu lub dokonywania zeawiłych obliczeń, utworzenie jej w programie Word lub Excel umożliwi bezepośrednie wykorzystanie zasobów tych programów. Dzięki ADO lub podoebnemu obiektowi kod VBA zachowuje możliwość odczytywania, ewyświetlania Rozdział 5.  Sekrety projektu aplikacji bazy danych 83 i manipulowania danymi. Aplikacja zaś będzie mniejszae, szybsza i mniej skomplikowana, niż gdybyśmy wykorzystali COM do automateyzacji pracy Accessa, wykorzystując program Word (lub Worda za pośerednictwem Accessa). Niewspomagane formularze i raporty VBA są zwieązane z bazą danych, ale kod niezbędny do połączenia formularza z edanymi nie jest wcale skomplikowany. Ponadto w celu połączenia formantów i feormularzy z danymi możemy posłużyć się pakietem Office Developer lub innym, epodobnym do niego narzędziem innego producenta. Nasze dzieło moeżna przenieść bezpośrednio do innych aplikacji VBA, ponieważ nie jeest ono formularzem specyficznym dla Accessa. (cid:1)(cid:1)(cid:1)(cid:1) Visual Basic (nie VBA). Visual Basic (użyteczny przodek VBA) jest doskonałym narzędziem do programowania baz danych. Kode Visual Basic może nawiązywać połączenie z bazami danych przez ADO, epodobnie jak VBA, a formularze są powiązane z bazą danych w podobnye sposób jak formularze Accessa. Aplikacje utworzone w języku Visueal Basic wyróżniają się w stosunku do innych, powstałych przy użyciu VBAe w programie Access, Word czy Excel, dwiema istotnymi zaletami. Po pierwszee, działają o wiele szybciej, gdyż aplikacje Visual Basic są kompilowane,e a nie interpretowane podczas uruchamiania. Po drugie, aplikacje te można beez problemu dystrybuować wśród innych użytkowników — nie muszą one ebowiem korzystać z aplikacji nadrzędnej. Jedyną, dużą wadą jeste to, że Visual Basic trzeba kupić. Dlaczego Access zachowuje swoje znaczenie? Nawet jeśli zrezygnujemy z Accessa jako środowiska programistycznego, wciąż po- zostaje on wspaniałym narzędziem do tworzenia aplikacji baz danych. Korzystając z jego wygodnych w użyciu poleceń, możemy szybko budować tabele i kwerendy tworzące bazę danych. W Accessie można również zapisywać i testować kod VBA, przenosząc go do środowiska docelowego dopiero po ukończeniu, gdy potwierdzona zostanie jego funkcjonalność. Możliwe jest także szybkie prototypowanie formularzy aplikacji. Nie można eksportować formularzy Accessa do aplikacji finalnych: są one bowiem nie- kompatybilne ze standardami VBA UserForms oraz formularzami stosowanymi w Visu- al Basic. Magia tworzenia aplikacji: wykorzystanie kreatorów baz danych Najprostszym sposobem zbudowania działającej aplikacji jest zlecenie tego zadania Accessowi. Kreatory dostarczane wraz z programem demonstrują siłę i zalety aplikacji, które są w pełni użyteczne. Zgromadzone w kolekcji dołączonej do Accessa kreatory 84 ABC Access 2002/XP PL pozwalają tworzyć firmowe bazy danych, na przykład do zarządzania kontaktami czy stanu magazynu, a także przechowujące informacje osobiste, takie jak spisy kaset wi- deo czy dokumentację postępów w ćwiczeniach gimnastyczenych. Aby użyć kreatora, należy wydać polecenie Nowy z menu Plik. Na panelu Nowy plik, który się otworzy, trzeba odszukać i kliknąć opcję Szablony ogólne, zawartą w sekcji Nowy z szablonu. Chcąc utworzyć nową bazę danych Jet, powinniśmy wybrać sza- blon Pusta baza danych, a Projekt (nowa baza danych) wówczas, jeżeli chcielibyśmy zbudować projekt SQL Server. Porównanie rozwiązań opartych na mechanizmach Jet i SQL Server znaleźć można w rozdziale 3. Aby skonstruować bazę danych Jet, możemy również wykorzystać kreatory dostępne na karcie Bazy danych okna dialogowego Szablony (patrz rysunek 5.3). Rysunek 5.3. Access udostępnia kreatory pomagające użytkownikowi w tworzeniu typowych baz danych Uruchomiony kreator wyświetla serię paneli, na których dokonuje się wyboru pól włączanych do aplikacji oraz podstawowych opcji formatowania formularzy i rapor- tów. W oparciu o nasze decyzje kreator tworzy obiekty niezbędne w konstruowanej aplikacji, w razie konieczności uzupełniając je procedurami Visual Basic. Wszystkie obiekty i kod są dostępne dla użytkownika, co pozwala przyjrzeć się, w jaki sposób Access łączy składniki aplikacji. Istniejące obiekty można, w razie potrzeby, dosto- sowywać oraz uzupełniać. Jednak praktycznie rzecz biorąc, żaden, choćby najlepszy, kreator nie jest w stanie spełnić wszystkich naszych specyficznych potrzeb dotyczących zarządzania informa- cjami. Po wygenerowaniu kilku przykładowych aplikacji dojdziemy do wniosku, że powinniśmy utworzyć własną. Rozdział 5.  Sekrety projektu aplikacji bazy danych 85 Tworzenie własnych aplikacji w Accessie Proces konstruowania aplikacji w Accessie jest, w ogólnych zarysach, bardzo prosty. Rozpoczynamy go od przygotowania podstawowych elementów bazy danych, a na- stępnie łączymy je, formując aplikację. Projektowanie interfejsu użytkownika Jednym z najważniejszych zadań należących do nas, projektantów aplikacji, jest przygotowanie interfejsu użytkownika, który będzie wyglądał zachęcająco, wydajnie pełniąc swoje funkcje. Na szczęście, swoją uwagę możemy skupić na estetyce i funk- cjonalności aplikacji — mechanika budowy interfejsu jest bardzo prosta. Możliwości, jakie dają nam funkcje dostosowawcze „przeciągnij i upuść” pakietu Office, pozwa- lają bez większego wysiłku łączyć formularze, paski naerzędziowe i menu. Przygotowanie panelu przełączającego W rozdziale 7. omówimy podstawy tworzenia formularzy w Accessie. Opisane tam techniki planowania układu elementów można zastosować również podczas konstru- owania paneli przełączających oraz innych, nie przeznaczonych do wyświetlania da- nych, a do aktywowania innych funkcji aplikacji. Jedyną cechą specjalną tych formularzy jest to, że nie są one powiązane z żadnymi tabelami ani kwerendami w bazie danych. Tworząc formularz tego rodzaju, w oknie dialogowym Nowy formularz pole wyboru tabeli lub kwerendy dla formularza należy pozostawić puste. To pozwoli wykorzystać formularz jako podstawowy element two- rzonego interfejsu użytkownika bez konieczności zajmowania się dołączaniem danych. Korzystanie z Menedżera panelu przełączania Aby uruchomić Menedżera panelu przełączania, należy użyć polecenia Menedżer pa- nelu przełączania z menu Narzędzia/Narzędzia bazy danych. Jest to narzędzie two- rzące nowe, w pełni funkcjonalne, formularze paneli przełączania i pozwalające na edycję istniejących. Aby utworzyć nowy panel przełączania, należy kliknąć przycisk Nowa, a następnie przycisk Edytuj, otwierający okno dialogowe Edytowanie strony panelu przełączania (patrz rysunek 5.4), umożliwiające dodawanie i aranżowanie układu poleceń na panelu. Powstające w ten sposób formularze są bardzo podobne do tych, które utworzyliśmy jako przykładowe za pomocą kreatorów Accessa. Mają one miły wygląd, doskonale funkcjonują, ale niewiele różnią esię między sobą. Do wszechstronnej edycji formularzy Accessa możemy użyć narzędzi projektowych, które omówimy w rozdziale 7. ABC Access 2002/XP PL 86 Rysunek 5.4. Menedżer panelu przełączania tworzy panele przełączające i pozwala edytować je w oknie dialogowym Edytowanie strony panelu przełączania Przygotowanie formularza startowego Panel przełączania lub inny formularz, który ma być prezentowany użytkownikowi podczas startu aplikacji, to formularz uruchamiania. Wskazujemy go, wybierając z li- sty rozwijanej Wyświetl formularz/stronę w oknie dialogowym otwieranym polece- niem Narzędzia/Uruchamianie. Dostosowywanie pasków poleceń aplikacji W Accessie funkcjonują takie same, jak w pozostałych programach Office, techniki tworzenia własnych pasków narzędziowych, menu i przycisków. Jednak Access za- pewnia nam znacznie szerszą kontrolę nad technicznymi ustawieniami tych elemen- tów niż inne aplikacje pakietu Office. Tworzenie nowych pasków menu, narzędziowych i menu skrótwów Kiedy konstruujemy własną aplikację, występujące w niej paski narzędziowe powin- niśmy zbudować od podstaw, zamiast modyfikować istnieejące. Chociaż własne paski narzędziowe tworzy się podobnie jak w innych programach Office, to jednak tylko Access pozwala zmieniać ich właściwości bez zastosowania kodu VBA. W tym celu należy otworzyć kartę Paski narzędzi okna dialogowego Do- stosowywanie, wywoływanego za pomocą polecenia Narzędzia/Dostosuj i kliknąć przy- cisk Właściwości. Pojawi się wówczas drugie okno dialogowe, Właściwości paska na- rzędzi. Tu możemy wybrać pasek z rozwijanej listy i zmodyfikować jego ustawienia (patrz rysunek 5.5). Rysunek 5.5. Właściwości pasków narzędziowych można przeglądać i modyfikować za pomocą tego okna dialogowego Rozdział 5.  Sekrety projektu aplikacji bazy danych 87 Okno dialogowe Właściwości paska narzędzi zapewnia możliwość podjęcia decyzji, czy paski zaimplementowane w naszej aplikacji będą mogły być dostosowywane, przesuwane, dokowane, ukrywane i tak dalej. Jeśli opracowujemy własny pasek narzę- dziowy, rezygnując z wykorzystania istniejącego, możemy również decydować o jego typie. Przyłączanie własnych pasków narzędziowych do formularwzy i raportów Każdy z tworzonych pasków narzędziowych możemy zmienić na pasek menu, wybie- rając odpowiedni typ z listy rozwijanej w oknie dialogowym Właściwości paska na- rzędzi. Następnie możemy połączyć go z formularzem lub raportem albo wyznaczyć jako domyślny pasek menu dla całej bazy danych. Aby przygotować pasek menu dla formularza bądź raportu, należy przypisać go jako właściwość Pasek menu na karcie Właściwości tego obiektu w widoku projektu. Od chwili gdy obiekt zostanie aktywowany w aplikacji, wybrany pasek menu pojawi się na pod jego górną krawędzią, tuż poniżej paska tytułowego, zastępując pasek globalny. Mówiąc o globalnym pasku menu, należy mieć na myśli pasek przygotowany dla całej bazy danych za pośrednictwem okna dialogowego Uruchamianie, wywoływanego z me- nu Narzędzia. Pasek menu, który tu wybierzemy, jest wyświetlany (zamiast domyślnego paska Accessa) w całej bazie oprócz tych formularzy i raportów, dla których wybraliśmy inny pasek. Regularne paski narzędziowe mogą być dołączane do formularzy i raportów również za pomocą właściwości Pasek narzędzi obiektu. Kiedy użytkownik aplikacji przełą- czy widok na ów obiekt, wraz z nim pojawi się wybrany pasek narzędziowy w zastęp- stwie domyślnego, przewidzianego przez Accessa dla obiektów tego rodzaju. Na przykład w przypadku formularza nie będzie widoczny pasek Widok formularza; za- miast niego wyświetlony zostanie pasek, który wybralieśmy. Wybór paska narzędziowego jako Podręczny, dokonany w oknie dialogowym Właściwo- ści paska narzędzi, powoduje skonwertowanie go do postaci menu skrótów, które re- aguje na kliknięcia prawym klawiszem myszy. Podczas gdy okno dialogowe Dostoso- wywanie pozostaje otwarte, pasek pojawi się w menu Niestandardowe paska narzędzi Menu skrótów. Tu możemy uzupełnić pasek kolejnymi pozycjami menu. Dodawanie poleceń do paska narzędzi Podobnie jak Word pozwala przypisywać czcionki do przycisków paska narzędzi, tak Access umożliwia użytkownikowi wypełnianie pasków przyciskami służącymi do wyświetlania określonych tabel, kwerend, formularzy i raportów. Wystarczy jedno kliknięcie takiego przycisku, by wybrany obiekt bezzwłocznie pojawił się na ekranie. Tak jak w Wordzie, na paskach narzędzi można umieszczeać także przyciski makr. Po otwarciu okna dialogowego Narzędzia/Dostosuj wybieramy kartę Polecenia i od- szukujemy elementy opisane jako Wszystkie tabele, Wszystkie kwerendy i tak dalej. W dalszej kolejności przeciągamy ikony wybranych obieektów na pasek narzędzi. 88 ABC Access 2002/XP PL Otwieranie obiektu bazy danych za pomocą kliknięcia przycisku na pasku narzędzi jest równoznaczne z otwarciem okna Bazy danych. Nie mamy wpływu na to, który widok zostanie otwarty. Nie możemy również uruchamiać żadnych innych akcji. Aby uzyskać oczekiwane rezultaty, należy utworzyć odpowiednie makro i umieścić je na pasku na- rzędzi. Wykorzystanie właściwości formantów paska narzędzi Access zapewnia nam możliwość bezpośredniej regulacji ustawień pojedynczych formantów znajdujących się na paskach sterujących, w tym przycisków na paskach narzędziowych i menu, za pomocą okna dialogowego. W innych aplikacjach pakietu Office modyfikacja tych opcji wymaga zastosowania kodu VBA. Po otwarciu okna dialogowego Dostosowywanie należy kliknąć prawym klawiszem myszy wybrany ele- ment, przycisk lub pozycję menu, a następnie użyć polecenia Właściwości, umieszczo- nego u dołu wyświetlonego menu skrótów. Okno dialogowe Właściwości formantu: Baza danych pokazane jest na rysunku 5.6. Rysunek 5.6. Za pomocą okna dialogowego Właściwości formantu: Baza danych możemy określić specyficzne ustawienia przycisków narzędziowych i pozycji menu dla naszej aplikacji Access jest jedyną aplikacją pakietu Office, która nie wymaga użycia VBA do definio- wania tekstu wyświetlanego obok formantu umieszczonego w menu jako jego pozycja. Tekst ten informuje zazwyczaj o skrótach klawiaturowych korespondujących z danym formantem. W Accessie napisy te redaguje się w polu Tekst skrótu. Podobnie pole Ety- kietka ekranowa pozwala zdefiniować treść napisu pojawiającego się na ekranie, gdy użytkownik ustawi wskaźnik myszy ponad formantem. Przypisywanie funkcji VBA do przycisków na paskach nawrzędzi Specjalny pasek narzędziowy o nazwie Polecenia niestandardowe, działający w połą- czeniu z oknem dialogowym Właściwości formantu: Baza danych (patrz rysunek 5.6), daje nam dostęp do dowolnych funkcji Visual Basic, wywoływanych jednym kliknię- ciem. Aby skonstruować taki pasek, powinniśmy zacząć od przygotowania potrzeb- nych funkcji, do czego służy edytor Visual Basic Editoer. Rozdział 5.  Sekrety projektu aplikacji bazy danych 89 Technika ta działa jedynie w odniesieniu do funkcji, a nie procedur Sub. Dlatego też powinniśmy upewnić się, że składnia jest poprawna. Po przygotowaniu funkcji otwieramy okno dialogowe Dostosowywanie. Na samym szczycie listy Polecenia powinniśmy zobaczyć pozycję Niestandardowe (jeśli jej nie widać, należy upewnić się, że wybrana została kategoria Plik). Następnie przeciąga- my tę pozycję na pasek narzędziowy. Klikamy ją prawym klawiszem myszy, po czym, wybierając polecenie Właściwości z menu skrótów, wywołujemy okna dialo- gowe Właściwości formantu: Baza danych. Teraz w polu Przy akcji wpisujemy wyrażenie uruchamiające funkcję. Jeśli na przy- kład funkcja nazywa się StayAlert, wówczas powinniśmy wpisać =StayAlert( ). Przygotowanie opcji startowych i zabezpieczanie interfejsu Za pomocą okna dialogowego Narzędzia/Uruchomienie możemy sprawować pełną kontrolę nad tym, co użytkownik widzi po uruchomieniu aplikacji, a także do jakich narzędzi ma dostęp. Aby mieć pewność, że opracowany interfejs nie ulegnie żadnym modyfikacjom, należy dezaktywować wszystkie pola opcji w oknie dialogowym Uru- chamianie i wybrać własny pasek menu, pasek menu skrótów oraz wyświetlany for- mularz lub stronę. Usuwając na przykład oznaczenie pola opcji Wyświetl okno bazy danych, zapobie- gniemy wyświetlaniu głównego okna Accessa — trudno bowiem skupić uwagę użyt- kownika, jeśli trzeba ją na siłę kierować ku oknu własnej aplikacji. Aby również za- pobiec otwieraniu okna bazy danych przy użyciu klawiatury, należy wyłączyć opcję Użyj specjalnych klawiszy programu Access. Jednak, mimo przedsięwziętych środków, nawet średnio doświadczony użytkownik będzie mógł uruchamiać aplikację, korzystając z Accessa. Mógłby, oprócz tego, wpro- wadzić zmiany na paskach narzędziowych, tak jak my, pracując w Accessie bez użycia funkcji dostosowywania. Użytkownik może również wyświetlać i ukrywać niestan- dardowe paski narzędziowe, pozycjonować je w dowolnym miejscu ekranu i swobod- nie dostosowywać, dodając lub usuwając z nich przycieski a nawet całe paski narzędzi. Aby uniemożliwić użytkownikowi dokonywanie opisanych zmian, powinniśmy wy- konać trzy czynności. 1. Umieścić każdy pasek narzędzi aplikacji w miejscu, w ektórym mają one się znajdować. Następnie należy użyć okna dialogowego Właściwości paska narzędzi (pokazanego na rysunku 5.5) i za pomocą dostępnych tu opcji dopuścić lub zablokować możliwość przesuwania, skalowania czy dokowania paska. 90 ABC Access 2002/XP PL 2. Otworzyć okno dialogowe Narzędzia/Uruchomienie i dezaktywować pole wyboru opcji Zezwalaj na zmiany pasków narzędzi/menu. W ten sposób uniemożliwimy użytkownikom dostęp do funkecji dostosowywania oraz menu Widok/Paski narzędzi, co da nam pewność, że zawartość pasków narzędziowych nie ulegnie modyfikaceji. To jednak nie uniemożliwia użytkownikom przesuwania, skalowania i edokowania pasków. 3. Jak dotąd, wszystko jest w porządku. Teraz musimy w jaekiś sposób zablokować możliwość zmiany ustawień dokonanych w okneie dialogowym Uruchamianie. To wymaga zastosowania ochrony z wykorzystaniem haseła użytkownika. Maksimum wydajności przy minimalnej ilości kodu VBA Choć napisanie kodu VBA często jest konieczne, to czasami jednak można się bez niego obejść — istnieją nawet istotne powody ku temu, by minimalizować zastoso- wanie kodu w aplikacji Accessa. Jednym z nich jest, oczywiście, oszczędność czasu. (VBA ma duże wymagania w stosunku do programisty). Ponadto VBA obniża wy- dajność aplikacji, a na dodatek powiększa jej objętośeć. Podczas konstruowania aplikacji większość czynności, jakie musimy wykonać, pole- ga na tworzeniu prostych powiązań między elementami interfejsu użytkownika, taki- mi jak przyciski, oraz typowymi obiektami bazy danych czyli formularzami lub kwe- rendami. W większości przypadków chodzi zaś o to, by określony formant przenosił akcję do innego obiektu bazy. Do osiągnięcia tego celu wystarczy skromny formularz — VBA jest niepotrzebny. Kod VBA nie jest również konieczny do wykonywania masowych uaktualnień czy usuwania rekordów bazy danych. Wystarczy bowiem skonstruować kwerendę funkcjonalną i użyć jej jako obiektu bazy, wywoływanego z formularza. Użycie obiektów niezwiązanych Formularz lub raport niezwiązany to obiekt, do którego nie został przypisany żaden moduł VBA. Nie znaczy to wcale, że formularz jest niepełnowartościowy. W roz- dziale 7. dowiemy się, że zachowuje on możliwość wyświetlania danych dzięki for- mantom związanym z polami bazy danych. Ponadto formanty można wiązać z hiper- łączami, pozwalającymi otwierać inne obiekty bazy danych, bez żadnej pomocy ze strony VBA. Alternatywnym rozwiązaniem jest użycie makr do wykonywania akcji, takich jak ukrywanie lub wyświetlanie niestandardowych pasków narzędzi po otwar- ciu formularza lub w chwili zajścia określonego zdarzeenia. W porównaniu do obiektów zawierających moduły VBA formularze i raporty nie- związane zajmują mniej miejsca na dysku i są szybciej ładowane do pamięci. Dopóki więc nie musimy korzystać z zaawansowanych funkcji VBA, rezygnacja z dołączania modułów do obiektów jest rozsądną decyzją. Rozdział 5.  Sekrety projektu aplikacji bazy danych 91 To, czy do formularza bądź raportu dołączony został moduł, można sprawdzić, kon- trolując zawartość pola właściwości Ma moduł w oknie właściwości obiektu. Właści- wość tę znajdziemy u dołu karty Inne. Do sprawdzania przypisań modułów do obiektów nie należy używać polecenia Wi- dok/Kod. Powoduje ono bowiem utworzenie modułu, jeśli dotąd go nie było. Nawet pu- sty moduł może być przyczyną osłabienia wydajności aplikacji, marnotrawiąc przy oka- zji część pamięci. Jeśli do obiektu przyłączony jest moduł, to pozostaje on w użyciu do chwili, gdy wartość właściwości Ma moduł przestawimy na Nie. Kiedy to uczynimy, moduł i cały zawarty w nim kod zostanie usunięty. Wykorzystanie kwerend funkcjonalnych do zmniejszenia kęodu VBA Istnieje wiele sytuacji, w których należy wykonać określone operacje na grupie rekor- dów. Na przykład na początku każdego miesiąca rekordy wprowadzone w miesiącu poprzednim muszą znaleźć się w oddzielnej tabeli archiwizacyjnej. Zamiast jednak tworzyć kod VBA do wykonania tego zadania, powinniśmy użyć kwerendy funkcjo- nalnej. Jak wskazuje określenie kwerendy, nie służy ona do pobierania danych, a jedynie do wykonywania na nich określonych akcji. Istnieją cztery typy kwerend funkcjonal- nych: usuwające, uaktualniające, dołączające oraz tworzące tabele. Nazwy tych ty- pów nie wymagają dodatkowych objaśnień. W przykładowej sytuacji moglibyśmy posłużyć się kwerendą otwartą w widoku pro- jektu, przygotowując ją jako kwerendę filtrującą rekordy na podstawie daty i wyko- rzystującą poprzedni miesiąc jako kryterium. Zamiast kodowania miesiąca powinni- śmy użyć następującego wyrażenia, wpisując je w wierszu eKryterium kwerendy: Month([PoleDanych])= If(Month(Now())=1,12,Month(Nowe())-1) W powyższym wyrażeniu PoleDanych jest nazwą pola zawierającego daty, według których chcemy przefiltrować rekordy. Następnie moglibyśmy wybrać polecenie Kwe- renda tworząca tabelę z menu Kwerenda i wpisać nazwę tworzonej tabeli archiwiza- cyjnej. W ten sposób powstałaby kwerenda gotowa do uruchomienia. Jej działanie polegałoby na odnalezieniu wszystkich rekordów wprowadzonych w ubiegłym mie- siącu i wyeksportowanie ich do nowej tabeli. Przygotowaną kwerendę można przypisać do formantu na panelu przełączania aplika- cji lub podobnym formularzu. W tym celu należy otworzyć okno makra, wyznaczając akcję OtwórzKwerendę do uruchamiania kwerendy i wpisując jej nazwę jako właści- wość Nazwa kwerendy. Akcję OtwórzKwerendę można poprzedzić akcją UstawOstrze- żenia i za jej pomocą wyłączyć wyświetlanie komunikatów ostrzegawczych, które w przeciwnym razie będą wyświetlane podczas uruchamiania kwerendy. Po zapisaniu makra można je przypisać, wykorzystując okno dialogowe Właściwości, do zdarzeń rozpoznawanych przez formularz, raport bądź jeden z iech formantów. 92 ABC Access 2002/XP PL Pisanie kodu VBA w Accessie Techniki, którymi dotąd zajmowaliśmy się w niniejszym rozdziale, sprawdzają się w wielu prostych aplikacjach: kod Visual Basic pozostaje w odwodzie na wypadek, gdyby jego użyteczność okazała się niezbędna. Choć główne elementy Visual Basic są wspólne dla ogółu programów Office, to wszystkie aplikacje VBA, w tym i Ac- cess, wykorzystują własne zestawy obiektów. Najważniejszymi obiektami Accessa są formularze, raporty oraz strony dostępu do danych, jak również obiekty pojedynczych formantów. W rozdziale 7. omówione zostaną techniki pracy z obiektami baz danych w Access VBA. Dystrybucja aplikacji Po przygotowaniu bloków składowych aplikacji, dodaniu kodu łączącego i przetesto- waniu wszystkich składników możemy zająć się upowszechnieniem swego dzieła. W kolejnych punktach omówimy zagadnienia związane z przygotowaniem gotowej aplikacji do dystrybucji. Dzielenie bazy danych Jet w sieci W większości firm typowa aplikacja bazy danych przeznaczona jest do używania przez wielu użytkowników, na odrębnych komputerach. Jeśli wyślemy swój projekt do więcej niż jednej osoby i jeśli grupa ma możliwość pracy sieciowej, najlepiej bę- dzie, gdy nasza aplikacja zostanie przygotowana w dwóch częściach — jednej, prze- znaczonej do zainstalowania w komputerze każdego użytkownika, a drugiej, instalo- wanej na serwerze. W takim przypadku każdy pracownik otrzyma odrębną kopię interfejsu aplikacji — wszystkie niestandardowe formularze i paski narzędziowe — jak również elementy funkcjonalne, takie jak kwerendy, makra i moduły. Właściwa baza danych — tabele i zawarte w nich dane — przechowywane są na serwerze sie- ciowym, gdzie pozostają dostępne dla wszystkich pracoewników. Taki podział aplikacji jest zasadny z kilku względów. Jednym jest to, że dane są za- zwyczaj bezpieczniejsze, a tworzenie kopii zapasowych odbywa się regularnie. Po- nadto ponieważ każdy pracuje z wykorzystaniem tej samej kopii bazy danych, nie musimy martwić się konserwacją i synchronizacją wielue zestawów danych. Inną korzyścią podziału bazy danych jest to, że dystrybucja aplikacji staje się łatwiej- sza. Ogromne tabele muszą być zapisane na serwerze tylko raz. Uaktualnianie pozo- stałej części aplikacji powinno być względnie łatwe, ponieważ interfejs danych, i to dowolnie dużych rozmiarów, jest jej relatywnie niewieelką cząstką. Rozdział 5.  Sekrety projektu aplikacji bazy danych 93 Access potrafi obsługiwać opisaną konfigurację. W przypadku projektów Access działających na podbudowie baz danych SQL Server, dane zawsze są oddzielone od plików projektu. Jako część projektu, oparta na mechanizmie Jet, aplikacja Accessa może się łączyć z tabelami przechowywanymi na dowolnym, dostępnym jej dysku twardym, serwerze lub witrynie internetowej. Aby połączyć aplikację z zewnętrznymi tabelami, należy użyć polecenia Plik/Pobierz dane zewnętrzne/Połącz tabele, otwierając w ten sposób kreatora, który pomaga użytkownikowi w odszukiwaniu i dołączaniu ze- wnętrznych tabel do bieżącej bazy danych. Chcąc natomiast umieścić tabele bieżącej bazy danych w innym pliku, należy posłużyć się narzędzeiem Rozdzielacz baz danych. Zanim dokonamy podziału aplikacji, musimy zastanowić się, w jakim miejscu w sieci powinny znaleźć się tabele z danymi. Następnie, jeśli dysponujemy sprawnym łączem sieciowym, wydajemy polecenie Narzędzia/Narzędzia bazy danych/Rozdzielacz baz danych. Kreator Rozdzielacz bazy danych przeprowadzi nas przez całą procedurę, pytując o miejsce przeniesienia bazy danych. Wkrótce potem rozpocznie się proces oddzielania tabel od pozostałej części bazy (interfejsu aplikacji) i umieszczania ich w nowej bazie. Jeśli proces przebiegnie pomyślnie, użytkowa część aplikacji zostanie uaktualniona przez utworzenie łączy do tabel przeniesionych do nowej lokalizacji. W tym momencie aplikacja będzie się składała z dwóch oddzielnych plików bazy da- nych, które jednak będą funkcjonowały tak, jakby były ejednym plikiem. Replikacja bazy danych Jeśli przyłączenie wszystkich użytkowników do tego samego serwera okaże się nie- możliwe lub niepraktyczne, możemy skorzystać z funkcji replikacji bazy danych, jako sposobu na udostępnienie wszystkim tych samych danych. Replikacja bazy danych polega na wygenerowaniu dwóch lub więcej kopii tych samych informacji oraz ich zsynchronizowaniu, co ma zapewnić zgodność modyfikacji danych we wszystkich kopiach. Jedna z replik pełni rolę wzorca projektowania. Jest to jedyna kopia, w której można wprowadzać zmiany projektu całej bazy danych. Każdy, dysponujący aplikacją, może jednak zmieniać, dodawać lub usuwać rekordy. Podczas każdej synchronizacji zmia- ny poczynione w jednej replice są uwzględniane w pozostałych. Jest to proces postę- pujący — między bazami przesyłane są tylko dane zmodyfikowane — dzięki czemu przebiega dość szybko. Replikacja jest lepszym rozwiązaniem niż dzielenie bazy danych wtedy, gdy łącza sie- ciowe są powolne, a jej wydajność spada, kiedy na przykład wszyscy pracownicy działu sprzedaży jednocześnie podłączają swoje laptopy do sieci głównej. Jeśli w każdym lapto- pie zainstalujemy kopię całej bazy danych, wówczas każdy posługujący się takim komputerem pracownik będzie miał stały dostęp do względnie aktualnych danych, za- chowując przy tym możliwość ich szybkiego odświeżenia we dowolnym momencie. Polecenia związane z replikowaniem bazy zgromadzone są w podmenu Narzę- dzia/Replikacja. Po wydaniu polecenia Utwórz replikę uruchomiony zostaje proces replikowania, w trakcie którego nowa baza staje się Wzorcem projektowania. Wzo- rzec ten może być następnie wykorzystany podczas generowania replik dla kolejnych użytkowników. 94 ABC Access 2002/XP PL Zabezpieczanie plików Po pomyślnym przetestowaniu całej aplikacji bazy danych warto zachować ją pod po- stacią pliku .mde. W ten sposób spowodujemy usunięcie źródłowego kodu Visual Ba- sic po jego skompilowaniu. Choć aplikacja będzie działała tak samo — a właściwie trochę lepiej, gdyż ograniczy swoje wymagania pamięciowe — nikt nie będzie mógł zobaczyć pracy, jaką włożyliśmy w jej zaprogramowanie ani też zmodyfikować składników, takich jak formularze czy kwerendy. Aby zachować aplikację w pliku .mde, należy otworzyć menu Narzędzia, a następnie Narzędzia bazy danych i wydać polecenie Utwórz plik MDE. Oczywiście, trzeba rów- nież nadać nazwę nowemu plikowi .mde. Proces ten nie powoduje modyfikacji pliku oryginalnego, który jednak należałoby umieścić w bezpiecznym miejscu, skąd bę- dziemy mogli go pobrać, gdy okaże się, że konieczne jeset wprowadzenie ulepszeń.
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

ABC Accessa 2002/XP PL
Autor:
,

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: