Wprowadzenie do programowania w programie Access

Uwaga: Staramy się udostępniać najnowszą zawartość Pomocy w Twoim języku tak szybko, jak to możliwe. Ta strona została przetłumaczona automatycznie i może zawierać błędy gramatyczne lub nieścisłości. Chcemy, aby ta zawartość była dla Ciebie przydatna. Prosimy o powiadomienie nas, czy te informacje były pomocne, u dołu tej strony. Oto angielskojęzyczny artykuł do wglądu.

Tworząc nową bazę danych, zazwyczaj zaczynasz od utworzenia kilku obiektów bazy danych, takich jak tabele, formularze i raporty. W końcu dochodzi do punktu, w którym musisz dodać kod w celu zautomatyzowania określonych procesów i powiązania obiektów bazy danych. W tym artykule opisano narzędzia programistyczne dostępne w programie Access.

W tym artykule

Co to jest programowanie?

Czy należy używać makr, czy kodu języka VBA?

Wykonywanie typowych zadań programistycznych za pomocą Kreatora przycisków poleceń

Opis makr

Opis kodu języka VBA

Konwertowanie makr na kod języka VBA

Co to jest programowanie?

W programie Access programowanie to proces dodawania funkcji do bazy danych za pomocą makr programu Access lub kodu języka VBA (Visual Basic for Applications). Załóżmy na przykład, że został utworzony formularz oraz raport i chcesz dodać do formularza przycisk polecenia, który po kliknięciu otwiera raport. W tym przypadku programowanie to proces tworzenia makra lub procedury języka VBA, a następnie ustawienia właściwości zdarzenia OnClick (Przy kliknięciu) przycisku polecenia w ten sposób, aby kliknięcie tego przycisku polecenia powodowało uruchomienie makra lub procedury. W przypadku prostej operacji, takiej jak otwieranie raportu, można wykonać całą pracę za pomocą Kreatora przycisków poleceń lub można wyłączyć kreatora i utworzyć kod samodzielnie.

Uwaga: W wielu programach pakietu Microsoft Office termin „makro” oznacza kod języka VBA. Może to prowadzić do nieporozumień wśród użytkowników programu Access, ponieważ w tym programie termin „makro” oznacza nazwaną kolekcję akcji makr, którą można utworzyć za pomocą Konstruktora makr. Akcje makr programu Access to tylko podzestaw poleceń dostępnych w języku VBA. Konstruktor makr udostępnia bardziej ustrukturalizowany interfejs niż Edytor Visual Basic, umożliwiając dodanie kodu do kontrolek i obiektów bez zaznajamiania się z kodem języka VBA. Należy pamiętać, że w artykułach Pomocy programu Access makra programu Access są nazywane makrami. Natomiast kod języka VBA jest nazywany językiem VBA, kodem, funkcją lub procedurą. Kod języka VBA jest zawarty w modułach klas (stanowiących części pojedynczych formularzy lub raportów i zazwyczaj zawierających kod przeznaczony tylko do tych obiektów) oraz w modułach (niepowiązanych z określonymi obiektami i zazwyczaj zawierających kod „globalny”, który może być używany w całej bazie danych).

Obiekty (takie jak formularze i raporty) oraz kontrolki (takie jak przyciski poleceń i pola tekstowe) mają różne właściwości zdarzeń, do których można dołączać makra lub procedury. Każda właściwość zdarzenia jest skojarzona z określonym zdarzeniem, takim jak kliknięcie myszą, otwarcie formularza lub zmodyfikowanie danych w polu tekstowym. Zdarzenia mogą też być wyzwalane przez czynniki występujące poza programem Access, na przykład przez zdarzenia systemowe, lub przez makra albo procedury dołączone do innych zdarzeń. Baza danych może stać się złożona, jeśli dodasz wiele makr lub procedur do kilku właściwości zdarzeń wielu obiektów, ale w większości przypadków możesz uzyskać właściwe wyniki za pomocą niewielkiej ilości kodu.

Początek strony

Czy należy używać makr, czy kodu języka VBA?

Decyzja o tym, czy używać makr, kodu języka VBA, czy obu metod zależy przede wszystkim od planowanego sposobu wdrażania lub rozpowszechniania bazy danych. Jeśli na przykład baza danych jest przechowywana na komputerze, którego jesteś jedynym użytkownikiem, i dobrze znasz kod języka VBA, do wykonywania większości zadań programistycznych możesz używać kodu języka VBA. Jeśli jednak baza danych ma zostać umieszczona na serwerze plików w celu udostępnienia jej innym użytkownikom, ze względów bezpieczeństwa może być konieczne unikanie kodu języka VBA.

Decyzję o użyciu makr bądź kodu języka VBA należy podjąć na podstawie dwóch czynników: potrzebnych zabezpieczeń i funkcji. Zabezpieczenia są problematyczne, ponieważ za pomocą języka VBA można tworzyć kod, który może stanowić zagrożenie dla zabezpieczeń danych lub może uszkodzić pliki na komputerze. Jeśli korzystasz z bazy danych utworzonej przez inną osobę, włączaj kod języka VBA tylko wtedy, gdy wiesz, że baza danych pochodzi z zaufanego źródła. Gdy tworzysz bazę danych, która będzie używana przez inne osoby, unikaj dołączania narzędzi programistycznych wymagających specjalnego oznaczenia bazy danych jako zaufanej. Ogólne techniki pozwalające wyeliminować konieczność oznaczania bazy danych jako zaufanej opisano w dalszej części tej sekcji.

Aby zapewnić bezpieczeństwo bazy danych, należy starać się używać makr, jeśli można korzystać z programowania VBA i korzystać z niego tylko w przypadku operacji, których nie można wykonać za pomocą akcji makr. Ponadto należy próbować korzystać tylko z akcji makr, które nie wymagają przyznania statusu zaufanego do bazy danych w celu uruchomienia. Ograniczenie użycia akcji makr w ten sposób pozwala użytkownikom uzyskać pewność, że baza danych nie zawiera programowania, która może uszkodzić dane lub inne pliki na ich komputerach.

Zagadnienia dotyczące makr

Począwszy od wersji 2010 programu Access, program Access zawiera wiele nowych akcji makr, które umożliwiają tworzenie bardziej zaawansowanych makr, które można tworzyć przy użyciu wcześniejszych wersji programu Access. Na przykład możesz teraz tworzyć i używać globalnych zmiennych tymczasowych za pomocą akcji makr, a także obsługiwać błędy, korzystając z nowych akcji makr obsługujących błędy. We wcześniejszych wersjach programu Access te rodzaje funkcji są dostępne tylko przy użyciu języka VBA. Ponadto makro można osadzić bezpośrednio we właściwości zdarzenia obiektu lub kontrolki. Makro osadzone stanie się częścią obiektu lub kontrolki i pozostaje w obiekcie lub kontrolce, jeśli zostanie przeniesiony lub skopiowany.

Makra umożliwiają łatwą obsługę wielu zadań programistycznych, takich jak otwieranie i zamykanie formularzy oraz uruchamianie raportów. Można szybko i łatwo powiązać utworzone obiekty bazy danych (formularze, raporty itp.), ponieważ nie jest wymagane pamiętanie zbyt wielu informacji dotyczących składni. Argumenty dla każdej akcji są wyświetlane w Konstruktorze makr.

Makr można używać ze względu na lepsze zabezpieczenia i łatwość ich użycia. Należy ich używać też w celu wykonania następujących zadań:

  • Przypisywanie akcji lub zestawu akcji do klawisza. Wymaga to utworzenia grupy makr o nazwie AutoKeys.

  • Wykonywanie akcji lub serii akcji po pierwszym otwarciu bazy danych. Wymaga to utworzenia makra o nazwie AutoExec.

    Uwaga:  Makro AutoExec jest uruchamiane przed innymi makrami i kodem języka VBA, nawet jeśli wskazano formularz startowy w oknie dialogowym Opcje programu Access i dołączono do jego zdarzenia OnOpen (Przy otwarciu) lub OnLoad (Przy załadowaniu) makro lub kod języka VBA.

Aby uzyskać więcej informacji na temat konstruowania makr, zobacz sekcję Opis makr.

Zagadnienia dotyczące kodu języka VBA

Używaj programowania w języku VBA zamiast makr, jeśli chcesz wykonywać następujące zadania:

  • Używanie funkcji wbudowanych lub tworzenie własnych funkcji    Program Access zawiera wiele funkcji wbudowanych, takich jak funkcja IPmt, która oblicza wysokość spłaty odsetek. Za pomocą tych funkcji wbudowanych można wykonywać obliczenia bez tworzenia skomplikowanych wyrażeń. Za pomocą kodu języka VBA można też tworzyć własne funkcje do wykonywania obliczeń przekraczających możliwości wyrażenia lub w celu zastąpienia złożonych wyrażeń. Ponadto za pomocą funkcji można tworzyć wyrażenia w celu wykonania jednej operacji na wielu obiektach.

  • Tworzenie lub modyfikowanie obiektów    W większości przypadków najłatwiej jest tworzyć i modyfikować obiekt w jego widoku projektu. W niektórych sytuacjach może jednak być konieczna zmiana definicji obiektu w kodzie. Używając języka VBA, można manipulować wszystkimi obiektami bazy danych, a także nią samą.

  • Wykonywanie działań na poziomie systemu    Można wykonać akcję RunApp (Uruchom aplikację) w makrze w celu uruchomienia innego programu (na przykład Microsoft Excel) z poziomu programu Access, ale za pomocą makra nie można wykonać zbyt wielu innych czynności poza programem Access. Za pomocą języka VBA można sprawdzić, czy określony plik znajduje się na komputerze, użyć automatyzacji lub dynamicznej wymiany danych (DDE, Dynamic Data Exchange) w celu komunikowania się z innymi programami systemu Microsoft Windows, takimi jak program Excel, oraz wywołać funkcje znajdujące się w bibliotekach dołączanych dynamicznie (bibliotekach DLL).

  • Manipulowanie pojedynczymi rekordami    Używając języka VBA, można przeglądać pojedyncze rekordy z zestawu, wykonując na każdym jakąś operację. Makra natomiast operują na całym zestawie rekordów jednocześnie.

Początek strony

Wykonywanie typowych zadań programistycznych za pomocą Kreatora przycisków poleceń

Kreator przycisków poleceń może pomóc w rozpoczęciu programowania w przypadku dodawania przycisku polecenia do formularza. Kreator pomaga utworzyć przycisk polecenia wykonującego określone zadanie. W pliku programu Access (accdb) kreator tworzy makro osadzone we właściwości OnClick (Przy kliknięciu) przycisku polecenia. W pliku mdb lub adp kreator tworzy kod języka VBA, ponieważ makra osadzone nie są dostępne w tych formatach plików. W obu przypadkach można następnie zmodyfikować lub udoskonalić makro bądź kod VBA, aby lepiej odpowiadały określonym potrzebom.

  1. W okienku nawigacji kliknij prawym przyciskiem myszy formularz, do którego chcesz dodać przycisk polecenia, a następnie kliknij polecenie Widok projektu.

  2. Na karcie Projektowanie kliknij strzałkę w dół, aby wyświetlić galerię Kontrolki, i upewnij się, że pozycja Użyj kreatorów kontrolek jest zaznaczona.

  3. Na karcie Projektowanie w galerii Kontrolki kliknij pozycję Przycisk.

  4. Na siatce projektu formularza kliknij w miejscu, w którym chcesz wstawić przycisk polecenia.

    Zostanie uruchomiony Kreator przycisków poleceń.

  5. Na pierwszej stronie kreatora klikaj poszczególne kategorie na liście Kategorie, aby zobaczyć, w przypadku których akcji kreator może zaprogramować ich wykonywanie za pomocą przycisku polecenia. Na liście Akcje wybierz akcję, a następnie kliknij przycisk Dalej.

  6. Kliknij opcję Tekst lub Obraz — w zależności od tego, co chcesz wyświetlać na przycisku polecenia.

    • Jeśli ma być wyświetlany tekst, możesz edytować tekst w polu obok opcji Tekst.

    • Jeśli ma być wyświetlany obraz, kreator zaproponuje obraz z listy. Aby wybrać inny obraz, zaznacz pole wyboru Pokaż wszystkie obrazy w celu wyświetlenia listy wszystkich obrazów przycisków poleceń dostępnych w programie Access lub kliknij przycisk Przeglądaj w celu wybrania obrazu przechowywanego w innym miejscu.

      Kliknij pozycję Dalej.

  7. Wprowadź nazwę znaczącą dla przycisku polecenia. Jest to czynność opcjonalna i ta nazwa nie będzie wyświetlana na przycisku polecenia. Warto jednak wprowadzić nazwę znaczącą, aby można było znacznie łatwiej odróżnić przyciski poleceń, gdy wystąpi później potrzeba odwołania się do tego przycisku polecenia (aby na przykład określić kolejność tabulacji dla kontrolek w formularzu). Jeśli na przykład kliknięcie przycisku polecenia powoduje zamknięcie formularza, możesz nadać mu nazwę PolecenieZamknij.

  8. Kliknij pozycję Zakończ.

    Program Access utworzy przycisk polecenia w formularzu.

  9. Aby zobaczyć, co kreator „zaprogramował”, wykonaj poniższe czynności opcjonalne:

    1. Jeśli arkusz właściwości nie jest jeszcze wyświetlony, naciśnij klawisz F4, aby go wyświetlić.

    2. W arkuszu właściwości kliknij kartę Zdarzenie.

    3. W polu właściwości on Click kliknij przycisk Konstruuj Obraz przycisku .

      Program Access uruchomi Konstruktora makr i wyświetli makro utworzone przez kreatora. Jeśli chcesz, możesz edytować makro (Aby uzyskać więcej informacji na temat edytowania makra, zobacz sekcję Opis makr). Po zakończeniu na karcie projektowanie w grupie zamykanie kliknij przycisk Zamknij , aby zamknąć Konstruktora makr. Jeśli w programie Access zostanie wyświetlony monit o zapisanie zmian i zaktualizowanie właściwości, kliknij przycisk tak , aby zapisać zmiany, lub pozycję nie , aby odrzucić zmiany.

  10. Na karcie Projektowanie w grupie Widoki kliknij pozycję Widok, a następnie kliknij pozycję Widok formularza. Kliknij nowy przycisk polecenia, aby się upewnić, że działa zgodnie z oczekiwaniami.

Początek strony

Opis makr

Makro to narzędzie umożliwiające automatyzowanie zadań oraz dodawanie funkcji do formularzy, raportów i kontrolek. Na przykład dodanie przycisku polecenia do formularza jest równoznaczne ze skojarzeniem właściwości zdarzenia OnClick (Przy kliknięciu) przycisku z makrem zawierającym polecenia, które ma wykonywać przycisk, gdy zostanie kliknięty.

Warto traktować makra programu Access jako uproszczony język programowania, w którym można utworzyć kod, tworząc listę akcji do wykonania. Konstruowanie makr odbywa się przez wybór akcji z listy rozwijanej, a następnie uzupełnienie informacji wymaganych dla każdej akcji. Makra umożliwiają dodawanie funkcji formularzy, raportów i kontrolek bez pisania kodu w module VBA. Makra stanowią podzestaw poleceń dostępnych w języku VBA. Dla większości osób konstruowanie makr jest łatwiejsze niż pisanie kodu języka VBA.

Makro można utworzyć za pomocą Konstruktora makr przedstawionego na poniższej ilustracji.

Konstruktor makr programu Access 2010

Aby wyświetlić Konstruktora makr:

  • Na karcie Tworzenie w grupie Makra i kod kliknij pozycję Makro.

Początek strony

Opis kodu języka VBA

Podobnie jak makra, język VBA umożliwia dodawanie automatyzacji i innych funkcji aplikacji programu Access. Program VBA można przedłużyć, korzystając z kontrolek innych firm, a także możesz napisać własne funkcje i procedury dla własnych konkretnych potrzeb.

Szybkim sposobem rozpoczęcia programowania w języku VBA jest skonstruowanie w pierwszej kolejności makra programu Access, a następnie przekonwertowanie go na kod języka VBA. Instrukcje dotyczące wykonywania tej operacji podano w sekcji Konwertowanie makr na kod języka VBA. Ta funkcja tworzy nowy moduł języka VBA, który wykonuje równoważne operacje w makrze. Otwiera ona również Edytor Visual Basic, umożliwiając rozpoczęcie modyfikowania tej procedury. Podczas pracy w Edytorze Visual Basic możesz kliknąć słowo kluczowe i nacisnąć klawisz F1, aby uruchomić Pomoc dla deweloperów programu Access i dowiedzieć się więcej na temat poszczególnych słów kluczowych. Następnie możesz zapoznać się z Pomocą dla deweloperów programu Access i odkryć nowe polecenia, które pomagają w wykonywaniu odpowiednich zadań programistycznych.

Początek strony

Konwertowanie makr na kod języka VBA

Za pomocą programu Access można automatycznie konwertować makra na moduły języka VBA lub moduły klas. Makra dołączone do formularza lub raportu można konwertować niezależnie od tego, czy istnieją jako oddzielne obiekty, czy jako makra osadzone. Można też konwertować makra globalne, które nie są dołączone do określonego formularza ani raportu.

Uwaga: Kod języka Visual Basic for Applications (VBA) można dodać do bazy danych sieci Web; jednak nie można uruchomić tego kodu, gdy baza danych działa w przeglądarce sieci Web. Jeśli baza danych sieci Web zawiera kod języka VBA, należy najpierw otworzyć bazę danych sieci Web przy użyciu programu Access, aby można było uruchomić kod. Aby wykonywać zadania programistyczne w bazie danych sieci Web, zamiast tego użyj makr programu Access.

Konwertowanie makr dołączonych do formularza lub raportu

Ten proces jest konwertowany na język VBA wszystkie makra, do których odwołują się (lub osadzono w nim) formularz lub raport (lub dowolny z jego kontrolek) i dodaje kod języka VBA do modułu klasy formularza lub raportu. Moduł zajęć staje się częścią formularza lub raportu i przechodzi wraz z formularzem lub raportem w przypadku przeniesienia lub skopiowania.

  1. W okienku nawigacji kliknij prawym przyciskiem myszy formularz lub raport, a następnie kliknij polecenie Widok projektu.

  2. Na karcie Projektowanie w grupie Narzędzia kliknij przycisk Konwertuj makra formularza na język Visual Basic lub Konwertuj makra raportu na język Visual Basic.

  3. W oknie dialogowym Konwertowanie makr formularza lub Konwertowanie makr raportu zdecyduj, czy program Access ma dodać kod obsługi błędów do generowanych przez siebie funkcji. Ponadto jeśli makra zawierają komentarze, zdecyduj, czy mają one zostać zawarte jako komentarze w funkcjach. Kliknij przycisk Konwertuj, aby kontynuować.

    Jeśli dla formularza lub raportu nie istnieje żaden moduł klasy, program Access utworzy go i doda do niego procedurę dla każdego makra, które było skojarzone z formularzem lub raportem. Program Access zmieni też właściwości zdarzeń formularza lub raportu, aby uruchamiały one nowe procedury języka VBA zamiast makr.

  4. Aby wyświetlić i edytować kod języka VBA:

    1. Gdy formularz lub raport jest nadal otwarty w widoku projektu, a arkusz właściwości nie jest jeszcze wyświetlany, naciśnij klawisz F4, aby go wyświetlić.

    2. Na karcie zdarzenie arkusza właściwości kliknij dowolne pole właściwości, które zawiera [procedura zdarzenia], a następnie kliknij przycisk Konstruuj Obraz przycisku . W celu wyświetlenia właściwości zdarzenia dla określonej kontrolki zaznacz tę kontrolkę kliknięciem. Aby wyświetlić właściwości zdarzenia dla całego formularza lub raportu, wybierz z listy rozwijanej u góry arkusza właściwości pozycję Formularz lub Raport.

      Program Access otworzy Edytor Visual Basic i wyświetli procedurę zdarzenia w module klasy. Możesz przewijać w górę lub w dół, aby wyświetlić dowolne inne procedury znajdujące się w tym samym module klasy.

Konwertowanie makr globalnych

  1. W okienku nawigacji kliknij prawym przyciskiem myszy makro, które chcesz przekonwertować, a następnie kliknij polecenie Widok projektu.

  2. Na karcie Projektowanie w grupie Narzędzia kliknij pozycję Konwertuj makra na język Visual Basic.

  3. W oknie dialogowym Konwertowanie makra wybierz odpowiednie opcje, a następnie kliknij przycisk Konwertuj.

    Program Access przekonwertuje makro i otworzy Edytor Visual Basic.

  4. Aby wyświetlić i edytować kod języka VBA:

    1. W Edytorze Visual Basic (jeśli okienko Eksplorator projektu nie jest wyświetlone) w menu Widok kliknij polecenie Eksplorator projektu.

    2. Rozwiń drzewo pod nazwą bazy danych, w której pracujesz.

    3. W obszarze Moduły kliknij dwukrotnie nazwę modułu Przekonwertowane makro-makro.

      W Edytorze Visual Basic zostanie otwarty ten moduł.

Dołączanie funkcji języka VBA do właściwości zdarzenia

Gdy konwertujesz makro globalne na język VBA, kod VBA jest umieszczany w standardowym module. W przeciwieństwie do modułu zajęć moduł standardowy nie jest częścią formularza lub raportu. Najprawdopodobniej zachodzi potrzeba skojarzenia funkcji z właściwością zdarzenia w formularzu, raporcie lub kontrolce w taki sposób, aby kod był uruchamiany dokładnie wtedy, gdy tylko chcesz. W tym celu można skopiować kod języka VBA do modułu zajęć, a następnie skojarzyć go z właściwością zdarzenia lub wykonać specjalną rozmowę z poziomu właściwości zdarzenia z modułem standardowym, wykonując poniższą procedurę.

  1. W Edytorze Visual Basic zanotuj nazwę funkcji. Jeśli na przykład zostało przekonwertowane makro o nazwie MojeMakro, nazwa funkcji będzie następująca: MojeMakro().

  2. Zamknij Edytor Visual Basic.

  3. W okienku nawigacji kliknij prawym przyciskiem myszy formularz lub raport, z którym chcesz skojarzyć funkcję, a następnie kliknij polecenie Widok projektu.

  4. Kliknij kontrolkę lub sekcję, z którą chcesz skojarzyć funkcję.

  5. Jeśli arkusz właściwości nie jest jeszcze wyświetlony, naciśnij klawisz F4, aby go wyświetlić.

  6. Na karcie Zdarzenie arkusza właściwości kliknij pole właściwości zdarzenia, z którą chcesz skojarzyć funkcję.

  7. W polu właściwości wpisz znak równości (=), a po nim nazwę funkcji— na przykład =MojeMakro(). Nie zapomnij o nawiasach.

  8. Zapisz formularz lub raport, klikając przycisk Zapisz na pasku narzędzi Szybki dostęp.

  9. W okienku nawigacji kliknij dwukrotnie formularz lub raport i przetestuj go, aby zobaczyć, czy kod jest uruchamiany zgodnie z oczekiwaniami.

Teraz znasz podstawowe kroki, aby dodać kod języka VBA do bazy danych. Ten artykuł zawiera opis tylko podstawowych czynności dotyczących rozpoczynania pracy. Istnieje wiele doskonałej dokumentacji referencyjnej i zasobów internetowych, które mogą pomóc w tworzeniu umiejętności programistycznych.

Początek strony

Subskrypcja umożliwiająca maksymalne wykorzystanie Twojego czasu

Potrzebna dalsza pomoc?

Rozwijaj umiejętności związane z pakietem Office
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów pakietu Office

Czy te informacje były pomocne?

Dziękujemy za opinię!

Dziękujemy za opinię! Wygląda na to, że połączenie Cię z jednym z naszych agentów pomocy technicznej pakietu Office może być pomocne.

×