Podstawy Informatyki Wykład III
Transkrypt
Podstawy Informatyki Wykład III
Podstawy Informatyki Wykład XII Bazy danych Access - cz. IV © Copyright by Arkadiusz Rzucidło 1 Makropolecenia W ujęciu Accessa makropolecenie jest prostym językiem programowania, który umożliwia automatyzację podstawowych zadań. Jest zbiorem akcji wykonywanych w odpowiedzi na zdarzenie lub w pewnych warunkach, jakie mogą zaistnieć po zdarzeniu. Są szeregiem prostych instrukcji zbudowanych z akcji dostępnych w Accessie Użycie makropoleceń: Oprogramowanie przycisków – seria akcji Ustalanie i usuwanie filtrów lub sortowanie danych w formularzach i raportach Zmiana własności lub wartości formantu podczas działania akcji Sprawdzanie wprowadzanych danych Automatyzacja często wykonywanych zadań © Copyright by Arkadiusz Rzucidło 2 Tworzenie makropoleceń Makropolecenia tworzone są w siatce projektowej Etap projektowania składa się głównie z wybierania z listy odpowiednich dostępnych elementów oraz definiowania opcji Akcje makr są ich sercem Niektóre akcje nie posiadają żadnych parametrów, niektóre wymagają specyficznych parametrów i opcji © Copyright by Arkadiusz Rzucidło 3 Grupy makropoleceń © Copyright by Arkadiusz Rzucidło 4 Makra warunkowe Kryterium działania jest zależne od spełnienia lub nie określonego warunku © Copyright by Arkadiusz Rzucidło 5 Dołączanie makr do formantów Powiązanie makropoleceń z formularzami Wybór odpowiedniego formanta na formularzu Wybór zdarzenia dla jakiego utworzono makropolecenie Opisanie jako makra jako właściwości zdarzenia © Copyright by Arkadiusz Rzucidło 6 Makra zmieniające właściwości Zmieniają wartości formantów Np. Zmiana wartości „widoczności” formanta Kropki i wykrzykniki: Formularze![panel]![Etykieta0].Visible=true © Copyright by Arkadiusz Rzucidło 7 Ograniczenia makropoleceń Makro nie ma możliwości dodania mechanizmów obsługi błędów Profesjonalni programiści z tego powodu nie zalecają używania makropoleceń Bez obsługi błędów Access nie wie „co ma robić” w chwili pojawienia się błędu Systemy bez zabezpieczania danych (kontrola błędów) są bardziej podatne na załamania, utratę danych i inne zagrożenia związane z danymi. Lepszym sposobem na obsługę akcji w aplikacji bazy danych jest użycie kodu Visual Basic’a © Copyright by Arkadiusz Rzucidło 8 Programowanie w Accessie Visual Basic (Visual Basic for Application) jest w pełni funkcjonalnym językiem programowania dla Accessa Wyższy stopień trudności podczas stosowania VBA W większości prac aplikacji obsługi baz danych wystarczają narzędzia podstawowe Kiedy stosować VBA: Konieczność stworzenia własnej funkcji (nie pozwala na to makro) Narzędzia obsługi skomplikowanych danych Konieczność utworzenia pętli warunkowej - While (dopóki warunek) Wend (spełnienie warunku ozn. Zakończenie pętli) Obsługa błędów (nieprzewidzialne rezultaty błędów dla makr) Konieczność wywołania funkcji API systemu Windows (Application Program Interface – rozszerzają środowisko Accessa) © Copyright by Arkadiusz Rzucidło 9 Własne funkcje Składnia: Function Powtorzenie(DowolnePole) Powtórzenie=Długie_wyrażenie End Function Nazwa funkcji – Powtórzenie Funkcja związana z wartością pola reprezentowanego jako parametr DowolnePole Wartości funkcji to Długie_wyrażenie A=2+3+4+5 B=A+3=17 © Copyright by Arkadiusz Rzucidło 10 Złożone dane wejściowe Makropolecenia pracują z danymi już wprowadzonymi do bazy danych Nie można dodawać nowych informacji Konieczność modyfikacji ilości wprowadzanych danych przez użytk. Np. kwerendy parametryczne VBA rozszerza tego typu możliwości o specjalne procedury, które np. pytają użytk. o dane a później je stosują. © Copyright by Arkadiusz Rzucidło 11 Pętle warunkowe Makra stosują proste pętle warunkowe (test statyczny) Wykonują wyrażenia w pętli jeśli warunek jest, lub nie jest spełniony VBA stosuje pętle zaawansowane np. (testy dynamiczne) Sprawdzany jest warunek np. liczby z przedziału 1 - 30 Jeśli jest 1-10 – wykonuje ciąg instrukcji Jeśli jest 11-20 – wykonuje inny ciąg instrukcji … Pętla warunkowa Wykonuje pętle dopóki warunek jest spełniony Np. Dopóki użytkownik nie przerwie pętla wykonuje instrukcje Reakcja na zdarzenia Pozwala znaczenie bardziej uszczegółowić sposoby reakcji (więcej opcji) © Copyright by Arkadiusz Rzucidło 12 Procedura panelu głównego bazy Biblioteka Private Sub tekst_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Dim lngCzerwony As Long Dim lngBialy As Long lngCzerwony = QBColor(4) lngBialy = QBColor(7) If tekst.BackColor = lngCzerwony Then tekst.BackColor = lngBialy Else tekst.BackColor = lngCzerwony End If End Sub © Copyright by Arkadiusz Rzucidło 13 Funkcje Podprocedury (subprocedure) VBA posiadają ograniczenia: Nie można korzystać z nazw procedur w wyrażeniach Nie może zwracać żadnej wartości Obsługa błędów Wskazówki co należy zrobić, w przypadku napotkania błędu Etykieta On Error – skok do procedury lub funkcji, którą należy wykonać Utworzenie procedur obsługujących błędy Globalna procedura obsługi Problemy: Zaawansowane - zróżnicowanie procedur obsługi błędów If Err.Number=11 then MsgBox „Błąd dzielenia przez 0” Else MsgBox „Nieprzewidziany Błąd” EndIf © Copyright by Arkadiusz Rzucidło 14 Zarządzanie i ochrona baz danych Naprawa uszkodzonej bazy danych Defragmentacja bazy danych Ochrona bazy danych Replikacja © Copyright by Arkadiusz Rzucidło 15 Naprawa uszkodzonej bazy danych Baza danych może zostać uszkodzona z wielu powodów Autokontrola bazy danych podczas jej uruchamiania, replikacji lub archiwizacji Access sugeruje automatycznie naprawienie bazy danych Niektóre błędy nie są wykrywane – symptomem tego może być „dziwne” zachowywanie się bazy danych Naprawa bazy danych Menu>>Narzędzia>>Narzędzia bazy danych >>Kompaktuj i napraw bazę danych W trybie wyłączności Proces naprawy to: Weryfikacja wszystkich tabel i indeksów Dane nie możliwe do naprawienia są usuwane Metoda naprawy bazy danych w kodzie VBA DBEngine.RepairDatabase nazwa_bazy_danych © Copyright by Arkadiusz Rzucidło 16 Defragmentacja bazy danych Co powoduje (kompaktowanie) ? Wykonywane jest na bieżącym pliku bazy danych Zmniejsza rozmiar pliku bazy danych na dysku Umożliwia szybszy dostęp do danych (kwerendy) Wzrasta szybkość działania aplikacji W systemach NTFS nowa wersja po kompaktowaniu posiada domyślne prawa dostępu Problemy w kompaktowaniu bazy danych Brak praw dostępu (otwórz/uruchom, otwórz z wyłącznością) Współużytkowanie bazy danych Brak miejsca na dysku © Copyright by Arkadiusz Rzucidło 17 Ochrona bazy danych – plik MDE Zapisanie bazy danych jako pliku MDB uniemożliwia: Modyfikację formularzy, raportów i modułów Tworzenie, importowanie i eksportowanie formularzy, raportów i modułów Zmienianie kodu Visual Basic Jeśli aplikacja bazy danych współpracuje z kilkoma bazami danych konieczne jest tworzenie plików MDB w łańcuchu powiązań zgodnie z kolejnością baz danych DB1 DB2 DB3 Uaktywnienie konwersji: Menu>>Narzędzia >> Narzędzia bazy danych>> Utwórz plik MDE… u5 p4 DB1.MDE © Copyright by Arkadiusz Rzucidło u3 p2 DB2.MDE u1 DB3.MDE 18 Plik MDE zachowuje ustawienia zabezpieczenia: Hasła dostępu do bazy danych Ochrona na poziomie użytkownika Włączyć do bazy danych plik grupy roboczej Prawo do otwarcia bazy danych w trybie wyłączności i prawo do wczytywania projektu wszystkich obiektów bazy danych Prawo do modyfikacji tabel lub status administratora dla tabel bazy danych Usunięcie w/w mechanizmów ochrony z pliku MDE wykonuje się w źródłowej bazie danych i tworzy się ponownie plik MDE © Copyright by Arkadiusz Rzucidło 19 Zabezpieczenia poziomu użytkownika Access udostępnia kreator zabezpieczeń na poziomie użytkownika Kreator: Tworzy nowy plik grupy roboczej dla bazy danych Standardowy plik grupy roboczej należy zamienić na nowy Ustanawia wszelkie prawa dostępu do danych i obiektów bazy danych © Copyright by Arkadiusz Rzucidło 20 Szyfrowanie bazy danych Szyfrowanie bazy danych zabezpiecza przed przeglądaniem jej narzędziami innymi niż Access Podczas szyfrowania/odszyfrowania bazy danych tworzona jest jej zaszyfrowana/odszyfrowana kopia Szyfrowanie i odszyfrowanie nie może być przeprowadzone podczas użytkownika w trybie wielodostępu Rozłączenie wszystkich użytkowników Otworzenie bazy danych w trybie wyłączności Zaszyfrowanie bazy danych nie zabezpiecza przed użytkownikami mających prawo dostępu do obiektów bazy danych Problemy z szyfrowaniem bazy danych Brak miejsca na dysku Brak uprawnień właściciela/administratora © Copyright by Arkadiusz Rzucidło 21 Ustawienie hasła bazy danych Podstawowe (najprostsze) zabezpieczenie bazy danych Zalecane kiedy: Nie wskazane baza danych na pojedynczym komputerze Mała liczba użytkowników Nie ma potrzeby kontroli zaawansowanej (poza wspólnym hasłem dostępu) Jeśli baza danych będzie poddana replikacji (problemy z synchronizacją replikacji ze źródłem) W przypadku włączonego zabezpieczenia na poziomie użytkownika nałożenie hasła dostępu do bazy danych wymaga posiadania prawa administratora do wszystkich obiektów bazy Konieczne utworzenie kopii bezpieczeństwa © Copyright by Arkadiusz Rzucidło 22 Replikacja bazy danych Replikacja bazy danych polega na Skopiowaniu bazy danych ze wszystkimi obiektami Utworzenie procesu synchronizacji oryginalnej bazy danych z replikami i na odwrót w ramach zbioru replikacji Zmiany dokonane w bazach danych wchodzących w skład zbioru replikacji zostaną zsynchronizowane zastosowane we wszystkich pozostałych bazach zbioru Replikacja: Całej bazy danych Częściowo – jest podzbiorem rekordów ze źródłowej bazy danych Zalety: krótsza synchronizacja, organizacja ochrony bazy danych (mniej danych) © Copyright by Arkadiusz Rzucidło 23 Integracja Accessa z narzędziami Office Korespondencja seryjna MS Word Publikacja danych MS Word Eksport danych do formatu HTML Analiza danych MS Excel © Copyright by Arkadiusz Rzucidło 24 KONIEC Koniec © Copyright by Arkadiusz Rzucidło 25