LK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika Prowadzący: Dr inż. Jacek Habel Instytut Technologii Maszyn i Automatyzacji Produkcji Zakład Projektowania Procesów Wytwarzania M65 Pokój: 3/9a bud.6b tel. (012) 374-32-39 e-mail: habel@m6.mech.pk.edu.pl jacek.habel@gmail.com Strona WWW Instytutu M6: http://m6.mech.pk.edu.pl
Inaczej niż w innych aplikacjach MS Office, najpierw zapisujemy plik bazy danych w określonej lokalizacji na dysku UWAGA: wszystkie działania użytkownika (modyfikacja, dodawanie i usuwanie danych) zapisują się automatycznie i natychmiast Nie ma więc potrzeby stopniowego zapisywania swojej pracy ZALETA Niestety w większości przypadków nie można cofnąć swoich działań, trzeba wszystko wykonywać rozważnie - WADA
Obiekty definiowane w bazie MS Access: - Tabele: obiekty które przechowują dane - Kwerendy: zapytania do bazy - Formularze: do budowy interfejsu użytkownika, okienka wprowadzania i przeglądania danych - Raporty: przygotowane dane do druku - Strony: publikacja danych w postaci HTML - Makra: automatyzacja niektórych czynności z użyciem języka Visual Basic - Moduły: tworzenie pewnego zbioru makr np. w celu przeniesienia do innego programu/bazy
Ograniczenia można definiować w postaci: - Klucz podstawowy - Wymagane - Reguła poprawności konstruktor wyrażeń - Format - Maska wprowadzania - Wartość domyślna Ograniczenia zapewniają integralność danych
Cel: Baza Sprzedaż ma służyć do przechowywania informacji o zamówieniach klientów na dowolne towary (np. kasa fiskalna). Funkcje bazy: Zapis informacji o posiadanych towarach Zapis informacji o klientach (do wystawiania rachunków lub faktur) Zapis informacji o zrealizowanych zamówieniach Diagram związków w bazie: Krok 1: Identyfikacja zbioru obiektów (encji) występujących w danym problemie oraz identyfikacja powiązań bezpośrednich między obiektami i przekształcenie w pojęciowy model danych (ustalenie typu relacji). W podanym przykładzie będą występować 3 obiekty (encje): Klient Towar Zamówienie
Pomiędzy obiektami występują następujące relacje logiczne: Relacja między towarami a zamówieniami jest wiele do wielu m:n, gdyż jeden towar może się znaleźć na wielu zamówieniach, a na jednym zamówieniu może być wiele towarów, Relacja między klientami a zamówieniami jest jeden do wielu 1:n, gdyż jeden klient może składać wiele zamówień, a zamówienie należy tylko do jednego klienta. UWAGA: poprawna nazwa relacji logicznej to REFERENCJA
Ponieważ na diagramie występuje złożona relacja m:n to należy ją zamienić na dwie relacje 1:n poprzez dodanie nowego obiektu, którym jest pozycja zamówienia: Teraz dodatkowe relacje: Relacja między towarami a pozycjami zamówienia jest jeden do wielu 1:n, gdyż jeden towar może wystąpić w wielu pozycjach zamówień, a jedna pozycja zamówienia odpowiada dokładnie jednemu towarowi, Relacja między zamówieniami i pozycjami zamówienia jest jeden do wielu 1:n, gdyż jedno zamówienie może mieć wiele pozycji, a jedna pozycja należy tylko do jednego zamówienia. Krok 2: Określenie atrybutów i kluczy dla wszystkich obiektów
Formularze użytkownika można na kilka sposobów: Skorzystać z kreatora i wygenerować automatycznie Tworzyć, dzięki dostępnym narzędziom, samemu od początku (w widoku projektu) Wygenerować i modyfikować w razie potrzeby
Dla tabel Towary i Klienci, za pomocą kreatora, wygenerować formularze:
Przechodzenie między polami edycyjnymi: - Klawisz Tab do następnego - Klawisze Shift+Tab powrót do poprzedniego Nawigator: - Przejdź do pierwszego rekordu w tabeli - Wróć o 1 rekord do tyłu - Aktualny numer wyświetlanego rekordu - Idź o 1 rekord dalej - Przejdź do ostatniego rekordu w tabeli - Utwórz nowy rekord - Aktualna ilość rekordów w tabeli
Za pomocą formularzy wprowadzić po 5 rekordów
Sytuacja taka zachodzi dla pary tabel Zamow i Poz_Zam Najpierw należy wygenerować dwa formularze: Dla tabeli Zamow w układzie kolumnowym (podobnie jak poprzednio) Dla tabeli Poz_Zam w układzie arkusza danych
Następnie należy otworzyć formularz Zamow i poddać go edycji dodając podformularz zależny
W celu zabezpieczenia przed możliwością popełnienia błędu wprowadzamy pola rozwijane kombi zamiast pól edycyjnych. Krok 1: wybrać pole edycyjne, z menu (pod prawym klawiszem myszy) polecenia: Change To -> ComboBox
Trzeba je również napełnić odpowiednimi danymi za pomocą kwerendy. Krok 2: z menu podręcznego polecenie Properties (Właściwości). Tu na zakładce Data (Dane) opcja Row Source (Źródło wierszy): Klawisz: Kwadrat i 3 kropki wywoła konstruktor kwerendy Tworzymy kwerendę wybierając nazwę potrzebnej tabeli Oraz nazwę pola klucza głównego
Czasami potrzeba wyświetlić informacje, które nie znajdują się bezpośrednio w edytowanej tabeli, a są pomocne przy wprowadzaniu danych Przykładem jest identyfikator klienta który raczej nic o nim nie mówi Dlatego lepiej dodać nowe pole kombi, które zawiera listę klientów (kwerenda na podstawie tabeli Klienci), które będzie sprzężone z tabelą Zamow poprzez pole klucza ID_Klienta
Krok 1: dodanie do formularza nowego pola ComboBox Krok 2: W kreatorze wybór odpowiedniej tabeli (źródła danych) i kolumn Uwaga: pole to jest początkowo niezwiązane (Unbound nie sprzężone). Trzeba je związać! We właściwościach: Control Source (Źródło formantu) wskazać pole sterujące