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