Katedra Informatyki Stosowanej Politechniki Ś wię tokrzyskiej

Opracowanie: mgr Grażyna Gębal, dr Marzena Nowakowska, dr Maria Szczepańska MsAccess - ćwiczenie nr 6

Obsługa zdarzeń w formularzach przy pomocy makr

1. Przetestować w formularzu Pracownicy - edycja przycisk Nowy pracownik. Dodać pracownika o identyfikatorze 100. Sprawdzić, czy dodany został nowy rekord do tabel PRACOWNICY i DANE

OSOBOWE.

2. Zmodyfikować formularz Pracownicy – edycja podpinając akcję pod przycisk Usunię cie pracownika.

Do realizacji zadania potrzebne będą:

• kwerenda dołączająca do tabeli ARCHIWUM kolejne rekordy (Do archiwum),

• kwerenda usuwająca rekordy z tabel PRACOWNICY i DANE OSOBOWE (Zwolnienie pracownika).

Obie te kwerendy były tworzone na ćwiczeniach wcześniejszych (por. scenariusz ćwiczenia nr 3).

Wykonanie.

• Utworzyć grupę makr do obsługi formularzy Pracownicy – edycja i Pracownicy – przegląd.

• Nazwać grupę Pracownicy – obsługa. Wykorzystać poniższe wskazówki:

− na karcie Tworzenie w grupie Inne wybrać przycisk Makro,

− w oknie projektowym, w grupie Pokazywanie/ukrywanie uaktywnić pokazywanie nazw makr.

• W grupie makr Pracownicy-obsługa zdefiniować makro Zwolnienie, modyfikujące dane w bazie w związku z odejściem pracownika z firmy. W tym celu:

− w kolumnie Nazwa makra wpisać Zwolnienie

− wprowadzić dla makra dwie takie same akcje OtwórzKwerendę z parametrami równymi odpowiednio Do archiwum, Zwolnienie pracownika. Każdą z akcji poprzedzić akcją OknoKomunikatu z komunikatami odpowiednio: Dołą czanie danych do ARCHIWUM, Usuwanie danych z tabeli PRACOWNICY i DANE OSOBOWE.

− Zamknąć okno projektowe makr podając nazwę nowej grupy.

• Wprowadzić poprawki do kwerend: Do archiwum, Zwolnienie pracownika. W wierszu Kryteria każdej kwerendy w miejsce parametru wprowadzić wartość pola pobraną z formularza Pracownicy -

edycja: [Formularze]![Pracownicy - edycja]![Id_prac].

• Otworzyć w oknie projektowym formularz Pracownicy - edycja. Podpiąć makro pod przycisk Usunię cie pracownika (otworzyć arkusz właściwości przycisku; we właściwościach zdarzeń dla zdarze-nia Przy kliknię ciu wybrać z listy makro Pracownicy - obsługa.Zwolnienie.)

• Przetestować działanie makra dla przykładowego pracownika (np. o identyfikatorze 100).

Uwaga

Istnieje możliwość rezygnacji z generowanych przez system ostrzeżeń. Żeby to uzyskać należy umieścić w budowanym makrze, jako pierwszą, akcję UstawOstrzeż enia z argumentem Nie . Akcja ta jest dostęp-na tylko w zaufanej bazie, po uaktywnieniu przycisku Pokaż wszystkie akcje z grupy Pokazywa-

nie/ukrywanie.

3. Utworzyć, na bazie tabeli ODDZIAŁY, formularz O oddziałach umożliwiający zmianę kierownika (odwołanie starego i mianowanie nowego).

Wykonanie.

• Posługując się kreatorem utworzyć formularz kolumnowy, po czym otworzyć go w oknie projektowym.

MsAccess – ć wiczenie 6

Strona 1

Katedra Informatyki Stosowanej Politechniki Ś wię tokrzyskiej

• Narysować przycisk Odwołanie kierownika.

• Za pomocą kreatora utworzyć na bazie tabeli PRACOWNICY niezwiązane pole listy o nazwie Lista wyboru kierownika (por. rys. 1).

− włączyć w grupie Formanty przycisk Uż yj kreatorów formantów,

− wprowadzić pole listy wyświetlające wartości z tabeli PRACOWNICY (Id_prac, Nazwisko, Imię); posortować dane wg nazwiska i imienia, wybrać Id_prac jako pole jednoznacznie identyfikujące wiersz, po czym zapamiętać jego wartość do późniejszego wykorzystania, określić etykietę pola: Wybierz nowego kierownika:,

− utworzone pole listy ma wartość równą identyfikatorowi wybranego pracownika – we właściwo-

ściach tego obiektu określić jego nazwę (zakładka Inne): Nazwa → Lista wyboru kierownika

− zmienić właściwości etykiety pola (dobrać czcionkę, kolor).

• Do konstrukcji makr związanych z formularzem potrzebne będą dwie kwerendy aktualizujące: Od-wołanie kierownika (rys. 2) oraz Nowy kierownik (rys. 3).

• Utworzyć grupę makr O oddziałach z dwoma makrami Odwołanie kierownika i Nowy kierownik (por. rys. 4). Pierwsze makro podpiąć pod przycisk (zdarzenie Przy kliknię ciu), a drugie do listy (zdarzenie Po aktualizacji). Ustawienie parametrów akcji jest pracą samodzielną.(akcja UstawWartość jest dostępna po uaktywnieniu przycisku Pokaż wszystkie akcje z grupy Pokazywanie/ukrywa-

nie)

Rys. 1. Formularz O oddziałach w trybie Widok Formularz.

Rys. 2. Kwerenda aktualizująca Odwołanie kierownika - siatka projektowa.

MsAccess – ć wiczenie 6

Strona 2

Katedra Informatyki Stosowanej Politechniki Ś wię tokrzyskiej

Rys. 3. Kwerenda aktualizująca Nowy kierownik - siatka projektowa.

Nazwa makra

Warunek

Akcja

Komentarz

Odwołanie kierownika

OknoKomunikatu

Stary kierownik nie ma przydziału

Wstawienie 0 do Nr _ stan poprzed-

OtwórzKwerendę

niego kierownika

Null w polu Id_kier w formularzu

UstawWartość

O ODDZIAŁACH

Nowy kierownik

[Id_kier] Is Not Null

OknoKomunikatu

Nie odwołano starego kierownika

...

ZatrzymajMakro

DLookUp("[Nr_stan]";"Pracownicy";

Proponowana osoba jest już kie-

OknoKomunikatu

"[Id_prac]=[Lista wyboru kierownika]")=3

rownikiem innego oddziału

...

ZatrzymajMakro

Ustawia Nr_stan i Nr_oddz dla

OtwórzKwerendę

nowego kierownika

UstawWartość

Aktualizacja Id_kier

Rys. 4. Grupa makr O oddziałach.

Uwaga: Rozpoczęcie każdego z powyższych makr akcją UstawOstrzeż enia z argumentem Nie spowoduje wyłączenie komunikatów Accessa o uruchamianych kwerendach funkcjonalnych.

Ćwiczenie dodatkowe

1. Zmodyfikować formularz Pracownicy - przegląd. W nagłówku formularza umieścić niezwiązane pole listy zbudowane na bazie trzech pierwszych kolumn tabeli PRACOWNICY. Jego zadaniem będzie wybór pracownika, o którym chcemy uzyskać informację. W formularzu wyświetlić dodatkowo nazwisko kierownika wybranego pracownika oraz lokalizację oddziału, w którym pracownik jest zatrudniony.

Wykonanie.

• Za pomocą kreatora utworzyć na bazie tabeli PRACOWNICY niezwiązane pole listy o nazwie Lista wyboru pracownika (por. rys. 5). Polem jednoznacznie identyfikującym wiersz jest Id_prac. Zapamiętać wartość tego identyfikatora do późniejszego wykorzystania. Pole ma mieć etykietę Wybierz pracownika. Uporządkować listę wg nazwiska.

• Zamknąć formularz.

• W grupie makr Pracownicy - obsługa zdefiniować makro Wybierz, wyszukujące pracownika o za-danym identyfikatorze:

− w kolumnie Nazwa makra wpisać nową nazwę Wybierz

− określić dwie akcje makra Wybierz:

Przejdź DoFormantu

Nazwa formantu → [Id_prac]

Znajdż Rekord

Znajdź → =[Lista wyboru pracownika]

MsAccess – ć wiczenie 6

Strona 3

Katedra Informatyki Stosowanej Politechniki Ś wię tokrzyskiej

Rys. 5. Formularz Pracownicy - przegląd w trybie Widok Formularz.

• Powrócić do formularza Pracownicy - przegląd. W zakładce właściwości zdarzeń pola listowego dokonać przypisania makra Pracownicy – obsługa.Wybierz dla właściwości Po aktualizacji.

• Aby zabezpieczyć tabele przed zmianami ustawić dla wszystkich pól z pasma szczegóły właściwość: Zablokowane → Tak.

• Przesunąć przycisk Zamknij do pasma nagłówka, pozostałe przyciski usunąć.

• Wprowadzić pole tekstowe posługując się przybornikiem. W etykiecie pola wpisać tekst Kierownik oddziału: (por. rys. 5). Zmienić właściwości pola określając nazwy - dla pola tekstowego Kierownik, a dla zawiązanej z nim etykiety Kierownik-etykieta. Będą one wykorzystane przez zmodyfikowane w dalszej części scenariusza makro Wybierz z grupy makr Pracownicy – obsługa.

• W polu Kierownik należy wprowadzić wyrażenie odszukujące nazwisko i imię kierownika właści-wego oddziału. Do tego celu potrzebny będzie identyfikator kierownika z tabeli ODDZIAŁY. Nale-

ży zmodyfikować źródło rekordów formularza Pracownicy - przegląd: do siatki projektowej wprowadzić pole Id_kier.

• Dla pola Kierownik w formularzu zmodyfikować Ź ródło formantu wykorzystując kreator wyrażeń:

=DLookUp("[PRACOWNICY]![Nazwisko]”;"[PRACOWNICY]";

"[PRACOWNICY]![Id_prac]=[Id_kier]") &" " & DLookUp("[PRACOWNICY]![Imię ]";

"PRACOWNICY";"[PRACOWNICY]![Id_prac] =[Id_kier]")

• Wprowadzone pole powinno być widoczne tylko wtedy, gdy wyświetlana jest informacja o szerego-wym pracowniku. W tym celu należy zmodyfikować makro Wybierz uzupełniając je o dodatkowe akcje, które spowodują ukrycie bądź wyświetlenie pola Kierownik i jego etykiety Kierownik-etykieta. W siatce projektowej makr dodać kolumnę warunków i uzupełnić grupę wg załączonego schematu (rys. 6).

Nazwa makra

Warunek

Akcja

Wybierz

IdźDoFormantu

ZnajdźRekord

UruchomMakro

Nazwa makra →Pracownicy - obsługa.Pokaż kierownika

MsAccess – ć wiczenie 6

Strona 4

Katedra Informatyki Stosowanej Politechniki Ś wię tokrzyskiej

UstawWartość

Pokaż kierownika

[Stanowisko]="Kierownik oddziału"

Element → [Kierownik].[Visible]

Wyrażenie →FAŁSZ

UstawWartość

...

Element → [Kierownik-etykieta].[Visible]

Wyrażenie →FAŁSZ

UstawWartość

[Stanowisko]<>"Kierownik oddziału"

Element → [Kierownik].[Visible]

Wyrażenie →PRAWDA

UstawWartość

...

Element → [Kierownik-etykieta].[Visible]

Wyrażenie →PRAWDA

Rys. 6. Makra grupy Pracownicy - obsługa dla formularza Pracownicy - przegląd.

• Dodać pole tekstowe pokazujące lokalizację oddziału, w którym jest zatrudniony pracownik. Jakie powinno być Ź ródło formantu dla tego pola?

Zadanie do samodzielnego wykonania

Zastanów się, jak możesz ulepszyć zdefiniowane wcześniej formularze i raporty poprzez wprowadzenie do nich makropoleceń.

MsAccess – ć wiczenie 6

Strona 5