Pojęcie makro i makro. Tworzenie makra interfejsu użytkownika Jak uruchamiać makra

Utworzone makro powinno zostać wykonane. Istnieje kilka sposobów uruchamiania makr:

1. Poprzez polecenie Makra → Makro → Serwis

2. Używając kombinacji klawiszy przypisanej do makra;

3. Poprzez polecenie menu przypisane do tego makra;

4. Korzystając z przycisku przypisanego do tego makra na pasku narzędzi.

O wyborze sposobu uruchomienia makra decyduje użytkownik na podstawie własnych potrzeb i preferencji. Druga metoda jest zalecana do uruchamiania najczęściej wykonywanych makr. Trzecia ilustruje możliwość wprowadzania własnych poleceń do menu głównego i tym samym ulepszania menu. Ostatnia metoda wyróżnia się przejrzystością uruchomienia.

Przyjrzyjmy się bliżej każdej z tych metod uruchamiania makr.

1. Zespół Makra → Makro → Serwis– standardowa opcja wywołania makra do wykonania. W oknie dialogowym Makro wybierz utworzone makro i kliknij przycisk [Uruchom]. Metoda ta nadaje się również do edycji i usuwania makropoleceń – przyciski [Edytuj], [Usuń].

2. Używając kombinacji klawiszy (rys. 2):

Ryż. 2. Okno dialogowe. Konfigurowanie klawiatury do przypisania makro

Skróty klawiaturowe w programie Microsoft Word.

2. Aby wywołać makro w oknie dialogowym Ustawienia klawiatury na karcie Nowy skrót klawiaturowy wskazana jest kombinacja klawiszy sterujących. Na przykład wraz z kombinacją klawiszy numerycznych lub alfabetycznych (w języku łacińskim);

Następnie klikamy przycisk [Przypisz], co powoduje przypisanie.

3. Wywołaj poleceniem w menu - dokonuje się standardowych ustawień menu: dodanie pozycji menu związanej z wywołaniem makropolecenia:

W wyświetlonym oknie dialogowym Ustawienia, na zakładce Zespoły z pola kombi Kategorie zespół jest wybrany Makra po którym następuje nazwa makra;

Po kliknięciu lewym przyciskiem myszy na nazwę makra pojawia się przerywany obraz przycisku, który należy przeciągnąć do menu, aby dodać pozycję menu. Następnie zwalnia się lewy przycisk myszy.

4. Korzystając z przycisku przypisanego do tego makra na pasku narzędzi (rys. 3):

W programie Word po kliknięciu przycisku [Panele] (patrz rysunek 1) w oknie dialogowym Nagrywać pojawi się okno dialogowe makra Ustawienia, w którym na zakładce Zespoły z pola kombi Kategorie jest zaznaczona Makra po którym następuje nazwa makra;

Po kliknięciu lewym przyciskiem myszy na nazwę makra pojawia się przerywany obraz przycisku, który należy przeciągnąć na pasek narzędzi. Następnie zwalnia się lewy przycisk myszy;

Klikając przycisk [Edytuj wybrany obiekt], możesz wybrać ikonę, którą chcesz dla przycisku, uruchamiając polecenieü Wybierz ikonę przycisku(ryc. 4). Możesz także edytować ikonę za pomocą polecenia Zmień ikonę przycisku(okno Edytor przycisków) (ryc. 5).

Ryż. 3. Okno dialogowe konfiguracji do przypisania makra
przyciski paska narzędzi w programie Microsoft Word.

Ryż. 4. Okno dialogowe wyboru ikony przycisku

Ryż. 5. Okno dialogowe Edytor przycisków

Excel dodatkowo posiada możliwość uruchomienia makra wykorzystując przypisany do niego obraz graficzny.

Po wybraniu metody wywołania pojawi się mały pasek narzędzi Zatrzymaj nagrywanie zawierający przycisk:

- [Zatrzymaj nagrywanie] – zatrzymuje rejestrację makra;

[Pauza] – wstrzymuje rejestrację makra (rys. 6).

Ryc.6. Panel rejestratora makr w programie Microsoft Word

  1. Zmiana makr

Makra są zapisywane w szablonie jako teksty programu. Każdy szablon może zawierać dowolną liczbę makr. Ponieważ plików kropkowych (kropka jest rozszerzeniem pliku szablonu) nie można czytać jako dokumentów, w programie Word znajdują się specjalne narzędzia umożliwiające przeglądanie i edycję makra jako ciągu instrukcji w języku VBA (ryc. 7). Podczas procesu edycji każde makro prezentowane jest jako ciąg instrukcji języka VBA. Istotą edycji makra jest usuwanie, dodawanie i zastępowanie operatorów, tak jak przy programowaniu w każdym innym języku.

Ryc.7. Okno dialogowe Edytora VBA

Edycja makra odbywa się za pomocą polecenia Makra. W oknie dialogowym Makro, w polu Nazwa wybrana jest nazwa makra, które ma być edytowane. Proces rozpoczyna się po kliknięciu przycisku [Debuguj]. Można określić nazwę nieistniejącego makra. Jeśli następnie klikniesz przycisk [Utwórz], zostanie utworzone nowe makro, które użytkownik będzie mógł napisać w języku VBA.

Przycisk [Debuguj] otwiera okno edycji makra, w którym wyświetlana jest zawartość makra w języku VBA. Okno edycji makra jest podobne do zwykłego okna dokumentu, różni się jednak brakiem linijki współrzędnych i obecnością specjalnego paska narzędzi. Można otworzyć wiele okien przetwarzania makr. Tekst makra edytuje się w taki sam sposób, jak zwykły tekst programu VBA. Jednakże dostępna jest większość poleceń do edycji tekstu, na przykład polecenia Kopiuj I Cięcie.

Przycisk [Usuń] usuwa określone makro.

Aby zamknąć okno edycji makra można skorzystać z menu systemowego okna edycji lub polecenia Zamknąć w menu Plik. Konkretne polecenia przeznaczone do edycji i debugowania makra wykonuje się poprzez kliknięcie przycisków w linii usuwania.

Bibliografia:

1. Musin K.A „Aplikacja techniczna do Microsoft Word”

2. Borodina A.I. „Makroprogramowanie”

1. Pojęcie makro.

2. Przegląd wydarzeń

3. Tworzenie makr.

3.1. Ustawienie warunków wykonywania makropoleceń.

3.2. Tworzenie grupy makr.

4. Uruchom makro.

1. Pojęcie makro

Aby zautomatyzować operacje w MS Access DBMS, dostępne są dwa narzędzia: makra I moduły. Za pomocą tych narzędzi można określić reakcję aplikacji na różne zdarzenia występujące w formularzach i raportach: naciśnięcie przycisku, skupienie się na kontrolce, przejście do nowego rekordu, zmiana danych, otwarcie formularza, otwarcie raportu itp. .

Makro to obiekt bazy danych MS Access będący zestawem jednego lub większej liczby makropoleceń i przeznaczony do automatyzacji często wykonywanych zadań.

Polecenie makro – główny składnik makra, zamknięta instrukcja, która samodzielnie lub w połączeniu z innymi makropoleceniami określa czynności wykonywane w makrze. Każde makro ma określoną nazwę i ewentualnie jeden lub więcej argumentów określonych przez użytkownika.

Makropolecenia można podzielić na kilka kategorii w zależności od ich funkcjonalności:

– praca z danymi w formularzach i raportach;

– wykonywanie poleceń, makr, procedur i zapytań;

– praca z przedmiotami;

– import/eksport danych i obiektów;

- inni.

Tabela 11.1 przedstawia 56 makropoleceń systemu MS Access DBMS, pogrupowanych według kategorii.

Tabela 11.1

Zamiar

Polecenie makro

Praca z danymi w formularzach i raportach

Wybór danych

Nałóż filtr

Nawigacja po danych

NastępnyRekord (ZnajdźNastępny).

ZnajdźRekord

Element TOControl

Do strony (GoToPage),

Przejdź do nagrania

Odśwież dane lub ekran

Ponów zapytanie

PokażWszystkieRekordy

Wydajność

Wykonywanie polecenia

Uruchom polecenie

Wykonaj makro, procedurę lub zapytanie

RunProgram (RunCode), RunMacro (RunMasgo), OpenQuery (OpenQuery), RunSQLQuery (RunSQL)

Uruchamianie innej aplikacji

Uruchom aplikację

Przerwij wykonanie

Anuluj wydarzenie

Zatrzymaj wszystkie makra (StopAIIMacros),

Zatrzymaj makro

Zamknij program Microsoft Access

Zrezygnować

Import/
eksport

Przesyłanie obiektów Microsoft Access do innych aplikacji

OutputInFormat (OutputTo),

WyślijObiect

Konwersja formatu danych

TransferDatabase, TransferArkusz

TransferTekst

Praca z obiektami

Skopiuj, zmień nazwę lub zapisz obiekt

Skopiuj obiekt, Zmień nazwę,

Skopiuj plik bazy danych
(Kopiuj plik bazy danych)

Usuwanie obiektu

Usuń obiekt

Zmiana rozmiaru lub położenia okna

Wyolbrzymiać

Zminimalizować

ShiftSize (MoveSize),

Przywrócić

Otwieranie lub zamykanie obiektu

OpenForm, OpenModule, OpenQuery, OpenReport, OpenTable,

Otwarta funkcja

OpenPage (OpenDataAccessPage)

Otwórz diagram (OpenDiagram)

Procedura OpenStore

OpenView

Zamknąć

Drukowanie obiektu

Drukuj (Wydruk)

Wybór obiektu

Wybierz obiekt

Ustaw wartość pola, kontrolki lub właściwości

Ustalić wartość

Aktualizowanie obiektu

Przemaluj obiekt

Tworzenie specjalnego lub ogólnego paska menu, specjalnego lub globalnego menu kontekstowego

DodajMenu

Ustaw stan elementów menu na specjalnym lub ogólnym pasku menu

SetCommandMenu (SetMenultem)

Wyświetlanie informacji na ekranie

Wyjście na ekran (echo),

Klepsydra,

Wiadomość (MsgBox),

Ustaw ostrzeżenia

Generowanie naciśnięć klawiszy

Polecenia klawiaturowe (klawisze wysyłania)

Pokaż lub ukryj wbudowany lub niestandardowy pasek narzędzi

Pasek narzędzi (ShowToolbar)

Sygnał dźwiękowy

Sygnał (wentylator)

Pełniejsze informacje na temat makropoleceń znajdziesz w rozdziale OdniesienieMicrosoftu Dostęp| Programowanie wMicrosoftu Dostęp| Makra.

Akcje, które można wykonać za pomocą makr są bardzo zróżnicowane, dlatego tworzenie makr wymaga znajomości makropoleceń. Znajomość makropoleceń przyda się także przy tworzeniu procedur w VBA, gdyż wiele makropoleceń to metody obiektu DoCmd.

W zależności od miejsca przechowywania makra dzielą się na dwa typy:

prosty(obiekt składający się z zestawu makropoleceń);

Grupa(obiekt składający się ze zbioru logicznie powiązanych makr, z których każde ma swoją nazwę i zestaw makropoleceń).

Ze względu na sposób wykonania makra dzielą się na dwa typy:

liniowy(każde makropolecenie w makrze jest wykonywane sekwencyjnie jedno po drugim);

z warunkiem(makropolecenia wykonywane są w zależności od spełnienia określonych warunków).

2. Przegląd wydarzeń

Wydarzenie to dowolne działanie rozpoznawane przez obiekt. Zdarzenia powstają w wyniku działań użytkownika, wykonania instrukcji VBA lub są generowane przez system. Przykładowymi zdarzeniami są: otwarcie formularza, przejście z jednego rekordu do drugiego w formularzu, zamknięcie raportu, kliknięcie przycisku polecenia na formularzu itp.

Prawie całe programowanie w MS Access sprowadza się do pisania makr lub procedur przetwarzających zdarzenia, czyli programuje się reakcję obiektów na zachodzące zdarzenia. Zdarzenia różnych obiektów MS Access przedstawiono na rys. 11.1 – 11.3.

Zdarzenia można podzielić na następujące kategorie, grupując je według funkcjonalności (wykonywanych operacji):

– otwieranie i zamykanie formularzy oraz raportów;

– zmiana danych;

– zmienić fokus wprowadzania;

– zdarzenia pracy z klawiaturą;

– zdarzenia myszy;

- foka;

– śledzenie błędów;

– upływ czasu.

Ryc. 11.1. Zakładka Zdarzenia w oknie właściwości formularza.

Ryc. 11.2. Zakładka Zdarzenia w oknie właściwości kontrolki Podformularz/Raport.

Ryc. 11.3. Zakładka Zdarzenia w oknie właściwości kontrolki. Przycisk (a) i pole kombi (b).

3. Tworzenie makr

Tworzenie makra składa się z dwóch kroków:

1. W oknie bazy danych przejdź do zakładki Makra i kliknij przycisk Tworzyć .

2. W wyświetlonym oknie Konstruktor makr utwórz makro.

Okno Projektant makra składa się z dwóch obszarów (ryc. 11.4):

– górny obszar przeznaczony jest do opisu logicznej struktury makra;

– dolny obszar przeznaczony jest do opisu argumentów makropoleceń.

W górnym obszarze Projektant makra domyślnie wyświetlane są dwie kolumny Polecenie makro I Notatka. Wyświetlanie kolumn Nazwa makra I Stan przeprowadza się za pomocą odpowiednich przycisków na pasku narzędzi Konstruktor makra.

Komórki w kolumnie Polecenie makro służą do wyboru z listy makropoleceń, które mają zostać uwzględnione w makrze.

Komórki w kolumnie Notatka służą do opisu akcji wykonywanej przez makropolecenie (można pozostawić puste).

Komórki w kolumnie Nazwa makra służą do określenia nazwy makra w grupie makr.

Komórki w kolumnie Stan służą do określenia kolejności wykonywania makropoleceń.

Ryc. 11.4. Okno Projektanta makr

Aby szybko przełączać się między górnym i dolnym obszarem okna Konstruktor makr możesz użyć klucza < F 6> .

Istnieje inny sposób wprowadzania makropoleceń.

W oknie bazy danych wybierz obiekt: formularz, raport, makro, zapytanie lub tabelę i przeciągnij go do okna za pomocą myszki Konstruktor makr. W polu kolumny Polecenie makro Makropolecenie pojawi się automatycznie (np. Otwórz formularz), a niektóre argumenty makro zostaną automatycznie uzupełnione (nazwa obiektu, tryb, tryb okna).

Istnieją dwa sposoby wprowadzania wartości argumentów makropoleceń:

– wybór wartości z listy dopuszczalnych wartości;

– wprowadź wartość ręcznie lub za pomocą okna dialogowego Konstruktor wyrażeń.

Przykład makra umożliwiającego otwarcie formularza „Klienci” w trybie formularza tylko do odczytu i wyświetlenie klientów wyłącznie z Hiszpanii przedstawiono na rys. 11.5.

Ryc. 11.5. Okno Macro Builder z wypełnionymi wartościami argumentów

3.1. Ustawianie warunków wykonywania makr

Aby utworzyć makra konstrukcji nieliniowej, należy wyświetlić słup Stan i wskaż w nim warunek wykonania makropoleceń.

Wykonanie makra rozpoczyna się od pierwszego makra i trwa aż do pojawienia się pustej linii (znaku końca makra), nazwy innego makra lub napotkania makra Zatrzymaj makro. Makropolecenia, dla których zdefiniowano warunki, zostaną wykonane tylko wtedy, gdy warunek zapisany w wierszu makropoleceń będzie równy PRAWDA. Aby propagować warunek na kolejne makropolecenia, konieczne jest w kolumnie Stan wskazać elipsę ( ).

Przykład tworzenia makra struktury nieliniowej

W kształcie Dostawcy są dwa pola Kraj I Indeks. Przed aktualizacją rekordu (przed zapisaniem) należy sprawdzić poprawność wprowadzonego indeksu dla niektórych krajów.

Jeśli pole Kraj ma wartość NULL, to zapisz rekord, ponieważ sprawdzenie indeksu w celu ustalenia, czy należy on do kraju, jest niemożliwe, w przeciwnym razie sprawdź wartość w polu Indeks:

– jeśli pole Kraj ma znaczenie Francja, Włochy Lub Hiszpania i w terenie Indeks nie wszedł 5 znaków, to nie zapisuj rekordu if 5 - ratować;

– jeśli pole Kraj ma znaczenie Australia Lub Singapur i w terenie Indeks nie wszedł 4 podpisz, to nie zapisuj zapisu, jeśli 4 - ratować;

Algorytm makra w postaci schematu blokowego przedstawiono na rys. 11.6, a implementację makra w oknie Konstruktor makr, pokazano na rys. 11.7.

To makro jest powiązane z właściwością Przed aktualizacją na karcie Wydarzenia formy Dostawcy.

Ryc. 11.6. Algorytm makro

Ryc. 11.7. Implementacja makra o strukturze nieliniowej

3.2. Tworzenie grupy makr

Automatyzacja aplikacji wymaga użycia znacznej liczby makr. Jeśli utworzysz makra dla każdej pojedynczej operacji, w bazie danych zgromadzą się setki różnych makr.

Aby zmniejszyć liczbę makr jako obiektów bazy danych, istnieje inny sposób ich uporządkowania - połączenie kilku makr w grupę. Makra można łączyć w grupę według dwóch kryteriów:

– przynależność do obiektu automatyzacji (dla każdego formularza i raportu);

– należące do rodzaju operacji zautomatyzowanych.

Grupa makr jest przechowywana w jednym obiekcie i dlatego ma jedną wspólną nazwę - nazwę obiektu. Aby uruchomić makro będące częścią grupy, użyj pełnej nazwy: [Nazwa_grupy].[Nazwa_makra_w_grupie].

Aby utworzyć grupę makr, należy wykonać następujące kroki:

1. Otwórz Konstruktor makr.

2. Wyświetl kolumnę Nazwa makra.

3. W komórce kolumnowej Nazwa makra Wprowadź unikalną nazwę makra dla grupy.

4. W komórkach kolumnowych Polecenie makro zaczynając od linii zawierającej nazwę makra, wprowadź wszystkie makropolecenia składające się na makro i ich argumenty.

5. Pomiń jedną linię.

6. Powtórz kroki 3 – 5 dla każdego makra.

Przykład tworzenia grupy makr pokazano na rys. 11.8.

Ryc. 11.8. Implementacja grupy makr

4. Uruchamianie makra

Istnieje wiele sposobów uruchamiania makr.

Wśród nich znajdują się metody, gdy makro jest uruchamiane przez użytkownika. Metody te są stosowane głównie podczas testowania makr.

Po debugowaniu makra w formularzu tworzony jest przycisk polecenia umożliwiający jego uruchomienie, tworzone jest polecenie menu lub przycisk na pasku narzędzi albo makro jest skojarzone ze zdarzeniem w formularzu lub raporcie. Makro można uruchomić z innego makra, jak również programowo z procedury VBA.

Uruchamianie makra z Projektanta makr.

Aby uruchomić makro proste lub pierwsze makro z grupy należy kliknąć przycisk Początek na pasku narzędzi Konstruktor makr.

Aby uruchomić dowolne makro z grupy, uruchom komendę Usługa | Makro | Uruchom makro... oraz w oknie dialogowym Początek makro wybierz nazwę makra.

Uruchamianie makra z okna bazy danych.

Aby uruchomić makro proste lub pierwsze makro z grupy należy przejść do zakładki Makra, wybierz makro i kliknij przycisk Początek w oknie bazy danych.

Aby uruchomić dowolne makro z grupy, patrz wyżej.

1. Otwórz formularz lub raport w Konstruktor.

2. Wybierz obiekt automatyzacji (kontrola, formularz lub raport, sekcja formularza lub raportu).

3. Otwórz okno dialogowe Właściwości obiektu.

4. Wybierz wydarzenie na zakładce Wydarzenia, do którego przypisane jest makro.

5. Wybierz z listy pełną nazwę makra.

Makro będzie uruchamiane za każdym razem, gdy wystąpi zdarzenie, do którego jest przypisane makro. Przykład przypisania makra do zdarzenia pokazano na rys. 11.9.

Ryc. 11.9. Przypisywanie makra do zdarzenia

Makro z nazwą Autoexec uruchamia się automatycznie po otwarciu bazy danych. Aby anulować akcje określone w tym makrze, należy otworzyć bazę danych, naciskając klawisz > .

Paleta Akcje służy do rejestrowania, wykonywania i edycji sekwencji akcji służących do przetwarzania obrazu (taka sekwencja akcji, nazwana i uruchamiana jednym poleceniem, nazywana jest zwykle MAKRO POLECENIEM).W celu wyświetlenia palety na ekranie należy użyć palety Akcje. musisz wykonać polecenie Akcje z menu Okno ( Okno).

Paleta Akcje zawiera zestaw poleceń w postaci linii, które rozwijają się po kliknięciu trójkątnej strzałki skierowanej w prawo. Każde polecenie otwiera listę parametrów polecenia, jeśli takie istnieją.


W lewej kolumnie znajdują się pola służące do włączania lub wyłączania poszczególnych poleceń, a obok nich pola umożliwiające włączenie lub wyłączenie wyświetlania okien dialogowych dla odpowiednich poleceń.


Na dole palety znajdują się następujące przyciski:
Zatrzymaj odtwarzanie/nagrywanie;
Nagrywać;
Grać;
Nowy zestaw;
Nowa akcja;
Kosz (Kosz).



Paleta może jednak mieć inną postać - w postaci przycisków poleceń. Aby zaprezentować paletę w tej formie należy otworzyć listę poleceń palety i wybrać opcję Tryb przycisku. Aby powrócić do trybu listy palet należy wykonaj ponownie to samo polecenie.


ZMIANA KOLEJNOŚCI POLECEŃ W MAKRO POLECENIU


Użytkownik ma możliwość modyfikacji kolejności wykonywania poleceń. Dodatkowo polecenia z jednego makra można przenosić do innych.


Aby zmienić kolejność poleceń należy chwycić polecenie na liście palet i przenieść je w nowe miejsce. Gruba linia przedstawia pozycję linii poleceń podczas ruchu.


TWORZENIE I ZAPISYWANIE MAKROpoleceń


Tworzenie makropolecenia – w slangu projektantów i twórców grafik – „akcja” polega na tym, że podczas wykonywania określonej sekwencji poleceń program Adobe Photoshop zapisuje je w tej samej kolejności, łącznie z parametrami używanymi przez każde konkretne polecenie. W ten sposób możesz zapisać dowolną sekwencję poleceń i wykorzystać ją w przyszłości, skracając czas i, co najważniejsze, wysiłek związany z wykonywaniem rutynowych operacji.



Rozwój takich makropoleceń – „akcji” – otwiera przed użytkownikami szerokie możliwości wykorzystania ich twórczych mocy. Pod względem przeznaczenia wynik jest zbliżony do modułu Plugin, ale jest łatwiejszy w stworzeniu i nie wymaga specjalnej wiedzy.


Program makra może wykorzystywać akcje narzędzi Gradient, Marquee, Crop, Polygon LassoLine, Move, Magic Wand, PaintBucket i Type, a także ustawienia palet Ścieżki i Kanały (Kanały), Warstwy (Warstwy) i Historia (Historia) ).


Istnieją jednak również ograniczenia: niektóre polecenia i funkcje można włączyć do makr jedynie przy zastosowaniu procedury rejestrowania wykonanych czynności. Aby uwzględnić w operacji polecenia, których nie można zdefiniować podczas nagrywania, użyj polecenia Wstaw element menu.


Co ciekawe, polecenie Odtwórz z menu palety i polecenie Wsad z menu Plik/Automatyka można umieścić w poleceniu makra.


Należy zwrócić uwagę na jeszcze jedno bardzo istotne ograniczenie: powodzenie uruchomienia zarejestrowanego makra z innym dokumentem i w innym czasie w dużej mierze zależy od parametrów tego drugiego dokumentu (model kolorów, rozdzielczość, warstwa aktywna itp.), a także od aktualne ustawienia programu (na przykład kolory główne i tła oraz inne).


Na przykład użycie filtra Rozmycie gaussowskie o wartości 3 pikseli w dokumencie o rozdzielczości ekranu (72 dpi) wcale nie jest tym samym, co zastosowanie go do obrazu o wysokiej rozdzielczości (300 dpi). Dlatego tworzone w ten sposób makra mogą w dużej mierze mieć charakter czysto sytuacyjny. Ale może to również zaoszczędzić dużo czasu, szczególnie jeśli chodzi o dużą ilość podobnego przetwarzania obrazu.


Ponieważ w celu ich zapisania konieczne jest wykonanie sekwencji poleceń oraz możliwość przypadkowego popełnienia błędu, zdecydowanie zaleca się eksperymentowanie z kopiami szczególnie ważnych dokumentów.


Należy również pamiętać, że jeśli używasz makr poleceń Zapisz jako lub Zapisz kopię jako elementów, nie musisz wprowadzać konkretnych nazw plików w tych oknach dialogowych poleceń.


IŚĆ!


Zatem, aby utworzyć makropolecenie metodą nagrywania należy otworzyć edytowany dokument, wyświetlić paletę Akcje, wybrać znajdujący się w nim zestaw makropoleceń i wykonać jedną z dwóch akcji: - kliknąć przycisk Nowa akcja przycisk; - użyj polecenia Nowa paleta menu akcji.


W obu przypadkach zostanie wyświetlone okno dialogowe Nowa akcja, w którym możesz nadać makrze nazwę (pole Nazwa), zdefiniować zestaw makropoleceń (lista rozwijana Ustaw) oraz kombinację klawiszy umożliwiającą jego uruchomienie (Funkcja pole Klucz), a także wybrać jeden z siedmiu kolorów, w których będzie wyświetlana nazwa makra w palecie (Lista kolorów).



Następnie kliknij przycisk Nagraj, po czym kropka na przycisku nagrywania na palecie Akcje zmieni kolor na czerwony.


Możesz teraz rozpocząć wykonywanie poleceń, które chcesz zapisać w makrze. Jeżeli polecenie posiada okno dialogowe, to po ustawieniu żądanych wartości kliknij przycisk OK. Jeśli zamierzasz dokonać zmian w ustawieniach podczas uruchamiania makr, możesz pozostawić wartości domyślne, ale w tym przypadku kliknięcie przycisku OK jest obowiązkowe. W przypadku wyjścia z okna dialogowego po kliknięciu przycisku Anuluj polecenie to nie zostanie zapisane w makrze.Nagrywanie zostanie zatrzymane poprzez kliknięcie przycisku Stop znajdującego się na dole palety Akcje.


WSTAWIANIE POZYCJI MENU


Wiele poleceń, które nie są zapisywane w czasie wykonywania (na przykład opcje narzędzi do rysowania, polecenia widoku i niektóre inne), można umieścić na liście makr za pomocą polecenia Wstaw element menu z menu palety.


Różnica pomiędzy takim włączeniem a zapisem polega na tym, że w tym przypadku polecenie jako takie nie jest wykonywane (przed uruchomieniem makra), w związku z czym nie są ustalane żadne parametry polecenia i jest rzeczą oczywistą, że nie ma żadnego wpływu na aktualny dokument. Jest to operacja czysto programistyczna.Po wykonaniu makra dla takiego polecenia otwiera się odpowiednie okno dialogowe, w którym należy zdefiniować własne parametry lub zaakceptować parametry domyślne i kliknąć przycisk OK.


Aby wstawić pozycję menu do makra, należy określić miejsce wstawienia w istniejącym makropoleceniu: wybrać nazwę makra na liście palet, wykonać polecenie Wstaw element menu, co spowoduje wyświetlenie okna dialogowego tego samego nazwę, a następnie otwórz i wybierz polecenie, PO KTÓRYM zostanie wstawione nowe polecenie.


Po kliknięciu OK na liście makr pojawi się nowe polecenie.


WSTAWIANIE ZATRZYMAŃ


Podczas uruchamiania makra często konieczne staje się przerwanie akcji na jakiś czas, aby wykonać czynność, której nie można zarejestrować, np. zaznaczenie fragmentu obrazu lub wykonanie obrysu jednym z narzędzi rysunkowych. kontynuuje pracę klikając na przycisk Odtwórz na dole palety.Aby nie zapomnieć o celu pauzy (zatrzymania), zaleca się zapisanie dla siebie i swoich potomków... krótkiego FAQ w Wiadomości ( Często zadawane pytania).


Aby wstawić stop do listy makr, należy wykonać jedną z poniższych czynności:
określić miejsce wstawienia stopera w istniejącym makropoleceniu: wybierz nazwę makra na liście palety, otwórz i wybierz polecenie, po którym zostanie wstawiony stop;
wykonaj polecenie Wstaw zatrzymanie z menu palety, które powoduje wyświetlenie okna dialogowego Zatrzymanie nagrywania; parametry tego polecenia wyświetlane są także na palecie Operacje.


W polu Wiadomość (FAQ) możesz wpisać dowolny tekst, który będzie wyświetlany po zatrzymaniu makra. Po zaznaczeniu pola wyboru Zezwalaj na Kontynuuj w oknie dialogowym komunikatu pojawi się przycisk Kontynuuj.


WYKONYWANIE MAKROpoleceń


Możesz wykonać sekwencję akcji makro z dowolnego polecenia i w dowolnej kombinacji (aczkolwiek w tej samej kolejności).


Dodatkowo możliwe jest wykonanie tylko jednego osobnego polecenia. W razie potrzeby dowolne polecenie można wyłączyć z wykonania. Aby wykluczyć polecenie z wykonania należy kliknąć w lewą kolumnę obok nazwy polecenia, usuwając „ptaszek” oznacza wyłączenie polecenia. Ponowne kliknięcie powoduje powrót polecenia do „pliku wykonywalnego”.


Jeśli polecenie oczekuje okna dialogowego, może zostać wyświetlone w celu ustawienia lub zmiany parametrów. Jeżeli wyświetlanie okien dialogowych jest wyłączone, program będzie korzystał z bieżących ustawień okna dialogowego (a samo okno dialogowe nie będzie wyświetlane). Aby określić, które okno dialogowe będzie wyświetlane po uruchomieniu makra, należy kliknąć kolumnę obok nazwy polecenia. Jeżeli w tej komórce wyświetlony zostanie symboliczny obraz okna dialogowego, zostanie wyświetlone okno dialogowe i odwrotnie.


STOSOWANIE MAKRO POLECENIA DO ODDZIELNEGO DOKUMENTU


Kolejność kroków stosowania makr do pojedynczego dokumentu (w przeciwieństwie do przetwarzania wsadowego) może być następująca:
Otwórz wymagany dokument.
Aby w pełni wykonać makropolecenie, należy wybrać nazwę makra, a jeśli chcemy wykonać makropolecenie nie od początku, należy otworzyć i wybrać polecenie, od którego ma zostać rozpoczęte wykonanie.
Aby uruchomić makro, możesz użyć przycisku Odtwórz na dole palety lub polecenia Odtwórz w menu palety.


Dwukrotne kliknięcie nazwy makra na palecie powoduje wyświetlenie okna dialogowego Opcje akcji, które jest identyczne z oknem dialogowym Nowa akcja. Jeśli klikniesz dwukrotnie, gdy klawisz jest wciśnięty, makro rozpocznie wykonywanie od początku do końca.


Należy pamiętać, że ponieważ makro jest sekwencją poleceń (chociaż może składać się co najmniej z jednego polecenia), nie można cofnąć całego makra za pomocą polecenia cofnij. Polecenie cofnij pozwala cofnąć się tylko o jeden krok. ...niestety, ale tak jest..


Możesz jednak anulować działanie makra, jeśli skorzystasz z możliwości palety Historia: wykonaj „migawkę” obrazu przed wykonaniem makra, a następnie „wróć” do niego.


SZYBKOŚĆ AKCJI


Złożone działanie często wymaga debugowania, jednak w niektórych przypadkach określenie miejsca wystąpienia awarii nie jest takie proste, ze względu na zbyt szybkie wykonanie określonych poleceń. Jeśli wymagany jest etap debugowania, można użyć polecenia Opcje odtwarzania z menu palety. Na ekranie wyświetlane jest okno dialogowe o tej samej nazwie, w którym można określić szybkość wykonywania makra.


Zawiera szereg parametrów:
Przełącznik Przyspieszony, domyślnie włączony, zapewnia normalną prędkość, która jest całkiem akceptowalna dla poprawnie działającego programu makr.
Przełącznik Krok po kroku zapewnia wykonanie makra krok po kroku, rysując obraz po każdym poleceniu. Tryb ten wymaga od użytkownika dość dużej uwagi, aby mieć czas na zarejestrowanie nieprawidłowych działań.
Przełącznik Pauza na... sekundy pozwala użytkownikowi określić stopień jego uwagi oraz wprowadzić czas opóźnienia w sekundach pomiędzy wykonaniem poleceń.
Pole wyboru Wstrzymaj dla adnotacji dźwiękowej umożliwia wstrzymanie odtwarzania adnotacji dźwiękowej.


EDYCJA MAKROpoleceń


Nagrywanie makropoleceń można uzupełnić ich późniejszą edycją, np. można zmienić kolejność poleceń, dodać nowe polecenia, powtórzyć polecenia, zmienić parametry poleceń, usunąć polecenia.


Bezpośrednio w panelu Akcje możesz przenieść dowolne makropolecenie do innego zestawu. Aby to zrobić należy chwycić linię makro i przeciągnąć ją do żądanego zestawu.W ten sam sposób można zmienić kolejność poleceń w makrze.


Aby nagrać dodatkowe polecenie, należy wybrać polecenie, po którym należy wstawić, a następnie klikając przycisk Nagraj na dole palety, wykonać żądane polecenie lub sekwencję poleceń. Kliknięcie przycisku Stop spowoduje zatrzymanie nagrywania.


Możliwość powtarzania poleceń i makr w palecie Akcje jest bardzo przydatna przy edycji samych makr i tworzeniu na ich podstawie nowych makr.


Polecenie lub makro można powtórzyć na jeden z następujących sposobów:
Po naciśnięciu przycisku możesz chwycić i przeciągnąć żądane polecenie lub makro do nowej pozycji na liście palet;
możesz wybrać polecenie lub makro i wykonać polecenie Powiel z menu palety;
Możesz przeciągnąć nazwę polecenia lub makra na przycisk Nowa akcja na dole palety. Aby podświetlić wiele poleceń, należy użyć klawiszy lub .


Aby zmienić parametry polecenia, wystarczy dwukrotnie kliknąć wiersz poleceń i otworzyć odpowiednie okno dialogowe.


W każdej chwili możesz usunąć całe makropolecenie lub dowolne pojedyncze polecenie zawarte w makropoleceniu.W tym celu na liście makropoleceń zaznacz żądane (dokładniej niepotrzebne) makropolecenie lub polecenie i kliknij przycisk Kosz na dole palety lub wykonaj polecenie Usuń ) menu palety. Obie akcje wyświetlą okno z prośbą o usunięcie i po chwili namysłu możesz kliknąć przycisk OK.


Możesz usunąć polecenie lub makro bez monitu, klikając przycisk Kosz, przytrzymując klawisz.


Po DŁUŻSZYM MYŚLENIU możesz podjąć decyzję o usunięciu wszystkich makropoleceń. W tym celu należy wykonać polecenie Wyczyść akcje z menu palety i potwierdzić swoją decyzję.Jeśli wszystkie akcje utworzone przez użytkownika staną się zbędne, można się ich pozbyć za pomocą polecenia Resetuj akcje z menu palety. Kliknięcie przycisku Dołącz w otwartym oknie dialogowym spowoduje dodanie do panelu zestawu makropoleceń dostarczonych z programem.



Ponieważ nie można w nieskończoność dodawać nowych makr, program umożliwia tworzenie zestawów makropoleceń i zapisywanie ich na dysku w specjalnym pliku z rozszerzeniem .atn.


Pozwala to efektywniej organizować pracę nad różnymi projektami czy różnymi typami obrazów, a także przekazywać je innym użytkownikom, aby zapewnić identyczną obróbkę obrazu. Można zapisywać tylko całe zestawy makropoleceń; nie można zapisywać pojedynczych makr ani poleceń (chyba że tworzą zestaw); nowe makra są automatycznie zapisywane w pliku Actions Palette.psp (w folderze WindowsApplication DataAdobePhotoshopCS2Adobe Photoshop Settings). Kiedy usuniesz ten plik (w celu przywrócenia oryginalnych ustawień programu), zestaw makropoleceń również zostanie usunięty, dlatego całkiem rozsądne jest wcześniejsze zapisanie makr w niezależnym pliku.


Aby utworzyć nowy zestaw makropoleceń należy wykonać polecenie Nowy zestaw z menu palety lub kliknąć przycisk Utwórz nowy zestaw znajdujący się na dole panelu Akcje. W obu przypadkach na ekranie pojawia się okno dialogowe, w którym należy wpisać nazwę zestawu lub zaakceptować zaproponowaną przez program.



Nazwę zestawu można w każdej chwili zmienić wywołując to samo okno dialogowe komendą Set Options.Aby zapisać zestaw makropoleceń wystarczy wybrać żądany zestaw i wykonać komendę Zapisz akcje z menu palety. Wyświetlone zostanie okno dialogowe Zapisz, w którym możesz nazwać zestaw makr (lub pozostawić bieżący) i określić folder przechowywania.


Aby zamienić bieżący zestaw makropoleceń na wcześniej zapisany, należy z menu palety wykonać polecenie Zamień akcje. Aby wczytać nowy zestaw makropoleceń, który zostanie dodany na koniec listy bieżących makropoleceń, należy wykonać polecenie Wczytaj akcje z menu palety.W obu przypadkach na ekranie zostanie wyświetlone okno dialogowe Wczytaj, w którym można wybrać plik z rozszerzeniem .atn.
Na notatce..


Najpopularniejszy wśród projektantów sposób dodawania „akcji” do Photoshopa począwszy od wersji 7 i wyższej jest bardzo prosty: z dowolnego okna Windows plik z rozszerzeniem .ATN jest PRZECIĄGANY do okna Photoshopa, w puste miejsce. Jest od razu „gotowy do spożycia”. Szybki i wygodny.

Główny zestaw narzędzi Microsoft Access, o którym mówiliśmy w poprzednich rozdziałach książki, skierowany jest do użytkowników nieznających języków programowania. Dla programistów narzędzia te zostały uzupełnione o makra(małe programy w języku makr Access) i moduły(procedury w języku Visual Basic for Application, VBA). Za ich pomocą możesz znacznie rozszerzyć funkcjonalność tworzonej aplikacji i dostosować ją do potrzeb konkretnych użytkowników. W tym rozdziale zapoznamy się z jednym z takich narzędzi – makrami oraz jednym z języków programowania Accessa – językiem makro. Wprowadzimy Cię w moduły i język VBA V Ch. 13 ,

Omówimy zatem następujące kwestie:

  • Koncepcja makro
  • Używanie makr w aplikacjach -
  • Tworzenie makr i grup makr
  • Ustawianie warunków sterujących procesem wykonywania makr
  • Różne sposoby uruchamiania makr
  • Wskazówki dotyczące debugowania makr
  • Przetwarzanie zdarzeń w formularzach i raportach z wykorzystaniem makr

Korzystanie z makr w bazie danych Microsoft Access

Za pomocą makr można wykonać niemal wszystkie akcje na obiektach Accessa, które zostały opisane w poprzednich rozdziałach.

Makro w programie Access to struktura składająca się z jednego lub większej liczby makropoleceń, które są wykonywane sekwencyjnie lub w kolejności określonej przez określone warunki. Zestaw makropoleceń w Accessie jest bardzo szeroki, za pomocą makr można zaimplementować wiele z tego, co potrafią procedury w VBA. Każde makro ma określoną nazwę i ewentualnie jeden lub więcej argumentów określonych przez użytkownika. Przykładowo, korzystając z polecenia makra OpenForm, jako argumenty należy podać przynajmniej nazwę formularza do otwarcia i tryb jego wyświetlania na ekranie.

W tabeli 11.1 zawiera listę makropoleceń programu Microsoft Access 2002, pogrupowanych w kategorie: praca z danymi w formularzach i raportach; wykonywanie poleceń, makr, procedur i zapytań; praca z przedmiotami; import/eksport danych i obiektów i inne. Kategoria „Inne” zawiera wszystkie makropolecenia umożliwiające wpływ na interfejs aplikacji.

Kategoria Zamiar Polecenie makro
Praca z danymi w formularzach i raportach Wybór danych Nałóż filtr
Nawigacja po danych NextRecord (FindNext) FindRecord (FindRecord) TOControl (GoToControl) ToPage (GoToPage) ToRecord (GoToRecord)
Odśwież dane lub ekran Ponów zapytanie ShowAllRecords
Wydajność Wykonywanie polecenia Uruchom polecenie (RunComraand)
Wykonaj makro, procedurę lub zapytanie RunMacro (RunMacro) Załusk Programy (RunCode) OpenQuery (OpenQuery) 3anyck 3anpoca SQL (RunSQL)
Uruchamianie innej aplikacji Uruchamianie aplikacji (RunApp)
Przerwij wykonanie Anuluj zdarzenie (CancelEvent) Zatrzymaj wszystkie makra (StopAllMacros) Zatrzymaj makro (StopMacro)
Zamknij program Microsoft Access Zrezygnować
Import Eksport Przesyłanie obiektów Microsoft Access do innych aplikacji Wyjście w formacie (OutputTo) SendObject (SendObject)
Konwersja formatu danych Transfer bazy danych TransferSQLDat abaseTransfer SpreadsheetTransferText
Praca z obiektami Kopiowanie, zmiana nazwy i zapisanie obiektu CopyObject Kopiuj plik bazy danych Zmień nazwę Zapisz
Inni Pokaż lub ukryj wbudowany lub niestandardowy pasek narzędzi. Odtwórz dźwięk. Pasek narzędzi (ShowToolbar) Sygnał (Wentylator)

Tabela 11.1. Polecenia makr programu Microsoft Access 2002

Jak widać z tej tabeli, akcje, które można wykonać za pomocą makr, są bardzo zróżnicowane. Nawet jeśli nie używasz makr w swoich aplikacjach, warto poznać te makra, ponieważ można je wykorzystać również w procedurach VBA, co pokażemy później. (patrz rozdział 13).

W porównaniu do poprzedniej wersji programu Access, w programie Microsoft Access 2002 wprowadzono trzy nowe makropolecenia:

TransferSQLDatabase - przenosi bazę danych Microsoft SQL Server 7.0 i nowszych na inny serwer;

CopyDatabaseFile - kopiuje aktualną bazę danych Microsoft SQL Server 7.0 i nowszą dołączoną do projektu Access;

OpenFunction — wykonuje funkcję zdefiniowaną przez użytkownika w projekcie programu Access. Ta funkcja jest zapytaniem, które przy użyciu parametrów wejściowych zwraca wyniki w taki sam sposób, jak procedura składowana.

Stosowanie makr uzasadnione jest tym, że są one łatwe w tworzeniu i nie wymagają nauki składni języka programowania. Jak pokażemy w następnej sekcji, utworzenie makra wymaga jedynie podstawowej znajomości technik Microsoft Access i Windows, takich jak przeciąganie obiektów z okna Baza danych(Baza danych) w specjalnym oknie - Konstruktor makr(Macro Design), wybranie akcji z listy i wprowadzenie wyrażeń jako argumentów makra. Dlatego jeśli naprawdę nie chcesz uczyć się składni języka VBA lub wydaje Ci się to zbyt trudne, możesz skorzystać z makr, a otrzymasz w miarę funkcjonalną aplikację.

Jak wspomniano powyżej, głównym celem makr jest stworzenie wygodnego interfejsu aplikacji: tak, aby formularze i raporty otwierały się po kliknięciu przycisków w formularzu lub na pasku narzędzi, lub po prostu poprzez wybranie polecenia z menu; dzięki czemu użytkownik otwierając aplikację widzi na ekranie nie okno Baza danych(Baza danych), wypełniona wieloma tabelami, zapytaniami, formularzami i raportami, ale pewną zrozumiałą formą, za pomocą której można od razu wykonać pożądane działania itp.

Za pomocą makr możesz tworzyć wygodne menu i paski narzędzi dla swojej aplikacji, a my opiszemy, jak to zrobić nieco później.

Jednak stosowanie makr ma też pewne wady, o których warto w tym miejscu wspomnieć.

  • Możliwości makropoleceń są ograniczone w porównaniu z możliwościami języka VBA, dlatego w niektórych przypadkach programowanie w VBA nie jest konieczne, chociaż najpierw trzeba mieć pewność, że te dodatkowe możliwości są naprawdę potrzebne. VBA zapewnia większą wydajność pracy z danymi, umożliwiając używanie programowania obiektowego do komunikacji z innymi aplikacjami, wywoływania funkcji z bibliotek ładowania dynamicznego (DLL) systemu Windows i tworzenia własnych, niestandardowych funkcji.
  • Makr można używać niemal wszędzie tam, gdzie używane są procedury VBA, ale procedury VBA zwykle działają szybciej.
  • Makra to obiekty, które istnieją oddzielnie od formularzy i raportów, w których są używane, więc gdy tych obiektów jest dużo, utrzymanie ich jest dość pracochłonne. Procedury zdarzeń VBA są integralną częścią formularzy i raportów, co ma swoje zalety. Na przykład podczas migracji formularzy i raportów z jednej bazy danych do drugiej powiązane z nimi procedury są automatycznie przenoszone wraz z nimi.

Jednak, jak już wspomniano, w wielu przypadkach stosowanie makr jest w pełni uzasadnione, gdyż znacznie upraszcza i przyspiesza tworzenie aplikacji. Makra można wykorzystać do tworzenia małych aplikacji dla jednego użytkownika, chociaż przy tworzeniu aplikacji dla wielu użytkowników lub aplikacji klient-serwer, gdzie szybkość działania aplikacji jest krytyczna, lepiej jest użyć VBA.

Tworzenie makr

Microsoft Access posiada specjalne narzędzie do tworzenia makr - Macro Design. Przyjrzyjmy się procesowi tworzenia makra za pomocą Konstruktora.

Konstruktor makr

Otwórz okno Konstruktor makr(Macro Design) Istnieją dwa sposoby tworzenia nowego makra:

  1. Rozwiń listę makr w oknie Baza danych(Baza danych) klikając lewym przyciskiem myszy na skrót Makra(Makra) i naciśnij przycisk Tworzyć(Nowość) w górnej części okna (ryc. 11.1).
  2. Kliknij strzałkę w dół na przycisku Nowy obiekt(Nowy obiekt) na pasku narzędzi Baza danych(Baza danych) i wybierz element Makro(Makro).

Okno Konstruktora Makr zbudowane jest podobnie jak okno Konstruktora Tabeli, tj. jest podzielone poziomo na dwie części: panel opisów i panel argumentów.

Górna część okna Projektanta - panel opisów - składa się z kilku kolumn. Domyślnie w tym panelu wyświetlane są dwie kolumny: Akcja i Komentarze. Panel opisu umożliwia zdefiniowanie sekwencji makropoleceń składających się na makro.

Wiersz w kolumnie Akcja to pole kombi, z którego możesz wybrać żądaną akcję makra.

Linia w kolumnie Komentarze jest zwykłym polem tekstowym, w którym można wpisać komentarz opisujący wykonywaną akcję.

Po wypełnieniu pola Akcja na dole okna Konstruktora makr pojawi się pasek argumentów, umożliwiający wprowadzenie wartości argumentów dla odpowiedniej akcji makra. Lista pól w tym panelu zależy od wybranego makra i może się nie pojawić, jeżeli makro nie posiada argumentów. Dzięki temu tworząc makra nie trzeba pamiętać listy argumentów każdego makra.

Na ryc. Rysunek 11.1 ilustruje wybór polecenia makra ApplyFilter. W panelu argumentów znajdują się dwa pola umożliwiające ustawienie nazwy filtra i warunku selekcji rekordów. Aby ustawić warunek wybierania rekordów, możesz użyć Konstruktora wyrażeń (Zobacz sekcję „Tworzenie wyrażeń za pomocą Konstruktora wyrażeń”, rozdział 4).

Ryż. 11.1. Konstruktor makr i panel argumentów

Makra tego można użyć w formularzu lub raporcie w celu ograniczenia liczby wyświetlanych rekordów.

Komentarz

Aby szybko przełączać się między panelami opisu i argumentów, podobnie jak podczas pracy z tabelami i zapytaniami w trybie Projektowania, możesz użyć klawisza .

Istnieje inny, bardzo prosty sposób wprowadzenia makra. Załóżmy, że musisz utworzyć makro, które powinno otworzyć formularz „Klienci” w aplikacji Northwind. Aby to zrobić w oknie Baza danych(Baza danych) należy kliknąć na etykietę Formularze(Formularze), następnie korzystając z paska narzędzi (metoda 2) otwórz okno Konstruktor makr(Makro Design) i przeciągnij myszką formularz „Klienci” do pola „Makro” (Akcja) w oknie Macro Designer.

Rada

Aby ułatwić przeciąganie obiektów z okna Bazy danych na formularz, należy wybrać polecenie Okno, sąsiadująco w pionie, aby ułożyć okna obok siebie na ekranie.

Następnie makro polecenie OpenForm automatycznie pojawi się w polu Akcja (rys. 11.2), a pola w panelu argumentów zostaną automatycznie wypełnione: w polu Nazwa formularza pojawi się nazwa formularza „Klienci”, w polu „ Pole Tryb” (Widok) – domyślną wartością jest Forma, w polu „Tryb okna” – wartość Normalna(Normalna). Pozostałe pola pozostaną puste. W tym samym makrze możemy ustawić filtr selekcji rekordów. W tym celu w polu „Nazwa filtra” wpisz nazwę filtra, np. „Menedżerowie sprzedaży”, który zbudowaliśmy podczas badania zapytań (patrz sekcja „Tworzenie żądania z filtra” w Rozdziale 4).

Dodatkowo możesz uniemożliwić wprowadzanie zmian w tym formularzu, w tym celu w polu Tryb danych Należy wprowadzić wartość (Tryb danych). Tylko czytanie(Tylko czytać).

Ryż. 11.2. Automatycznie twórz makra, przeciągając obiekty

Podobnie możesz tworzyć makropolecenia, przeciągając je z okna Baza danych(Baza danych) tabele, zapytania, raporty i inne makra. W takim przypadku w oknie Konstruktora Makr pojawią się odpowiednie makropolecenia: OpenTable (OpenTable), OpenQuery (OpenQuery), OpenReport (OpenReport), RunMacro (RunMacro).

Aby wprowadzić argumenty do makra, najczęściej trzeba wybrać wartości z list lub wprowadzić wyrażenia. Do wprowadzania wyrażeń możesz użyć Konstruktora wyrażeń, którego przycisk znajduje się po prawej stronie pola argumentu. Kolejny przycisk Konstruktora wyrażeń znajduje się na pasku narzędzi. Podobnie jak w innych przypadkach wyrażenie należy poprzedzić znakiem równości (=). Wyjątki stanowią argument Wyrażenie Makro (Wyrażenie) polecenie SetValue (Setvalue) i argument Liczba powtórzeń Polecenia makr (liczba powtórzeń) - RunMacro. Jeśli przed wyrażeniem określającym wartość tych argumentów zostanie wprowadzony znak równości, wyrażenie zostanie ocenione dwukrotnie, co może prowadzić do niepożądanych wyników.

Jeśli chcesz podać nazwę obiektu bazy danych jako argument makra, możesz wpisać ją za pomocą klawiatury, wybrać z listy rozwijanej lub określić nazwę obiektu przeciągając ją z okna bazy danych .

Tak więc utworzone przez nas makro otworzy formularz „Klienci” w trybie tylko do odczytu i wyświetli w nim tylko menedżerów sprzedaży. Jak wspomniano wcześniej, makro może zawierać sekwencję kilku makropoleceń. Dlatego w tym samym makrze w kolejnej linii wybierzemy makro Wiadomości (MsgBox), które po otwarciu formularza wyświetli okno dialogowe z komunikatem o tym, jakich klientów reprezentujemy w formularzu. W tym celu należy wpisać w polu Wiadomość(Wiadomość) w panelu argumentów tekst wiadomości, np. Filtr ustawiony jest na Menedżerowie sprzedaży, pozostałe pola można pozostawić bez zmian. Argument Sygnał(Wentylator) określa, czy komunikatowi będzie towarzyszył sygnał dźwiękowy. Argument Typ(Typ) określa wygląd okna dialogowego wiadomości. Argument Nagłówek(Tytuł) pozwala ustawić tekst, który będzie wyświetlany w tytule okna wiadomości.

Jeżeli baza danych jest duża, zaznaczanie rekordów w formularzu może zająć trochę czasu, dlatego zaleca się wyświetlenie kursora klepsydry sygnalizującego, że dane są przetwarzane. W tym celu posłużymy się poleceniem makro Klepsydra. Makropolecenia w makrze wykonywane są w kolejności, w jakiej zostały zapisane w kolumnie „Makro” (Akcja), czyli od góry do dołu. Na początek należy umieścić polecenie Makro Klepsydra, gdyż przed wyświetleniem formularza musi nastąpić zmiana kursora. Musimy więc wstawić nowy wiersz w panelu opisu. W tym celu należy umieścić kursor w pierwszej linii panelu i nacisnąć przycisk Dodaj linie(Wstaw wiersze) na pasku narzędzi lub po prostu klawiszem . Pojawi się pusta linia. W tej linii, w polu „Makro” (Akcja) wybierz polecenie Makro klepsydry. Pole Klepsydra włączone w panelu Argumenty będzie teraz wyświetlać domyślną wartość Tak, a tego właśnie chcemy. Aby przywrócić pierwotny wygląd wskaźnika myszy, należy na końcu utworzonego makra wpisać tę samą komendę Makro Klepsydra, ale z wartością argumentu Brak Włączyć coś(Włączona klepsydra).

Ściślej mówiąc, lepiej jest umieścić to makropolecenie przed makropoleceniem wyświetlania komunikatu na ekranie. Jest to łatwe do wykonania, ponieważ makropolecenia można łatwo zamieniać za pomocą myszy. Aby zamienić dwa ostatnie makropolecenia, wybierz ostatnią linię, klikając lewym przyciskiem myszy obszar wyboru linii (po lewej stronie w oknie Projekt) i przeciągnij linię w górę. Linia pozioma pokazuje lokalizację nowej pozycji linii. Zwolnij przycisk myszy, gdy ta linia znajdzie się nad przedostatnią linią.

Teraz pozostaje tylko zapisać utworzone makro. Aby to zrobić, możesz wybrać z menu Plik(Plik), polecenie Zapisz jako(Zapisz jako) lub naciśnij klawisz . Pojawi się okno Zapisz makro. W polu wejściowym wprowadź nazwę makra, kierując się zasadami nazewnictwa obiektów Access, np. Menedżerowie sprzedaży.

Komentarz

Microsoft Word i Excel posiadają narzędzia do automatycznego rejestrowania makr. Narzędzia te są bardzo przydatne do nauki języka VBA, ponieważ pozwalają na automatyczne utworzenie procedury poprzez włączenie rejestracji makra, wykonanie niezbędnych czynności i zatrzymanie nagrywania. Następnie wszystkie czynności użytkownika wykonane po włączeniu nagrywania i przed jego zatrzymaniem konwertowane są na tekst procedury VBA. Tekst ten można następnie przeglądać i edytować za pomocą edytora VBA. W programie Microsoft Access nie ma narzędzi do automatycznego rejestrowania makr, podobnie jak nie ma narzędzi do automatycznego generowania kodu VBA (poza tym, który tworzą kreatory).

Tworzenie grup makr

Podczas tworzenia aplikacji przy użyciu makr liczba makr może być bardzo duża. Dlatego ważne jest, aby dobrze zorganizować dostęp do niezbędnych makr. Aby to zrobić w jednym obiekcie Makro(Makro) Można łączyć kilka makr. Przykładowo zaleca się, aby wszystkie makra powiązane ze zdarzeniami w formularzu lub raporcie zostały połączone w osobny obiekt odpowiadający temu formularzowi lub raportowi. Aby było to możliwe, każde makro grupowe musi posiadać własną nazwę oraz nazwę obiektu Makro(Makro) będzie nazwą grupy makr.

Aby utworzyć grupę makr:

  1. Otwórz Kreatora makr, korzystając z jednej z metod opisanych w poprzedniej sekcji.
  2. Naciśnij przycisk Nazwy makr(Nazwa makra) na pasku narzędzi. W panelu opisu w oknie Projektanta pojawi się kolejna kolumna - „Nazwa makra” (rys. 11.3).
  3. W tej kolumnie wpisz nazwę pierwszego makra. Pozostałe pola tej linii lepiej pozostawić puste – ułatwi to przenoszenie i kopiowanie makropoleceń.
  4. Zaczynając od następnego wiersza, wprowadź wszystkie makropolecenia w makrze i odpowiadające im argumenty dla każdego makropolecenia.
  5. Pomiń jedną linię.
  6. Powtórz kroki 3-5 dla każdego makra.

Ryż. 11.3. Tworzenie grupy makr

Na ryc. 11.3 W oknie Projektanta prezentowane jest makro bazy danych „Pracownicy” (Northwind). Aby wskazać koniec makra, nie jest wymagane osobne makro. Program Access kontynuuje wykonywanie makra będącego częścią grupy do momentu napotkania wiersza zawierającego nazwę w kolumnie Nazwa makra lub do ostatniego wiersza okna makra.

Podczas przetwarzania makra puste linie są ignorowane, dlatego przydają się do oddzielania makr w grupie. Technika ta, oprócz wprowadzania komentarzy dla złożonych makr składających się z dużej liczby makr, poprawia czytelność makr.

Aby uruchomić jedno z makr grupy, użyj pełnej nazwy jako odniesienia do makra. Pełna nazwa makra jest utworzona w następujący sposób: NazwaGrupy.NazwaMakro.

Komentarz

Można skonfigurować system tak, aby kolumna Nazwa makra(Nazwa makra) była zawsze wyświetlana w Konstruktorze makr. W tym celu należy ustawić odpowiednie parametry na zakładce Pogląd(Widok) w oknie dialogowym Opcje(Opcje) (patrz sekcja „Konfigurowanie opcji aplikacji Access”, rozdział 14).

Stosowanie warunków w makrach

Podane wcześniej przykłady makr wykorzystywały sekwencyjną kolejność wykonywania makropoleceń. Jednakże, jak w przypadku każdego programu, kolejność wykonywania makropoleceń w makrze może zostać zmieniona. W tym celu wprowadza się warunki wykonywania lub pomijania makropoleceń. Warunki te są określone jako wyrażenia w specjalnej kolumnie, która pojawia się w oknie Projektanta makr po kliknięciu przycisku Warunki(Warunki) na pasku narzędzi (Rys. 11.4).

Komentarz

Podobnie jak w przypadku grup makr, możesz skonfigurować ustawienia systemowe tak, aby ta kolumna zawsze pojawiała się w Projektancie makr.

Ryż. 11.4. Stosowanie warunków w makrach

Na ryc. Rysunek 11.4 przedstawia okno Projektanta dla grupy makr „Customer Label Dialog”, służącej do wydruku raportu w postaci etykiet na kopertach. Co więcej, możesz wydrukować naklejki dla wszystkich klientów jednocześnie lub dla klientów jednego wybranego z listy kraju. W oknie widoczna jest kolumna „Stan”. Jeśli warunek określony w tej kolumnie jest spełniony, zostanie wykonane makro z tego wiersza. Jeśli warunek jest fałszywy, odpowiednie makro zostanie pominięte i wykonane zostanie następne.

Jeżeli chcesz wykonać kilka makropoleceń jednocześnie, gdy warunek jest spełniony, to dla wszystkich makropoleceń oprócz pierwszego, w kolumnie „Warunek” umieszczany jest wielokropek (...). Warunek do sprawdzenia zapisany jest w linii pierwszego makra. Następnie, jeśli jest prawdziwy, wykonywany jest cały zestaw makropoleceń od tego warunku do następnego makropolecenia z podanym warunkiem, do następnego makra lub do końca makra. Jeśli warunek jest fałszywy, wszystkie polecenia oznaczone wielokropkiem, łącznie z makropoleceniem z określonym warunkiem, zostaną pominięte. Następnie wykonywane jest makropolecenie następujące po pominiętych, które zawiera nowy warunek lub pole „Warunek” nie jest wypełnione. Zatem w przeciwieństwie do „większości języków programowania, w makrach nie ma alternatywnych rozgałęzień. Aby utworzyć makro z dwiema alternatywnymi gałęziami, należy najpierw wprowadzić warunek i zdefiniować makra, które zostaną wykonane, gdy ten warunek zostanie spełniony. Zaraz po nich należy podać warunek odwrotny i zdefiniować makropolecenia wykonywane w gałęzi alternatywnej. Następnie możesz wprowadzić makropolecenia, które będą wykonywane bezwarunkowo. Tę metodę rozgałęziania stosuje się np. w makrze „Podgląd”, które jest powiązane z przyciskiem Pogląd(Podgląd) w tej formie. Jeśli użytkownik wybrał opcję dla wszystkich krajów(Kraje AN), która jest określana na podstawie wartości 1 kontroli Drukowanie naklejek(PrintLabelFor), raport zostanie otwarty w trybie podglądu, a formularz zostanie zamknięty. Jeśli wybrano przycisk radiowy dla konkretnego kraju(Określony kraj)”, a kraj nie jest wybrany (wartość pola kombi „Wybierz kraj” nie jest ustawiona), wyświetli się komunikat, fokus zostanie ustawiony na polu kombi wyboru kraju, a wykonywanie makra zostanie zatrzymane. W przypadku określenia kraju wyświetli się raport dla wybranego kraju i formularz zostanie zamknięty.

To makro używa polecenia makra StopMacro. Umożliwia zatrzymanie wykonywania makra, a wszystkie makropolecenia następujące po poleceniu makra StopMacro nie zostaną wykonane.

Komentarz

Używanie polecenia makra StopMacro ma sens tylko wtedy, gdy po nim następują inne makropolecenia, które pod pewnymi warunkami nie powinny być wykonywane. Jak wspomniano powyżej, nie jest wymagane żadne specjalne makro, aby wskazać koniec makra.

Uruchamianie i debugowanie makr

Istnieje wiele sposobów uruchamiania makr. Wśród nich znajdują się metody bezpośrednie, gdy makro jest uruchamiane bezpośrednio przez użytkownika. Metody te są powszechnie stosowane podczas testowania makr. Po debugowaniu makra utwórz specjalne polecenie menu lub przycisk na pasku narzędzi albo powiąż makro z jakimś zdarzeniem w formularzu lub raporcie. W tej sekcji przyjrzymy się wszystkim możliwym sposobom uruchomienia makra.

Uniwersalnym sposobem uruchomienia makra jest skorzystanie z polecenia menu (Narzędzia, Makro, Uruchom makro) (ryc. 11.5).

W oknie dialogowym pojawiającym się po wybraniu tego polecenia należy podać (wprowadzić lub wybrać z listy) pełną nazwę makra, tj. nazwę grupy, nazwę makra (rys. 11.6). Ta metoda pozwala na wykonanie makra z dowolnego aktywnego okna, czy to okna makra, okna bazy danych, czy też np. Projektanta formularzy.

Ryż. 11,5.

Ryż. 11.6. Okno dialogowe Uruchamianie makra

Uruchamianie makra z okna Projektanta makr

Metoda ta służy do testowania nowo utworzonego lub poprawionego makra. Jeżeli w oknie Konstruktora makr znajduje się tylko jedno makro, to aby je uruchomić wystarczy kliknąć przycisk Początek(Uruchom) na pasku narzędzi lub wybierz polecenie Uruchom, krok po kroku(Uruchom, pojedynczy krok) (ta druga metoda pozwala na debugowanie makra). Jeśli jednak makr jest kilka, to za pomocą tego przycisku lub polecenia można uruchomić tylko pierwsze makro w grupie. Aby uruchomić dowolne inne makro z grupy należy skorzystać z polecenia menu Usługa, Makro, Uruchom makro(Narzędzia, Makro, Uruchom makro).

Jeśli często korzystasz z tej metody uruchamiania makra, warto dostosować pasek narzędzi, dodając do niego standardowy przycisk Początek(Uruchom makro). Jest to równoznaczne z wykonaniem polecenia menu Usługa, Makro, Uruchom makro(Narzędzia, Makro, Uruchom makro). (Aby dostosować paski narzędzi, zobacz sekcję „Tworzenie i modyfikowanie pasków narzędzi”, rozdział 14.)

Uruchamianie makra z okna bazy danych

Aby uruchomić makro z okna Baza danych(Baza danych), kliknij etykietę Makra(Makra) w panelu obiektów znajdź żądane makro na liście i kliknij je dwukrotnie przyciskiem myszy lub kliknij przycisk Początek(Uruchom) na pasku narzędzi okna Baza danych. Ostatnia metoda jest odpowiednia tylko wtedy, gdy wybrany obiekt zawiera jedno makro. W przeciwnym razie należy zastosować uniwersalną metodę wykonania makra opisaną powyżej.

Komentarz

Jeżeli warunki lub argumenty makra zawierają odniesienia do obiektów Access - formularzy, raportów itp. - należy je otworzyć przed uruchomieniem makra, w przeciwnym razie zostaną wygenerowane komunikaty o błędach.

Uruchamianie makra za pomocą przycisku na pasku narzędzi

Bezpośrednie metody uruchamiania makr są proste, ale nie najszybsze. Są wygodniejsze i szybsze sposoby. Z naszego punktu widzenia najwygodniejszym sposobem uruchomienia makra jest utworzenie specjalnego przycisku na pasku narzędzi. To prawda, że ​​\u200b\u200bw programie Access istnieje wiele standardowych pasków narzędzi, a odpowiednie panele pojawiają się na ekranie w różnych trybach pracy. Dlatego najrozsądniej jest stworzyć specjalny pasek narzędzi, na którym będziesz mógł umieścić wszystkie niezbędne przyciski. Jednak operacja dodania niestandardowego przycisku do standardowego paska narzędzi jest niezwykle prosta.

Aby dodać przycisk do standardowego paska narzędzi Access:

  1. Kliknij prawym przyciskiem myszy pasek narzędzi i wybierz polecenie z menu kontekstowego Ustawienia(Dostosuj).
  2. Ustawienia(Dostosuj) rozwiń kartę Paski narzędzi(Paski narzędzi).
  3. Zaznacz na przykład pole wyboru jednego ze standardowych pasków narzędzi Zapytanie w widoku tabeli(Zapytanie arkusza danych), aby pojawił się na ekranie.
  4. Zamknij okno dialogowe Ustawienia(Dostosuj), klikając przycisk Zamknąć(Zamknąć).
  5. Kliknij skrót Makra Baza danych(Baza danych) i znajdź potrzebne makro.
  6. Przeciągnij makro myszką na pasek narzędzi Żądanie w trybie tabele (Arkusz danych zapytania).

Ryż. 11.7. Tworzenie przycisku paska narzędzi umożliwiającego uruchomienie makra

Komentarz

Jeżeli głównym trybem pracy Twojej aplikacji jest praca z formularzami, na pasku narzędzi możesz umieścić przyciski umożliwiające wykonywanie makr Tryb formularza(Widok formularza).

Aby usunąć z ekranu pasek narzędzi, do którego właśnie dodano przycisk, kliknij prawym przyciskiem myszy w obszarze pasków narzędzi i na liście standardowych pasków poleceń odznacz pole po lewej stronie nazwy panelu (rysunek 11.8).

Ryż. 11.8. Menu kontekstowe z listą pasków poleceń

Przyjrzyjmy się teraz tworzeniu specjalnego paska narzędzi i umieszczeniu na nim przycisku wywołania makra.

  1. Kliknij skrót Makra(Makra) na panelu obiektów w oknie Baza danych(Baza danych) i wybierz żądane makro.
  2. Wybierz polecenie (Narzędzia, Makro, Utwórz pasek narzędzi z makra). Na ekranie pojawi się pusty pasek narzędzi.
  3. Przeciągnij żądane makro na ten panel za pomocą myszy.

Na panelu pojawi się przycisk ze znaną już ikoną makra. Przycisk otrzymuje taką samą nazwę jak nazwa makra, dla którego został utworzony.

Jeżeli zachodzi potrzeba stworzenia paska narzędzi umożliwiającego wywołanie kilku makr, zalecamy połączenie tych makr w jedną grupę (tworzenie grupy makr zostało opisane w poprzednim rozdziale). Następnie podczas wykonywania polecenia menu Narzędzia, Makro, Utwórz pasek narzędzi z makra(Narzędzia, Makro, Utwórz pasek narzędzi z makra) zostanie utworzony pasek narzędzi, na którym każde makro w grupie będzie miało swój własny przycisk. W takim przypadku na przyciskach wyświetlane są nazwy odpowiednich makr. Nowy pasek narzędzi otrzymuje taką samą nazwę jak nazwa grupy makr. Spróbuj uruchomić to polecenie dla jednej z grup makr w bazie danych Northwind, takiej jak Klienci. W razie potrzeby możesz zastąpić tekst na przyciskach ikonami. Dodatkowe informacje na temat dostosowywania pasków narzędzi aplikacji, a w szczególności usuwania przycisków z paneli oraz usuwania samych paneli, zmiany wyglądu tych przycisków, znajdują się w

Uruchamianie makra za pomocą polecenia menu

Innym powszechnym sposobem uruchomienia makra jest uruchomienie go za pomocą specjalnie stworzonego w tym celu polecenia menu. Metody tworzenia poleceń menu do uruchamiania makr są bardzo podobne do metod tworzenia przycisków paska narzędzi. Możesz na przykład użyć do tego polecenia menu Usługa, Makro, Utwórz menu z makra(Narzędzia, Makro, Utwórz menu z makra).

Tworzenie i konfigurowanie niestandardowych menu zostało omówione bardziej szczegółowo w Sekcja „Tworzenie i modyfikowanie paneli poleceń” rozdz. 14. Dlatego w tej sekcji nie będziemy rozważać tworzenia poleceń menu z makra.

Uruchom makro za pomocą skrótu klawiaturowego

Możesz przypisać skrót klawiaturowy do uruchomienia makra. Aby to zrobić, musisz utworzyć specjalną grupę makr - „AutoKeys”. Ta grupa makr musi, dla każdej przypisanej kombinacji klawiszy, zawierać polecenie makra umożliwiające uruchomienie odpowiedniego makra. Przykład grupy makr „AutoK”eys podano w bazie danych Northwind. Otwórz tę grupę makr w trybie projektowania. Zawiera jedno makro (ryc. 11.9). Nazwa makra jest zapisem skrótu klawiaturowego +

Samo makro składa się z jednego polecenia makro, RunMacro, które uruchamia makro „Telefony klientów. Drukuj” (Lista telefonów klientów.Drukuj). Makro „AutoKeys” przeglądane jest każdorazowo po wprowadzeniu przez użytkownika specjalnej kombinacji klawiszy, np.: +

Jeśli wprowadzona kombinacja klawiszy zostanie znaleziona w „AutoKeys”, zostanie uruchomione odpowiednie makro.

Ryż. 11.9. Przykład makra AutoKeys

Ta metoda uruchamiania makra jest z pewnością najszybsza, ma jednak istotną wadę: dostępnych jest bardzo niewiele kombinacji klawiszy. I chociaż kombinacje zdefiniowane w „AutoKeys” mają wyższy priorytet niż te standardowe (np. +- kopia), nie zaleca się zastępowania standardowego przypisania kombinacji klawiszy. Dozwolone kombinacje klawiszy podano w tabeli. 11.2. Kombinacje klawiszy w tym przypadku nie są one używane, ponieważ służą do uruchamiania poleceń menu i naciskania przycisków.

Tabela 11.2. Dozwolone kombinacje klawiszy

Uruchom makro podczas otwierania bazy danych

Po otwarciu bazy danych programu Microsoft Access mogą wystąpić określone działania. Najczęściej jest to otwarcie specjalnego formularza tzw. Main Button Form, wyświetlenie specjalnych menu lub pasków narzędzi, ukrycie standardowych menu itp. Do określenia tych akcji służy okno dialogowe Parametry uruchomienia(Uruchomienie). Czasami jednak podczas uruchamiania aplikacji konieczne jest wykonanie bardziej złożonego zestawu działań niż te, które można określić w tym oknie dialogowym. Na przykład możesz chcieć otworzyć niektóre formularze z wyprzedzeniem (bez pokazywania ich na ekranie), aby ich późniejsze wyświetlenie nie trwało zbyt długo, sprawdzić niektóre warunki lub wyświetlić monit o wprowadzenie pewnych danych. Wszystko to można zrobić za pomocą specjalnego makra o nazwie „AutoExec”. Po otwarciu bazy danych program Access sprawdza obecność tego makra i, jeśli istnieje, uruchamia je. Tworząc makro „AutoExec” należy pamiętać, że Access najpierw wykona akcje zdefiniowane w oknie Parametry uruchomienia(Uruchamianie), a następnie makro „AutoExec”, więc nie powinny mieć sprzecznych działań.

Uruchamianie makra z innego makra

Czasami trzeba wywołać makro z innego makra. Można to zrobić za pomocą polecenia makra UruchomMakro. Z tym makro spotkaliśmy się już przy opisywaniu makra AutoKeys. Należy w tym miejscu zaznaczyć, że to makropolecenie posiada trzy argumenty: oprócz nazwy makra podana jest liczba powtórzeń makropolecenia oraz warunek powtórzenia. Zatem to makro pozwala organizować pętle. Argument Liczba powtórzeń(Repeat Count) określa liczbę wywołań makr. Argument Powtórz warunek Wyrażenie powtórzone to wyrażenie, które może być prawdziwe lub fałszywe. Przed wykonaniem makra RunMacro sprawdzana jest wartość tego wyrażenia. Jeżeli ma wartość True, to makro jest wykonywane, jeśli Fałsz, to makro nie jest wykonywane, a sterowanie przekazywane jest do kolejnego makra. Jeżeli te dwa argumenty nie zostaną podane, makro zostanie wykonane tylko raz. Jeśli zostaną określone oba te argumenty, pętla wywołań zakończy się, gdy makro zostanie wykonane określoną liczbę razy lub gdy określony warunek nie powiedzie się i zwróci wartość False.

Komentarz

Nazwa makra w argumencie komendy makro UruchomMakro musi być w pełni kwalifikowana, czyli musi mieć postać NazwaGrupy. Nazwa makra, nawet jeśli wywoływane makro znajduje się w tej samej grupie co wywołujący. Jeśli warunek powtarzania zostanie ustawiony w taki sposób, aby zawsze był prawdziwy, wówczas pętla będzie nieskończona. Możesz je przerwać za pomocą skrótu klawiaturowego +. Jeśli to nie pomoże, będziesz musiał przerwać dostęp, naciskając kombinację klawiszy ++.

Przypisywanie makra do zdarzenia

Najczęstszym zastosowaniem makr w aplikacji programu Access jest obsługa zdarzeń. Wydarzenie - jest to dowolne działanie, które obiekt rozpoznaje i można określić reakcję obiektu na zdarzenie. Zdarzenia powstają w wyniku działań użytkownika, wykonania instrukcji VBA lub są generowane przez system. Przykładem zdarzenia jest wyświetlenie formularza, raportu, wprowadzenie danych do pola tekstowego czy naciśnięcie przycisku lub klawisza myszy. Każdemu z tych zdarzeń można przypisać makro lub procedurę VBA, która zostanie automatycznie wykonana w odpowiedzi na zdarzenie. Prawie całe programowanie w Accessie sprowadza się do pisania makr lub procedur przetwarzających zdarzenia, czyli programowania reakcji obiektów na zdarzenia. Istnieje wiele różnych rodzajów zdarzeń, na które reagują obiekty, i często nie występuje jedno, ale cała sekwencja zdarzeń. Dlatego podjęcie decyzji, do którego zdarzenia przypisać utworzone makro lub procedurę VBA, wymaga pewnych umiejętności. Wszystkie subtelności tego wyboru zostaną omówione w rozdz. „Programowanie w formularzach i raportach” rozdz. 13 . Tutaj opiszemy jedynie sposób przypisania makra do zdarzenia i podamy przykłady obsługi zdarzeń za pomocą makr.

Zacznijmy od najprostszego. Otwórzmy formularz „Klienci” w bazie „Northwind”. W tym formularzu wyświetlane są informacje o kliencie. Załóżmy, że chcielibyśmy zobaczyć nie tylko te informacje, ale także dane o produktach zakupionych przez klienta. Byłoby miło stworzyć przycisk Zamówienia klientów, po kliknięciu wyświetli się formularz „Zamówienia” zawierający zamówienia tylko od klienta aktualnie wybranego w formularzu „Klienci”. Aby uzyskać to co chcemy, utwórzmy makro, które zostanie wykonane w momencie wystąpienia zdarzenia Naciśnięcie przycisku(Po kliknięciu) w formularzu „Klienci”.

Aby utworzyć makro definiujące opisaną reakcję aplikacji na zdarzenie Naciśnięcie przycisku(Na kliknięcie):

  1. Otwórz formularz Klienci w trybie projektowania.
  2. Utwórz przycisk w obszarze tytułowym formularza. W takim przypadku należy zwolnić przycisk kreatora na pasku narzędzi, gdyż w przeciwnym razie zostaniemy poproszeni o utworzenie procedury zdarzenia, a nie makra.
  3. Otwórz okno właściwości nowo utworzonego przycisku, jeśli nie jest jeszcze otwarte, i rozwiń zakładkę Wydarzenia(Wydarzenie).
  4. Zwróć uwagę, ile różnych zdarzeń jest powiązanych z samym przyciskiem polecenia. Oprócz zwykłego kliknięcia, którego będziemy teraz używać, zestaw zdarzeń przycisku obejmuje uzyskanie i utratę fokusu, dwukrotne kliknięcie przycisku myszy, zwykłe przesunięcie wskaźnika myszy nad przyciskiem itp. Ta różnorodność zdarzeń daje programiście świetne możliwości możliwości stworzenia wygodnego interfejsu użytkownika. Teraz znajdź wydarzenie na liście Naciśnięcie przycisku(Po kliknięciu) i umieść kursor w odpowiedniej komórce. To jest pole kombi i jest obecnie puste. Jeśli otworzysz tę listę, jej pierwszym elementem będzie (), a następnie pojawi się lista wszystkich makr istniejących w aplikacji (ryc. 11.10).
  5. Ponieważ potrzebnego makra nie ma na liście, utwórzmy je. W tym celu należy kliknąć przycisk Konstruktor znajdujący się po prawej stronie pola. Pojawi się okno Budowniczy(Wybierz Konstruktora), który poprosi Cię o wybranie jednego z trzech Konstruktorów: Wyrażenia(Konstruktor wyrażeń) Makra(Kreator makr) i Programy(Kreator kodu) (ryc. 11.11).
  6. Wybierać Makra(Kreator makr) i kliknij przycisk OK. Otworzy się okno makra oraz okno dialogowe, w którym należy wpisać nazwę makra, które ma zostać utworzone. Wprowadź nazwę Zamówienia sprzedaży.

Ryż. 11.10. Okno dialogowe Właściwości przycisku

Ryż. 11.11. Okno dialogowe Sekwencja przejścia

  1. Do makra należy dodać pojedyncze polecenie makra, OpenForm. Wartości argumentów tego makra podano w tabeli. 11.Z.

Tabela 11.3. Wartości argumentów makro Otwórz formularz

Argument Tryb(Widok) określa tryb, w jakim formularz powinien zostać otwarty. Może przyjmować następujące wartości: Formularz(Formularz), Konstruktor(Projekt), Pogląd(Podgląd wydruku), Tabela(arkusz danych) Stół obrotowy(tabela przestawna) i Wykres przestawny(wykres przestawny). Argument Warunek wyboru(Warunek) określa warunek wyboru rekordów wyświetlanych w formularzu. Warunek jest wyrażeniem. W tym przypadku wyrażenie to zawiera odwołanie do kontrolki Kod klienta(KlientD) w formularzu „Klienci”, co umożliwia wybranie wszystkich rekordów z tabeli „Zamówienia”, w których identyfikator klienta jest równy wartości określonej w polu „CustomerID” formularza „Klienci”. (Aby uzyskać więcej informacji na temat używania odniesień w makrach i wyrażeniach, zobacz sekcję „Używanie makr” w tym rozdziale.) Argument Tryb danych(Tryb danych) określa sposób pracy z danymi i może przyjmować jedną z następujących wartości: Dodatek(Dodać) Zmiana(Edycja) lub Tylko czytanie(Tylko czytać). I na koniec argumentacja Tryb okienkowy(Tryb okna) określa typ okna: Normalna(Normalna) Niewidzialny(Ukryty) Ikona(Ikona) i Okno dialogowe(Dialog).

  1. Zamknij okno makra i zapisz zmiany. W oknie właściwości przycisku w polu Naciśnięcie przycisku(Po kliknięciu) pojawi się nazwa makra „Zamówienia klienta”.
  2. Rozwiń zakładkę Układ (Format) i wpisz w polu Podpis Nazwa przycisku (Podpis): Zamówienia klientów. Zalecane jest wpisanie w polu tej samej nazwy Nazwa Zakładka (Nazwa). Inny(Inny).

Teraz pozostaje już tylko przejść do trybu Formularzy i sprawdzić jak makro przetwarza zdarzenie Naciśnięcie przycisku(Na kliknięcie). Jeśli nigdzie się nie pomyliłeś, na ekranie powinieneś zobaczyć obraz podobny do pokazanego na ryc. 11.12.

Ryż. 11.12. Formularz „Zamówienia”

Jednak nie wykonaliśmy jeszcze wszystkich niezbędnych kroków. Jeżeli w formularzu „Klienci” przejdziecie do kolejnego rekordu, dane w formularzu „Zamówienia” nie będą już poprawnie odzwierciedlać sytuacji – nie ulegają one zmianie. Należy zadbać o to, aby dane te zmieniały się synchronicznie z przejściem do innych rekordów w formularzu „Klienci” lub aby to okno po prostu się zamykało. Rozważmy realizację drugiej opcji. Formularz Zamówienia otwiera się po kliknięciu przycisku Zamówienia klientów, i staje się aktywny. Należy je zamknąć, gdy formularz „Klienci” stanie się aktywny. W tym celu należy wybrać odpowiednie zdarzenie i ustawić procedurę lub makro do jego przetwarzania. Jeśli otworzysz okno Nieruchomości(Właściwości) z „Klienci” i rozwiń zakładkę Wydarzenia(Wydarzenie), wówczas wśród wielu wydarzeń zobaczysz wydarzenie Włączenie(Po włączeniu). Właśnie takiego wydarzenia potrzebujemy. Wybierzmy to zdarzenie, ale teraz nie będziemy tworzyć nowej grupy makr, ale dodamy nowe makro do grupy makr „Klienci”, która zawiera już makra dla formularza „Klienci”. Wybierz tę grupę makr z listy rozwijanej i kliknij przycisk Konstruktor. Otworzy się okno pokazujące dwa makra. Dodajmy do nich jeszcze jedno makro. Nazwijmy to „Zamknięciem” i wprowadźmy makro polecenie Zamknij z odpowiednimi parametrami (tabela 11.4). Ale przed zamknięciem formularza musisz sprawdzić, czy jest on otwarty. W tym celu skorzystamy z funkcji isLoaded, która zwraca True jeśli formularz jest otwarty, a False w przeciwnym razie. Należy przekazać nazwę formularza jako argument do funkcji isLoaded. Zatem w kolumnie Stan(Warunek), obok polecenia makro Zamknij wpisz IsLoaded („Zamówienia”) (lub IsLoaded („Zamówienia”)).

Argument Oznaczający
Rodzaj obiektu Formularze
Nazwa obiektu Zamówienia
Ratować NIE

Tabela 11.4. Zamknij wartości argumentów makro

Argument Ochrona Zapisz umożliwia określenie, czy program Access wyświetla okno dialogowe podczas zamykania formularza w celu potwierdzenia zapisania zmienionych danych. Ponieważ formularz Zamówienia otworzyliśmy w trybie tylko do odczytu, zmiana danych jest zabroniona, dlatego temu argumentowi należy nadać wartość NIE(NIE). Gotowe makro pokazano na rys. 11.13.

Zamknij okno makra i zapisz zmiany. Zmień nazwę makra przypisanego do zdarzenia Włączenie(Po włączeniu). W tym celu wybierz z listy lub wpisz nazwę Klienci. Zamknij i naciśnij klawisz . Teraz zapisz formularz, przejdź do trybu Formularze i sprawdź, jak działają utworzone przez Ciebie makra.

Ryż. 11.13. Makro zamykające formularz

Wywoływanie makra z procedury VBA

Jak już powiedzieliśmy, procedury i makra VBA w Accessie są podobnymi obiektami i często są wymienne, to znaczy zamiast makra można użyć procedury VBA i odwrotnie. Istnieją sposoby uruchomienia makra z procedury VBA, uruchomienia procedury VBA z makra, a program Access umożliwia przekonwertowanie makra na procedurę VBA. Transformację tę opisano w Sekcja „Konwertowanie makr na procedury VBA” w tym rozdziale.

Aby uruchomić procedurę VBA z makra, służy specjalne polecenie makra RunProgram(KipCode). To makro przyjmuje jeden argument, nazwę procedury do wywołania, chociaż można wywołać tylko funkcję, a nie podprogram.

Aby uruchomić makro z procedury VBA należy skorzystać ze specjalnej metody RunMacro obiektu DoCmd, na przykład:

DoCmd.RunMacro "Makro!"

Obiekt DoCmd jest używany w procedurze VBA do wykonywania makr programu Access. W tym przypadku należy podać angielską nazwę wymaganego makra jako Metodę obiektu DoCmd, np. linię procedury

DoCmd.OpenForm „Klienci”

umożliwia otwarcie formularza „Klienci”. Tutaj „Klienci” są makroargumentem. Argumenty są wymienione w klauzuli DoCmd, oddzielone przecinkami. Większość makropoleceń można wykonać w ten sposób.

Przyjrzymy się tworzeniu procedur VBA poniżej, w Ch. 13.

Debugowanie makr i wyszukiwanie błędów

Zazwyczaj debugowanie makra odbywa się w trybie krok po kroku. Aby włączyć ten tryb, należy nacisnąć przycisk Krok po kroku(Pojedynczy krok) na pasku narzędzi w oknie Projektanta makr lub wybierz polecenie menu Uruchom, krok po kroku(Bieg, pojedynczy krok). Następnie przed wykonaniem każdego makropolecenia pojawi się okno dialogowe (Macro Single Step) (rys. 11.14).

W tym oknie wyświetlana jest nazwa makra, nazwa wykonywanego polecenia makro, warunek jego wykonania i argumenty. W tym samym czasie na polach Stan(Stan) i Argumenty(Argumenty) widoczne są wartości wyrażenia warunkowego i argumenty makra. Jeżeli w linii makra nie określono warunku, pole Warunek zawsze będzie zawierało wartość PRAWDA(PRAWDA). Przyciski znajdujące się po prawej stronie pól w tym oknie pozwalają na wykonanie kolejnego makropolecenia, przerwanie wykonywania makra (np. jeśli jest jasne, że argumenty zostały błędnie obliczone) i kontynuowanie wykonywania w dotychczasowym trybie, tj. , a nie krok po kroku.

Ryż. 11.14. Okno dialogowe Wykonanie makra krok po kroku

Jeśli podczas uruchamiania makra wystąpi błąd, pojawi się okno dialogowe Błąd wykonania makra(Akcja nie powiodła się), podobnie jak w oknie Wykonanie makra krok po kroku(Makro Single Step), ale bez możliwości kontynuacji procesu (przyciski Krok(Krok) i Kontynuować(Kontynuuj) nie są dostępne). Wykonywanie makra można przerwać jedynie poprzez naciśnięcie przycisku Anulować(Postój). W oknie wyświetli się makro zawierające błąd.

Znalezienie błędów w makrach z reguły nie sprawia większych trudności. Dzieje się tak dlatego, że:

  • większość błędów składniowych jest sprawdzana podczas wpisywania i system po prostu nie pozwoli na wprowadzenie błędnej nazwy makropolecenia lub wyrażenia warunkowego (nie zabezpieczy jednak przed wprowadzeniem błędnej nazwy obiektu, np. nie- istniejący formularz lub kontrola w formularzu);
  • makra są zwykle dość proste i nie zawierają długich sekwencji makropoleceń, w przeciwnym razie lepiej jest napisać procedurę w VBA, ponieważ język VBA zapewnia więcej funkcji i ma znacznie lepsze narzędzia do debugowania.

Główne błędy występujące w makrach wynikają z nieprawidłowego wprowadzenia nazw obiektów, przez co program Access nie może znaleźć odpowiedniego obiektu, lub z braku dostępu do obiektów, do których odwołuje się makro, na przykład z nieotwartego formularza. Dlatego w przypadku wystąpienia błędu należy w pierwszej kolejności sprawdzić, czy nazwy obiektów zostały wpisane poprawnie oraz czy otwarte są formularze użyte w warunkach lub argumentach makropoleceń.

Rada

Przed użyciem odwołań do formularza lub kontrolki zaleca się sprawdzenie, czy formularz jest otwarty, za pomocą funkcji isLoaded(). Niestety, ta funkcja nie jest standardową funkcją Access, ale zwykle jest zawarta w module Utility Function bazy danych Northwind. Możesz go stamtąd skopiować do swojej bazy danych.

Standardową techniką debugowania zarówno procedur, jak i makr jest wyświetlanie na ekranie specjalnych komunikatów informujących o przejściu określonych etapów procesu. W makrach odbywa się to poprzez wstawienie dodatkowych makropoleceń Message Output (MsgBox), aby wyświetlić takie komunikaty. Ponadto w komunikacie możesz wyświetlić wartości właściwości elementów kontrolnych, np.: „Cena produktu = ” & Formularze!Produkty!Cena

Możesz łatwo wyłączyć wyświetlanie komunikatów debugowania, wpisując wartość Fałsz w kolumnie „Warunek” obok odpowiednich makropoleceń.

Inną standardową techniką jest ustawianie punktów przerwania. Służy do zatrzymania wykonywania makra w określonym momencie, aż do zakończenia procesu. Aby to zrobić, użyj polecenia makra StopMacro. Makro będzie wykonywane do momentu użycia polecenia makro StopMacro, po czym będzie można sprawdzić rezultaty. W ten sposób możliwe jest zlokalizowanie błędu z dokładnością do makroinstrukcji.

Korzystanie z makr

Makra mogą być wykorzystywane do rozwiązywania różnorodnych problemów. W pierwszej części tego rozdziału udostępniliśmy tabelę makropoleceń pogrupowanych według kategorii. Przyjrzyjmy się teraz zastosowaniu makropoleceń w niektórych kategoriach.

Praca z danymi w formularzach i raportach

Ta kategoria zawiera zestaw makropoleceń, które pozwalają wybierać dane, nawigować po danych i aktualizować dane w formularzach. Zanim przejdziemy do przykładów wykorzystania makr, pokażemy Ci, jak wykorzystać linki do formularzy, raportów i kontrolek w argumentach i warunkach makr, ponieważ takie linki są używane bardzo często.

Linki do formularzy, raportów i ich właściwości

Aby utworzyć łącze do formularza lub raportu, należy najpierw określić, do której kolekcji należy obiekt, do którego następuje łącze. (Więcej informacji o rodzinach i ich obiektach składowych można znaleźć w rozdziale 13) Wszystkie otwarte formularze znajdują się w rodzinie Formularze, a otwarte raporty są zawarte w rodzinie Raporty. Pełny link do formularza lub raportu musi składać się z dwóch części: FamilyName!ObjectName. Ponadto, jeśli nazwa obiektu zawiera spacje lub znaki specjalne, należy ją ująć w nawiasy kwadratowe. Jeżeli w nazwie nie użyto spacji, nawiasy można pominąć. Zatem link do formularza będzie wyglądał następująco: Formularze![Zamówienia klientów] LUB Formularze!Klienci W przypadku raportu linki wyglądają podobnie:

Raporty! [Raport sprzedaży] LUB Raporty!Cennik Odniesienie do właściwości formularza lub raportu składa się z trzech części: Nazwa rodziny!Nazwa obiektu.Nazwa właściwości Na przykład:

Formularze!Klienci.Widoczni lub Raporty![Sprzedaż za okres].MenuBar Właściwość Wyjście na wyświetlaczu(Widoczny) określa, czy formularz będzie widoczny na ekranie, czy ukryty, oraz właściwość Menu(MenuBar) umożliwia powiązanie specjalnego menu z raportem lub formularzem.

Linki do kontrolek formularzy i raportów oraz ich właściwości

Aby utworzyć odwołanie do kontrolki lub jej właściwości, należy określić jej nazwę. Jeżeli nazwa zawiera spacje, jest ona ujęta w nawiasy kwadratowe. Odwołanie do kontrolki w formularzu lub raporcie składa się z trzech części:

FamilyName!ObjectName!ElementName

Formularze![Zamówienia klientów]![Numer zamówienia]

Raporty![Sprzedaż za okres]![Kwota]

Nazwa rodziny!Nazwa obiektu!Nazwa elementu.Nazwa właściwości

Na przykład:

Formularze![Zamówienia klientów]![Numer zamówienia].Włączone

Nieruchomość Dostęp(Włączone) pozwala na odmowę lub zezwolenie na dostęp do kontroli.

Obiekt może mieć właściwość domyślną. Ta właściwość jest używana, gdy nazwa właściwości nie jest jawnie określona w odwołaniu. Na przykład domyślną właściwością kontrolek jest Oznaczający(Wartość), więc link do Formularzy! Dobra! Cena umożliwia dostęp do wartości wyświetlanej w polu tekstowym Cena.

Linki do podformularzy i raportów

Do podformularza lub raportu można odwoływać się tak samo, jak do każdej innej kontrolki, ponieważ podformularze i podraporty są typami kontrolek. Na przykład:

Formularze! Zamówienia! PodformularzProdukty

W tym przypadku SubformProducts to nazwa kontrolki w formularzu Zamówienia, który jest podformularzem.

Natomiast link do elementu kontrolnego w podformularzu lub raporcie ma specjalną strukturę: po nazwie elementu kontrolnego będącego podformularzem należy najpierw podać specjalną właściwość: Formularz – dla formularzy lub Raport – dla raportów, a następnie nazwa elementu sterującego, na którym znajduje się łącze:

Formularze!Zamówienia!ProduktyPodformularz.Formularz![Kod produktu]

Filtrowanie rekordów w formularzach, raportach, tabelach

Przejdźmy do przykładów wykorzystania makropoleceń Accessa. Aby wybrać rekordy w formularzach, raportach i tabelach, użyj polecenia makra ApplyFilter. Filtr możesz ustawić na dwa sposoby: albo podając w argumencie nazwę wcześniej utworzonego filtru Nazwa filtra(Nazwa filtra) lub bezpośrednio określając warunek wyboru w argumencie Warunek wyboru(Gdzie warunek). Jeśli filtr ma zostać zastosowany od razu po otwarciu formularza, to przy zdarzeniu Otwarcie(Przy otwarciu) formularza należy skojarzyć makro zawierające polecenie makra ApplyFilter. Jeżeli chcesz dynamicznie zmieniać zestaw wyświetlanych rekordów w formularzu otwartym, wykonaj następujące czynności:

  • utwórz w tym formularzu zestaw pól, w których możesz ustawić warunki selekcji;
  • utwórz przycisk Nałóż filtr, z którym skojarzone jest makro zawierające polecenie makro ApplyFilter. Jako wartość argumentu Warunek wyboru(Warunek Where) dla tego makra określa wyrażenie zawierające odniesienia do tych pól.

Przykład takiego rozwiązania pokazano na rys. 11.15. Rysunek ten przedstawia formularz „Produkty”, który umożliwia przeglądanie produktów z selekcją na podstawie różnych kryteriów.

Formularz ten budowany jest w oparciu o tabelę „Produkty” przy wykorzystaniu Kreatora Automatycznej Generacji Formularzy Wstążkowych. Następnie w trybie Konstruktora Formularzy dodawane są do niego pola umożliwiające określenie kryteriów wyboru oraz przyciski umożliwiające zastosowanie i anulowanie filtra. Odpowiednie makra powiązane ze zdarzeniem Naciśnięcie przycisku(Po kliknięciu), jak pokazano na ryc. 11.16. Aby anulować filtr, użyj polecenia makra ShowAllRecords.

Ryż. 11.15. Formularz wyboru rekordów na podstawie określonych kryteriów


Ryż. 11.16. Makra do ustawienia i anulowania filtra w formularzu „Produkty”.

Na ryc. 11.16 przedstawia dwa makra: SetFilter i CancelFilter. W oknie dialogowym Obszar wejściowy(Powiększ) wyświetla wartość argumentu Warunek wyboru Polecenia makro (Gdzie Warunek) ApplyFilter. Należy pamiętać, że warunek okazał się dość skomplikowany, a długość pola Warunek wyboru(Warunek Where) jest ograniczony do 255 znaków. Zatem gdybyśmy w warunkach wyboru uwzględnili inne pole, np. „Zapasy wstrzymane”, musielibyśmy osobno stworzyć specjalny filtr i podać jego nazwę w argumencie Nazwa filtra(Nazwa filtra).

W makrze „CancelFilter” oprócz makra ShowAllRecords potrzebne są jeszcze dwa makropolecenia, aby wyczyścić pola „Wybór dostawcy” i „Wybór typu”, czyli przypisać im wartość Pusty(Zero). Odbywa się to za pomocą polecenia makra SetValue.

Nawigacja po danych

Ta grupa makr zajmuje się nawigacją po rekordach i kontrolkach. Jako przykład wykorzystania makropoleceń z tej grupy rozważmy sytuację, w której użytkownik pracując z formularzem „Klienci” chce odnaleźć zamówienie aktualnego klienta, którego numer jest mu znany. Wróćmy do podanego przykładu Sekcja „Przypisywanie makra do zdarzenia.” Następnie stworzyliśmy przycisk w formularzu „Klienci”. Zamówienia klientów aby wyświetlić zamówienia wybranego klienta. Spróbujmy ulepszyć te formy. Jeżeli numer zamówienia jest użytkownikowi znany, może go wpisać w polu tekstowym Wyszukiwanie zamówień, które można dodać do formularza Klienci. Następnie w otwartym formularzu „Zamówienia” należy od razu wyświetlić zapis zawierający odpowiednią fakturę. Dodajmy do nagłówka formularza pole „Wyszukiwanie zamówienia” i upewnijmy się, że po otwarciu formularza „Zamówienia” zostanie sprawdzona wartość tego pola i jeśli nie jest puste, zostanie wyszukana faktura o podanym numerze i następuje przejście do odpowiedniego rekordu. W przeciwnym razie pierwszy rekord w filtrowanym zestawie rekordów stanie się aktualny. Na ryc. Rysunek 11.17 przedstawia formularz Klienci z nowym polem i makrem Wyszukiwanie zamówień, które jest powiązane ze zdarzeniem On Load formularza Zamówienia.

Ponieważ dodane makro zdarzenia odwołuje się do kontrolki w formularzu Klienci, powinno zostać wykonane tylko wtedy, gdy ten formularz jest otwarty, a ponadto wyszukiwanie powinno odbywać się tylko wtedy, gdy pole Wyszukiwanie zamówień nie jest puste. Na tej podstawie tworzone są warunki makro. Przed wyszukaniem rekordu według wzorca w którymś z pól należy aktywować to pole, do czego służy makropolecenie KElementuControl (GoToControl). Za jego pomocą ustawia się fokus na polu „Kod zamówienia”. Jednak to pole nie jest dostępne w formularzu Zamówienia, dlatego należy najpierw zmienić wartość właściwości Dostęp(Włączone) tego pola. W przeciwnym razie wykonanie makra GoToControl zakończy się błędem.

Makropolecenie „GoToControl” stosuje się z reguły w przypadku konieczności zmiany standardowej kolejności przejść pomiędzy polami w formularzu. Zazwyczaj przełączanie pomiędzy polami odbywa się za pomocą klawisza<Таb>jednak czasami chcesz pominąć kilka pól i przenieść fokus na konkretną kontrolkę. Może to zależeć od pewnych warunków, takich jak wartość pola. W tym przypadku na wydarzenie Po aktualizacji(Po aktualizacji) do tej kontrolki przypisane jest makro, które przesuwa fokus na żądaną kontrolkę w formularzu. Jako argument makra należy podać krótką nazwę kontrolki. Jeżeli nazwa będzie za długa, nawigacja do kontrolki nie nastąpi i zostanie wyświetlony komunikat o błędzie.

Ryż. 11.17. Przykład makra do poruszania się po danych

Aktualizacja danych w formularzach i kontrolkach

Ostatnia grupa makropoleceń w tej kategorii dotyczy aktualizacji danych w aktywnych formularzach, tabelach i zapytaniach. Jeśli kilka osób w sieci jednocześnie zmienia dane, formularze i tabele dla konkretnego użytkownika mogą nie odzwierciedlać najnowszych danych. Aby mieć pewność, że wyświetlane dane odpowiadają aktualnemu stanowi bazy danych, należy je zaktualizować za pomocą polecenia Posty, aktualizacja(Nagraj, Odśwież) (patrz sekcja Praca z rekordami, rozdział 2).

Podobna sytuacja ma miejsce nawet w trybie pojedynczego użytkownika, jeśli formularz korzysta z pola kombi, którego źródłem danych jest tabela lub zapytanie. Jeśli do tabeli źródłowej dodano rekordy, nie pojawią się one automatycznie w polu kombi - należy ponownie uruchomić zapytanie. Oprócz pól kombi kontrolki wymagające aktualizacji wyświetlanych danych obejmują kontrolki list i podformularzy, obiekty OLE oraz kontrolki obliczeniowe, które zawierają funkcje agregujące w podzbiorze rekordów, takie jak DLookUp() lub DSum().

Aby zaktualizować rekordy w formularzach, tabelach lub kontrolkach, użyj akcji makra Powtórz zapytanie, ShowAllRecords i RepaintObject.

Makro Ponów zapytanie aktualizuje dane w obiekcie bazy danych, ponownie odwiedzając źródło danych. Makro posiada jeden argument zawierający nazwę obiektu do aktualizacji. Jeśli aktualizujesz aktywny obiekt, np. formularz, pole argumentu powinno pozostać puste. W takim przypadku makro ponownie wykona żądanie określone we właściwości Źródło danych(RecordSource) tego formularza.

Spójrzmy na przykład użycia makra do aktualizacji danych. W formularzu „Klienci” znajduje się pole kombi „Kraj”. Źródłem danych dla tego pola jest zapytanie wybierające wartości z pola Kraj tabeli Klienci:

WYBIERZ RÓŻNYCH KLIENTÓW.KRAJ OD KLIENTÓW;

Jeżeli przy wprowadzaniu klienta do tabeli zostanie dodana nowa nazwa kraju, wówczas kraj ten nie pojawi się na liście, gdyż zapytanie zostanie powtórzone dopiero przy następnym otwarciu formularza. Aby wcześniej zaktualizować listę krajów należy przypisać wydarzenie Po aktualizacji Makro (Po aktualizacji) w formularzu Klienci Aktualizacja listy krajów, która składa się z jednego makro polecenia Aktualizacja (Requery) z wartością argumentu „Kraj” (Rys. 11.18).

Ryż. 11.18. Przypisywanie makra do zdarzenia formularza Po aktualizacji

Komentarz

Makro Ponów zapytanie aktualizuje tylko jeden obiekt, więc jeśli w formularzu znajdują się kontrolki wymagające aktualizacji danych wyświetlanych, a makro przypisane do tego formularza używa makra Ponów zapytanie z pustą wartością argumentu, zaktualizowane zostaną tylko rekordy w formularzu . Dla każdego takiego elementu sterującego należy zastosować osobne makropolecenie. Jeśli to makro zawiera jako argument nazwę kontrolki, to po jego wykonaniu aktualizowany jest tylko ten element. Zapisy w samym formularzu nie są aktualizowane.

Za pomocą polecenia Makro Powtórz zapytanie możesz zaktualizować dane w nieaktywnej formie, a raczej nie w formie, do której przypisane jest makro. Jednak w tym przypadku należy najpierw wykonać makro polecenie SelectObject, które przeniesie fokus do żądanej postaci w celu jego aktywacji (wtedy fokus będzie mógł zostać zwrócony).

Jak już wspomniano, makropolecenie ShowAllRecords anuluje filtr i ponownie sprawdza źródło rekordów. Często służy do aktualizacji danych w podformularzu.

Makro RepaintObject ma zastosowanie tylko do obiektu bazy danych (tabela, zapytanie, formularz, raport, strona, makro i moduł) i nie ma zastosowania do kontrolki. Natychmiast aktualizuje określony otwarty obiekt (jeśli nie określono nazwy obiektu, aktualizowany jest obiekt aktywny), chociaż nie uruchamia ponownie zapytania względem źródła danych. Aktualizacja obiektu nie przynosi żadnego efektu. wyświetlanie nowych i usuniętych rekordów, tak jak ma to miejsce przy wykonywaniu polecenia makro Ponów zapytanie. Zwykle makro RepaintObject służy do wyświetlania wyników zmiany danych za pomocą makr SetValue oraz do ponownego obliczania wartości wyrażeń w kontrolkach obliczanych.

Praca z obiektami

Przyjrzyjmy się najpierw, jak wykorzystać akcję makra UstawWartość, która pozwala ustawić wartości właściwości dla kontrolek w formularzach i raportach. Użyliśmy już tego makra w poprzednich przykładach.

Ustawienie właściwości kontrolek pozwala dynamicznie sprawić, że te kontrolki będą niedostępne lub niewidoczne, w zależności od warunków. Oto kilka przykładów.

  • Można utworzyć jeden formularz, w którym w zależności od określonych warunków widoczne będą różne pola. Dzięki temu możesz skorzystać z jednego formularza w kilku przypadkach, bez konieczności tworzenia dodatkowego formularza dla każdej sytuacji. Gdy w aplikacji znajduje się wiele formularzy, funkcja ta staje się bardzo przydatna. Aby uczynić kontrolkę niewidoczną, ustaw wartość Kłamstwo(Fałsz) w przypadku własności Wyjście na wyświetlaczu(Widoczne) tego elementu. Aby wyświetlić element sterujący na ekranie, ustaw tę właściwość na PRAWDA(PRAWDA).
  • W zależności od bieżącego stanu pracy z danymi możesz zmienić dostępność przycisków akcji lub innych elementów sterujących w formularzu. Aby kontrola była niedostępna, ustaw wartość Kłamstwo(False) do właściwości Access (Enabled). Aby udostępnić kontrolę, ustaw wartość PRAWDA(True) dla tej właściwości.
  • Możesz uniemożliwić użytkownikowi zmianę danych w formularzu. Dla tej nieruchomości Dostęp(Włączone) odpowiednie pola powinny być ustawione na Kłamstwo(Fałsz) i właściwość Blokowanie zapisów(Zablokowany) - wartość PRAWDA(PRAWDA). Jeśli chcesz wyłączyć zmiany we wszystkich polach, ustaw wartość Kłamstwo(False) dla następujących właściwości formularza: Zezwól na zmiany(Zezwól na edycję) Zezwól na dodanie(Zezwalaj na dodatki) Zezwól na usunięcie(Zezwalaj na usuwanie). Właściwości te można zmieniać dynamicznie, czyli w trakcie pracy użytkownika z formularzem. Na przykład możesz zezwolić lub wyłączyć edycję danych po sprawdzeniu uprawnień użytkownika.
  • Za pomocą akcji makra UstawWartość można dynamicznie zmieniać wartość właściwości Źródło rekordu(RecordSource) dla formularza, który pozwala kontrolować zawartość wyświetlanych danych.

Istnieją makropolecenia umożliwiające otwieranie i zamykanie obiektów Access:

OpenForm, OpenQuery, OpenReport itp. Do otwarcia obiektu każdego typu służy osobne makropolecenie, natomiast do zamykania obiektu służy polecenie Zamknij makro wspólne dla obiektów wszystkich typów. Typ obiektu, do którego ma zostać zastosowane to makro, jest określony jako jeden z jego argumentów. W poprzednich przykładach wykorzystano już makropolecenia OtwórzFormę i Zamknij dla aktywnego obiektu.

Makropolecenie OpenQuery umożliwia wykonanie dowolnego typu zapytania, w tym także żądania zmiany danych. Jeżeli argumentem tego makra jest nazwa zapytania wybierającego lub krzyżowego, efektem wykonania makra będzie wyświetlenie wybranych rekordów. Jeżeli argumentem jest nazwa żądania zmiany danych, to makro wykona żądanie, odpowiednio zmieniając dane w tabelach.

Po uruchomieniu zapytania zmieniającego dane na ekranie pojawią się komunikaty ostrzegawcze. Aby wyłączyć te komunikaty, użyj akcji makra UstawOstrzeżenia z wartością argumentu NIE(NIE). Tylko nie zapomnij ponownie włączyć wysyłania komunikatów systemowych po wykonaniu żądania, używając tego samego makra, ale z argumentem Tak. W przeciwnym razie Access nie wyświetli żadnych komunikatów systemowych, co może spowodować, że aplikacja wykona niepożądane działania.

Makro OpenView jest podobne do makra OpenQuery, ale jest używane w projektach programu Access 2000 i jest przeznaczone do pracy z danymi przechowywanymi na serwerze.

Makro Polecenie OpenStoreProcedure umożliwia wykonanie lub otwarcie procedury zapisanej w bazie serwera w trybie edycji .

Nie wszystkie makropolecenia są opisane w tej sekcji. Pełne informacje można znaleźć w systemie pomocy programu Access. Aby szybko uzyskać pomoc:

  1. Wybierz zespół Pomoc, pomoc Microsift Dostęp (Pomoc, Pomoc Microsoft Access).
  2. Rozwiń zakładkę Kreator odpowiedzi(Kreator odpowiedzi) i wpisz w polu Wybierz akcję(Co chciałbyś zrobić?) nazwa makra. Naciśnij przycisk Znajdować(Szukaj).

Konwersja makr na procedury VBA

Jeśli utworzyłeś wiele makr, a następnie zdecydowałeś się przejść na programowanie w VBA, nie musisz się martwić koniecznością ponownego przepisywania wszystkich makr utworzonych w VBA. Access posiada możliwość automatycznej konwersji makr na procedury VBA. Dotyczy to zarówno makr związanych ze zdarzeniami na formularzach i raportach, które konwertowane są na procedury zdarzeń, jak i makr ogólnych, które nie są powiązane z formularzami i raportami. Wszystkie są konwertowane na osobne, standardowe moduły.

Spróbujmy zamienić makra przypisane do zdarzeń formularza Customers Labels Dialog na procedury obsługi zdarzeń:

  1. Otwórz formularz Okno dialogowe etykiet klientów w trybie projektowania.
  2. Wybierz zespół Narzędzia, Makro, Konwertuj makra formularzy(Narzędzia, Makro, Konwertuj makra formularza do Visual Basic).
  3. W oknie dialogowym Konwersja makra formularza(Konwertuj makra formularzy) (Rys. 11.19) kliknij przycisk Konwertować(Konwertuj), pozostawiając domyślnie zaznaczone pola wyboru.

Ryż. 11.19. Konwersja makra na procedurę VBA

  1. Po zakończeniu konwersji w formularzu Okno dialogowe etykiet klientów kliknij prawym przyciskiem myszy np. Anulować, i wybierz drużynę Nieruchomości(Nieruchomości).
  2. W oknie dialogowym Nieruchomości(Właściwości) rozwiń kartę Wydarzenia(Wydarzenia).
  3. W polu zdarzenia Naciśnięcie przycisku(Po kliknięciu) okazało się, że jest to ustawiona wartość [Procedura obsługi zdarzenia](). Kliknij na przycisk Konstruktor znajdujący się po prawej stronie pola - otworzy się okno edytora VBA z tekstem procedury (rys. 11.20).

Ryż. 11.20. Procedura wyprowadzona z makra

Ta procedura oparta na makrach wykorzystuje obiekt DoCmd do wykonania makra zamykającego formularz. Zgodnie z zaznaczonymi w oknie checkboxami Konwersja makro(Konwertuj makro), komentarze w makrze zostały przekonwertowane na komentarze w procedurze i dodano kod obsługi błędów, który wyświetla komunikat o błędzie w przypadku wystąpienia błędu (patrz rozdział 13).

W ten sam sposób konwertowane są makra przypisane do zdarzeń raportu.

Rozważmy teraz konwersję makra, które nie jest powiązane ze zdarzeniem formularza lub raportu, na procedurę VBA, na przykład utworzone wcześniej makro „Menedżerowie sprzedaży”.

  1. Kliknij skrót Makra(Makra) w oknie bazy danych Northwind. Pojawi się lista makr. Wybierz makro „Menedżerowie sprzedaży”.
  2. Wybierz zespół Narzędzia, Makro, Konwertuj makra(Narzędzia, Makro, Konwertuj makra do Visual Basic).
  3. Otworzy się to samo okno dialogowe, co w poprzednim przykładzie (patrz rys. 11.19), w którym należy kliknąć przycisk Konwertować(Konwertować). Po zakończeniu procesu konwersji pojawi się komunikat informujący o pomyślnym zakończeniu procesu konwersji i otworzy się okno edytora VBA, w którym można obejrzeć powstały kod VBA (rys. 11.21).
  4. Makro jest konwertowane do funkcji o tej samej nazwie Sales_Managers (spacje są zastępowane podkreśleniami).

Ryż. 11.21. Efekt transformacji makra „Menedżerowie sprzedaży”.

Po konwersji oryginalne makro „Kierownicy sprzedaży” nie zostało usunięte, a na liście modułów w oknie bazy danych Northwind pojawił się nowy moduł o nazwie „Makro przekonwertowane - Menedżerowie sprzedaży”.

Istnieje inny sposób konwersji makr do modułu VBA:

  1. W oknie bazy danych Northwind wybierz makro Sales Managers.
  2. Wybierz zespół Plik, Zapisz jako(Plik, Zapisz jako).
  3. W wyświetlonym oknie dialogowym Ochrona(Zapisz jako) z listy rozwijanej Jako (Jak) wybierz element Moduł(Moduł) (Rys. 11.22) i naciśnij przycisk OK.

Ryż. 11.22. Zapisywanie makra jako modułu

wnioski

W tym rozdziale przedstawiliśmy makra, sposób ich tworzenia i uruchamiania, przedstawiliśmy krótki przegląd istniejących makropoleceń i pokazaliśmy przykłady ich użycia. Nie opisywaliśmy wszystkich zdarzeń w formularzach i raportach oraz ich przetwarzania za pomocą makr. Materiał ten szczegółowo zaprezentowano w Ch. 13. Nie ma potrzeby zwracać szczególnej uwagi na obsługę zdarzeń za pomocą makr, gdyż te same działania można zaimplementować w procedurach VBA.

Podsumowując, chciałbym jeszcze raz podkreślić, że zastosowanie makr pozwala w łatwy sposób tworzyć aplikacje automatyzujące wiele działań użytkownika. Zaleca się, aby rozpocząć od stworzenia takich aplikacji, zanim zagłębisz się w język programowania VBA. Jednak złożone aplikacje dla wielu użytkowników należy tworzyć od razu przy użyciu języka programowania VBA, bez tworzenia skomplikowanych kombinacji makr i modułów.

W programie Microsoft Access makra dołączone do obiektów interfejsu użytkownika, takich jak przyciski, pola tekstowe, formularze i raporty, nazywane są makrami interfejsu użytkownika. Pozwala to odróżnić je od makr danych, które dołączane są do tabel. Korzystając z makr interfejsu użytkownika, możesz zautomatyzować szereg działań, takich jak otwarcie kolejnego obiektu, zastosowanie filtra, uruchomienie operacji eksportu i wiele innych zadań. W tym artykule przedstawiono nowy Konstruktor makr i opisano podstawowe zadania związane z tworzeniem makra interfejsu użytkownika.

Notatka: Ten artykuł nie dotyczy aplikacji internetowych programu Access.

W tym artykule

Informacje ogólne

Makra mogą być zawarte w obiektach makr (czasami nazywanych makrami samodzielnymi) lub osadzone we właściwościach zdarzeń formularzy, raportów i kontrolek. Osadzone makra stają się częścią obiektu lub kontrolki. Obiekty makr pojawiają się w panelu nawigacji w grupie Makra; osadzone makra nie są tam wskazane.

Każde makro składa się z jednego lub większej liczby makropoleceń. W zależności od kontekstu, w którym pracujesz, niektóre makropolecenia mogą nie być dostępne.

Konstruktor makr

Poniżej opisano główne podstawowe funkcje Konstruktora makr.

    Katalog makr Makra są uporządkowane według typu i można je przeszukiwać.

    IntelliSense. Podczas wprowadzania wyrażeń technologia IntelliSense sugeruje możliwe wartości i pozwala wybrać tę, którą chcesz.

    Skróty klawiszowe Używaj skrótów klawiaturowych, aby pisać makra szybciej i wygodniej.

    Przebieg programu Twórz bardziej czytelne makra, korzystając z linii komentarzy i grup akcji.

    Instrukcje warunkowe Zapewnia bardziej złożone wykonywanie logiki z obsługą zagnieżdżonych funkcji if i/lub innych funkcji.

    Ponowne użycie makra Katalog makr wyświetla inne utworzone przez Ciebie makra, umożliwiając ich skopiowanie do tego, z którym pracujesz.

    Uprość udostępnianie Skopiuj makro, a następnie wklej je jako plik XML do wiadomości e-mail, wpisu w grupie dyskusyjnej, bloga lub próbki kodu.

Ten film wideo zawiera przewodnik krok po kroku po głównych obszarach Konstruktora makr.

Tworzenie samodzielnego makra

Procedura ta umożliwia utworzenie samodzielnego obiektu makra, który będzie wyświetlany na liście Makra w obszarze nawigacji. Przydatne jest utworzenie samodzielnego makra, jeśli chcesz go ponownie wykorzystać w wielu częściach aplikacji. Wywołując makro z innych makr, można uniknąć powielania kodu w wielu miejscach.

Tworzenie osadzonego makra

Ta procedura umożliwia utworzenie makra osadzonego we właściwości zdarzenia obiektu. Takie makra nie pojawiają się w panelu nawigacyjnym, ale można je wywołać ze zdarzeń, np. lub Naciśnięcie przycisku.

Ponieważ makro staje się częścią obiektu formularza lub raportu, zaleca się stosowanie makr osadzonych w celu automatyzacji zadań specyficznych dla konkretnego formularza lub raportu.

Dodawanie makr do makra

Polecenia makro to indywidualne polecenia tworzące makro. Nazwa makra odzwierciedla na przykład jego przeznaczenie ZnajdźRekord Lub Zamknijbazę danych.

Krok 1: Wyświetl lub wyszukaj makra

Aby dodać makro należy je najpierw odnaleźć na rozwijanej liście Dodaj nowe makro lub w katalogu makr.

Uwagi:

    Domyślne na liście rozwijanej Dodaj nowe makro a katalog makr wyświetla tylko makra, które działają w niezaufanych bazach danych. Aby wyświetlić wszystkie makra:

    • Na karcie Konstruktor w grupie Pokaż lub ukryj Wybierz przedmiot Pokaż wszystkie działania.

    Jeżeli katalog makr nie jest wyświetlony, na zakładce Konstruktor W rozdziale Pokaż lub ukryj naciśnij przycisk Katalog makr.

Makro można znaleźć na jeden z następujących sposobów:

    Kliknij strzałkę menu rozwijanego Dodaj nowe makro i przewiń listę w dół, aby znaleźć makro. Najpierw wyświetlane są elementy sterujące wykonaniem programu, a następnie makropolecenia w kolejności alfabetycznej.

    Znajdź makro w obszarze Katalog makr. Makra są pogrupowane w kategorie. Rozwiń kategorie, aby wyświetlić makra. Po wybraniu makra, na dole katalogu wyświetlany jest jego krótki opis.

    Wyszukaj makro, wpisując tekst w polu wyszukiwania u góry obszaru Katalogu makr. Podczas pisania lista makropoleceń jest filtrowana i wyświetlane są wszystkie makra zawierające tekst. Program Access wyszukuje wprowadzony tekst w nazwach i opisach makr.

Krok 2: Dodawanie makra do makra

Po znalezieniu odpowiedniego makra dodaj je do makra, korzystając z jednej z następujących metod:

    Wybierz makro z listy Dodaj nowe makro lub po prostu zacznij wpisywać nazwę makra w polu. Program Access doda makro, w którym została wyświetlona lista Dodaj nowe makro.

    Przeciągnij makro z katalogu makr do obszaru makr. Pojawi się pasek wstawiania pokazujący, gdzie makro zostanie wstawione po zwolnieniu przycisku myszy.

    Kliknij dwukrotnie makro w Katalogu makr.

    • Jeśli wybierzesz makro w obszarze makr, program Access doda nowe makro poniżej wybranego.

      Jeśli w obszarze makra zostanie wybrany blok Grupa, Jeśli, Inaczej jeśli, W przeciwnym razie Lub Zagnieżdżone makro, Access doda do niego nowe makro.

      Jeśli w obszarze makr nie wybrano żadnych makr ani bloków, program Access doda nowe makro na końcu makra.

      Uwagi:

      • Jeśli utworzyłeś już jedno lub więcej makr, zostaną one wyświetlone w węźle W tej bazie danych katalog makr.

        • Kiedy przeciągasz samodzielne makro (które jest wymienione w Makra) w obszarze makr tworzone jest makropolecenie Uruchom makro, które wykonuje przeciągnięte makro. Następnie możesz użyć listy rozwijanej, aby wywołać zagnieżdżone makra, jeśli takie istnieją.

          Jeśli chcesz po prostu skopiować makra z makra samodzielnego do bieżącego (zamiast tworzyć makro Uruchom makro), kliknij go prawym przyciskiem myszy w katalogu makr i wybierz polecenie Dodaj kopię makra.

          Po przeciągnięciu osadzonego makra (określonego w formularzu lub obiekcie raportu) na obszar makr, zawarte w nim makropolecenia zostaną skopiowane do bieżącego makra.

      • Makro można także utworzyć, przeciągając obiekt bazy danych z okienka nawigacji do okienka makr. Jeśli przeciągniesz tabelę, kwerendę, formularz, raport lub moduł do obszaru makra, program Access doda akcję makra, która ją otworzy. Po przeciągnięciu innego makra do okienka Makro program Access dodaje makro uruchamiające to makro.

Krok 3: Wprowadzanie argumentów

Większość makr wymaga co najmniej jednego argumentu. Aby wyświetlić opis dowolnego argumentu, zaznacz makro, a następnie najedź kursorem na argument. W przypadku wielu argumentów można wybrać wartość z listy rozwijanej. Jeśli musisz wprowadzić wyrażenia dla argumentu, IntelliSense pomoże Ci to zrobić, sugerując możliwe wartości podczas wpisywania, jak pokazano na obrazku poniżej:

Gdy pojawi się wartość, której chcesz użyć, dodaj ją do wyrażenia, klikając ją dwukrotnie lub podświetlając ją klawiszami strzałek, a następnie naciskając Tab lub Enter.

Aby uzyskać więcej informacji na temat tworzenia wyrażeń, zobacz Wprowadzenie do używania wyrażeń.

Informacje o używaniu technologii IntelliSense z właściwościami bazy danych sieci Web

Podczas tworzenia makra interfejsu użytkownika osadzonego w formularzu zgodnym z siecią Web funkcja IntelliSense umożliwia dodanie do wyrażenia dowolnych właściwości formularza. Jednak w internetowej bazie danych dostęp do niektórych właściwości formularzy można uzyskać jedynie za pomocą makr interfejsu użytkownika. Na przykład, jeśli formularz „Form1” ma kontrolkę „Item1”, funkcja IntelliSense umożliwi dodanie [Forms]![Form1]![Item1]. do wyrażenia w makrze interfejsu użytkownika. Jeśli jednak opublikujesz bazę danych w Access Services, makro zawierające wyrażenie zgłosi błąd podczas uruchamiania na serwerze.

W poniższej tabeli wymieniono właściwości, których można używać w makrach interfejsu użytkownika w internetowych bazach danych:

Dostępne właściwości

Podpis, Brudny, Zezwalaj na dodatki, Zezwalaj na usuwanie, Zezwalaj na edycję

Zestaw zakładek

Podpis, widoczny, „kolor tekstu”, „kolor tła”

Załącznik

Widoczne, włączone

Podpis, widoczny, włączony, „kolor tekstu”

Pole tekstowe

Włączone, Widoczne, Zablokowane, „Kolor tekstu”, „Kolor tła”, Wartość

Obraz

Widoczny, „Kolor tła”

Pole kombi

Włączone, widoczne, zablokowane, wartość

Włączone, widoczne, zablokowane, wartość

przeglądarka internetowa

Podformularz

Włączone, widoczne, zablokowane

Element nawigacyjny

Włączone, widoczne

Przenoszenie makra

Makropolecenia są wykonywane w kolejności, w jakiej zostały określone w makrze (od góry do dołu). Aby przenieść akcję w górę lub w dół makra, użyj jednej z następujących metod:

    Przeciągnij makro w górę lub w dół do żądanej lokalizacji.

    Wybierz makro, a następnie naciśnij klawisze Ctrl+strzałka w górę lub Ctrl+strzałka w dół.

    Wybierz makro i kliknij strzałkę W górę Lub W dół po prawej stronie obszaru makro.

Usuwanie makra

Aby usunąć makro:

    Podświetl makro i naciśnij klawisz DELETE. Alternatywnie możesz kliknąć przycisk Usuwać(X) po prawej stronie obszaru makro.

    Uwagi:

    • Jeśli usuniesz blok makropoleceń, na przykład blok Jeśli Lub Grupa, wszystkie makropolecenia w bloku również zostaną usunięte.

      Zespoły W górę, W dół I Usuwać

Sterowanie wykonywaniem programu za pomocą instrukcji „If”, „Else If” i „Else”.

Jeśli chcesz, aby makra były wykonywane tylko po spełnieniu określonych warunków, użyj bloku Jeśli. Zastępuje kolumnę Stan, który był używany w poprzednich wersjach programu Access. Możesz dodać do bloku Jeśli Bloki Inaczej jeśli Lub W przeciwnym razie, podobnie jak w innych sekwencyjnych językach programowania, takich jak VBA.

Poniższy rysunek przedstawia prosty blok Jeśliłącznie z blokami Inaczej jeśli I W przeciwnym razie:

Blok Jeśli wykonywane, jeśli data w polu ExpirationDate jest mniejsza niż data bieżąca.

Blok Inaczej jeśli wykonywane, jeżeli data w polu ExpirationDate jest równa dacie bieżącej.

Blok W przeciwnym razie wykonane, jeśli żaden z poprzednich bloków nie został wykonany.

To tyle, jeśli chodzi o ten blok Jeśli kończy się.

Dodawanie bloku „If” do makra

    Wybierz operatora Jeśli na liście rozwijanej Dodaj nowe makro lub przeciągnij go z obszaru Katalog makr do obszaru Makro.

    W pudełku na górze bloku Jeśli wprowadź wyrażenie określające, kiedy blok zostanie wykonany. Wyrażenie musi być wartością logiczną (tzn. jego wynikiem musi być „Tak” lub „Nie”).

    Dodaj makra do bloku Jeśli Dodaj nowe makro w bloku lub przeciągając je z obszaru „Katalog makr” do bloku Jeśli.

Dodawanie bloków „Else” i „Else If” do bloku „If”.

    Wybierz blok Jeśli i w jego prawym dolnym rogu kliknij Dodaj blok „Else”. Lub Dodaj blok „W przeciwnym razie”..

    Jeśli dodasz blok Inaczej jeśli, wprowadź wyrażenie określające, kiedy blok zostanie wykonany. Wyrażenie musi być wartością logiczną (tzn. jego wynikiem musi być Prawda lub Fałsz).

    Dodaj makra do bloku Inaczej jeśli Lub W przeciwnym razie wybierając je z listy rozwijanej Dodaj nowe makro w bloku lub przeciągając je z obszaru „Katalog makr” do bloku.

    Uwagi:

    • Polecenia dodawania bloków Jeśli, Inaczej jeśli I W przeciwnym razie są także dostępne w menu kontekstowym, które pojawia się po kliknięciu makra prawym przyciskiem myszy.

      Przy blokach Jeśli Może być maksymalnie 10 poziomów zagnieżdżenia.

Tworzenie zagnieżdżonych makr

Każde makro może mieć kilka zagnieżdżonych makr. Zagnieżdżone makro jest wywoływane według nazwy z poleceń makr Uruchom makro Lub Błąd.

Zagnieżdżone makro jest dodawane do makra w taki sam sposób, jak makropolecenie, zgodnie z opisem w . Po dodaniu pliku zagnieżdżonego makro, możesz przeciągnąć do niego makra lub wybrać akcje z listy Dodaj nowe makro, który jest wyświetlany w bloku.

Uwagi:

    Możesz także utworzyć blok Zagnieżdżone makro wybierając jedno lub więcej makropoleceń, klikając je prawym przyciskiem myszy, a następnie wybierając polecenie Utwórz zagnieżdżony makroblok.

    Zagnieżdżone makra powinny zawsze znajdować się na ostatnich blokach makra; Nie można pod nimi dodawać żadnych makr (z wyjątkiem innych makr zagnieżdżonych). Jeśli uruchomisz makro zawierające tylko podmakra bez określenia żądanego podmakra, zostanie wykonane tylko pierwsze podmakro.

    Aby wywołać makro zagnieżdżone (na przykład we właściwości zdarzenia lub przy użyciu makr Uruchom makro I Błąd), użyj następującej składni:

    nazwa_makra.nazwa_podmakro

Grupowanie powiązanych makr

Możesz ułatwić zrozumienie makr, grupując polecenia makr i nadając grupom przemyślane nazwy. Na przykład możesz dodać akcje makr otwierające i filtrujące formularz do grupy o nazwie „Otwórz i przefiltruj formularz”. Ułatwia to zrozumienie, które makra są ze sobą powiązane. Blok Grupa nie ma wpływu na sposób wykonywania makr, a grupy nie można wywołać ani uruchomić indywidualnie. Jego głównym celem jest przypisanie etykiety grupie makropoleceń, co czyni makro bardziej zrozumiałym. Dodatkowo podczas edycji dużego makra można zwinąć każdy blok grupy do jednej linii, aby ograniczyć przewijanie.

Jeśli makra, które chcesz zgrupować, znajdują się już w makrze, wykonaj poniższe kroki, aby dodać je do bloku Grupa:

    Wybierz makra, które chcesz zgrupować.

    Kliknij prawym przyciskiem myszy wybrane makra i wybierz Zrób blok grupowy.

    W pudełku na górze bloku Grupa wprowadź nazwę grupy.

Jeśli makra nie zostały dodane:

    Przeciągnij blok Grupa z katalogu makr do obszaru makr.

    W pudełku na górze bloku Grupa wprowadź nazwę grupy.

    Przeciągnij makra z katalogu do bloku Grupa lub wybierz je z listy Dodaj nowe makro, który jest wyprowadzany w bloku.

Rozwijanie i zwijanie makr lub bloków

Podczas tworzenia makra Projektant makr wyświetla polecenia makr ze wszystkimi argumentami. Jeśli makro jest duże, jego edycja może wymagać zwinięcia niektórych lub wszystkich makr (i ich bloków). Dzięki temu łatwiej jest zobaczyć ogólną strukturę makra. W razie potrzeby możesz rozwinąć makra, aby je zmienić.

Rozwiń lub zwiń pojedyncze makro lub blok

    Kliknij znak plus ( + ) lub „minus” ( - ) po lewej stronie nazwy makra lub bloku. Możesz także wybrać makro lub blok za pomocą klawisza STRZAŁKA W GÓRĘ lub STRZAŁKA W DÓŁ, ​​a następnie nacisnąć klawisz STRZAŁKA W LEWO lub STRZAŁKA W PRAWO, aby je zwinąć lub rozwinąć.

Rozwiń lub zwiń wszystkie makra (ale nie bloki)

    Na karcie Konstruktor w grupie Rozwiń lub zwiń Kliknij Rozwiń Makra Lub Zwiń makra.

Rozwiń lub zwiń wszystkie makra i bloki

    Na karcie Konstruktor w grupie Rozwiń lub zwiń Kliknij Rozwiń wszystkie Lub Zwinąć wszystkie.

Rada: Zwinięte makro można wyświetlić, najeżdżając na nie kursorem. Etykietka narzędzia pokaże argumenty makra.

Kopiowanie i wklejanie makr

Jeśli chcesz powtórzyć polecenia makra, które już dodałeś do makra, możesz je skopiować i wkleić jak akapity tekstu w edytorze tekstu. Makra wstawiane są pod wybrane makro. Jeżeli wybrany zostanie blok, wstawiane są do niego makra.

Rada: Aby szybko zduplikować wybrane makra, przytrzymaj klawisz CTRL i przeciągnij je do lokalizacji w makrze, do której chcesz je skopiować.

Udostępnij makro

Jeśli skopiujesz makropolecenia do schowka, możesz wkleić je jako kod XML do dowolnej aplikacji umożliwiającej wprowadzanie tekstu. Dzięki temu możesz wysłać makro e-mailem do kolegi lub opublikować je na forum, blogu lub innej stronie internetowej. Odbiorca może następnie skopiować plik XML i wkleić go do Projektanta makr programu Access 2010, co spowoduje utworzenie makra dokładnie takiego jak Twoje.

Uruchamianie makra

Makro można uruchomić, korzystając z następujących metod:

    Kliknij dwukrotnie makro w panelu nawigacyjnym.

    Wywołaj makro za pomocą polecenia makra Uruchom makro Lub Błąd.

    Wprowadź nazwę makra we właściwości zdarzenia obiektu. Makro zostanie wykonane po wywołaniu zdarzenia.

Debugowanie makra

Jeśli nie możesz uruchomić makra, wypróbuj poniższe metody, aby określić źródło problemu.

Dodawanie makr obsługi błędów do makra

Zaleca się dodawanie makr obsługujących błędy do każdego tworzonego makra i nie usuwanie ich z niego. W przypadku użycia tej metody program Access wyświetla opis występujących błędów. Opisy błędów pomagają zrozumieć, co jest nie tak i szybciej rozwiązać problem.

Aby dodać zagnieżdżone makro do obsługi błędów:

    Zagnieżdżone makro z listy rozwijanej Dodaj nowe makro.

    W polu po prawej stronie słowa Zagnieżdżone makro wprowadź na przykład nazwę zagnieżdżonego makra Przetwarzanie błędów.

    Na liście rozwijanej Dodaj nowe makro, który jest wyświetlany w bloku Zagnieżdżone makro, wybierz makro Okno wiadomości.

    W polu Wiadomość wpisz następujący tekst: =.

    Na dole makra wybierz Błąd z listy rozwijanej Dodaj nowe makro.

    Dla argumentacji Iść wprowadź wartość Nazwa makra.

    W polu Nazwa makra wprowadź nazwę zagnieżdżonego makra obsługującego błędy (w tym przykładzie - Przetwarzanie błędów).

    Przeciągnij makro Błąd na samą górę makro.

Poniższy rysunek przedstawia makro z poleceniem makra Błąd i zagnieżdżone makro Przetwarzanie błędów.

Polecenie makro Błąd znajduje się na górze makra i wywołuje makro zagnieżdżone Przetwarzanie błędów w przypadku błędu.

Zagnieżdżone makro Przetwarzanie błędów wykonywany tylko wtedy, gdy został wywołany przez makro Błąd i wyświetla okno komunikatu o błędzie.

Korzystanie z polecenia krok

Stepping to tryb debugowania makr, którego można używać do wykonywania jednego makra na raz. Po wykonaniu każdego makropolecenia wyświetlane jest okno dialogowe zawierające informacje na jego temat oraz kody ewentualnych błędów, które wystąpiły. Ponieważ jednak okno dialogowe Makro krok po kroku nie wyświetla opisu błędu, zalecamy skorzystanie z metody zagnieżdżonych makr obsługi błędów opisanej w poprzedniej sekcji.

Aby przejść do trybu krok po kroku:

    Otwórz makro w Projektancie.

    Na karcie Konstruktor w grupie Praca naciśnij przycisk Krok po kroku.

    Zapisz i zamknij makro.

Przy następnym uruchomieniu makra otworzy się okno dialogowe Wykonanie makra krok po kroku. Wyświetla następujące informacje o każdym makrze:

    nazwa makra;

    warunek (dla bloków „If”);

    nazwa makra;

    argumenty;

    numer błędu (cyfra 0 oznacza brak błędu).

Wykonując krok po kroku makropolecenia, w oknie dialogowym można skorzystać z trzech przycisków:

    Aby wyświetlić szczegóły dotyczące następnego makra, kliknij Krok po kroku.

    Aby zatrzymać wszystkie aktualnie działające makra, kliknij Zatrzymaj wszystkie makra. Tryb krokowy będzie nadal aktywny przy następnym uruchomieniu makra.

    Aby wyjść z trybu krokowego i kontynuować uruchamianie makra, kliknij Kontynuować.

    Uwagi:

    • Jeśli naciśniesz przycisk Krok po kroku po ostatnim poleceniu makro w makrze, tryb krokowy będzie nadal stosowany przy następnym uruchomieniu makra.

      Aby przejść do trybu krok po kroku podczas działania makra, naciśnij klawisze CTRL+break.

      Aby przejść do trybu krokowego w określonym momencie wykonywania makra, dodaj makro Krok do odpowiedniej części makra.

      Tryb krokowy nie jest dostępny w przypadku internetowych baz danych.

Konwersja makra na kod VBA

Makra udostępniają zestaw poleceń dostępnych w języku programowania Visual Basic for Applications (VBA). Jeśli zdecydujesz się na większą funkcjonalność, niż mogą zapewnić makra, możesz łatwo przekonwertować samodzielny obiekt makra na kod VBA, a następnie skorzystać z rozszerzonego zestawu funkcjonalności zapewnianych przez VBA. Należy jednak pamiętać, że kod VBA nie będzie działał w przeglądarce; Kod VBA dodany do internetowej bazy danych będzie działał tylko wtedy, gdy baza danych jest otwarta w programie Access.

Notatka: Osadzonych makr nie można konwertować na kod VBA.

Aby przekonwertować makro na kod VBA:

    W panelu nawigacyjnym kliknij prawym przyciskiem myszy obiekt makra i wybierz opcję Projekt.

    Na karcie Konstruktor w grupie Praca Wybierz drużynę Konwertuj makra na Visual Basic.

    W oknie dialogowym Konwersja makro określ, czy chcesz dodać kod obsługi błędów i notatki do modułu VBA, a następnie kliknij Konwertować.

Program Access potwierdzi, że makro zostało przekonwertowane i otworzy Edytor Visual Basic. Kliknij dwukrotnie przekonwertowane makro w obszarze projektu, aby wyświetlić i edytować moduł.

Notatka: Ta strona została przetłumaczona automatycznie i może zawierać nieścisłości i błędy gramatyczne. Zależy nam na tym, aby ten artykuł był dla Ciebie przydatny. Czy informacje były przydatne? Dla wygody również (w języku angielskim).