Zagadnienia konwersji i zgodności

Nie można otworzyć bazy danych utworzonej w programie Microsoft Access 97 za pomocą wcześniejszych wersji programu Microsoft Access. Można jednak łączyć i importować tabele programu Microsoft Access 97 (w wersji 8.0) do baz danych programu Microsoft Access 95 (w wersji 7.0). Można także eksportować tabele wersji 8.0 do bazy danych wersji 7.0 oraz wycinać, kopiować lub wklejać dane z tabeli wersji 8.0 do tabeli wersji 7.0.

Można włączyć bazę danych utworzoną we wcześniejszych wersjach programu Microsoft Access, aby działała w programie Microsoft Access 97, ale nie można do niej dodawać nowych obiektów, ani zmieniać projektu obiektów istniejących.

Jeżeli próba konwersji bazy danych do programu Microsoft Access 97 nie powiedzie się, to można utworzyć nową bazę danych za pomocą programu Microsoft Access 97, a następnie importować do niej wszystkie obiekty z wcześniejszej wersji bazy danych.

Uwaga   Jeżeli zachodzi potrzeba udostępnienia bazy danych użytkownikom poprzednich wersji programu Microsoft Access, to do otwarcia wcześniejszej wersji bazy danych należy użyć opcji "Włącz" zamiast opcji "Konwertuj". W takim przypadku nie należy dokonywać konwersji bazy danych na format programu Microsoft Access 97.

Konwersja bazy danych

Konwersja zabezpieczonej bazy danych utworzonej w poprzedniej wersji programu Microsoft Access

Konwersja bibliotecznych baz danych i dodatków

Nowości dotyczące projektowania: przegląd

Zmienione nazwy właściwości

Zmienione i usunięte opcje w programie Microsoft Access 97

Konwersja kodu języka Access Basic na Visual Basic

Konwersja kodu wywołującego biblioteki DLL

Akcje makr i metody obiektu DoCmd

Konwersja kombinacji klawiszy SendKeys

Styl dla stałych wewnętrznych

Zgodność zakresu i nazewnictwa obiektów

Zgodność biblioteki obiektów DAO

Przykłady konwersji kodu dostępu do danych DAO


Konwersja bibliotecznych baz danych i dodatków

Aby wykorzystać dodatki lub biblioteczne bazy danych utworzone w poprzednich wersjach programu Microsoft Access, należy je poddać konwersji na format wersji 8.0, zanim będą mogły być użyte w aplikacjach programu Microsoft Access 97. Może być także konieczne wprowadzenie pewnych zmian w obiektach, makrach i procedurach w bibliotecznych bazach danych i dodatkach, w celu zapewnienia ich poprawnego działania.

Dodatkowe informacje na temat bibliotecznych baz danych można znaleźć w rozdziale 12, "Korzystanie z bibliotecznych baz danych i bibliotek dołączanych dynamicznie" w podręczniku Tworzenie Aplikacji Microsoft Access 97 lub w temacie Ustawianie odwołań do bibliotek typów.

Ładowanie bibliotecznych baz danych i odwoływanie się do nich

Przed użyciem biblioteki w programie Microsoft Access 97 należy utworzyć odwołanie do bibliotecznej bazy danych z każdej z aplikacji, która z niej korzysta. Takie odwołanie ustanawia się przez kliknięcie polecenia Odwołania w menu Narzędzia modułu w widoku "Projekt". Wywoływana baza danych musi być w formacie programu Microsoft Access 97.

Biblioteczna baza danych powinna zawierać tylko kod języka Visual Basic, który można wywoływać z dowolnej aplikacji zachowującej odwołanie do tej biblioteki. W wersjach 1.x i 2.0 programu Microsoft Access biblioteczna baza danych była ładowana przy uruchamianiu programu, dzięki umieszczeniu odpowiedniego wpisu w sekcji "Libraries" pliku .ini. Większość informacji przechowywanych w pliku .ini wersji 1.x i 2.0 została w późniejszych wersjach przeniesiona do rejestru systemu operacyjnego Windows. Jednakże, aby korzystać z bibliotecznej bazy danych nie trzeba tworzyć nowego klucza rejestru systemu Windows.

Cykliczne odwołania między bibliotekami

W wersjach 1.x i 2.0 programu Microsoft Access można było stosować cykliczne odwołania między bibliotekami. W późniejszych wersjach nie można już tego robić. Inaczej mówiąc, po utworzeniu odwołania z biblioteki A do biblioteki B, nie można utworzyć odwołania z biblioteki B do biblioteki A.

Niestandardowe zachowanie menu Dodatki

W wersjach 1.x i 2.0 programu Microsoft Access dodatki automatycznie pojawiały się w podmenu Dodatki menu Plik. W późniejszych wersjach programu podmenu Dodatki znajduje się w menu Narzędzia. W programie Microsoft Access 97 można także wywołać dodatki z dowolnego paska narzędzi lub menu.


Zgodność zakresu i nazewnictwa obiektów

Istniejące w języku Visual Basic zasady dotyczące zakresu działania nazw dotyczą nazw nadawanych obiektom, modułom i procedurom.

Moduły i inne obiekty o takich samych nazwach

Przy nadawaniu nazwy modułowi należy unikać przedrostków "Form_" i "Report_". Nadanie modułowi nazwy z tymi przedrostkami może spowodować konflikt z istniejącym kodem napisanym dla formularzy lub raportów.

Jeśli w aplikacji znajduje się moduł utworzony za pomocą wersji 1.x lub 2.0 programu Microsoft Access, który nie spełnia powyższych zasad nazewnictwa, to przy próbie konwersji aplikacji program Microsoft Access 97 zasygnalizuje wystąpienie błędu. Na przykład, moduł o nazwie Form_Orders w bazie danych Microsoft Access w wersji 1.x lub 2.0 spowoduje wystąpienie błędu i żądanie zmiany nazwy modułu przed konwersją.

Moduły i procedury o takich samych nazwach

Procedura może mieć taka samą nazwę jak moduł. Jednakże, aby wywołać tę procedurę z wyrażenia w dowolnym miejscu aplikacji, należy zastosować pełną nazwę procedury, zawierającą nazwę modułu i nazwę procedury, jak w poniższym przykładzie:

IsLoaded.IsLoaded("Orders")

Procedury i formanty o takich samych nazwach

Jeśli procedura jest wywoływana z formularza i ma ona tę samą nazwę co formant w formularzu, to w wywołaniu należy zastosować pełną nazwę procedury wraz z nazwą modułu, w którym ona rezyduje. Na przykład, aby wywołać procedurę o nazwie "PrintInvoice", znajdującą w module standardowym o nazwie "Utilities", a w formularzu jest także przycisk o tej samej nazwie "PrintInvoice", to przy wywołaniu procedury z formularza lub modułu formularza należy zastosować pełną nazwę Utilities.PrintInvoice.

Formanty o podobnych nazwach

Nie wolno używać dwóch formantów o nazwach różniących się tylko spacją lub symbolem. Na przykład, jeśli istnieje formant o nazwie [Last_Name], to nie wolno dodać formantu o nazwie [Last Name] lub [Last+Name].

Moduły o takich samych nazwach jak biblioteki typów

Nie wolno zapisać modułu pod taką samą nazwą jak nazwa biblioteki typów. Przy próbie zapisania modułu pod nazwą "DAO", "Access" albo "VBA", zostanie wygenerowany komunikat o błędzie, wskazujący na konflikt nazw z istniejącym modułem, projektem lub biblioteką obiektów. Podobnie, jeśli zostało utworzone odwołanie do innej biblioteki typów, takiej jak biblioteka typów Microsoft Excel, nie wolno zapisać modułu pod nazwą "Excel".

Pola o takich samych nazwach jak metody

Jeżeli pole w tabeli ma taką samą nazwę jak metoda obiektów dostępu do danych (DAO) w obiekcie Recordset, to w zestawie rekordów nie wolno odwoływać się do odpowiedniego pola stosując składnię z kropką (.). Należy zastosować składnię z wykrzyknikiem (!), ponieważ w przeciwnym wypadku zostanie zasygnalizowany błąd. W poniższym przykładzie pokazano sposób odwoływania się do pola o nazwie "AddNew" w zestawie rekordów otwartym w tabeli o nazwie "Contacts":

Dim dbs As Database, rst As Recordset

Set dbs = CurrentDb

Set rst = dbs.OpenRecordset("Contacts")

Debug.Print rst!AddNew

Moduły o takich samych nazwach jak funkcje języka Visual Basic

Jeżeli moduł zostanie zapisany z taką samą nazwą jak nazwa wewnętrznej funkcji języka Visual Basic, to przy próbie wywołania tej funkcji program Microsoft Access zasygnalizuje błąd. Na przykład, jeżeli moduł został zapisany pod nazwą "MsgBox", to przy próbie uruchomienia procedury wywołującej funkcję MsgBox program Microsoft Access zasygnalizuje błąd "Oczekiwano zmiennej lub procedury, a nie modułu”.

Moduły o takich samych nazwach jak obiekty

Jeżeli baza danych utworzona w poprzedniej wersji programu Microsoft Access zawiera moduł o takiej samej nazwie jak obiekt Microsoft Access lub obiekt dostępu do danych (DAO), to podczas konwersji tej bazy na format Microsoft Access 97 mogą wystąpić błędy kompilacji. Na przykład moduł o nazwie "Form" lub "Database" może spowodować błąd kompilacji. Aby uniknąć takich błędów, należy zmienić nazwę modułu.

Nadawanie nazw polom używanym w wyrażeniach lub polom związanym z formantami w formularzach i raportach

Przy tworzeniu pola w tabeli, które będzie związane z formantem w raporcie lub użyte w wyrażeniu we właściwości ControlSource (ŹródłoFormantu) formantu lub raportu, należy unikać nadawania polu takiej samej nazwy jak nazwa metody obiektu Application. Aby przejrzeć listę metod obiektu Application, należy kliknąć polecenie Przeglądarka obiektów menu Widok w widoku "Projekt" modułu. Następnie należy kliknąć opcję Access w okienku Projekt/Biblioteka, kliknąć opcję Application w okienku Klasy, po czym można obejrzeć metody obiektu Application w okienku Składowa.

Przy tworzeniu pola w tabeli, które będzie związane z formantem w formularzu lub raporcie, należy unikać nadawania polu następujących nazw: AddRef, GetIDsOfNames, GetTypeInfo, GetTypeInfoCount, Invoke, QueryInterface lub Release.

Identyfikatory o takich samych nazwach jak słowa kluczowe języka Visual Basic

Wersja języka Visual Basic używana w programie Microsoft Access 97 zawiera pewne nowe słowa kluczowe, których nie można używać jako identyfikatorów. Są to: AddressOf, Assert, Decimal, DefDec, Enum, Event, Friend, Implements, RaiseEvent i WithEvents. Podczas konwersji bazy danych zaprojektowanej przy użyciu wcześniejszych wersji programu Microsoft Access, obecność identyfikatorów o tych nazwach spowoduje błąd kompilacji. Aby usunąć ten problem, należy zmienić nazwy identyfikatorów.

Projekty o takich samych nazwach jak obiekty Microsoft Access

Nazwa projektu jest ciągiem znaków będącym nazwą aplikacji Microsoft Access. W poprzednich wersjach programu Microsoft Access nazwa projektu była nazwą bazy danych. W programie Microsoft Access 97 nazwa projektu jest określona przez ustawienie właściwości ProjectName (NazwaProjektu), a jej domyślnym ustawieniem jest nazwa bazy danych. Jeśli wykonywana jest konwersja bazy danych o takiej samej nazwie jak klasa obiektów, na przykład "application", "form" lub "report", program Microsoft Access doda znak podkreślenia do nazwy bazy danych, aby utworzyć nazwę projektu, która nie powoduje konfliktu z istniejącymi obiektami.


Akcje makr i metody obiektu DoCmd

Aby w programie Microsoft Access 97 wywołać akcję makra z już istniejącego kodu, należy użyć obiektu DoCmd i jego metod. Obiekt ten zastępuje instrukcję DoCmd używaną w wersjach 1.x i 2.0 programu Microsoft Access do wykonania akcji makra.

Podczas konwersji bazy danych program Microsoft Access automatycznie konwertuje wszystkie instrukcje DoCmd wraz z wykonywanymi przez nie akcjami w kodzie języka Access Basic na metody obiektu DoCmd, zastępując spację operatorem kropki (.).

Niektóre akcje makr działają w programie Microsoft Access 97 inaczej niż w wersjach 1.x, 2.0 lub 7.0; różnice są wyszczególnione poniżej.

Bazy danych utworzone za pomocą programu Microsoft Access 95

Akcja WykonajElementMenu

Akcja WykonajElementMenu nie jest już używana w programie Microsoft Access 97. Aby wykonać zadania wykorzystujące akcję WykonajElementMenu należy teraz użyć nowej akcji UruchomPolecenie.

Jeżeli baza danych utworzona za pomocą wcześniejszych wersji programu Microsoft Access zostanie włączona, to akcja WykonajElementMenu będzie działać, tak jak poprzednio.

Jeżeli baza danych utworzona za pomocą wcześniejszych wersji programu Microsoft Access zostanie poddana konwersji, to wszystkie akcje WykonajElementMenu w makrach zostaną zastąpione akcjami UruchomPolecenie, w trakcie pierwszej operacji zapisu makr po konwersji. Metody WykonajElementMenu używane w procedurach języka Visual Basic nie są zmieniane.

Bazy danych utworzone za pomocą programu Microsoft Access w wersji 1.x lub 2.0

Akcja TransportArkusza

Nie można importować arkuszy programu Microsoft Excel w wersji 2.0 ani arkuszy programu Lotus 1-2-3 w wersji 1.0 do programu Microsoft Access 97. Jeżeli poddawana konwersji baza danych zawiera makro dokonujące takiego importu poprzez użycie akcji TransportArkusza programu Microsoft Access w wersji 1.x lub 2.0, to konwersja albo zmieni argument typu arkusza na odpowiadający wersji 3.0 programu Microsoft Excel (jeżeli pierwotnie odpowiadał wersji 2.0 tego programu) albo spowoduje wystąpienie błędu (jeżeli argument pierwotnie odpowiadał formatowi programu Lotus 1-2-3 w wersji 1.0).

Aby rozwiązać ten problem, należy przed importem arkuszy do programu Microsoft Access dokonać konwersji samych arkuszy do najnowszych wersji programów Microsoft Excel lub Lotus 1-2-3.

Akcje TransportTekstu i TransportArkusza

W programie Microsoft Access 97 nie można użyć instrukcji SQL dla wskazania danych do eksportu, jeżeli używa się akcji TransportTekstu lub akcji TransportArkusza. Zamiast używania instrukcji SQL trzeba najpierw utworzyć kwerendę, a następnie określić jej nazwę w argumencie "Nazwa tabeli".

Porównania, w których występują wartości Null

Jeśli w programie Microsoft Access w wersjach 1.x i 2.0 porównywane są dwa wyrażenia, przy czym w makrze użyty jest operator porównania, a jednym z wyrażeń jest wartość Null, program Access Basic jako wynik porównania zwróci wartość Prawda (True) lub Fałsz (False), zależnie od rodzaju użytego operatora porównania. W programie Microsoft Access 95 i Microsoft Access 97, program  Visual Basic zwraca wartość Null jako wynik porównania, w którym jedno z wyrażeń jest wartością Null. Aby ustalić, czy wynikiem porównania będzie wartość Null, należy użyć funkcji IsNull.


Konwersja kodu Access Basic na Visual Basic
Konwersja kodu języka Access Basic na Visual Basic

W programie Microsoft Access 97 język Access Basic, używany w wersjach 1.x i 2.0 programu Microsoft Access, został zastąpiony przez język Visual Basic for Applications. Pod wieloma względami język Visual Basic jest identyczny z językiem Access Basic, a program Microsoft Access automatycznie wykonuje większość niezbędnych konwersji kodu podczas konwersji bazy danych.

Jednakże proces konwersji wprowadza pewne zmiany do kodu, o których należy wiedzieć. Ponadto, aby aplikacja działała poprawnie w programie Microsoft Access 97, należy wprowadzić samodzielnie pewne dodatkowe zmiany.

Uwaga   Opcja /runtime wiersza polecenia jest niedostępna w wersji autonomicznej lub w wersji Office Professional Edition programu Microsoft Access 97. Jednak opcja /runtime wiersza polecenia jest dostępna w wersji Office Developer Edition programu Microsoft Access 97.

Wywoływanie interfejsu programowania aplikacji Windows

Jeśli istniejący kod w wersji 1.x lub 2.0 języka Access Basic zawiera wywołania interfejsu programowania aplikacji Windows (API), to podczas konwersji bazy danych może wystąpić potrzeba modyfikacji tych wywołań. Wersje 1.x i 2.0 programu Microsoft Access są aplikacjami 16-bitowymi i działają w 16-bitowych wersjach systemu Windows. Program Microsoft Access 97 jest aplikacją 32-bitową i działa w 32-bitowych wersjach systemu Windows – Windows 95 i Windows NT.

Należy sprawdzić wszystkie instrukcje Declare, aby upewnić się, że odwołują się one do właściwych 32-bitowych bibliotek dołączanych dynamicznie (DLL). Na przykład, 32-bitowe wersje systemu Windows zawierają bibliotekę User32.dll, która we wcześniejszych wersjach systemu Windows nosiła nazwę User.dll. Więcej informacji można znaleźć w temacie Konwersja kodu wywołującego biblioteki DLL. Dodatkowe informacje można znaleźć także w sieci Internet pod hasłem "Dołączanie 16-bitowych rozwiązań dla Microsoft Office do 32-bitowych wersji programów Microsoft Office" w dziale informacji technicznej Microsoft Access Developer Web pod adresem http://www.microsoft.com/accessdev/

W interfejsie API systemu Windows zmieniły się nazwy niektórych funkcji. Ponadto funkcje w 32-bitowym interfejsie API systemu Windows rozróżniają wielkość liter. Pełny opis można znaleźć w dokumencie "Microsoft Win32 Software Development Kit".

Niektóre właściwości i argumenty opcjonalne są ściśle określane

Pewne właściwości, które w poprzednich wersjach programu Microsoft Access zwracały wartości typu Variant, obecnie zwracają ciągi znaków. Kod zawierający te właściwości będzie teraz działać szybciej; jednak przy konwersji bazy danych z poprzednich wersji programu Microsoft Access na format Microsoft Access 97 należy sprawdzić, czy nowe zwracane wartości nie wprowadzają błędów.

Ponadto niektóre opcjonalne argumenty, które w poprzednich wersjach programu Microsoft Access były typu Variant są obecnie ściśle określane. Dotyczy to metod, właściwości i funkcji takich, jak metoda GoToPage obiektu Form, metody OpenCurrentDatabase, Echo, Quit, CreateForm, CreateReport, CreateControl i CreateReportControl obiektu Application, właściwość Column pola kombi lub pola listy i funkcje agregujące domen. Jeśli kod zawiera którykolwiek z tych elementów, niezbędne jest sprawdzenie, czy po konwersji bazy danych nie zostały wprowadzone błędy.

Aby sprawdzić obecność błędów, należy najpierw skompilować cały kod w bazie danych. Następnie należy sprawdzić, czy po uruchomieniu kodu występują błędy w czasie wykonywania. Najczęściej spotykanymi błędami są pomyłki literowe lub nieprawidłowe użycie wartości Null.

Należy także sprawdzić, czy nie występują błędy nie sygnalizowane, które mogły być wprowadzone do kodu podczas konwersji bazy danych. Na przykład, właściwość RecordSource (ŹródłoRekordu) formantu zwracała poprzednio wartość typu Variant, a obecnie zwraca ciąg znaków. Ciąg nie może zawierać wartości Null, a wartość typu Variant może. Kod w przekształconej bazie danych sprawdzający, czy wartością właściwości RecordSource jest Null nie będzie już działać prawidłowo, ponieważ wartością tej właściwości nigdy nie będzie Null. Poniższa procedura jest przykładem kodu, który sprawdza, czy wartością właściwości RecordSource pola tekstowego jest Null.

Private Sub Form_Load()

If IsNull(Me.RecordSource) Then

Me.Recordsource = "Employees"

End If

End Sub

W programie Microsoft Access 97 funkcja IsNull nigdy nie zwróci wartości Prawda (True) jako wartości właściwości RecordSource. Jeśli ta właściwość nie została jeszcze ustawiona w poprzednim przykładzie, jej wartością jest pusty ciąg znaków, wartością zwracaną przez funkcję IsNull jest Fałsz (False), a procedura nigdy nie wejdzie do struktury If...Then w celu ustawienia właściwości RecordSource.

W poprawnym kodzie z poprzedniego przykładu należy użyć funkcji Len do sprawdzenia długości ciągu zwracanego przez właściwość RecordSource w celu ustalenia, czy jest to pusty ciąg. Poniższy wiersz koryguje kod z poprzedniego przykładu:

If Len(Me.RecordSource) = 0 Then

' Remainder of procedure here.

Zmiany w modułach

W wersjach 1.x i 2.0 programu Microsoft Access moduły zawierające ogólne procedury, nie związane z żadnym konkretnym modułem formularza lub raportu, były nazywane modułami globalnymi. W programie Microsoft Access 97 są one nazywane modułami standardowymi.

Program Microsoft Access 97 zawiera moduły klas, których można używać do tworzenia obiektów niestandardowych. Wszelkie procedury publiczne w module klasy stają się metodami i właściwościami obiektu niestandardowego przy tworzeniu nowej instancji klasy. Moduły klas istnieją zarówno niezależnie, jak i w powiązaniu z formularzami i raportami. Więcej informacji na temat modułów klas można znaleźć w temacie Programowanie z użyciem modułów klas.

Funkcje CurrentDb i DBEngine(0)(0)

Aby zwrócić zmienną obiektową Database wskazującą na bieżącą bazę danych, należy użyć funkcji CurrentDb zamiast DBEngine(0)(0). Funkcja CurrentDb tworzy drugą instancję bieżącej bazy danych, natomiast funkcja DBEngine(0)(0) odwołuje się  do otwartej kopii bieżącej bazy danych. Użycie funkcji DBEngine(0)(0) ogranicza możliwość użycia kilku zmiennych typu Database odwołujących się do bieżącej bazy danych.

Składnia DBEngine(0)(0) jest nadal obsługiwana, toteż program Microsoft Access nie zmienia kodu podczas procesu konwersji. Jednakże warto wprowadzić tę modyfikację kodu w celu uniknięcia ewentualnych konfliktów w środowisku sieciowym.

Funkcja CurDir

Funkcja CurDir działa inaczej niż w wersji 1.x lub 2.0 z powodu sposobu, w jaki aplikacje współdziałają z systemem Windows 95. Ponieważ każda aplikacja ma swój własny folder bieżący, ustawienie folderu bieżącego w systemie Windows 95 przez dwukrotne kliknięcie ikony nie wpływa na folder bieżący w programie Microsoft Access. Funkcja CurDir w systemie Microsoft Access 97 zawsze zwraca bieżącą ścieżkę.

Przypisywanie zmiennej obiektu OLE

Jeżeli w kodzie programu manipuluje się obiektami OLE lub innymi danymi binarnymi, to do przechowywania danych tego typu należy użyć tablicy bajtów. W wersjach 1.x i 2.0 programu Microsoft Access, w razie potrzeby manipulacji w kodzie obiektami OLE lub innymi danymi binarnymi o wymiarze mniejszym niż 64K, przypisywano je zmiennym typu ciąg znaków. Również dane zwracane przez metodę GetChunk były przypisywane tego typu zmiennym. Tymczasem język Visual Basic zawiera dane typu Byte oraz funkcje typu bajtowego, takie jak LeftB i RightB. W programie Microsoft Access 97 należy przechowywać dane binarne w tablicy bajtów zamiast w zmiennej typu ciąg znaków, a także używać funkcji typu bajtowego do manipulowania tymi danymi.

Deklarowanie kanałów DDE jako Variant lub Long

Jeżeli do otwarcia kanału DDE była użyta funkcja DDEInitiate, to zmienną o wartości typu Long, która zawiera numer kanału, można zadeklarować albo jako wartość typu Variant albo wartość typu Long. W wersjach 1.x i 2.0 programu Microsoft Access numer kanału był wartością typu Integer, tak że trzeba zmodyfikować w kodzie wszystkie deklaracje tworzące zmienne typu Integer do przechowywania numeru kanału.

Znak procentu (%) w ciągu znaków uniemożliwia jego konwersję

Zmiennej lub polu typu danych liczbowych nie można przypisać ciągu znaków zawierającego znak procentu, tak jak w poniższym przykładzie:

Dim intX As Double

intX = "10"	' Instrukcja poprawna.

intX = "10%"	' Instrukcja błędna.

Właściwość hWnd

Jeżeli w kodzie jest wykorzystywana właściwość hWnd w celu przekazania do podprogramu systemu Windows uchwytu okna formularza lub raportu, to wartość uchwytu powinna być przekazana bezpośrednio do podprogramu. Nie można przypisać wartości tej właściwości zmiennej. Na przykład:

If Not IsZoomed(Screen.ActiveForm.hWnd) Then

DoCmd.Maximize

EndIf

W wersjach 1.x i 2.0 programu Microsoft Access właściwość hWnd formularza lub raportu była wartością typu Integer. W programie Microsoft Access 97 właściwość hWnd jest wartością typu Long, co wymaga wprowadzenia zmian w kodzie.

Obiekty właściwości dostępu do danych (DAO) a obiekty właściwości programu Microsoft Access

Nie można używać w kodzie zmiennej obiektowej w celu odwołania się do właściwości Category. Właściwość Category nie jest już obsługiwana dla obiektów Form, Report i Control.

Właściwość Parent

Jeżeli w programie Microsoft Access 97, w kodzie lub w wyrażeniu formularza lub raportu, użyta jest właściwość Parent formantu, to zwykle zwraca ona obiekt Form lub Report, który zawiera formant. Na przykład, jeżeli "CategoryID" jest polem tekstowym w formularzu "Categories", to kod Forms!Categories!CategoryID.Parent zwraca odwołanie do formularza "Categories". Istnieją dwa wyjątki: dla dołączonych etykiet właściwość Parent zwraca formant, do którego jest dołączona etykieta; dla formantów w grupie opcji zwraca ona formant grupy opcji.

Wywoływanie kodu w kreatorach programu Microsoft Access

Jeśli w kodzie aplikacji w wersji 1.x lub 2.0 zawarte są wywołania procedur w kreatorach programu Microsoft Access, to po konwersji aplikacji należy ustanowić odwołanie z aplikacji do bazy danych kreatorów, zawierającej wywoływane procedury. Dodatkowe informacje na temat ustanawiania odwołań można znaleźć w temacie Ustawianie odwołań do bibliotek typów.

W programie Microsoft Access w wersji 2.0 nie było rozróżnienia między kreatorami i bibliotekami, toteż ich globalny kod był zawsze dostępny dla bieżącej bazy danych. W programie Microsoft Access 97 kreatorzy i inne dodatki nie są już traktowane jak biblioteki. Ponadto, ponieważ kreatorzy mogą się znacznie zmieniać w zależności od wersji programu Microsoft Access, może być konieczne ponowne napisanie części kodu, aby go dostosować do zmian wynikłych z uaktualnienia programu do nowej wersji Microsoft Access.

Funkcje realizowane przez kod usunięty z kreatorów programu Microsoft Access, takie jak AutoTelefon, zostały dodane do pliku Utility.mda, specjalnej bibliotecznej bazy danych dostarczanej wraz z programem Microsoft Access. Odwołanie do tej biblioteki jest automatycznie dodawane podczas konwersji bazy danych na format Microsoft Access 97.

Ustawianie odwołania do bazy danych programu Microsoft Access

Nie można ustawić odwołania z programu Microsoft Access 97 do bazy danych utworzonej w poprzedniej wersji programu Microsoft Access. Aby było możliwe ustawienie odwołania do bazy danych, należy ją poddać konwersji na format programu Microsoft Access 97.

Obsługa błędów automatyzacji

W wersjach 1.x i 2.0 programu Microsoft Access składniki typu ActiveX, które obsługują automatyzację (nazywane dawniej serwerami automatyzacji OLE) zwracają błąd pojedynczy. Obecnie język Visual Basic umożliwia składnikom typu ActiveX zwracanie informacji o błędzie, właściwych dla zaistniałego błędu. Jeśli istniejące bazy danych zawierają kod przeznaczony do obsługi pojedynczego błędu automatyzacji, może być konieczne uaktualnienie tego kodu w celu obsługi ściślej określonych błędów, które mogą być obecnie zwracane.

Błędy programu Microsoft Access i funkcja Error

W programie Microsoft Access 97, w celu otrzymania informacji o błędach można używać właściwości obiektu Err.

Jeżeli wystąpi błąd programu Microsoft Access, to numer błędu oraz jego opis można otrzymać wykorzystując właściwości Number i Description obiektu Err, jak to zostało pokazane w poniższym przykładzie:

Debug.Print Err.Number, Err.Description

Aby zwrócić informacje o błędach programów Microsoft Access, języka Visual Basic lub obiektów dostępu do danych (DAO), należy użyć metody AccessError. Za pomocą metody AccessError można otrzymać informacje o błędzie bez względu na to, czy dany błąd rzeczywiście wystąpił.

Wykrzyknik i kropka przy odwołaniach do pól DAO

Jeżeli w aplikacjach utworzonych w wersji 1.x lub 2.0 programu Microsoft Access użyto składni operatora z kropką (.) podczas odwołania do obiektu Field obiektu Recordset, to te odwołania muszą być zmodyfikowane przez użycie składni operatora z wykrzyknikiem (!). Chcąc utrzymać poprzednią składnię operatora z kropką (.), należy ustanowić odwołanie do biblioteki zgodności Microsoft DAO 2.5/3.5 w oknie dialogowym Odwołania, dostępnym przez kliknięcie polecenia Odwołania menu Narzędzia w widoku "Projekt" modułu.

Konwertowane formanty typu ActiveX

Jeżeli aplikacja zawiera formanty typu ActiveX (nazywane dawniej formantami OLE lub niestandardowymi), które zostały utworzone w wersji 2.0, może wystąpić potrzeba wstawienia słowa kluczowego ByVal przed argumentami, które są przekazywane do procedur zdarzeń wywoływanych ze zdarzeń formantów typu ActiveX, jak to zostało pokazane w poniższym przykładzie:

Sub ChangeMonth_Click(ByVal intCurrentYear As Integer)

Aby ustalić, czy argument ma być przekazywany przez wartość, należy kliknąć polecenie Kompiluj wszystkie moduły menu Analiza programu w widoku "Projekt" modułu. Jeżeli wystąpi błąd "Deklaracja procedury zdarzenia nie jest zgodna z opisem zdarzenia o tej samej nazwie", to należy wstawić słowo kluczowe ByVal przed argumentem.

Ponieważ w programie Microsoft Access 97 udoskonalono sprawdzanie typu argumentów, nowe procedury zdarzeń utworzone dla formantów typu ActiveX mają automatycznie wstawione słowo kluczowe ByVal w miejscach, w których jest to potrzebne.

Wywoływanie procedur w modułach formularzy i raportów

W wersjach 1.x i 2.0 programu Microsoft Access niemożliwe było wywoływanie procedury zdefiniowanej w formularzu lub raporcie z innego miejsca niż moduł formularza lub raportu. W programie Microsoft Access 97 procedurę publiczną w module formularza lub raportu można wywoływać z dowolnej innej procedury w bieżącej bazie danych. Nazwę procedury należy poprzedzić nazwą klasy modułu formularza lub raportu. Na przykład procedurę "DisplayMessage", zdefiniowaną w module formularza "Orders", należałoby wywołać w następujący sposób:

Form_Orders.DisplayMessage

Procedury wywoływane z zewnątrz formularza lub raportu, jeśli to możliwe, lepiej jest umieszczać w module standardowym, a nie w module formularza lub raportu.

Odwołania do formularzy, raportów i formantów w oknie analizy programu

Podczas testowania i analizy kodu należy stosować pełne nazwy wszystkich odwołań do obiektów używanych w oknie analizy programu, jeśli wykonanie kodu nie zostało zawieszone w module formularza lub raportu. Oznacza to, że w okienku bezpośrednim okna analizy programu, do odwołania do formantu "CategoryID" w formularzu "Categories" w widoku "Formularz", należy używać kodu Forms!Categories!CategoryID, a nie po prostu CategoryID, nawet jeśli formularz "Categories" jest formularzem bieżącym.

Podobnie, w oknie analizy programu do odwołania do obiektu w formularzu lub raporcie, nie wolno używać słowa kluczowego Me, gdy ten formularz lub raport jest w widoku "Projekt", o ile wykonanie kodu nie zostało zawieszone w module formularza lub raportu.

Konwersja formularzy i raportów zawierających formanty typu ActiveX

Podczas konwersji bazy danych Microsoft Access 2.0 do użytkowania w programie Microsoft Access 97 (wersja 8.0), formanty typu ActiveX w formularzach i raportach mogą nie zostać konwertowane automatycznie. Program Microsoft Access 2.0 obsługiwał 16-bitowe formanty OLE, natomiast wersja 8.0 obsługuje tylko 32-bitowe formanty typu ActiveX.

Przy konwersji bazy danych z formularzem lub raportem zawierającym 16-bitową wersję formantu typu ActiveX, gdy wersji 32-bitowej jeszcze nie ma w systemie, program Microsoft Access wygeneruje komunikat o błędzie. Należy uzyskać 32-bitową wersję każdego formantu typu ActiveX, który ma być zaktualizowany i zarejestrowany w rejestrze systemu. Następnie należy zapisać formularz lub raport w konwertowanej bazie danych, zamknąć, a następnie ponownie otworzyć bazę danych.

Włączanie bazy danych utworzonej w poprzedniej wersji programu Microsoft Access

Przy włączaniu dużej bazy danych utworzonej w wersji 1.x lub 2.0 programu Microsoft Access, bez jej konwersji na format Microsoft Access 97, może być konieczne powiększenie maksymalnego rozmiaru bufora ponad wartość domyślną. Aby zmienić to ustawienie, należy otworzyć rejestr systemu Windows i przejść do pozycji \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\3.0\Engines\Jet 2.x. Należy teraz utworzyć nowy klucz o nazwie ISAM, a następnie w obrębie tego klucza utworzyć nową wartość typu DWORD o nazwie MaxBufferSize. Wartość tę trzeba ustawić na wartość dziesiętną 1024. Dodatkowe informacje na temat edycji rejestru Windows można znaleźć w dokumentacji systemu Microsoft Windows

Zmiana nazwy bazy danych

Po zmianie nazwy bazy danych skompilowany kod w bazie danych zostanie zdekompilowany. Aby ponownie skompilować kod i zapisać wszystkie moduły w stanie skompilowanym, należy otworzyć bazę danych, otworzyć moduł w widoku "Projekt", kliknąć polecenie Kompiluj i zapisz wszystkie moduły w menu Analiza programu.

Wartości godzin w kryteriach kwerend

Po konwersji bazy danych z wersji 1.x lub 2.0 na format programu Microsoft Access 97, kwerendy zawierające kryteria oparte na wartościach godzin w polach typu Data/godzina mogą zwracać inne wyniki niż otrzymywane w poprzednich wersjach. Może to się także zdarzyć po połączeniu tabel z bazy danych utworzonej w wersjach 1.x lub 2.0 z bazą danych programu Microsoft Access 97. Problemy te dotyczą tylko części godzinowej pola typu Data/godzina.

Funkcje języka Visual Basic nie obsługiwane w wyrażeniach

Poniższych sześciu funkcji języka Visual Basic nie wolno już używać w wyrażeniach poza definiowaną przez użytkownika procedurą Sub lub Function:

EOF	Loc
FileAttr	LOF
FreeFile	Seek
Jeśli którejś z tych funkcji trzeba użyć w wyrażeniu poza procedurą, można wywołać tę funkcję z wywoływanej z wyrażenia funkcji definiowanej przez użytkownika.

Numery wierszy w procedurach języka Visual Basic

Instrukcjom w procedurach języka Visual Basic nie można przypisywać numerów wierszy większych niż 65 529. Jeśli konwertowana aplikacja w wersji 1.x lub 2.0 programu Microsoft Access zawiera numery wierszy większe niż 65 529, należy je zmodyfikować, aby znalazły się w dopuszczalnym zakresie.

Przyciski "Następna procedura" i "Poprzednia procedura"

Przyciski "Następna procedura" i "Poprzednia procedura", które w wersjach 1.x i 2.0 znajdowały się na pasku narzędzi w oknie modułu nie są dostępne w programie Microsoft Access 97. Po konwertowaniu bazy danych w wersji 1.x lub 2.0 z niestandardowym paskiem narzędzi zawierającym jeden z tych przycisków, nie zostanie zasygnalizowany błąd, lecz klikanie przycisków będzie bezskuteczne.

Błąd "Brak pamięci" w trakcie konwersji dużych baz danych

Język Visual Basic for Applications ogranicza do 1082 liczbę modułów w jednej bazie danych, a każdy z formularzy i raportów zawiera jeden moduł. Aby rozwiązać ten problem, należy zmniejszyć liczbę obiektów w bazie danych albo podzielić aplikację na kilka baz danych. Jeżeli moduły zawierają długi kod, można do jego przechowania wykorzystać biblioteczne bazy danych.

Formatowanie wartości Null i ciągów o zerowej długości

W wersji 2.0 programu Microsoft Access można wykorzystać funkcję Format, aby zwrócić jedną wartość dla ciągu znaków zerowej długości i inną dla wartości Null; podobnie można użyć właściwości Format, aby automatycznie sformatować pola tabeli w widoku "Arkusz danych" lub formanty w formularzu lub raporcie. Na przykład, można użyć wyrażenia formatującego, jak poniżej, razem z funkcją Format, aby zwrócić z kodu odpowiednią wartość typu ciąg znaków:

Dim var As Variant, strX As String

' Assign some value to strX and pass to Format function.

var = Format(strX, "@;ZLS;Null")

W programie Microsoft Access 97 trzeba specjalnie sprawdzać, czy wystąpiła wartość Null, a następnie, w zależności od wyniku, zwracać odpowiednią wartość. Na przykład, można wykorzystać funkcję IIf w wyrażeniu razem z funkcją Format, jak poniżej:

var = IIf(IsNull(strX),"Null", Format(strX, "@;ZLS"))

Powyższa zmiana ma zastosowanie tylko wtedy, gdy funkcja Format jest wykorzystywana do formatowania wartości zależnie od tego, czy jest ona ciągiem znaków zerowej długości, czy też wartością Null. Inne wyrażenia formatujące używane razem z funkcją Format działają tak, jak w poprzednich wersjach.

Aby można było używać tych metod, trzeba przy konwersji bazy danych z wersji 2.0 programu Microsoft Access na format programu Microsoft Access 97 zmienić wszystkie ustawienia w kodzie i właściwościach. Nie można używać właściwości Format w widoku "Arkusz danych" tabeli do odróżniania wartości Null od ciągów znaków o zerowych długościach.


Zgodność biblioteki obiektów DAO

Program Microsoft Access 97 zawiera nowe obiekty dostępu do danych (DAO), metody i właściwości w miejsce starych, występujących w wersjach 1.x, 2.0 i 7.0. Chociaż kod w programie Microsoft Access 97 jest zgodny ze wszystkimi poprzednimi kodami DAO, przyszłe wersje programu Microsoft Access mogą nie zapewniać obsługi niektórych starszych obiektów, metod i właściwości. Następne paragrafy ułatwią wykorzystanie zgodności programu Microsoft Access 97 z poprzednimi wersjami. Mogą także ułatwić tworzenie nowych aplikacji i modyfikację bieżących, aby przygotować je do konwersji na przyszłe wersje programu Microsoft Access.

Wykorzystywanie zgodności z poprzednimi wersjami

Chcąc nadal korzystać w aplikacji ze starych wersji obiektów DAO, metod i właściwości, należy najpierw ustanowić odwołanie do biblioteki zgodności Microsoft DAO 2.5/3.5. Odwołania ustanawia się w oknie dialogowym Odwołania, dostępnym przez kliknięcie polecenia Odwołania w menu Narzędzia w widoku "Projekt" modułu. Biblioteka zgodności Microsoft DAO 2.5/3.5 zapewnia całkowitą zgodność z poprzednimi wersjami 1.x, 2.0 i 7.0 programu Microsoft Access. Odwołanie do tej wersji biblioteki jest dodawane do aplikacji w wersjach 1.x, 2.0 i 7.0 konwertowanych na format programu Microsoft Access 97.

Biblioteka obiektów Microsoft DAO 3.5 nie zawiera starszych obiektów, metod i właściwości i jest wybierana domyślnie przy tworzeniu nowej bazy danych. Wszystkie nowe aplikacje tworzone w programie Microsoft Access 97 powinny odwoływać się tylko do biblioteki obiektów Microsoft DAO 3.5, aby zagwarantować, że aplikacja nie korzysta ze starych metod. Ponadto, jeżeli aplikacja odwołuje się tylko do biblioteki obiektów Microsoft DAO 3.5, to przy rozpowszechnianiu aplikacji wśród innych użytkowników nie trzeba rozprowadzać biblioteki zgodności Microsoft DAO 2.5/3.5.

Wskazówka   Chcąc się upewnić, że aplikacja korzysta tylko z obiektów, metod i właściwości z biblioteki obiektów Microsoft DAO 3.5, można wyczyścić pole wyboru Biblioteka zgodności Microsoft DAO 2.5/3.5 w oknie dialogowym Odwołania, sprawdzić, czy jest zaznaczone pole wyboru Biblioteka obiektów Microsoft DAO 3.5, a następnie ponownie skompilować aplikację klikając polecenie Kompiluj wszystkie moduły w menu Analiza programu w widoku "Projekt" modułu. Jeśli aplikacja zostanie bezbłędnie skompilowana, nie trzeba dalej utrzymywać odwołania do biblioteki zgodności Microsoft DAO 2.5/3.5, a zarazem jest pewność, że aplikacja będzie działać w następnej wersji biblioteki DAO.

Przygotowanie do konwersji na przyszłe wersje

W poniższej tablicy została podana lista obiektów, metod i właściwości, które nie zostały dołączone do biblioteki obiektów Microsoft DAO 3.5 oraz lista zastępujących je nowych obiektów. Modyfikując kod napisany w poprzednich wersjach programu Microsoft Access, należy używać nowych elementów umieszczonych w drugiej kolumnie. Dzięki temu aplikacja będzie przygotowana do konwersji na przyszłe wersje programu Microsoft Access, gdy elementy z pierwszej kolumny nie będą już dostępne.

Przykłady modyfikacji kodu można znaleźć w temacie Przykłady konwersji kodu dostępu do danych (DAO).

Funkcje nieobecne w  DAO 3.5	Zalecane odpowiedniki DAO 3.5
FreeLocks	Metoda Idle obiektu DBEngine (zbędna w bazach danych Microsoft Access 97)
SetDefaultWorkspace	Właściwości DefaultUser/DefaultPassword obiektu DBEngine
SetDataAccessOption	Właściwość IniPath obiektu DBEngine
Baza danych.BeginTrans	Obszar roboczy.BeginTrans
Baza danych.CommitTrans	Obszar roboczy.CommitTrans
Baza danych.CreateDynaset	Baza danych.OpenRecordset typu dbOpenDynaset
Baza danych.CreateSnapshot	Baza danych.OpenRecordset typu dbOpenSnapshot
Baza danych.DeleteQueryDef	Metoda Delete kolekcji QueryDefs
Baza danych.ExecuteSQL	Metoda Baza danych.Execute i właściwość Baza danych.RecordsAffected
Baza danych.ListTables	Kolekcja Baza danych.TableDefs
Baza danych.OpenQueryDef	Kolekcja Baza danych.QueryDefs
Baza danych.OpenTable	Baza danych.OpenRecordset typu dbOpenTable
Baza danych.Rollback	Obszar roboczy.Rollback
Metoda ListFields obiektów Table, Dynaset i Snapshot	Kolekcja Recordset.Fields
Tabela.ListIndexes	Kolekcja TableDef.Indexes
QueyDef.CreateDynaset	QueyDef.OpenRecordset
QueyDef.CreateSnapshot	QueyDef.OpenRecordset
QueyDef.ListParameters	Kolekcja QueyDef.Parameters
Obiekt Dynaset	Obiekt Recordset typu dynamiczny zestaw
Obiekt Snapshot	Obiekt Recordset typu utrwalony zestaw
Obiekt Table	Obiekt  Recordset typu tabela
Metoda CreateDynaset obiektów Dynaset i QueryDef	Recordset.OpenRecordset z parametrem dbOpenDynaset
Metoda CreateSnapshot obiektów Dynaset i QueryDef	Recordset.OpenRecordset z parametrem dbOpenSnapshot


Styl dla stałych wewnętrznych

W programie Microsoft Access 97 wszystkie stałe wewnętrzne są umieszczone w bibliotekach typów i są widoczne w oknie Przeglądarki obiektów. Program Microsoft Access zawiera biblioteki typów dla programu Microsoft Access, obiektów dostępu do danych (DAO), i języka Visual Basic. Każda z tych bibliotek typów zawiera stałe wewnętrzne.

Dodatkowo, stałe wewnętrzne w programie Microsoft Access 97 są mieszaniną małych i wielkich liter, a części stałych są łączone, a nie rozdzielane znakami podkreślenia. Na przykład stała A_NORMAL w wersjach 1.x i 2.0 ma obecnie postać acNormal.

Stałe wewnętrzne w bazach danych tworzonych we wcześniejszych wersjach programu Microsoft Access nie zostaną automatycznie konwertowane na nowy format, lecz będą nadal działać bez powodowania błędów. Jednakże przy pisaniu nowego kodu zaleca się stosowanie nowego formatu.


Konwersja kombinacji klawiszy SendKeys

Zmiany w oknach dialogowych i menu dokonywane w trakcie konwersji bazy danych z wersji 1.x lub 2.0 na format programu Microsoft Access 97 mogą wymagać ponownego napisania kodu instrukcji SendKeys lub akcji WyślijKlawisze (SendKeys). Na przykład podmenu Dodatki zostało przeniesione z menu Plik do menu Narzędzia, a poprzednie podmenu Importuj, Eksportuj i Przyłącz w menu Plik zmieniły się na podmenu Pobierz dane zewnętrzne i Zapisz jako/Eksportuj. Ponieważ podobne zmiany mogą wystąpić w każdej nowej wersji programu Microsoft Access, warto unikać używania instrukcji i akcji WyślijKlawisze (SendKeys) do wykonywania poleceń i wypełniania okien dialogowych, kiedy tylko jest to możliwe.

Poniżej podano kilka wskazówek pozwalających unikać stosowania instrukcji lub akcji WyślijKlawisze:

•	Przed użyciem instrukcji lub akcji WyślijKlawisze do wykonania polecenia menu należy sprawdzić, czy istnieje równoważna akcja makro lub metoda języka Visual Basic. Większość poleceń często wykonywanych przez polecenie menu lub opcję ma swoje równoważne akcje lub metody. Na przykład, można teraz używać metody Dropdown pola kombi zamiast kodu SendKeys "{F4}".

•	Jeśli polecenie menu nie ma równoważnej akcji ani metody, do jego wykonania należy użyć akcji UruchomPolecenie zamiast instrukcji lub akcji WyślijKlawisze.

•	Należy unikać używania instrukcji lub metody SendKeys do ustawiania opcji w oknie dialogowym Opcje. Nowe wersje programu Microsoft Access mają nowe oraz zmienione opcje, toteż kod w instrukcji SendKeys może się okazać wadliwy. Zamiast tego należy używać metod GetOption i SetOption.

•	Gdy instrukcja SendKeys jest używana do wykonania akcji, warto wykorzystać wbudowane stałe dla kodów klawiszy lub zadeklarować stałe dla wartości w instrukcji SendKeys. Zdefiniowanie klawiszy jako stałych ułatwi aktualizację kodu w przyszłości.

•	W wersji 2.0 programu Microsoft Access można argument "Klawisze" akcji WyślijKlawisze ująć w cudzysłów, ale nie jest to wymagane. Jednak użycie cudzysłowu w następnych wersjach programu Microsoft Access spowoduje wystąpienie błędu. Aby użyć cudzysłów w argumencie "Klawisze", trzeba go użyć dwukrotnie, tak jak w wyrażeniu: Michael ""Mick"" Suyama. Błąd może także wystąpić, jeżeli argument "Klawisze" zawiera niewłaściwą składnię, pisownię lub inne wartości, nie będące odpowiednimi dla okna, do którego klawisze są wysyłane.


Konwersja tabel, formularzy i raportów programu Microsoft Access

Liczne zmiany wprowadzone w programie Microsoft Access 97 mogą mieć wpływ na działanie aplikacji w wersji 1.x lub 2.0. Następne paragrafy zawierają dodatkowe informacje na temat tych zmian.

Indeksy i relacje

Tabela Microsoft Access może zawierać do 32 indeksów. Bardzo złożone tabele, które są częścią wielu relacji, mogą przekroczyć limit liczby indeksów, co uniemożliwi konwersję bazy danych zawierającej te tabele. Wersja 3.5 aparatu bazy danych Microsoft Jet tworzy indeksy po obu stronach relacji między tabelami. Jeśli baza danych nie poddaje się konwersji, należy usunąć niektóre relacje i ponowić próbę konwersji.

Właściwość LimitToList (OgraniczDoListy) pól kombi

W programie Microsoft Access 97 pola kombi akceptują wartości Null, gdy właściwość LimitToList  ma wartość True (–1), bez względu na to, czy lista zawiera wartości Null. W wersji 2.0 pole kombi, którego właściwość LimitToList ma wartość True, nie akceptowałoby wartości Null, jeśli lista nie zawierałaby wartości Null. Chcąc uniemożliwić użytkownikom wprowadzanie wartości Null za pomocą pola kombi, należy ustawić właściwość Required (Wymagane) pola w tabeli na wartość Tak.

Menu i aktywowanie obiektów OLE w miejscu

Aby zapewnić dostępność dodatkowych funkcji podczas aktywowania obiektów OLE w miejscu, niektóre polecenia mogły zostać przeniesione do menu, które nie jest zastępowane, podczas aktywowania serwera OLE.

W aplikacji poddanej konwersji, makra wykorzystujące akcję WykonajElementMenu do wykonania polecenia menu wersji 2.0, gdy jest aktywowany serwer OLE, nie zostaną zmienione. Polecenia wersji 2.0 są mapowane na ich odpowiedniki w programie Microsoft Access 97.

Odwołanie do formantu w formularzu tylko do odczytu

W programie Microsoft Access 97 nie można użyć wyrażenia, aby odwołać się do wartości formantu w formularzu tylko do odczytu, który jest związany z pustym źródłem rekordów. W poprzednich wersjach wyrażenie zwróciłoby wartość Null. Przed odwołaniem się do formantu w formularzu tylko do odczytu należy się upewnić, że źródło rekordów formularza rzeczywiście zawiera rekordy.

Pola typu Data i wprowadzanie danych

Jeśli do pola typu Data w formularzu lub w arkuszu danych tabeli zostanie wprowadzona wartość 3/3, program Microsoft Access 97 automatycznie wpisze bieżący rok. Jeśli jednak do tego samego pola zostanie wprowadzona wartość 3/3/, program Microsoft Access zwróci komunikat o błędzie. Aby program Microsoft Access mógł konwertować datę na poprawny format, należy pominąć ostatni separator daty.

Przyciski utworzone za pomocą Kreatora przycisków

Jeśli w wersjach 2.0 lub 7.0 programu Microsoft Access używany był Kreator przycisków do generacji kodu wywołującego inną aplikację, należy usunąć ten przycisk i utworzyć go ponownie za pomocą Kreatora przycisków w programie Microsoft Access 97.

Moduły klas formularzy i raportów

W poprzednich wersjach programu Microsoft Access, obiekty Form i Report były związane z modułami klas nawet wtedy, gdy nie posiadały swojego kodu. W programie Microsoft Access 97 można ustawić właściwość HasModule (MaModuł) formularza lub raportu na wartość False. Jeżeli właściwość HasModule zostanie ustawiona na False, to formularz lub obiekt zajmie mniej miejsca na dysku i będzie szybciej wczytywany, ponieważ nie będzie mieć związanego ze sobą modułu klasy.

Inne marginesy w raporcie konwertowanym z wersji 2.0

W programie Microsoft Access 97 mogą wystąpić problemy w trakcie drukowania lub podglądu raportu konwertowanego z wersji 2.0 programu Microsoft Access, jeżeli niektóre marginesy w raporcie były ustawione na wartość 0. Podczas konwersji raportu z wersji 2.0 programu Microsoft Access marginesy nie są ustawiane na wartość 0, ale na minimalną wartość dla domyślnej drukarki. Jest to zabezpieczenie przed drukowaniem danych raportu poza obszarem dopuszczanym przez drukarkę.

Aby rozwiązać ten problem należy zmniejszyć szerokość kolumny, odstępy między kolumnami lub liczbę kolumn w raporcie, tak aby suma szerokości kolumn i domyślnych marginesów nie przewyższała szerokości papieru.

Nie można używać właściwości Format do rozróżniania wartości Null i ciągów znaków zerowej długości

W wersjach 1.x i 2.0 można było używać właściwości Format formantu, aby wyświetlać różne wartości dla wartości Null i dla ciągów znaków zerowej długości (" "). W programie Microsoft Access 97, aby w formancie formularza odróżnić wartości Null od ciągów znaków zerowej długości, należy ustawić właściwość ControlSource (ŹródłoFormantu) na wyrażenie, które sprawdza wystąpienie wartości Null. Na przykład, aby wyświetlić ciąg znaków "Null" lub "ZLS" w formancie, należy jego właściwość ControlSource ustawić na następujące wyrażenie:

=IIf(IsNull([MyControl]), "Null", Format([MyControl], "@;ZLS"))


Etykieta, formant

Na etykietach formularza lub raportu wyświetlany jest opisowy tekst, taki jak tytuł lub krótka instrukcja. Etykiety mają następujące cechy charakterystyczne:

•	Na etykietach nie są wyświetlane wartości pól ani wyrażeń.

•	Etykiety są zawsze nie związane.

•	Etykiety nie zmieniają się przy przechodzeniu od rekordu do rekordu.

Formant:	Narzędzie:
Uwagi

Etykieta może być przyłączona do innego formantu. Po utworzeniu, na przykład, pola tekstowego, ma ono przyłączoną etykietę wyświetlającą tytuł pola. Etykieta ta jest wyświetlana jako nagłówek kolumny w widoku "Arkusz danych" formularza.

Gdy etykieta tworzona jest za pomocą narzędzia Etykieta, etykieta występuje niezależnie – nie jest przyłączona do żadnego innego formantu. Niezależne etykiety służą do wyświetlania informacji, takich jak tytuł formularza lub raportu lub inny tekst opisowy. Etykiety niezależne nie są wyświetlane w widoku "Arkusz danych".


Pole tekstowe, formant

Pola tekstowe mogą być używane w formularzu lub raporcie do wyświetlania danych z tabeli, kwerendy lub instrukcji SQL. Ten typ pola tekstowego jest nazywany związanym polem tekstowym, ponieważ jest związany z danymi w polu. Pola tekstowe mogą być także niezwiązane. Można na przykład utworzyć niezwiązane pole tekstowe do wyświetlania wyników obliczenia albo do wprowadzania danych przez użytkownika. Dane w niezwiązanym polu tekstowym nie są zapisywane wraz z bazą danych.

Formant:	Narzędzie:


Pole wyboru, formant

Pole wyboru może być używane w formularzu lub raporcie jako niezależny formant do wyświetlania wartości Tak/Nie z tabeli podstawowej, kwerendy lub instrukcji SQL.

Formant:	Narzędzie:
Uwagi

Jeśli jest umieszczany lub usuwany znak zaznaczenia w polu wyboru, które jest związane z polem typu Tak/Nie, w tabeli podstawowej wartość jest wyświetlana zgodnie z właściwością Format tego pola (Tak/Nie, Prawda/Fałsz lub Wł/Wył).

Pola wyboru można także stosować w grupie opcji do wyświetlania wartości do wyboru.

Możliwe jest także użycie niezwiązanego pola wyboru w niestandardowym oknie dialogowym, przeznaczonym do wprowadzania danych przez użytkownika.


Przycisk przełącznika, formant

Przycisk przełącznika może być używany w formularzu jako niezależny formant do wyświetlania wartości Tak/Nie z tabeli podstawowej, kwerendy lub instrukcji SQL.

Formant:	Narzędzie:
Uwagi

Kliknięcie przycisku przełącznika, który jest związany z polem typu Tak/Nie, w tabeli podstawowej wartość jest wyświetlana zgodnie z właściwością Format tego pola (Tak/Nie, Prawda/Fałsz lub Wł/Wył).

Przyciski przełączników są najbardziej przydatne, gdy są używane w grupie opcji wraz z innymi przyciskami.

Możliwe jest także użycie przycisku przełącznika w niestandardowym oknie dialogowym, przeznaczonym do wprowadzania danych przez użytkownika.


Przycisk opcji, formant

Przycisk opcji może być używany w formularzu lub raporcie jako niezależny formant do wyświetlania wartości Tak/Nie z tabeli podstawowej, kwerendy lub instrukcji SQL.

Formant:	Narzędzie:
Uwagi

Gdy jest zaznaczany lub czyszczony przycisk opcji związany z polem o danych typu Tak/Nie, w tabeli podstawowej wartość jest wyświetlana zgodnie z właściwością Format tego pola (Tak/Nie, Prawda/Fałsz lub Wł/Wył).

Przyciski opcji można także stosować w grupie opcji do wyświetlania wartości do wyboru.

Możliwe jest także użycie niezwiązanego przycisku opcji w niestandardowym oknie dialogowym, przeznaczonym do wprowadzania danych przez użytkownika.


Grupa opcji, formant

Grupa opcji może być używana w formularzu lub raporcie do wyświetlania ograniczonego zestawu możliwości. Grupa opcji ułatwia wybór wartości, ponieważ wystarczy w niej kliknąć żądaną wartość. W grupie opcji może być wybrana tylko jedna opcja.

Grupa opcji składa się z ramki i zestawu pól wyboru, przycisków przełączników lub przycisków opcji.

Formant:	Narzędzie:
Uwagi

Jeśli grupa opcji jest związana z polem, związana z nim jest tylko ramka grupy, a nie pola wyboru, przyciski przełączników albo przyciski opcji wewnątrz ramki. Zamiast ustawiać właściwość ControlSource (Źródło formantu) dla każdego formantu w grupie opcji, można ustawić właściwość OptionValue (Wartość opcji) każdego pola wyboru, przycisku przełącznika lub przycisku opcji na wartość mającą jakieś znaczenie dla pola, z którym ramka grupy jest związana. Po wybraniu opcji w grupie, program Microsoft Access ustawia wartość pola, z którym związana jest grupa opcji, na wartość właściwości OptionValue (Wartość opcji) zaznaczonej opcji.

Uwaga   Właściwość OptionValue (Wartość opcji) jest ustawiana na liczbę, ponieważ wartością grupy opcji może być tylko liczbą, a nie tekst. Program Microsoft Access przechowuje tę liczbę w tabeli odnośnej. Chcąc w poprzednim przykładzie wyświetlać w tabeli "Orders" (Zamówienia) nazwę spedytora zamiast jego numeru, można utworzyć oddzielną tabelę o nazwie "Shippers" (Spedytorzy), przechowującą nazwy spedytorów, a następnie ustanowić pole "ShipVia" (Spedytor) w tabeli "Orders" polem odnośnika, służącym do wyszukiwania danych w tabeli "Shippers".

Grupa opcji może być także ustawiona na wyrażenie lub może być niezwiązana. Niezwiązaną grupę opcji można zastosować w niestandardowym oknie dialogowym, przeznaczonym do wprowadzania danych przez użytkownika, a następnie wykonywania akcji na podstawie wprowadzonych danych.


Przycisk polecenia, formant

Przycisk polecenia może być używany w formularzu do uruchomienia akcji lub zestawu akcji. Można na przykład utworzyć przycisk polecenia otwierający inny formularz. Aby przycisk polecenia wykonywał jakąś czynność, trzeba napisać makro albo procedurę zdarzenia i przyłączyć ją do właściwości OnClick (Przy kliknięciu) przycisku.

Formant:	Narzędzie:
Uwagi

Na przycisku polecenia można wyświetlić tekst ustawiając jego właściwość Caption (Tytuł) albo można wyświetlić obrazek ustawiając jego właściwość Picture (Rysunek).

Wskazówka   Za pomocą Kreatora przycisków poleceń można utworzyć ponad 30 różnych typów przycisków poleceń. Gdy używany jest Kreator przycisków poleceń, program Microsoft Access automatycznie tworzy przycisk i procedurę zdarzenia.


Pole listy, formant

W polu listy wyświetlana jest lista wartości lub opcji do wyboru. W wielu przypadkach szybciej i łatwiej jest wybrać wartość na liście zamiast pamiętać wartość, którą należy wpisać. Lista wartości do wyboru pomaga także w zapewnieniu, że wartość wprowadzana do pola jest poprawna.

Formant:	Narzędzie:
Lista w polu listy składa się z wierszy danych. Wiersze mogą mieć jedną lub kilka kolumn, które mogą być wyświetlane z nagłówkami lub bez nich.

Uwagi

Jeśli pole listy o wielu kolumnach jest związane, program Microsoft Access przechowuje wartości z jednej z kolumn.

Można zastosować niezwiązane pole listy do przechowywania wartości, które mogą być wykorzystane w innym formancie. Można na przykład użyć niezwiązanego pola listy do ograniczenia wartości w innym polu listy lub w niestandardowym oknie dialogowym. Można także użyć niezwiązanego pola listy do znalezienia rekordu na podstawie wybranej w nim wartości.

Jeśli w formularzu brak jest miejsca do wyświetlania pola listy lub chcąc mieć oprócz możliwości wyboru także możliwość wpisywania nowych wartości, należy zamiast pola listy zastosować pole kombi.


Linia, formant

Formant Linia można zastosować do wyświetlania poziomej, pionowej lub ukośnej linii w formularzu lub raporcie.

Formant:	Narzędzie:
Uwagi

Do zmiany szerokości linii można wykorzystać przycisk Szerokość linii/obramowania  [image]. Przycisk Kolor linii/obramowania  [image]  jest przeznaczony do zmiany koloru linii lub zmiany na przezroczyste. Za pomocą właściwości BorderStyle (Styl obramowania) można zmienić styl obramowania linii (kropki, kreski itd.).


Prostokąt, formant

Formant Prostokąt można zastosować do wyświetlania prostokątów w formularzu lub raporcie.

Formant:	Narzędzie:
Uwagi

Prostokąt wraz z zawartymi w nim formantami można przesunąć jako jeden zespół przeciągając wskaźnik myszy ukośnie po przekątnej całego prostokąta w celu zaznaczenia wszystkich formantów. Cały wybrany obszar może być następnie przesunięty w nowe miejsce.


Związana ramka obiektu, formant

Związana ramka obiektu może być używana do wyświetlania obrazu, wykresu lub dowolnego obiektu OLE przechowywanego w tabeli bazy danych Microsoft Access. Jeśli na przykład w tabeli Microsoft Access przechowywane są fotografie pracowników, można wykorzystać związaną ramkę obiektu do wyświetlania tych fotografii w formularzu lub raporcie.

Formant:	Narzędzie:
Uwagi

Formant ten umożliwia tworzenie lub edycję obiektu z formularza lub raportu za pomocą serwera OLE.

Związana ramka obiektu jest związana z polem w tabeli podstawowej.

Pole w tabeli podstawowej, z którym związana jest ramka obiektu musi mieć dane typu Obiekt OLE.

Obiekt w związanej ramce jest inny dla każdego rekordu. W związanej ramce obiektu mogą być wyświetlane obiekty połączone lub osadzone. Chcąc wyświetlać obiekty, które nie są przechowywane w tabeli podstawowej, należy zastosować niezwiązaną ramkę obiektu albo formant Rysunek.


Wykres, formant

Formant wykres pozwala osadzić wykres wyświetlający dane z formularza lub raportu programu Microsoft Access. Osadzony w formularzu lub raporcie wykres można następnie edytować za pomocą programu Microsoft Graph.

Formant:

Uwagi

Gdy formant Wykres umieszczany jest w formularzu lub raporcie, program Microsoft Access wyświetla okno Kreatora wykresów pomagające w tworzeniu wykresu.

Uwaga   Aby osadzić lub połączyć wykres wykorzystujący dane z innych aplikacji, należy zastosować formant niezwiązana ramka obiektu lub związana ramka obiektu.


Pole kombi, formant

Pole kombi łączy w sobie funkcje pola tekstowego i pola listy. Pole kombi należy stosować, aby mieć możliwość wpisywania wartości albo wybierania wartości z wcześniej przygotowanej listy.

Formant:	Narzędzie:
Uwagi

W widoku "Formularz" program Microsoft Access nie wyświetla listy, dopóki nie zostanie kliknięta strzałka pola kombi.

Jeśli przed wybraniem narzędzia pola kombi włączeni są Kreatorzy formantów, można utworzyć pole kombi za pomocą kreatora. Aby włączyć lub wyłączyć Kreatorów formantów, należy kliknąć narzędzie Kreatorzy formantów  [image]  w przyborniku.

Ustawienie właściwości LimitToList (Ogranicz do listy) określa, czy można wprowadzać wartości, których nie ma na liście.

Lista może być jedno lub wielokolumnowa, a kolumny mogą być wyświetlane z nagłówkami lub bez nich.


Nowa strona, formant
Podział strony, formant

Formant podziału strony jest przeznaczony do zaznaczania początku nowego ekranu lub drukowanej strony formularza lub raportu.

Formant:	Narzędzie:
Uwagi

W formularzu formant podziału strony jest aktywny tylko wtedy, gdy właściwość DefaultView (Widok domyślny) formularza jest ustawiona na wartość "Pojedynczy formularz". Formanty podziału strony nie mają wpływu na zachowanie formularza w widoku "Arkusz danych".

Aby w widoku "Formularz" przejść do poprzedniego lub następnego formantu nowej strony, należy nacisnąć klawisz PAGE UP lub PAGE DOWN.

Formanty nowej strony należy umieszczać powyżej lub poniżej innych formantów. Umieszczenie formantu nowej strony w tym samym wierszu z innym formantem spowoduje podzielenie danych tego formantu.


Podformularz/Podraport, formant

Formant podformularz/podraport jest przeznaczony do osadzania formularza w formularzu albo raportu w raporcie.

Formant:	Narzędzie:
Można na przykład zastosować formularz z podformularzem do przedstawienia relacji typu jeden-do-wielu, takiej jak jedna kategoria produktu z elementami należącymi do tej kategorii. W takim wypadku główny formularz może wyświetlać ID kategorii, nazwę i opis, a podformularz może wyświetlać dostępne produkty z tej kategorii.

Wskazówka   Zamiast tworzyć główny formularz, a następnie dodawać do niego podformularz, można równocześnie utworzyć formularz główny i podformularz za pomocą Kreatora. Można także utworzyć podformularz albo podraport przeciągając istniejący formularz lub raport z okna bazy danych do głównego formularza lub raportu.


Niezwiązana ramka obiektu, formant

Niezwiązaną ramkę obiektu można zastosować do wyświetlania obrazu, wykresu albo dowolnego obiektu OLE, który nie jest przechowywany w tabeli. Można na przykład zastosować niezwiązaną ramkę obiektu do wyświetlania wykresu, który został utworzony i zapisany w programie Microsoft Graph.

Formant:	Narzędzie:
Uwagi

Formant ten pozwala tworzyć lub edytować obiekt w formularzu lub raporcie Microsoft Access za pomocą aplikacji, w której obiekt został pierwotnie utworzony.

Aby wyświetlać obiekty, które są przechowywane w bazie danych Microsoft Access, należy stosować związaną ramkę obiektu.

Obiekt w niezwiązanej ramce obiektu jest taki sam dla każdego rekordu.

W niezwiązanej ramce obiektu można wyświetlać obiekty połączone lub osadzone.

Wskazówka   Do wyświetlania niezwiązanych obrazów w formularzu lub raporcie można stosować niezwiązaną ramkę obiektu albo formant Rysunek. Zaletą stosowania niezwiązanej ramki obiektu jest to, że obiekt można edytować bezpośrednio w formularzu lub raporcie. Zaletą stosowania formantu Rysunek jest większa szybkość wyświetlania.


Formularz

Formularz jest obiektem bazy danych Microsoft Access w którym umieszczane są formanty do wykonywania akcji lub do wprowadzania, wyświetlania i edycji danych w polach.


Sekcja formularza

Sekcja formularza jest częścią formularza, taką jak nagłówek, stopka lub sekcja szczegółów.

Można ustawić właściwości sekcji, które są atrybutami formularza wpływającymi na wygląd lub zachowanie tej sekcji. Można na przykład ustawić właściwość CanGrow (Można powiększać), w celu określenia, czy sekcja ma się rozciągać w pionie tak, aby zostały wyświetlone wszystkie zawarte w niej dane. Właściwości sekcji są ustawiane w widoku "Projekt" formularza.


Raport

Raport jest obiektem bazy danych programu Microsoft Access przedstawiającym informacje sformatowane i uprządkowane zgodnie z określonymi warunkami. Przykładami raportów mogą być podsumowania sprzedaży, spisy telefonów i etykiety adresowe.


Sekcja raportu

Sekcja raportu jest częścią raportu, taką jak nagłówek, stopka lub sekcja szczegółów.

Można ustawić właściwości sekcji, które są atrybutami raportu wpływającymi na wygląd lub zachowanie tej sekcji. Można na przykład ustawić właściwość CanGrow (Można zwiększać) w celu określenia, czy sekcja ma się rozciągać w pionie tak, aby zostały wyświetlone wszystkie zawarte w niej dane. Właściwości sekcji są ustawiane w widoku "Projekt" raportu.


Indeks

Indeks jest funkcją programu Microsoft Access, która przyspiesza wyszukiwanie i sortowanie danych w tabeli. Indeks dla pola można utworzyć w oknie indeksów widoku "Projekt" tabeli albo ustawiając właściwość Indexed (Indeksowane) pola na wartość "Tak".

Uwaga   Klucz podstawowy tabeli jest indeksowany automatycznie, a pola o typach danych Memo lub obiekt OLE nie mogą być indeksowane.


Rysunek, formant

Formant Rysunek można wykorzystać do dodania rysunku do formularza lub raportu. Można na przykład dołączyć formant rysunek przeznaczony na logo w raporcie "Invoice" (Faktura).

Formant:	Narzędzie:
Uwagi

Do wyświetlania niezwiązanych obrazów można stosować formant Rysunek lub niezwiązaną ramkę obiektu. Zaletą stosowania formantu Rysunek jest większa szybkość wyświetlania. Zaletą stosowania niezwiązanej ramki obiektu jest to, że obiekt można edytować bezpośrednio w formularzu lub raporcie.


Formant związany

Formant związany jest formantem formularza lub raportu pobierającym swą treść z pola w odnośnej tabeli, kwerendzie lub instrukcji SQL. (Właściwość ControlSource (Źródło formantu) formantu jest ustawiona na nazwę pola w tabeli, kwerendzie lub instrukcji SQL.) Na przykład, pole tekstowe wyświetlające nazwisko pracownika jest związane z polem "LastName" (Nazwisko) w tabeli "Employees" (Pracownicy).


Sortowanie i grupowanie, pole

Pole Sortowanie i grupowanie można wykorzystać do określenia porządku danych i określenia poziomów grupowania w raporcie.

Aby wyświetlić pole Sortowanie i grupowanie, kliknij przycisk Sortowanie i grupowanie  [image]  na pasku narzędzi.


Tabela

Tabela jest podstawową strukturą systemu zarządzania relacyjną bazą danych. W programie Microsoft Access tabela jest obiektem przechowującym dane w rekordach (wierszach) i polach (kolumnach). Dane dotyczą zwykle pewnej kategorii, takiej jak pracownicy lub zamówienia.


Konstruktor kolorów

Konstruktor kolorów jest narzędziem programu Microsoft Access, którego można używać do wybierania kolorów z palety lub do tworzenia niestandardowych kolorów. Utworzone kolory można zapisać i wykorzystywać w formularzach i raportach.

Aby uruchomić tego konstruktora, kliknij przycisk Buduj [image]  obok odpowiedniej właściwości w arkuszu właściwości.


Pole kwerendy

Pole kwerendy reprezentuje dane z tabeli połączonej z kwerendą. Pole kwerendy domyślnie dziedziczy wszystkie właściwości, które miało w tabeli lub kwerendzie odnośnej. Na przykład, jeśli projekt tabeli określa format wyświetlania pola "Order Date" (Data zamówienia) jako "Data średnia" we właściwości Format, pole "Order Date" jest formatowane w zestawie rekordów kwerendy jako data średnia. Ponieważ właściwości pola odnośnego są domyślne, nie są one wyświetlane w arkuszu właściwości.

Jeśli właściwość pola zostanie zmieniona w projekcie tabeli, pole kwerendy automatycznie dziedziczy zmianę. Jeśli jednak właściwość zostanie zmieniona w kwerendzie, ustawienie właściwości w projekcie tabeli jest pomijane. Jeśli właściwość zostanie później zmieniona w projekcie tabeli, zmiana nie zostanie odzwierciedlona w kwerendzie.

Właściwości pola kwerendy można ustawiać w oknie "Właściwości pola" w widoku "Projekt" kwerendy.

Aby dla pola kwerendy otworzyć okno "Właściwości pola" w widoku "Projekt" kwerendy, należy kliknąć przycisk Właściwości  [image]  na pasku narzędzi Projekt kwerendy.


Pole tabeli

Pola tabeli są oddzielnymi fragmentami informacji tworzącymi rekord w tabeli. Ustawiając właściwości pola w sekcji "Właściwości pola" widoku "Projekt" tabeli można sterować wyglądem danych, określać wartości domyślne oraz przyspieszać przeszukiwanie i sortowanie.

Program Microsoft Access wykorzystuje właściwości pola, gdy użytkownik przegląda lub edytuje dane. Na przykład ustawione właściwości Format, InputMask (Maska wprowadzania) i Caption (Tytuł) wpływają na wygląd tabel i kwerend w bazach danych . Formanty w nowych formularzach i raportach, oparte na tabeli, domyślnie dziedziczą te właściwości. Można wykorzystać inne właściwości do ustawienia reguł dla danych lub do żądania wprowadzenia danych do pól, które będą wymuszane przez program Microsoft Access przy każdym dodawaniu lub edycji danych w tabeli.

Aby otworzyć tabelę w widoku "Projekt", należy przejść do okna bazy danych, kliknąć kartę Tabele, wybrać tabelę, która ma być otwarta, a następnie kliknąć przycisk Projektuj.


Kwerenda funkcjonalna

Kwerenda funkcjonalna zmienia lub kopiuje dane. Do kwerend funkcjonalnych należą kwerendy dołączające, usuwające, tworzące tabele i aktualizujące. W przeciwieństwie do nich, kwerendy wybierające nie kopiują ani nie zmieniają danych. Zadają one pytanie i zwracają zestaw rekordów.

Typ kwerendy funkcjonalnej	Opis
Dołączająca	Dodaje rekordy z zestawu wyników na końcu istniejącej tabeli.
Usuwająca	Usuwa zestaw wierszy spełniających określone kryteria.
Tworząca tabelę	Tworzy nową tabelę z zestawu wyników istniejącej kwerendy.
Aktualizująca	Zmienia zestaw rekordów zgodnie z określonymi kryteriami.


Kwerenda krzyżowa

Kwerenda krzyżowa oblicza podsumowania na podstawie wartości dla każdego wiersza i kolumny. Kwerenda oblicza sumę i średnią rekordów, zlicza je lub oblicza inny rodzaj podsumowania, a następnie grupuje wyniki według dwóch typów informacji – jeden wzdłuż lewej strony arkusza danych, a drugi w poprzek górnej krawędzi. Na przykład kwerenda "Zamówienia kwartalne wg produktów" w przykładowej bazie danych "Northwind" jest kwerendą krzyżową.


Kwerenda parametryczna

Kwerenda parametryczna, będąca rodzajem kwerendy wybierającej, zwiększa elastyczność innych kwerend żądając, aby przy każdym uruchomieniu kwerendy użytkownik wprowadził pewne kryteria. Ściśle mówiąc, kwerenda parametryczna nie jest oddzielnym rodzajem kwerendy. Zwiększa ona jedynie elastyczność innych kwerend.


Kwerenda wybierająca

Kwerenda wybierająca zadaje pytania dotyczące danych przechowywanych w tabelach i zwraca wyniki nie zmieniając tych danych. Po wyświetleniu zestawu wyników można przeglądać i, w niektórych przypadkach, zmieniać dane w tabelach odnośnych. W przeciwieństwie do tego kwerenda funkcjonalna wprowadza zmiany do danych.


Kwerenda wyłącznie SQL

Kwerendy wyłącznie SQL są kwerendami, które mogą być tworzone tylko przez napisanie instrukcji SQL w widoku SQL. Kwerendami wyłącznie SQL są kwerendy składające, przekazujące i definiujące dane.

Typ kwerendy wyłącznie SQL	Opis
Składająca	Kwerenda wybierająca wyłącznie SQL, która skupia w jednym polu odpowiadające sobie pola z dwóch lub kilku tabel lub kwerend. Na przykład kwerenda składająca tabeli "Customers" (Klienci) i tabeli "Suppliers" (Dostawcy) daje utrwalony zestaw rekordów zawierający wszystkie określone rekordy z obydwu tabel.
Przekazująca	Kwerenda wyłącznie SQL przeznaczona do wysyłania poleceń bezpośrednio do serwera bazy danych SQL (takiego jak Microsoft SQL Server). Za pomocą kwerend przekazujących użytkownik pracuje z tabelami na serwerze zamiast przyłączać je do własnej bazy danych Microsoft Access.
Definiująca dane	Kwerenda wyłącznie SQL mogąca tworzyć lub usuwać indeks albo tworzyć, zmieniać lub usuwać tabele.


Karta, formant

Formant Karta zawiera wiele stron, na których można umieszczać inne formanty takie, jak pola tekstowe lub przyciski opcji. Strona staje się aktywna po kliknięciu przez użytkownika odpowiadającej jej karty.

Wykorzystując formant Karta można utworzyć pojedynczy formularz lub okno dialogowe, które zawiera wiele innych formantów, a ponadto można zgrupować podobne opcje lub dane na stronie każdej karty. Można na przykład użyć formantu Karta na formularzu "Employees" (Pracownicy), aby oddzielić informacje firmowe od personalnych.

Formant:	Narzędzie:


ActiveX, formant

Oprócz wbudowanych formantów wyświetlanych w przyborniku program Microsoft Access obsługuje formanty ActiveX (nazywane uprzednio formantami niestandardowymi lub formantami OLE). Formant ActiveX, podobnie jak formant wbudowany, jest obiektem umieszczanym na formularzu w celu rozszerzenia współdziałania użytkownika z aplikacją. Formanty ActiveX mają przyporządkowane zdarzenia i mogą być wstawiane do innych formantów. Nazwy plików tych formantów mają rozszerzenia .ocx. Formant Kalendarz jest przykładem formantu ActiveX.

Formant:	Narzędzie:


Strona
Page

Obiekt Page odpowiada pojedynczej stronie formantu karta.

Każdy obiekt Page może zawierać jeden lub kilka formantów takich, jak pola tekstowe lub przyciski opcji. Formanty w obiekcie Page należą do kolekcji Formants tego obiektu. Aby pracować z formantem w obiekcie Page, należy się odwoływać do tego formantu w kolekcji Formants tego obiektu.

Wykorzystując formant Karta można utworzyć pojedynczy formularz lub okno dialogowe, które zawiera wiele innych formantów, a ponadto można zgrupować podobne opcje lub dane na stronie każdej karty. Można na przykład użyć formantu Karta na formularzu "Employees" (Pracownicy), aby oddzielić informacje firmowe od personalnych.

Formant:	Narzędzie:


Elementy języka Microsoft Access stosujące się do formantów typu ActiveX

Oprócz właściwości, metod i zdarzeń specyficznych dla formantów ActiveX stosują się do nich także niektóre istniejące właściwości, metody oraz zdarzenia programu Microsoft Access. Informacje o działaniu tych elementów, można uzyskać wybierając odpowiednie tematy Pomocy programu Microsoft Access.

Właściwości

Następujące właściwości programu Microsoft Access stosują się do formantów ActiveX i są dostępne w arkuszu właściwości programu Microsoft Access:

BorderColor BorderStyle BorderWidth Class ControlSource (dostępne tylko dla tych formantów ActiveX, które obsługują wiązanie) ControlTipText DisplayWhen Enabled HelpContextID	Height Left Locked (dostępne tylko dla tych formantów ActiveX, które obsługują wiązanie) Name Object OLEClass OnEnter OnExit OnGotFocus	OnLostFocus OnUpdated SpecialEffect TabIndex TabStop Tag Top Verb Visible Width
Następujące właściwości programu Microsoft Access stosują się do formantów ActiveX, lecz są dostępne tylko poprzez makro lub język Visual Basic:

ControlType	InSelection	Parent
EventProcPrefix	ObjectVerbsCount	Section
Zdarzenia

Następujące zdarzenia programu Microsoft Access stosują się do formantów ActiveX:

Enter	GotFocus	Updated
Exit	LostFocus
Metody

Następujące metody programu Microsoft Access stosują się do formantów ActiveX:

SetFocus	SizeToFit


Niestandardowe okno dialogowe właściwości formantu ActiveX
Okno dialogowe właściwości niestandardowych formantu ActiveX

Podczas ustawiania właściwości formantu ActiveX, może być potrzebne lub preferowane wykorzystanie okna dialogowego właściwości niestandardowych formantu. Okno to jest alternatywą dla listy właściwości w arkuszu właściwości programu Microsoft Access dla ustawiania właściwości formantu ActiveX w widoku "Projekt".

Dwa sposoby ustawiania właściwości

Stosowanie okna dialogowego właściwości niestandardowych wynika z faktu, że nie we wszystkich aplikacjach korzystających z formantów ActiveX występują arkusze właściwości podobne do arkusza właściwości programu Microsoft Access. Okno dialogowe właściwości niestandardowych jest interfejsem do ustawiania kluczowych właściwości formantów niezależnie od tego, czy taki interfejs występuje w macierzystej aplikacji.

Dla niektórych właściwości formantu ActiveX można wybrać jedno z dwóch miejsc ustawiania właściwości:

•	Arkusz właściwości programu Microsoft Access.

•	Okno dialogowe właściwości niestandardowych formantu ActiveX.

W pewnych przypadkach okno dialogowe właściwości niestandardowych jest jedynym sposobem ustawienia właściwości w widoku "Projekt". Jest to zwykle sytuacja, gdy interfejs wymagany do ustawienia właściwości nie działa w arkuszu właściwości programu Microsoft Access. Na przykład właściwość GridFont formantu Kalendarz ma kilka argumentów; jednak w arkuszu właściwości programu Microsoft Access nie można ustawić więcej niż jednego argumentu właściwości.

Znajdowanie okna dialogowego właściwości niestandardowych

Nie wszystkie formanty ActiveX mają okno dialogowe właściwości niestandardowych. Aby sprawdzić, czy formant ma okno dialogowe właściwości niestandardowych, należy wyszukać właściwość Niestandardowe formantu w arkuszu właściwości programu Microsoft Access. Jeżeli lista właściwości zawiera nazwę Niestandardowe, to formant ma okno dialogowe właściwości niestandardowych.

Używanie okna dialogowego właściwości niestandardowych

Po kliknięciu pola właściwości Niestandardowe w arkuszu właściwości programu Microsoft Access, należy kliknąć przycisk Buduj  [image]  po prawej stronie pola właściwości, aby wyświetlić okno dialogowe właściwości niestandardowych formantu, które często ma postać okna dialogowego z kartami. Należy wybrać kartę zawierającą interfejs do ustawiania żądanej właściwości.

Po wprowadzeniu na jednej karcie zmian, można często od razu je zastosować, klikając przycisk Zastosuj (jeśli jest). Można klikać inne karty, aby ustawić kolejne właściwości. Aby zatwierdzić wszystkie zmiany wprowadzone w oknie dialogowym właściwości niestandardowych, trzeba kliknąć przycisk OK. Aby powrócić do arkusza właściwości programu Microsoft Access bez zmiany ustawień właściwości, należy kliknąć przycisk Anuluj.

Okno dialogowe właściwości niestandardowych można także wyświetlić, klikając podpolecenie Właściwości polecenia Obiekt formantu ActiveX (na przykład polecenia Obiekt Kalendarz) w menu Edycja lub klikając to samo podpolecenie w menu podręcznym formantu ActiveX. Dodatkowo niektóre właściwości w arkuszu właściwości programu Microsoft Access dla formantu ActiveX, jak na przykład właściwość GridFontColor formantu Kalendarz, mają po prawej stronie swego pola przycisk Buduj. Kliknięcie tego przycisku powoduje wyświetlenie okna dialogowego właściwości niestandardowych z wybraną odpowiednią kartą (na przykład Kolor).


Wyświetlanie pola informacji dla formantu ActiveX
Wyświetlanie okna informacji dla formantu ActiveX

Aby wyświetlić okno pokazujące wersję i informacje o prawach autorskich dla formantu ActiveX, należy kliknąć pole właściwości Informacje o… w arkuszu właściwości programu Microsoft Access. Następnie należy kliknąć przycisk Buduj  [image]  po prawej stronie pola właściwości.


Informacje o właściwościach, metodach i zdarzeniach formantu ActiveX

Temat ten zawiera użyteczne informacje dotyczące ustawiania i korzystania z elementów języka formantu ActiveX, wskazując na niektóre nowe cechy formantów ActiveX w programach Microsoft Access 95 i Microsoft Access 97.

Ogólne

Podczas używania formantów ActiveX w programie Microsoft Access 95 nie trzeba używać właściwości Object przy odwoływaniu się do właściwości i metod w wyrażeniach. Na przykład, następujące dwa wiersze składni są teraz równoważne:

ActiveXCtl0.Object.MonthLength = 0

ActiveXCtl0.MonthLength = 0

Jedynym wyjątkiem jest sytuacja, gdy nazwa elementu języka formantu ActiveX jest taka sama jak nazwa istniejącego elementu języka Microsoft Access, który także stosuje się do tego formantu. W tym przypadku nadal należy używać składni .Object.

Zmienne formantu ActiveX można deklarować tylko jako zmienne typu Formant, nie mogą one być typem bardziej szczegółowym, jak na przykład Kalendarz.

Właściwości

Właściwości formantu ActiveX występują teraz w arkuszu właściwości programu Microsoft Access. Większość z tych właściwości można ustawiać albo w oknie dialogowym właściwości niestandardowych formantu ActiveX albo w arkuszu właściwości programu Microsoft Access.

Uwaga   Właściwości formantu ActiveX nie ma na liście kolekcji Properties. Jedynym sposobem uzyskania dostępu do tych właściwości jest użycie składni pokazanej w poprzednim paragrafie.

Zdarzenia

Dla zdarzeń programu Microsoft Access, takich jak Enter, które stosują się do formantów ActiveX, można uruchomić makro lub procedurę zdarzenia, jeżeli ono wystąpiło, poprzez ustawienie właściwości zdarzenia na nazwę makra lub na wartość [Procedura zdarzenia]. Jednak dla zdarzeń specyficznych dla formantów ActiveX, takich jak zdarzenie NewMonth formantu Kalendarz, należy przejść do modułu formularza w widoku "Projekt", wybrać nazwę formantu ActiveX z pola Obiekt, a następnie wybrać zdarzenie z pola Procedura. W ten sposób zostanie utworzona procedura zdarzenia dla zdarzenia formantu ActiveX, która będzie uruchamiana przy wystąpieniu tego zdarzenia. Użytkownik może również powielić składnię tworzoną w tym przypadku dla procedury zdarzenia, tworząc procedurę zdarzenia samodzielnie.

Jeżeli zarówno zdarzenie programu Microsoft Access jak i zdarzenie formantu ActiveX o tej samej nazwie dotyczą obiektu formantu ActiveX, to do zdarzenia formantu ActiveX w polu listy rozwijalnej Procedura jest dołączany tekst "Object". Umożliwia to uruchamianie różnych procedur dla każdego z tych zdarzeń.


Porównanie typów danych

Aparat bazy danych Microsoft Jet rozpoznaje kilka typów danych, których zakresy częściowo pokrywają się. W programie Microsoft Access istnieją cztery konteksty, w których może być potrzebne określenie typu danych – w widoku "Projekt" tabeli, w oknie dialogowym Parametry kwerendy, w języku Visual Basic oraz w widoku SQL kwerendy.

W poniższej tabeli zostało porównanych pięć zestawów typów danych odpowiadających każdemu z kontekstów. W pierwszej kolumnie zostały wymienione ustawienia właściwości Type dostępne w widoku "Projekt" i pięć ustawień właściwości FieldSize (Rozmiar pola) dla danych typu Liczba. W drugiej kolumnie zostały wymienione odpowiednie typy danych parametrów kwerendy dostępne przy projektowaniu kwerend parametrycznych w oknie dialogowym Parametry kwerendy. W trzeciej kolumnie zostały wymienione odpowiednie typy danych języka Visual Basic. W czwartej kolumnie zostały wymienione typy danych obiektu Field DAO. W piątej kolumnie zostały wymienione odpowiednie typy danych aparatu bazy danych SQL zdefiniowane przez aparat bazy danych Jet wraz z ich poprawnymi synonimami.

Pola tabeli	Parametry kwerendy	Język Visual Basic	Stałe właściwości obiektu Field DAO	Aparat baz danych Microsoft  Jet SQL i synonimy
Nie obsługiwane	Liczba dwójkowa	Nie obsługiwane	Nie obsługiwane	BINARY (Patrz Uwagi) (Synonim: VARBINARY)
Tak/Nie	Tak/Nie	Boolean	dbBoolean	BOOLEAN (Synonimy: BIT, LOGICAL, LOGICAL1, YESNO)
Liczba (Rozmiar pola = Bajt)	Bajt	Byte	dbByte	BYTE (Synonim: INTEGER1)
Autonumer (Rozmiar pola = Liczba całkowita długa)	Liczba całkowita długa	Long	dbLong	COUNTER (Synonim: AUTOINCREMENT)
Walutowy	Walutowy	Currency	dbCurrency	CURRENCY (Synonim: MONEY)
Data/Godzina	Data/Godzina	Date	dbDate	DATETIME (Synonimy: DATE, TIME, TIMESTAMP)
Liczba (Rozmiar pola = Podwójna precyzja)	Podwójna precyzja	Double	dbDouble	DOUBLE (Synonimy: FLOAT, FLOAT8, IEEEDOUBLE, NUMBER, NUMERIC)
Liczba lub Autonumer (Rozmiar pola = ID Replikacji)	ID Replikacji	Nie obsługiwane	dbGUID	GUID
Liczba  (Rozmiar pola = Liczba całkowita długa)	Liczba całkowita długa	Long	dbLong	LONG (patrz Uwagi) (Synonimy: INT, INTEGER, INTEGER4)
Obiekt OLE	Obiekt OLE	String	dbLongBinary	LONGBINARY (Synonimy: GENERAL, OLEOBJECT)
Memo	Memo	String	dbMemo	LONGTEXT (Synonimy: LONGCHAR, MEMO, NOTE)
Liczba (Rozmiar pola = Pojedyncza precyzja)	Pojedyncza precyzja	Single	dbSingle	SINGLE (Synonimy: FLOAT4, IEEESINGLE, REAL)
Liczba (Rozmiar pola = Liczba całkowita)	Liczba całkowita	Integer	dbInteger	SHORT (patrz Uwagi) (Synonimy: INTEGER2, SMALLINT)
Tekst	Tekst	String	dbText	TEXT (Synonimy: ALPHANUMERIC, CHAR, CHARACTER, STRING, VARCHAR)
Hiperłącze	Memo	String	dbMemo	LONGTEXT (Synonimy: LONGCHAR, MEMO, NOTE)
Nie obsługiwane	Wartość	Variant	Nie obsługiwane	VALUE (patrz Uwagi)
Uwagi

•	W programie Microsoft Access nie jest stosowany typ danych binarnych (BINARY). Jest on rozpoznawany jedynie w kwerendach przyłączonych tabel pochodzących z baz danych obsługujących ten typ.

•	Typ danych INTEGER w aparacie baz danych Jet SQL nie odpowiada typowi danych Liczba całkowita pól tabel, parametrów kwerend lub języka Visual Basic. Zamiast tego w języku SQL typ danych INTEGER odpowiada typowi danych Liczba całkowita długa dla pól tabel i parametrów kwerend i typowi danych Long w języku Visual Basic.

•	Słowo zastrzeżone VALUE nie reprezentuje typu danych definiowanego przez aparat baz danych Jet. Jednak w programie Microsoft Access lub w kwerendach SQL słowo zastrzeżone VALUE może być uważane za poprawny synonim typu danych Variant w języku Visual Basic.

•	Przy ustawianiu typu danych dla obiektu DAO w kodzie Visual Basic należy ustawić właściwość Type obiektu.


Przykłady konwersji kodu dostępu do danych (DAO)

Do programu Microsoft Access dołączony jest aparat bazy danych Microsoft Jet w wersji 3.5. Występuje w nim pewna liczba nowych obiektów, metod i właściwości, które mogą usprawnić działanie istniejących aplikacji. W poniższych przykładach zostało pokazane, jak dokonywać konwersji kodu w bazach danych programu Microsoft Access utworzonych przy użyciu wcześniejszych wersji aparatu Jet, tak aby wykorzystać nowe możliwości.

Ustawianie odwołania do bieżącej bazy danych

Wersja	Przykład
1.x	Dim dbs As Database Set dbs = CurrentDb
2.x	Dim dbs As Database Set dbs = DBEngine.Workspaces(0).Databases(0)
lub	Dim dbs As Database Set dbs = DBEngine(0)(0)
7.0 lub nowsze	Dim dbs As Database Set dbs = CurrentDb
Uwaga   W programie Microsoft Access bieżąca baza danych jest domyślną bazą danych w kolekcji Databases, dzięki czemu można nadal używać składni DBEngine(0)(0), aby zwrócić zmienną obiektową typu Database wskazującą bieżącą bazą danych. Jednak używanie funkcji CurrentDb jest zalecanym sposobem zwracania zmiennych obiektowych, ponieważ umożliwia utworzenie więcej niż jednej zmiennej obiektowej Database wskazującej bieżącą bazę danych.

Otwieranie bazy danych i ustawianie odwołania

Wersja	Przykład
1.x	Set dbs = OpenDatabase("Contacts.mdb")
2.x i nowsze	Set dbs = DBEngine.Workspaces(0).OpenDatabase("Contacts.mdb")
lub	Set dbs = Workspaces(0).OpenDatabase("Contacts.mdb")
lub	Set dbs = OpenDatabase("Contacts.mdb")
Otwieranie obiektu Recordset typu Table (tabela)

Wersja	Przykład
1.x	Dim tbl As Table Set tbl = dbs.OpenTable("Orders")
2.x	Dim rst As Recordset Set rst = dbs.OpenRecordset("Orders", DB_OPEN_TABLE)
lub	Dim rst As Recordset Set rst = dbs!Orders.OpenRecordset
7.0 lub nowsze	Dim rst As Recordset Set rst = dbs.OpenRecordset("Orders", dbOpenTable)
lub	Dim rst As Recordset Set rst = dbs!Orders.OpenRecordset
Otwieranie obiektu Recordset typu Table (tabela) w trybie wyłączności

Wersja	Przykład
1.x	Dim tbl As Table Set tbl = dbs.OpenTable("Orders", DB_DENY_READ)
2.x	Dim rst As Recordset Set rst = dbs.OpenRecordset("Orders", DB_OPEN_TABLE, DB_DENY_READ)
lub	Dim rst As Recordset Set rst = dbs!Orders.OpenRecordset(DB_OPEN_TABLE, DB_DENY_READ)
7.0 lub nowsze	Dim rst As Recordset Set rst = dbs.OpenRecordset("Orders", dbOpenTable, dbDenyRead)
lub	Dim rst As Recordset Set rst = dbs!Orders.OpenRecordset(dbOpenTable, dbDenyRead)
Otwieranie obiektu Recordset typu Dynaset (dynamiczny zestaw rekordów)

Wersja	Przykład
1.x	Dim dyn As Dynaset Set dyn = dbs.CreateDynaset("Orders")
2.x	Dim rst As Recordset Set rst = dbs.OpenRecordset("Orders", DB_OPEN_DYNASET)
lub	Set rst = dbs!Orders.OpenRecordset(dbOpenDynaset)
7.0 lub nowsze	Dim rst As Recordset Set rst = dbs.OpenRecordset("Orders", dbOpenDynaset)
lub	Set rst = dbs!Orders.OpenRecordset(dbOpenDynaset)
Otwieranie obiektu Recordset typu Snapshot (utrwalony zestaw rekordów)

Wersja	Przykład
1.x	Dim snp As Snapshot Set snp = dbs.CreateSnapshot("Orders")
2.x	Dim rst As Recordset Set rst = dbs.OpenRecordset("Orders", DB_OPEN_SNAPSHOT)
lub	Set rst = dbs!Orders.OpenRecordset(DB_OPEN_SNAPSHOT)
7.0 lub nowsze	Dim rst As Recordset Set rst = dbs.OpenRecordset("Orders", dbOpenSnapshot)
lub	Set rst = dbs!Orders.OpenRecordset(dbOpenSnapshot)
Sporządzanie listy pól

Wersja	Przykład
1.x	' Given open Table object tbl. Dim snp As Snapshot Set snp = tbl.ListFields() While Not snp.EOF    Debug.Print snp!Name, snp!Type    snp.MoveNext Wend snp.Close
2.x	' Given open TableDef object tdf. Dim intI As Integer, fld As Field For intI = 0 To tdf.Fields.Count - 1    Set fld = tdf.Fields(intI)    Debug.Print fld.Name, fld.Type Next intI
7.0 lub nowsze	' Given open TableDef object tdf. Dim fld As Field For Each fld in tdf.Fields    Debug.Print fld.Name, fld.Type Next fld
Sporządzanie listy tabel w bazie danych

Wersja	Przykład
1.x	' Given open Database object dbs. Dim snp As Snapshot Set snp = dbs.ListTables() While Not snp.EOF    Debug.Print snp!Name    snp.MoveNext Wend snp.Close
2.x	' Given open Database object dbs. Dim intJ As Integer, tdf As TableDef For intJ = 0 To dbs.TableDefs.Count - 1    Set tdf = dbs.TableDefs(intJ)    Debug.Print tdf.Name Next intJ
7.0 lub nowsze	' Given open Database object dbs. Dim tdf As TableDef For Each tdf in dbs.TableDefs    Debug.Print tdf.Name Next tdf
Sporządzanie listy indeksów tabeli

Wersja	Przykład
1.x	' Given open Table object tbl. Dim snp As Snapshot Set snp = tbl.ListIndexes() While Not snp.EOF    Debug.Print snp!Name    snp.MoveNext Wend snp.Close
2.x	' Given open TableDef object tdf. Dim intI As Integer, idx As Index For intI = 0 To tdf.Indexes.Count - 1    Set idx = tdf.Indexes(intI)    Debug.Print idx.Name Next intI
7.0 lub nowsze	' Given open TableDef object tdf. Dim idx As Index For Each idx in tdf.Indexes    Debug.Print idx.Name Next idx
Sporządzanie listy parametrów kwerendy

Wersja	Przykład
1.x	' Given open QueryDef object qdf. Dim snp As Snapshot Set snp = qdf.ListParameters() While Not snp.EOF    Debug.Print snp!Name    snp.MoveNext Wend snp.Close
2.x	' Given open QueryDef object qdf. Dim intI As Integer, prm As Parameter For intI = 0 to qdf.Parameters.Count - 1    Set prm = qdf.Parameters(i)    Debug.Print prm.Name Next intI
7.0 lub nowsze	' Given open QueryDef object qdf. Dim prm As Parameter For Each prm in qdf.Parameters    Debug.Print prm.Name Next prm
Dynamiczne ustawianie parametrów kwerendy

Wersja	Przykład
1.x	' Given open Database dbs. Dim qdf As QueryDef, dyn As Dynaset Set qdf = dbs.OpenQueryDef("OrdersQuery") qdf.ParameterName = "[Start date]" Set dyn = qdf.CreateDynaset()
2.x	' Given open QueryDef object qdf. Dim intI As Integer, prm As Parameter, rst As Recordset For intI = 0 To qdf.Parameters.Count - 1    Set prm = qdf.Parameters(intI)    prm.Value = InputBox("Value for " & prm.Name) Next intI Set rst = qdf.OpenRecordset
7.0 lub nowsze	' Given open QueryDef object qdf. Dim prm As Parameter, rst As Recordset For Each prm in qdf.Parameters    prm.Value = InputBox("Value for " & prm.Name) Next prm Set rst = qdf.OpenRecordset
Uruchamianie kwerendy przekazującej

Wersja	Przykład
1.x	' Given open Database object dbs. Dim lngRows As Long ' Run stored procedure on server. lngRows = dbs.ExecuteSQL("EXECUTE SP_StoredProc")
lub	Dim snp As Snapshot Set snp = dbs.CreateSnapshot("EXECUTE SP_StoredProc", DB_SQLPassThrough)
2.x i nowsze	' Given open Database object dbs. Dim qdf As QueryDef, rst As Recordset Set qdf = dbs.CreateQueryDef("ODBCQuery") qdf.Connect = "ODBC;" & "DSN=MyServer;" _    & "UID=sa;" & "PWD=hithere;" & "DATABASE=pubs" qdf.SQL = "EXECUTE SP_StoredProc" qdf.ReturnsRecords = True . . . Set rst = qdf.OpenRecordset
Tworzenie kwerendy tymczasowej

Wersja	Przykład
1.x	' Given open Database object dbs. Dim qdf As QueryDef, strTemp As String strTemp = "TMP:" & User() & Time() qdf = dbs.CreateQueryDef(strTemp) qdf.SQL = "UPDATE Table1 SET Table1.Field1 = Field1 * 1.1;" . . . qdf.Execute qdf.Close . . . dbs.DeleteQueryDef(strTemp)
2.x i nowsze	qdf = dbs.CreateQueryDef("") qdf.Execute qdf.Close


Nowe elementy języka

W programie Microsoft Access wprowadzono szereg nowych i ulepszonych obiektów, metod, właściwości, funkcji, instrukcji, typów danych i zdarzeń, aby umożliwić tworzenie za pomocą języka Visual Basic aplikacji baz danych o dużych możliwościach.

Nowe typy danych

Nowe zdarzenia

Nowe funkcje

Nowe metody

Nowe obiekty

Nowe właściwości

Nowe instrukcje


Nowe obiekty

Następująca lista zawiera nowe obiekty w programach Microsoft Access 95 i Microsoft Access 97. Nowe obiekty programu Microsoft Access 97 są oznaczone gwiazdką (*).

Obiekty programu Microsoft Access

Application, obiekt Controls, kolekcja  DoCmd, obiekt ItemsSelected, kolekcja Module, obiekt*	Modules, kolekcja* Page, obiekt* Pages, kolekcja* Reference, obiekt* References, kolekcja* Obiekty Document typu SummaryInfo i UserDefined
Obiekty języka Visual Basic

Collection, obiekt Debug, obiekt	Err, obiekt
Obiekty dostępu do danych (DAO)

Connection, obiekt	Errors, kolekcja
Obiekty pakietu Microsoft Office

Aby przejrzeć listę nowych obiektów dostępnych w Bibliotece obiektów pakietu Microsoft Office 8.0, należy otworzyć temat Pomocy dotyczący języka Microsoft Office Visual Basic.

Aby użyć obiektów pakietu Microsoft Office, należy ustanowić odwołanie do Biblioteki obiektów Microsoft Office 8.0 poprzez zaznaczenie pola wyboru obok tej biblioteki w oknie modułu otwieranym przez kliknięcie polecenia Odwołania w menu Narzędzia.


Nowe metody

Następująca lista zawiera nowe metody w programach Microsoft Access 95 i Microsoft Access 97. Nowe obiekty programu Microsoft Access 97 są oznaczone gwiazdką (*).

A–H

AccessError Add (Pages, kolekcja)* AddFromFile (Module, obiekt)* AddFromFile (References, kolekcja)* AddFromGUID* AddFromString* AddToFavorites* ApplyFilter Beep BuildCriteria CancelEvent CloseCurrentDatabase CopyObject CreateEventProc* DefaultControl*	DefaultWorkspaceClone DeleteLines* DeleteObject DoMenuItem Dropdown Echo Find* FindNext FindRecord Follow* FollowHyperlink* GoToControl GoToPage GoToRecord Hourglass
I–Q

InsertLines* InsertText Item Maximize Minimize MoveSize NewCurrentDatabase OpenCurrentDatabase	OpenForm OpenModule OpenQuery OpenReport OpenTable OutputTo PrintOut Quit
R–Z

RefreshDatabaseWindow* RefreshTitleBar Remove Remove (Pages, kolekcja)* Remove (References, kolekcja)* Rename Repaint ReplaceLine* Requery Restore Run RunCommand* RunMacro	RunSQL Save SelectObject SendObject SetMenuItem SetWarnings ShowAllRecords ShowToolbar SizeToFit TransferDatabase TransferSpreadsheet TransferText Undo
Nowe metody dostępu do danych (DAO)

Cancel CancelUpdate CopyQueryDef GetRows MakeReplica	NewPassword NextRecordset OpenConnection SetOption Synchronize
Metody biblioteki Microsoft Office

Aby przejrzeć listę nowych obiektów dostępnych w Bibliotece obiektów pakietu Microsoft Office 8.0, należy otworzyć temat Pomocy dotyczący języka Microsoft Office Visual Basic.

Aby użyć obiektów pakietu Microsoft Office, należy ustanowić odwołanie do Biblioteki obiektów Microsoft Office 8.0 poprzez zaznaczenie pola wyboru obok tej biblioteki w oknie modułu otwieranym przez kliknięcie polecenia Odwołania w menu Narzędzia.


Nowe właściwości

Następująca lista zawiera nowe właściwości w programach Microsoft Access 95 i Microsoft Access 97. Nowe właściwości programu Microsoft Access 97 są oznaczone gwiazdką (*).

A–G

ActiveDatasheet AllowAdditions AllowAutoCorrect AllowBreakIntoCode AllowBuiltInToolbars AllowBypassKey AllowDeletions AllowEdits AllowFullMenus AllowShortcutMenus AllowSpecialKeys AllowToolbarChanges AppIcon Application AppTitle BorderStyle BuiltIn CloseButton CodeContextObject Collection ControlTipText ControlType CountOfDeclarationLines* CountOfLines*	CurrentRecord Cycle Database, właściwości DataEntry DatasheetBackColor* DatasheetCellsEffect DatasheetForeColor* DatasheetGridlinesBehavior DatasheetGridlinesColor DataType DBEngine Description Dirty DisplayControl DividingLines FailOnError* Filter FilterLookup FilterOn Format FullPath GrpKeepTogether GUID
H–P

HasContinued HasData HasModule* hWndAccessApp Hyperlink* HyperlinkAddress* HyperlinkSubAddress* ImageHeight ImageWidth InSelection InsideHeight InsideWidth IsVisible* KeyPreview Kind* Lines* ListIndex Major* MaxRecords MDE* MenuBar MinMaxButtons Minor*	MousePointer* MultiRow* MultiSelect NewRecord NewValues Object, właściwości OrderBy OrderByOn PageIndex* Parent Picture PictureAlignment PictureData PicturePages PictureSizeMode PictureTiling PictureType ProcBodyLine* ProcCountLines* ProcOfLine* ProcStartLine* ProjectName*
Q–Z

RecordsetType RepeatSection ReplicationConflictFunction Selected SelHeight SelLeft SelTop SelWidth ShortcutMenu ShortcutMenuBar SpecialEffect StartupForm StartupMenuBar StartupShortcutMenuBar	StartupShowDBWindow StartupShowStatusBar Style* TabFixedHeight* TabFixedWidth* Toolbar* TripleState UserControl UseTransaction* Visible Visible (Application, obiekt) WhatsThisButton WillContinue
Nowe właściwości dostępu do danych (DAO)

AbsolutePosition AllPermissions ConflictTable Connection* DefaultCursorDriver* DefaultType* DefaultUser DesignMasterID Direction* DistinctCount EditMode FieldSize*	HelpContext HelpFile Inherit IniPath KeepLocal MaxRecords* RecordsAffected Replicable ReplicaID StillExecuting* Transactions*
Właściwości biblioteki Microsoft Office

Aby przejrzeć listę nowych obiektów dostępnych w Bibliotece obiektów pakietu Microsoft Office 8.0, należy otworzyć temat Pomocy dotyczący języka Microsoft Office Visual Basic.

Aby użyć obiektów pakietu Microsoft Office, należy ustanowić odwołanie do Biblioteki obiektów Microsoft Office 8.0 poprzez zaznaczenie pola wyboru obok tej biblioteki w oknie modułu otwieranym przez kliknięcie polecenia Odwołania w menu Narzędzia.


Nowe funkcje

Poniżej przedstawiono nowe funkcje w programach Microsoft Access 95 i Microsoft Access 97. Nowe funkcje w programie Microsoft Access 97 są oznaczone gwiazdką (*).

Array Cbool Cbyte Cdate ChrB CVErr FileDateTime FileLen GetAllSettings GetAttr GetSetting GUIDFromString HyperlinkPart*	InputB IsArray IsError IsMissing IsObject LeftB LoadPicture MidB Nz RightB StringFromGUID TypeName


Nowe instrukcje

Język Visual Basic dostarcza do programu Microsoft Access następujące nowe instrukcje. Wszystkie pojawiły się po raz pierwszy w programie Microsoft Access 95.

DeleteSetting FileCopy For Each...Next Option Private Private Property Get	Property Let Property Set Public SaveSetting SetAttr With


Nowe typy danych

Język Visual Basic dostarcza do programu Microsoft Access następujące nowe typy danych. Wszystkie pojawiły się po raz pierwszy w programie Microsoft Access 95.

Boolean

Byte

Date


Nowe zdarzenia

W programie Microsoft Access występują następujące nowe zdarzenia formularza i raportu. Zdarzenia te pojawiły się po raz pierwszy w programie Microsoft Access 95.

ApplyFilter

Filter

NoData

Page

W programie Microsoft Access 97 występują następujące nowe zdarzenia.

Initialize

ItemAdded

ItemRemoved

Terminate


Controls, kolekcja

Kolekcja Controls zawiera wszystkie formanty formularza, raportu lub sekcji, w innym formancie lub przyłączone do innego formantu. Kolekcja Controls jest elementem obiektu Form, Report, Section lub Control. Poniższy diagram ilustruje związek pomiędzy kolekcją Controls a obiektami Form lub Report.

Uwagi

W kolekcji Controls można wyliczyć poszczególne formanty, zliczyć je i ustawić ich właściwości. Można na przykład wyliczyć kolekcję Controls konkretnego formularza i Ustawić właściwość Height każdego formantu na konkretną wartość.

Wskazówka   Do wyliczania kolekcji jest przydatna instrukcja For Each...Next.

Najszybszym sposobem odwołania się do kolekcji Controls jest odwołanie niejawnie, takie jak w poniższych przykładach, w których występuje odwołanie do formantu "NewData" w formularzu o nazwie "OrderForm". Z podanych przykładów składni, najszybszym sposobem odwołania się do formantu jest Me!NewData.

Me!NewData	' Or Forms!OrderForm!NewData.

Me![New Data]	' Use if control name contains space.

Me("NewData")	' Performance is slightly slower.

Można także odwoływać się do indywidualnych formantów, odwołując się jawnie do kolekcji Controls.

Me.Controls!NewData	' Or Forms!OrderForm.Controls!NewData.

Me.Controls![New Data]

Me.Controls("NewData")

Dodatkowo można odwoływać się do formantu za pomocą jego indeksu w kolekcji. Kolekcja Controls jest indeksowana począwszy od zera.

Me(0)	' Refer to first item in collection.

Me.Controls(0)

Uwaga   Przy odwoływaniu się w kodzie do formularza lub raportu można używać słowa kluczowego Me, jeśli odwołanie to występuje w kodzie modułu formularza lub modułu raportu. W odwołaniach do formularza lub raportu z kodu modułu standardowego lub z modułu innego formularza lub raportu należy używać pełnego odwołania do formularza lub raportu.

Aby pracować z formantami w sekcji formularza lub raportu, należy użyć właściwości Section, żeby zwrócić odwołanie do obiektu Section. Następnie należy się odwołać do kolekcji Controls obiektu Section.

Dwa typy obiektów Control, formant typu karta i formant grupa opcji, mają kolekcję Controls, która może zawierać wiele formantów. Kolekcja Controls należąca do formantu grupa opcji zawiera formanty przycisk opcji, pole wyboru, przycisk przełącznika lub etykieta.

Formant typu karta zawiera kolekcję Pages, która jest specjalnym typem kolekcji Controls. Kolekcja Pages zawiera obiekty Page. Obiekty Page są również formantami. Stałą właściwości ControlType dla formantu Page jest acPage. Obiekt Page ma z kolei swoją własną kolekcję Controls, która zawiera wszystkie formanty występujące na pojedynczej stronie.

Inne obiekty Control mają kolekcję Controls, która może zawierać dołączoną etykietę. Do tych formantów zaliczają się pola tekstowe, grupy opcji, przyciski opcji, przyciski przełącznika, pola wyboru, pola kombi, pola listy, przyciski poleceń, związane ramki obiektu i niezwiązane ramki obiektu.


Stałe programu Microsoft Access - przegląd
Stałe programu Microsoft Access – przegląd

Ogólne

Stała reprezentuje niezmienną wartość numeryczną lub wartość typu ciąg znaków. Stałych można używać, aby zwiększyć czytelność kodu języka Visual Basic i ułatwić jego obsługę. Ponadto zastosowanie stałych wewnętrznych zapewnia, że kod będzie nadal działał nawet wtedy, gdy wartości podstawowe reprezentowane przez stałe zostaną zmienione w przyszłych wersjach programu Microsoft Access.

W programie Microsoft Access obsługiwane są trzy typy stałych:

•	Stałe symboliczne tworzone za pomocą instrukcji Const i stosowane w modułach.

•	Stałe wewnętrzne, które są częścią programu Microsoft Access lub wywoływanej biblioteki.

•	Stałe definiowane przez system: True (Prawda), False (Fałsz) i Null.

Stałe symboliczne

Często występuje sytuacja, gdy w kodzie powtarzają się te same wartości lub też kod zależy od pewnych liczb nie posiadających oczywistego znaczenia. Użycie w takich wypadkach stałych symbolicznych lub zdefiniowanych przez użytkownika ułatwi czytanie kodu i jego zrozumienie, pozwalając na zastosowanie znaczącej nazwy zamiast liczby lub ciągu znaków.

Po utworzeniu stałej za pomocą instrukcji Const nie można jej modyfikować ani przypisać jej nowej wartości. Nie można także utworzyć stałej o takiej samej nazwie jak stała wewnętrzna.

W poniższych przykładach zostały przedstawione niektóre sposoby użycia instrukcji Const do deklaracji stałych numerycznych i tekstowych:

Const conPI = 3.14159265	' Pi equals this number.

Const conPI2 = conPI * 2	' A constant used to create another.

Const conVersion = "Version 7.0"	' Declare a string constant.

Stałe wewnętrzne

Oprócz stałych deklarowanych za pomocą instrukcji Const program Microsoft Access automatycznie deklaruje pewną liczbę stałych wewnętrznych i umożliwia dostęp do stałych języka Visual Basic for Applications oraz do stałych obiektów dostępu do danych (DAO). Stałych można używać także w innych wywoływanych bibliotekach obiektów. Dodatkowe informacje na temat dodawania odwołań można znaleźć w temacie Ustawianie odwołań do bibliotek typów.

Dowolna stała wewnętrzna może być użyta w makrze lub w kodzie Visual Basic. Stałe te są dostępne w dowolnej chwili. Określone stałe wbudowane używane z konkretnymi funkcjami, metodami lub właściwościami są opisane w temacie Pomocy dotyczącym danej funkcji, metody lub właściwości.

Uwaga   Do przeglądania list stałych wewnętrznych ze wszystkich dostępnych bibliotek obiektów można używać Przeglądarki obiektów.

Stałe wewnętrzne mają dwuliterowy prefiks określający bibliotekę obiektów, w której stała jest zdefiniowana. Stałe z biblioteki Microsoft Access mają przedrostek "ac", stałe z biblioteki DAO mają przedrostek "db", a stałe z biblioteki VBA mają przedrostek "vb". Na przykład:

•	acForm

•	dbAppendOnly

•	vbCurrency

Uwaga   Ponieważ wartości reprezentowane przez stałe wewnętrzne mogą się zmienić w przyszłych wersjach programu Microsoft Access, należy używać stałych, a nie ich rzeczywistych wartości. Można jednak wyświetlić rzeczywistą wartość stałej wybierając stałą w oknie Przeglądarki obiektów lub wpisując polecenie ?nazwastałej w oknie analizy programu.

Stałych wewnętrznych można używać we wszystkich miejscach, w których można używać stałych symbolicznych lub zdefiniowanych przez użytkownika, także w wyrażeniach. W poniższym przykładzie został przedstawiony sposób użycia stałej wewnętrznej vbCurrency do ustalenia, czy zmienna varNum jest typu Variant, dla którego funkcja VarType zwraca wartość 6 (Walutowy):

Dim varNum As Variant

If VarType(varNum) = vbCurrency Then

Debug.Print "varNum contains Currency data."

Else

Debug.Print "varNum doesn't contain Currency data."

End If

Istnieje wiele kategorii stałych wewnętrznych. Aby obejrzeć listę stałych wewnętrznych danej kategorii, należy kliknąć tę kategorię:

•	Stałe akcji

•	Stałe obiektów dostępu do danych DAO

•	Stałe procedur zdarzeń

•	Stałe kodu klawiszy

•	Stałe różne

•	Stałe metody RunCommand (jest to podzbiór stałych akcji)

•	Stałe zabezpieczeń

•	Stałe języka Visual Basic

•	Stałe funkcji VarType

Stałe definiowane przez system

Stałe True (Prawda), False (Fałsz) i Null definiowane przez system można stosować w dowolnym miejscu programu Microsoft Access. Na przykład stałą True można zastosować w poniższym wyrażeniu warunku makra. Warunek jest spełniony, gdy ustawieniem właściwości Visible (Widoczny) formularza "Employees" (Pracownicy) jest wartość True.

Forms!Employees.Visible = True

Stałej Null można używać w dowolnym miejscu programu Microsoft Access. Można na przykład użyć stałej Null do ustawienia właściwości DefaultValue (Wartość domyślna) formantu formularza za pomocą następującego wyrażenia:

=Null


Stałe zabezpieczeń

Uprawnienia do obiektów bazy danych można przypisać za pomocą języka Visual Basic lub ustawić właściwość Permissions na jedną z następujących stałych:

acSecFrmRptExecute	dbSecDelete
acSecFrmRptReadDef	dbSecDeleteData
acSecFrmRptWriteDef	dbSecFullAccess
acSecMacExecute	dbSecInsertData
acSecMacReadDef	dbSecNoAccess
acSecMacWriteDef	dbSecReadSec
acSecModReadDef	dbSecReadDef
acSecModWriteDef	dbSecReplaceData
dbSecCreate	dbSecRetrieveData
dbSecDBAdmin	dbSecWriteDef
dbSecDBCreate	dbSecWriteOwner
dbSecDBExclusive	dbSecWriteSec
dbSecDBOpen
Uwaga   Stałe o nazwach zaczynających się na acSec są dostępne tylko przy ustawianiu uprawnień do obiektów bazy danych za pomocą języka Visual Basic.


Stałe procedur zdarzeń

Stałe procedury zdarzenia AfterDelConfirm

W procedurach zdarzeń zdarzenia AfterDelConfirm można używać następujących stałych:

•	acDeleteCancel

•	acDeleteOK

•	acDeleteUserCancel

Stałe procedury zdarzenia BeforeDelConfirm

W procedurach zdarzenia BeforeDelConfirm można używać następujących stałych:

•	acDataErrContinue

•	acDataErrDisplay

Stałe maski przycisku

W procedurach zdarzeń MouseDown, MouseUp i MouseMove można używać następujących stałych maski przycisku:

•	acLeftButton

•	acMiddleButton

•	acRightButton

Stałe maski klawisza

W procedurach zdarzenia KeyDown, KeyUp, MouseDown, MouseUp i MouseMove można używać następujących stałych maski klawisza:

•	acAltMask

•	acCtrlMask

•	acShiftMask

Stałe procedury zdarzenia NotInList

W procedurach zdarzenia NotInList można używać następujących stałych:

•	acDataErrAdded

•	acDataErrContinue

•	acDataErrDisplay

Stałe procedury zdarzenia Error

W procedurach zdarzenia Error można używać następujących stałych:

•	acDataErrContinue

•	acDataErrDisplay

Stałe procedury zdarzenia Updated

W procedurach zdarzenia Updated można używać następujących stałych:

•	acOLEChanged

•	acOLEClosed

•	acOLERenamed

•	acOLESaved

Stałe procedury zdarzenia ApplyFilter

W procedurach zdarzenia ApplyFilter można używać następujących stałych:

•	acApplyFilter

•	acCloseFilterWindow

•	acShowAllRecords

Stałe procedury zdarzenia Filter

W procedurach zdarzenia Filter można używać następujących stałych:

•	acFilterAdvanced

•	acFilterByForm


Stałe akcji

W języku Visual Basic można używać tych stałych do uruchamiania metody obiektu DoCmd. Użycie tych stałych w metodzie obiektu DoCmd jest równoważne uruchomieniu odpowiedniej akcji w makrze. Należy zauważyć, że metoda DoMenuItem jest przestarzała. W programie Microsoft Access 97 zamiast niej należy stosować metodę RunCommand i związane z nią stałe. Stałe oznaczone na poniższej liście gwiazdką (*) zostały zastąpione innymi stałymi, lecz będą nadal działać w podanej metodzie lub metodach.

Stałe obiektu DoCmd	Używane z
acActiveDataObject	GoToRecord
acAdd	OpenQuery, OpenTable
acAll	FindRecord
acAnywhere	FindRecord
acCopy	DoMenuItem
acCurrent	FindRecord
acCut	DoMenuItem
acDataForm	GoToRecord
acDataQuery	GoToRecord
acDataTable	GoToRecord
acDefault	Close, CopyObject, DeleteObject, Rename, RepaintObject, Save
acDelete	DoMenuItem
acDesign	OpenForm
acDialog	OpenForm
acDown	FindRecord
acDraft	PrintOut
acEdit	OpenQuery, OpenTable
acEditMenu	DoMenuItem
acEntire	FindRecord
acExit*	Quit (obiekt DoCmd), Quit (obiekt Application)
acExport	TransferDatabase, TransferSpreadsheet
acExportDelim	TransferText
acExportFixed	TransferText
acExportHTML	TransferText
acExportMerge	TransferText
acFile	DoMenuItem
acFirst	GoToRecord
acForm	Close, CopyObject, DeleteObject, Rename, RepaintObject, Save, SelectObject, TransferDatabase
acFormAdd	OpenForm
acFormatActiveXServer	OutputTo
acFormatHTML	OutputTo, SendObject
acFormatIIS	OutputTo
acFormatRTF	OutputTo, SendObject
acFormatTXT	OutputTo, SendObject
acFormatXLS	OutputTo, SendObject
acFormBar	DoMenuItem
acFormDS	OpenForm
acFormEdit	OpenForm
acFormPropertySettings	OpenForm
acFormReadOnly	OpenForm
acGoTo	GoToRecord
acHidden	OpenForm
acHigh	PrintOut
acIcon	OpenForm
acImport	TransferDatabase, TransferSpreadsheet
acImportDelim	TransferText
acImportFixed	TransferText
acImportHTML	TransferText
acLast	GoToRecord
acLink	TransferDatabase, TransferSpreadsheet
acLinkDelim	TransferText
acLinkFixed	TransferText
acLinkHTML	TransferText
acLow	PrintOut
acMacro	Close, CopyObject, DeleteObject, Rename, RepaintObject, Save, SelectObject, TransferDatabase
acMedium	PrintOut
acMenuCheck	SetMenuItem
acMenuGray	SetMenuItem
acMenuUncheck	SetMenuItem
acMenuUngray	SetMenuItem
acMenuVer1X	DoMenuItem
acMenuVer20	DoMenuItem
acMenuVer70	DoMenuItem
acModule	Close, CopyObject, DeleteObject, Rename, RepaintObject, Save, SelectObject, TransferDatabase
acNew	DoMenuItem
acNewRec	GoToRecord
acNext	GoToRecord
acNormal	OpenForm
acObject	DoMenuItem
acObjectUpdate	DoMenuItem
acObjectVerb	DoMenuItem
acOutputForm	OutputTo
acOutputModule	OutputTo
acOutputQuery	OutputTo
acOutputReport	OutputTo
acOutputTable	OutputTo
acPages	PrintOut
acPaste	DoMenuItem
acPreview	OpenForm
acPrevious	GoToRecord
acPrintAll	PrintOut
acPrompt*	Close, Quit (obiekt DoCmd), Quit (obiekt Application)
acQuery	Close, CopyObject, DeleteObject, Rename, RepaintObject, Save, SelectObject, TransferDatabase
acQuitPrompt	Quit (obiekt DoCmd), Quit (obiekt Application)
acQuitSaveAll	Quit (obiekt DoCmd), Quit (obiekt Application)
acQuitSaveNone	Quit (obiekt DoCmd), Quit (obiekt Application)
acReadOnly	OpenQuery, OpenTable
acRecordsMenu	DoMenuItem
acRefresh	DoMenuItem
acReport	Close, CopyObject, DeleteObject, Rename, RepaintObject, Save, SelectObject, TransferDatabase
acSaveForm	DoMenuItem
acSaveFormAs	DoMenuItem
acSave*	Quit (obiekt DoCmd), Quit (obiekt Application)
acSaveNo	Close
acSavePrompt	Close
acSaveRecord	DoMenuItem
acSaveYes	Close
acSearchAll	FindRecord
acSelectAllRecords	DoMenuItem
acSelection	PrintOut
acSelectRecord	DoMenuItem
acSendForm	SendObject
acSendModule	SendObject
acSendNoObject	SendObject
acSendQuery	SendObject
acSendReport	SendObject
acSendTable	SendObject
acSpreadsheetTypeExcel3	TransferSpreadsheet
acSpreadsheetTypeExcel4	TransferSpreadsheet
acSpreadsheetTypeExcel5	TransferSpreadsheet
acSpreadsheetTypeExcel7	TransferSpreadsheet
acSpreadsheetTypeExcel97	TransferSpreadsheet
acSpreadsheetTypeLotusWK1	TransferSpreadsheet
acSpreadsheetTypeLotusWK3	TransferSpreadsheet
acSpreadsheetTypeLotusWK4	TransferSpreadsheet
acSpreadsheetTypeLotusWJ2 — Japanese version only	TransferSpreadsheet
acStart	FindRecord
acTable	Close, CopyObject, DeleteObject, Rename, RepaintObject, Save, SelectObject, TransferDatabase
acToolbarNo	ShowToolbar
acToolbarWhereApprop	ShowToolbar
acToolbarYes	ShowToolbar
acUndo	DoMenuItem
acUp	FindRecord
acViewDesign	OpenQuery, OpenReport, OpenTable
acViewNormal	OpenQuery, OpenReport, OpenTable
acViewPreview	OpenQuery, OpenReport, OpenTable
acWindowNormal	OpenForm


Stałe różne

W poniższej tablicy przedstawiono listę różnych stałych wewnętrznych dostępnych w programie Microsoft Access.

Stałe pola listy i pola kombi

Przedstawionych poniżej stałych można używać do wypełniania pola listy lub pola kombi za pomocą funkcji. Stałe te są przeznaczone do używania z funkcją, która ustawia właściwość RowSourceType (TypŹródłaWierszy)  za pomocą specjalnego formatu funkcji.

acLBClose	acLBGetRowCount
acLBEnd	acLBGetValue
acLBGetColumnCount	acLBInitialize
acLBGetColumnWidth	acLBOpen
acLBGetFormat
Stałe funkcji SysCmd

Poniższych stałych można używać w funkcji SysCmd:

acForm	acSysCmdClearStatus
acMacro	acSysCmdGetObjectState
acModule	acSysCmdGetWorkgroupFile
acObjStateDirty	acSysCmdIniFile
acObjStateNew	acSysCmdInitMeter
acObjStateOpen	acSysCmdProfile
acQuery	acSysCmdRemoveMeter
acReport	acSysCmdRuntime
acSysCmdAccessDir	acSysCmdSetStatus
acSysCmdAccessVer	acSysCmdUpdateMeter
acSysCmdClearHelpTopic	acTable
Stałe właściwości ControlType oraz funkcji CreateControl i CreateReportControl

Poniższych stałych można używać we właściwości ControlType oraz w funkcjach CreateControl i CreateReportControl do określenia typu formantu:

acBoundObjectFrame	acOptionButton
acCheckBox	acOptionGroup
acComboBox	acPage
acCommandButton	acPageBreak
acCustomControl	acRectangle
acImage	acSubform
acLabel	acTabCtl
acLine	acTextBox
acListBox	acToggleButton
acObjectFrame
Stałe właściwości Section oraz funkcji CreateControl i CreateReportControl

Poniższych stałych można używać we właściwości Section oraz w funkcjach CreateControl i CreateReportControl do określania sekcji na formularzu lub raporcie:

acDetail	acGroupLevel2Header
acFooter	acHeader
acGroupLevel1Footer	acPageFooter
acGroupLevel1Header	acPageHeader
acGroupLevel2Footer
Stałe OLE

W poniższej tablicy przedstawiono listę stałych OLE oraz elementów języka, z którymi te stałe mogą być używane.

Stałe OLE	Używane z
acOLEActivate	Właściwość Action
acOLEActivateDoubleClick	Właściwość AutoActivate
acOLEActivateGetFocus	Właściwość AutoActivate
acOLEActivateManual	Właściwość AutoActivate
acOLEChanged	Zdarzenie Updated
acOLEClose	Właściwość Action
acOLEClosed	Zdarzenie Updated
acOLECopy	Właściwość Action
acOLECreateEmbed	Właściwość Action
acOLECreateFromFile (równoważna acOLECreateLink)	Właściwość Action
acOLECreateLink	Właściwość Action
acOLECreateNew (równoważna acOLECreateEmbed)	Właściwość Action
acOLEDelete	Właściwość Action
acOLEDisplayContent	Właściwość DisplayType
acOLEDisplayIcon	Właściwość DisplayType
acOLEEither	Właściwość OLETypeAllowed
acOLEEmbedded	Właściwość OLEType i OLETypeAllowed
acOLEFetchVerbs	Właściwość Action
acOLEInsertObjDlg	Właściwość Action
acOLELinked	Właściwość OLEType i OLETypeAllowed
acOLENone	Właściwość OLEType
acOLEPaste	Właściwość Action
acOLEPasteSpecialDlg	Właściwość Action
acOLERenamed	Zdarzenie Updated
acOLESaved	Zdarzenie Updated
acOLESizeAutoSize (nie używana)	Właściwość SizeMode
acOLESizeClip	Właściwość SizeMode
acOLESizeStretch	Właściwość SizeMode
acOLESizeZoom	Właściwość SizeMode
acOLEUpdate	Właściwość Action
acOLEUpdateAutomatic	Właściwość UpdateOptions
acOLEUpdateFrozen (nie używana)	Właściwość UpdateOptions
acOLEUpdateManual	Właściwość UpdateOptions
acOLEVerbHide	Właściwość Verb
acOLEVerbInPlaceActivate	Właściwość Verb
acOLEVerbInPlaceUIActivate	Właściwość Verb
acOLEVerbOpen	Właściwość Verb
acOLEVerbPrimary	Właściwość Verb
acOLEVerbShow	Właściwość Verb
Stałe właściwości SpecialEffect (EfektSpecjalny)

W poniższej tabeli została przedstawiona lista stałych, których można używać do określania lub sprawdzania stanu właściwości SpecialEffect (EfektSpecjalny). Stałe acEffectNormal, acEffectRaised i acEffectSunken mogą być także używane dla właściwości DatasheetCellsEffect.

acEffectChisel	acEffectRaised
acEffectEtched	acEffectShadow
acEffectNormal	acEffectSunken
Stałe linii siatki

W poniższej tabeli została przedstawiona lista stałych, których można używać do określania lub sprawdzania stanu efektu linii siatki obiektu w widoku "Arkusz danych". Stałe te mogą być także używane dla właściwości DatasheetGridlinesBehavior.

acGridlinesBoth	acGridlinesNone
acGridlinesBothV2	acGridlinesVert
acGridlinesHoriz
Stałe typu

W poniższej tabeli została przedstawiona lista stałych, których można używać do sprawdzania, czy bieżący moduł jest modułem standardowym lub modułem klasy. Stałe te mogą być także używane dla właściwości Type.

acClassModule
acStandardModule
Stałe funkcji HyperlinkPart

Poniższych stałych można używać w funkcji HyperlinkPart:

acDisplayedValue	acAddress
acDisplayName	acSubAddress
Stałe procedur

Poniższych stałych można używać dla właściwości ProcStartLine, ProcBodyLine, ProcOfLine i ProcCountLines.

vbext_pk_Get	vbext_pk_Proc
vbext_pk_Let	vbext_pk_Set
Stałe właściwości Kind

Poniższych stałych można używać dla właściwości Kind obiektu Reference:

Project
TypeLib


Stałe kodu klawiszy

Poniższych stałych można używać do reprezentacji wartości wyprowadzanych z klawiatury. W programie Microsoft Access stałe te mogą być także używane w procedurach zdarzeń KeyDown i KeyUp.

vbKey0	vbKeyF5	vbKeyNumPad4
vbKey1	vbKeyF6	vbKeyNumPad5
vbKey2	vbKeyF7	vbKeyNumPad6
vbKey3	vbKeyF8	vbKeyNumPad7
vbKey4	vbKeyF9	vbKeyNumPad8
vbKey5	vbKeyF10	vbKeyNumPad9
vbKey6	vbKeyF11	vbKeyO
vbKey7	vbKeyF12	vbKeyP
vbKey8	vbKeyF13	vbKeyPageDown
vbKey9	vbKeyF14	vbKeyPageUp
vbKeyA	vbKeyF15	vbKeyPause
vbKeyAdd	vbKeyF16	vbKeyPrint
vbKeyB	vbKeyG	vbKeyQ
vbKeyBack	vbKeyH	vbKeyR
vbKeyC	vbKeyHelp	vbKeyRButton
vbKeyCancel	vbKeyHome	vbKeyReturn
vbKeyCapital	vbKeyI	vbKeyRight
vbKeyClear	vbKeyInsert	vbKeyS
vbKeyControl	vbKeyJ	vbKeySelect
vbKeyD	vbKeyK	vbKeySeparator
vbKeyDecimal	vbKeyL	vbKeyShift
vbKeyDelete	vbKeyLButton	vbKeySnapshot
vbKeyDivide	vbKeyLeft	vbKeySpace
vbKeyDown	vbKeyM	vbKeySubtract
vbKeyE	vbKeyMButton	vbKeyT
vbKeyEnd	vbKeyMenu	vbKeyTab
vbKeyEscape	vbKeyMultiply	vbKeyU
vbKeyExecute	vbKeyN	vbKeyUp
vbKeyF	vbKeyNumLock	vbKeyV
vbKeyF1	vbKeyNumPad0	vbKeyW
vbKeyF2	vbKeyNumPad1	vbKeyX
vbKeyF3	vbKeyNumPad2	vbKeyY
vbKeyF4	vbKeyNumPad3	vbKeyZ


Stałe metody RunCommand

Poniższych stałych można używać w języku Visual Basic przy stosowaniu metody RunCommand. Użycie tych stałych w metodzie RunCommand jest równoznaczne z podaniem wartości dla akcji UruchomPolecenie (RunCommand) w makrze.

acCmdAboutMicrosoftAccess	acCmdHideColumns	acCmdRefreshPage
acCmdAddWatch	acCmdHideTable	acCmdRegisterActiveXControls
acCmdAdvancedFilterSort	acCmdHorizontalSpacingDecrease	acCmdRelationships
acCmdAlignBottom	acCmdHorizontalSpacingIncrease	acCmdRemoveFilterSort
acCmdAlignLeft	acCmdHorizontalSpacingMakeEqual	acCmdRemoveTable
acCmdAlignRight	acCmdHyperlinkDisplayText	acCmdRename
acCmdAlignToGrid	acCmdImport	acCmdRenameColumn
acCmdAlignTop	acCmdIndent	acCmdRepairDatabase
acCmdAlignToShortest	acCmdIndexes	acCmdReplace
acCmdAlignToTallest	acCmdInsertActiveXControl	acCmdReportHdrFtr
acCmdAnalyzePerformance	acCmdInsertChart	acCmdReset
acCmdAnalyzeTable	acCmdInsertFile	acCmdResolveConflicts
acCmdAnswerWizard	acCmdInsertFileIntoModule	acCmdRowHeight
acCmdApplyDefault	acCmdInsertHyperlink	acCmdRun
acCmdApplyFilterSort	acCmdInsertLookupColumn	acCmdRunMacro
acCmdAppMaximize	acCmdInsertLookupField	acCmdRunOpenMacro
acCmdAppMinimize	acCmdInsertObject	acCmdSave
acCmdAppMove	acCmdInsertPage	acCmdSaveAllModules
acCmdAppRestore	acCmdInsertPicture	acCmdSaveAs
acCmdAppSize	acCmdInsertProcedure	acCmdSaveAsASP
acCmdArrangeIconsAuto	acCmdInsertQueryColumn	acCmdSaveAsHTML
acCmdArrangeIconsByCreated	acCmdInsertRows	acCmdSaveAsIDC
acCmdArrangeIconsByModified	acCmdInsertTableColumn	acCmdSaveAsQuery
acCmdArrangeIconsByName	acCmdInvokeBuilder	acCmdSaveAsReport
acCmdArrangeIconsByType	acCmdJoinProperties	acCmdSaveLayout
acCmdAutoCorrect	acCmdLastPosition	acCmdSaveModuleAsText
acCmdAutoDial	acCmdLayoutPreview	acCmdSaveRecord
acCmdAutoFormat	acCmdLineUpIcons	acCmdSelectAll
acCmdBookmarksClearAll	acCmdLinkTables	acCmdSelectAllRecords
acCmdBookmarksNext	acCmdListConstants	acCmdSelectForm
acCmdBookmarksPrevious	acCmdLoadFromQuery	acCmdSelectRecord
acCmdBookmarksToggle	acCmdMacroConditions	acCmdSelectReport
acCmdBringToFront	acCmdMacroNames	acCmdSend
acCmdCallStack	acCmdMakeMDEFile	acCmdSendToBack
acCmdChangeToCheckBox	acCmdMicrosoftAccessHelpTopics	acCmdSetControlDefaults
acCmdChangeToComboBox	acCmdMicrosoftOnTheWeb	acCmdSetDatabasePassword
acCmdChangeToImage	acCmdMinimize	acCmdSetNextStatement
acCmdChangeToLabel	acCmdMoreWindows	acCmdShowAllRelationships
acCmdChangeToListBox	acCmdNewDatabase	acCmdShowDirectRelationships
acCmdChangeToOptionButton	acCmdNewObjectAutoForm	acCmdShowMembers
acCmdChangeToTextBox	acCmdNewObjectAutoReport	acCmdShowNextStatement
acCmdChangeToToggleButton	acCmdNewObjectClassModule	acCmdShowOnlyWebToolbar
acCmdClearAll	acCmdNewObjectForm	acCmdShowTable
acCmdClearAllBreakpoints	acCmdNewObjectMacro	acCmdSingleStep
acCmdClearGrid	acCmdNewObjectModule	acCmdSizeToFit
acCmdClearItemDefaults	acCmdNewObjectQuery	acCmdSizeToFitForm
acCmdClose	acCmdNewObjectReport	acCmdSizeToGrid
acCmdCloseWindow	acCmdNewObjectTable	acCmdSizeToNarrowest
acCmdColumnWidth	acCmdObjBrwFindWholeWordOnly	acCmdSizeToWidest
acCmdCompactDatabase	acCmdObjBrwGroupMembers	acCmdSnapToGrid
acCmdCompileAllModules	acCmdObjBrwHelp	acCmdSortAscending
acCmdCompileAndSaveAllModules	acCmdObjBrwShowHiddenMembers	acCmdSortDescending
acCmdCompileLoadedModules	acCmdObjBrwViewDefinition	acCmdSortingAndGrouping
acCmdCompleteWord	acCmdObjectBrowser	acCmdSpelling
acCmdControlWizardsToggle	acCmdOLEDDELinks	acCmdSQLView
acCmdConvertDatabase	acCmdOLEObjectConvert	acCmdStartupProperties
acCmdConvertMacrosToVisualBasic	acCmdOLEObjectDefaultVerb	acCmdStepOut
acCmdCopy	acCmdOpenDatabase	acCmdStepOver
acCmdCopyHyperlink	acCmdOpenHyperlink	acCmdStepToCursor
acCmdCreateMenuFromMacro	acCmdOpenNewHyperlink	acCmdStopLoadingPage
acCmdCreateRelationship	acCmdOpenSearchPage	acCmdSubformDatasheet
acCmdCreateReplica	acCmdOpenStartPage	acCmdSynchronizeNow
acCmdCreateShortcut	acCmdOpenTable	acCmdTabControlPageOrder
acCmdCreateShortcutMenuFromMacro	acCmdOpenURL	acCmdTableNames
acCmdCreateToolbarFromMacro	acCmdOptions	acCmdTabOrder
acCmdCut	acCmdOutdent	acCmdTestValidationRules
acCmdDatabaseProperties	acCmdOutputToExcel	acCmdTileHorizontally
acCmdDataEntry	acCmdOutputToRTF	acCmdTileVertically
acCmdDatasheetView	acCmdOutputToText	acCmdToggleBreakpoint
acCmdDateAndTime	acCmdPageHdrFtr	acCmdToggleFilter
acCmdDebugWindow	acCmdPageNumber	acCmdToolbarControlProperties
acCmdDelete	acCmdPageSetup	acCmdToolbarsCustomize
acCmdDeletePage	acCmdParameterInfo	acCmdTransparentBackground
acCmdDeleteQueryColumn	acCmdPaste	acCmdTransparentBorder
acCmdDeleteRecord	acCmdPasteAppend	acCmdUndo
acCmdDeleteRows	acCmdPasteSpecial	acCmdUnfreezeAllColumns
acCmdDeleteTab	acCmdPreviewEightPages	acCmdUnhideColumns
acCmdDeleteTableColumn	acCmdPreviewFourPages	acCmdUserAndGroupAccounts
acCmdDeleteWatch	acCmdPreviewOnePage	acCmdUserAndGroupPermissions
acCmdDesignView	acCmdPreviewTwelvePages	acCmdUserLevelSecurityWizard
acCmdDocMaximize	acCmdPreviewTwoPages	acCmdVerticalSpacingDecrease
acCmdDocMove	acCmdPrimaryKey	acCmdVerticalSpacingIncrease
acCmdDocRestore	acCmdPrint	acCmdVerticalSpacingMakeEqual
acCmdDocSize	acCmdPrintPreview	acCmdViewCode
acCmdDocumenter	acCmdProcedureDefinition	acCmdViewDetails
acCmdDuplicate	acCmdProperties	acCmdViewForms
acCmdEditHyperlink	acCmdPublish	acCmdViewGrid
acCmdEditingAllowed	acCmdPublishDefaults	acCmdViewLargeIcons
acCmdEditRelationship	acCmdQueryParameters	acCmdViewList
acCmdEditWatch	acCmdQueryTotals	acCmdViewMacros
acCmdEncryptDecryptDatabase	acCmdQueryTypeAppend	acCmdViewModules
acCmdEnd	acCmdQueryTypeCrosstab	acCmdViewQueries
acCmdExit	acCmdQueryTypeDelete	acCmdViewReports
acCmdFavoritesAddTo	acCmdQueryTypeMakeTable	acCmdViewRuler
acCmdFavoritesOpen	acCmdQueryTypeSelect	acCmdViewSmallIcons
acCmdFieldList	acCmdQueryTypeSQLDataDefinition	acCmdViewTables
acCmdFilterByForm	acCmdQueryTypeSQLPassThrough	acCmdViewToolbox
acCmdFilterBySelection	acCmdQueryTypeSQLUnion	acCmdWindowArrangeIcons
acCmdFilterExcludingSelection	acCmdQueryTypeUpdate	acCmdWindowCascade
acCmdFind	acCmdQuickInfo	acCmdWindowHide
acCmdFindNextWordUnderCursor	acCmdQuickPrint	acCmdWindowSplit
acCmdFindPrevious	acCmdQuickWatch	acCmdWindowUnhide
acCmdFindPrevWordUnderCursor	acCmdRecordsGoToFirst	acCmdWordMailMerge
acCmdFitToWindow	acCmdRecordsGoToLast	acCmdZoom10
acCmdFont	acCmdRecordsGoToNew	acCmdZoom25
acCmdFormatCells	acCmdRecordsGoToNext	acCmdZoom50
acCmdFormHdrFtr	acCmdRecordsGoToPrevious	acCmdZoom75
acCmdFormView	acCmdRecoverDesignMaster	acCmdZoom100
acCmdFreezeColumn	acCmdRedo	acCmdZoom150
acCmdGoBack	acCmdReferences	acCmdZoom200
acCmdGoContinue	acCmdRefresh	acCmdZoomBox
acCmdGoForward


DodajMenu, akcja (AddMenu)

Akcja DodajMenu służy do tworzenia:

•	niestandardowego paska menu dla formularza albo raportu. Niestandardowy pasek menu zastępuje wbudowany pasek menu tego formularza lub raportu.

•	niestandardowego menu podręcznego dla formularza, formantu formularza lub raportu. Niestandardowe menu podręczne zastępuje wbudowane menu podręczne tego formularza, formantu formularza albo raportu.

•	globalnego paska menu. Globalny pasek menu zastępuje wbudowany pasek menu we wszystkich oknach programu Microsoft Access poza tymi, w których został dodany niestandardowy pasek menu dla formularza lub raportu.

•	globalnego menu podręcznego. Globalne menu podręczne zastępuje wbudowane menu podręczne pól w arkuszach danych tabel i kwerend, formularzy w widoku "Formularz", widoku "Arkusz danych" i w trybie podglądu wydruku oraz raportów w trybie podglądu wydruku z wyjątkiem tych, w których zostało dodane niestandardowe menu podręczne dla formularza, formantu formularza lub raportu.

Uwaga   Mimo, że w programie Microsoft Access 97 w dalszym ciągu można tworzyć wszystkie wymienione typy menu niestandardowych używając makr zawierających akcje DodajMenu (i każde istniejące menu niestandardowe utworzone za pomocą makra będzie działało), zaleca się, aby tworzyć je używając okna dialogowego Dostosuj dostępnego przez wskazanie polecenia Paski narzędzi w menu Widok i kliknięcie polecenia Dostosuj. Po wyświetleniu okna dialogowego Dostosuj można łatwo utworzyć nowe menu lub dostosować menu wbudowane.

Ustawienia

Dla akcji DodajMenu używane są następujące argumenty.

Argument akcji	Opis
Nazwa menu	Nazwa rozwijalnego menu, które ma być dodane do niestandardowego albo globalnego paska menu. Należy wprowadzić nazwę menu w polu Nazwa menu sekcji Argumenty akcji okna makra. Jest to argument wymagany dla pasków menu niestandardowych oraz globalnych. Nie jest używany dla niestandardowych menu podręcznych oraz globalnych menu podręcznych.
	Aby utworzyć klawisz dostępu umożliwiający dostęp do menu za pomocą klawiatury, należy wpisać znak ampersand (&) przed literą, której klawisz ma być klawiszem dostępu. Ta litera będzie podkreślona w nazwie menu na pasku menu.
Nazwa makra menu	Nazwa grupy makr zawierającej makra poleceń danego menu. Jest to argument wymagany. Jeśli makro zawierające akcję DodajMenu jest uruchamiane w bibliotecznej bazie danych, grupa makr z tą nazwą jest wyszukiwana tylko w bieżącej bazie danych.
Tekst paska stanu	Tekst, który jest wyświetlany na pasku stanu, gdy menu zostaje wybrane. Argument ten jest ignorowany dla niestandardowych oraz globalnych menu podręcznych.
Uwagi

Aby utworzyć niestandardowy pasek menu, niestandardowe menu podręczne, globalny pasek menu albo globalne menu podręczne, należy wykonać następujące czynności:

1.	Utworzyć makro paska menu zawierające akcję DodajMenu dla każdego rozwijalnego menu, które ma się pojawiać na niestandardowym lub globalnym pasku menu. Dla niestandardowych i globalnych menu podręcznych makro paska menu powinno zawierać tylko jedną akcję DodajMenu.

2.	Przypisać polecenia każdemu rozwijalnemu menu, tworząc dla każdego menu grupę makr. Każde polecenie powoduje wykonanie zestawu akcji zdefiniowanych przez pewne makro z tej grupy. Dla niestandardowych i globalnych menu podręcznych tworzy się jedną grupę makr, w której każde makro zawiera zestaw akcji dla jednego polecenia z menu podręcznego.

3.	Dołączyć makro paska menu do odpowiedniego obiektu programu Microsoft Access:

•	Dla niestandardowych pasków menu należy wpisać nazwę makra paska menu we właściwości MenuBar (PasekMenu) formularza lub raportu.

•	Dla niestandardowych menu podręcznych należy wpisać nazwę makra paska menu we właściwości ShortcutMenuBar (PasekMenuPodręcznego) formularza, formantu formularza albo raportu.

•	Dla globalnych pasków menu należy kliknąć polecenie Autostart w menu Narzędzia, a następnie w oknie dialogowym Autostart wpisać nazwę makra paska menu w polu Pasek menu.

•	Dla globalnych menu podręcznych należy kliknąć polecenie Autostart w menu Narzędzia, a następnie w oknie dialogowym Autostart wpisać nazwę makra paska menu w polu Pasek menu podręcznego.

Każde menu na pasku menu wymaga osobnej akcji DodajMenu.

Niestandardowe i globalne paski menu oraz menu podręczne zastępują wbudowane paski menu i menu podręczne obiektów, do których zostają dołączone. Jeśli trzeba zachować w tych menu jakieś polecenia programu Microsoft Access, należy użyć akcji UruchomPolecenie (RunCommand), aby dodać te polecenia do grup makr dla odpowiednich menu.

Można uruchomić makro za pomocą polecenia menu używając w tym makrze akcji UruchomMakro (RunMacro) dla danego polecenia.

Uwaga   Akcje DodajMenu mogą być użyte tylko w makrze paska menu określonym za pomocą właściwości MenuBar (PasekMenu) albo ShortcutMenuBar (PasekMenuPodręcznego) formularza, formantu formularza lub raportu, albo w polu Pasek menu lub Pasek menu podręcznego okna dialogowego Autostart, pojawiających się po kliknięciu polecenia Autostart w menu Narzędzia. Makra paska menu powinny zawierać jedynie akcję DodajMenu.

Gdy użytkownik określi makro paska menu dla formularza, raportu lub bazy danych, to makro paska stanu jest uruchamiane w programie Microsoft Access ilekroć formularz, raport lub baza danych są otwierane Jeśli zostaną dokonane jakieś zmiany w makrze paska menu lub w grupie makr definiujących polecenia menu rozwijalnego otwartego formularza raportu lub bazy danych, trzeba zamknąć i ponownie otworzyć formularz, raport lub bazę danych, aby zmiany pojawiły się na niestandardowym pasku menu.

Tworząc grupy makr zawierające polecenia dla menu niestandardowego należy wziąć pod uwagę poniższe informacje:

•	W grupie makr nazwa umieszczona w kolumnie "Nazwa makra" dla każdego makra będzie nazwą polecenia. Tekst umieszczony w kolumnie "Komentarz" w tym samym wierszu pojawi się na pasku stanu po wybraniu polecenia.

•	Aby utworzyć linię między dwoma poleceniami menu, należy wpisać myślnik (-) w kolumnie "Nazwa makra" między odpowiednimi poleceniami menu.

•	Aby utworzyć klawisz dostępu umożliwiający dostęp do menu za pomocą klawiatury, należy wpisać znak ampersand (&) przed literą, której klawisz ma być klawiszem dostępu. Ta litera będzie podkreślona w nazwie menu na pasku menu.

Można utworzyć podmenu dla niestandardowego menu lub niestandardowego menu podręcznego, używając akcji DodajMenu w grupie makr określonej przez argument "Nazwa makra menu". Jeśli w takiej grupie makr zostanie umieszczona akcja DodajMenu, program Microsoft Access tworzy podmenu z nazwą i tekstem paska stanu określonymi przez argumenty "Nazwa menu" oraz "Tekst paska stanu" dla tej akcji DodajMenu. Podmenu zawiera polecenia zdefiniowane przez makra w grupie makr określonej przez argument "Nazwa makra menu" dla danej akcji DodajMenu. Kolumny "Nazwa menu" oraz "Tekst paska stanu" takiej akcji DodajMenu (które normalnie określają nazwę polecenia i tekst paska stanu dla polecenia menu niestandardowego) są ignorowane, ponieważ akcja ta definiuje podmenu, a nie polecenie w menu głównym. Można tworzyć wiele poziomów podmenu, używając akcji DodajMenu w grupach makr dla każdego poziomu menu.

Warunki w makrach są obsługiwane jedynie w makrach głównego menu. Oznacza to, że można umieścić warunek w makrze paska menu, aby określić, czy dane menu będzie wyświetlane w niestandardowym czy w globalnym pasku menu, ale tylko dla menu o najwyższym poziomie na pasku menu. Za pomocą warunków nie można wyświetlać lub ukrywać poleceń albo podmenu w danym menu. Można jednak ukryć lub wyświetlić niestandardowe albo globalne menu podręczne.

Akcja DodajMenu nie jest dostępna w języku Visual Basic. Można jednak ustawić właściwości MenuBar (PasekMenu) albo ShortcutMenuBar (PasekMenuPodręcznego) w języku Visual Basic tak, aby dołączyć niestandardowy pasek menu lub niestandardowe menu podręczne do formularza, formantu formularza albo raportu. Można ustawić właściwość StartUpMenuBar (programowy równoważnik ustawienia pola "Pasek menu") tak, aby utworzyć globalny pasek menu. Można też ustawić właściwość MenuBar obiektu Application, aby utworzyć globalny pasek menu. Podobnie, można ustawić właściwość StartUpShortcutMenuBar (programowy równoważnik ustawienia pola Pasek menu podręcznego) albo właściwość ShortcutMenuBar obiektu Application tak, aby utworzyć globalne menu podręczne.


ZastosujFiltr, akcja (ApplyFilter)

Akcji ZastosujFiltr można użyć, aby zastosować filtr, kwerendę lub klauzulę SQL WHERE do tabeli, formularza lub raportu. Powoduje to ograniczenie lub posortowanie rekordów w tabeli albo w tabeli lub kwerendzie, na której oparty jest formularz lub raport. Dla raportów akcję tę można stosować tylko w makrze określonym przez właściwość zdarzenia OnOpen (Przy otwarciu) raportu.

Ustawienia

Dla akcji ZastosujFiltr używane są następujące argumenty.

Argument akcji	Opis
Nazwa filtru	Nazwa filtru lub kwerendy ograniczającej lub sortującej rekordy tabeli, formularza lub raportu. Można wpisać nazwę istniejącej kwerendy albo filtru zapisanego jako kwerenda w polu Nazwa filtru sekcji Argumenty akcji okna makra.
Warunek WHERE	Poprawna klauzula SQL WHERE (bez słowa WHERE) albo wyrażenie ograniczające rekordy tabeli, formularza lub raportu.
	Uwaga   W wyrażeniu argumentu "Warunek WHERE" lewa strona wyrażenia zwykle zawiera nazwę pola z podstawowej tabeli lub kwerendy dla danego formularza lub raportu. Prawa strona wyrażenia zwykle zawiera kryteria, które mają być zastosowane do tego pola, aby ograniczyć lub posortować rekordy. Kryterium może być na przykład nazwą formantu albo innego formularza zawierającego wartość, której mają odpowiadać rekordy z pierwszego formularza. Nazwa formantu powinna być pełna, na przykład: Forms!nazwa_formularza!nazwa_formantu
	Maksymalna długość argumentu "Warunek WHERE" wynosi 256 znaków. Jeśli potrzebna jest dłuższa klauzula SQL WHERE, należy zastosować metodę ApplyFilter obiektu DoCmd w języku Visual Basic. W języku Visual Basic można wprowadzać klauzule SQL WHERE o długości do 32 768 znaków.
Uwaga   Należy użyć jednego albo obu argumentów. Jeśli już został zdefiniowany filtr, który dostarcza odpowiednich danych, można stosować argument "Nazwa filtru". Argumentu "Warunek WHERE" można użyć do bezpośredniego wprowadzenia kryteriów ograniczających. Jeśli używane są oba argumenty, klauzula WHERE jest stosowana w programie Microsoft Access do wyników filtru.

Uwagi

Filtr albo kwerendę można zastosować w widoku "Formularz" albo widoku "Arkusz danych".

Zastosowany filtr i warunek WHERE stają się ustawieniem właściwości Filter (Filtr) formularza lub raportu.

Dla tabel i formularzy akcja daje podobny wynik, co kliknięcie polecenia Zastosuj filtr/sortowanie w menu Rekordy albo kliknięcie przycisku Zastosuj filtr  [image]  na pasku narzędzi. Polecenie menu lub przycisk powodują zastosowanie do tabeli lub formularza ostatnio utworzonego filtru, podczas gdy akcja ZastosujFiltr stosuje określony filtr lub kwerendę.

Jeśli użytkownik wskaże polecenie Filtruj w menu Rekordy, a następnie kliknie polecenie Zaawansowany filtr/sortowanie po uruchomieniu akcji ZastosujFiltr, wybrane kryteria filtrowania zostaną wyświetlone w oknie "Zaawansowany filtr/sortowanie".

Aby usunąć filtr i wyświetlić wszystkie rekordy tabeli lub formularza, można użyć akcji PokażWszystkieRekordy (ShowAllRecords), polecenia Usuń filtr/sortowanie w menu Rekordy albo przycisku Usuń filtr  [image]  na pasku narzędzi.

Przy zapisywaniu tabeli lub formularza każdy aktualnie zdefiniowany w danym obiekcie filtr zostaje zapisany, ale nie będzie automatycznie stosowany przy następnym otwarciu obiektu (chociaż sortowanie stosowane przed zapisaniem będzie wykonane automatycznie). Jeśli filtr ma być stosowany automatycznie przy otwieraniu formularza, należy określić makro zawierające akcję ZastosujFiltr albo procedurę zdarzenia zawierającą metodę ApplyFilter obiektu DoCmd jako ustawienie właściwości zdarzenia OnOpen (Przy otwarciu) danego formularza. Można też stosować filtr, używając akcji OtwórzFormularz (OpenForm) lub OtwórzRaport (OpenReport) albo odpowiadających im metod. Aby automatycznie stosować filtr przy otwieraniu tabeli, można ją otwierać za pomocą makra zawierającego akcję OtwórzTabelę (OpenTable) i zaraz po niej akcję ZastosujFiltr.


Sygnał, akcja (Beep)

Akcja Sygnał służy do wydawania sygnału dźwiękowego przez głośnik komputera.

Ustawienia

Dla akcji Sygnał nie są używane żadne argumenty.

Uwagi

Akcji Sygnał można używać do sygnalizowania następujących zdarzeń:

•	Nastąpiły ważne zmiany na ekranie.

•	Do formantu wprowadzono niewłaściwe dane. Na przykład dane liczbowe w polu tekstowym.

•	W makrze została wykonana określona czynność lub zakończyło się jego działanie.

Częstotliwość i czas trwania sygnału zależą od sprzętu i mogą być różne w różnych komputerach.

Aby uruchomić akcję Sygnał w języku Visual Basic, należy zastosować metodę Beep obiektu DoCmd.


AnulujZdarzenie, akcja (CancelEvent)

Akcja AnulujZdarzenie służy do anulowania zdarzenia, które spowodowało uruchomienie makra zawierającego tę akcję. Nazwa makra jest ustawieniem właściwości zdarzenia, takiego jak BeforeUpdate (Przed aktualizacją), OnOpen (Przy otwarciu), OnUnload (Przy zwolnieniu) lub OnPrint (Przy wydruku).

Ustawienia

Dla akcji AnulujZdarzenie nie są używane żadne argumenty.

Uwagi

W formularzu zwykle używa się akcji AnulujZdarzenie z właściwością zdarzenia BeforUpdate (Przed aktualizacją) w makrze służącym do sprawdzania poprawności. Gdy użytkownik wprowadzi dane do formantu lub rekordu, makro jest uruchamiane przed dodaniem danych do bazy danych. Jeśli dane nie spełniają reguł poprawności w makrze, akcja AnulujZdarzenie powoduje anulowanie procesu aktualizacji przed jego rozpoczęciem.

Często można używać tej akcji razem z akcją OknoKomunikatu (MsgBox), aby pokazać, że dane nie spełniły warunków poprawności oraz dostarczyć informacji o rodzaju danych, jakie powinny być wprowadzone.

Za pomocą akcji AnulujZdarzenie mogą być anulowane następujące zdarzenia.

ApplyFilter	Delete	MouseDown
BeforeDelConfirm	Exit	NoData
BeforeInsert	Filter	Open
BeforeUpdate	Format	Print
DblClick	KeyPress	Unload
Uwaga   Można stosować akcję AnulujZdarzenie razem ze zdarzeniem MouseDown tylko wtedy, gdy chodzi o anulowanie zdarzenia występującego po kliknięciu prawego przycisku myszy.

Jeśli ustawienie właściwości zdarzenia OnDblClick (Przy kliknięciu dwukrotnym) danego formantu określa makro zawierające akcję AnulujZdarzenie, akcja ta powoduje anulowanie zdarzenia DblClick.

Dla zdarzeń, które można anulować, domyślne zachowanie zdarzenia (to jest zachowanie występujące zwykle przy wystąpieniu zdarzenia) występuje po uruchomieniu makra zdarzenia. Umożliwia to anulowanie domyślnego zachowania. Na przykład przy kliknięciu dwukrotnym słowa, na którym znajduje się punkt wstawiania w polu tekstowym, słowo to jest zwykle zaznaczane. Można anulować to zachowanie w makrze dla zdarzenia DblClick i wykonać inną akcję, na przykład otworzyć formularz zawierający informacje o danych w polu tekstowym. Dla zdarzeń, których nie można anulować, domyślne zachowanie występuje przed uruchomieniem makra.

Uwaga   Jeśli ustawienie właściwości zdarzenia OnUnload (Przy zwolnieniu) określa makro wykonujące akcję AnulujZdarzenie, zamknięcie formularza nie będzie możliwe. Aby zamknąć formularz, należy poprawić warunek, który uruchomił akcję AnulujZdarzenie albo otworzyć makro i usunąć akcję AnulujZdarzenie. Jeśli formularz jest modalny, otwarcie makra nie będzie możliwe.

Aby wykonać akcję AnulujZdarzenie w języku Visual Basic, należy użyć metody CancelEvent obiektu DoCmd.


Zamknij, akcja
Zamknij, akcja (Close)

Akcja Zamknij służy do zamknięcia określonego okna programu Microsoft Access albo okna aktywnego, jeśli żadne okno nie jest określone.

Ustawienia

Dla akcji Zamknij używane są następujące argumenty:

Argument akcji	Opis
Typ obiektu	Typ obiektu, którego okno ma zostać zamknięte. Należy kliknąć opcję Tabela, Kwerenda, Formularz, Raport, Makro lub Moduł w polu Typ obiektu sekcji Argumenty akcji okna makra. Aby wybrać okno aktywne, należy zostawić pusty argument.
Nazwa obiektu	Nazwa obiektu, który ma zostać zamknięty. W polu Nazwa obiektu wyświetlane są wszystkie obiekty w bazie danych mające ten sam typ, co wybrany za pomocą argumentu "Typ obiektu". Należy kliknąć obiekt, który ma być zamknięty. Jeśli pole "Typ obiektu" jest puste, to pole też powinno być puste.
Zapisz	Określa, czy zapisywać zmiany w obiekcie, gdy jest on zamknięty. Można kliknąć wartość Tak (aby zapisać obiekt), Nie (aby zamknąć obiekt bez zapisywania) lub Monit (aby użytkownik był pytany o zapisywanie obiektu). Monit jest ustawieniem domyślnym.
Uwagi

Akcja Zamknij działa na wszystkie obiekty bazy danych, które mogą być otwierane lub zamykane przez użytkownika. Akcja ta powoduje ten sam skutek, co zaznaczenie obiektu, a następnie zamknięcie go kliknięciem polecenia Zamknij w menu Plik, kliknięciem polecenia Zamknij w menu sterowania okna danego obiektu lub kliknięciem przycisku Zamknij  [image]  dla obiektu.

Jeśli argument "Zapisz" jest ustawiony na wartość "Monit", a obiekt nie został zapisany przed wykonaniem akcji Zamknij, użytkownik jest monitowany za pomocą okna dialogowego o zapisanie obiektu przed jego zamknięciem przez makro. Jeśli argument "Ostrzeżenia włączone" akcji UstawOstrzeżenia (SetWarnings) został ustawiony na wartość "Nie", okno dialogowe nie jest wyświetlane i obiekt zostaje zapisany automatycznie.

Aby wykonać akcję Zamknij w języku Visual Basic, należy zastosować metodę Close obiektu DoCmd.


KopiujObiekt, akcja (CopyObject)

Akcja KopiujObiekt służy do kopiowania określonego obiektu bazy danych do innej bazy danych programu Microsoft Access albo do tej samej bazy danych pod inną nazwą. Na przykład, istniejący obiekt można skopiować lub zapisać w innej bazie danych albo szybko utworzyć podobny obiekt z pewnymi zmianami.

Ustawienia

Dla akcji KopiujObiekt używane są następujące argumenty:

Argument akcji	Opis
Docelowa baza danych	Poprawna nazwa pliku i ścieżki docelowej bazy danych. Należy wprowadzić ścieżkę i nazwę pliku w polu Docelowa baza danych sekcji Argumenty akcji okna makra. Jeśli ma być zaznaczona bieżąca baza danych, argument powinien zostać pusty. Jeśli makro zawierające akcję KopiujObiekt jest uruchamiane w bibliotecznej bazie danych, a argument ten jest pusty, obiekt zostanie skopiowany do bibliotecznej bazy danych.
Nowa nazwa	Nowa nazwa obiektu. Przy kopiowaniu do innej bazy danych argument ten należy pozostawić pusty, aby zachować tę samą nazwę.
Typ obiektu źródłowego	Typ obiektu, który ma być skopiowany. Należy kliknąć opcję Tabela, Kwerenda, Formularz, Raport, Makro lub Moduł. Aby skopiować obiekt zaznaczony w oknie bazy danych, to pole należy zostawić puste.
Nazwa obiektu źródłowego	Nazwa obiektu, który ma być kopiowany. W polu Nazwa obiektu źródłowego są wyświetlone wszystkie obiekty bazy danych tego samego typu, co typ wybrany za pomocą argumentu "Typ obiektu źródłowego”. W polu Nazwa obiektu źródłowego należy kliknąć obiekt, który ma być skopiowany. Jeśli argument "Typ obiektu źródłowego" jest pusty, ten argument też powinien być pusty. Jeśli makro zawierające akcję KopiujObiekt jest uruchamiane w bibliotecznej bazie danych, obiekt o tej nazwie najpierw jest szukany w bibliotecznej bazie danych, a następnie w bieżącej bazie danych.
Uwagi

Trzeba wprowadzić wartość dla co najmniej jednego z następujących dwóch argumentów tej akcji: "Docelowa baza danych" i "Nowa nazwa".

Jeśli pozostawi się puste argumenty "Typ obiektu źródłowego" i "Nazwa obiektu źródłowego", kopiowane będą obiekty zaznaczone w oknie bazy danych. Aby zaznaczyć obiekt w oknie bazy danych, należy użyć akcji WybierzObiekt (SelectObject) z argumentem "W oknie bazy danych" ustawionym na wartość "Tak".

Działanie akcji KopiujObiekt jest podobne do zaznaczenia obiektu w oknie bazy danych, kliknięcia polecenia Kopiuj w menu Edycja, a następnie kliknięcia polecenia Wklej w menu Edycja. Pojawia się okno dialogowe Wklej jako umożliwiające nadanie obiektowi nowej nazwy. Akcja KopiujObiekt wykonuje te działania automatycznie.

Można też kopiować obiekt zaznaczony w oknie bazy danych albo otwarty obiekt w oknie tabeli, oknie kwerendy, oknie formularza, oknie raportu, oknie makra lub oknie modułu klikając polecenie Zapisz jako/Eksportuj w menu Plik. Okno dialogowe Zapisz jako daje możliwość zapisania kopii obiektu w bieżącej bazie danych pod inną nazwą albo zapisania obiektu w innej bazie danych. Jeśli obiekt był już zapisany, a zostanie zapisany pod inną nazwą w bieżącej bazie danych, wersja pierwotna pozostanie pod poprzednią nazwą.

Musi istnieć ścieżka i nazwa pliku docelowej bazy danych, zanim makro uruchomi akcję KopiujObiekt. W przeciwnym razie w programie Microsoft Access zostaje wyświetlony komunikat o błędzie.

Aby uruchomić akcję KopiujObiekt w języku Visual Basic, należy użyć metody CopyObject obiektu DoCmd.


WykonajElementMenu, akcja (DoMenuItem)

Akcja WykonajElementMenu służy do wykonania polecenia menu programu Microsoft Access.

Uwaga   W programie Microsoft Access 97 akcja WykonajElementMenu została zastąpiona przez akcję UruchomPolecenie (RunCommand). Akcja WykonajElementMenu została dołączona do tej wersji programu Microsoft Access tylko dla zachowania zgodności z poprzednimi wersjami. Jeśli użytkownik otworzy i zapisze makro z wcześniejszej wersji programu Microsoft Access zawierające akcję WykonajElementMenu, akcja ta i jej argumenty zostaną automatycznie przekonwertowane na równoważną akcję UruchomPolecenie. Akcja WykonajElementMenu nie pojawia się na liście akcji w oknie makra programu Microsoft Access 97.

Po konwersji bazy danych z wcześniejszej wersji programu Microsoft Access niektóre polecenia mogą nie być dostępne. Mogły się zmienić nazwy tych poleceń, mogły one zostać przeniesione do innego menu lub nie są one już dostępne w programie Microsoft Access 97. Akcje WykonajElementMenu dla takich poleceń nie mogą zostać przekonwertowane na akcje UruchomPolecenie. Jeśli użytkownik otworzy makro, zostanie dla takich poleceń wyświetlona akcja UruchomPolecenie z pustym argumentem "Polecenie". Trzeba w takim przypadku edytować makro i wprowadzić prawidłową akcję UruchomPolecenie lub usunąć tę akcję. Listę poleceń z poprzednich wersji programu Microsoft Access niedostępnych w programie Microsoft Access 97 można znaleźć w temacie Polecenia akcji WykonajElementMenu niedostępne dla akcji UruchomPolecenie.

Za pomocą tej akcji można:

•	Wykonać dowolne polecenie programu Microsoft Access z poziomu makra. Polecenie wykonywane przez makro powinno być odpowiednie do aktualnego widoku. Na przykład makro nie może wykonać polecenia z menu Rekordy, jeśli aktywny obiekt jest w widoku "Projekt" tabeli, widoku "Projekt" formularza, widoku "Projekt" kwerendy albo widoku "Projekt" raportu.

•	Dodać polecenie programu Microsoft Access do niestandardowego paska menu dla formularza lub raportu albo do globalnego paska menu. Dla każdego polecenia, które ma być dodane należy wprowadzić akcję WykonajElementMenu do grupy makr dla tego menu.

•	Dodać polecenie programu Microsoft Access do niestandardowego menu podręcznego dla formularza, formantu formularza lub raportu, albo do globalnego menu podręcznego. Dla każdego polecenia, które ma być dodane, należy wprowadzić akcję WykonajElementMenu do grupy makr niestandardowego menu podręcznego lub globalnego menu podręcznego.

Ustawienia

Dla akcji WykonajElementMenu używane są następujące argumenty:

Argument akcji	Opis
Pasek menu	Nazwa paska menu zawierającego polecenie, które ma być wykonane. Nazwa paska menu jest nazwą jednego z widoków, w którym pojawiają się paski menu. Należy wprowadzić nazwę paska menu w polu Pasek menu sekcji Argumenty akcji okna makra. Argument ten jest wymagany.
Nazwa menu	Nazwa menu zawierającego polecenia, które mają być wykonane. Argument ten jest wymagany.
Polecenie	Polecenie, które ma być wykonane. Argument ten jest wymagany.
Polecenie podrzędne	Polecenie podrzędne, które ma być wykonane. Argument ten można stosować tylko wtedy, gdy wybrane polecenie ma podmenu.
Uwagi

Działanie akcji WykonajElementMenu (DoMenuItem) powoduje taki sam efekt, co kliknięcie określonego polecenia menu programu Microsoft Access. Jeśli kliknięcie polecenia powoduje otwarcie okna dialogowego, okno dialogowe jest również wyświetlane, gdy wykonywana jest akcja WykonajElementMenu. Można użyć akcji WyślijKlawisze (SendKeys), aby wprowadzić do okna dialogowego odpowiednie informacje.

Aby wykonać akcję WykonajElementMenu w języku Visual Basic, należy użyć metody DoMenuItem obiektu DoCmd.


Echo, akcja (Echo)

Akcja Echo służy do określenia, czy echo jest włączone. Za pomocą tej akcji można na przykład wyświetlać lub ukrywać wyniki działania makra w trakcie jego pracy.

Ustawienia

Dla akcji Echo używane są następujące argumenty:

Argument akcji	Opis
Echo włączone	Należy kliknąć wartość Tak (echo włączone) lub Nie (echo wyłączone) w polu Echo włączone sekcji Argumenty akcji okna makra. Wartością domyślną jest "Tak".
Tekst paska stanu	Tekst, który jest wyświetlany na pasku stanu, gdy echo jest wyłączone. Na przykład, jeśli echo jest wyłączone, na pasku stanu może być wyświetlany tekst "Makro działa".
Uwagi

W trakcie wykonywania makra w programie Microsoft Access, aktualizacja ekranu często powoduje wyświetlanie informacji, które nie są istotne dla tego makra. Gdy argument "Echo włączone" jest ustawiony na wartość "Nie", ekran nie jest aktualizowany w trakcie wykonywania makra. Po zakończeniu makra echo jest automatycznie włączane ponownie, a okno odświeżane. Ustawienie wartości "Nie" argumentu "Echo włączone" nie wpływa na samo makro ani na wyniki jego działania.

Akcja Echo nie powoduje wyłączenia wyświetlania modalnych okien dialogowych, takich jak komunikaty o błędach, ani formularzy podręcznych, takich jak arkusze właściwości. Za ich pomocą można zbierać lub wyświetlać informacje w czasie, gdy echo jest wyłączone. Wszystkie okna dialogowe i okna komunikatów mogą być wyłączone za pomocą akcji UstawOstrzeżenia (SetWarnings). Nie dotyczy to okien komunikatów o błędach oraz okien dialogowych wymagających od użytkownika wprowadzenia informacji.

Akcję Echo można wykonywać kilkakrotnie w ramach jednego makra. Pozwala to na zmiany tekstu paska stanu w trakcie pracy makra.

Jeśli echo zostało wyłączone, za pomocą akcji Klepsydra (Hourglass) można zmienić wskaźnik myszy na klepsydrę (albo jakąkolwiek inną ikonę wskaźnika myszy ustawioną dla stanu "Zajęty" w systemie Microsoft Windows 95 lub "Czekaj" w systemie Windows NT), aby w sposób graficzny pokazać, że makro pracuje.

Aby wykonać akcję Echo w języku Visual Basic, należy użyć metody Echo obiektu DoCmd.


ZnajdźNastępny, akcja (FindNext)

Akcja ZnajdźNastępny służy do znajdowania następnego rekordu spełniającego kryteria określone za pomocą poprzedniej akcji ZnajdźRekord (FindRecord) lub w oknie dialogowym Znajdź w polu, dostępnym przez kliknięcie polecenia Znajdź w menu Edycja. Za pomocą akcji ZnajdźNastępny można wykonywać powtarzające się szukanie rekordów. Można na przykład przechodzić po kolei przez wszystkie rekordy dotyczące określonego klienta.

Ustawienia

W akcji ZnajdźNastępny nie występują żadne argumenty. Akcja ZnajdźNastępny wyszukuje następny rekord, spełniający kryteria określone za pomocą akcji ZnajdźRekord lub w oknie dialogowym Znajdź w polu. Argumenty akcji ZnajdźRekord są takie same jak opcje okna dialogowego Znajdź w polu.

Aby określić kryteria szukania, należy użyć akcji ZnajdźRekord. Na ogół wprowadza się akcję ZnajdźRekord do makra, a następnie używa akcji ZnajdźNastępny, aby znaleźć kolejne rekordy spełniające te same kryteria. Aby szukać rekordów tylko wtedy, gdy jest spełniony pewien warunek, można wprowadzić wyrażenie warunkowe w kolumnie Warunek akcji ZnajdźNastępny.

Uwagi

Działanie tej akcji daje taki sam skutek, co użycie przycisku Znajdź następny w oknie dialogowym Znajdź w polu.

Uwaga   Chociaż akcja ZnajdźRekord odpowiada działaniu polecenia Znajdź w menu Edycja dla tabel, kwerend i formularzy nie odpowiada ona działaniu polecenia Znajdź w menu Edycja okna modułu. Nie można używać akcji ZnajdźRekord ani akcji ZnajdźNastępny do szukania tekstu w modułach.

Wskazówka   Jeśli argument "Tylko bieżące pole" akcji ZnajdźRekord został ustawiony na wartość "Tak", może być konieczne użycie akcji IdźDoFormantu (GoToControl), aby przenieść fokus do formantu zawierającego szukane dane przed wykonaniem akcji ZnajdźNastępny.

Programy Microsoft Access 97 i Microsoft Access 95 zachowują się inaczej niż poprzednie wersje, jeśli chodzi o miejsce, od którego akcja ZnajdźNastępny zaczyna szukać następnego wystąpienia tekstu spełniającego kryteria wyszukiwania. W poprzednich wersjach programu Microsoft Access, poszukiwanie zawsze zaczynało się od następnego rekordu w zestawie rekordów. Począwszy od wersji Microsoft Access 95, jeśli aktualnie zaznaczony tekst jest taki sam, jak tekst poszukiwany w momencie wykonywania akcji makra ZnajdźNastępny, poszukiwanie rozpoczyna się bezpośrednio po zaznaczonym tekście, w tym samym polu i w tym samym rekordzie, w którym znajduje się zaznaczony tekst. W przeciwnym razie poszukiwanie rozpoczyna się od początku bieżącego rekordu. Umożliwia to znalezienie wielu wystąpień tych samych kryteriów wyszukiwania, które mogą pojawiać się w jednym rekordzie, podczas gdy w programie Microsoft Access w wersji 2.0, można znaleźć tylko pierwsze wystąpienie kryteriów w rekordzie.

Należy jednak zauważyć, że jeśli do wykonania makra zawierającego akcję ZnajdźNastępny zostanie użyty przycisk polecenia, będzie się powtarzało znajdowanie tylko pierwszego wystąpienia kryteriów. Dzieje się tak dlatego, że kliknięcie przycisku polecenia przenosi fokus z pola zawierającego pasującą wartość. Zatem akcja ZnajdźNastępny zaczyna wyszukiwanie znowu od początku rekordu. Pierwsze wystąpienie kryteriów wyszukiwania będzie "w kółko" znajdowane w tym samym rekordzie. Aby uniknąć tego problemu, należy uruchomić makro używając techniki nie zmieniającej fokusu, takiej jak skorzystanie z przycisku niestandardowego paska narzędzi lub kombinacji klawiszy zdefiniowanej w makrze AutoKlawisze. Innym rozwiązaniem jest ustawienie w makrze fokusu na polu zawierającym kryteria wyszukiwania przed wykonaniem akcji ZnajdźNastępny.

Takie samo zachowanie ma miejsce, jeśli używa się przycisku polecenia do uruchomienia makra zawierającego akcję ZnajdźRekord z argumentem "Znajdź pierwszy" ustawionym na wartość "Nie". Informacje dotyczące tego, jak akcja ZnajdźNastępny wyszukuje rekordy można znaleźć w bazie danych Microsoft Knowledge Base w artykule Q150665, "FindNext Does Not Advance To Next Record To Search". Aby połączyć się ze stroną Microsoft Access Knowledge Base, należy kliknąć przycisk  [image]. Informacje na temat dostępu do bazy danych Knowledge Base lub innych źródeł pomocy technicznej można znaleźć w temacie Łączenie się z zasobami pomocy technicznej firmy Microsoft.

Aby wykonać akcję ZnajdźNastępny w języku Visual Basic, należy użyć metody FindNext obiektu DoCmd.


ZnajdźRekord, akcja (FindRecord)

Akcja ZnajdźRekord służy do znajdowania pierwszego wystąpienia danych spełniających kryteria określone za pomocą argumentów akcji ZnajdźRekord. Dane te mogą znajdować się w rekordzie bieżącym, poprzednim, następnym lub w pierwszym. Można szukać rekordów w arkuszu danych aktywnej tabeli, kwerendy lub formularza albo w formularzu.

Ustawienia

Dla akcji ZnajdźRekord używane są następujące argumenty:

Argument akcji	Opis
Znajdź	Określa dane, które mają być znalezione w rekordzie. Należy wprowadzić tekst, liczbę albo datę, która ma być znaleziona lub wpisać wyrażenie poprzedzone znakiem równości (=) w polu Znajdź sekcji Argumenty akcji okna makra. Można też używać symboli wieloznacznych. Argument ten jest wymagany.
Dopasuj	Określa lokalizację danych w polu. Można określić szukanie danych w dowolnej części pola ("Część pola"), danych wypełniających całe pole ("Całe pole") albo danych zlokalizowanych na początku pola ("Początek pola"). Wartość "Całe pole" jest ustawieniem domyślnym.
Uwzględniaj wielkość liter	Określa, czy podczas szukania są rozróżniane małe i wielkie litery (wielkie i małe litery muszą pasować dokładnie). Należy kliknąć wartość Tak (aby małe i wielkie litery były rozróżniane) lub Nie (aby małe i wielkie litery nie były rozróżniane). "Nie" jest ustawieniem domyślnym.
Przeszukaj	Określa kierunek szukania począwszy od bieżącego rekordu: do początku rekordów ("W górę"), do końca rekordów ("W dół") albo do końca rekordów, a następnie od początku do bieżącego rekordu ("Wszędzie"). "Wszędzie" jest ustawieniem domyślnym.
Szukaj z formatowaniem	Określa, czy szukaniem są objęte dane sformatowane. Należy kliknąć wartość Tak (Program Microsoft Access szuka danych, tak jak są one sformatowane i wyświetlane w polu) lub Nie (Program Microsoft Access szuka danych, tak jak są one przechowywane w bazie danych; ten format może się różnić od formatu wyświetlanego). "Nie" jest ustawieniem domyślnym. Tę funkcję można wykorzystać, aby ograniczyć szukanie do danych zapisanych w konkretnym formacie. Na przykład, jeśli po kliknięciu wartości Tak zostanie wpisana liczba 1,234 jako argument "Znajdź", spowoduje to znalezienie liczby 1 234 w polu sformatowanym tak, że tysiące są oddzielone przecinkiem. Jeśli użytkownik kliknie wartość Nie, może wpisać liczbę 1234, aby znaleźć dane w tym polu. Przy szukaniu dat, aby znaleźć datę dokładnie tak samo sformatowaną, na przykład 03-Marca-1991, należy kliknąć wartość Tak. Po kliknięciu wartości Nie, datę w argumencie "Znajdź" należy wpisać w formacie ustawionym w oknie dialogowym Właściwości: Ustawienia regionalne w Panelu sterowania systemu Microsoft Windows. (Jest to format określony w polu Styl daty krótkiej na karcie Data okna dialogowego Właściwości: Ustawienia regionalne.) Na przykład, jeśli pole Styl daty krótkiej jest ustawione na M/d/yy, można wpisać 3/9/91, a znalezione zostaną wszystkie wpisy w polu typu Data odpowiadające dacie 9 marca 1991, niezależnie od sformatowania tego pola. Uwaga   Argument ten działa tylko wtedy, gdy bieżące pole jest formantem związanym, argument "Dopasuj" jest ustawiony na wartość "Całe pole", argument "Tylko bieżące pole” jest ustawiony na wartość "Tak", a argument "Uwzględniaj wielkość liter" jest ustawiony na wartość "Nie". Jeśli argument "Uwzględniaj wielkość liter" zostanie ustawiony na wartość "Tak" albo argument "Tylko bieżące pole" na wartość "Nie", trzeba ustawić argument "Szukaj z formatowaniem" na wartość "Tak".
Tylko bieżące pole	Określa, czy szukanie ma być ograniczone do bieżącego pola w każdym rekordzie, czy ma obejmować wszystkie pola we wszystkich rekordach. Szukanie w polu bieżącym jest szybsze. Należy kliknąć wartość Tak (aby ograniczyć szukanie do bieżącego pola) lub Nie (aby szukać we wszystkich polach w każdym rekordzie). Tak jest ustawieniem domyślnym.
Znajdź pierwszy	Określa, czy szukanie ma rozpoczynać się od pierwszego rekordu, czy od bieżącego. Należy kliknąć wartość Tak (aby rozpocząć od pierwszego rekordu) lub Nie (aby rozpocząć od bieżącego rekordu). Tak jest ustawieniem domyślnym.
Uwagi

Gdy makro wykonuje akcję ZnajdźRekord, program Microsoft Access szuka określonych danych w rekordach (porządek wyszukiwania jest określony przez ustawienie argumentu "Znajdź"). Kiedy program Microsoft Access znajduje określone dane, są one zaznaczane w rekordzie.

Wykonanie akcji ZnajdźRekord jest równoznaczne z kliknięciem polecenia Znajdź w menu Edycja, a jej argumenty są takie same, jak opcje w oknie dialogowym Znajdź w polu. Jeśli argumenty akcji ZnajdźRekord zostaną ustawione w oknie makra, a następnie zostanie uruchomione makro, widać będzie odpowiednie opcje zaznaczone w oknie dialogowym Znajdź w polu po kliknięciu polecenia Znajdź.

Program Microsoft Access zapisuje ostatnio używane argumenty akcji ZnajdźRekord, więc nie trzeba wielokrotnie wprowadzać tych samych kryteriów przy wykonywaniu kolejnych operacji ZnajdźRekord. Jeśli jakiś argument pozostanie pusty, będą użyte ostatnie ustawienia tego argumentu, określone przez poprzednią akcję ZnajdźRekord lub w oknie dialogowym Znajdź w polu.

Jeśli trzeba znaleźć rekord używając makra, należy użyć akcji ZnajdźRekord zamiast akcji UruchomPolecenie (RunCommand) z argumentem ustawionym na uruchomienie polecenia Znajdź.

Uwaga   Chociaż akcja ZnajdźRekord odpowiada poleceniu Znajdź w menu Edycja dla tabel, kwerend i formularzy, nie odpowiada ona poleceniu Znajdź w menu Edycja okna modułu. Nie można użyć akcji ZnajdźRekord do wyszukiwania tekstu w modułach.

Programy Microsoft Access 97 i Microsoft Access 95 zachowują się inaczej niż poprzednie wersje, jeśli chodzi o miejsce, od którego akcja ZnajdźRekord zaczyna szukać następnego wystąpienia kryteriów wyszukiwania, gdy argument "Znajdź pierwszy" jest ustawiony na wartość "Nie". We wcześniejszych wersjach programu Microsoft Access, wyszukiwanie zawsze zaczyna się od następnego (poprzedzającego lub następującego po bieżącym) rekordu w zestawie rekordów. Począwszy od wersji Microsoft Access 95, jeśli aktualnie zaznaczony tekst jest taki sam, jak tekst poszukiwany w momencie wykonywania akcji makra ZnajdźRekord, poszukiwanie rozpoczyna się bezpośrednio po zaznaczonym tekście, w tym samym polu i w tym samym rekordzie, w którym znajduje się zaznaczony tekst. W przeciwnym razie poszukiwanie rozpoczyna się od początku bieżącego rekordu. Umożliwia to znalezienie wielu wystąpień tych samych kryteriów wyszukiwania, które mogą pojawiać się w jednym rekordzie, podczas gdy w programie Microsoft Access w wersji 2.0, można znaleźć tylko pierwsze wystąpienie kryteriów w rekordzie.

Należy jednak zauważyć, że jeśli do wykonania makra zawierającego akcję ZnajdźRekord zostanie użyty przycisk polecenia, będzie się powtarzało znajdowanie tylko pierwszego wystąpienia kryteriów. Dzieje się tak dlatego, że kliknięcie przycisku polecenia przenosi fokus z pola zawierającego pasującą wartość. Zatem akcja ZnajdźRekord zaczyna wyszukiwanie znowu od początku rekordu. Pierwsze wystąpienie kryteriów wyszukiwania będzie "w kółko" znajdowane w tym samym rekordzie. Aby uniknąć tego problemu, należy uruchomić makro używając techniki nie zmieniającej fokusu, takiej jak skorzystanie z przycisku niestandardowego paska narzędzi lub kombinacji klawiszy zdefiniowanej w makrze AutoKlawisze. Innym rozwiązaniem jest ustawienie w makrze fokusu na polu zawierającym kryteria wyszukiwania przed wykonaniem akcji ZnajdźRekord.

Takie samo zachowanie ma miejsce, jeśli używany jest przycisk polecenia do uruchomienia makra zawierającego akcję ZnajdźNastępny. Informacje dotyczące tego, jak akcja ZnajdźNastępny wyszukuje rekordów można znaleźć w bazie danych Microsoft Knowledge Base w artykule Q150665, "FindNext Does Not Advance To Next Record To Search". Aby połączyć się ze stroną Microsoft Access Knowledge Base, należy kliknąć  [image]. Informacje na temat dostępu do bazy danych Knowledge Base lub innych źródeł pomocy technicznej można znaleźć w temacie  Łączenie się z zasobami pomocy technicznej firmy Microsoft.

Aby wykonać akcję ZnajdźRekord w języku Visual Basic, należy użyć metody FindRecord obiektu DoCmd.


IdźDoFormantu, akcja (GoToControl)

Akcja IdźDoFormantu służy do przenoszenia fokusu do określonego pola lub formantu w bieżącym rekordzie otwartego formularza lub arkusza danych formularza, tabeli albo kwerendy. Można użyć tej akcji chcąc, aby fokus znalazł się w danym polu lub formancie. Takie pole albo formant mogą być następnie używane do porównań albo w akcji ZnajdźRekord (FindRecord). Za pomocą tej akcji można również określić warunki poruszania się po formularzu. Na przykład, jeśli użytkownik wpisze tekst "Nie" w formancie "Żonaty/Mężatka" w formularzu ubezpieczeniowym, fokus może automatycznie ominąć formant "Imię współmałżonka" i przejść do następnego formantu.

Ustawienia

Dla akcji IdźDoFormantu używany jest następujący argument:

Argument akcji	Opis
Nazwa formantu	Nazwa pola lub formantu, w którym ma się znaleźć fokus. Należy wprowadzić nazwę pola lub formantu w polu Nazwa formantu sekcji Argumenty akcji okna makra. Argument ten jest wymagany. Uwaga W argumencie "Nazwa formantu" należy wpisać tylko nazwę pola lub formantu, a nie pełny identyfikator, taki jak Forms!Products![Product ID].
Uwagi

Akcji IdźDoFormantu nie można używać do przenoszenia fokusu do formantu w formularzu ukrytym.

Wskazówka   Akcji IdźDoFormantu można użyć, aby przejść do podformularza, który jest rodzajem formantu. Następnie można użyć akcji IdźDoRekordu (GoToRecord), aby przejść do konkretnego rekordu w podformularzu. Można też przejść do formantu w podformularzu używając najpierw akcji IdźDoFormantu, aby przejść do podformularza, a następnie do formantu w podformularzu.

Aby wykonać akcję IdźDoFormantu w języku Visual Basic, należy użyć metody GoToControl obiektu DoCmd. Można też użyć metody SetFocus, aby przenieść fokus do formantu w formularzu lub jakimkolwiek jego podformularzu albo do pola w otwartej tabeli, kwerendzie lub arkuszu danych formularza.


IdźDoStrony, akcja (GoToPage)

Akcja IdźDoStrony służy do przenoszenia fokusu do pierwszego formantu na określonej stronie w aktywnym formularzu. Tej akcji można używać, jeśli został utworzony formularz zawierający więcej niż jedną stronę, w którym znajdują się grupy powiązanych ze sobą informacji. Można na przykład utworzyć formularz "Pracownicy" zawierający informacje personalne na pierwszej stronie, informacje firmowe na drugiej stronie oraz informacje o sprzedaży na trzeciej stronie. Aby przejść do odpowiedniej strony, można użyć akcji IdźDoStrony. Można również prezentować wiele stron informacji na jednym formularzu używając formantów karty.

Ustawienia

Dla akcji IdźDoStrony używane są następujące argumenty:

Argument akcji	Opis
Numer strony	Numer strony, na którą ma zostać przeniesiony fokus. Należy wprowadzić numer strony w polu Numer strony sekcji Argumenty akcji okna makra. Jeśli argument ten jest pusty, fokus pozostaje na bieżącej stronie. Do wyświetlenia żądanej części strony można użyć argumentów "W prawo" i "W dół".
W prawo	Aktualna pozioma pozycja (mierzona od lewej krawędzi okna) miejsca na stronie, które ma się pojawić przy lewej krawędzi okna. Argument ten jest wymagany, jeśli podany jest argument "W dół".
W dół	Aktualna pionowa pozycja (mierzona od górnej krawędzi okna) miejsca na stronie, które ma się pojawić przy górnej krawędzi okna. Argument ten jest wymagany, jeśli podany jest argument "W prawo".
Uwaga   Wielkości "W prawo" i "W dół" są podawane w calach lub w centymetrach, zależnie od jednostek ustawionych w polu System miar karty Liczba okna dialogowego Właściwości: Ustawienia regionalne w Panelu sterowania systemu Microsoft Windows.

Uwagi

Za pomocą tej akcji można zaznaczyć pierwszy formant (określony przez kolejność dostępu formularza) na określonej stronie. Aby przejść do określonego formantu w formularzu, należy użyć akcji IdźDoFormantu (GoToControl).

Można użyć argumentów "W prawo" i "W dół" dla formularzy ze stronami większymi niż okno programu Microsoft Access. Aby przejść na żądaną stronę, należy użyć argumentu "Numer strony", a następnie argumentów "W prawo" i "W dół", aby wyświetlić odpowiednią część strony. W programie Microsoft Access wyświetlana jest część strony, której lewy górny róg jest przesunięty o określoną odległość w stosunku do lewego górnego rogu strony.

Za pomocą akcji IdźDoStrony nie można przenieść fokusu do strony formularza ukrytego.

Aby wykonać akcję IdźDoStrony w języku Visual Basic, należy użyć metody GoToPage obiektu DoCmd.


IdźDoRekordu, akcja (GoToRecord)

Dzięki akcji IdźDoRekordu określony rekord może stać się rekordem bieżącym w otwartej tabeli, formularzu lub zestawie wyników kwerendy.

Ustawienia

Dla akcji IdźDoRekordu używane są następujące argumenty:

Argument akcji	Opis
Typ obiektu	Typ obiektu zawierającego rekord, który ma stać się rekordem bieżącym. Należy kliknąć opcję Tabela, Kwerenda lub Formularz w polu Typ obiektu sekcji Argumenty akcji okna makra. Aby zaznaczyć aktywny obiekt, należy pozostawić to pole puste.
Nazwa obiektu	Nazwa obiektu zawierającego rekord, który ma stać się rekordem bieżącym. W polu Nazwa obiektu są wyświetlane wszystkie obiekty w bieżącej bazie danych, mające typ wybrany za pomocą argumentu "Typ obiektu". Jeśli pole "Typ obiektu" jest puste, to pole też powinno być puste.
Rekord	Rekord, który ma stać się rekordem bieżącym. Należy kliknąć opcję Poprzedni, Następny, Pierwszy, Ostatni, Idź do lub Nowy w polu Rekord. Następny jest ustawieniem domyślnym.
Skok	Liczba całkowita lub wyrażenie, które daje wynik będący liczbą całkowitą. Wyrażenie musi być poprzedzone znakiem równości (=). Argument ten określa rekord, który ma stać się rekordem bieżącym. Argumentu "Skok" można używać na dwa sposoby: • Gdy argument "Rekord" ma wartość "Następny" albo "Poprzedni", program Microsoft Access powoduje przejście do przodu lub do tyłu o liczbę rekordów określoną za pomocą argumentu "Skok". • Gdy argument "Rekord" ma wartość "Idź do", program Microsoft Access powoduje przejście do rekordu o numerze równym argumentowi "Skok". Numer rekordu jest wyświetlony w polu numeru rekordu na dole okna.
	Uwaga   Po kliknięciu opcji "Pierwszy", "Ostatni" albo "Nowy" przy określaniu argumentu "Rekord", liczba "Skok" jest ignorowana. Jeśli wprowadzona liczba "Skok" jest za duża, zostanie wyświetlony komunikat o błędzie. Dla argumentu "Skok" nie można wprowadzać ujemnych liczb.
Uwagi

Jeśli fokus znajduje się w konkretnym formancie rekordu, ta akcja pozostawi go w tym samym formancie następnego rekordu.

Za pomocą ustawienia "Nowy” argumentu "Rekord" można przejść do pustego rekordu na końcu formularza lub tabeli, aby wprowadzić nowe dane.

Działanie tej akcji daje podobny skutek, co wybranie polecenia Idź do z menu Edycja. Polecenia podrzędne Pierwszy, Ostatni, Następny, Poprzedni oraz Nowy rekord polecenia Idź do działają na wybrany obiekt w ten sam sposób, co ustawienia "Pierwszy", "Ostatni", "Następny", "Poprzedni" oraz "Nowy" argumentu "Rekord". Do rekordów można też przechodzić za pomocą przycisków nawigacyjnych na dole okna.

Za pomocą akcji IdźDoRekordu można spowodować, aby rekord w formularzu ukrytym stał się rekordem bieżącym. Należy w tym celu określić formularz ukryty w argumentach "Typ obiektu" oraz "Nazwa obiektu".

Aby wykonać akcję IdźDoRekordu w języku Visual Basic, należy użyć metody GoToRecord obiektu DoCmd.


Klepsydra, akcja (Hourglass)

Akcja Klepsydra służy do zmieniania wskaźnika myszy na ikonę klepsydry (lub inną wybraną przez użytkownika ikonę) w czasie działania makra. Akcja ta informuje w sposób graficzny, że makro działa. Jest to szczególnie przydatne, gdy wykonanie makra zajmuje dużo czasu.

Ustawienia

Dla akcji Klepsydra używany jest argument:

Argument akcji	Opis
Klepsydra włączona	Należy kliknąć wartość Tak (aby wyświetlana była ikona) lub Nie (aby wyświetlany był zwykły wskaźnik myszy) w polu Klepsydra włączona sekcji Argumenty akcji okna makra. Tak jest ustawieniem domyślnym.
Uwagi

Akcji tej używa się często, jeśli echo zostało wyłączone za pomocą akcji Echo. Gdy echo jest wyłączone, program Microsoft Access powoduje zawieszenie aktualizacji ekranu aż do zakończenia wykonywania makra.

Po zakończeniu działania makra argument "Klepsydra włączona" zostaje automatycznie ustawiony ponownie na wartość "Nie".

Uwagi

•	W środowisku Microsoft Windows 95 ikona, która jest wyświetlana na skutek działania tej akcji jest ikoną ustawioną za pomocą argumentu Zajęty na karcie Wskaźniki okna dialogowego Właściwości: Mysz w Panelu sterowania systemu Windows. Ustawieniem domyślnym jest animowana ikona klepsydry.

•	W środowisku Windows NT jest to ikona, którą ustawia się za pomocą argumentu Czekaj w oknie dialogowym Kursory Panelu sterowania systemu Windows (ustawienie domyślne to także ikona klepsydry).

•	W obu przypadkach można wybrać inną ikonę.

Aby wykonać akcję Klepsydra w języku Visual Basic, należy użyć metody Hourglass obiektu DoCmd.


Maksymalizuj, akcja (Maximize)

Akcja Maksymalizuj służy do powiększania aktywnego okna tak, aby wypełniało całe okno programu Microsoft Access. Akcja ta pozwala na wyświetlenie możliwie dużej części obiektu w aktywnym oknie.

Ustawienia

Dla akcji Maksymalizuj nie są używane żadne argumenty.

Uwagi

Działanie tej akcji daje taki sam efekt, co kliknięcie przycisku Maksymalizuj w prawym górnym rogu okna albo kliknięcie polecenia Maksymalizuj w menu sterowania.

Za pomocą akcji Przywróć (Restore) można przywrócić poprzedni rozmiar zmaksymalizowanego okna.

Wskazówki

•	Jeśli okno, które ma być zmaksymalizowane, nie jest oknem aktywnym może być konieczne wykonanie akcji WybierzObiekt (SelectObject).

•	Jeśli użytkownik zmaksymalizuje jakieś okno w programie Microsoft Access, wszystkie inne okna będą również zmaksymalizowane po ich otwarciu lub przełączeniu się do nich. Nie dotyczy to formularzy podręcznych. Aby formularz zachowywał swój rozmiar, gdy inne okna są maksymalizowane, należy ustawić jego właściwość PopUp (Podręczny) na wartość "Tak". Informacje na temat sposobu, w jaki program Microsoft Access maksymalizuje okna można znaleźć w bazie danych Microsoft Knowledge Base w artykule Q147152, "Maximizing One Form Maximizes All Forms (7.0)". Aby połączyć się ze stroną Microsoft Access Knowledge Base, należy kliknąć przycisk  [image]. Informacje na temat dostępu do bazy danych Knowledge Base lub innych źródeł pomocy technicznej można znaleźć w temacie Łączenie się z zasobami pomocy technicznej firmy Microsoft.

Aby wykonać akcję Maksymalizuj w języku Visual Basic, należy użyć metody Maximize obiektu DoCmd.


Minimalizuj, akcja (Minimize)

Akcja Minimalizuj służy do zmniejszania aktywnego okna do małego paska tytułu na dole okna programu Microsoft Access.

Ustawienia

Dla akcji Minimalizuj nie są używane żadne argumenty.

Uwagi

Za pomocą tej akcji można usunąć okno z ekranu, nie zamykając obiektu. Można również użyć jej do otwarcia obiektu bez wyświetlania jego okna. Aby wyświetlić obiekt, należy użyć akcji WybierzObiekt (SelectObject) w połączeniu z akcją Maksymalizuj (Maximize) albo akcją Przywróć (Restore). Akcja Przywróć przywraca poprzedni rozmiar zminimalizowanego okna.

Działanie akcji Minimalizuj odnosi ten sam skutek, co kliknięcie przycisku Minimalizuj w górnym prawym rogu okna albo kliknięcie polecenia Minimalizuj w menu sterowania.

Wskazówki

•	Konieczne może być zastosowanie najpierw akcji WybierzObiekt, jeśli okno, które ma być minimalizowane, nie jest oknem aktywnym.

•	Aby zminimalizować okno bazy danych, należy użyć akcji WybierzObiekt z argumentem "W oknie bazy danych" ustawionym na wartość "Tak", a następnie należy użyć akcji Minimalizuj.

•	Aby ukryć aktywne okno, można użyć polecenia Ukryj z menu Okno. Okno nie zostaje zminimalizowane do ikony, ale staje się niewidoczne. Polecenie Odkryj z menu Okno powoduje ponowne pojawienie się okna. Aby wykonać którąś z tych czynności w makrze, można użyć akcji Uruchom polecenie (RunCommand).

•	Można zastosować akcję UstawWartość (SetValue), aby ustawić właściwość Visible (Widoczny) formularza na ukrycie lub odkrycie okna formularza.

Aby wykonać akcję Minimalizuj w języku Visual Basic, należy użyć metody Minimize obiektu DoCmd.


RuchRozmiar, akcja (MoveSize)

Akcja RuchRozmiar służy do przesuwania lub zmiany rozmiaru aktywnego okna.

Ustawienia

Dla akcji RuchRozmiar używane są następujące argumenty:

Argument akcji	Opis
W prawo	Nowe poziome położenie lewej górnej krawędzi okna, mierzone od lewej krawędzi okna, w którym jest zawarte. Należy określić położenie w polu W prawo sekcji Argumenty akcji okna makra.
W dół	Nowe pionowe położenie lewej górnej krawędzi okna, mierzone od górnej krawędzi okna, w którym jest zawarte.
Szerokość	Nowa szerokość okna.
Wysokość	Nowa wysokość okna.
Jeśli któryś z argumentów pozostawi się pusty, w programie Microsoft Access używane są bieżące ustawienia okna.

Trzeba wprowadzić wartość co najmniej jednego argumentu.

Uwaga   Wszystkie odległości podane są w calach albo centymetrach, w zależności od jednostek ustawionych w polu System miar karty Liczba okna dialogowego Właściwości: Ustawienia regionalne w Panelu sterowania systemu Microsoft Windows.

Uwagi

Działanie tej akcji jest podobne do działania powodowanego przez kliknięcie polecenia Przenieś albo Rozmiar w menu sterowania. Korzystając z poleceń menu można używać klawiszy strzałek na klawiaturze do przesuwania lub zmiany rozmiaru okna. Za pomocą akcji RuchRozmiar dane o położeniu i rozmiarze okna wpisuje się bezpośrednio. Można też przesuwać okna i zmieniać ich rozmiar za pomocą myszy.

Akcji tej można używać w każdym oknie i każdym widoku.

Wskazówki

•	Aby przesunąć okno bez zmiany jego rozmiaru, należy wpisać wartości argumentów "W prawo" i "W dół", a argumenty "Szerokość" i "Wysokość" pozostawić puste.

•	Aby zmienić rozmiar okna nie przesuwając go, należy wpisać wartości argumentów "Szerokość" i "Wysokość", a argumenty "W dół" i "W prawo" pozostawić puste.

Aby wykonać akcję RuchRozmiar w języku Visual Basic, należy użyć metody MoveSize obiektu DoCmd.


OknoKomunikatu, akcja (MsgBox)

Akcja OknoKomunikatu służy do wyświetlania okna komunikatu zawierającego ostrzeżenie lub komunikat informacyjny. Akcji OknoKomunikatu można na przykład użyć z makrami sprawdzania poprawności. Jeśli formant lub rekord nie spełnia warunku poprawności w makrze, w polu komunikatu może być wyświetlony komunikat o błędzie oraz instrukcje na temat rodzaju danych, jakie powinny być wprowadzone.

Ustawienia

Dla akcji OknoKomunikatu używane są następujące argumenty.

Argument akcji	Opis
Komunikat	Tekst w oknie komunikatu. Należy wprowadzić tekst komunikatu w polu Komunikat sekcji Argumenty akcji okna makra. Można wpisać do 255 znaków albo wprowadzić wyrażenie (poprzedzone znakiem równości).
Sygnał	Określa, czy głośnik komputera ma wydawać pojedynczy sygnał dźwiękowy przy wyświetlaniu komunikatu. Należy kliknąć wartość Tak (aby głośnik wydawał sygnał) lub Nie (aby głośnik nie wydawał sygnału). Tak jest ustawieniem domyślnym.
Typ	Typ okna komunikatu. Każdy typ ma inną ikonę. Należy kliknąć przycisk Brak, Krytyczny, Ostrzeżenie?, Ostrzeżenie! lub Informacje. Ustawieniem domyślnym jest Brak.
Tytuł	Tekst wyświetlany na pasku tytułu. Można na przykład spowodować, aby w pasku tytułu wyświetlony był napis "Sprawdzanie poprawności ID klienta". Jeśli ten argument jest pusty, wyświetlany jest napis "Microsoft Access".
Uwagi

Akcji PoleKomunikatu używa się do tworzenia sformatowanych komunikatów o błędach podobnych do komunikatów wyświetlanych w programie Microsoft Access. Akcja ta pozwala podać komunikat w trzech sekcjach argumentu "Komunikat". Sekcje rozdziela się znakiem "@".

W poniższym przykładzie wyświetlane jest sformatowane okno komunikatu z podzielonym na sekcje komunikatem. Pierwsza sekcja jest wyświetlana jako pogrubiony nagłówek. Druga, umieszczona jest poniżej i zawiera zwykły tekst. Trzecia sekcja jest wyświetlana jako zwykły tekst poniżej drugiej sekcji, z pustym wierszem między nimi.

Należy wprowadzić następujący tekst argumentu "Komunikat":

Zły przycisk!@Ten przycisk nie działa.@Spróbuj użyć innego.

Uwaga   Jeśli widoczny jest Asystent pakietu Office, komunikat jest wyświetlany w dymku Asystenta, a nie w osobnym oknie komunikatu.

Ikony wyświetlane dla ustawień argumentu "Typ" w systemach Microsoft Windows 95 i Windows NT nieco się różnią.

Zamiast tej akcji można użyć funkcji MsgBox.


OtwórzFormularz, akcja (OpenForm)

Akcja OtwórzFormularz służy do otwierania formularza w widoku "Formularz", widoku "Projekt" formularza, w widoku "Podgląd wydruku" lub w widoku "Arkusz danych". Można wybrać tryb wprowadzania danych oraz tryb okna dla danego formularza oraz ograniczyć rekordy wyświetlane przez formularz.

Ustawienia

Dla akcji OtwórzFormularz używane są następujące argumenty.

Argument akcji	Opis
Nazwa formularza	Nazwa formularza, który ma być otwarty. W polu Nazwa formularza sekcji Argumenty akcji okna makra pokazane są wszystkie formularze bieżącej bazy danych. Argument ten jest wymagany. Jeśli użytkownik uruchomi makro zawierające akcję OtwórzFormularz w bibliotecznej bazie danych, program Microsoft Access najpierw szuka formularza o tej nazwie w bibliotecznej bazie danych, a potem w bieżącej bazie danych.
Widok	Widok, w którym formularz zostanie otwarty. Należy kliknąć opcję Formularz, Projekt, Podgląd wydruku lub Arkusz danych w polu Widok. Formularz jest ustawieniem domyślnym.
	Uwaga   Ustawienie argumentu "Widok" jest nadrzędne w stosunku do ustawień właściwości formularza DefaultView (WidokDomyślny) oraz ViewsAllowed (DostępneWidoki). Na przykład, jeśli właściwość ViewsAllowed (DostępneWidoki) jest ustawiona na "Arkusz danych", za pomocą akcji OtwórzFormularz można otworzyć formularz w widoku "Formularz".
Nazwa filtru	Filtr ograniczający lub sortujący rekordy formularza. Można wprowadzić nazwę istniejącej kwerendy albo filtru, który został zapisany jako kwerenda. Kwerenda musi obejmować wszystkie pola w otwieranym formularzu albo mieć właściwość OutputAllFields (WyprowadźWszystkiePola) ustawioną na wartość "Tak".
Warunek WHERE	Poprawna klauzula SQL WHERE (bez słowa WHERE) albo wyrażenie używane do wybierania rekordów z odnośnej tabeli lub kwerendy formularza. Jeśli filtr zostanie wybrany za pomocą argumentu "Nazwa filtru", ta klauzula WHERE jest stosowana do filtru. Aby otworzyć formularz i ograniczyć jego rekordy do określonych wartością formantu w innym formularzu, należy użyć następującego wyrażenia: [nazwa_pola] = Forms![nazwa_formularza]![nazwa_formantu_w_innym_formularzu] Argument nazwa_pola jest nazwą pola w tabeli lub kwerendzie odnośnej formularza, który ma być otwarty. Argument nazwa_formantu_w _innym_formularzu jest nazwą formantu w innym formularzu, zawierającego wartość, do której mają pasować rekordy w pierwszym formularzu.
	Uwaga   Maksymalna długość argumentu "Warunek WHERE" wynosi 256 znaków. Aby wprowadzić bardziej skomplikowaną klauzulę SQL WHERE, dłuższą niż 256 znaków, należy użyć metody OpenForm obiektu DoCmd w języku Visual Basic, gdyż w języku tym można wprowadzać instrukcje klauzuli SQL WHERE o długości do 32 768 znaków.
Tryb danych	Tryb wprowadzania danych do formularza. Można go stosować tylko do formularzy otwartych w widoku "Formularz" lub w widoku "Arkusz danych". Należy kliknąć opcję Dodawanie (można dodawać nowe rekordy, ale nie można zmieniać już istniejących), Edycja (można dodawać nowe rekordy i zmieniać istniejące) albo Tylko do odczytu (można tylko oglądać rekordy). Edycja jest ustawieniem domyślnym.
	Uwagi • Ustawienie argumentu "Tryb danych": jest nadrzędne w stosunku do ustawień właściwości AllowEdits (EdycjaDozwolona), AllowDeletions (UsuwanieDozwolone), AllowAdditions (DodawanieDozwolone) i DataEntry (WprowadzanieDanych) formularza. Na przykład, jeśli właściwość AllowEdits formularza jest ustawiona na wartość "Nie", wciąż można użyć akcji OtwórzFormularz do otworzenia formularza w trybie edycji. • Jeśli argument ten pozostaje pusty, program Microsoft Access otwiera formularz w trybie danych ustawionym za pomocą właściwości AllowDeletions (UsuwanieDozwolone), AllowEdits (EdycjaDozwolona) i DataEntry (WprowadzanieDanych) formularza.
Tryb okna	Tryb okna, w którym otwierany jest formularz. Należy kliknąć wartość Normalny, aby formularz był otwierany w trybie określonym przez jego właściwości Ukryty (formularz ukryty), Ikona (formularz zostaje otwarty jako mały pasek tytułu na dole ekranu) albo Okno dialogowe (właściwości Modal (Modalny) oraz PopUp (Podręczny) formularza są ustawione na wartość "Tak"). Normalny jest ustawieniem domyślnym.
Uwagi

Działanie tej akcji daje podobny skutek co wybranie przycisku Otwórz albo przycisku Projektuj w oknie bazy danych po zaznaczeniu formularza na karcie Formularze.

Formularz może być modalny (musi zostać zamknięty lub ukryty, zanim użytkownik może wykonywać jakiekolwiek dalsze czynności) lub niemodalny (można przenosić się do innych okien bez zamykania formularza). Może też być formularzem podręcznym (formularz służący do zbierania lub wyświetlania informacji pozostających na wierzchu wszystkich innych okien programu Microsoft Access). Właściwości Modal oraz PopUp ustawia się przy projektowaniu formularza. Jeśli zostanie wybrana wartość "Normalny" argumentu "Tryb okna", formularz zostanie otwarty w trybie określonym przez te ustawienia właściwości. Jeśli jako wartość argumentu "Tryb okna" zostanie wybrana wartość "Okno dialogowe", obie te właściwości zostają ustawione na wartości "Tak". Formularz otwarty jako ukryty lub jako ikona powraca do trybu określonego przez ustawienia jego właściwości, gdy zostaje wyświetlony lub przywrócony.

Jeśli formularz jest otwierany z argumentem "Tryb okna" ustawionym na wartość "Okno dialogowe", makro zostaje zawieszone aż do momentu zamknięcia lub ukrycia formularza. Formularz można ukryć, ustawiając jego właściwość Visible (Widoczny) na wartość "Nie" za pomocą akcji UstawWartość (SetValue).

Wskazówka   W oknie bazy danych można zaznaczyć formularz i przeciągnąć go do wiersza akcji makra. Powoduje to automatyczne utworzenie akcji OtwórzFormularz, która otwiera formularz w widoku "Formularz".

Przełączenie się do widoku "Projekt" przy otwartym formularzu powoduje usunięcie większości ustawień argumentów tego formularza, takich jak "Tryb danych" oraz "Tryb okna". Ustawienia te nie są przywracane, nawet jeśli użytkownik wróci do widoku "Formularz" lub widoku "Arkusz danych".

Stosowany filtr i warunek WHERE stają się ustawieniem właściwości Filter (Filtr) formularza.


OtwórzKwerendę, akcja (OpenQuery)

Akcji OtwórzKwerendę można używać do otwierania kwerendy wybierającej lub kwerendy krzyżowej w widoku "Arkusz danych", widoku "Projekt" kwerendy lub w widoku "Podgląd wydruku". Akcja ta uruchamia kwerendę funkcjonalną. Można też wybrać tryb wprowadzania danych dla kwerendy.

Ustawienia

Dla akcji OtwórzKwerendę używane są następujące argumenty:

Argument akcji	Opis
Nazwa kwerendy	Nazwa kwerendy, która ma być otwarta. W polu Nazwa kwerendy sekcji Argumenty akcji okna makra wyświetlone są wszystkie kwerendy w bieżącej bazie danych. Argument ten jest wymagany. Jeśli użytkownik uruchamia makro zawierające akcję OtwórzKwerendę w bibliotecznej bazie danych, program Microsoft Access najpierw szuka kwerendy o tej nazwie w bibliotecznej bazie danych, a następnie w bieżącej bazie danych.
Widok	Widok, w którym kwerenda zostanie otwarta. Należy kliknąć opcję Arkusz danych, Projekt albo Podgląd wydruku w polu Widok. Arkusz danych jest ustawieniem domyślnym.
Tryb danych	Tryb danych kwerendy. Ma zastosowanie tylko do kwerend otwartych w widoku "Arkusz danych". Należy kliknąć przycisk Dodawanie (można dodawać nowe rekordy, ale nie można zmieniać istniejących rekordów), Edycja (można dodawać nowe rekordy oraz zmieniać istniejące rekordy) albo Tylko do odczytu (można tylko oglądać rekordy). Edycja jest ustawieniem domyślnym.
Uwagi

Jeśli argument "Widok" ma wartość "Arkusz danych", program Microsoft Access powoduje wyświetlenie zestawu wyników, jeśli kwerenda jest kwerendą wybierającą, krzyżową, składającą lub przekazującą i ma właściwość ReturnsRecords (Zwraca rekordy) ustawioną na wartość "Tak", a uruchamia kwerendę, jeśli jest ona kwerendą funkcjonalną, definiującą dane lub przekazującą i ma właściwość ReturnRecords ustawioną na wartość "Nie".

Działanie akcji OtwórzKwerendę powoduje podobny skutek co wybranie przycisku Otwórz lub przycisku Projektuj w oknie bazy danych po zaznaczeniu kwerendy na karcie Kwerendy. Za pomocą tej akcji można wybrać dodatkowe opcje.

Wskazówka   Można zaznaczyć kwerendę w oknie bazy danych i przeciągnąć ją do wiersza akcji makra. Powoduje to automatyczne utworzenie akcji OtwórzKwerendę, która otwiera kwerendę w widoku "Arkusz danych".

Przełączenie się do widoku "Projekt" przy otwartej kwerendzie powoduje usunięcie ustawienia argumentu "Tryb danych" tej kwerendy. Ustawienie to nie jest przywracane, nawet jeśli użytkownik wróci do widoku "Arkusz danych".

Wskazówka   Jeśli nie ma potrzeby, aby były wyświetlane komunikaty systemowe ukazujące się w trakcie pracy kwerendy funkcjonalnej (informujące o tym, że jest to kwerenda funkcjonalna oraz o liczbie rekordów, które zostaną nią objęte), można użyć akcji UstawOstrzeżenia (SetWarnings), aby wyłączyć wyświetlanie tych komunikatów.

Aby uruchomić akcję OtwórzKwerendę w języku Visual Basic, należy użyć metody OpenQuery obiektu DoCmd.


OtwórzRaport, akcja (OpenReport)

Akcja OtwórzRaport służy do otwierania raportu w widoku "Projekt" raportu lub w widoku "Podgląd wydruku" albo powoduje natychmiastowe drukowanie raportu. Można też ograniczyć rekordy drukowane w raporcie.

Ustawienia

Dla akcji OtwórzRaport używane są następujące argumenty:

Argument akcji	Opis
Nazwa raportu	Nazwa raportu, który ma być otwarty. W polu Nazwa raportu sekcji Argumenty akcji okna makra wyświetlane są wszystkie raporty bieżącej bazy danych. Argument ten jest wymagany. Jeśli użytkownik uruchamia makro zawierające akcję OtwórzRaport w bibliotecznej bazie danych, program Microsoft Access najpierw szuka raportu o tej nazwie w bibliotecznej bazie danych, a następnie w bieżącej bazie danych.
Widok	Widok, w którym raport zostanie otwarty. Należy kliknąć opcję Wydruk (aby od razu wydrukować raport), Projekt albo Podgląd wydruku w polu Widok. Wydruk jest ustawieniem domyślnym.
Nazwa filtru	Filtr ograniczający rekordy raportu. Można wpisać nazwę istniejącej kwerendy lub filtru, który został zapisany jako kwerenda. Kwerenda musi obejmować wszystkie pola w otwieranym raporcie albo mieć właściwość OutputAllFields (Wyprowadź wszystkie pola) ustawioną na wartość "Tak".
Warunek WHERE	Poprawna klauzula SQL WHERE (bez słowa WHERE) lub wyrażenie używane przez program Microsoft Access do wybierania rekordów z odnośnej tabeli lub kwerendy. Jeśli filtr zostanie wybrany za pomocą argumentu "Nazwa filtru", klauzula WHERE zostaje zastosowana do wyników filtru. Aby otworzyć raport i ograniczyć jego rekordy do określonych przez wartość formantu w formularzu, należy użyć następującego wyrażenia: [nazwa_pola] = Forms![nazwa_formularza]![nazwa_formantu_w_formularzu] Argument nazwa_pola jest nazwą pola w podstawowej tabeli lub kwerendzie raportu, który ma być otwarty. Argument nazwa_formantu_w_formularzu jest nazwą formantu w formularzu zawierającego wartość, do której mają pasować rekordy w raporcie.
	Uwaga   Maksymalna długość argumentu "Warunek WHERE" wynosi 256 znaków. Aby wprowadzić bardziej skomplikowaną klauzulę SQL WHERE, dłuższą niż 256 znaków, należy użyć metody OpenReport obiektu DoCmd w języku Visual Basic. W języku tym można wprowadzać instrukcje klauzuli SQL WHERE o długości do 32 768 znaków.
Uwagi

Ustawienie "Wydruk" argumentu "Widok" powoduje natychmiastowe drukowanie raportu, na podstawie bieżących ustawień drukarki i bez wyświetlania okna dialogowego Drukuj. Za pomocą akcji OtwórzRaport można też otworzyć i ustawić raport, a następnie wydrukować go, korzystając z akcji Wydruk (PrintOut). Może na przykład zachodzić potrzeba zmodyfikowania raportu albo zmiany ustawień drukarki za pomocą akcji Wydruk przed drukowaniem.

Stosowany filtr i warunek WHERE stają się ustawieniem właściwości Filter (Filtr) formularza.

Działanie akcji OtwórzRaport powoduje podobne skutki, co kliknięcie przycisku Projektuj lub Podgląd albo polecenia Drukuj menu Plik w oknie bazy danych po zaznaczeniu raportu.

Wskazówki

•	Aby wydrukować podobne raporty dla różnych zestawów danych, należy użyć filtru lub klauzuli WHERE do ograniczenia rekordów drukowanych w raporcie. Następnie należy zmienić makro, aby zastosować inny filtr albo zmienić argument Warunek WHERE.

•	Można zaznaczyć raport w oknie bazy danych, a następnie przeciągnąć go do wiersza akcji makra. Powoduje to automatyczne utworzenie akcji OtwórzRaport, która otwiera raport w widoku "Podgląd wydruku".


OtwórzTabelę, akcja (OpenTable)

Akcja OtwórzTabelę służy do otwierania tabeli w widoku "Arkusz danych", widoku "Projekt" tabeli lub w widoku "Podgląd wydruku" Można też wybrać tryb wprowadzania danych dla tej tabeli.

Ustawienia

Dla akcji OtwórzTabelę używane są następujące argumenty:

Argument akcji	Opis
Nazwa tabeli	Nazwa tabeli, która ma być otwarta. W polu Nazwa tabeli sekcji Argumenty akcji okna makra wyświetlane są wszystkie tabele w bieżącej bazie danych. Argument ten jest wymagany.
	Jeśli użytkownik uruchamia makro zawierające akcję OtwórzTabelę w bibliotecznej bazie danych, program Microsoft Access najpierw szuka tabeli o tej nazwie w bibliotecznej bazie danych, a następnie w bieżącej bazie danych.
Widok	Widok, w którym tabela zostanie otworzona. Należy kliknąć opcję Arkusz danych, Projekt albo Podgląd wydruku w polu Widok. Arkusz danych jest ustawieniem domyślnym.
Tryb danych	Tryb wprowadzania danych do tabeli. Ma to zastosowanie tylko do tabel otwartych w widoku "Arkusz danych". Należy kliknąć przycisk Dodawanie (można dodawać nowe rekordy, ale nie można zmieniać istniejących rekordów), Edycja (można dodawać nowe rekordy oraz zmieniać istniejące rekordy) albo Tylko do odczytu (można tylko oglądać rekordy). Edycja jest ustawieniem domyślnym.
Uwagi

Działanie tej akcji powoduje podobny skutek co kliknięcie przycisku Otwórz lub Projektuj w oknie bazy danych po zaznaczeniu tabeli na karcie Tabele.

Wskazówka   Można zaznaczyć tabelę w oknie bazy danych i przeciągnąć ją do wiersza akcji makra. Powoduje to automatyczne utworzenie akcji OtwórzTabelę, która otwiera tabelę w widoku "Arkusz danych".

Przełączenie się do widoku "Projekt" przy otwartej tabeli powoduje usunięcie ustawienia argumentu "Tryb danych" tej tabeli. Ustawienie to nie jest przywracane, nawet jeśli użytkownik wróci do widoku "Arkusz danych".

Aby uruchomić akcję OtwórzTabelę w języku Visual Basic, należy użyć metody OpenTable obiektu DoCmd.


Wydruk, akcja (PrintOut)

Akcja Wydruk służy do drukowania aktywnego obiektu w otwartej bazie danych. Można drukować arkusze danych, raporty, formularze i moduły.

Ustawienia

Dla akcji Wydruk używane są następujące argumenty.

Argument akcji	Opis
Zakres wydruku	Zakres obiektu, który ma być drukowany. należy kliknąć opcję Wszystko (drukowany jest cały obiekt), Wybór (drukowana jest tylko zaznaczona część obiektu), Strony (można określić zakres stron za pomocą argumentów "Od strony" i "Do strony") w polu Zakres wydruku sekcji Argumenty akcji okna makra. Wszystko jest ustawieniem domyślnym.
Od strony	Pierwsza strona, która ma być drukowana. Argument ten jest wymagany, jeśli kliknięta została opcja Strony w polu Zakres wydruku.
Do strony	Ostatnia strona, która ma być drukowana. Drukowanie zostaje zakończone na końcu tej strony. Argument ten jest wymagany, jeśli kliknięta została opcja Strony w polu Zakres wydruku.
Jakość wydruku	Jakość wydruku. Należy kliknąć opcję Wysoka, Średnia, Niska albo Robocza. Im gorsza jakość, tym szybciej obiekt jest drukowany. Wysoka jest ustawieniem domyślnym.
Liczba kopii	Liczba kopii wydruku. 1 jest ustawieniem domyślnym.
Sortuj kopie	Należy kliknąć wartość Tak (aby sortować drukowane kopie) lub Nie (aby nie sortować drukowanych kopii). Obiekt może być drukowany szybciej przy ustawieniu Nie. Tak jest ustawieniem domyślnym.
Uwagi

Działanie tej akcji powoduje podobny skutek co zaznaczenie obiektu, a następnie kliknięcie polecenia Drukuj w menu Plik. Przy użyciu akcji nie pojawia się jednak okno dialogowe Drukuj.

Wskazówka   Jeśli istnieje zestaw często używanych ustawień drukarki, można utworzyć makro zawierające akcję Wydruk z tymi ustawieniami w postaci argumentów.

Argumenty tej akcji odpowiadają opcjom w oknie dialogowym Drukuj. Jednak w odróżnieniu od akcji ZnajdźRekord (FindRecord) oraz okna dialogowego Znajdź w polu, ustawienia argumentów nie są wspólne z opcjami okna dialogowego Drukuj.

Aby uruchomić akcję Wydruk w języku Visual Basic, należy użyć metody PrintOut obiektu DoCmd.


UruchomSQL, akcja (RunSQL)

Akcja UruchomSQL służy do uruchomienia kwerendy funkcjonalnej za pomocą odpowiedniej instrukcji SQL. Można również uruchomić kwerendę definiującą dane.

Ustawienia

Dla akcji UruchomSQL używane są następujące argumenty.

Argument akcji	Opis
Instrukcja SQL	Instrukcja SQL dla kwerendy funkcjonalnej lub kwerendy definiującej dane, która ma być uruchomiona. Maksymalna długość tej instrukcji wynosi 256 znaków. Argument ten jest wymagany.
Użyj transakcji	Należy wybrać wartość Tak, aby uwzględnić tę kwerendę w transakcji, albo wartość Nie, jeśli transakcja ma nie być używana. Wartością domyślną jest Tak. W poprzednich wersjach programu Microsoft Access kwerenda zawsze była włączana do transakcji. Jeśli jako wartość tego argumentu zostanie wybrana wartość Nie, kwerenda może działać szybciej.
Uwagi

Kwerend funkcjonalnych można używać do dołączania, usuwania i aktualizowania rekordów oraz do zapisania zestawu wyników kwerendy jako nowej tabeli. Można również używać kwerend definiujących dane do tworzenia, dokonywania zmian i usuwania tabel oraz do tworzenia i usuwania indeksów. Za pomocą akcji UruchomSQL operacje te można wykonać bezpośrednio z makra, bez potrzeby używania zapisanych kwerend.

Jeśli trzeba użyć instrukcji SQL o długości większej niż 256 znaków, należy zastosować metodę RunSQL obiektu DoCmd w języku Visual Basic, gdzie dozwolone są instrukcje SQL o długości do 32 768 znaków.

Kwerendy programu Microsoft Access są w istocie instrukcjami SQL, utworzonymi przy projektowaniu kwerendy za pomocą siatki projektu w oknie kwerendy W poniższej tabeli zostały przedstawione kwerendy funkcjonalne i kwerendy definiujące dane  programu Microsoft Access oraz odpowiadające im instrukcje SQL.

Typ kwerendy	Instrukcja SQL
Funkcjonalna
Dołączająca	INSERT INTO
Usuwająca	DELETE
Tworząca tabelę	SELECT...INTO
Aktualizująca	UPDATE
Definiująca dane (właściwe dla SQL)
Tworząca tabelę	CREATE TABLE
Zmieniająca tabelę	ALTER TABLE
Usuwająca tabelę	DROP TABLE
Tworząca indeks	CREATE INDEX
Usuwająca indeks	DROP INDEX
Z tymi instrukcjami można też używać klauzuli IN, aby modyfikować dane w innej bazie danych.

Uwaga   Aby uruchomić kwerendę wybierającą albo kwerendę krzyżową za pomocą makra, należy użyć argumentu "Widok" akcji OtwórzKwerendę (OpenQuery) do otwarcia istniejącej kwerendy wybierającej albo kwerendy krzyżowej w widoku "Arkusz danych". W ten sam sposób można też uruchamiać istniejące kwerendy funkcjonalne oraz kwerendy wyłącznie SQL.

Wskazówka   Aby zobaczyć odpowiednik SQL kwerendy programu Microsoft Access, należy kliknąć polecenie SQL z menu Widok w oknie kwerendy. Instrukcjami SQL z listy można się posłużyć jako modelami do tworzenia kwerend uruchamianych za pomocą akcji UruchomSQL. Powielenie instrukcji SQL jako argumentu instrukcji SQL akcji UruchomSQL odnosi ten sam skutek, co uruchomienie danej kwerendy w oknie kwerendy.


TransportBazyDanych, akcja (TransferDatabase)

Akcja TransportBazyDanych służy do importowania lub eksportowania danych pomiędzy bieżącą bazą danych programu Microsoft Access a inną bazą danych. Z bieżącą bazą danych można też połączyć tabelę z innej bazy danych. Umożliwia to dostęp do danych z połączonej tabeli, która pozostaje w innej bazie danych.

Ustawienia

Dla akcji TransportBazyDanych używane są następujące argumenty:

Argument akcji	Opis
Typ transportu	Typ transportu, jaki ma być wybrany. W polu Typ transportu  sekcji Argumenty akcji okna makra należy wybrać opcję Import, Eksport lub Łącze. Import jest ustawieniem domyślnym.
Typ bazy danych	Typ bazy danych, do której mają być eksportowane dane, z której mają być importowane dane lub z którą ma być ustanowione połączenie. W argumencie Typ bazy danych można wybrać Microsoft Access lub inny rodzaj bazy danych. Microsoft Access jest ustawieniem domyślnym.
	Typy baz danych pokazane w argumencie Typ bazy danych zależą od ustawień programu Microsoft Access. Nie wszystkie typy baz danych są instalowane domyślnie. Jeśli typ bazy danych, która ma być użyta do importowania, eksportowania lub połączenia nie jest dostępny, należy uruchomić Instalatora programu Microsoft Access, kliknąć opcję Dodaj/Usuń, zaznaczyć opcję Dostęp do danych i formanty typu ActiveX w oknie dialogowym i kliknąć przycisk Zmień opcję, a następnie wybrać w polu Sterowniki baz danych typ bazy danych, który ma być zainstalowany i ponownie kliknąć przycisk Zmień opcję. Niektóre sterowniki bazy danych znajdują się tylko w pakiecie Office 97 ValuPack (oprócz tego pakiet ValuPack zawiera wszystkie sterowniki bazy danych dostępne w programie instalacyjnym Microsoft Access Setup). Informacje na temat instalowania sterowników bazy danych z pakietu ValuPack można znaleźć w temacie Office 97 ValuPack – informacje.
Nazwa bazy danych	Nazwa bazy danych, do której mają być eksportowane dane, z której mają być importowane dane lub z którą ma być ustanowione połączenie. Należy wpisać pełną nazwę ścieżki. Argument ten jest wymagany.
	Dla typów baz danych które używają osobnych plików dla każdej tabeli, takich jak FoxPro, Paradox oraz dBASE, należy wpisać katalog zawierający ten plik. Nazwę pliku należy wpisać jako wartość argumentu Źródło (przy importowaniu lub łączeniu) albo Cel (przy eksportowaniu).
	Dla baz danych ODBC należy wpisać pełny ciąg znaków połączenia ODBC (Open Database Connectivity). Aby zobaczyć przykład ciągu połączenia, należy połączyć tabelę zewnętrzną z programem Microsoft Access za pomocą podpolecenia Połącz tabele polecenia Pobierz dane zewnętrzne w menu Plik. Należy otworzyć tabelę w widoku "Projekt" i obejrzeć właściwości tabeli. Tekst znajdujący się w ustawieniu właściwości Description (Opis) jest ciągiem znaków połączenia tej tabeli.
	Więcej informacji na temat ciągów znaków połączenia ODBC można znaleźć w pliku Pomocy lub w dokumentacji sterownika ODBC dla danego typu bazy danych ODBC.
Typ obiektu	Typ obiektu, który ma być importowany lub eksportowany. Jeśli zostanie wybrany typ Microsoft Access jako wartość argumentu Typ bazy danych w polu Typ obiektu można wybrać opcję Tabela, Kwerenda, Formularz, Raport, Makro lub Moduł. Jeśli zostanie wybrany jakikolwiek inny typ bazy danych albo opcja Łącze w polu Typ transportu, argument ten jest ignorowany. Tabela jest wartością domyślną.
	Jeśli użytkownik eksportuje kwerendę wybierającą do bazy danych programu Microsoft Access, powinien wybrać wartość Tabela, aby eksportować zestaw wyników kwerendy albo wartość Kwerenda, aby eksportować samą kwerendę. Jeśli użytkownik eksportuje kwerendę wybierającą do bazy danych innego rodzaju, argument ten jest ignorowany i eksportowany jest zestaw wyników kwerendy.
Źródło	Nazwa tabeli, kwerendy wybierającej albo obiektu programu Microsoft Access, który ma być importowany, eksportowany lub łączony. Dla niektórych typów baz danych, takich jak FoxPro, Paradox albo dBASE jest to nazwa pliku. W nazwie pliku należy uwzględnić rozszerzenie (na przykład .DBF). Argument ten jest wymagany.
Cel	Nazwa, w docelowej bazie danych, tabeli, kwerendy wybierającej lub obiektu programu Microsoft Access, który ma być importowany, eksportowany lub łączony. Dla niektórych typów baz danych, takich jak FoxPro, Paradox albo dBASE jest to nazwa pliku. W nazwie pliku należy uwzględnić rozszerzenie (na przykład .DBF). Argument ten jest wymagany.
	Jeśli jako wartość argumentu Typ transportu została wybrana opcja Import, a jako wartość argumentu Typ obiektu opcja Tabela, w programie Microsoft Access tworzona jest nowa tabela, zawierająca dane z importowanej tabeli.
	Przy importowaniu tabeli lub innego obiektu do jego nazwy zostaje dodana liczba, jeśli nazwa ta pokrywa się z istniejącą nazwą. Jeśli na przykład importowana jest tabela "Pracownicy", a nazwa "Pracownicy" już istnieje, importowana tabela zostanie nazwana "Pracownicy1".
	Przy eksportowaniu do bazy danych programu Microsoft Access lub do innej bazy danych, istniejące tabele albo inne obiekty o tej samej nazwie zostają zastąpione automatycznie.
Tylko struktura	Określa, czy ma być importowana lub eksportowana tylko struktura tabeli bazy danych, bez danych. Należy wybrać wartość Tak lub Nie. Wartość Nie jest ustawieniem domyślnym.
Uwagi

Można importować lub eksportować tabele pomiędzy programem Microsoft Access a innymi typami baz danych. Można też eksportować kwerendy wybierające programu Microsoft Access do innych typów baz danych. Program Microsoft Access eksportuje zestaw wyników kwerendy w postaci tabeli. Można importować i eksportować dowolny obiekt bazy danych programu Microsoft Access, o ile obie bazy danych są bazami danych programu Microsoft Access.

Jeśli w programie Microsoft Access 97 importowana jest tabela z innej bazy danych programu Microsoft Access, która jest tabelą połączoną w tej bazie danych, będzie ona nadal połączona po importowaniu. Oznacza to, że importowane jest połączenie, a nie sama tabela.

Jeśli baza danych, do której użytkownik chce uzyskać dostęp wymaga hasła, w trakcie pracy makra pojawi się okno dialogowe. Hasło należy wpisać w tym oknie dialogowym.

Uwaga   Między bazami danych programu Microsoft Access i programu FoxPro w wersji 3.0 można tylko importować i eksportować dane. Nie można łączyć się z tabelami baz danych programu FoxPro.

Działanie akcji TransportBazyDanych jest podobne do kliknięcia podpolecenia Importuj albo Połącz tabele polecenia Pobierz dane zewnętrzne albo polecenia Zapisz jako/Eksportuj z menu Plik okna bazy danych. Za pomocą tych poleceń można wybrać źródło danych, takie jak program Microsoft Access albo typ bazy danych, arkusza kalkulacyjnego lub pliku tekstowego. Jeśli użytkownik wybierze bazę danych, zostaje wyświetlone jedno lub wiele okien dialogowych, w których należy zaznaczyć typ obiektu do importowania lub eksportowania (dla baz danych programu Microsoft Access), nazwę obiektu oraz inne opcje, w zależności od importowanej, eksportowanej lub łączonej bazy danych. Argumenty akcji TransportBazyDanych odpowiadają opcjom w tych oknach dialogowych.

Jeśli trzeba dostarczyć informacji o indeksach dla połączonej tabeli programu FoxPro lub dBASE, należy najpierw połączyć się z tabelą FoxPro lub dBASE przez kliknięcie podpolecenia Połącz tabele polecenia Pobierz dane zewnętrzne w menu Plik, a następnie określić indeksy w oknach dialogowych tego polecenia. Program Microsoft Access zapisuje informacje indeksowe w specjalnym pliku informacyjnym o rozszerzeniu (.INF) znajdującym się w folderze Office (ścieżką dostępu jest C:\Program Files\Microsoft Office\Office). Można również usunąć łącze z połączoną tabelą. Przy następnym użyciu akcji TransportBazyDanych do łączenia tabeli FoxPro lub dBASE określona w ten sposób informacja indeksowa będzie wykorzystana.

Uwaga   Jeśli połączoną tabelę filtruje się lub tworzy opartą na niej kwerendę, w kwerendzie i w filtrze rozróżniana jest wielkość liter.

Aby wykonać akcję TransportBazyDanych w języku Visual Basic, należy użyć metody TransferDatabase obiektu DoCmd.


TransportArkusza, akcja (TransferSpreadsheet)

Akcja TransportArkusza służy do importowania lub eksportowania danych pomiędzy bieżącą bazą danych programu Microsoft Access a plikiem arkusza kalkulacyjnego. Można również połączyć dane w arkuszu kalkulacyjnym programu Microsoft Excel z bieżącą bazą danych programu Microsoft Access. Po połączeniu arkusza kalkulacyjnego można oglądać i edytować dane arkusza w programie Microsoft Access, mając nadal pełny dostęp do tych danych w programie Microsoft Excel. Można również połączyć dane z pliku arkusza kalkulacyjnego programu Lotus 1-2-3, ale dane te mają atrybut tylko-do-odczytu w programie Microsoft Access.

Ustawienia

Dla akcji TransportArkusza używane są następujące argumenty:

Argument akcji	Opis
Typ transportu	Typ transportu, jaki użytkownik chce wybrać. Można wybrać wartości Import, Eksport albo Łącze w argumencie Typ transportu w sekcji Argumenty akcji okna makra. Ustawieniem domyślnym jest wartość Import.
Typ arkusza	Typ arkusza, z którego mają być importowane dane, do którego mają być eksportowane dane lub z którym ma być ustanowione połączenie. W polu tym można wybrać jeden z wielu typów arkuszy. Arkusz "Microsoft Excel 3" jest ustawieniem domyślnym.
	Uwagi • Chcąc importować, eksportować lub połączyć dane arkusza kalkulacyjnego z plikami programu Lotus 1-2-3 należy zainstalować sterownik Lotus 1-2-3 z pakietu Office 97 ValuPack. Informacje na temat instalacji tego sterownika z pakietu ValuPack można znaleźć w temacie Office 97 ValuPack – informacje.
	• Można importować i łączyć (tylko-do-odczytu) pliki .WK4 programu Lotus, ale nie można eksportować danych programu Microsoft Access do arkuszy danych o tym formacie. Program Microsoft Access nie obsługuje już importowania, eksportowania ani łączenia danych z arkuszy .WKS programu Lotus i arkuszy programu Microsoft Excel w wersji 2.0. Aby importować dane lub ustanowić łącze z danymi arkusza kalkulacyjnego programu Microsoft Excel w wersji 2.0 lub z danymi w formacie .WKS programu Lotus, należy dokonać konwersji danych arkusza na późniejszą wersję programu Microsoft Excel lub Lotus 1-2-3 przed ich importowaniem lub połączeniem z danymi programu Microsoft Access.
Nazwa tabeli	Nazwa tabeli programu Microsoft Access, do której mają być importowane dane z arkusza, z której mają być eksportowane dane do arkusza lub z którą mają być połączone dane z arkusza. Można też wpisać nazwę kwerendy wybierającej, z której mają być eksportowane dane. Argument ten jest wymagany.
	Jeśli jako wartość argumentu Typ transportu została wybrana opcja Import, dane z arkusza są dołączane do tej tabeli, o ile ona już istnieje. Jeśli nie istnieje, tworzona jest nowa tabela zawierająca dane z arkusza.
	W programie Microsoft Access 97 nie można użyć instrukcji SQL w celu określenia danych do eksportowania, gdy używana jest akcja TransportArkusza. Zamiast używać instrukcji SQL trzeba najpierw utworzyć kwerendę, a następnie określić nazwę kwerendy w argumencie Nazwa tabeli.
Nazwa pliku	Nazwa pliku arkusza kalkulacyjnego, z którego mają być importowane dane, do którego mają być eksportowane dane lub z którym ma być ustanowione połączenie. Należy podać pełną ścieżkę. Argument ten jest wymagany.
	Jeśli eksportowane są dane z programu Microsoft Access, tworzony jest nowy arkusz kalkulacyjny. Jeśli jego nazwa jest taka sama, jak nazwa istniejącego arkusza, arkusz ten zostaje zastąpiony nowym, o ile nie eksportuje się do skoroszytu programu Microsoft Excel w wersji 5.0, 7.0 lub Excel 97. W tym wypadku eksportowane dane zostaną skopiowane do następnego dostępnego arkusza w skoroszycie.
	Jeśli importowane lub łączone są dane arkusza kalkulacyjnego programu Microsoft Excel w wersji 5.0, 7.0 lub Excel 97, można określić konkretny arkusz używając argumentu Zakres.
Nazwy pól	Określa, czy pierwszy wiersz arkusza zawiera nazwy pól. Jeśli zostanie wybrana opcja Tak, nazwy z tego wiersza przy importowaniu albo łączeniu danych z arkusza zostaną użyte jako nazwy pól w tabeli programu Microsoft Access. Jeśli zostanie wybrana opcja Nie, pierwszy wiersz jest traktowany jak zwykły wiersz z danymi. Ustawieniem domyślnym jest wartość Nie.
	Przy eksportowaniu danych z tabeli lub kwerendy wybierającej programu Microsoft Access do arkusza kalkulacyjnego nazwy pól zostają wstawione do pierwszego wiersza arkusza, niezależnie od wartości tego argumentu.
Zakres	Zakres komórek, które mają być importowane lub łączone. Aby importować lub połączyć cały arkusz, argument ten należy zostawić pusty. Można wpisać nazwę zakresu arkusza albo określić zakres komórek, które mają być importowane lub połączone, na przykład A1:E25 (należy zauważyć, że składnia A1..E25 nie jest już prawidłowa w programie Microsoft Access 97). Przy importowaniu lub łączeniu z arkuszem programu Microsoft Excel w wersji 5.0, 7.0 lub Excel 97 zakres można poprzedzić nazwą arkusza i wykrzyknikiem – na przykład "Budget!A1:C7".
	Uwaga   Eksportując dane do arkusza kalkulacyjnego należy pozostawić ten argument pusty. Jeśli zostanie określony zakres, eksport nie powiedzie się.
Uwagi

Do arkuszy kalkulacyjnych można eksportować dane z kwerend wybierających programu Microsoft Access. Program Microsoft Access eksportuje zestaw wyników kwerendy, traktując go jak tabelę.

Dane z arkusza dołączane do istniejącej tabeli programu Microsoft Access muszą być zgodne ze strukturą tabeli. Każde pole w arkuszu musi mieć ten sam typ danych, co odpowiednie pole w tabeli, a pola muszą znajdować się w tej samej kolejności (chyba, że argument "Nazwy pól" ma wartość "Tak" - wtedy nazwy pól w arkuszu muszą odpowiadać nazwom pól w tabeli).

Akcja ta działa podobnie jak kliknięcie podpolecenia Importuj lub Połącz tabele polecenia Pobierz dane zewnętrzne lub polecenia Zapisz jako/Eksportuj z menu Plik w oknie bazy danych. Za pomocą tych poleceń można wybrać źródło danych, takie jak program Microsoft Access albo typ bazy danych arkusza lub pliku tekstowego. Jeśli zostanie wybrany arkusz, ukazuje się kolejno kilka okien dialogowych albo uruchamiany jest kreator programu Microsoft Access, w których można wybrać nazwę arkusza oraz inne opcje. Argumenty akcji TransportArkusza odpowiadają opcjom w tych oknach dialogowych lub w kreatorze.

Uwaga   Jeśli połączoną tabelę filtruje się lub tworzy opartą na niej kwerendę, w kwerendzie i w filtrze rozróżniana jest wielkość liter.

Jeśli użytkownik próbuje ustanowić łącze z arkuszem kalkulacyjnym programu Excel otwartym w trybie edycji, program Access czeka, aż edycja zostanie zakończona, przed ustanowieniem łącza; nie ma związanego z tym limitu czasu.

Aby uruchomić akcję TransportArkusza w języku Visual Basic, należy użyć metody TransferSpreadsheet obiektu DoCmd.


TransportTekstu, akcja
TransportTekstu, akcja (TransferText)

Akcja TransportTekstu służy do importowania lub eksportowania tekstu pomiędzy bieżącą bazą danych programu Microsoft Access a plikiem tekstowym. Można również połączyć dane w pliku tekstowym z bieżącą bazą danych programu Microsoft Access. Po połączeniu pliku tekstowego można oglądać i edytować dane tekstowe w programie Microsoft Access, mając nadal pełny dostęp do tych danych w programie przetwarzania tekstu. Można również importować, eksportować i łączyć dane z tabeli lub listy w pliku HTML (*.html).

Uwaga   Jeśli użytkownik ustanowi łącze z danymi pliku tekstowego lub pliku HTML, dane te mają atrybut tylko-do-odczytu w programie Microsoft Access.

Ustawienia

Dla akcji TransportTekstu używane są następujące argumenty:

Argument akcji	Opis
Typ transportu	Typ transportu, jaki użytkownik chce wybrać. Dane można importować z, eksportować do albo łączyć z plikami tekstu rozdzielanego, plikami tekstu ustalonej szerokości lub z plikami HTML. Można też eksportować dane do pliku danych korespondencji seryjnej programu Microsoft Word, który następnie może być wykorzystany do tworzenia takich dokumentów, jak listy seryjne oraz etykiety adresowe.
	Należy wybrać wartość Import tekstu rozdzielanego, Import tekstu o stałej szerokości, Import HTML, Eksport tekstu rozdzielanego, Eksport tekstu o stałej szerokości, Eksport HTML, Eksport połączenia z Word, Połączenie tekstu rozdzielanego, Połączenie tekstu o stałej szerokości lub Połączenie HTML jako argument Typ transportu w sekcji Argumenty akcji okna makra. Ustawieniem domyślnym jest wartość Import tekstu rozdzielanego.
Nazwa specyfikacji	Nazwa specyfikacji zestawu opcji, które określają sposób importowania, eksportowania lub łączenia pliku tekstowego. Argument ten jest wymagany dla plików tekstowych o stałej szerokości.
	Aby utworzyć specyfikację dla konkretnego rodzaju plików tekstowych, na przykład tekstu rozdzielanego znakami tabulacji z datami w formacie MDR, należy użyć podpolecenia Importuj albo Połącz tabele polecenia Pobierz dane zewnętrzne lub polecenia Zapisz jako/Eksportuj w menu Plik. Kliknięcie jednego z tych poleceń i wybranie typu pliku tekstowego do importowania, eksportowania lub łączenia uruchamia Kreatora importu tekstu, Kreatora eksportu tekstu lub Kreatora łączenia tekstu. Można kliknąć przycisk Zaawansowane w kreatorze i określić oraz zapisać specyfikację w wyświetlanym oknie dialogowym. Można wtedy wprowadzać nazwę specyfikacji jako wartość tego argumentu przy każdym importowaniu lub eksportowaniu pliku tego samego typu.
	Można importować, eksportować lub łączyć pliki z tekstem rozdzielanym bez podawania nazwy specyfikacji dla tego argumentu. Program Microsoft Access przyjmuje wtedy ustawienia domyślne z okna dialogowego kreatora. Program Microsoft Access używa z góry ustalonego formatu dla plików danych korespondencji seryjnej, a więc w tym argumencie nie trzeba wpisywać nazwy specyfikacji przy eksportowaniu tego typu plików. Można używać specyfikacji importu/eksportu z plikami HTML, ale jedyną używaną częścią specyfikacji jest specyfikacja dla formatowania typu danych.
Nazwa tabeli	Nazwa tabeli programu Microsoft Access, do której mają być importowane dane tekstowe, z której mają być eksportowane dane tekstowe lub z którą mają być połączone dane tekstowe. Można też wpisać nazwę kwerendy wybierającej programu Microsoft Access, z której mają być eksportowane dane. Argument ten jest wymagany.
	Jeśli kliknięta została wartość Import tekstu rozdzielanego, Import tekstu o stałej szerokości lub Import HTML w polu Typ transportu, dane tekstowe zostają dołączone do tej tabeli, o ile ona istnieje. Jeśli nie istnieje, w programie Microsoft Access zostaje utworzona nowa tabela, zawierająca dane tekstowe.
	W programie Microsoft Access 97 nie można użyć instrukcji SQL w celu określenia danych do eksportowania, gdy używana jest akcja TransportTekstu. Zamiast używać instrukcji SQL trzeba najpierw utworzyć kwerendę, a następnie określić nazwę kwerendy w argumencie Nazwa tabeli.
Nazwa pliku	Nazwa pliku tekstowego, z którego mają być importowane dane, do którego mają być eksportowane dane lub którego dane mają być połączone. Należy podać pełną ścieżkę. Argument ten jest wymagany.
	Przy eksportowaniu danych z programu Microsoft Access, tworzony jest nowy plik tekstowy. Jeśli jego nazwa jest taka sama, jak nazwa istniejącego pliku tekstowego, zostaje on zastąpiony nowym.
	Aby importować lub połączyć tabelę lub listę z pliku HTML, można użyć argumentu Nazwa tabeli HTML.
Nazwy pól	Określa, czy pierwszy wiersz pliku tekstowego zawiera nazwy pól. Jeśli zostanie wybrana wartość argumentu Tak, przy importowaniu i łączeniu danych nazwy z tego wiersza są używane jako nazwy pól w tabeli programu Microsoft Access. Jeśli zostanie wybrana wartość Nie, pierwszy wiersz jest traktowany jak zwykły wiersz danych. Ustawieniem domyślnym jest wartość Nie.
	Argument ten jest ignorowany w przypadku plików danych korespondencji seryjnej programu Word dla systemu Windows, dla których pierwszy wiersz musi zawierać nazwy pól.
	Jeśli została wybrana wartość Tak, przy eksportowaniu tabel lub kwerend wybierających programu Microsoft Access do pliku tekstowego rozdzielanego lub o stałej szerokości, nazwy pól tabeli lub kwerendy wybierającej są wstawiane do pierwszego wiersza pliku tekstowego.
	Jeśli jest importowany lub łączony plik tekstowy o stałej szerokości, a ten argument ma wartość Tak, w pierwszym wierszu zawierającym nazwy pól muszą być użyte znaki rozdzielające pola ustawione w specyfikacji importu/eksportu do oddzielania nazw pól. Jeśli dane są eksportowane do pliku o stałej szerokości, a argument ma wartość Tak, nazwy pól zostają wstawione do pierwszego wiersza z takim znakiem rozdzielającym.
Nazwa tabeli HTML	Nazwa tabeli lub listy w pliku HTML, która ma być importowana lub połączona. Ten argument jest ignorowany, o ile argument Typ transportu nie jest ustawiony na Import HTML lub Połączenie HTML. Jeśli ten argument jest pusty, to importowana lub łączona jest pierwsza tabela lub lista w pliku HTML.
	Nazwa tabeli lub listy w pliku HTML jest określona przez tekst wpisany w znaczniku <ETYKIETA>, jeśli on istnieje. Jeśli znacznik <ETYKIETA> nie istnieje, nazwa jest określona przez tekst wpisany w znaczniku <TYTUŁ>. Jeśli kilka tabel lub list me tę samą nazwę, program Microsoft Access rozróżnia je przez dodanie numeru na końcu każdej nazwy; np. Pracownicy1 i Pracownicy2.
Uwagi

Do plików tekstowych można eksportować dane z kwerend wybierających programu Microsoft Access. Program Microsoft Access eksportuje zestaw wyników kwerendy, traktując go jak tabelę.

Dane tekstowe dołączane do istniejącej tabeli programu Microsoft Access muszą być zgodne ze strukturą tabeli. Każde pole w tekście musi mieć ten sam typ danych, co odpowiednie pole w tabeli, a pola muszą znajdować się w tej samej kolejności (chyba, że argument Nazwy pól jest ustawiony na wartość Tak - wtedy nazwy pól w tekście muszą odpowiadać nazwom pól w tabeli).

Akcja ta działa podobnie jak kliknięcie podpolecenia Importuj lub Połącz tabele polecenia Pobierz dane zewnętrzne lub polecenie Zapisz jako/Eksportuj z menu Plik okna bazy danych. Za pomocą tych poleceń można wybrać źródło danych, na przykład program Microsoft Access albo typ bazy danych, arkusza kalkulacyjnego lub pliku tekstowego. Jeśli zostanie wybrany plik tekstu rozdzielanego, tekstu o stałej szerokości lub plik HTML, kreator monituje o zaznaczenie nazwy pliku i innych opcji. Argumenty akcji TransportTekstu odzwierciedlają opcje w tych kreatorach.

Wskazówka   W specyfikacji importu/eksportu są zapisane informacje potrzebne przy importowaniu, eksportowaniu albo łączeniu pliku tekstowego. Zapisanych specyfikacji można używać do importowania danych tekstowych, do eksportowania ich lub połączenia z podobnym plikiem tekstowym. Jeśli na przykład otrzymuje się tygodniowe dane na temat sprzedaży w postaci pliku tekstowego z głównego komputera, można utworzyć i zapisać specyfikację dla tego rodzaju danych i korzystać z niej przy każdym dołączaniu tych danych do bazy danych programu Microsoft Access.

Uwaga Jeśli połączoną tabelę filtruje się lub tworzy opartą na niej kwerendę, w kwerendzie i w filtrze rozróżniana jest wielkość liter.

Aby uruchomić akcję TransportTekstu w języku Visual Basic, należy użyć metody TransferText obiektu DoCmd.


Zakończ, akcja (Quit)

Akcja Zakończ służy do zakończenia pracy programu Microsoft Access. Może też określać jedną z wielu opcji zapisywania obiektów bazy danych przed zakończeniem programu Microsoft Access.

Ustawienia

Akcja Zakończ ma następujący argument.

Argument akcji	Opis
Opcje	Określa, co się stanie z nie zapisanymi obiektami po zakończeniu programu Microsoft Access. Aby wyświetlane były okna dialogowe z pytaniami o zapisywanie każdego obiektu, należy kliknąć opcję Potwierdzaj, aby zapisać wszystkie obiekty bez wyświetlania monitów, należy kliknąć opcję Zapisz wszystkie, aby wyjść z programu bez zapisywania żadnych obiektów, należy kliknąć opcję Zakończ w polu Opcje sekcji Argumenty akcji okna makra. Ustawieniem domyślnym jest Zapisz wszystkie.
Uwagi

W programie Microsoft Access akcje występujące w makrze po akcji Zakończ nie są wykonywane.

Za pomocą tej akcji można zakończyć program Microsoft Access bez monitowania przez okno dialogowe Zapisz, używając polecenia niestandardowego menu albo przycisku na formularzu. Można na przykład utworzyć główny formularz służący do wyświetlania obiektów w niestandardowym obszarze roboczym. Formularz taki może zawierać przycisk Zakończ, który powoduje uruchomienie makra zawierającego akcję Zakończ, z argumentem "Opcje" ustawionym na wartość "Zapisz wszystkie".

Działanie tej akcji odnosi ten sam skutek, co kliknięcie polecenia Zakończ z menu Plik. Jeśli w momencie kliknięcia tego polecenia są jakieś nie zapisane obiekty, pojawiają się te same okna dialogowe, co przy użyciu ustawienia "Potwierdzaj" dla argumentu "Opcje" akcji Zakończ.

Za pomocą akcji Zapisz (Save) w makrze można zapisać określony obiekt bez konieczności kończenia pracy programu Microsoft Access lub zamykania obiektu.

Aby uruchomić akcję Zakończ w języku Visual Basic, należy użyć metody Quit obiektu DoCmd.


ZmieńNazwę, akcja (Rename)

Akcja ZmieńNazwę służy do zmiany nazwy określonego obiektu bazy danych.

Ustawienia

Akcja ZmieńNazwę ma następujące argumenty.

Argument akcji	Opis
Nowa nazwa	Nowa nazwa obiektu bazy danych. Należy wprowadzić nazwę obiektu w polu Nowa nazwa sekcji Argumenty akcji okna makra. Argument ten jest wymagany.
Typ obiektu	Typ obiektu, którego nazwa ma być zmieniona. Należy kliknąć opcję Tabela, Kwerenda, Formularz, Raport, Makro albo Moduł. Aby zmienić nazwę obiektu zaznaczonego w oknie bazy danych, należy zostawić ten argument pusty.
Stara nazwa	Nazwa obiektu, która ma być zmieniona. W polu Stara nazwa wyświetlone są wszystkie obiekty bazy danych tego samego typu, co typ określony ustawieniem argumentu "Typ obiektu". Jeśli argument "Typ obiektu" pozostał pusty, ten argument też powinien zostać pusty. Uwaga   Przy uruchamianiu makra zawierającego akcję ZmieńNazwę w bibliotecznej bazie danych program Microsoft Access najpierw szuka obiektu o tej nazwie w bibliotecznej bazie danych, a następnie w bieżącej bazie danych.
Uwagi

Nowa nazwa obiektu bazy danych musi być zgodna ze standardowymi regułami nazywania obiektów programu Microsoft Access.

Nie można zmienić nazwy otwartego obiektu.

Jeśli pozostawi się argumenty "Typ obiektu" oraz "Stara nazwa" puste, program Microsoft Access zmienia nazwę obiektu zaznaczonego w oknie bazy danych. Aby zaznaczyć obiekt w oknie bazy danych, można użyć akcji WybierzObiekt (SelectObject) z argumentem "W oknie bazy danych" ustawionym na wartość "Tak".

Można też zmienić nazwę obiektu klikając go najpierw w oknie bazy danych, następnie klikając go jeszcze raz, aby uaktywnić tryb edycji nazwy i wpisać nazwę. Stosując akcję ZmieńNazwę, nie trzeba najpierw zaznaczać obiektu w oknie bazy danych ani nie trzeba zatrzymywać makra, aby wpisać nową nazwę.

Akcja ta różni się od akcji KopiujObiekt (CopyObject), która tworzy kopię obiektu pod nową nazwą.

Aby uruchomić akcję ZmieńNazwę w języku Visual Basic, należy użyć metody Rename obiektu DoCmd.


OdświeżObiekt, akcja (RepaintObject)

Akcja OdświeżObiekt służy do kończenia niezakończonych aktualizacji ekranu dla określonego obiektu bazy danych albo aktywnego obiektu bazy danych, jeśli żaden inny nie jest określony. Takimi aktualizacjami mogą na przykład być niezakończone ponowne obliczenia wartości formantów obiektu.

Ustawienia

Akcja OdświeżObiekt ma następujące argumenty.

Argument akcji	Opis
Typ obiektu	Typ obiektu, który ma być odświeżony. Należy kliknąć opcję Tabela, Kwerenda, Formularz, Raport, Makro albo Moduł w polu Typ obiektu sekcji Argumenty akcji okna makra. Aby wybrać aktywny obiekt, należy zostawić ten argument pusty.
Nazwa obiektu	Nazwa obiektu, który ma być odświeżony. W polu Nazwa obiektu wyświetlone są wszystkie obiekty bazy danych tego samego typu, co typ określony ustawieniem argumentu "Typ obiektu". Jeśli argument "Typ obiektu" pozostał pusty, ten argument też powinien zostać pusty.
Uwagi

Program Microsoft Access czeka z dokończeniem niezakończonych aktualizacji ekranu aż do zakończenia innych niezakończonych zadań. Za pomocą tej akcji można wymusić natychmiastowe odświeżanie formantów określonego obiektu. Akcji tej można użyć w następujących przypadkach:

•	Zostały zmienione wartości kilku formantów za pomocą akcji UstawWartość (SetValue). Program Microsoft Access może nie wyświetlić tych zmian od razu, zwłaszcza jeśli inne formanty (np. formanty obliczeniowe) zależą od wartości zmienionych formantów.

•	Chcąc mieć pewność, że oglądane formularze wyświetlają dane we wszystkich formantach. Na przykład formanty zawierające obiekty OLE nie wyświetlają swoich danych bezpośrednio po otworzeniu formularza.

Uwagi

•	Wykonanie tej akcji nie powoduje ponowienia kwerendy bazy danych, nie pokazuje więc nowych ani zmienionych rekordów ani nie usuwa rekordów zaznaczonych do usunięcia z odnośnej tabeli lub kwerendy obiektu. Aby wykonać ponowną kwerendę dla źródła obiektu albo któregoś z jego formantów, należy użyć akcji PonówKwerendę (Requery). Akcja PokażWszystkieRekordy (ShowAllRecords) spowoduje wyświetlenie najnowszych rekordów oraz usunięcie wszystkich zastosowanych filtrów.

•	Działanie akcji OdświeżObiekt nie powoduje tych samych skutków, co wybranie polecenia Odśwież z menu Rekordy, które pokazuje wszystkie zmiany wprowadzone przez wszystkich użytkowników do aktualnie wyświetlanych rekordów w formularzach i arkuszach danych.

Aby uruchomić akcję OdświeżObiekt w języku Visual Basic, należy użyć metody RepaintObject obiektu DoCmd.


PonówKwerendę, akcja (Requery)

Akcja PonówKwerendę służy do aktualizacji danych w określonym formancie aktywnego obiektu za pomocą wykonania ponownej kwerendy dla źródła formantu. Jeśli żaden formant nie został określony, akcja powoduje wykonanie ponownej kwerendy dla źródła samego obiektu. Można użyć tej akcji, aby upewnić się, że aktywny obiekt lub jeden z jego formantów wyświetla najbardziej aktualne dane.

Ustawienia

Akcja PonówKwerendę ma następujący argument.

Argument akcji	Opis
Nazwa formantu	Nazwa formantu, który ma być zaktualizowany. Należy wprowadzić nazwę formantu w polu Nazwa formantu sekcji Argumenty akcji okna makra. Należy używać tylko nazwy formantu, a nie pełnego identyfikatora takiego, jak Forms!nazwa_formularza!nazwa_formantu. Aby wykonać ponowną kwerendę źródła aktywnego obiektu, należy zostawić ten argument pusty. Jeśli aktywny obiekt jest arkuszem danych albo zestawem wyników kwerendy, trzeba pozostawić ten argument pusty.
Uwagi

Akcja PonówKwerendę powoduje jeden z następujących skutków:

•	Ponownie wykonuje kwerendę, na której oparty jest formant lub obiekt.

•	Wyświetla nowe albo zmienione rekordy oraz usuwa rekordy zaznaczone do usunięcia z tabeli, na której oparty jest formant lub obiekt.

Formanty oparte na kwerendzie lub tabeli to między innymi:

•	Pole listy oraz pole kombi.

•	Formanty podformularza.

•	Obiekt OLE, taki jak wykres.

•	Formanty zawierające funkcje agregujące domen, takie jak Dsum.

Jeśli określony formant nie jest oparty na kwerendzie ani tabeli, akcja ta wymusza ponowne obliczenie formantu.

Jeśli argument "Nazwa formantu" pozostanie pusty, działanie akcji PonówKwerendę odnosi ten sam skutek, co przyciśnięcie klawiszy SHIFT+F9 w chwili, kiedy fokus jest na danym obiekcie. Jeśli fokus jest na formancie podformularza, akcja powoduje wykonanie ponownej kwerendy tylko dla źródła podformularza (tak samo, jak przyciśnięcie klawiszy SHIFT+F9).

Uwaga   Akcja PonówKwerendę powoduje wykonanie ponownej kwerendy dla formantu lub obiektu. W odróżnieniu od niej, akcja OdświeżObiekt (RepaintObject) powoduje odświeżenie formantów w określonym obiekcie, ale nie powoduje wykonania ponownej kwerendy bazy danych ani wyświetlenia nowych rekordów. Akcja PokażWszystkieRekordy (ShowAllRecords) nie tylko wykonuje ponowną kwerendę aktywnego obiektu, ale także usuwa wszystkie zastosowane filtry, czego nie robi akcja PonówKwerendę.

Aby wykonać ponowną kwerendę dla formantu nie związanego z aktywnym obiektem, należy użyć metody Requery w języku Visual Basic zamiast akcji PonówKwerendę albo odpowiadającej jej metody Requery obiektu DoCmd. Metoda Requery w języku Visual Basic jest szybsza od akcji PonówKwerendę oraz metody DoCmd.Requery. Ponadto, przy użyciu akcji PonówKwerendę albo metody DoCmd.Requery, program Microsoft Access zamyka kwerendę i ładuje ją ponownie z bazy danych. Przy użyciu metody Requery kwerenda zostaje wykonana ponownie bez zamykania i ponownego ładowania. Należy zauważyć, że metoda dostępu do danych (DAO) Requery działa w ten sam sposób, co metoda Requery programu Microsoft Access.


Przywróć, akcja (Restore)

Akcja Przywróć służy do przywracania zmaksymalizowanego lub zminimalizowanego okna do jego poprzedniego rozmiaru.

Ustawienia

Akcja Przywróć nie ma żadnych argumentów.

Uwagi

Akcja ta działa na zaznaczonym obiekcie. Jeśli obiekt został zminimalizowany, można go najpierw zaznaczyć za pomocą akcji WybierzObiekt (SelectObject), a następnie przywrócić jego poprzedni rozmiar za pomocą akcji Przywróć.

Za pomocą akcji RuchRozmiar (MoveSize) można przenieść lub zmienić rozmiar okna, którego rozmiar został przywrócony.

Działanie akcji Przywróć odnosi ten sam skutek, co kliknięcie przycisku Przywróć w prawym górnym rogu okna albo kliknięcie polecenia Przywróć w menu sterowania okna.

Aby wykonać akcję Przywróć w języku Visual Basic, należy użyć metody Restore obiektu DoCmd.


UruchomAplikację, akcja (RunApp)

Akcja UruchomAplikację służy do uruchomienia aplikacji Windows albo MS-DOS, takiej jak Microsoft Excel, Microsoft Word albo Microsoft PowerPoint, bez opuszczania programu Microsoft Access. Można na przykład wkleić dane z arkusza kalkulacyjnego programu Microsoft Excel do bazy danych programu Microsoft Access.

Ustawienia

Akcja UruchomAplikację ma następujący argument.

Argument akcji	Opis
Wiersz polecenia	Wiersz polecenia używany do uruchamiania aplikacji (łącznie ze ścieżką dostępu oraz wszystkimi wymaganymi parametrami, np. opcjami, które powodują uruchomienie aplikacji w konkretnym trybie). Należy wprowadzić wiersz polecenia w polu Wiersz polecenia sekcji Argumenty akcji okna makra. Argument ten jest wymagany.
Uwagi

Aplikacja wybrana za pomocą tej akcji zostaje załadowana i pracuje na pierwszym planie. Zawierające akcję makro kontynuuje pracę.

Można przenosić dane pomiędzy programem Microsoft Access i inną aplikacją korzystając z możliwości dynamicznej wymiany danych (DDE) środowiska Windows albo ze Schowka. Za pomocą akcji WyślijKlawisze (SendKeys) można wysyłać naciśnięcia klawiszy do innych aplikacji (chociaż DDE jest efektywniejszą metodą przenoszenia danych). Można też określić, że aplikacje wspólnie korzystają z danych, używając automatyzacji.

Aplikacje oparte na systemie MS-DOS są uruchamiane w oknie MS-DOS wewnątrz środowiska Windows.

W systemie Windows 3.1 działanie tej akcji odnosi ten sam skutek, co dwukrotne kliknięcie ikony programu w grupie programów systemu Windows albo uruchomienie programu w oknie dialogowym Uruchom w Menedżerze programów. W systemie Windows 95 jest szereg sposobów uruchomienia aplikacji, np. uruchamianie programu za pomocą Eksploratora Windows, polecenia Uruchom w menu Start albo dwukrotnego kliknięcia ikony programu na pulpicie.

Nie można wykonać akcji UruchomAplikację w języku Visual Basic. Zamiast tego należy użyć funkcji Shell języka Visual Basic


UruchomKod, akcja (RunCode)

Akcja UruchomKod służy do wywołania procedury Function języka Visual Basic.

Ustawienia

Akcja UruchomKod ma następujący argument.

Argument akcji	Opis
Nazwa funkcji	Nazwa procedury Function programu Visual Basic, która ma być wywołana. Wszelkie argumenty funkcji powinny być umieszczone w nawiasach. Należy wprowadzić nazwę funkcji w polu Nazwa funkcji sekcji Argumenty akcji okna makra. Argument ten jest wymagany. Uwaga   Aby wybrać funkcję dla tego argumentu za pomocą Konstruktora wyrażeń, należy kliknąć przycisk Buduj  [image]  znajdujący się z prawej strony pola Nazwa funkcji. Następnie należy kliknąć żądaną funkcję na liście w Konstruktorze wyrażeń.
Uwagi

Zdefiniowane przez użytkownika procedury Function są przechowywane w modułach programu Microsoft Access.

Nawiasy są konieczne, nawet jeśli procedura Function nie ma żadnych argumentów, jak w następującym przykładzie:

TestFunction()

W odróżnieniu od definiowanych przez użytkownika nazw funkcji używanych w ustawieniach właściwości zdarzenia, nazwa funkcji w argumencie "Nazwa funkcji" nie jest poprzedzona znakiem równości (=).

Program Microsoft Access ignoruje wartość zwracaną przez tę funkcję.

Wskazówka   Aby uruchomić procedurę Sub albo procedurę zdarzenia napisaną w języku Visual Basic, należy utworzyć procedurę Function, która wywołuje procedurę Sub lub procedurę zdarzenia. Następnie należy za pomocą akcji UruchomKod uruchomić procedurę Function.

Jeśli użytkownik wywołuje funkcję za pomocą akcji UruchomKod, program Microsoft Access szuka funkcji o nazwie określonej za pomocą argumentu "Nazwa funkcji" w modułach standardowych bazy danych. Jeśli jednak akcja jest wykonywana w odpowiedzi na kliknięcie polecenia menu w formularzu lub raporcie albo w odpowiedzi na zdarzenie w formularzu lub raporcie, program Microsoft Access najpierw szuka funkcji w module formularza lub module raportu, a następnie w modułach standardowych. Program Microsoft Access nie szuka funkcji określonej przez argument "Nazwa funkcji" w modułach klas pojawiających się na karcie Moduły w oknie bazy danych.

Ta akcja nie jest dostępna w języku Visual Basic. Należy żądaną procedurę Function uruchomić bezpośrednio w języku Visual Basic.


UruchomMakro, akcja (RunMacro)

Akcja UruchomMakro służy do uruchomienia makra. Makro może znajdować się w grupie makr.

Za pomocą tej akcji można:

•	Uruchomić makro z poziomu innego makra.

•	Uruchomić makro oparte na pewnych warunkach.

•	Dołączyć makro do polecenia niestandardowego menu.

Ustawienia

Akcja UruchomMakro ma następujące argumenty.

Argument akcji	Opis
Nazwa makra	Nazwa makra, które ma być uruchomione. W polu Nazwa makra sekcji Argumenty akcji okna makra pokazane są wszystkie makra (oraz grupy makr) w bieżącej bazie danych. Jeśli makro jest w grupie makr, występuje na liście pod nazwą grupy makr jako nazwa_grupy_makr.nazwa_makra. Argument ten jest wymagany.
	Jeśli makro zawierające akcję UruchomMakro zostanie uruchomione w bibliotecznej bazie danych, program Microsoft Access szuka makra o tej nazwie w bibliotecznej bazie danych, a nie szuka go w bieżącej bazie danych.
Liczba powtórzeń	Maksymalna liczba uruchomień makra. Jeśli argument ten pozostanie pusty (i argument "Wyrażenie powtarzające" też jest pusty), makro zostanie uruchomione raz.
Wyrażenie powtarzające	Wyrażenie, które ma wartość logiczną Prawda (-1) lub Fałsz (0). Makro przestaje pracować, jeśli wyrażenie przyjmuje wartość Fałsz. Wartość wyrażenia jest sprawdzana przy każdym uruchomieniu makra.
Uwagi

Jeśli jako argument "Nazwa makra" zostanie wprowadzona nazwa grupy makr, w programie Microsoft Access uruchomione zostanie pierwsze makro w tej grupie.

Działanie tej akcji jest podobne do kliknięcia polecenia Makro w menu Narzędzia, które służy do wybrania i uruchomienia określonego makra. Polecenie to jednak uruchamia makro tylko jeden raz, podczas gdy za pomocą akcji UruchomMakro można je uruchomić dowolną liczbę razy.

Wskazówka   Za pomocą argumentów "Liczba powtórzeń" oraz "Wyrażenie powtarzające" można określić, ile razy makro zostanie uruchomione:

•	Jeśli zostawi się oba argumenty puste, makro jest uruchomiane tylko raz.

•	Jeśli wprowadzi się liczbę dla argumentu "Liczba powtórzeń" i pozostawi argument "Wyrażenie powtarzające" pusty, makro jest uruchomione określoną liczbę razy.

•	Jeśli pozostawi się argument "Liczba powtórzeń" pusty i wprowadzi pewne wyrażenie jako argument "Wyrażenie powtarzające", makro jest uruchamiane do chwili, gdy wartość wyrażenia przyjmie wartość Fałsz.

•	Jeśli wprowadzi się wartości dla obu argumentów, makro jest uruchamiane tyle razy, ile określono w argumencie "Liczba powtórzeń" albo do momentu, gdy wyrażenie "Wyrażenie powtarzające" przyjmie wartość Fałsz, w zależności od tego, co nastąpi wcześniej.

Jeśli zostanie uruchomione makro zawierające akcję UruchomMakro, po napotkaniu tej akcji, uruchamiane jest wywoływane makro. Kiedy zakończy ono pracę, program Microsoft Access powraca do pierwotnego makra i uruchamia następną akcję.

Uwagi

•	Można wywołać makro z tej samej lub z innej grupy makr.

•	Makra mogą być zagnieżdżane. Można uruchomić makro A, które wywołuje makro B, i tak dalej. W każdym przypadku po zakończeniu pracy wywołanego makra, program Microsoft Access powraca do makra, które je wywołało i wykonuje następną akcję.

Wskazówka   Akcji UruchomMakro można użyć w grupie makr definiującej niestandardowe polecenia dla niestandardowego paska menu, aby uruchomić makro z niestandardowego menu. Łatwiej jest jednak użyć nowych funkcji pasków poleceń, aby uruchomić makro z paska menu, paska narzędzi lub z menu podręcznego. W menu Widok należy wskazać polecenie Paski narzędzi i kliknąć polecenie Dostosuj, aby wyświetlić okno dialogowe Dostosuj. Na karcie Paski narzędzi należy zaznaczyć pasek menu, pasek narzędzi lub menu podręczne, z którego ma być uruchamiane makro. Na karcie Polecenia należy kliknąć opcję Wszystkie makra w polu Kategorie, a następnie w polu Polecenia zaznaczyć i przeciągnąć żądane makro na pasek menu, pasek narzędzi lub menu podręczne. Gdy użytkownik kliknie ikonę tego makra na pasku menu, pasku narzędzi lub w menu podręcznym, program Microsoft Access uruchomi makro. Można również przeciągnąć makro z okna bazy danych na pasek menu lub pasek narzędzi, a program Microsoft Access utworzy ikonę uruchamiającą to makro.

Aby wykonać akcję UruchomMakro w języku Visual Basic, należy użyć metody RunMacro obiektu DoCmd.


WybierzObiekt, akcja (SelectObject)

Akcja WybierzObiekt służy do wybrania określonego obiektu bazy danych.

Ustawienia

Akcja WybierzObiekt ma następujące argumenty.

Argument akcji	Opis
Typ obiektu	Typ obiektu, który ma być wybrany. Należy kliknąć opcję Tabela, Kwerenda, Formularz, Raport, Makro albo Moduł w polu Typ obiektu sekcji Argumenty akcji okna makra. Argument ten jest wymagany.
Nazwa obiektu	Nazwa obiektu, który ma być wybrany. W polu Nazwa obiektu wyświetlone są wszystkie obiekty bazy danych tego samego typu, co typ określony przez ustawienie argumentu "Typ obiektu". Argument ten jest wymagany, chyba że użytkownik ustawi wartość argumentu "W oknie bazy danych" na wartość "Tak". Jeśli argument "W oknie bazy danych" zostanie ustawiony na wartość "Tak", a argument "Nazwa obiektu" pozostanie pusty, program Microsoft Access wybiera w oknie bazy danych kartę odpowiadającą obiektowi bazy danych określonemu przez argument "Typ obiektu".
W oknie bazy danych	Określa, czy obiekt jest wybierany w oknie bazy danych. Należy kliknąć opcję Tak, aby obiekt był wybierany lub opcję Nie, aby obiekt nie był wybierany w oknie bazy danych. Ustawieniem domyślnym jest Nie.
Uwagi

Akcja WybierzObiekt działa dla każdego obiektu programu Microsoft Access, który może przyjmować fokus. Akcja ta przenosi fokus do określonego obiektu i pokazuje obiekt, jeśli jest on ukryty. Jeśli obiektem jest formularz, akcja WybierzObiekt ustawia właściwość formularza Visible (Widoczny) na wartość "Tak" oraz przywraca tryb formularza ustawiony we właściwościach formularza (na przykład tryb formularza modalnego lub formularza podręcznego).

Jeśli obiekt nie jest otwarty w innym oknie programu Microsoft Access, można go wybrać w oknie bazy danych za pomocą ustawienia argumentu "W oknie bazy danych" na wartość "Tak". Jeśli wartość argumentu "W oknie bazy danych" jest ustawiona na wartość "Nie", przy próbie wybrania obiektu, który nie jest otwarty pojawia się komunikat o błędzie.

Często akcję tę wykorzystuje się do wybierania obiektów, aby działać na nie dodatkowymi akcjami. Użytkownik może na przykład przywrócić (za pomocą akcji Przywróć (Restore)) rozmiar obiektu, który został zminimalizowany, albo zmaksymalizować (za pomocą akcji Maksymalizuj (Maximize)) okno zawierające obiekt, z którym chce pracować.

Jeśli wybrany został formularz, można za pomocą akcji IdźDoFormantu (GoToControl), IdźDoRekordu (GoToRecord) oraz IdźDoStrony (GoToPage) przenosić określone obszary formularza. Akcja IdźDoRekordu działa też na arkuszach danych.

Aby wykonać akcję WybierzObiekt w języku Visual Basic, należy użyć metody SelectObject obiektu DoCmd.


WyślijKlawisze, akcja (SendKeys)

Akcja WyślijKlawisze służy do wysyłania naciśnięć klawiszy bezpośrednio do programu Microsoft Access albo do aktywnej aplikacji systemu Windows.

Ustawienia

Akcja WyślijKlawisze ma następujące argumenty.

Argument akcji	Opis
Klawisze	Naciśnięcia klawiszy, które mają być przetwarzane przez program Microsoft Access albo daną aplikację. Należy wprowadzić klawisze w polu Klawisze sekcji Argumenty akcji okna makra. Można wpisać do 255 znaków. Argument ten jest wymagany.
Czekaj	Określa, czy wykonywanie makra powinno zostać wstrzymane do czasu zakończenia przetwarzania naciśnięć klawiszy. Należy kliknąć opcję Tak, aby wstrzymywać albo opcję Nie, aby nie wstrzymywać wykonywania makra. Ustawieniem domyślnym jest Nie.
Uwagi

Program Microsoft Access przetwarza klawisze otrzymane za pomocą akcji WyślijKlawisze dokładnie tak samo, jakby zostały one wpisane bezpośrednio w oknie programu Microsoft Access.

Aby określić klawisze, należy użyć tej samej składni co w instrukcji SendKeys.

Uwaga   Może wystąpić błąd, jeśli argument "Klawisze" zawiera niewłaściwą składnię, błędnie wpisany tekst lub inne wartości nie akceptowane przez okno, do którego mają być wysłane klawisze.

Można za pomocą tej akcji wprowadzać informacje w oknie dialogowym, zwłaszcza wtedy, gdy użytkownik nie chce przerywać pracy makra, aby zrobić to samodzielnie. Niektóre akcje programu Microsoft Access, takie jak Wydruk (PrintOut) czy ZnajdźRekord (FindRecord), automatycznie wybierają opcje w niektórych często używanych oknach dialogowych. Można użyć akcji WyślijKlawisze, aby wybrać opcje w rzadziej używanych oknach dialogowych.

Uwagi

•	Ponieważ okno dialogowe zawiesza wykonywanie makra, należy umieścić akcję WyślijKlawisze przed akcją otwierającą okno dialogowe oraz ustawić wartość argumentu "Czekaj" na wartość "Nie".

•	Ustalenie odstępów czasu pomiędzy naciśnięciami klawiszy dochodzących do programu Microsoft Access lub innej aplikacji może być trudne. Zaleca się więc stosowanie w miarę możliwości innych niż akcja WyślijKlawisze metod wprowadzania opcji w oknach dialogowych (na przykład akcji ZnajdźRekord).

Aby wysłać więcej niż 255 znaków do programu Microsoft Access lub innej aplikacji działającej w środowisku Windows, można użyć w makrze kilku kolejnych akcji WyślijKlawisze.

Wysyłanie naciśnięć klawiszy za pomocą akcji WyślijKlawisze wyzwala odpowiednie zdarzenia KeyDown, KeyUp i KeyPress. Wysyłanie naciśnięć klawiszy nie będących klawiszami zestawu znaków ANSI (np. klawisze funkcyjne) nie wyzwala zdarzenia KeyPress.

Ta akcja nie jest dostępna w języku Visual Basic. Zamiast niej należy używać instrukcji SendKeys.


UstawWartość, akcja (SetValue)

Akcja UstawWartość służy do ustawienia wartości pola, formantu lub właściwości programu Microsoft Access w formularzu, arkuszu danych formularza albo raporcie.

Ustawienia

Akcja UstawWartość ma następujące argumenty.

Argument akcji	Opis
Element	Nazwa pola, formantu albo właściwości, której wartość ma być ustawiona. Należy wprowadzić nazwę pola, formantu albo właściwości w polu Element sekcji Argumenty akcji okna makra. Odwołując się do tego elementu należy stosować pełną składnię, np. nazwa_formantu (dla formantu w formularzu lub raporcie, z którego było wywoływane makro) albo Forms!nazwa_formularza!nazwa_formantu. Argument ten jest wymagany.
Wyrażenie	Wyrażenie, za pomocą którego program Microsoft Access ustawia wartość tego elementu. Aby odwoływać się do obiektów w wyrażeniu, należy zawsze stosować pełną składnię. Na przykład, aby zwiększyć o 10 procent wartość formantu "Salary" na formularzu "Employees", należy użyć wyrażenia Forms!Employees!Salary*1.1. Argument ten jest wymagany. Uwaga   Nie należy używać znaku równości (=) przed wyrażeniem w tym argumencie. W takim przypadku program Microsoft Access wylicza wyrażenie, a następnie stosuje wyliczoną wartość jako wyrażenie w argumencie. Może to doprowadzić do nieprzewidzianych skutków, jeśli wyrażenie jest wyrażeniem typu ciąg znaków. Jeśli na przykład użytkownik wpisze jako wartość tego argumentu tekst ="String1", program Microsoft Access najpierw wylicza to wyrażenie jako ciąg znaków "String1". Następnie używa ciągu znaków "String1" jako wyrażenia w tym argumencie i oczekuje znalezienia formantu lub właściwości o nazwie "String1" w formularzu lub raporcie, z którego było wywoływane makro.
Uwaga   Aby utworzyć wyrażenie dla któregoś z powyższych argumentów akcji za pomocą Konstruktora wyrażeń, należy kliknąć przycisk Buduj  [image]  z prawej strony pola Element lub Wyrażenie.

Uwagi

Za pomocą tej akcji można ustawić wartość pola lub formantu w formularzu, w arkuszu danych formularza albo w raporcie. Można też ustawić wartość prawie wszystkich właściwości formantów, formularzy i raportów w dowolnym widoku. Aby dowiedzieć się, czy dana właściwość może być ustawiona za pomocą makra oraz w których widokach może być ustawiona, należy przeczytać temat Pomocy poświęcony danej właściwości.

Można również ustawić wartość pola w tabeli odnośnej formularza, nawet jeśli formularz nie zawiera formantu związanego z polem. Aby ustawić wartość takiego pola, należy użyć składni Forms!nazwa_formularza!nazwa_pola w polu Element. Można też odwoływać się do pola w tabeli odnośnej formularza używając składni Reports!nazwa_raportu!nazwa_pola, ale musi istnieć w raporcie formant związany z tym polem albo odwołanie do tego pola musi się znajdować w formancie obliczeniowym raportu.

Jeśli użytkownik ustawi wartość formantu w formularzu, akcja UstawWartość nie wyzwala reguł poprawności formantu na poziomie formularza, wyzwala natomiast reguły poprawności pola odnośnego na poziomie tabeli, jeśli formant jest formantem związanym. Akcja UstawWartość wyzwala także ponowne wyliczenie, ale nie musi ono odbyć się natychmiast. W celu wyzwolenia natychmiastowego odświeżenia i wymuszenia całkowitego ponownego wyliczenia, należy użyć akcji OdświeżObiekt (RepaintObject). Na wartość ustawioną w formancie za pomocą akcji UstawWartość nie wpływa maska wprowadzania ustawiona we właściwości InputMask (Maska wprowadzania) formantu lub pola odnośnego.

Aby zmienić wartość danego formantu, można użyć akcji UstawWartość w makrze określonym przez właściwość zdarzenia AfterUpdate (Po aktualizacji) formantu. Nie można jednak zrobić tego w makrze określonym przez właściwość zdarzenia formantu BeforeUpdate (Przed aktualizacją) (chociaż można zmieniać inne formanty za pomocą akcji UstawWartość). Można też użyć akcji UstawWartość w makrze określonym we właściwości BeforeUpdate lub AfterUpdate formularza, aby zmienić wartość dowolnego formantu w bieżącym rekordzie.

Uwaga   Nie można za pomocą akcji UstawWartość ustawić wartości następujących formantów:

•	Formantów związanych i formantów obliczeniowych w raportach.

•	Formantów obliczeniowych w formularzach.

Wskazówka   Można użyć akcji UstawWartość, aby ukryć albo pokazać formularz w widoku "Formularz". Należy wprowadzić w polu Element wyrażenie Forms!nazwaformularza.Visible oraz wartości Tak lub Nie w polu Wyrażenie. Ustawienie właściwości Visible (Widoczny) formularza modalnego na wartość "Nie" ukrywa formularz i powoduje, że staje się on niemodalny. Ustawienie tej właściwości na wartość "Tak" odkrywa formularz i czyni go ponownie modalnym.

Zmiana wartości oraz wpisanie nowych danych w formantach przy użyciu akcji UstawWartość w makrze nie wyzwala zdarzeń takich jak: BeforeUpdate, BeforeInsert czy Change, które występują przy zmianie i wprowadzaniu danych w tych formantach w interfejsie użytkownika. Zdarzenia te nie występują również przy ustawianiu wartości formantu za pomocą języka Visual Basic.

Ta akcja jest niedostępna w języku Visual Basic. Należy ustawić wartość bezpośrednio w języku Visual Basic.


UstawOstrzeżenia, akcja (SetWarnings)

Akcja UstawOstrzeżenia służy do włączania lub wyłączania komunikatów systemowych.

Ustawienia

Akcja UstawOstrzeżenia ma następujący argument.

Argument akcji	Opis
Ostrzeżenia włączone	Określa, czy komunikaty systemowe są wyświetlane. Należy kliknąć opcję Tak (aby włączyć komunikaty) lub opcję Nie (aby wyłączyć komunikaty) w polu Ostrzeżenia włączone sekcji Argumenty akcji okna makra. Ustawieniem domyślnym jest Nie.
Uwagi

Można zastosować tę akcję, aby modalne ostrzeżenia i okna komunikatów nie przerywały pracy makra. Komunikaty o błędach będą jednak zawsze wyświetlane. Program Microsoft Access wyświetla również wszystkie okna dialogowe wymagające wprowadzania danych wejściowych, a nie tylko wybrania przycisku (takiego jak OK, Anuluj, Tak lub Nie) – na przykład wszelkie okna dialogowe, w których wpisuje się tekst lub wybiera jedną z wielu możliwych opcji.

Wykonanie tej akcji z argumentem "Ostrzeżenie włączone" ustawionym na wartość "Nie" odnosi taki sam skutek co naciśnięcie klawisza ENTER przy każdym wyświetleniu okna ostrzeżenia lub komunikatu. Na ogół w odpowiedzi na ostrzeżenie lub komunikat wybiera się przycisk OK albo Tak.

Po zakończeniu pracy makra, program Microsoft Access automatycznie włącza z powrotem wyświetlanie komunikatów systemowych.

Akcji tej często używa się razem z akcją Echo, która powoduje ukrycie wyników pracy makra aż do jego zakończenia. Do ukrywania okien ostrzeżeń i komunikatów można również używać akcji UstawOstrzeżenia.

Ostrzeżenie   Chociaż akcja UstawOstrzeżenia upraszcza pracę z makrami, należy zachować ostrożność przy wyłączaniu komunikatów systemowych. W niektórych sytuacjach niewskazane jest kontynuowanie pracy makra po wyświetleniu pewnych komunikatów ostrzegających. Jeśli nie ma się całkowitej pewności co do wyniku wszystkich akcji makra, nie powinno się używać tej akcji.

Aby wykonać akcję UstawOstrzeżenia w języku Visual Basic, należy użyć metody SetWarnings obiektu DoCmd.


PokażWszystkieRekordy, akcja (ShowAllRecords)

Akcja PokażWszystkieRekordy służy do usunięcia wszystkich zastosowanych filtrów z aktywnej tabeli, zestawu wyników kwerendy lub formularza oraz wyświetlenia wszystkich rekordów w tabeli lub zestawie wyników albo wszystkich rekordów w odnośnej tabeli lub kwerendzie formularza.

Ustawienia

Akcja PokażWszystkieRekordy nie ma żadnych argumentów.

Uwagi

Za pomocą tej akcji można spowodować, że wszystkie rekordy tabeli, zestawu wyników kwerendy albo formularza (łącznie ze zmienionymi lub nowymi) są wyświetlane. Akcja ta powoduje ponowienie kwerendy dla rekordów formularza lub podformularza.

Można również za pomocą tej akcji usunąć wszystkie filtry zastosowane za pomocą akcji ZastosujFiltr (ApplyFilter), polecenia Zastosuj filtr/sortowanie w menu Rekordy albo argumentów "Nazwa filtru" lub "Warunek WHERE" akcji OtwórzFormularz (OpenForm).

Działanie tej akcji odnosi ten sam skutek, co kliknięcie polecenia Usuń filtr/sortowanie w menu Rekordy albo kliknięcie przycisku Usuń filtr  [image]  na pasku narzędzi w widoku "Formularz" albo widoku "Arkusz danych".

Aby wykonać akcję PokażWszystkieRekordy w języku Visual Basic, należy użyć metody ShowAllRecords obiektu DoCmd.


ZatrzymajWszystkieMakra, akcja (StopAllMacros)

Akcja ZatrzymajWszystkieMakra służy do zatrzymania wszystkich aktualnie uruchomionych makr.

Ustawienia

Akcja ZatrzymajWszystkieMakra nie ma żadnych argumentów.

Uwagi

Zwykle używa się tej akcji w sytuacji, kiedy wystąpił błąd wymagający zatrzymania wszystkich makr. Można zastosować wyrażenie warunkowe w wierszu akcji makra zawierającego tę akcję. Jeśli wyrażenie przybiera wartość logiczną Prawda (-1), wszystkie makra zostają zatrzymane.

Rozważmy na przykład makro wyświetlające okno komunikatu jako jedną z wielu akcji, obejmujących również uruchamianie innych makr. Jeśli użytkownik kliknie w tym oknie komunikatu przycisk Anuluj, akcja ZatrzymajWszystkieMakra spowoduje zatrzymanie wszystkich aktualnie uruchomionych makr.

Jeśli w makrze wyłączono echo albo wyświetlanie komunikatów systemowych za pomocą akcji Echo lub UstawOstrzeżenia (SetWarnings), akcja ZatrzymajWszystkieMakra automatycznie powoduje ich ponowne włączenie.

Akcja ta nie jest dostępna w języku Visual Basic.


ZatrzymajMakro, akcja (StopMacro)

Akcja ZatrzymajMakro służy do zatrzymania aktualnie działającego makra.

Ustawienia

Akcja ZatrzymajMakro nie ma żadnych argumentów.

Uwagi

Zwykle używa się tej akcji w sytuacji, gdy pewien warunek powoduje konieczność zatrzymania makra. Można zastosować wyrażenie warunkowe w wierszu akcji makra zawierającego tę akcję. Jeśli wyrażenie przybiera wartość logiczną Prawda (-1), makro zostaje zatrzymane.

Weźmy na przykład makro otwierające formularz pokazujący wszystkie zamówienia złożone z datą, którą wpisuje się w niestandardowym oknie dialogowym. Można użyć wyrażenia warunkowego, aby upewnić się, że formant "Data zamówienia" w oknie dialogowym zawiera poprawną datę. Jeśli data nie jest poprawna, akcja OknoKomunikatu (MsgBox) może spowodować wyświetlenie komunikatu o błędzie, a akcja ZatrzymajMakro może zatrzymać makro.

Jeśli w makrze wyłączono echo albo wyświetlanie komunikatów systemowych za pomocą akcji Echo lub UstawOstrzeżenia (SetWarnings), akcja ZatrzymajMakro automatycznie powoduje ich ponowne włączenie.

Akcja ta nie jest dostępna w języku Visual Basic.


UsuńObiekt, akcja (DeleteObject)

Akcji UsuńObiekt można użyć do usunięcia określonego obiektu bazy danych.

Ustawienia

Dla akcji UsuńObiekt używane są następujące argumenty:

Argument akcji	Opis
Typ obiektu	Typ obiektu, który ma być usunięty. Należy kliknąć opcję Tabela, Kwerenda, Formularz, Raport, Makro lub Moduł w polu Typ obiektu sekcji Argumenty akcji okna makra. Aby usunąć obiekt zaznaczony w oknie bazy danych, należy zostawić to pole puste.
Nazwa obiektu	Nazwa obiektu, który ma być usunięty. W polu Nazwa obiektu pokazane są wszystkie obiekty w bazie danych tego samego typu, co typ wybrany za pomocą argumentu Typ obiektu. Jeśli pole Typ obiektu pozostało puste, także to pole powinno pozostać puste.
	Jeśli użytkownik uruchomi makro zawierające akcję UsuńObiekt w bibliotecznej bazie danych, obiekt o tej nazwie będzie szukany najpierw w bibliotecznej bazie danych, a następnie w bieżącej bazie danych.
Ostrzeżenie   Jeśli argumenty "Typ obiektu" i "Nazwa obiektu" pozostawi się puste, po napotkaniu akcji UsuńObiekt obiekt zaznaczony w oknie bazy danych zostanie usunięty bez wyświetlania ostrzeżenia. Aby zaznaczyć obiekt w oknie bazy danych, można użyć akcji WybierzObiekt (SelectObject) z argumentem "W oknie bazy danych" ustawionym na wartość "Tak".

Uwagi

Za pomocą akcji UsuńObiekt można usunąć tymczasowe obiekty utworzone w trakcie działania makra. Na przykład za pomocą akcji OtwórzKwerendę (OpenQuery) można uruchomić kwerendę tworzącą tabelę, która tworzy tymczasową tabelę. Po skorzystaniu z tymczasowej tabeli, można ją usunąć, za pomocą akcji UsuńObiekt.

Działanie tej akcji powoduje taki sam skutek, jak wybranie obiektu w oknie bazy danych, a następnie przyciśnięcie klawisza DEL lub kliknięcie polecenia Usuń z menu Edycja.

Aby wykonać akcję UsuńObiekt w języku Visual Basic, można użyć metody DeleteObject obiektu DoCmd.


WyprowadźDo, akcja (OutputTo)

Akcja WyprowadźDo służy do wyprowadzania danych z określonego obiektu bazy danych programu Microsoft Access (arkusza danych, formularza, raportu lub modułu) do pliku programu Microsoft Excel 97 (*.xls), pliku tekstowego MS-DOS (*.txt), lub pliku tekstowego RTF (*.rtf). Można również wyprowadzić dane do pliku w formacie HTML (*.html), w formacie Microsoft Internet Information Server (*.htx, *.idc) lub w formacie Microsoft ActiveX Server (*.asp). Pliki w formacie Microsoft Internet Information Server mogą być również używane w programie Microsoft Personal Web Server.

Ustawienia

Dla akcji WyprowadźDo używane są następujące argumenty:

Argument akcji	Opis
Typ obiektu	Typ obiektu zawierającego dane do wyprowadzenia. Należy kliknąć opcję Tabela (arkusz danych tabeli), Kwerenda (arkusz danych kwerendy), Formularz (formularz albo arkusz danych formularza), Raport lub Moduł w polu Typ obiektu sekcji Argumenty akcji okna makra. Nie można wyprowadzić makra. Chcąc wyprowadzić aktywny obiekt, należy za pomocą tego argumentu wybrać jego typ, ale pole Nazwa obiektu pozostawić puste. Tabela jest ustawieniem domyślnym. Argument ten jest wymagany.
Nazwa obiektu	Nazwa obiektu zawierającego dane do wyprowadzenia. W polu Nazwa obiektu pokazane są wszystkie obiekty w bazie danych tego samego typu, co typ wybrany za pomocą argumentu "Typ obiektu".
	Jeśli użytkownik uruchomi makro zawierające akcję WyprowadźDo w bibliotecznej bazie danych, obiekt o tej nazwie jest szukany najpierw w bibliotecznej bazie danych, a następnie w bieżącej bazie danych.
Format docelowy	Format, w jakim mają być wyprowadzone dane. W polu Format docelowy można kliknąć następujące opcje: HTML (*.html), Strony serwera Active (*.asp), Microsoft Excel (*.xls), Microsoft IIS (*.htx, *.idc), Tekst MS-DOS (*.txt) lub Tekst formatowany (*.rtf). Moduły można wyprowadzać tylko w formacie pliku tekstowego MS-DOS. Formaty Microsoft Internet Information Server (IIS) i Microsoft ActiveX Server (*.asp) są dostępne tylko dla tabel, kwerend i formularzy. Jeśli to pole pozostanie puste, program Microsoft Access monituje o format docelowy.
Plik docelowy	Plik, do którego mają być wyprowadzone dane, łącznie z pełną nazwą ścieżki. Można używać standardowych rozszerzeń nazw plików (.asp, .htm lub .html, .htx, .xls, .txt lub .rtf) dla formatu wybranego za pomocą argumentu "Format docelowy", ale nie jest to konieczne. Jeśli dane są wyprowadzane do plików Microsoft Internet Information Server lub Microsoft ActiveX Server, program Microsoft Access zawsze tworzy pliki ze standardowymi rozszerzeniami .htx i .idc lub .asp. Jeśli pole "Plik docelowy" pozostanie puste, program Microsoft Access monituje o nazwę pliku docelowego.
Autostart	Określa, czy odpowiednia aplikacja ma zostać uruchomiona bezpośrednio po wykonaniu akcji WyprowadźDo z otwartym plikiem, określonym za pomocą argumentu "Plik docelowy". Jeśli zostanie wybrana wartość Tak, zostanie uruchomiona jedna z następujących aplikacji z otwartym plikiem wyjściowym wyprowadzonym z obiektu programu Microsoft Access: Microsoft Excel (dla plików .xls), Microsoft Windows Notepad (dla plików .txt) lub Microsoft Word (dla plików .rtf). Dla plików .html uruchamiana jest domyślna przeglądarka Internetu (taka jak Microsoft Internet Explorer). Ten argument jest ignorowany dla plików Microsoft Internet Information Server i Microsoft ActiveX Server. Jeśli zostanie wybrana wartość Nie, aplikacja nie będzie uruchomiona. Nie jest ustawieniem domyślnym.
Plik szablonu	Ścieżka i nazwa pliku, który ma być użyty jako szablon dla pliku .html, .htx lub .asp. Plik szablonu jest plikiem zawierającym znaczniki HTML.
Uwagi

Dane z programu Microsoft Access są wyprowadzane w wybranym formacie i mogą być od razu czytane przez każdą aplikację używającą tego samego formatu. Na przykład, można wyprowadzić sformatowany raport z programu Microsoft Access do dokumentu w formacie tekstowym RTF, a następnie otworzyć ten dokument w programie Microsoft Word.

Jeśli obiekt bazy danych jest wyprowadzany w formacie HTML, program Microsoft Access tworzy plik w formacie HTML zawierający dane z tego obiektu. Można użyć argumentu "Plik szablonu", aby określić plik, który ma być użyty jako szablon dla pliku .html.

Jeśli obiekt jest wyprowadzany w formacie Microsoft Internet Information Server, program Microsoft Access tworzy dwa pliki:

•	Plik .idc zawierający informacje dotyczące tego, jak połączyć się ze źródłem danych ODBC i instrukcję SQL wykonywaną dla tego źródła. W tym przypadku wyprowadzany obiekt programu Microsoft Access zawiera dane zdefiniowane przez instrukcję SQL i bieżącą bazę danych programu Microsoft Access w źródle danych ODBC.

•	Plik .htx określający, jak mają być formatowane dane zwracane przez instrukcję SQL określoną w pliku .idc jako dokument HTML. Można użyć argumentu "Plik szablonu", aby określić plik .html, który ma być używany jako szablon dla pliku .htx.

Program Microsoft Internet Information Server używa plików .htx i .idc do utworzenia pliku .html z danymi w wyprowadzanym obiekcie programu Microsoft Access.

Jeśli obiekt bazy danych jest wyprowadzany w formacie Microsoft ActiveX Server, program Microsoft Access tworzy plik w formacie .asp zawierający informacje dotyczące tego, jak formatować dane obiektu i jak uzyskać do nich dostęp. Program Microsoft ActiveX Server używa pliku .asp do utworzenia pliku .html z danymi w wyprowadzanym obiekcie programu Microsoft Access. Można użyć argumentu "Plik szablonu", aby określić plik .html, który ma być używany jako szablon dla pliku .asp.

Przy wyprowadzaniu obiektu bazy danych za pomocą akcji WyprowadźDo w dowolnym formacie z wyjątkiem Microsoft ActiveX Server obowiązują następujące zasady (niektóre z tych zasad odnoszą się również do formatu Microsoft ActiveX Server):

•	Można wyprowadzać dane z arkuszy danych, tabel, kwerend oraz formularzy. W pliku docelowym wszystkie pola w arkuszu danych wyglądają tak, jak wyglądały w programie Microsoft Access, z wyjątkiem pól zawierających obiekty OLE. Kolumny dla tych pól znajdują się w pliku docelowym, ale są one puste.

•	Dla formantu związanego z polem “Tak/Nie" (przycisk przełącznika, przycisk opcji albo pole wyboru) w pliku docelowym znajduje się wartość -1 (Tak) albo 0 (Nie).

•	Dla pola tekstowego związanego z polem typu Hiperłącze w pliku docelowym wyświetlane jest hiperłącze dla wszystkich formatów wyjściowych z wyjątkiem tekstu MS-DOS (w tym przypadku  hiperłącze jest wyświetlane jako zwykły tekst).

•	Jeśli wyprowadzane są dane z formularza w widoku "Formularz", plik docelowy zawsze zawiera widok "Arkusz danych" formularza.

•	Jeśli wyprowadzane są dane z raportu, jedynymi formantami, które znajdą się w pliku wyjściowym są pola tekstowe (dla plików wyjściowych .xls) albo pola tekstowe i etykiety (dla plików wyjściowych .rtf, .txt i .html). Wszystkie pozostałe formanty są ignorowane. Nie są dołączane również informacje o nagłówku i stopce. Jedynym wyjątkiem jest wyprowadzanie danych z raportu do pliku programu Microsoft Excel; wtedy pola tekstowe w stopce grupy zawierające wyrażenie wykorzystujące funkcję Sum są dołączane do pliku wyjściowego. Żadne inne formanty z nagłówka ani stopki (ani żadne inne funkcje agregujące poza funkcją Sum) nie są włączane do pliku wyjściowego.

•	Podraporty są dołączane do pliku wyjściowego (dla wszystkich formatów pliku wyprowadzanego), a podformularze nie są dołączane.

•	Jeśli wyprowadzany jest arkusz danych lub formularz w formacie HTML, tworzony jest jeden plik .html. Jeśli wyprowadzany jest raport w formacie HTML, jeden plik .html tworzony jest dla każdej strony raportu.

Więcej informacji na temat zasad i ograniczeń obowiązujących przy wyprowadzaniu danych do plików .html można znaleźć w tematach Eksportowanie arkusza danych w statycznym formacie HTML i Eksportowanie raportu w statycznym formacie HTML.

Więcej informacji na temat zasad i ograniczeń obowiązujących przy wyprowadzaniu danych do plików Microsoft Internet Information Server można znaleźć w tematach Eksportowanie arkusza danych w dynamicznym formacie HTML i Eksportowanie formularza w dynamicznym formacie HTML.

Więcej informacji na temat zasad i ograniczeń obowiązujących przy wyprowadzaniu danych do plików Microsoft ActiveX Server można znaleźć w tematach Eksportowanie arkusza danych w dynamicznym formacie HTML, Eksportowanie formularza w dynamicznym formacie HTML i Dostępne i niedostępne formanty formularza w dynamicznym formacie ASP.

Wskazówka   Jeśli wyprowadzane są dane z raportu do pliku, a kolumny i wiersze w wyprowadzanym pliku nie są rozmieszczone tak jak w raporcie, mogą być pomocne następujące wskazówki:

•	Można wskazać polecenie Rozmiar w menu Format, a następnie kliknąć polecenie Dopasuj, aby zmienić rozmiary formantów.

•	Należy unikać nakładania się formantów oraz umieszczania formantów zbyt blisko siebie.

•	Można wskazać polecenie Wyrównaj w menu Format, a następnie kliknąć odpowiednie polecenie, aby wyrównać formanty w raporcie. Formanty które nie są wyrównane w tym samym wierszu mogą być umieszczone w innych wierszach tworząc dodatkowe odstępy.

Działanie akcji WyprowadźDo jest podobne do kliknięcia polecenia Zapisz jako/Eksportuj z menu Plik, wybrania opcji Do zewnętrznego pliku lub bazy danych i zaznaczenia pola wyboru Zapisz sformatowany w pojawiającym się oknie dialogowym. Argumenty akcji odpowiadają ustawieniom w oknach dialogowych Zapisz jako/Eksportuj. Polecenie Zapisz jako/Eksportuj odnosi się jednak tylko do obiektu wybranego w oknie bazy danych. Przy użyciu akcji WyprowadźDo można określić, jaki obiekt ma być wyprowadzony.

Uwaga   Korzystając z polecenia Zapisz jako/Eksportuj można wyprowadzić zaznaczone dane. Nie można jednak tego wykonać  za pomocą akcji WyprowadźDo.

Można również wskazać polecenie Łącza Office z menu Narzędzia, a następnie kliknąć podpolecenie Analizuj za pomocą MS Excel albo Opublikuj za pomocą MS Word, aby wyprowadzić obiekt z bazy danych i od razu otworzyć wyprowadzany plik w programie Microsoft Excel albo Microsoft Word. Można również kliknąć polecenie Zapisz jako HTML z menu Plik. Uruchamia ono Kreatora publikacji w sieci WWW, którego można użyć do wyprowadzenia obiektu bazy danych do pliku .html, plików .htx/.idc lub pliku .asp.

Aby wykonać akcję WyprowadźDo w języku Visual Basic, należy użyć metody OutputTo obiektu DoCmd.


WyślijObiekt, akcja (SendObject)

Akcja WyślijObiekt służy do dołączania określonego arkusza danych, formularza, raportu lub modułu programu Microsoft Access do wiadomości poczty elektronicznej, gdzie może być oglądany i przesyłany dalej. Można dołączać obiekty w formacie programu Microsoft Excel 97 (*.xls), pliku tekstowego MS-DOS (*.txt), pliku tekstowego RTF (*.rtf) lub pliku w formacie HTML (*.html) do wiadomości dla programów Microsoft Exchange, Microsoft Mail, Microsoft Windows for Workgroups lub innych aplikacji poczty elektronicznej stosujących interfejs standardu Microsoft Mail Applications Programming Interface (MAPI).

Jeśli zainstalowana jest aplikacja poczty elektronicznej wykorzystująca protokół VIM (Vendor Independent Mail) i została zainstalowana oraz skonfigurowana biblioteka dołączana dynamicznie (Mapivim.dll) konwertująca komunikaty poczty w standardzie MAPI na format protokołu VIM, to można wysyłać obiekty programu Microsoft Access do aplikacji poczty wykorzystującej protokół VIM.

Ustawienia

Dla akcji WyślijObiekt używane są następujące argumenty.

Argument akcji	Opis
Typ obiektu	Typ obiektu, który ma być dołączony do wiadomości poczty elektronicznej. Należy kliknąć opcję Tabela (arkusz danych tabeli), Kwerenda (arkusz danych kwerendy), Formularz (formularz albo arkusz danych formularza), Raport lub Moduł w polu Typ obiektu sekcji Argumenty akcji okna makra. Nie można wysłać makra. Chcąc dołączyć aktywny obiekt, należy za pomocą tego argumentu wybrać jego typ, ale pole Nazwa obiektu pozostawić puste.
Nazwa obiektu	Nazwa obiektu, który ma być dołączony do wiadomości poczty elektronicznej. W polu Nazwa obiektu pokazane są wszystkie obiekty w bazie danych tego samego typu, co typ wybrany za pomocą argumentu "Typ obiektu". Jeśli zarówno pole "Typ obiektu", jak i "Nazwa obiektu" pozostaną puste, do aplikacji poczty elektronicznej wysłana zostaje wiadomość bez żadnego obiektu bazy danych.
	Jeśli użytkownik uruchomi makro zawierające akcję WyślijObiekt w bibliotecznej bazie danych, obiekt o tej nazwie jest szukany najpierw w bibliotecznej bazie danych, a następnie w bieżącej bazie danych.
Format docelowy	Format, w jakim ma być zapisany dołączany obiekt. W polu Format docelowy można kliknąć następujące opcje: HTML (*.html), Microsoft Excel (*.xls), Tekst MS-DOS (*.txt) lub Tekst formatowany (*.rtf). Moduły mogą być wysyłane tylko w formacie pliku tekstowego MS-DOS. Jeśli to pole pozostanie puste, program Microsoft Access monituje o format docelowy.
	Uwaga   Nie można dołączać obiektów w formacie Strony serwera Active (*.asp) i Microsoft IIS (*.htx, *.idc), chociaż takie formaty są wyświetlane na liście.
Do	Adresaci wiadomości, których nazwy mają się znaleźć w wierszu "Do" wiadomości poczty elektronicznej. Jeśli ten argument pozostanie pusty, program Microsoft Access monituje o nazwiska adresatów.
	Nazwy adresatów wymienione w tym argumencie oraz w argumentach DW i UDW powinny być rozdzielone średnikiem (;) albo separatorem listy ustawionym na karcie Liczba okna Właściwości: Ustawienia regionalne Panelu sterowania Windows. Jeśli aplikacja poczty nie może zidentyfikować nazw adresatów, wiadomość nie zostanie wysłana.
DW	Adresaci wiadomości, których nazwy mają być umieszczone w wierszu DW (Do wiadomości) wiadomości poczty elektronicznej. Jeśli to pole pozostanie puste, wiersz DW w wiadomości będzie pusty.
UDW	Adresaci wiadomości, których nazwiska mają być umieszczone w wierszu UDW (Ukryte do wiadomości) wiadomości poczty elektronicznej. Jeśli to pole pozostanie puste, wiersz UDW w wiadomości będzie pusty.
Temat	Temat wiadomości. Tekst wpisany tutaj pojawia się w wierszu "Temat" wiadomości poczty elektronicznej. Jeśli to pole pozostanie puste, wiersz "Temat" w wiadomości będzie pusty.
Tekst wiadomości	Tekst, który ma być dołączony do wiadomości poczty elektronicznej obok obiektu bazy danych. Tekst ten pojawi się w głównej części wiadomości, po obiekcie. Jeśli to pole pozostanie puste, nie będzie dołączony żaden dodatkowy tekst. Jeśli pola "Typ obiektu" i "Nazwa obiektu" pozostaną puste, za pomocą tego argumentu można wysłać wiadomość poczty elektronicznej bez obiektu bazy danych.
Edytuj wiadomość	Określa, czy komunikat może być edytowany przed wysłaniem. Jeśli zostanie wybrana wartość Tak, aplikacja poczty elektronicznej zostaje automatycznie uruchomiona i będzie można edytować wiadomość. Jeśli zostanie wybrana wartość Nie, wiadomość jest wysyłana bez możliwości dokonywania zmian w tekście. Nie jest ustawieniem domyślnym.
Plik szablonu	Ścieżka i nazwa pliku, który ma być użyty jako szablon dla pliku .html. Plik szablonu jest plikiem zawierającym znaczniki HTML.
Uwagi

Akcja WyślijObiekt jest dostępna tylko wtedy, gdy w komputerze jest zainstalowana aplikacja poczty elektronicznej zgodna z interfejsem MAPI albo jest zainstalowana aplikacja poczty elektronicznej zgodna z interfejsem VIM i została zainstalowana oraz skonfigurowana biblioteka Mapivim.dll. Informacje dotyczące instalowania i konfigurowania obsługi aplikacji standardu VIM przez program Microsoft Access można znaleźć w Microsoft Office 97 Resource Kit.

Obiekt wysyłany pocztą elektroniczną jest zapisywany w wybranym formacie docelowym. Po dwukrotnym kliknięciu obiektu zostaje uruchomiona odpowiednia aplikacja z otwartym obiektem. Odpowiednie aplikacje dla poszczególnych typów formatu to: Microsoft Excel (dla plików .xls), Microsoft Windows Notepad (dla plików .txt) lub Microsoft Word (dla plików .rtf). Dla plików .html uruchamiana jest domyślna przeglądarka Internetu (taka jak Microsoft Internet Explorer).

Przy dołączaniu do wiadomości poczty elektronicznej obiektu bazy danych za pomocą akcji WyślijObiekt obowiązują następujące zasady:

•	Można wysyłać dane arkuszy danych, tabel, kwerend oraz formularzy. W dołączanym obiekcie wszystkie pola w arkuszu danych wyglądają tak, jak wyglądały w programie Microsoft Access, z wyjątkiem pól zawierających obiekty OLE. Kolumny dla tych pól znajdują się w dołączanym obiekcie, ale są one puste.

•	Dla formantu związanego z polem “Tak/Nie" (przycisk przełącznika, przycisk opcji albo pole wyboru) w pliku docelowym znajduje się wartość -1 (Tak) albo 0 (Nie).

•	Dla pola tekstowego związanego z polem typu Hiperłącze w pliku docelowym wyświetlane jest hiperłącze dla wszystkich formatów wyjściowych z wyjątkiem tekstu MS-DOS (w tym przypadku  hiperłącze jest wyświetlane jako zwykły tekst).

•	Jeśli wysyłany jest formularz w widoku "Formularz", dołączany obiekt zawsze zawiera widok "Arkusz danych" formularza.

•	Jeśli wysyłany jest raport, jedynymi formantami, które znajdą się w pliku wyjściowym są pola tekstowe (dla plików wyjściowych .xls) albo pola tekstowe i etykiety (dla plików wyjściowych .rtf, .txt i .html). Wszystkie pozostałe formanty są ignorowane. Nie są dołączane również informacje o nagłówku i stopce. Jedynym wyjątkiem jest wyprowadzanie danych z raportu do pliku programu Microsoft Excel; wtedy pola tekstowe w stopce grupy zawierające wyrażenie wykorzystujące funkcję Sum są dołączane do obiektu. Żadne inne formanty z nagłówka ani stopki (ani żadne inne funkcje agregujące poza funkcją Sum) nie są dołączane do obiektu.

•	Podraporty są dołączane do obiektu (dla wszystkich formatów pliku wyprowadzanego), a podformularze nie są dołączane.

•	Jeśli wysyłany jest arkusz danych lub formularz w formacie HTML, tworzony jest jeden plik .html. Jeśli wysyłany jest raport w formacie HTML, jeden plik .html tworzony jest dla każdej strony raportu.

Więcej informacji na temat zasad i ograniczeń obowiązujących przy dołączaniu obiektów w formacie HTML można znaleźć w tematach Eksportowanie arkusza danych w statycznym formacie HTML i Eksportowanie raportu w statycznym formacie HTML.

Wskazówka   Jeśli wysyłane są dane z raportu, a kolumny i wiersze w wyprowadzanym pliku nie są rozmieszczone tak jak w raporcie, mogą być pomocne następujące wskazówki:

•	Można wskazać polecenie Rozmiar w menu Format, a następnie kliknąć polecenie Dopasuj, aby zmienić rozmiary formantów.

•	Należy unikać nakładania się formantów oraz umieszczania formantów zbyt blisko siebie.

•	Można wskazać polecenie Wyrównaj w menu Format, a następnie kliknąć odpowiednie polecenie, aby wyrównać formanty w raporcie. Formanty które nie są wyrównane w tym samym wierszu mogą być umieszczone w innych wierszach powodując powstanie dodatkowych odstępów.

Działanie akcji WyślijObiekt ma ten sam skutek, co kliknięcie polecenia Wyślij z menu Plik, a argumenty akcji odpowiadają ustawieniom w oknach dialogowych Wyślij. Jednak polecenie Wyślij dotyczy jedynie aktywnego obiektu. Przy użyciu akcji WyślijObiekt można określić obiekt, który ma być wysłany.

Uwaga   Można wysłać zaznaczone dane za pomocą polecenia Wyślij, ale nie można tego zrobić za pomocą akcji WyślijObiekt.

Aby wykonać akcję WyślijObiekt w języku Visual Basic, należy użyć metody SendObject obiektu DoCmd.


PokażPasekNarzędzi, akcja (ShowToolbar)

Akcji PokażPasekNarzędzi można użyć do wyświetlenia lub ukrycia wbudowanego lub niestandardowego paska narzędzi. Niestandardowy pasek narzędzi można wyświetlić we wszystkich oknach programu Microsoft Access albo tylko w widoku, w którym dany pasek jest zwykle wyświetlany (na przykład pasek narzędzi widoku "Formularz").

Uwaga   Akcja PokażPasekNarzędzi odnosi się tylko do pasków narzędzi, a nie do pasków menu ani menu podręcznych.

Ustawienia

Dla akcji PokażPasekNarzędzi używane są następujące argumenty.

Argument akcji	Opis
Nazwa paska narzędzi	Nazwa paska narzędzi, który ma być wyświetlony lub ukryty. W polu Nazwa paska narzędzi sekcji Argumenty akcji okna makra pokazane są wszystkie wbudowane paski narzędzi programu Microsoft Access, a po nich wszystkie niestandardowe paski narzędzi zdefiniowane w bieżącej bazie danych. Argument ten jest wymagany.
	Jeśli pole wyboru Używaj wbudowanego paska narzędzi w oknie dialogowym Autostart (wyświetlanym po kliknięciu polecenia Autostart w menu Narzędzia) jest wyczyszczone, akcja ta może służyć do wyświetlania i ukrywania tylko niestandardowych pasków narzędzi.
	Jeśli użytkownik uruchomi makro zawierające akcję PokażPasekNarzędzi w bibliotecznej bazie danych, pasek narzędzi o tej nazwie jest szukany najpierw w bibliotecznej bazie danych, a następnie w bieżącej bazie danych.
Pokaż	Określa, czy wyświetlić czy ukryć pasek narzędzi oraz w jakich widokach ma on być ukryty lub wyświetlony. "Nie" (ukryty pasek narzędzi) jest ustawieniem domyślnym.
	Dla wbudowanych pasków narzędzi można wybrać wartość Tak, aby wyświetlać pasek narzędzi we wszystkich aktywnych oknach programu Microsoft Access, wartość Kiedy trzeba, aby wyświetlać pasek narzędzi tylko w tym widoku, w którym jest zwykle wyświetlany (tak robi domyślnie program Microsoft Access) lub wartość Nie, aby ukryć pasek narzędzi we wszystkich oknach.
	Dla niestandardowych pasków narzędzi można wybrać wartość Tak albo Kiedy trzeba, aby wyświetlać pasek narzędzi we wszystkich aktywnych oknach programu Microsoft Access albo wartość Nie, aby ukryć pasek narzędzi we wszystkich oknach.
Uwagi

Można użyć tej akcji w makrze z wyrażeniami warunkowymi, aby wyświetlić lub ukryć jeden lub kilka pasków narzędzi w zależności od pewnych warunków.

Aby wyświetlić konkretny pasek narzędzi tylko w jednym formularzu lub raporcie, można ustawić właściwość OnActivate (PrzyAktywowaniu) tego formularza na nazwę makra zawierającego akcję PokażPasekNarzędzi, aby wyświetlić pasek narzędzi. Następnie należy ustawić właściwość On deactivate (PrzyDezaktywowaniu) formularza lub raportu na nazwę makra zawierającego akcję PokażPasekNarzędzi, aby ukryć pasek narzędzi.

Działanie akcji PokażPasekNarzędzi powoduje ten sam skutek, co wskazanie polecenia Paski narzędzi z menu Widok i kliknięcie polecenia Dostosuj, a następnie zaznaczenie lub wyczyszczenie określonego paska narzędzi na karcie Paski narzędzi okna dialogowego Dostosuj. Akcja PokażPasekNarzędzi pozwala na określenie, czy wbudowany pasek narzędzi będzie wyświetlany we wszystkich oknach programu Microsoft Access, czy tylko w tym widoku, w którym jest zwykle wyświetlany.

Wyświetlanie i ukrywanie wbudowanych pasków narzędzi za pomocą tej akcji nie jest również możliwe, jeśli w języku Visual Basic właściwość AllowBuiltInToolbars zostanie ustawiona na wartość False (0) albo jeśli w języku Visual Basic opcja Allow Built-in Toolbars zostanie ustawiona na wartość False przy użyciu metody SetOption.

Aby uruchomić akcję PokażPasekNarzędzi w języku Visual Basic, należy użyć metody ShowToolbar obiektu DoCmd.


OtwórzModuł, akcja (OpenModule)

Akcja OtwórzModuł służy do otwarcia określonego modułu programu Visual Basic na określonej procedurze. Może to być procedura Sub, procedura Function albo procedura zdarzenia.

Ustawienia

Dla akcji OtwórzModuł używane są następujące argumenty:

Argument akcji	Opis
Nazwa modułu	Nazwa modułu, który ma być otwarty. Pole to należy pozostawić puste, chcąc szukać procedury we wszystkich modułach standardowych bazy danych i otworzyć odpowiedni moduł na tej procedurze.
	Jeśli użytkownik uruchamia makro zawierające akcję OtwórzModuł w bibliotecznej bazie danych, moduł o tej nazwie jest szukany najpierw w bibliotecznej bazie danych, a następnie w bieżącej bazie danych.
Nazwa procedury	Nazwa procedury, na której ma być otwarty moduł. Jeśli to pole pozostanie puste, moduł zostaje otwarty na sekcji deklaracji.
Uwaga   Należy wprowadzić poprawną nazwę jednego z powyższych dwóch argumentów.

Uwagi

Można użyć tej akcji do otwarcia procedury zdarzenia, określając argumenty “Nazwa modułu" i "Nazwa procedury". Na przykład, aby otworzyć procedurę zdarzenia Click przycisku "PrintInvoice" w formularzu "Orders", należy ustawić argument "Nazwa modułu" na wartość Form.Orders, a argument "Nazwa procedury" na wartość PrintInvoice_Click. Procedurę zdarzenia formularza lub raportu można oglądać tylko wtedy, kiedy formularz lub raport jest otwarty.

Podobnie, aby otworzyć procedurę w module klasy, trzeba określić nazwę modułu, ale nie trzeba otwierać modułu klasy.

Aby otworzyć procedurę prywatną, moduł zawierający ją musi być otwarty.

Działanie tej akcji powoduje taki sam skutek, co wybranie modułu w oknie bazy danych, a następnie kliknięcie przycisku Projektuj. Akcja ta pozwala też na określenie nazwy procedury oraz szukanie procedur w modułach standardowych w bazie danych.

Wskazówka   Można wybrać moduł w oknie bazy danych i przeciągnąć go do wiersza akcji makra. Spowoduje to automatyczne utworzenie akcji OtwórzModuł otwierającej ten moduł w sekcji deklaracji.

Aby wykonać akcję OtwórzModuł w języku Visual Basic, należy użyć metody OpenModule obiektu DoCmd.


Zapisz, akcja (Save)

Akcji Zapisz można użyć do zapisania określonego obiektu programu Microsoft Access lub obiektu aktywnego, jeśli żaden obiekt nie jest określony. Można w niektórych ptzypadkach także zapisać obiekt aktywny pod nową nazwą (działa to tak samo jak polecenie Zapisz jako z menu Plik).

Ustawienia

Akcja Zapisz ma następujące argumenty.

Argument akcji	Opis
Typ obiektu	Typ obiektu, który ma być zapisany. Należy kliknąć opcję Tabela, Kwerenda, Formularz, Raport, Makro albo Moduł w polu Typ obiektu sekcji Argumenty akcji okna makra. Aby wybrać aktywny obiekt, należy ten argument pozostawić pusty. Wybierając typ obiektu w tym argumencie należy podać nazwę istniejącego obiektu w argumencie "Nazwa obiektu".
Nazwa obiektu	Nazwa obiektu, który ma być zapisany. W polu Nazwa obiektu wyświetlane są wszystkie obiekty bazy danych typu określonego przez argument "Typ obiektu". Jeśli argument "Typ obiektu" pozostał pusty, ten argument również można pozostawić pusty, aby zapisać obiekt aktywny, lub, w pewnych przypadkach należy w tym argumencie wprowadzić nową nazwę, aby zapisać obiekt aktywny pod tą nazwą. Jeśli zostanie wprowadzona nowa nazwa, musi ona być zgodna ze standardowymi regułami nazywania obiektów obiektom programu Microsoft Access.
Uwagi

Akcja Zapisz działa dla wszystkich obiektów bazy danych, które użytkownik może jawnie otworzyć i zapisać. Aby akcja Zapisz wywołała jakikolwiek efekt, określony obiekt musi być otwarty. Akcja ta działa tak samo, jak zaznaczenie obiektu i zapisanie go przez kliknięcie polecenia Zapisz w menu Plik albo kliknięcie przycisku Zapisz  [image]  na pasku narzędzi. Pozostawienie pustego argumentu "Typ obiektu" i wprowadzenie nowej nazwy w argumencie "Nazwa obiektu" wywołuje taki sam efekt, jak kliknięcie polecenia Zapisz jako/Eksportuj w menu Plik i wprowadzenie nowej nazwy aktywnego obiektu. Użycie akcji Zapisz pozwala określić obiekt, który ma być zapisany i wykonać polecenie Zapisz jako z makra.

Uwaga   Nie można użyć akcji Zapisz do zapisania pod nową nazwą następujących obiektów:

•	Formularza w widoku "Formularz" lub widoku "Arkusz danych".

•	Raportu w widoku "Podgląd wydruku".

•	Modułu.

Akcja Zapisz, bez względu na to, czy jest wykonywana z makra uruchamianego w bieżącej bazie danych czy z bibliotecznej bazy danych, zawsze zapisuje określony obiekt lub aktywny obiekt w bazie danych, w której obiekt został utworzony.

Jeśli aktywny obiekt zapisywany jest pod nową nazwą, lecz nazwa jest taka sama, jak nazwa istniejącego obiektu tego typu, zostanie wyświetlone okno dialogowe z pytaniem, czy użytkownik chce zastąpić istniejący obiekt nowym. Jeśli argument "Ostrzeżenia włączone" akcji UstawOstrzeżenia (SetWarnings) został ustawiony na wartość Nie, okno dialogowe nie zostanie wyświetlone, a stary obiekt zostanie automatycznie zastąpiony.

Aby uruchomić akcję Zapisz w języku Visual Basic, należy zastosować metodę Save obiektu DoCmd.


UstawElementMenu, akcja (SetMenuItem)

Akcji UstawElementMenu można użyć do ustawienia stanu elementów menu (włączone lub wyłączone, zaznaczone lub nie zaznaczone) na niestandardowym pasku menu lub globalnym pasku menu aktywnego okna.

Uwaga   Akcja UstawElementMenu działa tylko z niestandardowymi paskami menu i globalnymi paskami menu utworzonymi za pomocą makr paska menu. Akcja UstawElementMenu została włączona do tej wersji programu Microsoft Access tylko dla zachowania zgodności z poprzednimi wersjami. Nie działa ona z nowymi funkcjami pasków poleceń. Można jednak użyć właściwości Enabled i State języka Visual Basic, aby wyłączyć lub włączyć albo zaznaczyć lub usunąć zaznaczenie elementów na nowych paskach menu, paskach narzędzi i menu podręcznych.

Ustawienia

Akcja UstawElementMenu ma następujące argumenty.

Argument akcji	Opis
Indeks menu	Indeks menu zawierającego polecenie, którego stan ma być ustawiony. Jako indeks żądanego menu na niestandardowym pasku menu lub na globalnym pasku menu aktywnego okna należy wprowadzić wartość typu Liczba całkowita, poczynając od 0. Wartość indeksu należy wprowadzić w polu Indeks menu sekcji Argumenty akcji okna makra. Indeks jest podawany względem położenia menu w makrze paska menu dla niestandardowego paska menu lub globalnego paska menu (położenie akcji DodajMenu (AddMenu) tego menu w makrze paska menu, licząc od 0). Sposób wyświetlania paska menu może być nieco inny, ponieważ w makrze paska menu można użyć wyrażeń warunkowych w celu ukrycia lub wyświetlenia niestandardowych elementów menu. Jest to argument wymagany. Jeśli menu zostanie wybrane za pomocą tego argumentu, a argumenty "Indeks polecenia" i "Indeks podpolecenia" pozostaną puste, użytkownik może samodzielnie włączyć lub wyłączyć nazwę menu. Nie można jednak zaznaczać ani usuwać zaznaczenia nazwy menu (program Microsoft Access ignoruje ustawienia "Zaznacz" i "Usuń zaznaczenie" argumentu Flaga dla nazw menu).
Indeks polecenia	Indeks polecenia, którego stan ma być ustawiony. Jako indeks żądanego polecenia w menu wybranym za pomocą argumentu "Indeks menu" należy wprowadzić wartość typu Liczba całkowita, poczynając od 0. Indeks jest podawany względem położenia polecenia w grupie makr definiujących wybrane menu niestandardowego paska menu lub globalnego paska menu (położenie makra polecenia w grupie makr, licząc od 0). Sposób wyświetlania menu może być nieco inny, ponieważ w grupie makr menu można użyć wyrażeń warunkowych w celu ukrycia lub wyświetlenia niestandardowych poleceń menu.
Indeks podpolecenia	Indeks podpolecenia, którego stan ma być ustawiony. Dotyczy to tylko przypadków, w których żądane polecenie ma podmenu. Jako indeks żądanego podpolecenia w podmenu wybranym za pomocą argumentu "Indeks polecenia" należy wprowadzić wartość Liczba całkowita, poczynając od 0. Indeks jest podawany względem położenia podpolecenia w grupie makr definiujących wybrane podmenu niestandardowego paska menu lub globalnego paska menu (położenie makra podpolecenia w grupie makr, licząc od 0).
Flaga	Stan, jaki ma być ustawiony dla polecenia lub podpolecenia. Można kliknąć opcję Przyciemnij, aby wyłączyć polecenie (które będzie wyświetlane jako przyciemnione), opcję Rozjaśnij, aby je włączyć, opcję Zaznacz, aby obok polecenia umieścić znak zaznaczenia (wskazujący zwykle, że polecenie zostało zaznaczone lub włączone) albo Usuń zaznaczenie w celu usunięcia zaznaczenia. Wartością domyślną jest Rozjaśnij.
Uwagi

Akcja UstawElementMenu działa tylko dla niestandardowego pasku menu lub globalnego pasku menu aktywnego okna. Akcja nie działa dla wbudowanych pasków menu programu Microsoft Access. Jeśli aktywne okno nie ma niestandardowego paska menu ani globalnego paska menu, uruchomienie makra zawierającego akcję UstawElementMenu powoduje wystąpienie błędu wykonania. Należy zauważyć, że jeśli jest zdefiniowany globalny pasek menu, zastępuje on wbudowany pasek menu we wszystkich oknach programu Microsoft Access z wyjątkiem okien formularzy lub raportów, w których został dodany niestandardowy pasek menu.

Akcja ta może być stosowana do ustawiania stanu poleceń i podpoleceń menu, lecz nie do podpoleceń innych podpoleceń.

Aby uruchomić akcję UstawElementMenu w języku Visual Basic, należy zastosować metodę SetMenuItem obiektu DoCmd.


UruchomPolecenie, akcja (RunCommand)

Akcja UruchomPolecenie może być używana do uruchamiania wbudowanego polecenia programu Microsoft Access. Polecenie może być wyświetlane na pasku menu, na pasku narzędzi lub w menu podręcznym programu Microsoft Access

Ustawienie

Akcja UruchomPolecenie ma następujący argument.

Argument akcji	Opis
Polecenie	Nazwa polecenia, które ma być uruchomione. W polu Polecenie wyświetlane są dostępne wbudowane polecenia programu Microsoft Access w kolejności alfabetycznej. Argument ten jest wymagany.
Uwagi

W programie Microsoft Access 97 akcja UruchomPolecenie zastępuje akcję WykonajElementMenu (DoMenuItem). Przy otwieraniu i zapisywaniu makra z poprzedniej wersji programu Microsoft Access, które zawiera akcję WykonajElementMenu, akcja i jej argumenty zostaną automatycznie poddane konwersji na równoważną akcję UruchomPolecenie. Akcja WykonajElementMenu nie jest wyświetlana na liście akcji w oknie makra programu Microsoft Access 97.

Akcja UruchomPolecenie może być używana do uruchamiania polecenia programu Microsoft Access z niestandardowego paka menu, globalnego paska menu, niestandardowego paska menu podręcznego lub globalnego paska menu podręcznego. Jednak zwykle w celu dodania poleceń programu Microsoft Access do niestandardowych i podręcznych menu łatwiej jest korzystać z okna dialogowego Dostosuj, dostępnego przez wskazanie polecenia Paski narzędzi w menu Widok i kliknięcie polecenia Dostosuj. Na karcie Polecenia w oknie dialogowym Dostosuj wyświetlana jest lista wbudowanych poleceń programu Microsoft Access, które są wyświetlane na paskach narzędzi i w menu programu Microsoft Access.

Akcja UruchomPolecenie może być używana w makrze z wyrażeniami warunkowymi do uruchamiania polecenia zależnie od pewnych warunków.

Uwaga   W menu Plik programu Microsoft Access 97 wyświetlane są ostatnio używane bazy danych. Można kliknąć jedną z tych baz danych zamiast klikać polecenie Otwórz bazę danych. Te bazy danych nie są wyświetlane na rozwijalnej liście dla argumentu "Polecenie" i nie są dostępne za pomocą akcji UruchomPolecenie w makrze.

Po wykonaniu konwersji bazy danych programu Microsoft Access z poprzedniej wersji tego programu niektóre polecenia mogą się okazać niedostępne. Polecenie mogło zmienić nazwę, mogło być przeniesione do innego menu lub może już być niedostępne w programie Microsoft Access 97. Akcje WykonajElementMenu dla takich poleceń nie mogą być poddane konwersji na akcje UruchomPolecenie. W przypadku takich poleceń po otwarciu makra program Microsoft Access wyświetli akcję UruchomPolecenie z pustym argumentem "Polecenie". Makro należy poddać edycji i wprowadzić poprawny argument polecenia albo usunąć akcję UruchomPolecenie. Listę poleceń z poprzednich wersji programu Microsoft Access, które nie są dostępne w programie Microsoft Access 97 można znaleźć w temacie Polecenia akcji WykonajElementMenu niedostępne dla akcji UruchomPolecenie.

Aby wykonać akcję UruchomPolecenie w języku Visual Basic, należy użyć metody RunCommand obiektu Application. (Jest to odpowiednik metody RunCommand obiektu DoCmd.)


Polecenia akcji WykonajElementMenu niedostępne dla akcji UruchomPolecenie

Po wykonaniu konwersji bazy danych Microsoft Access z poprzedniej wersji tego programu niektóre polecenia mogą się okazać niedostępne. Polecenie mogło zmienić nazwę, mogło być przeniesione do innego menu lub może już być niedostępne w programie Microsoft Access 97. Akcje WykonajElementMenu dla takich poleceń nie mogą być poddane konwersji na akcje UruchomPolecenie.

Wszystkie polecenia, które są dostępne przy korzystaniu z akcji WykonajElementMenu w programie Microsoft Access 95 są także dostępne przy korzystaniu z akcji UruchomPolecenie w programie Microsoft Access 97.

Przedstawione poniżej polecenia menu były dostępne za pomocą akcji lub metody DoMenuItem w programie Microsoft Access 2.0, lecz są niedostępne za pomocą akcji lub metody RunCommand w programie Microsoft Access 97.

Widok	Nazwa menu	Polecenie menu	Odpowiednik
"Baza danych", "Projekt" tabeli, "Projekt" zapytania, "Projekt" makra, "Relacje systemu"	Plik	Drukuj definicje	Polecenie niedostępne. Zamiast niego należy używać polecenia Dokumentator, dostępnego przez wskazanie polecenia Analizuj w menu Narzędzia i kliknięcie polecenia Dokumentator, aby obejrzeć informacje o wszystkich obiektach baz danych. Można także kliknąć polecenie Podgląd wydruku w menu Plik, gdy makro jest otwarte lub zaznaczone w oknie bazy danych, aby obejrzeć informacje na temat makra.
"Baza danych"	Zabezpieczenie	Drukuj zabezpieczenie	Polecenie niedostępne. Informacje o zabezpieczeniu bazy danych można przeglądać i ustawiać za pomocą podpoleceń polecenia Zabezpieczenia w menu Narzędzia. W oknie dialogowym Konta użytkowników i grup, dostępnym przez wskazanie polecenia Zabezpieczenia w menu Narzędzia i kliknięcie polecenia Konta użytkowników i grup, znajduje się przycisk Drukuj użytkowników i grupy, który można wykorzystać do wydrukowania informacji o zabezpieczeniu.
"Baza danych"	Plik	Ustawianie Importu/Eksportu	Polecenie niedostępne. Do tworzenia specyfikacji importu/eksportu dla plików tekstowych należy używać Kreatora importu tekstu, Kreatora łączenia tekstu lub Kreatora eksportu tekstu, dostępnych przez kliknięcie polecenia Pobierz dane zewnętrzne lub Zapisz jako/Eksportuj w menu Plik.
"Projekt" zapytania	Zapytanie	Połącz tabele	Polecenie niedostępne.
Widok "Formularz"	Rekordy	Edycja dozwolona	Polecenie niedostępne. Zamiast niego należy używać właściwości AllowEdits (EdycjaDozwolona), AllowAdditions (DodawanieDozwolone), AllowDeletions (UsuwanieDozwolone) i DataEntry (WprowadzanieDanych).
"Projekt" formularza/raportu	Widok	Paleta	Polecenie niedostępne. Należy używać jednego z przycisków palety na pasku narzędzi Formatowanie takiego, jak Kolor wypełnienia/tła, Kolor czcionki/pierwszoplanowy lub Kolor linii/obramowania.
"Projekt" modułu	Uruchom	Modyfikuj polecenie$	Polecenie niedostępne. Należy używać pola Argumenty wiersza poleceń na karcie Zaawansowane okna dialogowego Opcje, dostępnego przez kliknięcie polecenia Opcje w menu Narzędzia.
Uwaga   W programie Microsoft Access w wersji 2.0 można było stosować akcję WykonajElementMenu w grupie makr definiującej polecenia dla niestandardowego paska menu w celu dodania polecenia Dodatki do menu Plik na niestandardowym pasku menu. Program Microsoft Access dodawał odpowiednie elementy podmenu do tego elementu menu. Podobnie, w programie Microsoft Access 95 można było stosować akcję WykonajElementMenu w celu dodania polecenia Dodatki do menu Narzędzia niestandardowego paska menu, a program Microsoft Access dodawał elementy podmenu. W żadnej z tych wersji nie było możliwe bezpośrednie uruchomienie polecenia Dodatki za pomocą akcji WykonajElementMenu. W programie Microsoft Access 97 można przeciągnąć polecenie Dodatki z menu Narzędzia na pasku menu na dowolny pasek narzędzi, gdy jest otwarte okno dialogowe Dostosuj. Nie ma ustawienia akcji UruchomPolecenie, które odpowiada poleceniu Dodatki.


Użycie stałych wykazanych w programie Microsoft Access 97

W programie Microsoft Access 97 pewna liczba stałych wewnętrznych została dodana lub zmieniona. Zostało to zrobione w celu utworzenia list stałych "wykazanych", które są wyświetlane na liście składników w oknie modułu dla argumentów różnych metod, funkcji i właściwości lub jako ustawienie różnych właściwości programu Microsoft Access. Zamiast pamiętania stałej lub wyszukiwania jej w temacie Pomocy można ją wybrać na liście w oknie modułu.

Poniższe informacje dotyczą stałych wykazanych:

•	Zestaw stałych wykazanych dla każdego argumentu metody, funkcji lub właściwości ma nazwę. Gdy jest zaznaczona opcja Automatycznie pokazuj składnię na karcie Moduł okna dialogowego Opcje, dostępnego przez kliknięcie polecenia Opcje w menu Narzędzia, nazwa ta jest wyświetlana w wierszu składni dla metody, funkcji lub właściwości w oknie Moduł. (W przypadku ustawień właściwości nazwa nie jest wyświetlana, a jedynie lista stałych.) Na przykład w wierszu składni dla metody OpenForm obiektu DoCmd wyświetlany jest tekst [View as AcFormView = acNormal] dla argumentu widok tej metody. AcFormView jest nazwą tego zestawu stałych wykazanych, a acNormal jest domyślnym ustawieniem tego argumentu. W oknie Przeglądarka obiektów w polu Klasy jest także wyświetlana lista nazw zestawów stałych wykazanych, a w polu Składniki lista stałych wewnętrznych zawartych w każdym z tych zestawów.

•	W przypadku stałych, których nazwy zostały zmienione stare stałe będą nadal działać. Na przykład jedną ze stałych wewnętrznych dla argumentu zapisz metody Close obiektu DoCmd była acPrompt. Obecnie stała ta nazywa się acSavePrompt, lecz nazwa acPrompt będzie nadal rozpoznawana.

•	W poprzednich wersjach programu Microsoft Access w wielu przypadkach można było pozostawić puste ustawienie argumentu, a program Microsoft Access wykonałby akcję domyślną dla tego argumentu. Można było na przykład pozostawić puste ustawienie argumentów typobiektu (i nazwaobiektu) metody Close, a program Microsoft Access zamknąłby aktywne okno. Dla nowych zestawów wykazanych stałych puste ustawienie zostało zamienione na nową stałą domyślną. Na przykład argument typobiektu metody Close ma obecnie nową stałą domyślną acDefault. Ustawienie tego argumentu na nową stałą powoduje taki sam efekt, jak pozostawienie pustego argumentu. Ponadto można nadal pozostawiać te argumenty puste, a program Microsoft Access automatycznie podstawi nową stałą domyślną.

•	Od tej zasady jest jeden wyjątek. Jeśli w programie Microsoft Access uruchamiany jest kod języka Visual Basic z poprzednich wersji tego języka za pomocą automatyzacji, puste argumenty, które mają nowe stałe domyślne spowodują błąd. Problem ten nie występuje dla starego kodu języka Visual Basic for Applications ani dla kodu języka Visual Basic uruchamianego bezpośrednio w programie Microsoft Access.

W poniższej tablicy przedstawiono listę wszystkich stałych wewnętrznych, które zostały dodane lub zmienione w celu utworzenia list stałych wykazanych w programie Microsoft Access 97.

Element języka	Argument	Stara stała	Nowa stała
Metoda Close	zapisz	acPrompt	acSavePrompt
Metoda Close	typobiektu	(brak)	acDefault
Metoda CopyObject	źródłowytypobiektu	(brak)	acDefault
Metoda DeleteObject	typobiektu	(brak)	acDefault
Metoda GoToRecord	typobiektu	acTable	acDataTable
Metoda GoToRecord	typobiektu	acQuery	acDataQuery
Metoda GoToRecord	typobiektu	acForm	acDataForm
Metoda GoToRecord	typobiektu	(brak)	acActiveDataObject
Metoda OpenForm	trybdanych	acAdd	acFormAdd
Metoda OpenForm	trybdanych	acEdit	acFormEdit
Metoda OpenForm	trybdanych	acReadOnly	acFormReadOnly
Metoda OpenForm	trybdanych	(brak)	acFormPropertySettings
Metoda OpenForm	trybokna	acNormal	acWindowNormal
Metoda OpenQuery	widok	acNormal	acViewNormal
Metoda OpenQuery	widok	acDesign	acViewDesign
Metoda OpenQuery	widok	acPreview	acViewPreview
Metoda OpenReport	widok	acNormal	acViewNormal
Metoda OpenReport	widok	acDesign	acViewDesign
Metoda OpenReport	widok	acPreview	acViewPreview
Metoda OpenTable	widok	acNormal	acViewNormal
Metoda OpenTable	widok	acDesign	acViewDesign
Metoda OpenTable	widok	acPreview	acViewPreview
Metoda OutputTo	typobiektu	acTable	acOutputTable
Metoda OutputTo	typobiektu	acQuery	acOutputQuery
Metoda OutputTo	typobiektu	acForm	acOutputForm
Metoda OutputTo	typobiektu	acReport	acOutputReport
Metoda OutputTo	typobiektu	acModule	acOutputModule
Metoda Quit (obiekt DoCmd)	opcje	acPrompt	acQuitPrompt
Metoda Quit (obiekt DoCmd)	opcje	acSaveYes or acSave	acQuitSaveAll
Metoda Quit (Zakończ) (obiekt DoCmd)	opcje	acSaveNo or acExit	acQuitSaveNone
Metoda Quit (obiekt Application)	opcje	acPrompt	acQuitPrompt
Metoda Quit (obiekt Application)	opcje	acSaveYes or acSave	acQuitSaveAll
Metoda Quit (obiekt Application)	opcje	acExit	acQuitSaveNone
Metoda Rename	typobiektu	(brak)	acDefault
Metoda RepaintObject	typobiektu	(brak)	acDefault
Metoda Save	typobiektu	(brak)	acDefault
Metoda SendObject	typobiektu	acTable	acSendTable
Metoda SendObject	typobiektu	acQuery	acSendQuery
Metoda SendObject	typobiektu	acForm	acSendForm
Metoda SendObject	typobiektu	acReport	acSendReport
Metoda SendObject	typobiektu	acModule	acSendModule
Metoda SendObject	typobiektu	(brak)	acSendNoObject
Metoda TransferSpreadsheet	typarkusza	(brak)	acSpreadsheetTypeExcel3
Metoda TransferSpreadsheet	typarkusza	(brak)	acSpreadsheetTypeExcel4
Metoda TransferSpreadsheet	typarkusza	(brak)	acSpreadsheetTypeExcel5
Metoda TransferSpreadsheet	typarkusza	(brak)	acSpreadsheetTypeExcel7
Metoda TransferSpreadsheet	typarkusza	(brak)	acSpreadsheetTypeExcel97
Metoda TransferSpreadsheet	typarkusza	(brak)	acSpreadsheetTypeLotusWK1
Metoda TransferSpreadsheet	typarkusza	(brak)	acSpreadsheetTypeLotusWK3
Metoda TransferSpreadsheet	typarkusza	(brak)	acSpreadsheetTypeLotusWJ2 – tylko w wersji japońskiej
Metoda TransferSpreadsheet	typarkusza	(brak)	acSpreadsheetTypeLotusWK4
Metoda TransferText	typtransportu	(brak)	acImportHTML
Metoda TransferText	typtransportu	(brak)	acExportHTML
Metoda TransferText	typtransportu	(brak)	acLinkHTML
Funkcja HyperlinkPart	część	(brak)	acAddress
Funkcja HyperlinkPart	część	(brak)	acDisplayedValue
Funkcja HyperlinkPart	część	(brak)	acDisplayName
Funkcja HyperlinkPart	część	(brak)	acSubAddress
Właściwość Type	[ustawienie]	(brak)	acClassModule
Właściwość Type	[ustawienie]	(brak)	acStandardModule


Niestandardowe metody i właściwości

Modułów klas można używać do tworzenia definicji nowego niestandardowego obiektu. Gdy tworzona jest nowa instancja klasy, jest to równoznaczne z utworzeniem nowego obiektu i zwróceniem odwołania do tego obiektu.

Wszelkie publiczne procedury zdefiniowane w tym module stają się metodami nowego obiektu. Instrukcja Sub definiuje metodę, która nie zwraca wartości; instrukcja Function definiuje metodę, która może zwracać wartość określonego typu.

Wszelkie zdefiniowane procedury Property Let, Property Get lub Property Set stają się właściwościami nowego obiektu. Procedury Property Get wyszukują wartość właściwości. Procedury Property Let ustawiają wartość właściwości nieobiektowej. Procedury Property Set ustawiają wartość właściwości obiektu.

Na przykład, można użyć modułu klasy do utworzenia warstwy interfejsu między aplikacją i zestawem funkcji interfejsu programowania aplikacji (API) Windows, które są wywoływane przez ten interfejs. W tym celu należy utworzyć zestaw prostych procedur, które wywołują bardziej skomplikowane procedury z biblioteki DLL. Przy tworzeniu instancji tej klasy utworzone procedury stają się metodami nowego obiektu. Metody te można stosować w taki sam sposób, jak się stosuje metody dowolnego obiektu. Stosując te metody wywołuje się również funkcje API.


Zwiększenie wydajności aparatu bazy danych Microsoft Jet

Aparat bazy danych Microsoft Jet w wersji 3.5 zawiera następujące udoskonalenia w porównaniu z wersją 3.0 aparatu bazy danych Jet zawartą w systemie Microsoft Access 95:

•	Nowe ustawienie rejestru MaxLocksPerFile umożliwia przyśpieszenie wykonywania dużych kwerend na serwerach NetWare i Windows NT przez wymuszenie częściowego wykonania transakcji W celu podania nowej wartości tego ustawienia należy stosować metodę DAO SetOption. Metoda SetOption umożliwia pominięcie pewnych ustawień rejestru w czasie wykonywania w celu dokładnego dopasowania aplikacji do określonego środowiska.

•	Indeksowane kolumny lepiej pokazują współdziałanie użytkowników, co oznacza, że większa liczba użytkowników może czytać i aktualizować indeksowane kolumny bez pojawiających się komunikatów o konfliktach blokowania.

•	Duże kwerendy są wykonywane szybciej dzięki udoskonaleniom w wykonywaniu transakcji za pomocą instrukcji języka manipulacji danymi (DML) SQL oraz dzięki nowym ustawieniom rejestru, które wymuszają wykonanie transakcji po osiągnięciu limitu blokowania.

•	Kwerendy zawierające w instrukcjach kryteriów operator nierówności (<>) są wykonywane znacznie szybciej.

•	Sekwencyjny odczyt może być szybszy, ponieważ aparat bazy danych Jet może od razu wstępnie przydzielać do 64 kilobajtów miejsca na dysku.

•	Kwerendy tymczasowe są wykonywane szybciej.

•	Usuwanie tabel jest szybsze, jeśli używana jest instrukcja SQL DROP lub instrukcja SQL DELETE bez predykatu.

Aparat bazy danych Jet w wersji 3.5 zawiera następujące udoskonalenia w porównaniu z wersją aparatu Microsoft Jet zawartą w wersjach 1.x i 2.0 programu Microsoft Access.

•	Nowa struktura indeksu zmniejsza ilość pamięci wymaganej do przechowywania indeksów oraz zmniejsza ilość czasu koniecznego do utworzenia indeksów złożonych. Podczas defragmentacji bazy danych jej indeksy są optymalizowane z punktu widzenia sprawności. Aby zachować tę optymalizację, należy poddawać bazę danych defragmentacji w regularnych odstępach czasu.

•	Indeksowane strony nie zawierają już blokad odczytu. Dzięki temu została zwiększona sprawność w sytuacji, gdy wielu użytkowników równocześnie pracuje z tymi samymi danymi w udostępnianej bazie danych.

•	Operacje zawierające instrukcję DELETE działają szybciej. Fragmenty strony mogą być usuwane w całości zamiast wiersz po wierszu.

•	Mechanizm alokacji stron aparatu bazy danych Jet został udoskonalony w celu zwiększenia prawdopodobieństwa, że dane z tej samej tabeli są przechowywane na sąsiednich stronach. Dzięki temu została rozszerzona zdolność aparatu bazy danych Jet do odczytu z wyprzedzeniem.

•	Aparat bazy danych Jet jest wielowątkowy. Domyślnie jeden wątek wykonuje operacje odczytu z wyprzedzeniem, jeden wykonuje operacje zapisu po wykonaniu zadania, a jeden obsługuje pamięć podręczną.

•	Domniemane transakcje są wbudowane w aparat bazy danych Jet, dzięki czemu można korzystać ze zwiększonej prędkości transakcji bez potrzeby używania w kodzie metody BeginTrans i CommitTrans. Aby zachować pełną kontrolę nad tym, kiedy dane są zapisywane na dysk, należy konstruować jawne transakcje stosując metody BeginTrans i CommitTrans.

•	Aparat bazy danych Jet zawiera nowy mechanizm sortujący, który poprawia wydajność sortowania.

•	Aparat bazy danych Jet zawiera dynamicznie konfigurowaną pamięć podręczną przydzielaną podczas startu i opartą na dostępnej ilości pamięci systemowej. Pamięć podręczna zawiera ostatnio używane dane, co przyczynia się do zwiększenia sprawności.

•	Aparat bazy danych Jet zapewnia nową obsługę ISAM dla plików HTML, dla programu Microsoft Excel w wersjach 5.0, 7.0 i 8.0, a także dla plików tekstowych i arkuszy kalkulacyjnych programów Lotus 1-2-3 w wersji 3.0, Paradox 5.x, dBASE 5 i FoxPro 3.0.

Dodatkowe informacje na temat uzyskiwania dostępu do zewnętrznych baz danych można znaleźć w rozdziale 18, "Dostęp do danych zewnętrznych", podręcznika Tworzenie aplikacji Microsoft Access 97.


Okno modułu - nowe możliwości dla projektantów

Nowe elementy w programie Microsoft Access 97

Karta Zaawansowane okna dialogowego Opcje (dostępna przez kliknięcie polecenia Opcje w menu Narzędzia) zawiera nową grupę opcji Wychwytywanie błędów. Grupa ta zawiera dwie nowe opcje Przerywaj w module klasy i Przerywaj przy nieobsługiwanych błędach. Opcja Przerywaj przy każdym błędzie, która była umieszczona na karcie Moduły okna dialogowego Opcje w programie Microsoft Access 95, obecnie jest umieszczona wraz z dwiema nowymi opcjami w grupie opcji Wychwytywanie błędów.

Opcje te określają sposób wchodzenia języka Visual Basic w tryb przerwania po wystąpieniu błędu w kodzie. Opcje te wpływają na działanie języka Visual Basic w następujący sposób:

•	Przerywaj przy każdym błędzie: Język Visual Basic przerywa działanie przy wszystkich błędach obsługiwanych i nieobsługiwanych zarówno w modułach standardowych, jak i w modułach klas. Moduł zawierający procedurę, która spowodowała błąd jest aktywny, a wiersz kodu który spowodował błąd jest wyróżniony. Aby wznowić wykonywanie lub przejść krokowo poza błąd, można nacisnąć klawisze ALT+F8 lub ALT+F5.

•	Przerywaj w module klasy: Język Visual Basic przerywa wykonywanie kodu przy wszystkich nieobsługiwanych błędach w modułach klas, a także przy nieobsługiwanych błędach w modułach standardowych. Gdy wystąpi błąd w procedurze w module klasy, moduł klasy jest aktywny, a wiersz kodu, który spowodował błąd jest wyróżniony. Aby wznowić wykonywanie lub przejść krokowo poza błąd, można nacisnąć klawisze ALT+F8 lub ALT+F5. Opcji tej należy używać do analizy kodu w modułach klas.

•	Przerywaj przy nieobsługiwanych błędach: Język Visual Basic przerywa wykonywanie kodu przy wszystkich nieobsługiwanych błędach w modułach standardowych. Jeśli wystąpi błąd w procedurze w module klasy, program Visual Basic przerywa wykonywanie kodu w wierszu, w którym jest wywoływana procedura w module klasy. Przy korzystaniu z tej opcji nigdy nie następuje wejście w tryb przerwania w module klasy.

Opcje te można ustawiać za pomocą kodu stosując metodę SetOption, a ponadto można zwracać ich wartości stosując metodę GetOption.

Nowe menu Analiza programu zawiera dwa nowe polecenia, a także wiele poleceń, które były umieszczone w menu Uruchom lub Narzędzia w programie Microsoft Access 95. Menu Analiza programu jest dostępne tylko podczas pracy w widoku "Projekt" modułu.

•	Polecenie Kompiluj i zapisz wszystkie moduły powoduje kompilację wszystkich modułów w projekcie i zapisanie ich w postaci skompilowanej.

•	Polecenie Wyjdź powoduje uruchomienie całego kodu we wszystkich zagnieżdżonych procedurach, poczynając od tej, w której było użyte polecenie. Wykonywanie jest następnie przekazywane do procedury wywołującej procedurę, w której było użyte polecenie. Załóżmy na przykład, że zostały zagnieżdżone procedury od A do E, przy czym A jest pierwszą procedurą w drzewie wywołań. Jeśli polecenie Wyjdź zostanie użyte z procedury B, procedura B wywołuje C, która wywołuje D, która wywołuje E. Procedura B jest wykonywana do końca, a następnie wykonanie jest przekazywane do procedury A. Polecenie to jest przydatne wówczas, gdy po krokowym wejściu w procedurę użytkownik nie chce wykonywać jej w całości.

Program Microsoft Access 97 zawiera także wiele nowych opcji pisania kodu w oknie modułu, z których kilka jest opisanych w następnych paragrafach. Aby ustawić te opcje, należy kliknąć polecenie Opcje w menu Narzędzia, a następnie kliknąć kartę Moduł.

•	Opcja Automatycznie pokazuj listę składników powoduje wyświetlanie listy odpowiednich obiektów, właściwości i metod podczas pisania kodu. Po wpisaniu nazwy obiektu program Microsoft Access automatycznie próbuje pomóc w uzupełnieniu instrukcji przez wyświetlenie listy obiektów, właściwości lub metod, które mogą występować po nazwie tego obiektu. Aby uzupełnić wpisywaną instrukcję, można kliknąć element na liście albo kontynuować wpisywanie kodu. Przy kontynuacji wpisywania kodu na liście wyświetlane są najbliższe nazwy pasujące do wpisanego już kodu. Chcąc wprowadzić element zaznaczony na liście należy nacisnąć klawisze CTRL+ENTER lub TAB. Aby wprowadzić zaznaczony element i przenieść kursor do następnego wiersza, należy nacisnąć klawisz ENTER. Aby zamknąć listę, należy nacisnąć klawisz ESC.

•	Opcja Automatycznie pokazuj składnię powoduje wyświetlanie informacji o składni podczas pisania w oknie modułu. Po wpisaniu nazwy procedury lub metody, a po niej spacji lub otwierającego nawiasu, poniżej wpisywanego wiersza kody pojawia się wskazówka. We wskazówce wyświetlane są informacje na temat procedury, a wśród nich argumenty, których należy użyć.

•	Opcja Automatycznie pokazuj wartości zmiennych powoduje wyświetlanie wartości zmiennej lub wyrażenia, gdy kod jest w trybie przerwania. Aby wyświetlić bieżącą wartość, należy zaznaczyć zmienną lub wyrażenie, które ma być sprawdzone, a następnie przesunąć po nim wskaźnik myszy.

Nowe elementy w programie Microsoft Access 95

Okno modułu obsługuje kodowaną kolorami składnię, a także opcje formatowania tekstu, które można ustawiać w na karcie Moduł okna dialogowego Opcje, dostępnego przez kliknięcie polecenia Opcje w menu Narzędzia. Okno modułu obsługuje także znak kontynuacji wiersza, który umożliwia przedłużenie wiersza poza znak końca wiersza. Znak kontynuacji wiersza składa się ze spacji i znaku podkreślenia (_) tak, jak to zostało pokazane w poniższym przykładzie:

MsgBox "You are about to delete 10 records.  " _

& "Do you want to continue?"

Na karcie Moduł okna dialogowego Opcje można ustawiać liczne inne opcje środowiska. Można oglądać cały moduł zaznaczając pole wyboru Widok całego modułu albo można wyczyścić to pole wyboru, aby widzieć na raz tylko jedną procedurę. (Klikanie przycisków w lewym dolnym narożniku okna modułu także powoduje przełączanie tej opcji.) Można także ustawiać inne opcje kodowania takie, jak Przerywaj przy każdym błędzie i Żądaj deklaracji zmiennych. Argumenty wiersza polecenia oraz argumenty kompilacji warunkowej są ustawiane na karcie Zaawansowane okna dialogowego Opcje.

Aby uzyskać dodatkowe informacje na temat określonego elementu okna dialogowego Opcje, należy kliknąć znak zapytania  [image]  w prawym górnym narożniku okna dialogowego, a następnie kliknąć ten element.

W oknie modułu dostępnych jest kilka funkcji przydatnych do analizy kodu. Okno dialogowe Szybka czujka umożliwia natychmiastowe wyświetlanie wartości zaznaczonej zmiennej lub wyrażenia. W tym celu należy zaznaczyć zmienną lub wyrażenie i nacisnąć klawisze SHIFT+F9 lub kliknąć polecenie Szybka czujka w menu Analiza programu.

Po przerwaniu wykonywania kodu w menu Analiza programu dostępne są polecenia Ustaw następną instrukcję i Pokaż następną instrukcję. Polecenie Ustaw następną instrukcję umożliwia przeniesienie punktu wykonywania na inną instrukcję, co jest równoznaczne z pominięciem fragmentów kodu lub cofnięciem się i ponownym wykonaniem pewnych instrukcji. Polecenie Pokaż następną instrukcję służy do pokazywania w aktualnie wykonywanym kodzie następnej instrukcji, która ma być wykonywana.

Środowisko projektowe zawiera przyciski Koniec, Zresetuj i Idź/Kontynuuj, a także odpowiednie polecenia w menu Uruchom. Po zakończeniu wykonywania kodu przez kliknięcie przycisku Koniec  [image]  na pasku narzędzi lub przez  kliknięcie przycisku Koniec w oknie dialogowym wyświetlanym przy błędzie wykonywania, zmienne na poziomie modułu zachowują swoje wartości. Aby zresetować zmienne na poziomie modułu, należy kliknąć przycisk Zresetuj  [image]  na pasku narzędzi.


Przeglądarka obiektów - nowe możliwości dla projektantów

Przeglądarka obiektów jest narzędziem umożliwiającym przeglądanie elementów biblioteki typów składników typu ActiveX. Aby wyświetlić okno Przeglądarki obiektów, należy otworzyć moduł i kliknąć przycisk Przeglądarka obiektów  [image]  na pasku narzędzi lub kliknąć polecenie  Przeglądarka obiektów w menu Widok. Przegladarkę obiektów można także otworzyć naciskając klawisz F2 gdy moduł jest wyświetlany w widoku "Projekt".

Informacje w bibliotece typów składają się z definicji obiektów i ich właściwości, metod, zdarzeń i stałych, a także ze związanych z nimi funkcji i instrukcji. Informacje te są uprządkowane według modułów klas i modułów standardowych. Moduły klas i moduły standardowe są wyświetlane na liście w polu Klasy. W polu Składniki można przeglądać związane z nimi metody, właściwości, zdarzenia i stałe.

Przeglądarka obiektów w programie Microsoft Access 97 zawiera następujące nowe funkcje:

•	Jako pierwszy element w polu Klasy pojawia się specjalny element <globalne>. Jest to najwyżej położony element dla każdej biblioteki w Przeglądarce obiektów. Po zaznaczeniu elementu <globalne> w polu Klasy, w polu Składniki wyświetlane są wszystkie elementy dostępne globalnie, ze wszystkimi stałymi włącznie.

•	W wywoływanej bibliotece typów można poszukiwać klasy lub elementu wpisując poszukiwany termin w polu Poszukiwany tekst, a następnie klikając przycisk Szukaj  [image]  na pasku narzędzi Przeglądarki obiektów.

•	Korzystając z Przeglądarki obiektów można wklejać kod do modułu zaznaczając metodę lub właściwość i klikając przycisk Kopiuj do Schowka  [image]  na pasku narzędzi Przeglądarki obiektów, a następnie przełączając się do okna modułu i klikając przycisk Wklej  [image] na pasku narzędzi Visual Basic.

•	Korzystając z Przeglądarki obiektów można uzyskać pomoc na temat dowolnego obiektu, metody, właściwości lub zdarzenia zaznaczając nazwę w polu Składniki i klikając przycisk Pomoc  [image]  na pasku narzędzi Przeglądarki obiektów lub naciskając klawisz F1.

•	Aby wyświetlić definicję procedury użytkownika, należy najpierw zaznaczyć na liście Projekt/Biblioteka nazwę projektu zawierającego tę procedurę. Następnie należy na liście Klasy zaznaczyć nazwę modułu standardowego lub modułu klasy zawierającego procedurę, po czym należy zaznaczyć nazwę procedury na liście Składniki i kliknąć przycisk Pokaż definicję  [image]  na pasku narzędzi. Program Microsoft Access otwiera moduł zawierający tę procedurę i umieszcza w niej punkt wstawiania.

•	Aby wrócić do elementu oglądanego poprzednio, należy kliknąć przycisk Wstecz  [image]  na pasku narzędzi. Po kliknięciu przycisku Wstecz można kliknąć przycisk Dalej  [image], aby przejść do miejsca, z którego się zaczęło.

•	Niektóre stałe wewnętrzne są teraz zgrupowane w Przeglądarce obiektów zgodnie z metodami, z którymi są używane. Na przykład, można kliknąć nazwę Access w polu Projekt/Biblioteka, a następnie przewijać listę Klasy przeglądając wszystkie klasy obiektów. Można w ten sposób obejrzeć wszystkie grupy stałych dostępne w programie Microsoft Access. Aby obejrzeć wszystkie stałe, które mogą być używane z metodą RunCommand, należy kliknąć nazwę AcCommand.

Uwaga   Aby w Przeglądarce obiektów obejrzeć obiekty znajdujące się w bibliotece obiektów Microsoft Office 8.0 łącznie z paskami poleceń, należy ustawić odwołanie do tej biblioteki. Informacje na temat ustawiania odwołania można znaleźć w temacie Ustawianie odwołań do bibliotek typów.


Ustawianie odwołań do bibliotek typów

Gdy ustawione jest odwołanie do biblioteki typów innej aplikacji, można w kodzie używać obiektów zawartych w tej aplikacji. Jeśli na przykład zostanie ustawione odwołanie z programu Microsoft Access do biblioteki programu Microsoft Excel, można używać obiektów Microsoft Excel w Automatyzacji. Jeśli zostanie ustawione odwołanie do projektu języka Visual Basic w innej bazie danych programu Microsoft Access, można wywoływać jego procedury publiczne. Jeśli zostanie ustawione odwołanie do formantu ActiveX, można używać tego formantu w formularzach programu Microsoft Access.

Odwołanie z programu Microsoft Access można ustawić gdy jest otwarte okno modułu albo można je ustawić w kodzie języka Visual Basic.

Ustawianie odwołań z programu Microsoft Access

Aby ustawić odwołanie do biblioteki typów aplikacji:

1.	Kliknij polecenie Odwołania w menu Narzędzia. Polecenie Odwołania w menu Narzędzia jest dostępne tylko wówczas, gdy okno modułu jest otwarte i aktywne w widoku "Projekt".

2.	Zaznacz pola wyboru dla aplikacji z bibliotekami typów, do których chcesz ustawić odwołania.

Ustawianie odwołań w języku Visual Basic

Aby ustawić odwołanie w języku Visual Basic, należy utworzyć nowy obiekt Reference reprezentujący żądane odwołanie. Kolekcja References zawiera wszystkie aktualnie ustawione odwołania.

Aby utworzyć nowy obiekt Reference, należy zastosować metodę AddFromFile lub AddFromGUID kolekcji References. Aby usunąć obiekt Reference, należy zastosować metodę Remove.

Zalety ustawiania odwołań

Jeśli zostanie ustawione odwołanie do biblioteki typów innej aplikacji przed rozpoczęciem pracy z jej obiektami, kod automatyzacji będzie wykonywany szybciej. Jeśli zostało ustawione odwołanie, można zadeklarować zmienną obiektową reprezentującą obiekt w innej aplikacji jako jego najbardziej określony typ. Jeśli na przykład pisany jest kod do pracy z obiektami programu Microsoft Excel, a zostało ustawione odwołanie do biblioteki typów tej aplikacji, można zadeklarować zmienną obiektu typu Excel.Application jedynie za pomocą poniższej składni:

Dim appXL As New Excel.Application

Jeśli nie zostało ustawione odwołanie do biblioteki typów programu Microsoft Excel, należy zadeklarować zmienną jako ogólną zmienną typu Object. Poniższy kod będzie wykonywany wolniej:

Dim appXL As Object

Ponadto, jeśli zostanie ustawione odwołanie do biblioteki typów aplikacji, wszystkie jej obiekty oraz wszystkie jej metody i właściwości są umieszczone na liście w oknie Przeglądarki obiektów. Ułatwia to ustalenie, jakie właściwości i metody są dostępne dla każdego obiektu.

Ponieważ program Microsoft Access jest także składnikiem ActiveX obsługującym Automatyzację, można ustawić odwołanie do jego biblioteki typów z innej aplikacji i sterować obiektami Microsoft Access z tej aplikacji.


Okno analizy programu - nowe możliwości dla projektantów

Okno analizy programu w programie Microsoft Access 97 składa się z trzech okienek – z okienka bezpośredniego, które działa podobnie jak w poprzednich wersjach programu Microsoft Access, z okienka zmiennych lokalnych, w którym są wyświetlane wszystkie zmienne w bieżącej ramce stosu oraz ich wartości i z okienka czujki. Klikając kartę Zmienne lokalne lub kartę Czujka w oknie analizy programu można przełączać się między okienkiem zmiennych lokalnych i okienkiem czujki. Okienko bezpośrednie pozostaje widoczne bez względu na to, która karta zostanie kliknięta.

Aby wyświetlić okno analizy programu, należy otworzyć moduł i kliknąć przycisk Okno analizy programu [image]  na pasku narzędzi. Okno analizy programu można także otworzyć klikając polecenie Okno analizy programu w menu Widok lub naciskając klawisze CTRL+G podczas pracy w dowolnym miejscu w programie Microsoft Access.

Okienko zmiennych lokalnych

W okienku zmiennych lokalnych wyświetlana jest lista zmiennych w trzech kolumnach: "Wyrażenie", "Wartość" i "Typ". Niektóre zmienne takie, jak typy definiowane przez użytkownika, tablice i obiekty, mogą zawierać informacje hierarchiczne. Zmienne te mają przycisk rozwiń/zwiń umieszczony po lewej stronie nazwy do sterowania wyświetlaniem informacji hierarchicznych. Jeśli okienko zmiennych lokalnych jest widoczne, jest ono automatycznie aktualizowane gdy tryb zmienia się z trybu wykonywania na tryb przerwania. Zdarza się to wówczas, gdy podczas wykonywania osiągnięty zostanie punkt przerwania lub gdy rozpoczyna się krokowe wykonywanie kodu.

Pierwsza zmienna na liście jest specjalną zmienną modułu. W przypadku modułów klas jest to zmienna Me definiowana przez system. Jest to odwołanie obiektu do bieżącej instancji klasy zdefiniowanej w bieżącym module. Ponieważ ta zmienna jest odwołaniem obiektu, może być rozwinięta w celu pokazania wszystkich właściwości oraz składników danych bieżącej instancji klasy. W przypadku modułów standardowych pierwszą zmienną jest nazwa bieżącego modułu, która także może być rozwinięta w celu pokazania wszystkich zmiennych na poziomie modułu w bieżącym module. W okienku zmiennych lokalnych można zmienić wartość zmiennej, lecz nie można zmienić jej ustawień "Wyrażenie" ani "Typ".

Okienko czujki

Okienko czujki umożliwia przeglądanie wartości wyrażenia lub zmiennej podczas wykonywania kodu. Aby ustawić wyrażenie czujki, należy kliknąć polecenie Dodaj czujkę w menu Analiza programu. Okienko czujki zostało rozszerzone w celu dodania następujących funkcji:

•	Rozwijanie/zwijanie informacji hierarchicznych.

•	Zmiana rozmiarów nagłówków kolumn.

•	Edycja wartości w miejscu.

Okienko bezpośrednie

W okienku bezpośrednim można uruchomić dowolną procedurę Sub lub Function, łącznie z procedurami zdarzeń.

Aby z okienka bezpośredniego uruchomić procedurę zdefiniowaną w module klasy, należy określić procedurę z nazwą modułu klasy, jeśli wykonanie nie jest w trybie przerwania w tym module. Jeśli wykonanie jest w trybie przerwania, nie ma potrzeby pełnego określania procedury, ponieważ ten moduł jest obecnie w zakresie.

Gdy poniższy przykład zostanie wpisany do okienka bezpośredniego w oknie analizy programu, spowoduje uruchomienie procedury "ListNames", która jest zdefiniowana w module klasy związanym z formularzem "Employees":

Form_Employees.ListNames

Następny przykład powoduje uruchomienie procedury zdarzenia Click dla przycisku polecenia o nazwie "PersonalInfo" na formularzu "Employees":

Form_Employees.PersonalInfo_Click

Inne funkcje okna analizy programu

W nowym oknie analizy programu automatycznie wyświetlane są informacje o stanie kodu. Gdy kod nie jest wykonywany, na pasku stanu umieszczonym w górnej części okna analizy programu wyświetlane jest słowo "<Gotów>". Po rozpoczęciu wykonywania kodu na pasku stanu wyświetlana jest nazwa bieżącej bazy danych, nazwa modułu, w którym znajduje się wykonywana procedura i nazwa samej procedury.

Kliknając przycisk Buduj  [image] można z okna analizy programu wyświetlić okno "Wywołania".


Programowanie z użyciem modułów klas

W programie Microsoft Access 97 są dwa typy modułów: moduły standardowe i moduły klas. W programie Microsoft Access 95 moduły klas istnieją tylko w powiązaniu z formularzem lub raportem. W programie Microsoft Access 97 istnieją one także na karcie Moduły okna bazy danych.

Nowe funkcje w programie Microsoft Access 97: Tworzenie obiektów niestandardowych za pomocą modułów klas

Moduł klasy można wykorzystać do utworzenia definicji obiektu niestandardowego. Nazwa, pod którą jest zapisywany moduł klasy staje się nazwą tworzonego obiektu niestandardowego. Procedury publiczne Sub i Function, zdefiniowane w module klasy stają się niestandardowymi metodami obiektu. Procedury publiczne Property Let, Property Get i Property Set stają się właściwościami obiektu.

Po zdefiniowaniu procedur w module klasy można utworzyć nowy obiekt przez utworzenie nowej instancji klasy. Aby utworzyć nową instancję klasy, należy zadeklarować zmienną typu definiowanego przez tę klasę. Jeśli na przykład nazwą klasy jest "ABasicClass", jej nową instancję można utworzyć w następujący sposób:

Dim abc As New ABasicClass

Po uruchomieniu kodu zawierającego tę deklarację, język Visual Basic utworzy nową instancję. Dzięki temu można stosować jej metody i właściwości używając zmiennej abc. Jeśli na przykład została zdefiniowana niestandardowa metoda o nazwie "ListNames", można ją zastosować w następujący sposób:

abc.ListNames

Nowe funkcje w programie Microsoft Access 95: Tworzenie domyślnej instancji klasy formularza

Przy otwieraniu formularza w widoku "Formularz" za pomocą interfejsu użytkownika lub z kodu języka Visual Basic tworzy się instancję modułu klasy tego formularza. Innymi słowy, w pamięci przydzielane jest miejsce, w którym obecnie znajduje się obiekt, dzięki czemu można wywoływać jego metody i ustawiać lub zwracać jego właściwości za pomocą kodu tak, jak to się robi w przypadku dowolnego obiektu wbudowanego. To samo dotyczy otwierania raportu w widoku "Podgląd wydruku".

Gdy użytkownik odwołuje się do formularza w kodzie języka Visual Basic pracuje on zwykle z domyślną instancją klasy formularza. Klasa formularza ma tylko jedną instancję domyślną. Można także utworzyć wiele instancji tej samej klasy formularza za pomocą kodu języka Visual Basic. Tworząc wiele instancji klasy formularza tworzy się instancje, które nie są domyślne.

Są cztery sposoby tworzenia domyślnej instancji formularza. Można otworzyć istniejący formularz za pomocą interfejsu użytkownika, wykonując metodę OpenForm obiektu DoCmd, wywołując funkcję CreateForm i przełączając nowy formularz do widoku "Formularz" albo używając kodu języka Visual Basic do utworzenia zmiennej typu Form, aby odwoływać się do instancji domyślnej. W poniższym przykładzie otwierany jest formularz "Employees", a zmienna obiektu Form jest ustawiana na ten formularz:

Dim frm As Form

DoCmd.OpenForm "Employees"

Set frm = Forms!Employees

Program Microsoft Access zawiera także skrót umożliwiający otwieranie formularza i odwoływanie się w jednym kroku do metody lub właściwości tego formularza lub jednego z jego formantów. Odwołanie do modułu klasy formularza zostało przedstawione w poniższym przykładzie:

Form_Employees.Visible = True

Form_Employees.Caption = "New Employees"

Po uruchomieniu tego kodu program Microsoft Access otwiera formularz "Employees" w widoku "Formularz", jeśli nie jest on jeszcze otwarty i ustawia tytuł formularza na nazwę "New Employees". Formularz nie będzie widoczny dopóki jego właściwość Visible (Widoczny) nie zostanie jawnie ustawiona na wartość Prawda (True) (–1). Gdy wykonanie procedury, która wywołała ten kod zostanie zakończone, instancja formularza jest usuwana – to znaczy, formularz jest zamykany.

Przy próbie uruchomienia tego kodu, gdy formularz "Employees" jest otwarty w widoku "Projekt" program Microsoft Access generuje błąd wykonania. Formularz musi być otwarty w widoku "Formularz" albo musi być zamknięty.

Jeśli taka składnia jest używana do zmiany właściwości formularza lub jednego z jego formantów, zmiana ta zostanie utracona po usunięciu instancji formularza. Dotyczy to wszelkich zmian ustawień właściwości formularza w widoku "Formularz". Aby tego uniknąć, należy zmienić właściwość w widoku "Projekt" i zapisać zmianę w formularzu.

Nowe funkcje w programie Microsoft Access 95: Tworzenie wielu nie domyślnych instancji formularzy

Aby równocześnie wyświetlać kilka instancji formularza można utworzyć wiele nie domyślnych instancji klasy formularza. Można na przykład równocześnie wyświetlać rekord pracownika i rekord jego dyrektora. Można utworzyć jedną instancję klasy formularza "Employees" w celu wyświetlania rekordu pracownika i drugą do wyświetlania rekordu dyrektora.

Aby utworzyć nowe nie domyślne instancje klasy formularza z kodu języka Visual Basic, należy zadeklarować zmienną, dla której typem jest nazwa modułu klasy formularza. W deklaracji zmiennej należy dołączyć słowo kluczowe New. Na przykład, poniższy kod powoduje utworzenie nowej instancji formularza "Employees" i przypisanie jej zmiennej typu Form:

Dim frm As New Form_Employees

To nie domyślne wystąpienie formularza jest niewidoczne dopóki jego właściwość  Visible (Widoczny) nie zostanie jawnie ustawiona.

Po zakończeniu wykonywania procedury, która utworzyła tę instancję, instancja ta zostanie usunięta z pamięci, jeśli reprezentująca ją zmienna nie została zadeklarowana jako zmienna na poziomie modułu. Ponieważ zmienne na poziomie modułu zachowują swe wartości aż do chwili zresetowania za pomocą polecenia Zresetuj w menu Uruchom lub przycisku Zresetuj  [image]  na pasku narzędzi, formularz pozostanie otwarty, jeśli zmienna została zadeklarowana jako zmienna na poziomie modułu.

Wszelkie ustawione właściwości wpływają na daną instancję klasy formularza, lecz nie będą zapisane z formularzem. Ponadto nowa instancja klasy formularza nie może być utworzona, jeśli formularz jest otwarty w widoku "Projekt".

Do nie domyślnej instancji klasy formularza nie można odwoływać się poprzez nazwę w kolekcji Forms. Można się do niej odwoływać tylko poprzez numeru indeksu. Ponieważ można utworzyć wiele nie domyślnych instancji formularza, a każda instancja ma taką samą nazwę, w kolekcji Forms może istnieć kilka formularzy o takiej samej nazwie, bez innej możliwości ich rozróżnienia poza numerem indeksu.


Automatyzacja za pomocą programu Microsoft Access

Program Microsoft Access jest składnikiem typu ActiveX obsługującym Automatyzację, uprzednio znaną pod nazwą Automatyzacja OLE. Program Microsoft Access obsługuje Automatyzację w dwojaki sposób. W programie Microsoft Access można pracować z obiektami dostarczanymi przez inny składnik. Program Microsoft Access także dostarcza swe obiekty innym składnikom ActiveX.

W poprzednich wersjach programu Microsoft Access można było używać funkcji CreateObject lub funkcji GetObject do ustawiania zmiennej na instancję składnika. W programie Microsoft Access 97 można także używać słowa kluczowego New do tworzenia nowych instancji niektórych składników. Informacje na temat obowiązującej składni można znaleźć w dokumentacji składnika.

W programie Microsoft Access można ustawić odwołanie do biblioteki typów składnika w celu zwiększenia wydajności podczas pracy z tym składnikiem poprzez Automatyzację. Program Microsoft Access zawiera także Przeglądarkę obiektów, narzędzie umożliwiające przeglądanie obiektów w bibliotece typów innego obiektu, a także jego metod i właściwości.

Biblioteka typów programu Microsoft Access dostarcza informacje na temat obiektów programu Microsoft Access innym składnikom. Ze składnika można ustawić odwołanie do biblioteki typów programu Microsoft Access i przeglądać jego obiekty w Przeglądarce obiektów.

Aby korzystać z obiektów programu Microsoft Access za pomocą Automatyzacji, należy utworzyć instancję obiektu Application programu Microsoft Access. Załóżmy na przykład, że chcemy wyświetlać dane z programu Microsoft Excel w formularzu lub raporcie programu Microsoft Access. Aby uruchomić program Microsoft Access z programu Microsoft Excel, można użyć słowa kluczowego New, w celu utworzenia instancji obiektu Application programu Microsoft Access. Przy tworzeniu nowej instancji obiektu Application programu Microsoft Access można użyć funkcji CreateObject albo funkcji GetObject do ustawienia zmiennej obiektowej na istniejącą instancję programu Microsoft Access. Informacje na temat obowiązującej składni można znaleźć w dokumentacji składnika.

Chcąc sterować obiektami Microsoft Access po uruchomieniu instancji tego programu, należy otworzyć bazę danych w oknie programu Microsoft Access za pomocą metody OpenCurrentDatabase lub metody NewCurrentDatabase. Jeśli program Microsoft Access został otwarty tylko jako środek do używania obiektów dostępu do danych dostarczanych przez Microsoft DAO, nie ma potrzeby otwierania bazy danych w oknie programu Microsoft Access. Aby podczas działania Automatyzacji uzyskać dostęp do obiektów w bibliotece obiektów Microsoft DAO 3.5, można użyć właściwości DBEngine obiektu Application programu Microsoft Access.


Udoskonalenia sprawności kompilacji

Program Microsoft Access zawiera udoskonalenia sprawności ładowania i kompilacji modułów, które przyspieszają kompilację i wykonywanie kodu.

Moduły formularzy i raportów tworzone na żądanie

Po utworzeniu formularza lub raportu w programie Microsoft Access 97, formularz lub raport nie ma automatycznie przypisywanego modułu. Moduł jest tworzony dopiero po kliknięciu na pasku narzędzi przycisku Kod  [image]  służącego do wyświetlania modułu formularza lub raportu. Moduł można także utworzyć z kodu Visual Basic odwołując się do właściwości Module (Moduł) formularza, gdy formularz lub raport jest wyświetlany w widoku "Projekt" lub ustawiając właściwość HasModule (Ma moduł) na wartość True (–1).

Ustawienie właściwości HasModule wskazuje, czy formularz lub raport ma aktualnie przypisany moduł.

Ponieważ moduł formularza lub raportu nie jest tworzony, dopóki nie ma potrzeby dodania do niego kodu, projekt może mieć mniej modułów do kompilacji, co zwiększa sprawność kompilacji. Także formularze i raporty bez modułów są ładowane szybciej niż te, które mają moduły.

Polecenia służące do kompilacji i zapisywania modułów

Polecenia Kompiluj wszystkie moduły i Kompiluj załadowane moduły i Kompiluj i zapisz wszystkie moduły są dostępne w menu Analiza programu. Polecenie Kompiluj wszystkie moduły powoduje kompilację wszystkich modułów w bazie danych, bez względu na to, czy są obecnie załadowane, czy nie. Polecenie Kompiluj załadowane moduły powoduje kompilację tylko załadowanych obecnie modułów. Polecenie Kompiluj i zapisz wszystkie moduły powoduje zapisanie całego kodu w bazie danych w postaci całkowicie skompilowanej.

Kompilacja na żądanie

Dobrze jest skompilować moduły projektu jawnie stosując opisane powyżej polecenia, lecz nie jest to niezbędne. Program Microsoft Access kompiluje moduł przed uruchomieniem zawartej w nim procedury, jeśli moduł nie został jeszcze skompilowany.

Gdy moduł jest ładowany w celu wykonania, program Microsoft Access sprawdza, czy moduł został już skompilowany. Jeśli nie, moduł jest natychmiast kompilowany przed wykonaniem zawartej w nim procedury. Proces kompilacji spowalnia wykonywanie kodu, dlatego kod w modułach, które zostały zapisane w stanie skompilowanym będzie wykonywany szybciej.

Działanie kompilacji jest częściowo określone przez ustawienie opcji Kompiluj na żądanie na karcie Moduł okna dialogowego Opcje, dostępnego przez kliknięcie polecenia Opcje w menu Narzędzia. Program Microsoft Access ustawia tę opcję domyślnie. Aby uzyskać największą sprawność, należy pozostawić tę opcję zaznaczoną.

Gdy opcja Kompiluj na żądanie jest zaznaczona, nie skompilowane moduły nie są kompilowane, dopóki nie zostaną załadowane w celu wykonania. Jeśli ta opcja nie jest zaznaczona, nie skompilowany moduł jest kompilowany natychmiast po załadowaniu modułu zawierającego procedurę, która wywołuje procedurę w tym module. Załóżmy na przykład, że są trzy nie skompilowane moduły, ModułA, ModułB i ModułC. ProceduraA w Module A zawiera wywołanie ProceduryB w ModuleB. Inna procedura w ModuleA zawiera wywołanie ProceduryC w ModuleC.

Jeśli opcja Kompiluj na żądanie jest zaznaczona, po wywołaniu ProceduryA, ModułA i ModułB są ładowane i kompilowane. Ponieważ ProceduraA nie wywołuje ProceduryC, ModułC nie jest ładowany ani kompilowany.

Jeśli opcja Kompiluj na żądanie nie jest zaznaczona, po wywołaniu ProceduryA, ModułA, ModułB i ModułC są ładowane i kompilowane. Ponieważ ModułA zawiera wywołanie ProceduryC, ModułC jest ładowany i kompilowany, chociaż ProceduraA nie wywołuje ProceduryC.

Należy zauważyć, że przy uruchamianiu procedury w jednym module w programie Microsoft Access 95, wszystkie moduły w potencjalnym drzewie wywołań są ładowane, chociaż domyślnie nie są kompilowane, dopóki nie zostanie wywołana zawarta w nich procedura. Ponieważ program Microsoft Access 97 ładuje moduły tylko w razie potrzeby, w wielu wypadkach kod może działać szybciej.

Grupując procedury w modułach w celu zmniejszenia liczby niekoniecznych kompilacji można dodatkowo zwiększyć sprawność wykonywania kodu. Grupowanie procedur w modułach należy wykonać tak, aby procedury były pogrupowane z innymi, wywoływanymi przez nie procedurami, w przeciwieństwie do grupowania ich w modułach z innymi, nie związanymi procedurami.


Ustawianie odwołania do projektu Visual Basic w innej bazie danych Microsoft Access
Ustawianie odwołania do projektu Visual Basic w innej bazie danych programu Microsoft Access

Każda baza danych Microsoft Access zawiera projekt w języku Visual Basic. Projekt ten Visual Basic jest zestawem wszystkich modułów w projekcie, łącznie z modułami standardowymi i modułami klas. Każda baza danych programu Microsoft Access, biblioteczna baza danych lub dodatek zawarty w pliku .mde zawiera projekt Visual Basic.

Nazwa bazy danych i nazwa projektu mogą się różnić. Nazwa bazy danych jest określona przez nazwę pliku .mdb (albo .mda lub .mde), natomiast nazwa projektu jest określona przez ustawienie opcji Nazwa projektu na karcie Zaawansowane okna dialogowego Opcje, dostępnego przez kliknięcie polecenia Opcje w menu Narzędzia. Gdy baza danych jest tworzona po raz pierwszy, nazwa bazy danych i nazwa projektu są domyślnie takie same. Jeśli jednak nazwa bazy danych zostanie zmieniona, nazwa projektu nie ulegnie automatycznej zmianie. Podobnie zmiana nazwy projektu nie wpływa na nazwę bazy danych.

Można ustawić odwołanie z projektu Visual Basic w bazie danych programu Microsoft Access do projektu w innej bazie danych programu Microsoft Access, do bibliotecznej bazy danych lub do dodatku zawartego w pliku .mde. Po ustawieniu odwołania można uruchamiać procedury języka Visual Basic w innym projekcie. Na przykład, w przykładowej bazie danych "Northwind" znajduje się moduł o nazwie "Funkcje pomocnicze" (Utility Functions), który zawiera funkcję o nazwie IsLoaded. Można ustawić odwołanie do projektu w bazie danych "Northwind" z projektu w bieżącej bazie danych, a następnie wywoływać funkcję IsLoaded tak, jakby była ona zdefiniowana w bieżącej bazie danych.

Aby ustawić odwołanie do projektu w przykładowej bazie danych "Northwind" z innego projektu:

1.	Otwórz okno modułu.

2.	W menu Narzędzia kliknij polecenie Odwołania, a następnie kliknij przycisk Przeglądaj w oknie dialogowym Odwołania.

3.	W polu Pliki typu kliknij opcję Bazy danych MS Access (*.mdb).

4.	Odszukaj plik Northwind.mdb. Jeśli został zainstalowany, powinien być umieszczony domyślnie w folderze \Program Files\Microsoft Office\Office\Pliki przykładowe.

5.	Kliknij przycisk OK.

Nazwa "Northwind.mdb" powinna być obecnie umieszczona na liście dostępnych odwołań w oknie dialogowym Odwołania.

Uwagi

•	Chcąc wywołać procedurę publiczną zdefiniowaną w module standardowym innej bazy danych programu Microsoft Access, należy ustawić odwołanie do tej bazy danych. Nie można wywoływać procedur zdefiniowanych w module klasy ani procedur zdefiniowanych w module standardowym, które są poprzedzone słowem kluczowym Private.

•	Odwołanie do projektu w bazie danych programu Microsoft Access można ustawić tylko z innej bazy danych programu Microsoft Access.

•	Odwołanie do projektu można ustawić tylko w innej bazie danych programu Microsoft Access 97. Aby ustawić odwołanie do projektu w bazie danych utworzonej w poprzedniej wersji programu Microsoft Access, należy najpierw tę bazę danych poddać konwersji na format Microsoft Access 97.

•	Jeśli zostało ustawione odwołanie do projektu lub do biblioteki typów z programu Microsoft Access, po czym plik zawierający ten projekt lub bibliotekę typów został przeniesiony do innego foldera, program Microsoft Access spróbuje odnaleźć ten plik i ponownie ustanowić odwołanie. Jeśli w rejestrze istnieje klucz RefLibPaths, program Microsoft Access będzie tam szukać w pierwszej kolejności. Jeśli brak pasującego wpisu, program Microsoft Access będzie szukać pliku najpierw w bieżącym folderze, a następnie we wszystkich folderach na dysku. Klucz RefLibPaths można utworzyć korzystając z Edytora Rejestru Windows, pod kluczem rejestru \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\8.0\Access. Dodatkowe informacje na temat korzystania z Edytora Rejestru można znaleźć w dokumentacji systemu Windows.


Programowanie pasków narzędzi i pasków menu

Program Microsoft Access 97 zawiera paski poleceń, które są programowalnymi paskami narzędzi i paskami menu. Używając pasków poleceń można tworzyć niestandardowe paski narzędzi i menu dla projektowanej aplikacji.

Aby programować z wykorzystaniem pasków poleceń, należy najpierw ustawić odwołanie do biblioteki obiektów pakietu Microsoft Office 8.0. W tym celu należy kliknąć polecenie Odwołania w menu Narzędzia, gdy moduł jest wyświetlany w widoku "Projekt", a następnie zaznaczyć pole wyboru Biblioteka obiektów Microsoft Office 8.0.

Kolekcja CommandBars zawiera wszystkie paski poleceń istniejące obecnie w aplikacji. Stosując metodę Add z kolekcji CommandBars można dodać nowy obiekt CommandBar do kolekcji CommandBars. Na przykład, w następującym kodzie tworzony jest nowy pasek poleceń o nazwie MyCommandBar. Należy zauważyć, że aby nowy pasek stał się widoczny, należy ustawić jego właściwość Visible (Widoczny) na wartość True (–1).

Dim cmb As CommandBar

Set cmb = Application.CommandBars.Add("MyCommandBar")

cmb.Visible = True

Każdy obiekt CommandBar ma kolekcję CommandBarControls, która zawiera wszystkie formanty na pasku polecenia. Formanty paska polecenia są inne niż formanty formularza. Można utworzyć różne typy formantów paska poleceń, a wśród nich przyciski, pola kombi i listy rozwijalne. Można tworzyć kombinacje tych formantów w celu utworzenia niestandardowego paska narzędzi lub paska menu.

Aby odwołać się do kolekcji CommandBarControls, należy użyć właściwości Controls obiektu CommandBar. Aby dodać formant do paska poleceń, należy zastosować metodę Add z kolekcji CommandBarControls, określając typ formantu, który ma być utworzony. W poniższym przykładzie dodawany jest nowy przycisk do paska poleceń utworzonego w poprzednim przykładzie:

Dim cbc As CommandBarControl

Set cbc = cmb.Controls.Add(msoControlButton)

cbc.Caption = "Button1"

cbc.Style = msoButtonCaption

Można określić wyrażenie do obliczenia albo makro, które ma być uruchomione po kliknięciu formantu paska poleceń przez użytkownika. W tym celu należy ustawić właściwość OnAction (Przy akcji) na nazwę makra lub na wyrażenie zawierające funkcję wbudowaną lub zdefiniowaną przez użytkownika. Na przykład, w poniższym wierszu kodu właściwość OnAction obiektu CommandBarControl ustawiana jest na wyrażenie zawierające funkcję MsgBox. W tym przykładzie używane są obiekty CommandBar i CommandBarControl utworzone w dwóch poprzednich przykładach:

CommandBars("MyCommandBar").Controls("Button1").OnAction = _

"=MsgBox(""Wow!"")"

Uwaga   W przeciwieństwie do większości innych kolekcji w programie Microsoft Access, kolekcja CommandBars i wszystkie zawarte w niej kolekcje są indeksowane poczynając od 1, a nie od 0.


Tworzenie replik częściowych

Co to są repliki częściowe?

Repliki częściowe są replikami zawierającymi tylko podzbiór rekordów pełnej repliki. Aby utworzyć replikę częściową, należy określić filtr, który ogranicza dane zsynchronizowane z podzbiorem pełnej bazy danych. Używając replik częściowych można synchronizować replikę tylko z potrzebnymi danymi, a nie z całą bazą danych.

Na przykład, firma może przechowywać całą swoją bazę danych sprzedaży w biurze centralnym, a dla biur regionalnych tworzyć repliki zawierające tylko dane regionalne. Dla każdego biura regionalnego można utworzyć oddzielną replikę zawierającą tylko dane dotyczące określonego regionu. Baza danych w biurze centralnym będzie pełną repliką, z którą będzie synchronizowana każda replika częściowa.

Zalety używania replik częściowych

Repliki częściowe mogą znacznie zmniejszyć bazę danych, ponieważ trzeba replikować tylko części, z którymi często się pracuje. Synchronizacja repliki częściowej zajmuje mniej czasu, a sama replika wymaga mniej miejsca na dysku.

Repliki częściowe mogą pomóc w ograniczaniu dostępu do danych. W przypadku bazy danych sprzedaży repliki częściowe mogą pomóc w zapewnieniu, że pracownicy w regionalnych biurach handlowych nie będą mieli dostępu do danych dotyczących innych biur regionalnych. Chociaż repliki częściowe mogą być używane do ograniczaniu dostępu do rekordów, nie zastępują one systemu zabezpieczenia.

Repliki częściowe mają także przewagę w porównaniu z replikowaniem danych w sieciach lokalnych (LAN) i w sieciach rozległych (WAN). Przez ograniczenie replikowanych danych repliki częściowe mogą zmniejszyć ilość danych przesyłanych w sieciach LAN lub w sieciach rozległych. Może to zmniejszyć ruch w sieci i obniżyć koszty telekomunikacyjne.

Tworzenie repliki częściowej za pomocą obiektów dostępu do danych (DAO)

Aby utworzyć replikę częściową, należy wykonać następujące czynności:

1.	Zastosuj metodę MakeReplica na obiekcie Database  określając stałą dbRepMakePartial w argumencie opcje. Spowoduje to utworzenie repliki częściowej.

2.	Użyj właściwości ReplicaFilter i PartialReplica do ustawienia żądanych filtrów i relacji określających, które dane pełnej repliki mają być umieszczone w replice częściowej.

3.	Zastosuj metodę PopulatePartial do skopiowania wszystkich rekordów z pełnej repliki, które spełniają kryteria filtru nowej repliki.

Po zmianie danych lub kryteriów filtru w replice częściowej należy razem zastosować metody Synchronize i PopulatePartial, aby zapewnić, że wszystkie dane zostaną przeniesione do pełnej repliki oraz, że replika częściowa zostanie zaktualizowana na podstawie nowych kryteriów filtru.

Uwaga   Po utworzeniu repliki częściowej nie można jej przekształcić w replikę pełną. Po usunięciu wszystkich filtrów repliki i relacji wewnątrz repliki częściowej, będzie ona zawierała wszystkie rekordy pełnej repliki, lecz nadal będzie miała ograniczenia repliki częściowej.

Repliki częściowe i integralność referencyjna

W replice, w której obowiązują relacje wymuszające integralność referencyjną, wiele tabel bazy danych może mieć relacje do jednej tabeli, na podstawie której jest utworzony filtr. Tworząc replikę częściową należy się upewnić, że zostały dołączone wszystkie tabele powiązane z tabelą zawierającą żądane dane.

Jeśli na przykład używana jest przykładowa baza danych "Northwind", w tabeli "Pracownicy" można umieścić filtr taki, jak [IDpracownika]=1, który powoduje synchronizację rekordów tylko jednego pracownika. Ponieważ tabela "Pracownicy" jest związana relacją z tabelami "Zamówienia" i "Opisy zamówień", należy dołączyć także te tabele, aby replika zawierała odpowiednie rekordy dla tego pracownika w tych tabelach.

Może wystąpić potrzeba dołączenia innych tabel, które są tylko pośrednio związane z filtrem. Na przykład replika częściowa może zawierać listę wszystkich produktów tak, aby nowe zamówienia mogły dotyczyć dowolnego dostępnego produktu. W takim przypadku do repliki częściowej należy dołączyć tabelę "Produkty".

Należy także zwrócić uwagę na tabele w bazie danych, które nie mają wymuszonych relacji takie, jak tabele wyszukiwania lub tabele z relacjami bez wymuszania więzów integralności. Na przykład tabela, która obsługuje pole kombi może nie brać udziału w jakichkolwiek relacjach. Jeśli taka tabela zostanie dołączona, wyszukane zostaną wszystkie rekordy. W przeciwnym wypadku nie zostaną wyszukane żadne rekordy.

Dodatkowe informacje na temat replik częściowych i narzędzi do ich tworzenia można znaleźć w rozdziale 19, "Replikacja baz danych", podręcznika Tworzenie aplikacji Microsoft Access 97 oraz w dziale Technical Information miejsca sieci Microsoft Access Developer Forum Web pod adresem http://www.microsoft.com/accessdev/.


Internet - nowe możliwości dla projektantów
Internet – nowe możliwości dla projektantów

Połączenie aplikacji z siecią Internet za pomocą hiperłączy

Program Microsoft Access 97 zawiera hiperłącza ułatwiające połączenia aplikacji z siecią Internet lub siecią intranet. Hiperłącze może spowodować skok do miejsca w sieci Internet lub sieci intranet, do obiektu w lokalnej bazie danych lub w innej bazie danych albo do dokumentu w lokalnym komputerze lub w innym komputerze podłączonym do sieci.

Program Microsoft Access obsługuje nowy typ danych Hiperłącze, który może zawierać adres hiperłącza. Można zdefiniować pole tabeli o takim typie danych służące do przechowywania hiperłączy tak, jak danych w tabeli.

Hiperłącze można także dołączyć do formularza lub raportu. Trzy typy formantów mogą zawierać hiperłącza: przycisk polecenia, etykieta, i obraz.  Każdy z tych formantów ma właściwość Hyperlink, która zwraca obiekt Hyperlink reprezentujący hiperłącze zawarte w formancie. Każdy formant ma także właściwość HyperlinkAddress (AdresHiperłącza) i HyperlinkSubAddress (PodadresHiperłącza), które są używane do ustawiania lub zwracania adresu i podadresu hiperłącza.

Kliknięcie formantu zawierającego hiperłącze powoduje utworzenie hiperłącza, a także wyzwala zdarzenie Click formantu. Po utworzeniu hiperłącza otwiera się dokument lub obiekt określony przez właściwości HyperlinkAddress i HyperlinkSubAddress. Jeśli na przykład właściwość HyperlinkAddress odwołuje się do formularza w bazie danych programu Microsoft Access, otwiera się ten formularz. Jeśli odwołuje się do dokumentu programu Microsoft Word w innym komputerze, który jest dostępny za pośrednictwem sieci, otwiera się program Microsoft Word, a w nim otwiera się dokument. Jeśli odwołuje się do adresu w sieci World Wide Web, otwiera się przeglądarka Web (na przykład Microsoft Internet Explorer), a w niej wyświetlana jest strona Web.

W kodzie języka Visual Basic można symulować skutek kliknięcia hiperłącza przez zastosowanie metody Follow obiektu Hyperlink lub metody FollowHyperlink obiektu Application. Na przykład, w procedurze zdarzenia Load formularza można dołączyć kod, który tworzy określone hiperłącze przy otwieraniu formularza.

Przeglądanie stron Web za pomocą formantu Microsoft WebBrowser

Formant Microsoft WebBrowser jest formantem ActiveX umożliwiającym przeglądanie stron sieci Web i innych dokumentów w sieci Internet lub w sieci intranet z formularza programu Microsoft Access. Formant WebBrowser znajduje się w programie Microsoft Internet Explorer 3.0, który jest dołączony do pakietu Microsoft Office 97. Program Microsoft Internet Explorer można także bezpłatnie załadować z miejsca sieci Web związanego z firmą Microsoft http://www.microsoft.com/).). Dokumentację dotyczącą formantu WebBrowser można znaleźć pod adresem http://www.microsoft.com/intdev/sdk/docs/iexplore/.Jeśli pakiet Microsoft Office 97 został zakupiony na dysku CD-ROM, można przejrzeć plik Pomocy zawierający te informacje kopiując go z pakietu Office 97 ValuPack. Informacje na temat uzyskania pliku Pomocy formantu WebBrowser z pakietu ValuPack można znaleźć w temacie Office 97 ValuPack – informacje.

Formant WebBrowser jest automatycznie rejestrowany z systemem operacyjnym podczas instalacji programu Internet Explorer, dzięki czemu można go używać z programu Microsoft Access bez uprzedniej rejestracji. Aby do formularza dodać formant WebBrowser, należy kliknąć polecenie Formant ActiveX w menu Wstaw, a następnie kliknąć nazwę Microsoft Web Browser Control na liście formantów ActiveX.

Po dodaniu formantu WebBrowser do formularza można stosować jego metodę Navigate do otwierania strony Web w oknie WebBrowser. Na przykład po dodaniu do formularza formantu WebBrowser o nazwie ActiveXCtl0 można dla tego formularza utworzyć następującą procedurę zdarzenia Load.

Private Sub Form_Load

Me!ActiveXCtl0.Navigate "http://www.microsoft.com/"

End Sub

Zapisywanie danych jako HTML

Istnieje kilka sposobów zapisywania obiektów Microsoft Access w formacie HTML. Dodatkowe informacje można znaleźć w temacie Eksportowanie tabeli, kwerendy, formularza lub raportu w formacie HTML.

Importowanie lub łączenie danych z tabel HTML

Dane sformatowane jako tabela HTML mogą być importowane do lub łączone z bazą danych programu Microsoft Access. Dodatkowe informacje można znaleźć w temacie Importowanie lub łączenie (tylko do odczytu) tabel i list HTML.

Synchronizacja replik bazy danych na serwerze Internetu

Można synchronizować repliki bazy danych w sieci Internet ustawiając znacznik dbRepSyncInternet przy stosowaniu metody Synchronize.

Dodatkowe informacje na temat korzystania z funkcji sieci Internet/intranet w programie Microsoft Access można znaleźć w rozdziale 21, "Tworzenie aplikacji dla Internetu i dla sieci WWW", podręcznika Tworzenie aplikacji Microsoft Access 97. Dodatkowe informacje na temat korzystania z formantów ActiveX można znaleźć w rozdziale 16, "Używanie formantów ActiveX", tego samego podręcznika.


Używanie technologii ODBCDirect w programie Microsoft Access

Co to jest ODBCDirect?

ODBCDirect jest technologią umożliwiającą pracę z serwerami baz danych ODBC bez potrzeby ładowania aparatu bazy danych Microsoft Jet. Technologia ODBCDirect polega na wykorzystaniu modelu obiektu Microsoft DAO 3.5, dzięki czemu można z łatwością zmodyfikować istniejący kod DAO, aby wykorzystać zalety tej technologii. Model Microsoft DAO 3.5 zawiera nowe obiekty, metody i właściwości przeznaczone do obsługi technologii ODBCDirect.

Zalety korzystania z dostępu do danych ODBC za pomocą technologii ODBCDirect

Technologia ODBCDirect ma następujące zalety w operacjach ODBC:

•	Technologia ODBCDirect może przyspieszyć wykonywanie kodu i zwiększyć jego efektywność przez zapewnienie bezpośredniego dostępu do źródeł danych ODBC. Ponieważ nie jest wymagane ładowanie aparatu bazy danych Microsoft Jet, technologia ODBCDirect zużywa mniej zasobów po stronie klienta. Za całe przetwarzanie kwerendy odpowiedzialny jest serwer ODBC.

•	Technologia ODBCDirect zapewnia łatwiejszy dostęp do specjalnych funkcji serwera, które nie są dostępne przy korzystaniu z ODBC za pomocą aparatu bazy danych Microsoft Jet. Na przykład, dla serwerów obsługujących specyfikację kursora, technologia ODBCDirect umożliwia określenie miejsca położenia kursorów, zarówno lokalnie, jak i na serwerze. Ponadto, aby umożliwić współdziałanie z procedurami przechowywanymi  na poziomie serwera można określać wartości wejściowe i sprawdzać wartości zwracane, co jest niemożliwe przy korzystaniu z aparatu bazy danych Microsoft Jet.

•	Technologia ODBCDirect obsługuje także kwerendy asynchroniczne. Podczas wykonywania kwerendy nie trzeba czekać na jej zakończenie przed rozpoczęciem następnej operacji. Stan zaawansowania wykonywania kwerendy można śledzić sprawdzając właściwość StillExecuting.

•	Technologia ODBCDirect obsługuje aktualizację wsadową, co umożliwia lokalne buforowanie zmian obiektu Recordset, a następnie przekazywanie tych zmian do serwera w postaci jednego pliku wsadowego.

•	Dzięki technologii ODBCDirect można tworzyć proste bezkursorowe zestawy wyników lub bardziej złożone kursory. Można także uruchamiać kwerendy zwracające dowolną liczbę zestawów wyników. Można ograniczać liczbę zwracanych wierszy i monitorować wszystkie komunikaty i błędy generowane przez zdalne źródło danych bez zmniejszania szybkości wykonywania kwerendy.

Tworzenie obszaru roboczego ODBCDirect

Obszar roboczy ODBCDirect można utworzyć określając stałą dbUseODBC dla argumentu typ metody CreateWorkspace. Można także określić, że obszar roboczy ODBCDirect ma być tworzony domyślnie ustawiając właściwość DefaultType obiektu DBEngine.

Po utworzeniu obszaru roboczego ODBCDirect, do pracy z danymi na serwerze bazy danych ODBC można używać specjalnych obiektów, właściwości i metod DAO.

Zalety korzystania z dostępu do danych ODBC za pomocą aparatu bazy danych Microsoft Jet

Obszary robocze aparatu bazy danych Microsoft Jet i technologii ODBCDirect zapewniają różne lecz uzupełniające się funkcje. Aparatu bazy danych Microsoft Jet należy używać do dostępu do danych w plikach .mdb i w formacie ISAM, takich jak pliki tekstowe i arkusze kalkulacyjne. Aparat bazy danych Microsoft Jet zapewnia wyjątkowe możliwości, które nie są dostępne w technologii ODBCDirect, a wśród nich następujące:

•	Sprzężenia aktualizowalne. Do aktualizacji danych w obiektach Recordset opartych na sprzężeniach wielotabelowych trzeba korzystać z obszaru roboczego aparatu bazy danych Microsoft Jet.

•	Sprzężenia heterogeniczne. Do wykonywania sprzężeń tabel w różnych źródłach danych trzeba korzystać z obszaru roboczego aparatu bazy danych Microsoft Jet.

•	Operacje języka definicji danych (DDL). Do wykonywania operacji DDL za pomocą DAO trzeba korzystać z obszaru roboczego aparatu bazy danych Microsoft Jet. Technologia ODBCDirect nie zawiera obiektu TableDef, toteż nie można tworzyć ani modyfikować tabel za pomocą DAO. Można jednak wykonywać operacje DDL za pomocą technologii ODBCDirect, aby wykonać instrukcję SQL DDL.

•	Wiązanie formularzy i formantów. Jeśli aplikacja wymaga, aby formularze lub formanty były powiązane z danymi w źródle danych ODBC, należy użyć aparatu bazy danych Microsoft Jet. Dane w obszarze roboczym ODBCDirect nie mogą być związane z formularzami ani formantami.

Jeśli wymienione wyżej funkcje nie są potrzebne, można korzystać z obszaru roboczego ODBCDirect.

Uwaga   W aplikacjach można definiować oba obszary robocze Microsoft Jet i ODBCDirect i mieszać je w dowolny sposób. Można na przykład w tej samej funkcji zdefiniować obszar roboczy Microsoft Jet do wykonywania operacji DDL za pomocą DAO i jednocześnie zdefiniować obszar roboczy ODBCDirect do wykonywania kwerend asynchronicznych.


Formant Karta - nowe możliwości dla projektantów
Formant Karta – nowe możliwości dla projektantów

Program Microsoft Access 97 zawiera nowy formant karty, który może być używany do grupowania zestawów formantów w jednym formancie. Można na przykład utworzyć okno dialogowe zawierające karty, przy czym na różnych kartach mogą być zgrupowane różne typy opcji.

Poszczególne strony formantu karty odpowiadają obiektom Page w kolekcji Pages formantu karty. Każdy obiekt Page ma własną kolekcję Controls, która zawiera obiekty Control na danej stronie.

Aby dodać nową stronę do formantu karty, należy zastosować metodę Add kolekcji Pages. Aby usunąć stronę z formantu karty, należy zastosować metodę Remove.

Właściwość Value formantu karty wskazuje, która strona jest obecnie zaznaczona. Zwraca ona liczbę całkowitą wskazującą położenie zaznaczonej strony w kolekcji Pages. Jeśli na przykład zaznaczona jest pierwsza strona formantu karty, właściwość Value zwraca wartość 0, numer indeksu pierwszej strony w kolekcji Pages. Jeśli zaznaczona jest druga strona, właściwość Value zwraca wartość 1 itd. Położenie strony w kolekcji odpowiada wartości właściwości PageIndex tej strony.


Przechwytywanie błędów

Instrukcja On Error GoTo służy do przechwytywania błędów i przekazywania sterowania do miejsca, w którym znajdują się instrukcje zawierające obsługę błędów w obrębie procedury. Na przykład poniższa instrukcja przekazuje sterowanie do wiersza oznaczonego etykietą ErrorHandler:

On Error GoTo ErrorHandler

Należy się upewnić, że każda etykieta obsługi błędów w procedurze ma unikatową nazwę, która nie będzie kolidować z jakimkolwiek innym elementem w procedurze, a do nazwy dodany jest dwukropek. W procedurze przed etykietą obsługi błędów należy umieścić instrukcję Exit Sub lub Exit Function, aby kod sprawdzania błędu nie był wykonywany, jeśli błąd nie wystąpi.

Sub CausesAnError()

' Direct procedure flow.

On Error GoTo ErrorHandler

' Raise division by zero error.

Err.Raise 11

Exit Sub

ErrorHandler:

' Display error information.

MsgBox "Error number " & Err.Number & ": " & Err.Description

' Resume with statement following occurrence of error.

Resume Next

End Sub

Metoda Raise obiektu Err powoduje wygenerowanie określonego błędu. Właściwość Number obiektu Err zwraca numer odpowiadający ostatniemu błędowi wykonania. Właściwość Description (Opis) zwraca odpowiedni tekst komunikatu dla danego błędu.

Uwagi

•	W wersjach 1.x i 2.0 programu Microsoft Access można było stosować instrukcję Error, która powodowała wygenerowanie błędu, funkcję Err, która zwracała numer błędu i funkcję Error, zwracającą opis błędu. Istniejący kod obsługi błędu, w którym korzysta się z instrukcji Error oraz funkcji Error będzie nadal działał prawidłowo. Przy pisaniu nowego kodu zaleca się jednak korzystanie z obiektu Err oraz jego właściwości i metod.

•	W wersjach 1.x i 2.0 programu Microsoft Access dla wszystkich błędów automatyzacji zwracany był  tylko jeden błąd. Składnik typu ActiveX aplikacji, która spowodowała wygenerowanie tego błędu zwraca obecnie te same informacje o błędzie, które byłyby zwrócone przy pracy w tej aplikacji. Aby obsłużyć poprawnie nowe błędy automatyzacji, należałoby napisać ponownie istniejący kod obsługi błędów.

•	Aby zwrócić opisowy ciąg znaków powiązany z błędem programu Microsoft Access lub z błędem obiektów dostępu do danych (DAO), który w rzeczywistości nie wystąpił w danym kodzie programu, można zastosować metodę AccessError.

Dodatkowe informacje dotyczące ustawiania pułapek błędów oraz pisania instrukcji obsługi błędów można znaleźć w rozdziale 8, "Obsługa błędów wykonania programu", podręcznika Tworzenie aplikacji Microsoft Access 97.


Wywoływanie procedur w podformularzu lub w podraporcie

Procedurę zawartą w module związanym z podformularzem lub podraportem można wywołać na jeden z dwu sposobów. Jeśli formularz zawierający żądany podformularz jest otwarty w widoku "Formularz", to do procedury można odwołać się tak, jak do metody w podformularzu. W poniższym przykładzie zostało pokazane wywołanie procedury ListNames (ListaNazwisk) w formularzu "Orders Subform" (Zamówienia – podformularz), który jest połączony z formantem podformularza w formularzu "Orders" (Zamówienia):

Forms!Orders![Orders Subform].Form.ListNames

Można również utworzyć nową instancję formularza używanego jako podformularz, nawet jeśli ani formularz główny, ani podformularz nie są otwarte, i wywołać procedurę. Postępowanie takie jest skuteczne w przypadku dowolnego formularza, niezależnie od tego, czy jest on wykorzystywany jako podformularz, czy też nie. W poniższym przykładzie został przedstawiony sposób tworzenia instancji formularza "Orders Subform" (Zamówienia – podformularz) i wywołania procedury ListNames (ListaNazwisk):

Dim frm As New [Form_Orders Subform]

frm.ListNames

Uwaga   Przy tworzeniu nowej instancji formularza o nazwie składającej się z kilku wyrazów należy nazwę klasy ująć w nawiasy kwadratowe, jak to zostało pokazane w powyższym przykładzie.


Elementy obsługi błędów wykonania

Błędy i obsługa błędów

Podczas programowania aplikacji trzeba rozważyć, co ma się dziać, gdy wystąpi błąd. Błąd może wystąpić w aplikacji z dwóch powodów. Po pierwsze, w pewnych warunkach, podczas wykonywania aplikacji zawodzi kod, który w innych warunkach jest prawidłowy. Na przykład, jeśli w kodzie jest zaprogramowana próba otwarcia tabeli, która została usunięta, wystąpi błąd. Po drugie, kod może zawierać błędy logiczne, które sprawiają, że wyniki jego działania są inne od oczekiwanych. Na przykład, błąd występuje podczas próby dzielenia przez zero.

Jeśli w aplikacji nie została zaimplementowana obsługa błędów, to w przypadku wystąpienia błędu język Visual Basic przerywa wykonywanie kodu i wyświetla komunikat o błędzie. Takie zachowanie aplikacji prawdopodobnie denerwowałoby jej przyszłego użytkownika. Można uniknąć wielu problemów przez dołączenie do kodu procedur, które będą obsługiwały wszelkie możliwe błędy.

Dodając moduł obsługi błędów do procedury, należy określić, jak procedura pokieruje dalszym wykonywaniem kodu w przypadku wystąpienia błędu. Pierwszym krokiem jest włączenie programu obsługi błędów przez umieszczenie w procedurze instrukcji w rodzaju On Error. Instrukcja On Error odpowiednio kieruje wykonywaniem kodu w przypadku błędu. Jeśli nie ma instrukcji On Error, język Visual Basic po prostu przerywa wykonywanie kodu i wyświetla komunikat o błędzie.

Gdy błąd występuje w procedurze z włączonym programem obsługi błędów, język Visual Basic nie wyświetla standardowego komunikatu o błędzie. Zamiast tego wykonywanie kodu zostaje skierowane do programu obsługi błędów, jeśli taki istnieje. Przekazanie wykonywania kodu do włączonego programu obsługi błędów uaktywnia go. W aktywnym programie obsługi błędów można określić rodzaj błędu, który wystąpił, a także wybrać sposób jego obsługi. W programie Microsoft Access istnieją dwa obiekty zawierające informacje o zaistniałych błędach, obiekt języka Visual Basic Err i obiekt DAO, Error.

Więcej informacji na temat obsługi błędów można znaleźć w rozdziale 8, "Obsługa błędów wykonania programu", podręcznika Tworzenie aplikacji Microsoft Access 97.

Kierowanie wykonywaniem kodu w przypadku wystąpienia błędu

Program obsługi błędów określa, co ma się zdarzyć w obrębie procedury, gdy wystąpi błąd. Można na przykład określić, że w przypadku pewnych błędów wykonywanie procedury ma się zakończyć; można też usunąć przyczynę błędu i wznowić wykonywanie. Instrukcje On Error i Resume określają, w jaki sposób kontynuowane jest wykonywanie procedury w przypadku wystąpienia błędu.

Instrukcja On Error

Instrukcja On Error włącza lub wyłącza procedurę obsługi błędów. Jeśli procedura obsługi błędów jest włączona, to w przypadku błędu wykonywanie kodu jest przekazywane do tej procedury.

Istnieją trzy formy instrukcji On Error: On Error GoTo etykieta, On Error GoTo 0 i On Error Resume Next. Instrukcja On Error GoTo etykieta włącza program obsługi błędów, począwszy od wiersza, w którym znajduje się ta instrukcja. Program obsługi błędów należy włączyć przed pierwszym wierszem, w którym może wystąpić błąd. Gdy program obsługi błędów jest aktywny, wykonywanie kodu jest przekazywane do wiersza określonego przez argument etykieta.

Wiersz określony przez argument etykieta powinien być początkiem procedury obsługi błędów. Na przykład, w poniższej procedurze określono, że jeśli wystąpi błąd, wykonywanie kodu jest przekazywane do wiersza oznaczonego etykietą Error_MayCauseAnError:

Function MayCauseAnError()

' Enable error handler.

On Error GoTo Error_MayCauseAnError

.	' Include code here that may generate error.

.

.

Error_MayCauseAnError:

.	' Include code here to handle error.

.

.

End Function

Instrukcja On Error GoTo 0 wyłącza obsługę błędów w obrębie procedury. Wiersz 0 nie jest określony jako początek kodu obsługi błędów, nawet jeśli procedura zawiera wiersz oznaczony numerem 0. Jeśli kod nie zawiera instrukcji On Error GoTo 0, program obsługi błędów jest automatycznie wyłączany, gdy wykonywanie procedury zostanie zakończone. Instrukcja On Error GoTo 0 przywraca ustawienia właściwości obiektu Err, co daje taki sam efekt, jak zastosowanie metody Clear obiektu Err.

Instrukcja On Error Resume Next ignoruje wiersz, który spowodował błąd i kieruje wykonywanie do wiersza następującego po nim. Wykonywanie kodu nie jest przerywane. Instrukcji On Error Resume Next można użyć, chcąc sprawdzić właściwości obiektu Err bezpośrednio po wierszu, który może spowodować błąd, i obsłużyć błąd w obrębie procedury, a nie za pomocą programu obsługi błędów.

Instrukcja Resume

Instrukcja Resume kieruje wykonywanie kodu z programu obsługi błędów z powrotem do procedury. Instrukcję Resume można umieścić w procedurze obsługi błędów chcąc, aby wykonywanie kodu było kontynuowane od określonego punktu w procedurze. Jednak instrukcja Resume nie jest konieczna; można również zakończyć procedurę po procedurze obsługi błędów.

Istnieją trzy formy instrukcji Resume. Instrukcja Resume lub Resume 0 zwraca wykonywanie kodu do wiersza, w którym wystąpił błąd. Instrukcja Resume Next zwraca wykonywanie do wiersza następującego bezpośrednio po wierszu, który spowodował błąd. Instrukcja Resume etykieta zwraca wykonywanie do wiersza określonego przez argument etykieta. Argument etykieta musi oznaczać etykietę wiersza lub numer wiersza.

Instrukcja Resume lub Resume 0 używana jest zazwyczaj, gdy użytkownik musi wprowadzić poprawki. Na przykład, jeśli użytkownik jest monitowany o podanie nazwy tabeli, która ma być otwarta, i wprowadzi on nazwę tabeli nieistniejącej, można ponownie wyświetlić monit i wznowić wykonywanie od instrukcji, która spowodowała błąd.

Instrukcji Resume Next można użyć, gdy błąd jest poprawiany w programie obsługi błędów, a wykonywanie ma być wznowione bez ponownego wykonywania wiersza, który spowodował błąd. Instrukcji Resume etykieta można użyć, chcąc aby wykonywanie zostało wznowione w innym punkcie procedury, określonym przez argument etykieta. Można na przykład wznowić wykonywanie na procedurze wyjścia, jak to zostało opisane w następnym paragrafie.

Wyjście z procedury

Jeśli do wykonywanej procedury zostanie dołączona procedura obsługi błędów, należy również dołączyć procedurę wyjścia, dzięki czemu procedura obsługi błędów będzie uruchomiona tylko wtedy, gdy wystąpi błąd. Można określić procedurę wyjścia z etykietą wiersza, w taki sam sposób, w jaki określa się procedurę obsługi błędów.

Można na przykład dodać procedurę wyjścia do przykładu przedstawionego w poprzednim paragrafie. Jeśli błąd nie wystąpi, procedura wyjścia jest uruchamiana po wykonaniu głównej części procedury. Jeśli błąd wystąpi, wykonywanie jest przekazywane do procedury wyjścia po wykonaniu kodu w procedurze obsługi błędów. Procedura wyjścia zawiera instrukcję Exit.

Function MayCauseAnError()

' Enable error handler.

On Error GoTo Error_MayCauseAnError

.	' Include code here that may generate error.

.

.

Exit_MayCauseAnError:

Exit Function

Error_MayCauseAnError:

.	' Include code to handle error.

.

.

' Resume execution with exit routine to exit function.

Resume Exit_MayCauseAnError

End Function

Obsługa błędów w procedurach zagnieżdżonych

Kiedy błąd występuje w procedurze zagnieżdżonej, która nie ma włączonego programu obsługi błędów, język Visual Basic szuka wśród poprzednich wywołań wywołania tego programu w innej procedurze, nie zatrzymując wykonywania procedury. Pozwala to na poprawienie błędu w obrębie innej procedury. Na przykład, przypuśćmy, że procedura A wywołuje procedurę B, a procedura B wywołuje procedurę C. Jeśli błąd wystąpi w procedurze C, a nie jest włączony program obsługi błędów, język Visual Basic szuka włączonego programu obsługi błędów w procedurze B, a następnie w procedurze A. Jeśli taki program istnieje, wykonywanie zostaje przekazane do niego. Jeśli nie, wykonywanie zostaje przerwane i wyświetlany jest komunikat o błędzie.

Język Visual Basic szuka wśród poprzednich wywołań włączonego programu obsługi błędów również wtedy, gdy błąd wystąpi w obrębie aktywnego programu obsługi błędów. Można wymusić w języku Visual Basic przeszukiwanie w tył listy poprzednich wywołań przez generację błędu w obrębie aktywnego programu obsługi błędów za pomocą metody Raise obiektu Err. Jest to przydatne przy obsłudze błędów, które nie są spodziewane w obrębie programu obsługi błędów. Jeśli wystąpi niespodziewany błąd i zostanie on ponownie wygenerowany w programie obsługi błędów, lista poprzednich wywołań jest przeszukiwana w tył, w celu znalezienia innego programu, który może być ustawiony na obsługę tego błędu.

Na przykład, przypuśćmy, że procedura C ma włączony program obsługi błędów, ale program ten nie poprawia błędu, który wystąpił. Gdy program obsługi błędów sprawdzi wszystkie błędy, które zostały przewidziane, może on ponownie wygenerować pierwotny błąd. Wykonywanie zostaje wtedy przekazane w tył listy wywołań do programu obsługi błędów w procedurze B, jeśli taki istnieje, umożliwiając poprawienie błędu przez ten program. Jeśli w procedurze B nie istnieje program obsługi błędów lub istnieje on, ale nie potrafi poprawić błędu i ponownie go generuje, wykonywanie zostaje przekazane do programu obsługi błędów w procedurze A, zakładając, że taki istnieje.

Aby zilustrować ten schemat w inny sposób, rozważmy zagnieżdżoną procedurę, która zawiera program obsługi błędu niezgodności typów – błędu przewidywanego. Przypuśćmy, że w pewnym miejscu procedury C wystąpił błąd dzielenia przez zero, który nie był przewidziany. Jeśli została dołączona instrukcja ponownie generująca pierwotny błąd, wykonywanie zostaje przekazane w tył, do następnego włączonego programu obsługi błędów, jeśli taki istnieje. Jeśli błąd dzielenia przez zero jest poprawiony w następnej procedurze z listy wywołań, błąd zostanie poprawiony. Jeśli kod nie generuje ponownie błędu, wykonywanie procedury jest kontynuowane bez poprawiania błędu dzielenia przez zero. Może to z kolei spowodować wystąpienie innych błędów w zestawie zagnieżdżonych procedur.

Podsumowując, język Visual Basic przeszukuje w tył listę wywołań w poszukiwaniu włączonego programu obsługi błędów, jeśli:

•	Błąd wystąpi w procedurze, która nie ma włączonego programu obsługi błędów.

•	Błąd wystąpi w obrębie aktywnego programu obsługi błędów. Jeśli w celu wygenerowania błędu zostanie użyta metoda Raise obiektu Err, można wymusić w języku Visual Basic przeszukiwanie w tył listy wywołań w poszukiwaniu włączonego programu obsługi błędów.

Uzyskiwanie informacji o błędzie

Po przekazaniu wykonywania do procedury obsługi błędów, kod musi określić, jaki błąd wystąpił i obsłużyć go. Język Visual Basic i program Microsoft Access dostarczają kilku elementów języka, których można użyć do uzyskania informacji o określonym błędzie. Każdy z nich jest przystosowany do innego rodzaju błędów. Ponieważ błędy mogą występować w różnych częściach aplikacji, trzeba zdecydować, którego elementu użyć w kodzie, w oparciu o to, jakie błędy są przewidywane.

Do elementów języka związanych z obsługą błędów należą:

•	Obiekt Err.

•	Obiekt Error i kolekcja Errors.

•	Metoda AccessError.

•	Zdarzenie Error.

Obiekt Err

Obiekt Err jest elementem języka Visual Basic. Gdy występuje błąd języka Visual Basic, informacje o tym błędzie są przechowywane w obiekcie Err. Obiekt Err przechowuje na raz informacje tylko o jednym błędzie. Gdy występuje nowy błąd, obiekt Err jest aktualizowany i przechowywana w nim informacja jest zastępowana informacją o nowym błędzie.

Aby uzyskać informacje o określonym błędzie, można użyć właściwości i metod obiektu Err. Właściwość Number jest właściwością domyślną obiektu Err. Zwraca ona numer identyfikujący błąd, który wystąpił. Właściwość Description obiektu Err zwraca opis błędu języka Visual Basic. Metoda Clear czyści bieżącą informację przechowywaną w obiekcie Err. Metoda Raise generuje określony błąd i wypełnia właściwości obiektu Err informacjami o tym błędzie.

W poniższym przykładzie zostało pokazane, jak użyć obiektu Err w procedurze, która może spowodować błąd niezgodności typów:

Function MayCauseAnError()

' Declare constant to represent likely error.

Const conTypeMismatch As Integer = 13

On Error GoTo Error_MayCauseAnError

.	' Include code here that may generate error.

.

.

Exit_MayCauseAnError:

Exit Function

Error_MayCauseAnError:

' Check Err object properties.

If Err = conTypeMismatch Then

.	' Include code to handle error.

.

.

Else

' Regenerate original error.

Dim intErrNum As Integer

intErrNum = Err

Err.Clear

Err.Raise intErrNum

End If

' Resume execution with exit routine to exit function.

Resume Exit_MayCauseAnError

End Function

Należy zauważyć, że w tym przykładzie metoda Raise została użyta do ponownego wygenerowania pierwotnego błędu. Jeśli wystąpi inny błąd niż błąd niezgodności typów, wykonywanie zostanie przekazane w tył listy wywołań do następnego włączonego programu obsługi błędów, jeśli taki istnieje.

Obiekt Err dostarcza wszystkich niezbędnych informacji o błędach języka Visual Basic. Jednak nie dostarcza on pełnej informacji o błędach programu Microsoft Access i aparatu bazy danych Microsoft Jet. Program Microsoft Access i obiekty dostępu do danych (DAO) dostarczają dodatkowych elementów języka pomagających w obsłudze tych błędów.

Obiekt Error i kolekcja Errors

Obiekt Error i kolekcja Errors są elementami obiektów DAO. Obiekt Error reprezentuje błąd DAO. Pojedyncza operacja DAO może spowodować kilka błędów, szczególnie jeśli wykonywane są operacje ODBC. Każdy błąd występujący w czasie określonej operacji dostępu do danych ma związany z nim obiekt Error. Wszystkie obiekty Error związane z określoną operacją DAO są przechowywane w kolekcji Errors, z błędem najniższego poziomu jako pierwszym i z błędem najwyższego poziomu jako ostatnim obiektem w kolekcji.

Kiedy występuje błąd DAO, obiekt Err języka Visual Basic zawiera numer błędu odpowiadający pierwszemu obiektowi w kolekcji Errors. Aby określić, czy wystąpiły dodatkowe błędy DAO, trzeba sprawdzić kolekcję Errors. Wartości właściwości Number i Description pierwszego obiektu Error w kolekcji Errors powinny pasować do wartości Number i Description obiektu Err języka Visual Basic.

Metoda AccessError

Można użyć metody Raise obiektu Err, aby wygenerować błąd języka Visual Basic, który w rzeczywistości nie wystąpił i poznać opis tego błędu. Nie można jednak użyć metody Raise do wygenerowania błędu programu Microsoft Access i operacji DAO. Aby poznać opis błędu programu Microsoft Access lub operacji DAO, który nie wystąpił, należy użyć metody AccessError.

Zdarzenie Error

Można używać zdarzenia Error do wychwytywania błędów, które występują w formularzu lub raporcie programu Microsoft Access. Na przykład, jeśli użytkownik próbuje wprowadzić tekst w polu tekstowym, którego typem danych jest Data/Godzina, występuje zdarzenie Error. Jeśli do formularza “Pracownicy” zostanie dodana procedura zdarzenia Error, to gdy użytkownik próbuje wprowadzić wartość tekstową w polu “DataZatrudnienia”, uruchamiana jest procedura zdarzenia Error.

Procedura zdarzenia Error pobiera argument DataErr, będący liczbą całkowitą. Gdy procedura zdarzenia Error zostaje uruchomiona, argument DataErr zawiera numer zaistniałego błędu programu Microsoft Access. Sprawdzenie wartości argumentu DataErr w procedurze zdarzenia jest jedynym sposobem określenia numeru błędu, który wystąpił. Obiekt Err nie jest wypełniany informacjami po wystąpieniu zdarzenia Error. Używając metody AccessError można na podstawie wartości argumentu DataErr określić numer błędu i poznać jego opis.

Uwaga   Instrukcja Error i funkcja Error są obsługiwane tylko dla zachowania zgodności z poprzednimi wersjami. Pisząc nowy kod należy do uzyskiwania informacji o błędach używać obiektów Err i Error, metody AccessError i zdarzenia Error.


Initialize, zdarzenie

Zdarzenie Initialize dla modułu klasy występuje, gdy użytkownik tworzy instancję tego modułu klasy.

Uwaga   Aby uruchomić kod, gdy występuje zdarzenie Initialize, trzeba umieścić ten kod w procedurze zdarzenia Initialize w module klasy.

Uwagi

Zdarzenie Initialize występuje, gdy użytkownik:

•	Tworzy nową instancję klasy bezpośrednio, używając słowa kluczowego New.

•	Tworzy nową instancję klasy pośrednio, przez ustawienie lub zwrócenie właściwości albo zastosowanie metody zdefiniowanej w module klasy.


Initialize, zdarzenie - procedura zdarzenia
Initialize, zdarzenie – procedury zdarzenia

Aby utworzyć procedurę zdarzenia dla zdarzenia Initialize, należy otworzyć moduł klasy i kliknąć opcję Klasa w polu Obiekt. Następnie należy kliknąć opcję Initialize w polu Procedura.

Składnia

Private Sub Class_Initialize( )

Uwagi

Można użyć tej procedury zdarzenia do uruchomienia kodu, gdy tworzona jest instancja klasy lub do zainicjowania dowolnych danych używanych przez tę instancję klasy.

Zdarzenie Initialize występuje, gdy użytkownik tworzy nową instancję klasy używając słowa kluczowego New. Rozważmy na przykład klasę o nazwie CustomObject. Można dodać do procedury w module standardowym instrukcję deklaracji, która tworzy nową instancję klasy CustomObject, jak to zostało pokazane w poniższym przykładzie:

Dim obj As New CustomObject

Kiedy zostaje uruchomiona procedura zawierająca tę deklarację, język Visual Basic tworzy nową instancję klasy CustomObject i występuje zdarzenie Initialize.

Zdarzenie Initialize występuje również, gdy użytkownik tworzy instancję klasy przez ustawienie lub zwrócenie właściwości albo zastosowanie metody zdefiniowanej w module klasy. Przypuśćmy na przykład, że została zdefiniowana procedura typu Function o nazwie ListNames w obrębie modułu klasy CustomObject. Aby uruchomić tę funkcję z innego modułu, należy ją określić podając również nazwę modułu klasy, jak to zostało pokazane w poniższym przykładzie:

CustomObject.ListNames

Określenie tej funkcji wraz z podaniem nazwy modułu klasy tworzy instancję tego modułu klasy, co powoduje wystąpienie zdarzenia Initialize.


Terminate, zdarzenie

Zdarzenie Terminate dla modułu klasy występuje, gdy wszystkie odwołania do instancji tej klasy zostają usunięte z pamięci.

Uwaga   Aby uruchomić kod, gdy występuje zdarzenie Terminate, trzeba umieścić ten kod w procedurze zdarzenia Terminate w module klasy.

Uwagi

Zdarzenie to występuje tylko wtedy, gdy odwołania do instancji klasy zostają usunięte z pamięci.


Terminate, zdarzenie - procedura zdarzenia
Terminate, zdarzenie – procedury zdarzenia

Aby utworzyć procedurę zdarzenia dla zdarzenia Terminate, należy otworzyć moduł klasy i kliknąć opcję Klasa w polu Obiekt. Następnie należy kliknąć opcję Terminate w polu Procedura.

Składnia

Private Sub Class_Terminate( )

Uwagi

Aby usunąć z pamięci odwołanie do instancji klasy, można ustawić zmienną, z którą skojarzone jest to odwołanie, na wartość Nothing. Przypuśćmy na przykład, że została utworzona instancja klasy o nazwie CustomObject i że została ona przypisana do zmiennej obiektowej o nazwie obj. Gdy zmienna obj zostanie ustawiona na wartość Nothing, odniesienie do instancji klasy jest usuwane z pamięci. Gdy wszystkie odniesienia do tej instancji klasy zostaną usunięte z pamięci, wystąpi zdarzenie Terminate.

Odniesienie do instancji klasy zostanie również usunięte z pamięci, gdy przypisana do niej zmienna wyjdzie poza zakres, w którym jest zdefiniowana. Na przykład, jeśli zmienna jest zdefiniowana w procedurze, wyjdzie ona poza zakres, gdy wykonywanie procedury zostanie zakończone. Jeśli zmienna jest zdefiniowana na poziomie modułu w module standardowym, wyjdzie ona poza zakres po zresetowaniu kodu. Jeśli wszystkie odwołania do instancji klasy zostaną usunięte w ten sposób, wystąpi zdarzenie Terminate.

Zdarzenie Terminate nie zachodzi, jeśli instancje klasy zostaną usunięte z pamięci z powodu nienormalnego przerwania programu Microsoft Access. Na przykład, jeśli kod wywołuje metodę Quit obiektu Application programu Microsoft Access przed usunięciem wszystkich istniejących instancji klasy z pamięci, zdarzenie Terminate nie zachodzi dla tej klasy.


ApplyFilter, zdarzenie

Zdarzenie ApplyFilter występuje, gdy użytkownik wykona jedną z następujących czynności:

•	Kliknie polecenie Zastosuj filtr/sortowanie w menu Rekordy w widoku "Formularz", kliknie polecenie  Zastosuj filtr/sortowanie w menu Filtr w oknie filtru lub kliknie przycisk Zastosuj filtr [image]  na pasku narzędzi. Dotyczy to ostatnio utworzonego filtru (utworzonego metodą Filtruj według formularza lub w oknie Zaawansowany filtr/sortowanie.)

•	W menu Rekordy w widoku "Formularz" wskaże polecenie Filtruj i kliknie polecenie Filtruj według wyboru lub kliknie przycisk Filtruj według wyboru [image]  na pasku narzędzi. Dotyczy to filtru opartego na bieżącym wyborze w formularzu.

•	W menu Rekordy w widoku "Formularz" wskaże polecenie Filtruj i kliknie polecenie Filtruj z wyłączeniem wyboru. Powoduje to zastosowanie filtru z wyłączeniem bieżącego zaznaczenia na formularzu.

•	Kliknie polecenie Usuń filtr/sortowanie w menu Rekordy w widoku "Formularz" lub kliknie przycisk Usuń filtr/sortowanie   [image]  na pasku narzędzi. Powoduje to usunięcie filtru (lub sortowania) zastosowanego obecnie do formularza.

•	Kliknie polecenie Filtruj według wyboru, Filtruj z wyłączeniem wyboru lub Usuń filtr/sortowanie albo wprowadzi wartość lub wyrażenie w polu Filtr dla w menu podręcznym, gdy formant związany ma fokus.

•	Zamyka okno "Zaawansowany filtr/sortowanie" lub okno "Filtruj według formularza".

•	Kliknie polecenie Zaawansowany filtr/sortowanie w menu Filtr, gdy otwarte jest okno "Filtruj według formularza" albo kliknie polecenie Filtruj według formularza w menu Filtr, gdy otwarte jest okno "Zaawansowany filtr/sortowanie". Powoduje to wystąpienie zdarzenia ApplyFilter przy zamykaniu otwartego okna filtru, a następnie wystąpienie zdarzenia Filter przy otwieraniu innego okna filtru.

Uwagi

Aby wykonać makro lub procedurę zdarzenia, gdy wystąpi to zdarzenie, należy właściwość OnApplyFilter (PrzyZastosowaniuFiltru) ustawić na nazwę makra lub na wartość [Procedura zdarzenia].

Zdarzenia ApplyFilter (ZastosujFiltr) można użyć do:

•	Sprawdzenia, czy stosowany filtr jest poprawny. Można na przykład sprawdzić, czy filtr stosowany do formularza "Orders" (Zamówienia) zawiera kryteria ograniczające pole "OrderDate" (DataZamówienia). W tym celu należy sprawdzić wartość właściwości Filter (Filtr) formularza, aby upewnić się, że uwzględniono te kryteria w wyrażeniu warunkowym WHERE tej właściwości.

•	Zmiany sposobu wyświetlania formularza przed zastosowaniem filtru. Na przykład, gdy stosuje się pewien filtr można wyłączyć lub ukryć pola, które są nieodpowiednie dla rekordów wyświetlanych przez ten filtr.

•	Cofnięcia lub zmiany czynności wykonanych po zajściu zdarzenia Filter. Można na przykład wyłączyć lub ukryć pewne formanty w formularzu, gdy użytkownik tworzy dany filtr, aby formanty te nie znalazły się w kryteriach filtru. Po zastosowaniu filtru można z powrotem włączyć bądź wyświetlić te formanty.

Akcje w makrze lub procedurze zdarzenia ApplyFilter następują przed zastosowaniem lub usunięciem filtru albo po zamknięciu okna "Zaawansowany filtr/sortowanie" lub "Filtruj według formularza", lecz przed ponownym wyświetleniem formularza. Kryteria wprowadzone w nowo utworzonym filtrze są dostępne dla makra lub procedury zdarzenia ApplyFilter jako ustawienie właściwości Filter (Filter).

Uwaga   Zdarzenie ApplyFilter nie występuje, gdy użytkownik wykonuje jedną z następujących czynności:

•	Stosuje lub usuwa filtr używając akcji ZastosujFiltr (ApplyFilter), OtwórzFormularz (OpenForm) lub PokażWszystkieRekordy (ShowAllRecords) w makrze lub ich odpowiednich metod obiektu DoCmd w języku Visual Basic.

•	Stosuje akcję Zamknij (Close) lub metodę Close obiektu DoCmd do zamknięcia okna "Zaawansowany filtr/sortowanie" lub "Filtruj według formularza".

•	Ustawia właściwość Filter (Filtr) lub FilterOn (FiltrWłączony) w makrze lub w języku Visual Basic (chociaż można ustawić te właściwości w makrze lub procedurze zdarzenia ApplyFilter).


ApplyFilter, zdarzenie - makra
ApplyFilter, zdarzenie – makra

Aby wykonać makro, gdy następuje zdarzenie ApplyFilter, należy ustawić właściwość OnApplyFilter (PrzyZastosowaniuFiltru) na nazwę tego makra.

Uwagi

Odczytując wartość właściwości Filter (Filtr) w warunku makra lub ustawiając wartość tej właściwości za pomocą akcji UstawWartość (SetValue) w makrze zdarzenia ApplyFilter można sprawdzić filtr, a nawet zmienić wprowadzone przez użytkownika kryteria.

Można też użyć akcji AnulujZdarzenie (CancelEvent) w makrze zdarzenia ApplyFilter, aby anulować zastosowanie filtru. Można użyć warunku, aby sprawdzić wartość jednego lub kilku formantów w formularzu i zastosować filtr tylko wówczas, gdy będzie to właściwe. Na przykład, jeśli zostało zaznaczone pole wyboru "HasOutstandingOrders" (SkładaWyjątkowoDużeZamówienia) w formularzu "Orders" (Zamówienia), to można zastosować filtr, aby przedstawić te duże zamówienia w formularzu. W przeciwnym razie można anulować stosowanie filtru i wypisać komunikat mówiący, że nie ma żadnych szczególnie dużych zamówień.


ApplyFilter, zdarzenie - procedury zdarzeń
ApplyFilter, zdarzenie – procedury zdarzenia

Aby utworzyć procedurę zdarzenia wykonywaną, gdy następuje zdarzenie ApplyFilter, należy ustawić właściwość OnApplyFilter (PrzyZastosowaniuFiltru) na wartość [Procedura zdarzenia] i kliknąć przycisk Buduj  [image].

Składnia

Private Sub Form_ApplyFilter(Cancel As Integer, ApplyType As Integer)

Procedura zdarzenia ApplyFilter ma następujące argumenty.

Argument	Opis
Cancel	Ustawienie to określa, czy filtr ma być stosowany. Ustawienie argumentu "Cancel" na wartość True (-1) blokuje stosowanie filtru. Można też użyć metody CancelEvent obiektu DoCmd, aby anulować stosowanie filtru.
ApplyType	Wykonana akcja, która spowodowała wystąpienie zdarzenia ApplyFilter. Argument "ApplyType" może być jedną z następujących stałych wewnętrznych:
	Stała	Wartość
	acShowAllRecords	0
	acApplyFilter	1
	acCloseFilterWindow	2
Uwagi

Procedury zdarzenia ApplyFilter można użyć, aby wyświetlać lub ukrywać i włączać lub wyłączać pewne formanty w formularzu w momencie stosowania lub usuwania filtru. Na przykład, gdy stosuje się filtr do formularza "Orders" (Zamówienia) w celu wyświetlenia tylko rekordów opłaconych już zamówień, można ukryć pola "AmountDue" (WartośćFakturyNetto), "Tax" (Podatek) i "TotalDue" (DoZapłaty),  gdy wartością argumentu "ApplyType" jest acApplyFilter. Gdy z kolei wartością argumentu "ApplyType" jest acShowAllRecords, pola te można wyświetlić.

Można także użyć procedury zdarzenia ApplyFilter do cofnięcia czynności wykonanych po nastąpieniu zdarzenia Filter. Jest to bardzo użyteczna możliwość, jeśli użytkownik zamyka okno filtru nie tworząc żadnego filtru, gdy wartością argumentu "ApplyType" jest acCloseFilterWindow.


ApplyFilter, zdarzenie - przykład procedury zdarzenia
ApplyFilter, zdarzenie – przykład procedury zdarzenia

W poniższym przykładzie zostało pokazane, jak ukryć formanty "AmountDue" (WartośćFakturyNetto), "Tax" (Podatek) i "TotalDue" (DoZapłaty) w formularzu "Orders" (Zamówienia), gdy zastosowany filtr ogranicza wyświetlane rekordy do zamówień, które zostały już opłacone.

Aby przetestować ten przykład, należy dodać poniższą procedurę zdarzenia do formularza "Orders", który zawiera formanty "AmountDue", "Tax" i "TotalDue". Należy uruchomić filtr powodujący wyświetlanie tylko tych zamówień, które zostały opłacone.

Private Sub Form_ApplyFilter(Cancel As Integer, ApplyType As Integer)

If Not IsNull(Me.Filter) And (InStr(Me.Filter, "Orders.Paid = -1")>0 _

Or InStr(Me.Filter, "Orders.Paid = True")>0)Then

If ApplyType = acApplyFilter Then

Forms!Orders!AmountDue.Visible = False

Forms!Orders!Tax.Visible = False

Forms!Orders!TotalDue.Visible = False

ElseIf ApplyType = acShowAllRecords Then

Forms!Orders!AmountDue.Visible = True

Forms!Orders!Tax.Visible = True

Forms!Orders!TotalDue.Visible = True

End If

End If

End Sub


Filter, zdarzenie

Zdarzenie Filter występuje, gdy użytkownik wykona jedną z następujących czynności:

•	W menu Rekordy w widoku "Formularz" wskaże polecenie Filtruj, a następnie kliknie polecenie Filtruj według formularza albo kliknie przycisk Filtruj według formularza [image]  na pasku narzędzi. Otwiera się wówczas okno Filtruj według formularza, w którym można szybko utworzyć filtr oparty na polach formularza.

•	W menu Rekordy w widoku "Formularz" wskaże polecenie Filtruj, a następnie kliknie polecenie Zaawansowany filtr/sortowanie. Otwiera się wówczas okno Zaawansowany filtr/sortowanie, w którym można tworzyć złożone filtry dla danego formularza.

•	Kliknie polecenie Zaawansowany filtr/sortowanie w menu Filtr, gdy otwarte jest okno "Filtruj według formularza" albo kliknie polecenie Filtruj według formularza w menu Filtr, gdy otwarte jest okno "Zaawansowany filtr/sortowanie". Spowoduje to wystąpienie zdarzenia ApplyFilter przy zamykaniu otwartego okna filtru, a następnie wystąpienie zdarzenia Filter przy otwieraniu innego okna filtru.

Uwagi

Aby przy wystąpieniu tego zdarzenia uruchomić makro lub procedurę zdarzenia, należy ustawić właściwość OnFilter (PrzyFiltrowaniu) na nazwę makra lub na wartość [Procedura zdarzenia].

Zdarzenie Filter można wykorzystać do:

•	Usunięcia poprzednich filtrów z formularza. W tym celu należy ustawić właściwość Filter (Filtr) formularza na ciąg znaków zerowej długości (" ") w makrze lub procedurze zdarzenia Filter. Jest to szczególnie użyteczna możliwość, jeśli trzeba zapewnić, że żadne obce kryteria nie pojawią się w nowym filtrze. Na przykład, gdy używa się mechanizmu Filtruj według wyboru, stosowane kryteria (tekst zaznaczony w formularzu) są dodawane do wyrażenia warunkowego WHERE właściwości Filter i pojawiają się zarówno w oknie "Filtruj według formularza", jak i w oknie "Zaawansowany filtr/sortowanie". Kryteria te można usunąć właśnie używając zdarzenia Filter.

•	Wpisania domyślnych ustawień dla nowego filtru. W tym celu należy ustawić właściwość Filter (Filtr), tak aby zawierała te kryteria. Można a przykład zdecydować, żeby wszystkie filtry formularza "Products" (Produkty) powodowały wyświetlanie tylko sprzedawanych aktualnie produktów (czyli produktów, dla których nie zaznaczono pola wyboru "Discontinued" (Wycofany)).

•	Używania własnego niestandardowego okna filtru zamiast jednego z okien filtru programu Microsoft Access. Gdy następuje zdarzenie Filter, można otworzyć własny niestandardowy formularz, a następnie użyć pozycji z tego formularza do ustawienia właściwości Filter (Filtr) i filtrowania oryginalnego formularza. Gdy użytkownik zamyka ten niestandardowy formularz, powinien ustawić właściwość FilterOn (FoltrWłączony) oryginalnego formularza na wartość True (Prawda) (–1), aby zastosować filtr. Anulowanie zdarzenia Filter zapobiega otwarciu okna filtru programu Microsoft Access.

•	Uniemożliwienia występowania i wykorzystywania w oknie "Filtruj według formularza" pewnych formantów. Jeśli w makrze lub procedurze zdarzenia Filter ukrywa się lub wyłącza pewien formant, to jest on także ukryty lub wyłączony w oknie "Filtruj według formularza" i nie może być użyty do ustawienia kryteriów filtrowania. Można następnie użyć zdarzenia ApplyFilter, aby wyświetlić bądź włączyć dany formant po zastosowaniu filtru albo po jego usunięciu z formularza.


Filter, zdarzenie - makra
Filter, zdarzenie – makra

Aby wykonać makro, gdy następuje zdarzenie Filter, należy ustawić właściwość OnFilter (PrzyFiltrowaniu) na nazwę tego makra.

Uwagi

Właściwość Filter (Filtr) można ustawić w makrze "Filtr" używając akcji UstawWartość (SetValue). Umożliwia to dostosowanie kryteriów filtru, wyświetlanych w oknie Filtruj według formularza oraz w oknie Zaawansowany filtr/sortowanie.

W makrze "Filtr" można użyć akcji AnulujZdarzenie (CancelEvent), aby anulować otwarcie okna filtru.


Filter, zdarzenie - procedury zdarzeń
Filter, zdarzenie – procedury zdarzenia

Aby utworzyć procedurę zdarzenia wykonywaną po wystąpieniu zdarzenia Filter, należy ustawić właściwość OnFilter (PrzyFiltrowaniu) na wartość [Procedura zdarzenia] i kliknąć przycisk Buduj  [image].

Składnia

Private Sub Form_Filter(Cancel As Integer, FilterType As Integer)

Procedura zdarzenia Filter wykorzystuje następujące argumenty.

Argument	Opis
Cancel	Ustawienie to określa, czy okno filtru ma być otwierane. Ustawienie argumentu "Cancel" na wartość True (Prawda) (–1) sprawia, że okno się nie otwiera. Można też użyć metody CancelEvent obiektu DoCmd, aby anulować otwieranie okna filtru.
FilterType	Okno filtru, które użytkownik próbuje otworzyć. Argument "FilterType" może być jedną z następujących stałych wewnętrznych:
	Stała	Wartość
	acFilterByForm	0
	acFilterAdvanced	1
Uwagi

Procedury zdarzenia Filter można użyć, aby wyłączyć lub ukryć pewne formanty w oknie Filtruj według formularza, dzięki czemu nie będą używane w kryteriach filtru. Można na przykład zdecydować, że w formularzu "Orders" (Zamówienia) wyświetlane będą tylko rekordy, które mają jakąś wartość w formancie "TotalDue" (DoZapłaty), niezależnie od jej wielkości. Można wyłączyć lub ukryć dany formant w procedurze zdarzenia Filter, a potem włączyć go lub wyświetlić w procedurze zdarzenia ApplyFilter. Wyłączenia i ukrycia formantów w oknie "Filtruj według formularza" lepiej jest dokonać w procedurze zdarzenia Filter, a nie w makrze "Filtr", ponieważ można sprawdzić argument "FilterType", aby zobaczyć, czy użytkownik otworzył okno "Filtruj według formularza". Wszystkie pola formularza są widoczne w oknie Zaawansowany filtr/sortowanie, nawet jeśli formanty są wyłączone bądź ukryte.


Filter, zdarzenie - przykład procedury zdarzenia
Filter, zdarzenie – przykład procedury zdarzenia

W poniższym przykładzie zostało pokazane, jak wyłączyć formant "TotalDue" (DoZapłaty) w formularzu "Orders" (Zamówienia), gdy użytkownik próbuje utworzyć filtr, aby niemożliwe było filtrowanie według tego pola. Wszystkie rekordy posiadające wartość w polu "TotalDue"  i spełniające inne kryteria filtru będą zawsze wyświetlane w przefiltrowanym formularzu. Ten przykład zmusza użytkownika do korzystania z okna "Filtruj według formularza", a nie z okna "Zaawansowany filtr/sortowanie".

Aby przetstować ten przykład, należy dodać poniższą procedurę zdarzenia do formularza "Orders", który zawiera formant "TotalDue". Należy spróbować utworzyć filtr używając okna "Zaawansowany filtr/sortowanie" korzystającego z formantu "TotalDue". Należy także utworzyć ten sam filtr używając okna "Filtruj według formularza".

Private Sub Form_Filter(Cancel As Integer, FilterType As Integer)

If FilterType = acFilterByForm Then

Forms!Orders!TotalDue.Enabled = False

ElseIf FilterType = acFilterAdvanced Then

MsgBox "The best way to filter this form is to use the " _

& "Filter By Form command or toolbar button.", vbOKOnly + vbInformation

Cancel = True

End If

End Sub


NoData, zdarzenie

Zdarzenie NoData występuje, gdy raport nie zawierający danych (związany z pustym zestawem rekordów) jest formatowany do wydruku, ale przed wydrukowaniem raportu. Można użyć tego zdarzenia, aby anulować drukowanie pustych raportów.

Uwagi

Aby uruchomić makro lub procedurę zdarzenia, gdy wystąpi to zdarzenie, należy właściwość OnNoData (PrzyBrakuDanych) ustawić na nazwę makra lub na wartość [Procedura zdarzenia].

Jeśli raport nie jest związany z tabelą ani z kwerendą (za pomocą właściwości RecordSource (ŹródłoRekordów) raportu), zdarzenie NoData nie występuje.

Zdarzenie to występuje po zdarzeniach Format raportu, lecz przed pierwszym zdarzeniem Print.

Zdarzenie to nie występuje dla podraportów. Aby ukryć formanty w podraporcie, gdy nie zawiera on danych, co popwoduje, że formanty nie są w takiej sytuacji drukowane, można użyć właściwości HasData (MaDane) w makrze lub procedurze zdarzenia wykonywanej, gdy występuje zdarzenie Format lub Print.

Zdarzenie NoData występuje przed pierwszym zdarzeniem Page dla danego raportu.


NoData, zdarzenie - makra
NoData, zdarzenie – makra

Aby uruchomić makro, gdy następuje zdarzenie NoData, należy właściwość OnNoData (PrzyBrakuDanych) ustawić na nazwę tego makra.

Uwagi

W makrze zdarzenia NoData można użyć akcji AnulujZdarzenie (CancelEvent), aby anulować drukowanie pustego raportu.


NoData, zdarzenie - procedury zdarzeń
NoData, zdarzenie – procedury zdarzenia

Aby utworzyć procedurę zdarzenia wykonywaną po wystąpieniu zdarzenia NoData, należy właściwość OnNoData (PrzyBrakuDanych) ustawić na wartość [Procedura zdarzenia] i kliknąć przycisk Buduj  [image].

Składnia

Private Sub Report_NoData(Cancel As Integer)

Procedura zdarzenia NoData ma następujący argument.

Argument	Opis
Cancel	Ustawienie to określa, czy raport ma być drukowany. Ustawienie argumentu "Cancel" na wartość True (Prawda) (–1) blokuje drukowanie raportu. Można też użyć metody CancelEvent obiektu DoCmd, aby anulować drukowanie raportu.


NoData, zdarzenie - przykład procedury zdarzenia
NoData, zdarzenie – przykład procedury zdarzenia

W poniższym przykładzie zostało pokazane, jak anulować drukowanie pustego raportu. Wyświetlane jest też okno komunikatu informujące użytkownika, że wydruk został anulowany.

Aby przetestować ten przykład, należy dodać poniższą procedurę zdarzenia do raportu. Należy spróbować uruchomić raport, gdy nie zawiera on danych.

Private Sub Report_NoData(Cancel As Integer)

MsgBox "The report has no data." _

& "@Printing the report is canceled. " _

& "@Check the source of data for the report to make sure you " _

& "entered the correct criteria (for example, a valid range " _

& "of dates).", vbOKOnly + vbInformation

Cancel = True

End Sub


Page, zdarzenie

Zdarzenie Page występuje, gdy strona raportu jest formatowana do wydruku, ale przed samym drukowaniem. Można użyć tego zdarzenia, aby narysować ramkę wokół strony albo dodać do strony inne elementy graficzne.

Uwagi

Aby wykonać makro lub procedurę zdarzenia, gdy wystąpi to zdarzenie, należy właściwość OnPage (PrzyStronie) ustawić na nazwę makra lub na wartość [Procedura zdarzenia].

Zdarzenie to następuje po wszystkich zdarzeniach Format dla danego raportu i po wszystkich zdarzeniach Print danej strony, ale przed drukowaniem strony.

Zwykle do tworzenia grafiki na stronie w procedurze zdarzenia Page używa się metod Line, Circle lub Pset.

Zdarzenie NoData występuje przed pierwszym zdarzeniem Page dla danego raportu.


Page, zdarzenie - makra
Page, zdarzenie – makra

Aby wykonać makro, gdy występuje zdarzenie Page należy właściwość OnPage ustawić na nazwę tego makra.

Uwagi

Ponieważ z reguły do tworzenia grafiki na stronie w procedurze zdarzenia Page używa się metod Line, Circle lub PSet, zwykle używa się procedury zdarzenia Page w połączeniu z tym zdarzeniem, a nie z makrem "Strona".

W makrze "Strona" nie można użyć akcji AnulujZdarzenie (CancelEvent).


Page, zdarzenie - procedury zdarzeń
Page, zdarzenie – procedury zdarzenia

Aby utworzyć procedurę zdarzenia, wykonywaną po wystąpieniu zdarzenia Page, należy właściwość OnPage (PrzyStronie) ustawić na wartość [Procedura zdarzenia] i kliknąć przycisk Buduj  [image].

Składnia

Private Sub Report_Page( )

Uwagi

Zdarzenia Page nie można anulować.


Page, zdarzenie - przykład procedury zdarzenia
Page, zdarzenie – przykład procedury zdarzenia

W poniższym przykładzie zostało pokazane, jak narysować prostokąt wokół strony raportu za pomocą metody Line. Właściwości ScaleWidth oraz ScaleHeight domyślnie zwracają wewnętrzną szerokość i wysokość raportu.

Private Sub Report_Page()

Me.Line(0, 0)-(Me.ScaleWidth, Me.ScaleHeight), , B

End Sub


ItemAdded, zdarzenie

Zdarzenie ItemAdded występuje, gdy do projektu jest dodawane (z programu Visual Basic) odwołanie.

Uwagi

•	Zdarzenie ItemAdded dotyczy kolekcji References. W odróżnieniu od większości zdarzeń, zdarzenie to nie jest związane z formantem, formularzem ani raportem. Dlatego, aby utworzyć definicję procedury zdarzenia dla zdarzenia ItemAdded, trzeba użyć specjalnej składni.

•	Zdarzenie ItemAdded może uruchomić tylko procedurę zdarzenia, nie może ono uruchomić makra.

Uwagi

Zdarzenie to występuje tylko wtedy, gdy odwołanie jest dodawane z kodu. Nie występuje ono, gdy odwołanie jest dodawane w oknie dialogowym Odwołania, dostępnym po kliknięciu polecenia Odwołania w menu Narzędzia, gdy oknem aktywnym jest okno modułu.


ItemAdded, zdarzenie - procedury zdarzenia
ItemAdded, zdarzenie – procedury zdarzenia

Aby utworzyć procedurę zdarzenia uruchamianą, gdy występuje zdarzenie ItemAdded, należy wykonać czynności opisane w paragrafie "Uwagi" niniejszego tematu.

Składnia

Private Sub evtReferences_ItemAdded(reference)

Procedura zdarzenia ItemAdded ma następujące argumenty:

Argument	Opis
evtReferences	Zmienna obiektowa reprezentująca kolekcję References. Trzeba zadeklarować tę zmienną obiektową w module klasy za pomocą słowa kluczowego WithEvents.
reference	Obiekt Reference, który został dodany do kolekcji References.
Uwagi

Procedura zdarzenia ItemAdded może zawierać kod, który ma być uruchamiany, gdy odwołanie do biblioteki typów jest dodawane do projektu. Można dodać odwołanie z programu Visual Basic używając metody AddFromFile lub AddFromGUID, aby dodać obiekt Reference do kolekcji References.

Aby utworzyć procedurę zdarzenia ItemAdded:

1.	Używając słowa kluczowego WithEvents zadeklaruj zmienną obiektową typu References w sekcji deklaracji modułu klasy. Program Microsoft Access używa tej zmiennej obiektowej do zdefiniowania procedury zdarzenia dla zdarzenia ItemAdded. W poniższym wierszu przykładowego kodu została pokazana typowa deklaracja WithEvents:

Public WithEvents evtReferences As References

2.	Utwórz definicję procedury zdarzenia w module klasy przez wybranie nazwy zmiennej obiektowej typu References z pola Obiekt w oknie modułu. Na przykład, jeśli zostanie użyta deklaracja pokazana w powyższym przykładzie, w polu rozwijalnym Obiekt pojawi się zmienna evtReferences. Następnie wybierz zdarzenie ItemAdded z pola Procedura.

3.	Dodaj kod, który będzie uruchamiany, gdy wystąpi to zdarzenie. Na przykład, jeśli ma być wyświetlany komunikat informujący, że do projektu zostało dodane odwołanie, dodaj odpowiedni kod do procedury zdarzenia.

4.	Przypisz kolekcję References do zmiennej obiektowej typu References zadeklarowanej za pomocą słowa kluczowego WithEvents. Ta instrukcja przypisania powinna znajdować się w procedurze wykonywanej przed wystąpieniem zdarzenia ItemAdded.

Można na przykład umieścić tę instrukcję w obrębie zdarzenia Initialize modułu klasy, w którym została zadeklarowana zmienna obiektowa. Następnie, po utworzeniu instancji klasy, zmienna obiektowa jest automatycznie inicjowana. Jeśli zostałaby użyta zmienna obiektowa evtReferences, ta procedura zdarzenia wyglądałaby następująco:

Private Sub Class_Initialize()

Set evtReferences = Application.References

End Sub

Uwaga   Jeśli powyższe kroki zostały już wykonane przy tworzeniu procedury zdarzenia dla zdarzenia ItemRemoved, nie trzeba ich powtarzać dla zdarzenia ItemAdded. Można dla obydwu tych zdarzeń użyć tej samej zmiennej obiektowej typu References.

Aby wywołać zdarzenie ItemAdded, trzeba utworzyć nowe odwołanie używając zmiennej obiektowej typu References zadeklarowanej za pomocą słowa kluczowego WithEvents.

Aby dodać odwołanie i wywołać zdarzenie:

1.	W module standardowym utwórz nową instancję klasy, w której została zadeklarowana zmienna obiektowa typu References. Na przykład, jeśli nazwą klasy jest RefEvents, można utworzyć nową instancję tej klasy i przypisać ją do zmiennej obiektowej używając poniższej instrukcji deklaracji. Instrukcja ta może istnieć na poziomie modułu lub w obrębie procedury.

Dim objRefEvents As New RefEvents

2.	W obrębie procedury typu Sub lub Function utwórz nowy obiekt Reference używając metody AddFromFile lub AddFromGUID zmiennej obiektowej reprezentującej kolekcję References (evtReferences). Ponieważ zdarzenie ItemAdded w module klasy jest zdefiniowane w powiązaniu z określoną zmienną obiektową typu References, nowy obiekt Reference trzeba utworzyć używając tej zmiennej. W przeciwnym razie zdarzenie nie wystąpi.

Należy zauważyć, że zmienną obiektową typu References trzeba określić podając również nazwę klasy, w której została ona zadeklarowana.

Po wykonaniu wszystkich powyższych kroków, można dodać nowe odwołanie, tak jak to zostało pokazane w poniższym przykładzie:

Function AddReference(strFileName As String)

Dim ref As Reference

' Create new instance of RefEvents class.

Dim objRefEvents As New RefEvents

' Creates reference on References collection

' variable defined in RefEvents class.

Set ref = objRefEvents.evtReferences.AddFromFile(strFileName)

End Function

Uwagi

•	Procedura inicjująca zmienną obiektową typu References musi mieścić się w tym samym zakresie, co deklaracja zmiennej obiektowej. Na przykład, jeśli zmienna obiektowa typu References została zadeklarowana jako Private w obrębie modułu klasy, to zmienna musi zostać zainicjowana w procedurze znajdującej się w obrębie tego samego modułu klasy.

•	Procedurę zdarzenia ItemAdded można dołączyć tylko w module klasy.

•	Jeśli zostanie zadeklarowana zmienna na poziomie modułu reprezentująca kolekcję References, można użyć tej zmiennej zarówno do utworzenia definicji procedur zdarzeń dla zdarzenia ItemAdded, jak i dla zdarzenia ItemRemoved.

•	Jeśli w obrębie jednego projektu istnieje kilka procedur zdarzenia ItemAdded, każda z nich zostanie uruchomiona, gdy zdarzenie to wystąpi, ale nie będą one uruchamiane w jakimś określonym porządku. Dlatego zaleca się, aby utworzyć tylko jedną procedurę zdarzenia ItemAdded w projekcie i umieścić cały kod, który ma być wykonywany, gdy to zdarzenie wystąpi, w tej procedurze zdarzenia.

•	Zdarzenie ItemAdded występuje po dodaniu odwołania do projektu.


Initialize, ItemAdded, ItemRemoved, Terminate, procedury zdarzeń - przykład
Initialize, ItemAdded, ItemRemoved, Terminate, zdarzenia – przykład procedur zdarzeń

W poniższym kodzie przykładowym zostały zawarte procedury zdarzeń dla zdarzeń ItemAdded i ItemRemoved. Aby przetestować ten przykład, należy najpierw utworzyć nowy moduł klasy klikając polecenie Moduł klasy w menu Wstaw. Następnie należy wkleić poniższy kod do modułu klasy i zapisać moduł pod nazwą "RefEvents":

' Declare object variable to represent References collection.

Public WithEvents evtReferences As References

' When instance of class is created, initialize evtReferences variable.

Private Sub Class_Initialize()

Set evtReferences = Application.References

End Sub

' When instance is removed, set evtReferences to Nothing.

Private Sub Class_Terminate()

Set evtReferences = Nothing

End Sub

' Display message when reference is added.

Private Sub evtReferences_ItemAdded(ByVal Reference As Access.Reference)

MsgBox "Reference to " & Reference.Name & " added."

End Sub

' Display message when reference is removed.

Private Sub evtReferences_ItemRemoved(ByVal Reference As Access.Reference)

MsgBox "Reference to " & Reference.Name & " removed."

End Sub

Poniższa procedura typu Function dodaje określone odwołanie. Po dodaniu odwołania, zostaje uruchomiona procedura zdarzenia ItemAdded zdefiniowana w klasie RefEvents.

Na przykład, aby ustawić odwołanie na formant kalendarza, można przekazać ciąg znaków "C:\Windows\System\Mscal.ocx", jeśli jest to właściwa lokalizacja formantu kalendarza na danym komputerze.

' Create new instance of RefEvents class.

Dim objRefEvents As New RefEvents

' Pass file name and path of type library to this procedure.

Function AddReference(strFileName As String) As Boolean

Dim ref As Reference

On Error GoTo Error_AddReference

' Create new reference on References object variable.

Set ref = objRefEvents.evtReferences.AddFromFile(strFileName)

AddReference = True

Exit_AddReference:

Exit Function

Error_AddReference:

MsgBox Err & ": " & Err.Description

AddReference = False

Resume Exit_AddReference

End Function

Następna procedura typu Function usuwa określone odwołanie. Zostaje uruchomiona procedura zdarzenia ItemRemoved zdefiniowana w klasie RefEvents.

Na przykład, aby usunąć odwołanie do formantu kalendarza, można przekazać ciąg znaków "MSACAL", będący nazwą obiektu Reference reprezentującego formant kalendarza.

Function RemoveReference(strRefName As String) As Boolean

Dim ref As Reference

On Error GoTo Error_RemoveReference

' Return object representing existing reference.

Set ref = objRefEvents.evtReferences(strRefName)

' Remove reference from collection.

objRefEvents.evtReferences.Remove ref

RemoveReference = True

Exit_RemoveReference:

Exit Function

Error_RemoveReference:

MsgBox Err & ": " & Err.Description

RemoveReference = False

Resume Exit_RemoveReference

End Function


ItemRemoved, zdarzenie

Zdarzenie ItemRemoved występuje, gdy odwołanie jest usuwane z projektu.

Uwagi

•	Zdarzenie ItemRemoved stosuje się do kolekcji References. W odróżnieniu od większości zdarzeń, zdarzenie to nie jest związane z formantem, formularzem ani raportem. Dlatego, aby utworzyć definicję procedury zdarzenia dla zdarzenia ItemRemoved, trzeba użyć specjalnej składni.

•	Zdarzenie ItemRemoved może uruchomić tylko procedurę zdarzenia, nie może ono uruchomić makra.

Uwagi

Zdarzenie to występuje tylko wtedy, gdy odwołanie jest usuwane z kodu. Nie występuje ono, gdy odwołanie jest usuwane z okna dialogowego Odwołania, dostępnego po kliknięciu polecenia Odwołania w menu Narzędzia, gdy oknem aktywnym jest okno modułu.


ItemRemoved, zdarzenie - procedury zdarzenia
ItemRemoved, zdarzenie – procedury zdarzenia

Aby utworzyć procedurę zdarzenia uruchamianą, gdy występuje zdarzenie ItemRemoved, należy wykonać czynności opisane w paragrafie "Uwagi" niniejszego tematu.

Składnia

Private Sub evtReferences_ItemRemoved(reference)

Procedura zdarzenia ItemRemoved ma następujące argumenty.

Argument	Opis
evtReferences	Zmienna obiektowa reprezentująca kolekcję References. Trzeba zadeklarować tę zmienną obiektową w module klasy za pomocą słowa kluczowego WithEvents.
reference	Obiekt Reference, który został usunięty z kolekcji References.
Uwagi

Procedura zdarzenia ItemRemoved może zawierać kod, który ma być uruchamiany, gdy odwołanie do biblioteki typów jest usuwane z projektu. Odwołanie można usunąć z programu Visual Basic używając metody Remove, aby usunąć obiekt Reference z kolekcji References.

Aby utworzyć procedurę zdarzenia ItemRemoved:

1.	Używając słowa kluczowego WithEvents zadeklaruj zmienną obiektową typu References w sekcji deklaracji modułu klasy. Program Microsoft Access używa tej zmiennej obiektowej do zdefiniowania procedury zdarzenia dla zdarzenia ItemRemoved. W poniższym wierszu przykładowego kodu została pokazana typowa deklaracja WithEvents:

Public WithEvents evtReferences As References

2.	Utwórz definicję procedury zdarzenia w module klasy przez wybranie nazwy zmiennej obiektowej typu References z pola Obiekt w oknie modułu. Na przykład, jeśli zostanie użyta deklaracja pokazana w powyższym przykładzie, w polu rozwijalnym Obiekt pojawi się zmienna evtReferences. Następnie wybierz zdarzenie ItemRemoved z pola Procedura.

3.	Dodaj kod, który będzie uruchamiany, gdy wystąpi to zdarzenie. Na przykład, jeśli ma być wyświetlany komunikat informujący, że odwołanie zostało usunięte z projektu, dodaj odpowiedni kod do procedury zdarzenia.

4.	Przypisz kolekcję References do zmiennej obiektowej typu References zadeklarowanej za pomocą słowa kluczowego WithEvents. Ta instrukcja przypisania powinna znajdować się w procedurze wykonywanej przed wystąpieniem zdarzenia ItemRemoved.

Można na przykład umieścić tę instrukcję w obrębie zdarzenia Initialize modułu klasy, w którym została zadeklarowana zmienna obiektowa. Następnie, po utworzeniu instancji klasy, zmienna obiektowa jest automatycznie inicjowana. Jeśli zostałaby użyta zmienna obiektowa evtReferences, ta procedura zdarzenia wyglądałaby następująco:

Private Sub Class_Initialize()

Set evtReferences = Application.References

End Sub

Uwaga   Jeśli powyższe kroki zostały już wykonane przy tworzeniu procedury zdarzenia dla zdarzenia ItemAdded, nie trzeba ich powtarzać dla zdarzenia ItemRemoved. Można dla obydwu tych zdarzeń użyć tej samej zmiennej obiektowej typu References.

Aby wywołać zdarzenie ItemRemoved, trzeba usunąć istniejące odwołanie używając zmiennej obiektowej typu References zadeklarowanej za pomocą słowa kluczowego WithEvents.

Aby usunąć odwołanie i wywołać zdarzenie:

1.	W module standardowym utwórz nową instancję klasy, w której została zadeklarowana zmienna obiektowa typu References. Na przykład, jeśli nazwą klasy jest RefEvents, można utworzyć nową instancję tej klasy i przypisać ją do zmiennej obiektowej używając poniższej instrukcji deklaracji. Instrukcja ta może istnieć na poziomie modułu lub w obrębie procedury.

Dim objRefEvents As New RefEvents

2.	W obrębie procedury typu Sub lub Function utwórz nowy obiekt Reference używając metody Remove zmiennej obiektowej reprezentującej kolekcję References (evtReferences). Ponieważ zdarzenie ItemRemoved w module klasy jest zdefiniowane w powiązaniu z określoną zmienną obiektową typu References, nowy obiekt Reference trzeba utworzyć używając tej zmiennej. W przeciwnym razie zdarzenie nie wystąpi.

Należy zauważyć, że zmienną obiektową typu References trzeba określić podając również nazwę klasy, w której została ona zadeklarowana.

Po wykonaniu wszystkich powyższych kroków, można usunąć istniejące odwołanie, tak jak to zostało pokazane w poniższym przykładzie:

Function RemoveReference(strRefName As String)

Dim ref As Reference

' Create new instance of RefEvents class.

Dim objRefEvents As New RefEvents

' Creates reference on References collection

' variable defined in RefEvents class.

Set ref = objRefEvents.evtReferences(strRefName)

objRefEvents.evtReferences.Remove ref

End Function

Uwagi

•	Procedura inicjująca zmienną obiektową typu References musi mieścić się w tym samym zakresie, co deklaracja zmiennej obiektowej. Na przykład, jeśli zmienna obiektowa typu References została zadeklarowana jako Private w obrębie modułu klasy, to zmienna musi zostać zainicjowana w procedurze znajdującej się w obrębie tego samego modułu klasy.

•	Procedurę zdarzenia ItemRemoved można dołączyć tylko w module klasy.

•	Jeśli zostanie zadeklarowana zmienna na poziomie modułu reprezentująca kolekcję References, można użyć tej zmiennej zarówno do utworzenia definicji procedur zdarzeń dla zdarzenia ItemRemoved, jak i dla zdarzenia ItemAdded.

•	Jeśli w obrębie jednego projektu istnieje kilka procedur zdarzenia ItemRemoved, każda z nich zostanie uruchomiona, gdy zdarzenie to wystąpi, ale nie będą one uruchamiane w jakimś określonym porządku. Dlatego zaleca się, aby utworzyć tylko jedną procedurę zdarzenia ItemRemoved w projekcie i umieścić cały kod, który ma być wykonywany, gdy to zdarzenie wystąpi, w tej procedurze zdarzenia.

•	Zdarzenie ItemRemoved występuje po usunięciu odwołania z projektu.


Eval, funkcja

Funkcji Eval używa się do obliczenia wyrażenia dającego w wyniku ciąg znaków lub wartość liczbową.

Można zbudować ciąg znaków i przekazać go funkcji Eval jak zwykłe wyrażenie. Funkcja Eval oblicza wyrażenie typu ciąg znaków i zwraca jego wartość. Na przykład wyrażenie Eval("1 + 1") zwraca wartość 2.

Jeśli funkcji Eval zostanie przekazana nazwa funkcji, to funkcja Eval zwróci jej wartość. Na przykład Eval("Chr$(65)") zwróci wartość "A".

Składnia

Eval(stringexpr)

Argument stringexpr jest wyrażeniem dającym w wyniku tekstowy ciąg alfanumeryczny. Argument stringexpr może być na przykład funkcją zwracającą ciąg znaków lub wartość liczbową. Może być również odwołaniem do formantu formularza. Wyrażenie stringexpr musi dawać w wyniku ciąg znaków lub wartość liczbową, nie może to być obiekt programu Microsoft Access.

Uwaga   Jeśli do funkcji Eval przekazywana jest nazwa funkcji, należy w argumencie stringexpr umieścić nawiasy po nazwie funkcji. Na przykład:

Debug.Print Eval("ShowNames()")	' ShowNames is user-defined function.

Debug.Print Eval("StrComp(""Joe"",""joe"", 1)")

Debug.Print Eval("Date()")

Uwagi

Funkcji Eval można użyć w formancie obliczeniowym formularza lub raportu, w makrze lub w module. Funkcja Eval zwraca typ Variant,  który może być ciągiem znaków lub wartością liczbową.

Argument stringexpr musi być wyrażeniem przechowywanym w postaci ciągu znaków. Jeśli funkcji Eval zostanie przekazany ciąg znaków nie zawierający wyrażenia numerycznego lub nazwy funkcji, ale zwykły tekst, wystąpi błąd wykonania. Na przykład wywołanie Eval("Smith")spowoduje błąd.

Funkcji Eval można użyć do sprawdzenia ustawienia właściwości Value formantu. W poniższym przykładzie do funkcji Eval przekazywane jest pełne odwołanie do formantu. Następnie wartość formantu jest wyświetlana w oknie dialogowym.

Dim ctl As Control, strCtl As String

Set ctl = Forms!Employees!LastName

strCtl = "Forms!Employees!LastName"

MsgBox ("The current value of " & ctl.Name & " is " & Eval(strCtl))

Za pomocą funkcji Eval można uzyskać dostęp do operatorów wyrażeń niedostępnych wprost w języku Visual Basic. Na przykład, operatorów SQL Between...And ani In nie można stosować bezpośrednio w kodzie, ale można je zawrzeć w ciągu przekazywanym funkcji Eval.

W kolejnym przykładzie sprawdza się, czy wartość formantu "ShipRegion" (RegionOdbiorcy) w formularzu "Orders" (Zamówienia) jest równa jednemu ze skrótów nazw stanów. Jeśli tak, wartość zmiennej intState będzie równa True (–1). Należy zwrócić uwagę na pojedynczy cudzysłów użyty do zawarcia jednego ciągu znaków w drugim.

Dim intState As Integer

intState = Eval("Forms!Orders!ShipRegion In " _

& "('AK', 'CA', 'ID', 'WA', 'MT', 'NM', 'OR')")


Eval, funkcja - przykład

W poniższym przykładzie przyjęto założenie, że został zdefiniowany szereg 50 funkcji jako A1, A2 itd. Funkcja Eval została użyta do wywołania każdej ze zdefiniowanych funkcji.

Sub CallSeries()

Dim intI As Integer

For intI = 1 To 50

Eval("A" & intI & "()")

Next intI

End Sub

W kolejnym przykładzie wyzwalane jest zdarzenie Click, jak gdyby poprzez kliknięcie przycisku w formularzu. Jeśli wartość właściwości OnClick (PrzyKliknięciu) rozpoczyna się znakiem równości (=), co oznacza wywołanie funkcji, wówczas funkcja Eval ją wywołuje, co odpowiada reakcji na zdarzenie Click. Jeśli wartość nie rozpoczyna się znakiem równości, musi być nazwą makra. Wówczas metoda RunMacro obiektu DoCmd wykonuje to makro.

Dim ctl As Control, varTemp As Variant

Set ctl = Forms!Contacts!HelpButton

If (Left(ctl.OnClick, 1) = "=") Then

varTemp = Eval(Mid(ctl.OnClick,2))

Else

DoCmd.RunMacro ctl.OnClick

End If


CurrentUser, funkcja

Funkcja CurrentUser zwraca nazwę aktualnego użytkownika bazy danych.

Funkcji tej można użyć na przykład w procedurze śledzącej użytkowników modyfikujących bazę danych.

Składnia

CurrentUser

Uwagi

Funkcja CurrentUser zwraca ciąg znaków zawierający nazwę aktualnego konta użytkownika.

Jeśli nie ustanowiono zabezpieczonej grupy roboczej, funkcja CurrentUser zwraca nazwę domyślnego konta użytkownika – "Administrator". Konto użytkownika "Administrator" daje pełne uprawnienia do wszystkich obiektów bazy danych.

Jeśli zostało włączone zabezpieczenie grupy roboczej, funkcja CurrentUser zwraca ciąg znaków zawierający nazwę aktualnego konta użytkownika. Dla konta użytkownika innego niż "Administrator" można określić uprawnienia ograniczające dostęp użytkownika do obiektów bazy danych.

W poniższym przykładzie wyświetlana jest w oknie dialogowym nazwa aktualnego użytkownika.

MsgBox("The current user is: " & CurrentUser)


Command, funkcja

Funkcji Command można użyć do zwrócenia argumentu wiersza polecenia użytego do uruchomienia programu Microsoft Access.

Składnia

Command

Uwagi

Gdy program Microsoft Access jest uruchamiany z wiersza polecenia, dowolna część wiersza polecenia występująca po opcji /cmd przekazywana jest do programu jako argument wiersza polecenia. Funkcji Command można użyć do zwrócenia przekazanego argumentu.

Aby zmienić argument wiersza polecenia po otwarciu bazy danych, należy kliknąć polecenie Opcje w menu Narzędzia. Na karcie Zaawansowane okna dialogowego Opcje należy wprowadzić nowy argument w polu Argumenty wiersza poleceń. Funkcja Command zwróci obecnie nowo wprowadzony argument.

Gdy funkcja Command jest używana gdziekolwiek indziej niż w module kodu języka Visual Basic, należy po funkcji dodać puste nawiasy. Na przykład, aby użyć funkcji Command w polu tekstowym formularza, należy ustawić właściwość ControlSource (ŹródłoFormantu) pola tekstowego na wyrażenie podobne do poniższego:

=Command()


Command, funkcja - przykład
Command, funkcja – przykład

W poniższym przykładzie został przedstawiony sposób uruchomienia programu Microsoft Access z argumentem wiersza polecenia. Następnie pokazano, jak zwrócić wartość tego argumentu za pomocą funkcji Command.

Aby przetestować ten przykład, należy kliknąć przycisk Start systemu Windows, a następnie kliknąć polecenie Uruchom. W oknie dialogowym Uruchom należy wpisać w pojedynczym wierszu poniższe polecenia. (Ścieżkę dostępu i nazwę pliku należy napisać w cudzysłowiu).

"C:\Program Files\Microsoft Office\Office\Msaccess.exe" "C:\Program Files\Microsoft Office\Office\Pliki przykładowe\Northwind.mdb" /cmd "Zamówienia"

Następnie należy otworzyć nowy moduł w przykładowej bazie danych "Northwind" i dodać następującą funkcję.

Function CheckCommandLine()

' Check value returned by Command function.

If Command = "Zamówienia" Then

DoCmd.OpenForm "Zamówienia"

ElseIf Command = "Pracownicy" Then

DoCmd.OpenForm "Pracownicy"

Else

Exit Function

End If

End Function

Po wywołaniu tej funkcji program Microsoft Access otworzy formularz "Zamówienia".

Można utworzyć makro o nazwie AutoExec w celu automatycznego wywołania tej funkcji w chwili otwierania bazy danych. Dodatkowe informacje na temat wykonywania akcji w chwili otwierania bazy danych można znaleźć w temacie Wykonywanie akcji podczas otwierania bazy danych.


CurrentDb, funkcja

Funkcja CurrentDb zwraca zmienną obiektową typu Database reprezentującą bazę danych aktualnie otwartą w oknie programu Microsoft Access.

Składnia

CurrentDb

Uwagi

Do operowania strukturą i danymi bazy danych za pomocą języka Visual Basic konieczne jest użycie obiektów dostępu do danych (DAO). Funkcja CurrentDb stanowi środek dostępu do bieżącej bazy danych za pomocą kodu języka Visual Basic bez potrzeby znajomości nazwy bazy danych. Po utworzeniu zmiennej wskazującej bieżącą bazę danych można także uzyskać dostęp i manipulować innymi obiektami i kolekcjami w hierarchii DAO.

Funkcji CurrentDb można używać do tworzenia wielu zmiennych obiektowych odwołujących się do bieżącej bazy danych. W poniższym przykładzie zmienne dbsA i dbsB odwołują się do bieżącej bazy danych.

Dim dbsA As Database, dbsB As Database

Set dbsA = CurrentDb

Set dbsB = CurrentDb

Uwaga   W poprzednich wersjach programu Microsoft Access możliwe było użycie składni DBEngine.Workspaces(0).Databases(0) lub DBEngine(0)(0) do zwracania wskaźnika bieżącej bazy danych. W programie Microsoft Access 97 należy zamiast niej używać funkcji CurrentDb. Funkcja CurrentDb tworzy następną instancję bieżącej bazy danych, natomiast składnia DBEngine(0)(0) odwołuje się do otwartej kopii bieżącej bazy danych. Funkcja CurrentDb pozwala utworzyć kilka zmiennych typu Database odwołujących się do bieżącej bazy danych. Program Microsoft Access nadal obsługuje składnię DBEngine(0)(0), lecz należy rozważyć wprowadzenie tej modyfikacji do kodu w celu uniknięcia możliwych konfliktów w udostępnianej bazie danych.

W razie potrzeby pracy z inną bazą danych w tym samym czasie, w którym bieżąca baza danych jest otwarta w oknie programu Microsoft Access, należy zastosować metodę OpenDatabase obiektu Workspace. Metoda OpenDatabase nie otwiera w rzeczywistości drugiej bazy danych w oknie programu Microsoft Access. Metoda ta zwraca jedynie zmienną Database reprezentującą drugą bazę danych. W poniższym przykładzie zwracany jest wskaźnik do bieżącej bazy danych i do bazy danych o nazwie Contacts.mdb.

Dim dbsCurrent As Database, dbsContacts As Database

Set dbsCurrent = CurrentDb

Set dbsContacts = DBEngine.Workspaces(0).OpenDatabase("Contacts.mdb")


CurrentDb, funkcja - przykład
CurrentDb, funkcja – przykład

W poniższym przykładzie użyto funkcji CurrentDb do zwrócenia zmiennej obiektowej typu Database wskazującej bieżącą bazę danych. Następnie wykonywany jest przegląd wszystkich pól w tabeli "Employees" (Pracownicy) w tej bazie danych.

Sub ListFields()

Dim dbs As Database, tdf As TableDef, fld As Field

' Return Database object variable pointing to current database.

Set dbs = CurrentDb

' Return TableDef object variable pointing to Employees table.

Set tdf = dbs.TableDefs!Employees

' Enumerate fields in Employees table.

For Each fld In tdf.Fields

Debug.Print fld.Name

Next fld

End Sub


HyperlinkPart, funkcja

Funkcja HyperlinkPart zwraca informacje na temat danych przechowywanych jako typ danych Hiperłącze. Dane w polu hiperłącza mogą zawierać do trzech części w następującym formacie:

tekstwyświetlanyt#adres#podadres

Składnia

obiekt.HyperlinkPart(hiperłącze As Variant[, część As Integer])

Funkcja HyperlinkPart ma następujące argumenty.

Argument	Opis
obiekt	Opcjonalny. Obiekt Application.
hiperłącze	Typ Variant reprezentujący dane przechowywane w polu hiperłącza.
część	Opcjonalny. Wartość argumentu część jest stałą wewnętrzną reprezentującą informacje, które mają być zwrócone przez funkcję HyperlinkPart:
	Stała	Wartość	Opis
	acDisplayedValue	0	(Domyślne) Podkreślony tekst wyświetlany w polu hiperłącza.
	acDisplayText	1	Część tekstwyświetlany pola hiperłącza.
	AcAddress	2	Część adres pola hiperłącza.
	AcSubAddress	3	Część podadres pola hiperłącza.
Uwaga

Funkcja HyperlinkPart jest używana do zwracania jednej z trzech wartości z pola hiperłącza lub wartości wyświetlanej. Zwracana wartość zależy od ustawienia argumentu część. Argument część jest opcjonalny. Jeśli nie jest użyty, funkcja zwraca wartość, która jest wyświetlana dla pola hiperłącza (co odpowiada ustawieniu argumentu część na wartość acDisplayedValue). Zwracana wartość może być jedną z trzech części pola hiperłącza (tekstwyświetlany , adres lub podadres) lub wartością wyświetlaną dla pola hiperłącza.

Uwaga   Jeśli funkcja HyperlinkPart jest używana w kwerendzie, argument część jest wymagany i nie można używać stałych przedstawionych na liście powyżej, lecz zamiast nich należy używać rzeczywistych wartości.

Gdy wartość jest podana w części tekstwyświetlany pola hiperłącza, wartość wyświetlana przez program Microsoft Access będzie taka sama jak ustawienie części tekstwyświetlany. Jeśli w części tekstwyświetlany pola hiperłącza nie ma wartości, wartość wyświetlana będzie częścią adres lub podadres pola hiperłącza, zależnie od tego, która z nich występuje w polu jako pierwsza.

W poniższej tabeli przedstawiono wartości zwracane przez funkcję HyperlinkPart dla danych przechowywanych w polu hiperłącza.

Dane pola hiperłącza	Wartości zwracane przez funkcję HyperlinkPart
#http://www.microsoft.com#	acDisplayedValue: http://www.microsoft.com acDisplayText: acAddress: http://www.microsoft.com acSubAddress:
Microsoft#http://www.microsoft.com#	acDisplayedValue: Microsoft acDisplayText: Microsoft acAddress: http://www.microsoft.com acSubAddress:
Customers##Form Customers	acDisplayedValue: Customers acDisplayText: Customers acAddress: acSubAddress: Form Customers
##Form Customers	acDisplayedValue: Form Customers acDisplayText: acAddress: acSubAddress: Form Customers
Jeśli część adres zostanie dodana do pola hiperłącza za pomocą okna dialogowego Wstaw hiperłącze (dostępnego przez kliknięcie polecenia Hiperłącze w menu Wstaw) lub przez wpisanie części adres bezpośrednio w polu hiperłącza, program Microsoft Access dodaje dwa symbole #, które oddzielają części pola hiperłącza.

Po kliknięciu w tabeli prawym przyciskiem myszy pola hiperłącza, wskazaniu polecenia Hiperłącze w menu podręcznym, a następnie wpisaniu wyświetlanego tekstu w polu Wyświetlaj tekst, można dodawać lub edytować część tekstwyświetlany pola hiperłącza.

Gdy dane są dodawane do pola hiperłącza bezpośrednio lub za pomocą metod DAO, należy dołączyć dwa symbole # w celu rozdzielenia części pola hiperłącza.


HyperlinkPart, funkcja - przykład
HyperlinkPart, funkcja – przykład

W poniższym przykładzie zastosowano wszystkie cztery stałe argumentu część w celu wyświetlenia informacji zwracanych przez funkcję HyperlinkPart dla każdego rekordu tabeli zawierającego pole hiperłącza. Aby przetestować ten przykład, należy wkleić procedurę DisplayHyperlinkParts do sekcji deklaracji modułu. Procedurę DisplayHyperlinkParts można wywołać z okna analizy programu przekazując do niej nazwę tabeli zawierającej hiperłącza i nazwę pola zawierającego dane typu Hiperłącze. Na przykład:

DisplayHyperlinkParts "MyHyperlinkTableName", "MyHyperlinkFieldName"

Sub DisplayHyperlinkParts(strTable As String, strField As String)

Dim dbs As Database, rst As Recordset

Dim strMsg As String

Set dbs = CurrentDb

Set rst = dbs.OpenRecordset(strTable)

While Not rst.EOF	' For each record in table.

strMsg = "DisplayValue = " & HyperlinkPart(rst(strField), acDisplayedValue) _

& vbCrLf & "DisplayText = " & HyperlinkPart(rst(strField), acDisplayText) _

& vbCrLf & "Address = " & HyperlinkPart(rst(strField), acAddress) _

& vbCrLf & "SubAddress = " & HyperlinkPart(rst(strField), acSubAddress)

' Show parts returned by HyperlinkPart function.

MsgBox strMsg

rst.MoveNext

Wend

End Sub

Jeśli funkcja HyperlinkPart jest używana w kwerendzie, argument część jest wymagany. Na przykład, w poniższej instrukcji SQL zastosowano funkcję HyperlinkPart do zwracania informacji na temat danych przechowywanych jako typ danych Hiperłącze w polu "URL" tabeli "Links":

SELECT Links.URL, HyperlinkPart([URL],0)

AS Display, HyperlinkPart([URL],1)

AS Name, HyperlinkPart([URL],2)

AS Addr, HyperlinkPart([URL],3) AS SubAddr

FROM Links;


Zestawienie akcji według zadań

W poniższej tablicy przedstawiono akcje podzielone na kategorie według ich zastosowania.

Kategoria	Zadanie	Akcja
Dane w formularzach i raportach	Ograniczanie danych	ZastosujFiltr (ApplyFilter)
	Poruszanie się wśród danych	ZnajdźNastępny (FindNext), (ZnajdźRekord (FindRecord), (IdźDoFormantu (GoToControl), (IdźDoStrony (GoToPage), (IdźDoRekordu (GoToRecord)
Wykonanie	Wykonanie polecenia	UruchomPolecenie (RunCommand)
	Zakończenie programu Microsoft Access	Zakończ (Quit)
	Wykonanie makra, procedury lub kwerendy	OtwórzKwerendę (OpenQuery), UruchomKod (RunCode), UruchomMakro (RunMacro), UruchomSQL (RunSQL)
	Uruchomienie innej aplikacji	UruchomAplikację (RunApp)
	Przerwanie wykonywania	AnulujZdarzenie (CancelEvent), Zakończ (Quit), ZatrzymajWszystkieMakra (StopAllMacros)  ZatrzymajMakro (StopMacro)
Import/eksport	Wysyłanie obiektów Microsoft Access do innych aplikacji	WyprowadźDo (OutputTo), WyślijObiekt (SendObject)
	Przenoszenie danych między formatem danych Microsoft Access i innymi formatami danych	TransportBazyDanych (TransferDatabase),  TransportArkusza (TransferSpreadsheet), TransportTekstu (TransferText)
Manipulacja obiektami	Kopiowanie, zmiana nazwy lub zapisywanie obiektu	KopiujObiekt (CopyObject), ZmieńNazwę (Rename),  Zapisz (Save)
	Usuwanie obiektu	UsuńObiekt (DeleteObject)
	Przenoszenie lub zmian rozmiarów okna	Maksymalizuj (Maximize),  Minimalizuj (Minimize), RuchRozmiar (MoveSize), Przywróć (Restore)
	Otwieranie lub zamykanie obiektu	Zamknij (Close), OtwórzFormularz (OpenForm), OtwórzModuł (OpenModule), OtwórzKwerendę (OpenQuery), OtwórzRaport (OpenReport), OtwórzTabelę (OpenTable)
	Drukowanie obiektu	OtwórzFormularz (OpenForm), OtwórzKwerendę (OpenQuery), OtwórzRaport (OpenReport), Wydruk (PrintOut)
	Wybieranie obiektu	WybierzObiekt (SelectObject)
	Ustawianie wartości pola, formantu lub właściwości	UstawWartość (SetValue)
	Aktualizacja danych lub ekranu	OdświeżObiekt (RepaintObject), PonówKwerendę (Requery), PokażWszystkieRekordy (ShowAllRecords)
Różne	Tworzenie niestandardowego paska menu, niestandardowego menu podręcznego, globalnego paska menu lub globalnego menu podręcznego	DodajMenu (AddMenu)
	Ustawianie stanu elementów menu na niestandardowym pasku menu lub globalnym pasku menu	UstawElementMenu (SetMenuItem)
	Wyświetlanie informacji na ekranie	Echo (Echo),  Klepsydra (Hourglass), OknoKomunikatu (MsgBox), UstawOstrzeżenia (SetWarnings)
	Generowanie naciśnięć klawiszy	WyślijKlawisze (SendKeys)
	Pokazywanie lub ukrywanie wbudowanego lub niestandardowego paska poleceń	PokażPasekNarzędzi (ShowToolbar)
	Generowanie dźwięku	Sygnał (Beep)


Zestawienie zdarzeń i właściwości zdarzeń

W poniższej tabeli uporządkowano zdarzenia alfabetycznie i zgrupowano je w kategorie według zadań.

Zgrupowane według zadań

Zdarzenia danych	Zdarzenia klawiatury
Zdarzenia błędów i zegara	Zdarzenia myszy
Zdarzenia filtru	Zdarzenia drukowania
Zdarzenia fokusu	Zdarzenia okien
Uporządkowane alfabetycznie

Zdarzenie	Właściwość zdarzenia
Activate	OnActivate
AfterDelConfirm	AfterDelConfirm
AfterInsert	AfterInsert
AfterUpdate	AfterUpdate
ApplyFilter	OnApplyFilter
BeforeDelConfirm	BeforeDelConfirm
BeforeInsert	BeforeInsert
BeforeUpdate	BeforeUpdate
Change	OnChange
Click	OnClick
Close	OnClose
Current	OnCurrent
DblClick	OnDblClick
Deactivate	OnDeactivate
Delete	OnDelete
Enter	OnEnter
Error	OnError
Exit	OnExit
Filter	OnFilter
Format	OnFormat
GotFocus	OnGotFocus
Initialize	brak
ItemAdded	brak
ItemRemoved	brak
KeyDown	OnKeyDown
KeyPress	OnKeyPress
KeyUp	OnKeyUp
Load	OnLoad
LostFocus	OnLostFocus
MouseDown	OnMouseDown
MouseMove	OnMouseMove
MouseUp	OnMouseUp
NoData	OnNoData
NotInList	OnNotInList
Open	OnOpen
Page	OnPage
Print	OnPrint
Resize	OnResize
Retreat	OnRetreat
Terminate	brak
Timer	OnTimer
Unload	OnUnload
Updated	OnUpdated


Zdarzenia danych

Zdarzenia danych występują gdy dane są wprowadzane, usuwane lub zmieniane w formularzu lub formancie albo gdy fokus jest przenoszony z jednego rekordu do innego.

Zdarzenie	Właściwość zdarzenia	Występowanie
AfterDelConfirm	AfterDelConfirm (formularze)	Po potwierdzeniu usunięcia rekordu i faktycznym usuwaniu rekordów albo po anulowaniu usunięcia rekordów.
AfterInsert	AfterInsert (formularze)	Po dodaniu nowego rekordu do bazy danych.
AfterUpdate	AfterUpdate (formularze, formanty)	Po aktualizacji formantu lub rekordu ze zmienionymi danymi. Zdarzenie to występuje gdy formant lub rekord traci fokus albo zostanie kliknięte polecenie Zapisz rekord w menu Rekordy. Zdarzenie to występuje dla nowych i istniejących rekordów.
BeforeDelConfirm	BeforeDelConfirm (formularze)	Po usunięciu jednego lub kilku rekordów, lecz przed wyświetleniem okna dialogowego z żądaniem potwierdzenia lub anulowania usunięcia. Zdarzenie to występuje po zdarzeniu Delete.
BeforeInsert	BeforeInsert (formularze)	Po wpisaniu pierwszego znaku w nowym rekordzie, lecz przed dodaniem rekordu do bazy danych.
BeforeUpdate	BeforeUpdate (formularze, formanty)	Przed aktualizacją formantu lub rekordu ze zmienionymi danymi. Zdarzenie to występuje gdy formant lub rekord traci fokus lub gdy zostanie kliknięte polecenie Zapisz rekord w menu Rekordy. Zdarzenie to występuje dla nowych i istniejących rekordów.
Change	OnChange (formanty)	Gdy zmienia się zawartość pola tekstowego lub część tekstowa pola kombi; na przykład, gdy do formantu wpisany został znak lub została zmieniona właściwość Text formantu za pomocą makra lub języka Visual Basic.
Current	OnCurrent (formularze)	Gdy fokus zostaje przeniesiony do rekordu czyniąc go rekordem bieżącym albo gdy jest odświeżane źródło danych formularza. Zdarzenie to występuje, gdy formularz jest otwierany po raz pierwszy i ilekroć fokus opuszcza jeden rekord i przechodzi do drugiego. Występuje także, gdy jest odświeżane źródło danych formularza – na przykład, gdy zostanie kliknięte polecenie Usuń filtr/sortowanie w menu Rekordy albo zostanie użyta akcja PokażWszystkieRekordy (ShowAllRecords) lub Odśwież (Requery).
Delete	OnDelete (formularze)	Gdy rekord jest usuwany, lecz przed potwierdzeniem usunięcia i jego faktycznym wykonaniem.
NotInList	OnNotInList (formanty)	Gdy do pola kombi wprowadzana jest wartość, której brak na liście w tym polu.
Updated	OnUpdated (formanty)	Gdy zostaną zmodyfikowane dane obiektu OLE.


Zdarzenia błędów i zegara

Poniższe zdarzenia są wykorzystywane do obsługi błędów i synchronizacji danych w formularzach.

Zdarzenie	Właściwość zdarzenia	Występowanie
Error	OnError (formularze, raporty)	Gdy podczas pracy z formularzem w programie Microsoft Access wystąpi błąd wykonania. Obejmuje to także błędy aparatu bazy danych Microsoft Jet, lecz nie obejmuje błędów wykonania kodu języka Visual Basic. (ponieważ makra nie mogą ustalać, jaki błąd wystąpił, zwykle do tych zdarzeń wykorzystuje się procedury zdarzeń języka Visual Basic.)
Timer	OnTimer (formularze)	Gdy upłynął określony przedział czasu, zgodnie z ustawieniem właściwości TimerInterval (OkresCzasomierza) formularza. Zdarzenie Timer można wykorzystać do utrzymywania synchronizacji danych w środowisku sieciowym przez ponowne wykonywanie kwerendy lub odświeżanie danych w określonych odstępach czasu.


Zdarzenia filtru

Zdarzenia filtru występują, gdy w formularzu jest stosowany lub tworzony filtr.

Zdarzenie	Właściwość zdarzenia	Występowanie
ApplyFilter	OnApplyFilter (formularze)	Gdy zostanie kliknięte polecenie Zastosuj filtr w menu Rekordy albo zostanie kliknięty przycisk Zastosuj filtr na pasku narzędzi. Dotyczy to ostatnio utworzonego filtru (utworzonego za pomocą funkcji "Filtruj według formularza" lub okna "Zaawansowany filtr/sortowanie"). Gdy zostanie kliknięte polecenie Filtruj według wyboru po wskazaniu polecenia Filtruj w menu Rekordy albo kliknięty przycisk Filtruj według wyboru na pasku narzędzi. Dotyczy to filtru opartego na bieżącym wyborze w formularzu. Gdy zostanie kliknięte polecenie Usuń filtr/sortowanie w menu Rekordy albo kliknięty przycisk Usuń filtr na pasku narzędzi. Powoduje to usunięcie wszelkich filtrów (lub sortowania) stosowanych obecnie w formularzu. Gdy jest zamykane okno "Zaawansowany filtr/sortowanie" lub okno "Filtruj według formularza".
Filter	OnFilter (formularze)	Gdy zostanie kliknięte polecenie Filtruj według formularza po wskazaniu polecenia Filtruj w menu Rekordy albo kliknięty przycisk Filtruj według formularza na pasku poleceń. Powoduje to otwarcie okna "Filtruj według formularza", w którym można szybko utworzyć filtr oparty na polach formularza. Gdy zostanie kliknięte polecenie Zaawansowany filtr/sortowanie po wskazaniu polecenia Filtruj w menu Rekordy. Powoduje to otwarcie okna "Zaawansowany filtr/sortowanie", w którym można tworzyć dla formularza filtry złożone.


Zdarzenia fokusu

Zdarzenia fokusu występują, gdy formularz lub formant traci lub uzyskuje fokus albo gdy formularz lub raport staje się aktywny lub nieaktywny.

Zdarzenie	Właściwość zdarzenia	Występowanie
Activate	OnActivate (formularze, raporty)	Gdy formularz lub raport staje się oknem aktywnym.
Deactivate	OnDeactivate (formularze, raporty)	Gdy inne okno programu Microsoft Access staje się oknem aktywnym, lecz zanim okno stanie się aktywne. Zdarzenie Deactivate nie występuje, gdy fokus przechodzi do innego okna aplikacji, okna dialogowego lub formularza podręcznego.
Enter	OnEnter (formanty)	Przed faktycznym uzyskaniem fokusu przez formant od formantu w tym samym formularzu lub w chwili otwarcia formularza. Zdarzenie to występuje przed zdarzeniem GotFocus.
Exit	OnExit (formanty)	Tuż przed utratą fokusu przez formant na rzecz innego formantu w tym samym formularzu. Zdarzenie to występuje przed zdarzeniem LostFocus.
GotFocus	OnGotFocus (formularze, formanty)	Gdy formant lub formularz bez aktywnych lub włączonych formantów uzyskuje fokus. Formularz może uzyskać fokus tylko wówczas, gdy wszystkie widoczne formanty formularza są wyłączone lub gdy w formularzu nie ma formantów.
LostFocus	OnLostFocus (formularze, formanty)	Gdy formularz lub formant traci fokus. Formularz może mieć fokus tylko wówczas, gdy wszystkie widoczne formanty formularza są wyłączone lub gdy w formularzu nie ma formantów.


Zdarzenia klawiatury

Zdarzenia klawiatury występują gdy użytkownik pisze na klawiaturze lub gdy są wysyłane klawisze za pomocą akcji WyślijKlawisze (SendKeys) lub instrukcji SendKeys.

Zdarzenie	Właściwość zdarzenia	Występowanie
KeyDown	OnKeyDown (formularze, formanty)	Gdy zostanie naciśnięty dowolny klawisz klawiatury, kiedy formant lub formularz ma fokus. Formularz może mieć fokus tylko wówczas, gdy wszystkie widoczne formanty formularza są wyłączone lub gdy w formularzu nie ma formantów. Zdarzenie KeyDown występuje także wówczas, gdy klawisz jest wysyłany do formularza lub formantu za pomocą akcji WyślijKlawisze (SendKeys) w makrze lub instrukcji SendKeys w języku Visual Basic. Formularz odbiera także wszystkie zdarzenia KeyDown (nawet przeznaczone dla formantów) przed ich wystąpieniem dla formantów, jeśli właściwość KeyPreview (PodglądKlawisza) formularza została ustawiona na wartość Tak. Jeśli klawisz jest naciśnięty przez dłuższy czas, zdarzenie KeyDown powtarza się cyklicznie.
KeyPress	OnKeyPress (formularze, formanty)	Gdy zostanie naciśnięty lub zwolniony klawisz lub kombinacja klawiszy generująca standardowy znak ANSI, kiedy formant lub formularz ma fokus. Formularz może mieć fokus tylko wówczas, gdy wszystkie widoczne formanty formularza są wyłączone lub gdy w formularzu nie ma formantów. Na przykład, zdarzenie KeyPress można wykorzystać w reakcji klawisze wprowadzone do pola tekstowego lub pola kombi. Dla klawiszy nie rozpoznawanych przez zdarzenie KeyPress, takich jak klawisze funkcyjne lub nawigacyjne, należy stosować zdarzenia KeyDown i KeyUp. Zdarzenie KeyPress występuje także wtedy, gdy za pomocą akcji WyślijKlawisze (SendKeys) w makrze lub instrukcji SendKeys w języku Visual Basic, do formularza lub formantu wysyłany jest klawisz generujący standardowy znak ANSI. Formularz odbiera także wszystkie zdarzenia KeyPress (nawet przeznaczone dla formantów) przed ich wystąpieniem dla formantów, jeśli właściwość KeyPreview (PodglądKlawisza) formularza została ustawiona na wartość Tak. Jeśli klawisz jest naciśnięty przez dłuższy czas, zdarzenie KeyPress powtarza się cyklicznie.
KeyUp	OnKeyUp (formularze, formanty)	Gdy w czasie, kiedy formant lub formularz ma fokus zostanie zwolniony naciśnięty klawisz. Obiekt z fokusem odbiera wszystkie klawisze. Formularz może mieć fokus tylko wówczas, gdy wszystkie widoczne formanty formularza są wyłączone lub gdy w formularzu nie ma formantów. Zdarzenie KeyUp występuje także wówczas, gdy klawisz jest wysyłany do formularza lub formantu za pomocą akcji WyślijKlawisze (SendKeys) w makrze lub w instrukcji SendKeys w języku Visual Basic. Formularz odbiera także wszystkie zdarzenia KeyUp (nawet przeznaczone dla formantów) przed ich wystąpieniem dla formantów, jeśli właściwość KeyPreview (PodglądKlawisza) formularza została ustawiona na wartość Tak. Jeśli klawisz jest naciśnięty przez dłuższy czas, zdarzenie KeyUp występuje po wystąpieniu wszystkich zdarzeń KeyDown i KeyPress.


Zdarzenia myszy

Zdarzenie myszy występuje gdy zachodzi czynność myszy, taka jak naciśnięcie lub kliknięcie przycisku  myszy.

Zdarzenie	Właściwość zdarzenia	Występowanie
Click	OnClick (formularze, formanty)	Dla formantu zdarzenie to występuje, gdy na formancie zostanie naciśnięty, a następnie zwolniony (kliknięty) lewy przycisk myszy. Dla formularza zdarzenie to występuje gdy zostanie kliknięty selektor rekordu lub obszar poza sekcją lub formantem.
DblClick	OnDblClick (formularze, formanty)	Gdy na formancie lub jego etykiecie zostanie dwukrotnie naciśnięty, a następnie zwolniony (kliknięty) lewy przycisk myszy. Dla formularza zdarzenie to występuje gdy zostanie dwukrotnie kliknięty pusty obszar lub selektor rekordu na formularzu.
MouseDown	OnMouseDown (formularze, formanty)	Gdy zostanie naciśnięty przycisk myszy, kiedy wskaźnik znajduje się na formularzu lub formancie. Anulowanie zdarzenia MouseDown za pomocą akcji AnulujZdarzenie (CancelEvent) umieszczonej w makrze, zapobiega wyświetlaniu menu podręcznego formularza lub formantu po naciśnięciu prawego przycisku myszy.
MouseMove	OnMouseMove (formularze, formanty)	Gdy wskaźnik myszy przesuwa się po formularzu, sekcji formularza lub formancie.
MouseUp	OnMouseUp (formularze, formanty)	Gdy zostanie zwolniony naciśnięty przycisk myszy kiedy wskaźnik znajduje się na formularzu lub formancie.


Zdarzenia drukowania

Zdarzenia drukowania występują, gdy raport jest drukowany lub formatowany do drukowania.

Zdarzenie	Właściwość zdarzenia	Występowanie
Format	OnFormat (raporty)	Gdy program Microsoft Access określa, które dane wchodzą do sekcji raportu, lecz przed formatowaniem tej sekcji do podglądu lub drukowania. Makro lub procedura zdarzenia może wykorzystać dane w bieżącym rekordzie do wprowadzenia zmian w układzie strony.
NoData	OnNoData (raporty)	Po sformatowaniu do drukowania raportu, w którym nie ma danych (raport jest związany z pustym zestawem rekordów), lecz przed wydrukowaniem raportu. Zdarzenie to można wykorzystać do anulowania wydruku pustego raportu.
Page	OnPage (raporty)	Po sformatowaniu strony do drukowania, lecz przed wydrukowaniem strony.
Print	OnPrint (raporty)	Po sformatowaniu danych w sekcji raportu, lecz przed jej wydrukowaniem.
Retreat	OnRetreat (raporty)	Gdy program Microsoft Access musi się "cofnąć" o jedną lub kilka sekcji raportu na stronie w celu wykonania kilku przejść formatowania. Zdarza się to po zdarzeniu Format sekcji, lecz przed zdarzeniem Print. Zdarzenie Retreat występuje dla każdej sekcji, gdy program Microsoft Access cofa się o jedną sekcję. Pozwala to cofnąć wszelkie zmiany wprowadzone do sekcji podczas zdarzenia Format.


Zdarzenia okien

Zdarzenia okien występują przy otwieraniu, zmianie rozmiarów i zamykaniu formularza lub raportu.

Zdarzenie	Właściwość zdarzenia	Występowanie
Close	OnClose (formularze, raporty)	Gdy formularz lub raport jest zamykany i usuwany z ekranu.
Load	OnLoad (formularze)	Gdy formularz jest otwierany i wyświetlane są jego rekordy. Zdarzenie to występuje przed zdarzeniem Current, lecz po zdarzeniu Open.
Open	OnOpen (formularze, raporty)	Gdy formularz jest otwierany, lecz przed wyświetleniem pierwszego rekordu. Gdy raport jest otwierany, lecz przed jego wydrukowaniem.
Resize	OnResize (formularze)	Gdy zmieniają się rozmiary formularza. Zdarzenie to występuje także, gdy formularz jest wyświetlany po raz pierwszy.
Unload	OnUnload (formularze)	Gdy formularz jest zamykany a jego rekordy są zwalniane, lecz przed jego usunięciem z ekranu. Zdarzenie to występuje przed zdarzeniem Close.


Zestawienie instrukcji

Poniżej zostały przedstawione w porządku alfabetycznym wszystkie instrukcje (z wyjątkiem instrukcji SQL).

A–M

AppActivate (VBA)	DeleteControl
Beep (VBA)	DeleteReportControl
Call (VBA)	DeleteSetting (VBA)
ChDir (VBA)	Dim (VBA)
ChDrive (VBA)	Do...Loop (VBA)
Close (VBA)	End (VBA)
Const (VBA)	Erase (VBA)
Date (VBA)	Error (VBA)
DDE	Exit (VBA)
DDEExecute	FileCopy (VBA)
DDEPoke	For Each...Next (VBA)
DDETerminate	For...Next (VBA)
DDETerminateAll	Function (VBA)
Declare (VBA)	Get (VBA)
DefBool (VBA)	GoSub...Return (VBA)
DefByte (VBA)	GoTo (VBA)
DefCur (VBA)	If...Then...Else (VBA)
DefDate (VBA)	Input # (VBA)
DefDbl (VBA)	Kill (VBA)
DefInt (VBA)	Let (VBA)
DefLng (VBA)	Line Input # (VBA)
DefObj (VBA)	Lock (VBA)
DefSng (VBA)	LSet (VBA)
DefStr (VBA)	Mid (VBA)
DefType (VBA)	MidB (VBA)
DefVar (VBA)	MkDir (VBA)
N–Z

Name (VBA)	Resume (VBA)
On Error (VBA)	Return (VBA)
On...GoSub (VBA)	RmDir (VBA)
On...GoTo (VBA)	RSet (VBA)
Open (VBA)	SaveSetting (VBA)
Option Base (VBA)	Seek (VBA)
Option Compare (VBA)	SelectCase (VBA)
Option Explicit (VBA)	SendKeys (VBA)
Option Private (VBA)	Set (VBA)
Print # (VBA)	SetAttr (VBA)
Private (VBA)	Static (VBA)
Property Get (VBA)	Stop (VBA)
Property Let (VBA)	Sub (VBA)
Property Set (VBA)	Time (VBA)
Public (VBA)	Type (VBA)
Put (VBA)	Unlock (VBA)
Randomize (VBA)	While...Wend (VBA)
ReDim (VBA)	Width # (VBA)
Rem (VBA)	With (VBA)
Reset (VBA)	Write # (VBA)


Zestawienie funkcji

Poniżej zostały zostały przedstawione wszystkie funkcje w porządku alfabetycznym. Podwójna gwiazdka (**) oznacza, że funkcja została dodana w programie Microsoft Access 97.

A–C

Abs (VBA)	Cos (VBA)
Array (VBA)	Count (DAO)
Asc (VBA)	CreateControl
Atn (VBA)	CreateForm
Avg (DAO)	CreateGroupLevel
CBool (VBA)	CreateObject (VBA)
CByte (VBA)	CreateReport
CCur (VBA)	CreateReportControl
CDate (VBA)	CSng (VBA)
CDbl (VBA)	CStr (VBA)
CDec (VBA)	CurDir (VBA)
Choose (VBA)	CurrentDb
Chr (VBA)	CurrentUser
CInt (VBA)	CVar (VBA)
CLng (VBA)	CVDate (VBA)
CodeDb	CVErr (VBA)
Command
D–H

Date (VBA)	DVar
DateAdd (VBA)	DVarP
DateDiff (VBA)	Environ (VBA)
DatePart (VBA)	EOF (VBA)
DateSerial (VBA)	Error (VBA)
DateValue (VBA)	Eval
DAvg	Exp (VBA)
Day (VBA)	FileAttr (VBA)
DCount	FileDateTime (VBA)
DDB (VBA)	FileLen (VBA)
DDE	First (DAO)
DDEInitiate	Fix (VBA)
DDERequest	Format (VBA)
DDESend	FreeFile (VBA)
DFirst	FV (VBA)
Dir (VBA)	GetAllSettings (VBA)
DLast	GetAttr (VBA)
DLookup	GetObject (VBA)
DMax	GetSetting (VBA)
DMin	GUIDFromString**
DoEvents (VBA)	Hex (VBA)
DStDev	Hour (VBA)
DStDevP	HyperlinkPart
DSum
I–R

IIf (VBA)	Log (VBA)
IMEStatus (VBA)	LTrim (VBA)
Input (VBA)	Max (DAO)
InputBox (VBA)	Mid (VBA)
InStr (VBA)	Min (DAO)
Int (VBA)	Minute (VBA)
IPmt (VBA)	MIRR (VBA)
IRR (VBA)	Month (VBA)
IsArray (VBA)	MsgBox (VBA)
IsDate (VBA)	Now (VBA)
IsEmpty (VBA)	NPer (VBA)
IsError (VBA)	NPV (VBA)
IsMissing (VBA)	Nz
IsNull (VBA)	Oct (VBA)
IsNumeric (VBA)	Partition (VBA)
IsObject (VBA)	Pmt (VBA)
Last (DAO)	PPmt (VBA)
LBound (VBA)	PV (VBA)
LCase (VBA)	QBColor (VBA)
Left (VBA)	Rate (VBA)
Len (VBA)	RGB (VBA)
LoadPicture	Right (VBA)
Loc (VBA)	Rnd (VBA)
LOF (VBA)	RTrim (VBA)
S–Z

Second (VBA)	SYD (VBA)
Seek (VBA)	SysCmd
Sgn (VBA)	Tab (VBA)
Shell (VBA)	Tan (VBA)
Sin (VBA)	Time (VBA)
SLN (VBA)	Timer (VBA)
Space (VBA)	TimeSerial (VBA)
Spc (VBA)	TimeValue (VBA)
Sqr (VBA)	Trim (VBA)
StDev (DAO)	TypeName (VBA)
StDevP (DAO)	UBound (VBA)
Str (VBA)	UCase (VBA)
StrComp (VBA)	Val (VBA)
StrConv (VBA)	Var (DAO)
String (VBA)	VarP (DAO)
StringFromGUID**	VarType (VBA)
Sum (DAO)	Weekday (VBA)
Switch (VBA)	Year (VBA)


Zestawienie metod

Poniżej zostały przedstawione wszystkie metody pogrupowane według obiektu lub kolekcji i w porządku alfabetycznym. Podwójna gwiazdka (**) oznacza, że metoda została dodana w programie Microsoft Access 97.

Pogrupowane według obiektu lub kolekcji

Application	ItemsSelected
Collection (VBA)	Module
Connection, Connections (DAO)	Modules
Container, Containers (DAO)	Page
Control	Pages
Controls	Parameter, Parameters (DAO)
Database, Databases (DAO)	Property, Properties (DAO)
DBEngine (DAO)	QueryDef, QueryDefs (DAO)
Debug (VBA)	Recordset, Recordsets (DAO)
DoCmd	Reference
Document, Documents (DAO)	References
Err (VBA)	Relation, Relations (DAO)
Error, Errors (DAO)	Report
Field, Fields (DAO)	Screen
Form	TableDef, TableDefs (DAO)
Group, Groups (DAO)	User, Users (DAO)
Index, Indexes (DAO)	Workspace, Workspaces (DAO)
Lista alfabetyczna

A–C

AccessError**	Clone (DAO)
Add (VBA)	Close (DAO)
Add (kolekcja Pages)**	Close
AddFromFile (obiekt Module)**	CloseCurrentDatabase
AddFromFile (kolekcja References)**	CommitTrans (DAO)
AddFromGUID**	CompactDatabase (DAO)
AddFromString**	CopyObject
AddNew (DAO)	CopyQueryDef (DAO)
AddToFavorites**	CreateDatabase (DAO)
Append (DAO)	CreateEventProc**
AppendChunk (DAO)	CreateField (DAO)
ApplyFilter	CreateGroup (DAO)
Beep	CreateIndex (DAO)
BeginTrans (DAO)	CreateProperty (DAO)
BuildCriteria	CreateQueryDef (DAO)
Cancel (DAO)	CreateRelation (DAO)
CancelEvent	CreateTableDef (DAO)
CancelUpdate (DAO)	CreateUser (DAO)
Circle	CreateWorkspace (DAO)
Clear (VBA)
D–F

DefaultControl	FillCache (DAO)
DefaultWorkspaceClone	Find**
Delete (DAO)	FindFirst (DAO)
DeleteLines**	FindLast (DAO)
DeleteObject	FindNext (DAO)
DoMenuItem	FindNext
Dropdown	FindPrevious (DAO)
Echo (obiekt DoCmd)	FindRecord
Echo (obiekt Application)	Follow**
Edit (DAO)	FollowHyperlink**
Execute (DAO)
G–M

GetChunk (DAO)	Item (VBA)
GetOption	Line
GetRows (DAO)	MakeReplica (DAO)
GoToControl	Maximize
GoToPage (obiekt DoCmd)	Minimize
GoToPage (obiekt Form)	Move (DAO)
GoToRecord	MoveFirst (DAO)
Hourglass	MoveLast (DAO)
Idle (DAO)	MoveNext (DAO)
InsertLines**	MovePrevious (DAO)
InsertText**	MoveSize
N–Q

NewCurrentDatabase	OpenReport
NewPassword (DAO)	OpenTable
NextRecordSet (DAO)	OutputTo
OpenConnection (DAO)	PopulatePartial (DAO)
OpenCurrentDatabase	Print (VBA)
OpenDatabase (DAO)	Print
OpenForm	PrintOut
OpenModule	PSet
OpenQuery	Quit (obiekt DoCmd)
OpenRecordset (DAO)	Quit (obiekt Application)
R

Raise (VBA)	RepaintObject
Recalc	RepairDatabase (DAO)
Refresh (DAO)	ReplaceLine**
Refresh	Requery (DAO)
RefreshDatabaseWindow**	Requery (obiekt DoCmd)
RefreshLink (DAO)	Requery (obiekt Control lub Form)
RefreshTitleBar	Restore
RegisterDatabase (DAO)	Rollback (DAO)
Remove (VBA)	Run
Remove (kolekcja Pages)**	RunCommand**
Remove (kolekcja References)**	RunMacro
Rename	RunSQL
Repaint
S–Z

Save	ShowToolbar
Scale	SizeToFit
Seek (DAO)	Synchronize (DAO)
SelectObject	TextHeight
SendObject	TextWidth
SetFocus	TransferDatabase
SetMenuItem	TransferSpreadsheet
SetOption (DAO)	TransferText
SetOption	Undo
SetWarnings	Update (DAO)
ShowAllRecords


Zestawienie właściwości

Poniżej zostały przedstawione wszystkie właściwości pogrupowane według obiektów lub kolekcji i w porządku alfabetycznym. Gwiazdka (*) oznacza, że właściwość została dodana w programie Microsoft Access 95. Podwójna gwiazdka (**) oznacza, że właściwość została dodana w programie Microsoft Access 97.

Pogrupowane według obiektów lub kolekcji

Application	ItemsSelected
Collection (VBA)	Module
Connection, Connections (DAO)	Modules
Container, Containers (DAO)	Parameter, Parameters (DAO)
Control	Property, Properties (DAO)
Controls	Query
Database, Databases (DAO)	QueryDef, QueryDefs (DAO)
DBEngine (DAO)	Recordset, Recordsets (DAO)
Debug (VBA)	Reference
DoCmd	References
Document, Documents (DAO)	Relation, Relations (DAO)
Err (VBA)	Report
Error, Errors (DAO)	Reports
Field, Fields (DAO)	Screen
Form	Table
Forms	TableDef, TableDefs (DAO)
Group, Groups (DAO)	User, Users (DAO)
Index, Indexes (DAO)	Workspace, Workspaces (DAO)
Lista alfabetyczna

A

AbsolutePosition (DAO)*	AllowFullMenus*
Action	AllowShortcutMenus*
ActiveControl	AllowSpecialKeys*
ActiveDatasheet*	AllowToolbarChanges*
ActiveForm	AllowZeroLength (DAO)
ActiveReport	AllowZeroLength
AddColon	AllPermissions (DAO)*
AfterDelConfirm	AppIcon*
AfterInsert	Application*
AfterUpdate	AppTitle*
Alias	Assistant**
AllowAdditions*	Attributes (DAO)
AllowAutoCorrect*	AutoActivate
AllowBreakIntoCode*	AutoCenter
AllowBuiltInToolbars*	AutoExpand
AllowBypassKey*	AutoLabel
AllowDeletions*	AutoRepeat
AllowEdits*	AutoResize
AllowFilters	AutoTab
B

BackColor	Bookmark (DAO)
BackStyle	Bookmarkable (DAO)
BatchCollisionCount (DAO)	Bookmark
BatchCollisions (DAO)	BorderColor
BatchSize (DAO)	BorderStyle
BeforeDelConfirm	BorderWidth
BeforeInsert	BoundColumn
BeforeUpdate	BuiltIn**
BOF (DAO)
C

CacheSize (DAO)	Connect (DAO)
CacheStart (DAO)	Connection (DAO)**
Cancel	Container (DAO)
CanGrow	ControlBox
CanShrink	ControlSource
Caption	ControlTipText*
Class	ControlType*
CloseButton*	Count (DAO)
Clustered (DAO)	Count (VBA)
CodeContextObject*	Count
CollatingOrder (DAO)	CountOfDeclarationLines**
Column	CountOfLines**
ColumnCount	CurrentObjectName
ColumnHeadings	CurrentObjectType
ColumnHeads	CurrentRecord*
ColumnHidden	CurrentSectionLeft
ColumnOrder	CurrentSectionTop
ColumnWidth	CurrentView
ColumnWidths	CurrentX
CommandBars**	CurrentY
ConflictTable (DAO)*	Cycle*
D

Database Properties*	DefaultUser (DAO)*
Database (DAO)	DefaultValue (DAO)
DataEntry*	DefaultValue
DatasheetBackColor**	DefaultView
DatasheetCellsEffect*	Description (DAO)*
DatasheetFontHeight	Description (VBA)*
DatasheetFontItalic	Description
DatasheetFontName	DesignMasterID (DAO)
DatasheetFontUnderline	DestConnectStr
DatasheetFontWeight	DestinationDB
DatasheetForeColor**	DestinationTable
DatasheetGridLinesBehavior*	Direction (DAO)**
DatasheetGridLinesColor*	Dirty
DataType	DisplayControl*
DataUpdatable (DAO)	DisplayType
DateCreated (DAO)	DisplayWhen
DateGrouping	DistinctCount (DAO)*
DBEngine*	DividingLines*
DecimalPlaces	DrawMode
Default	DrawStyle
DefaultCursorDriver (DAO)**	DrawWidth
DefaultType (DAO)**
E–F

EditMode (DAO)*	FontName
Enabled	FontSize
EnterKeyBehavior	FontUnderline
EOF (DAO)	FontWeight
EventProcPrefix	ForceNewPage
FailOnError**	ForeColor
FastLaserPrinting	Foreign (DAO)
FieldName	ForeignName (DAO)
FieldSize (DAO)**	ForeignTable (DAO)
FieldSize	Form
FillColor	Format
FillStyle	Format — Dane typu Data/Godzina
Filter (DAO)	Format — Dane typu Liczba i Walutowy
Filter	Format — Dane typu Tekst i Memo
FilterLookup*	Format — Dane typu Tak/Nie
FilterOn*	FormatCount
FontBold	FrozenColumns
FontItalic	FullPath**
G–H

GridX	Height
GridY	HelpContext (DAO)*
GroupFooter	HelpContext (VBA)
GroupHeader	HelpContextID
GroupInterval	HelpFile (DAO)*
GroupLevel	HelpFile
GroupOn	HideDuplicates
GrpKeepTogether*	hWndAccessApp*
GUID**	hWnd
HasContinued*	Hyperlink**
HasData*	HyperlinkAddress**
HasModule**	HyperlinkSubAddress**
I–K

IgnoreNulls (DAO)	InsideWidth*
IgnoreNulls	IsBroken**
ImageHeight*	IsolateODBCTrans (DAO)*
ImageWidth*	IsVisible**
Index (DAO)	Item (Formant Ramka obiektu)
Indexed	Item (Kolekcje)**
Inherit (DAO)*	ItemData
Inherited (DAO)	KeepLocal (DAO)*
IniPath (DAO)*	KeepTogether — Grupy
InputMask	KeepTogether — Sekcje
InSelection	KeyPreview*
InsideHeight*	Kind**
L

LabelAlign	LinkMasterFields
LabelX	ListCount
LabelY	ListIndex
LastDLLError (VBA)	ListRows
LastModified (DAO)	ListWidth
LastUpdated (DAO)	Locked
LayoutForPrint	LockEdits (DAO)
Left	LoginTimeout (DAO)
LimitToList	LogMessages (DAO)
Lines**	LogMessages
LineSlant	lpOLEObject
LinkChildFields
M–N

Major**	MultiRow**
MaxRecords (DAO)**	MultiSelect*
MaxRecords**	Name (DAO)
MDE**	Name
Me	NavigationButtons
MenuBar	NewRecord*
MinMaxButtons*	NewRowOrCol
Minor**	NewValues*
Modal	NoMatch (DAO)
Module	Number (DAO)*
MousePointer**	Number (VBA)
MoveLayout
O

Object Properties*	OnFormat
Object	OnLostFocus
ObjectPalette	OnMouseDown
ObjectVerbs	OnMouseMove
ObjectVerbsCount	OnMouseUp
ODBCConnectStr	OnNoData
ODBCTimeout (DAO)	OnNotInList
ODBCTimeout	OnOpen
OldValue	OnPage
OLEClass	OnPrint
OLEData **	OnResize
OLEType	OnRetreat
OLETypeAllowed	OnTimer
OnActivate	OnUnload
OnChange	OnUpdated
OnClick	OpenArgs
OnClose	OptionValue
OnCurrent	OrderBy*
OnDblClick	OrderByOn*
OnDeactivate	OrdinalPosition (DAO)
OnDelete	OriginalValue (DAO)
OnEnter	OutputAllFields
OnError	Owner (DAO)
OnExit
P

Page	PictureType*
PageFooter	PID (DAO)
PageHeader	PopUp
PageIndex**	Prepare (DAO)
Pages	PreviousControl
Painting	Primary (DAO)
PaintPalette	Primary
PaletteSource	PrintCount
Parent	PrintSection
PartialReplica (DAO)	ProcBodyLine**
Password (DAO)*	ProcCountLines**
PercentPosition (DAO)	ProcOfLine**
Permissions (DAO)	ProcStartLine**
Picture	ProjectName**
PictureAlignment*	Properties**
PictureData*	PrtDevMode
PicturePages*	PrtDevNames
PictureSizeMode*	PrtMip
PictureTiling*
Q–R

QueryTimeout (DAO)	ReplicationConflictFunction*
RecordCount (DAO)	Report
RecordLocks	Required (DAO)
RecordsAffected (DAO)*	Required
RecordSelectors	Restartable (DAO)
RecordsetClone	ReturnsRecords (DAO)
RecordsetType*	ReturnsRecords
RecordSource	RowHeight
RepeatSection*	RowSource
Replicable (DAO)*	RowSourceType
ReplicaFilter (DAO)*	RunningSum
ReplicaID (DAO)*	RunPermissions
S

ScaleHeight	Source (VBA)
ScaleLeft	Source
ScaleMode	SourceConnectStr
ScaleTop	SourceDatabase
ScaleWidth	SourceDoc
ScrollBars	SourceField (DAO)
Section	SourceItem
Selected*	SourceObject
SelHeight*	SourceTable (DAO)
SelLeft*	SourceTableName (DAO)
SelLength	SpecialEffect
SelStart	SQL (DAO)
SelText	StartupForm*
SelTop*	StartupMenuBar*
SelWidth*	StartupShortcutMenuBar*
ShortcutMenu	StartupShowDBWindow*
ShortcutMenuBar*	StartupShowStatusBar*
Size (DAO)	StatusBarText
SizeMode	StillExecuting (DAO)**
Sort (DAO)	Style**
SortOrder	SystemDB (DAO)*
Source (DAO)*
T–U

TabFixedHeight**	TripleState*
TabFixedWidth**	Type (DAO)
TabIndex	Type
Table (DAO)	Unique (DAO)
TabStop	Unique
Tag	UniqueRecords
Text	UniqueValues
TextAlign	Updatable (DAO)
TimerInterval	UpdateOptions (DAO)
Toolbar**	UpdateOptions
Top	UserControl*
TopValues	UserName (DAO)
Transactions (DAO)**	UseTransaction**
Transparent
V–Z

V1xNullBehavior (DAO)	ViewsAllowed
ValidateOnSet (DAO)	Visible
ValidationRule (DAO)	Visible (obiekt Application)*
ValidationRule	VisibleValue (DAO)
ValidationText (DAO)	WhatsThisButton (VBA)*
ValidationText	WhatsThisButton*
Value (DAO)	Width
Value	WillContinue*
Verb	WindowHeight
Version (DAO)	WindowWidth


Właściwości kwerend

Każda kwerenda ma ustawienia właściwości, które można modyfikować, aby zmienić zachowanie kwerendy i wygląd jej wyników.

Aby uzyskać dodatkowe informacje na temat właściwości kwerend, należy kliknąć nazwę właściwości poniżej. Gwiazdka (*) oznacza, że właściwość dotyczy pól kwerendy lub pól listy. Właściwości nie oznaczone gwiazdką dotyczą kwerend jako całości.

Alias*	ODBCTimeout
Caption*	OrderBy
ColumnHeadings	OrderByOn
Description	OutputAllFields
DestConnectStr	RecordLocks
DestinationDB	RecordsetType
DestinationTable	ReturnsRecords
DisplayControl*	RunPermissions
FailOnError	Source*
Filter	SourceConnectStr
Format*	SourceDatabase
FrozenColumns	TopValues
InputMask*	UniqueRecords
LogMessages	UniqueValues
MaxRecords	UseTransaction
ODBCConnectStr


Właściwości pola

Każde pole ma ustawienia właściwości, które można modyfikować, aby zmienić zachowanie i wygląd pola. Właściwości dostępne dla pola zależą od jego typu danych.

Aby uzyskać dodatkowe informacje na temat właściwości pola, należy kliknąć nazwę właściwości poniżej.

AllowZeroLength	FrozenColumns
BorderColor	IgnoreNulls
BorderStyle	Indexed
BorderWidth	InputMask
BoundColumn	LimitToList
Caption	ListRows
ColumnCount	ListWidth
ColumnHeads	NewValues
ColumnHidden	Primary
ColumnOrder	PrtDevModes
ColumnWidth	PrtDevNames
ColumnWidths	PrtMip
DatasheetCellsEffect	Required
DatasheetGridlinesBehavior	RowSource
DataType	RowSourceType
DecimalPlaces	SelHeight
DefaultValue	SelTop
Description	SortOrder
DisplayControl	SpecialEffect
FieldName	Unique
FieldSize	ValidationRule
ForeColor	ValidationText
Format


Właściwości tabeli

Każda tabela ma ustawienia właściwości, które można modyfikować, aby zmienić zachowanie i wygląd tabeli.

Aby uzyskać dodatkowe informacje na temat właściwości tabeli, należy kliknąć nazwę właściwości poniżej.

Description	ValidationRule
Filter	ValidationText
OrderBy


Właściwości formantu

Każdy formant ma ustawienia właściwości, które można modyfikować, aby zmienić jego zachowanie i wygląd.

Domyślne ustawienie właściwości można zmienić przed dodaniem formantu do formularza lub raportu. Można także zmienić ustawienie właściwości dla formantu, który już został umieszczony w formularzu lub raporcie.

Aby uzyskać dodatkowe informacje na temat właściwości formantu, należy kliknąć nazwę właściwości poniżej.

ActiveX	Option Button
Bound Object Frame	Option Group
Chart	Page Break
Check Box	Rectangle
Combo Box	Subform/Subreport
Command Button	Tab
Image	Text Box
Label	Toggle Button
Line	Unbound Object Frame
List Box


Właściwości formantu Związana ramka obiektu

Na poniższej liście zostały przedstawione właściwości, które można ustawiać dla formantu Związana ramka obiektu. Właściwości, które dotyczą tylko formantu umieszczonego na formularzu są oznaczone na końcu słowem "(formularze)".

Należy kliknąć nazwę właściwości poniżej, aby uzyskać dodatkowe informacje na temat tej właściwości, takie jak inne ograniczenia dostępności właściwości oraz, czy można ją ustawiać za pomocą arkusza właściwości, makra czy języka Visual Basic.

A-O

AddColon	LabelAlign
AfterUpdate (formularze)	LabelX
AutoActivate (formularze)	LabelY
AutoLabel	Left
BackColor	Locked (formularze)
BackStyle	Name
BeforeUpdate (formularze)	OLETypeAllowed
BorderColor	OnClick (formularze)
BorderStyle	OnDblClick (formularze)
BorderWidth	OnEnter (formularze)
Class	OnExit (formularze)
ControlSource	OnGotFocus (formularze)
ControlTipText	OnKeyDown (formularze)
ControlType	OnKeyPress (formularze)
DisplayType	OnKeyUp (formularze)
DisplayWhen (formularze)	OnLostFocus (formularze)
Enabled (formularze)	OnMouseDown (formularze)
Height	OnMouseMove (formularze)
HelpContextID (formularze)	OnMouseUp (formularze)
InSelection (formularze)	OnUpdated (formularze)
P-Z

ShortcutMenuBar	TabStop (formularze)
SizeMode	Tag
SourceDoc	Top
SourceItem	UpdateOptions
SpecialEffect	Verb
StatusBarText (formularze)	Visible
TabIndex (formularze)	Width


Właściwości pola wyboru

Na poniższej liście zostały przedstawione właściwości, które można ustawiać dla pola wyboru. Właściwości, które dotyczą tylko formantu umieszczonego na formularzu są oznaczone na końcu słowem "(formularze)".

Należy kliknąć nazwę właściwości poniżej, aby uzyskać dodatkowe informacje na temat tej właściwości, takie jak inne ograniczenia dostępności właściwości oraz, czy można ją ustawiać za pomocą arkusza właściwości, makra czy języka Visual Basic.

AddColon	OnDblClick (formularze)
AfterUpdate (formularze)	OnEnter (formularze)
AutoLabel	OnExit (formularze)
BeforeUpdate (formularze)	OnGotFocus (formularze)
BorderColor	OnKeyDown (formularze)
BorderStyle	OnKeyPress (formularze)
BorderWidth	OnKeyUp (formularze)
ControlSource	OnLostFocus (formularze)
ControlTipText	OnMouseDown (formularze)
ControlType	OnMouseMove (formularze)
DefaultValue (formularze)	OnMouseUp (formularze)
DisplayWhen (formularze)	ShortcutMenuBar
Enabled (formularze)	SpecialEffect
Height	StatusBarText (formularze)
HelpContextID (formularze)	TabIndex (formularze)
InSelection (formularze)	TabStop (formularze)
LabelAlign	Tag
LabelX	Top
LabelY	TripleState
Left	ValidationRule (formularze)
Locked (formularze)	ValidationText (formularze)
Name	Visible
OnClick (formularze)	Width


Właściwości pola kombi

Na poniższej liście zostały przedstawione właściwości, które można ustawiać dla pola kombi. Właściwości, które dotyczą tylko formantu umieszczonego na formularzu są oznaczone na końcu słowem "(formularze)".

Należy kliknąć nazwę właściwości poniżej, aby uzyskać dodatkowe informacje na temat tej właściwości, takie jak inne ograniczenia dostępności właściwości oraz, czy można ją ustawiać za pomocą arkusza właściwości, makra czy języka Visual Basic.

A–M

AddColon	Enabled (formularze)
AfterUpdate (formularze)	FontItalic
AllowAutoCorrect	FontName
AutoExpand	FontSize
AutoLabel	FontUnderline
BackColor	FontWeight
BackStyle	ForeColor
BeforeUpdate (formularze)	Format
BorderColor	Height
BorderStyle	HelpContextID (formularze)
BorderWidth	InputMask
BoundColumn	InSelection (formularze)
Column	ItemData
ColumnCount	LabelAlign
ColumnHeads	LabelX
ColumnWidths	LabelY
ControlSource	Left
ControlTipText (formularze)	LimitToList
ControlType	ListRows
DecimalPlaces	ListWidth
DefaultValue (formularze)	Locked (formularze)
DisplayWhen (formularze)
N–Z

Name	RowSource
OnChange (formularze)	RowSourceType
OnClick (formularze)	ShortcutMenuBar
OnDblClick (formularze)	SpecialEffect
OnEnter (formularze)	StatusBarText (formularze)
OnExit (formularze)	TabIndex (formularze)
OnGotFocus (formularze)	TabStop (formularze)
OnKeyDown (formularze)	Tag
OnKeyPress (formularze)	TextAlign
OnKeyUp (formularze)	Top
OnLostFocus (formularze)	ValidationRule (formularze)
OnMouseDown (formularze)	ValidationText (formularze)
OnMouseMove (formularze)	Visible
OnMouseUp (formularze)	Width
OnNotInList (formularze)


Właściwości przycisku polecenia

Na poniższej liście zostały przedstawionoe właściwości, które można ustawiać dla przycisku polecenia. Właściwości, które dotyczą tylko formantu umieszczonego na formularzu są oznaczone na końcu słowem "(formularze)".

Należy kliknąć nazwę właściwości poniżej, aby uzyskać dodatkowe informacje na temat tej właściwości, takie jak inne ograniczenia dostępności właściwości oraz, czy można ją ustawiać za pomocą arkusza właściwości, makra czy języka Visual Basic.

AddColon	Name
AutoLabel	OnClick (formularze)
AutoRepeat (formularze)	OnDblClick (formularze)
Cancel (formularze)	OnEnter (formularze)
Caption	OnExit (formularze)
ControlTipText (formularze)	OnGotFocus (formularze)
ControlType	OnKeyDown (formularze)
Default	OnKeyPress (formularze)
DisplayWhen (formularze)	OnKeyUp (formularze)
Enabled (formularze)	OnLostFocus (formularze)
FontItalic	OnMouseDown (formularze)
FontName	OnMouseMove (formularze)
FontSize	OnMouseUp (formularze)
FontUnderline	Picture
FontWeight	PictureType
ForeColor	ShortcutMenuBar
Height	StatusBarText (formularze)
HelpContextID (formularze)	TabIndex (formularze)
HyperlinkAddress	TabStop (formularze)
HyperlinkSubAddress	Tag
InSelection (formularze)	Top
LabelAlign	Transparent
LabelX	Visible
LabelY	Width
Left


Właściwości wykresu

Na poniższej liście zostały przedstawione właściwości, które można ustawiać dla wykresu. Właściwości, które dotyczą tylko formantu umieszczonego na formularzu są oznaczone na końcu słowem "(formularze)".

Należy kliknąć nazwę właściwości poniżej, aby uzyskać dodatkowe informacje na temat tej właściwości, takie jak inne ograniczenia dostępności właściwości oraz, czy można ją ustawiać za pomocą arkusza właściwości, makra czy języka Visual Basic.

AddColon	OnClick (formularze)
AfterUpdate (formularze)	OnDblClick (formularze)
AutoActivate (formularze)	OnEnter (formularze)
AutoLabel	OnExit (formularze)
BackColor	OnGotFocus (formularze)
BackStyle	OnKeyDown (formularze)
BeforeUpdate (formularze)	OnKeyPress (formularze)
BorderColor	OnKeyUp (formularze)
BorderStyle	OnLostFocus (formularze)
BorderWidth	OnMouseDown (formularze)
Class	OnMouseMove (formularze)
ControlSource	OnMouseUp (formularze)
ControlTipText	OnUpdated (formularze)
ControlType	ShortcutMenuBar
DisplayType	SizeMode
DisplayWhen (formularze)	SourceDoc
Enabled (formularze)	SourceItem
Height	SpecialEffect
HelpContextID (formularze)	StatusBarText (formularze)
InSelection (formularze)	TabIndex (formularze)
LabelAlign	TabStop (formularze)
LabelX	Tag
LabelY	Top
Left	UpdateOptions
Locked (formularze)	Verb
Name	Visible
OLETypeAllowed	Width


Właściwości formantu Obraz

Na poniższej liście zostały przedstawione właściwości, które można ustawiać dla formantu Obraz. Właściwości, które dotyczą tylko formantu umieszczonego na formularzu są oznaczone na końcu słowem "(formularze)".

Należy kliknąć nazwę właściwości poniżej, aby uzyskać dodatkowe informacje na temat tej właściwości, takie jak inne ograniczenia dostępności właściwości oraz, czy można ją ustawiać za pomocą arkusza właściwości, makra czy języka Visual Basic.

BackColor	OnDblClick (formularze)
BackStyle	OnMouseDown (formularze)
BorderColor	OnMouseMove (formularze)
BorderStyle	OnMouseUp (formularze)
BorderWidth	Picture
ControlTipText (formularze)	PictureAlignment
ControlType	PictureTiling (formularze)
DisplayWhen (formularze)	PictureType
Height	ShortcutMenuBar
HelpContextID	SizeMode
HyperlinkAddress	SpecialEffect
HyperlinkSubAddress	Tag
InSelection (formularze)	Top
Left	Visible
Name	Width
OnClick (formularze)


Właściwości etykiety

Na poniższej liście zostały przedstawione właściwości, które można ustawiać dla formantu Etykieta. Właściwości, które dotyczą tylko formantu umieszczonego na formularzu są oznaczone na końcu słowem "(formularze)".

Należy kliknąć nazwę właściwości poniżej, aby uzyskać dodatkowe informacje na temat tej właściwości, takie jak inne ograniczenia dostępności właściwości oraz, czy można ją ustawiać za pomocą arkusza właściwości, makra czy języka Visual Basic.

BackColor	HyperlinkAddress
BackStyle	HyperlinkSubAddress
BorderColor	InSelection (formularze)
BorderStyle	Left
BorderWidth	Name
Caption	OnClick (formularze)
ControlTipText (formularze)	OnDblClick (formularze)
ControlType	OnMouseDown (formularze)
DisplayWhen (formularze)	OnMouseMove (formularze)
FontItalic	OnMouseUp (formularze)
FontName	ShortcutMenuBar
FontSize	SpecialEffect
FontUnderline	Tag
FontWeight	TextAlign
ForeColor	Top
Height	Visible
HelpContextID	Width


Właściwości formantu Linia

Na poniższej liście zostały przedstawione właściwości, które można ustawiać dla formantu Linia. Właściwości, które dotyczą tylko formantu umieszczonego na formularzu są oznaczone na końcu słowem "(formularze)".

Należy kliknąć nazwę właściwości poniżej, aby uzyskać dodatkowe informacje na temat tej właściwości, takie jak inne ograniczenia dostępności właściwości oraz, czy można ją ustawiać za pomocą arkusza właściwości, makra lub języka Visual Basic.

BorderColor	LineSlant
BorderStyle	Name
BorderWidth	SpecialEffect
ControlType	Tag
DisplayWhen (formularze)	Top
Height	Visible
InSelection (formularze)	Width
Left


Właściwości pola listy

Na poniższej liście zostały przedstawione właściwości, które można ustawiać dla pola listy. Właściwości, które dotyczą tylko formantu umieszczonego na formularzu są oznaczone na końcu słowem "(formularze)".

Należy kliknąć nazwę właściwości poniżej, aby uzyskać dodatkowe informacje na temat tej właściwości, takie jak inne ograniczenia dostępności właściwości oraz, czy można ją ustawiać za pomocą arkusza właściwości, makra lub języka Visual Basic.

A–M

AddColon	Enabled (formularze)
AfterUpdate (formularze)	FontItalic
AutoLabel	FontName
BackColor	FontSize
BeforeUpdate (formularze)	FontUnderline
BorderColor	FontWeight
BorderStyle	ForeColor
BorderWidth	Height
BoundColumn	HelpContextID (formularze)
Column (formularze)	InSelection (formularze)
ColumnCount	ItemData
ColumnHeads	LabelAlign
ColumnWidths	LabelX
ControlSource	LabelY
ControlTipText (formularze)	Left
ControlType	Locked (formularze)
DefaultValue (formularze)	MultiSelect
DisplayWhen (formularze)
N–Z

Name	RowSource
OnClick (formularze)	RowSourceType
OnDblClick (formularze)	ShortcutMenuBar
OnEnter (formularze)	SpecialEffect
OnExit (formularze)	StatusBarText (formularze)
OnGotFocus (formularze)	TabIndex (formularze)
OnKeyDown (formularze)	TabStop (formularze)
OnKeyPress (formularze)	Tag
OnKeyUp (formularze)	Top
OnLostFocus (formularze)	ValidationRule (formularze)
OnMouseDown (formularze)	ValidationText (formularze)
OnMouseMove (formularze)	Visible
OnMouseUp (formularze)	Width


Właściwości przycisku opcji

Na poniższej liście zostały przedstawione właściwości, które można ustawiać dla przycisku opcji. Właściwości, które dotyczą tylko formantu umieszczonego na formularzu są oznaczone na końcu słowem "(formularze)".

Należy kliknąć nazwę właściwości poniżej, aby uzyskać dodatkowe informacje na temat tej właściwości, takie jak inne ograniczenia dostępności właściwości oraz, czy można ją ustawiać za pomocą arkusza właściwości, makra czy języka Visual Basic.

AddColon	OnDblClick (formularze)
AfterUpdate (formularze)	OnEnter (formularze)
AutoLabel	OnExit (formularze)
BeforeUpdate (formularze)	OnGotFocus (formularze)
BorderColor	OnKeyDown (formularze)
BorderStyle	OnKeyPress (formularze)
BorderWidth	OnKeyUp (formularze)
ControlSource	OnLostFocus (formularze)
ControlTipText (formularze)	OnMouseDown (formularze)
ControlType	OnMouseMove (formularze)
DefaultValue (formularze)	OnMouseUp (formularze)
DisplayWhen (formularze)	ShortcutMenuBar
Enabled (formularze)	SpecialEffect
Height	StatusBarText (formularze)
HelpContextID (formularze)	TabIndex (formularze)
InSelection (formularze)	TabStop (formularze)
LabelAlign	Tag
LabelX	Top
LabelY	TripleState
Left	ValidationRule (formularze)
Locked (formularze)	ValidationText (formularze)
Name	Visible
OnClick (formularze)	Width


Właściwości formantu Grupa opcji

Na poniższej liście zostały przedstawione właściwości, które można ustawiać dla formantu Grupa opcji. Właściwości, które dotyczą tylko formantu umieszczonego na formularzu są oznaczone na końcu słowem "(formularze)".

Należy kliknąć nazwę właściwości poniżej, aby uzyskać dodatkowe informacje na temat tej właściwości, takie jak inne ograniczenia dostępności właściwości oraz, czy można ją ustawiać za pomocą arkusza właściwości, makra czy języka Visual Basic.

AddColon	Left
AfterUpdate (formularze)	Locked (formularze)
AutoLabel	Name
BackColor	OnClick (formularze)
BackStyle	OnDblClick (formularze)
BeforeUpdate (formularze)	OnEnter (formularze)
BorderColor	OnExit (formularze)
BorderStyle	OnMouseDown (formularze)
BorderWidth	OnMouseMove (formularze)
ControlSource	OnMouseUp (formularze)
ControlTipText (formularze)	ShortcutMenuBar
ControlType	SpecialEffect
DefaultValue (formularze)	StatusBarText (formularze)
DisplayWhen (formularze)	TabIndex (formularze)
Enabled (formularze)	TabStop (formularze)
Height	Tag
HelpContextID (formularze)	Top
InSelection	ValidationRule (formularze)
LabelAlign	ValidationText (formularze)
LabelX	Visible
LabelY	Width


Właściwości formantu Podział strony

Na poniższej liście zostały przedstawione właściwości, które można ustawiać dla formantu Podział strony. Właściwości, które dotyczą tylko formantu umieszczonego na formularzu są oznaczone na końcu słowem "(formularze)".

Należy kliknąć nazwę właściwości poniżej, aby uzyskać dodatkowe informacje na temat tej właściwości, takie jak inne ograniczenia dostępności właściwości oraz, czy można ją ustawiać za pomocą arkusza właściwości, makra czy języka Visual Basic.

ControlType	Name
InSelection (formularze)	Tag
Left	Top


Właściwości formantu Prostokąt

Na poniższej liście zostały przedstawione właściwości, które można ustawiać dla formantu Prostokąt. Właściwości, które dotyczą tylko formantu umieszczonego na formularzu są oznaczone na końcu słowem "(formularze)".

Należy kliknąć nazwę właściwości poniżej, aby uzyskać dodatkowe informacje na temat tej właściwości, takie jak inne ograniczenia dostępności właściwości oraz, czy można ją ustawiać za pomocą arkusza właściwości, makra czy języka Visual Basic.

BackColor	OnClick (formularze)
BackStyle	OnDblClick (formularze)
BorderColor	OnMouseDown (formularze)
BorderStyle	OnMouseMove (formularze)
BorderWidth	OnMouseUp (formularze)
ControlType	SpecialEffect
DisplayWhen (formularze)	Tag
Height	Top
InSelection (formularze)	Visible
Left	Width
Name


Właściwości formantu Podformularz/Podraport

Na poniższej liście zostały przedstawione właściwości, które można ustawiać dla formantu podformularz/podraport. Właściwości, które dotyczą tylko formantu umieszczonego na formularzu są oznaczone na końcu słowem "(formularze)".

Należy kliknąć nazwę właściwości poniżej, aby uzyskać dodatkowe informacje na temat tej właściwości, takie jak inne ograniczenia dostępności właściwości oraz, czy można ją ustawiać za pomocą arkusza właściwości, makra czy języka Visual Basic.

AddColon	LinkChildFields
AutoLabel	LinkMasterFields
BorderColor	Locked (formularze)
BorderStyle	Name
BorderWidth	OnEnter (formularze)
CanGrow	OnExit (formularze)
CanShrink	SourceObject
ControlType	SpecialEffect
DisplayWhen (formularze)	StatusBarText (formularze)
Enabled (formularze)	TabIndex (formularze)
Height	TabStop (formularze)
InSelection (formularze)	Tag
LabelAlign	Top
LabelX	Visible
LabelY	Width
Left


Właściwości pola tekstowego

Na poniższej liście zostały przedstawione właściwości, które można ustawiać dla pola tekstowego. Właściwości, które dotyczą tylko formantu umieszczonego na formularzu są oznaczone na końcu słowem "(formularze)".

Należy kliknąć nazwę właściwości poniżej, aby uzyskać dodatkowe informacje na temat tej właściwości, takie jak inne ograniczenia dostępności właściwości oraz, czy można ją ustawiać za pomocą arkusza właściwości, makra czy języka Visual Basic.

A–N

AddColon	EnterKeyBehavior (formularze)
AfterUpdate (formularze)	FilterLookup
AllowAutoCorrect	FontBold
AutoLabel	FontItalic
AutoTab (formularze)	FontName
BackColor	FontSize
BackStyle	FontUnderline
BeforeUpdate (formularze)	FontWeight
BorderColor	ForeColor
BorderStyle	Format
BorderWidth	Height
CanGrow	HelpContextID (formularze)
CanShrink	InputMask
ControlSource	InSelection (formularze)
ControlTipText (formularze)	LabelAlign
ControlType	LabelX
DecimalPlaces	LabelY
DefaultValue (formularze)	Left
DisplayWhen (formularze)	Locked (formularze)
Enabled (formularze)	Name
O–P

OnChange (formularze)	ScrollBars (formularze)
OnClick (formularze)	ShortcutMenuBar
OnDblClick (formularze)	SpecialEffect
OnEnter (formularze)	StatusBarText (formularze)
OnExit (formularze)	TabIndex (formularze)
OnGotFocus (formularze)	TabStop (formularze)
OnKeyDown (formularze)	Tag
OnKeyPress (formularze)	TextAlign
OnKeyUp (formularze)	Top
OnLostFocus (formularze)	ValidationRule (formularze)
OnMouseDown (formularze)	ValidationText (formularze)
OnMouseMove (formularze)	Visible
OnMouseUp (formularze)	Width


Właściwości formantu Przycisk przełącznika

Na poniższej liście zostały przedstawione właściwości, które można ustawiać dla formantu Przycisk przełącznika Właściwości, które dotyczą tylko formantu umieszczonego na formularzu są oznaczone na końcu słowem "(formularze)".

Należy kliknąć nazwę właściwości poniżej, aby uzyskać dodatkowe informacje na temat tej właściwości, takie jak inne ograniczenia dostępności właściwości oraz, czy można ją ustawiać za pomocą arkusza właściwości, makra czy języka Visual Basic.

AddColon	OnClick (formularze)
AfterUpdate (formularze)	OnDblClick (formularze)
AutoLabel	OnEnter (formularze)
BeforeUpdate (formularze)	OnExit (formularze)
Caption	OnGotFocus (formularze)
ControlSource	OnKeyDown (formularze)
ControlTipText (formularze)	OnKeyPress (formularze)
ControlType	OnKeyUp (formularze)
DefaultValue (formularze)	OnLostFocus (formularze)
DisplayWhen (formularze)	OnMouseDown (formularze)
Enabled (formularze)	OnMouseMove (formularze)
FontItalic	OnMouseUp (formularze)
FontName	Picture
FontSize	PictureType
FontUnderline	ShortcutMenuBar
FontWeight	StatusBarText (formularze)
ForeColor	TabIndex (formularze)
Height	TabStop (formularze)
HelpContextID (formularze)	Tag
InSelection (formularze)	Top
LabelAlign	TripleState
LabelX	ValidationRule (formularze)
LabelY	ValidationText (formularze)
Left	Visible
Locked (formularze)	Width
Name


Właściwości formantu Niezwiązana ramka obiektu

Na poniższej liście zostały przedstawione właściwości, które można ustawiać dla formantu Niezwiązana ramka obiektu. Właściwości, które dotyczą tylko formantu umieszczonego na formularzu są oznaczone na końcu słowem "(formularze)".

Należy kliknąć nazwę właściwości poniżej, aby uzyskać dodatkowe informacje na temat tej właściwości, takie jak inne ograniczenia dostępności właściwości oraz, czy można ją ustawiać za pomocą arkusza właściwości, makra czy języka Visual Basic.

AutoActivate (formularze)	OnDblClick (formularze)
BackColor	OnEnter (formularze)
BackStyle	OnExit (formularze)
BorderColor	OnGotFocus (formularze)
BorderStyle	OnLostFocus (formularze)
BorderWidth	OnMouseDown (formularze)
Class	OnMouseMove (formularze)
ColumnCount	OnMouseUp (formularze)
ColumnHeads	OnUpdated (formularze)
ControlTipText (formularze)	RowSource
ControlType	RowSourceType
DisplayType	ShortcutMenuBar
DisplayWhen (formularze)	SizeMode
Enabled (formularze)	SourceDoc
Height	SourceItem
HelpContextID (formularze)	SpecialEffect
InSelection (formularze)	StatusBarText
Left	TabIndex (formularze)
LinkChildFields	TabStop (formularze)
LinkMasterFields	Tag
Locked (formularze)	Top
Name	UpdateOptions
OLEClass	Verb
OLEType	Visible
OLETypeAllowed	Width
OnClick (formularze)


Właściwości formantu Karta

Na poniższej liście zostały przedstawione właściwości, które można ustawiać dla formantu Karta.

Należy kliknąć nazwę właściwości poniżej, aby uzyskać dodatkowe informacje na temat tej właściwości, takie jak inne ograniczenia dostępności właściwości oraz, czy można ją ustawiać za pomocą arkusza właściwości, makra czy języka Visual Basic.

BackStyle	OnKeyDown (formularze)
ControlType	OnKeyPress (formularze)
DisplayWhen	OnKeyUp (formularze)
Enabled	OnMouseDown
FontItalic	OnMouseMove
FontName	OnMouseUp
FontSize	ShortcutMenuBar
FontUnderline	StatusBarText
FontWeight	Style
Height	TabFixedHeight
HelpContextID	TabFixedWidth
InSelection	TabIndex
Left	TabStop
MultiRow	Tag
Name	Top
OnChange	Visible
OnClick	Width
OnDblClick


Właściwości formantu ActiveX

Na poniższej liście zostały przedstawione właściwości, które można ustawiać dla formantu ActiveX.

Należy kliknąć nazwę właściwości poniżej, aby uzyskać dodatkowe informacje na temat tej właściwości, takie jak inne ograniczenia dostępności właściwości oraz, czy można ją ustawiać za pomocą arkusza właściwości, makra czy języka Visual Basic.

BorderColor	Object
BorderStyle	OLEClass
BorderWidth	OnEnter (formularze)
Class	OnExit (formularze)
ControlSource	OnGotFocus (formularze)
ControlTipText	OnLostFocus (formularze)
ControlType	OnUpdated (formularze)
Custom	SpecialEffect
DisplayWhen (formularze)	TabIndex (formularze)
Enabled (formularze)	TabStop (formularze)
Height	Tag
HelpContextID (formularze)	Top
InSelection (formularze)	Verb
Left	Visible
Locked (formularze)	Width
Name


Funkcje języka Visual Basic for Applications (odpowiedniki w innych językach) - przegląd

Język Visual Basic for Applications jest wspólnym językiem programowania dla wszystkich aplikacji pakietu Microsoft Office. W oknie kodu każdej aplikacji pakietu Office trzeba używać angielskich słów kluczowych języka Visual Basic for Applications. Jednak w programie Microsoft Access, w niektórych językach (np. w języku niemieckim), w wyrażeniach zawartych w kwerendach, formularzach, raportach i makrach, można również używać odpowiedników nazw większości funkcji języka Visual Basic for Applications w danym języku.

Uwaga   Aby uzyskać więcej informacji dotyczących kwestii międzynarodowych, kliknij  [image].

W poniższej tabeli zostały przedstawione angielskie funkcje mogące mieć odpowiedniki w innych językach

Abs		Oct$
CurDir		Sqr
CurDir$		Right
Atn		Right$
Asc		RightB
AscB		RightB$
Shell		RGB
Partition		RTrim
PV		RTrim$
Cos		Pmt
DateAdd		Switch
DateDiff		Second
DateSerial		Sin
DatePart		Str
Date		Str$
Date$		String
DateValue		String$
SYD		StrComp
InputBox		Hour
Exp		Day
QBColor		Tan
Fix		Mid
Format		Mid$
Format$		MidB
DDB		MidB$
Trim		Environ
Trim$		VarType
UCase		Dir
UCase$		Dir$
Hex		Sgn
Hex$		Choose
InStr		IIF
InStrB		Val
Int		Weekday
IsDate		CBool
IsEmpty		CByte
IsNull		Chr
IsNumeric		Chr$
Year		ChrB
Now		ChrB$
PPmt		CCur
LCase		CDate
LCase$		CDbl
Len		Time
LenB		Time$
Space		Timer
Space$		TimeSerial
LTrim		TimeValue
LTrim$		Rate
SLN		IPmt
Left		CInt
Left$		CLng
LeftB		CSng
LeftB$		CStr
Log		CVar
MsgBox		FV
Minute		Rnd
Month		NPer
Oct


Funkcje agregujące języka SQL (polski - angielski) - przegląd)
Funkcje agregujące języka SQL (polski - angielski) - przegląd

W programie Microsoft Access można używać polskich nazw następujących funkcji agregujących języka SQL w kwerendzie, w siatce projektu kwerendy. Nazw angielskich trzeba używać we właściwości SQL obiektu QueryDef lub podczas tworzenia obiektu Recordset opartego na kwerendzie SQL.

Uwaga   Aby uzyskać więcej informacji dotyczących kwestii międzynarodowych, kliknij  [image].

Nazwa polska	Nazwa angielska		Nazwa angielska	Nazwa polska
Zlicz Średnia OdchStd Suma Wariancja	Count Avg StDev Sum Var		Avg Count StDev Sum Var	Średnia Zlicz OdchStd Suma Wariancja


LoadPicture, funkcja

Funkcja LoadPicture jest przeznaczona do ładowania grafiki do formantu ActiveX.

Składnia

LoadPicture(wyrażenieznakowe)

Funkcja LoadPicture ma następujący argument.

Argument	Opis
wyrażenieznakowe	Nazwa pliku grafiki, który ma być załadowany. Może być to plik mapy bitowej (.bmp), plik ikony (.ico), plik typu "run-length encoded" (.rle) lub metaplik (.wmf).
Uwagi

Aby dynamicznie ładować grafikę do formantu, należy wartość zwracaną przez funkcję LoadPicture przypisać właściwości Picture formantu ActiveX. W poniższym przykładzie mapa bitowa jest ładowana do formantu o nazwie "OLECustomControl" (NiestandardowyFormantOLE) znajdującego się na formularzu "Orders" (Zamówienia):

Set Forms!Orders!OLECustomControl.Picture = LoadPicture("Stars.bmp")

Funkcja LoadPicture zwraca obiekt typu Picture. Można przypisać tę wartość zmiennej typu Object używając instrukcji Set.

Obiekt Picture nie jest obiektem programu Microsoft Access, lecz jest dostępny dla procedur tego programu.

Uwaga   Nie można użyć funkcji LoadPicture do ustawienia właściwości Picture formantu obrazu. Funkcja ta działa tylko dla formantów ActiveX. Aby ustawić właściwość Picture formantu obrazu, wystarczy przypisać ją do ciągu znaków określającego ścieżkę i nazwę plikużądanej grafiki.


LoadPicture, funkcja - przykład
LoadPicture, funkcja – przykład

W poniższym przykładzie użyto funkcji LoadPicture, aby załadować metaplik do formantu ActiveX na formularzu "Employees" (Pracownicy).

Sub DisplayGraphic()

Const strConPathToBitmaps = "C:\Program Files\Microsoft Office\Office\Bitmaps\Styles\"

' Declare object variables of type Picture and Control.

Dim objPicture As Object, ctl As Control

' Set Control variable to refer to ActiveX control on form.

Set ctl = Forms!Employees!SomeCustomControl

' Assign return value of LoadPicture to Picture object.

Set objPicture = LoadPicture(strConPathToBitmaps & "Globe.wmf")

' Set Picture property of ActiveX control.

Set ctl.Picture = objPicture

End Sub


Zmienione nazwy właściwości

Poniższa tabela zawiera właściwości, które różnią się nazwą lub działaniem od swoich odpowiedników z poprzednich wersji programu Microsoft Access. Właściwości te znajdują się w obecnej wersji programu Microsoft Access tylko dla zachowania zgodności z wersjami poprzednimi. Zamiast nich wskazane jest używanie aktualnych właściwości programu Microsoft Access.

Właściwości, które zostały dodane w programie Microsoft Access 95, są w wykazie właściwości oznaczone gwiazdkami (*). Właściwości, które zostały dodane w programie Microsoft Access 97 są w wykazie właściwości oznaczone podwójnymi gwiazdkami (**).

Poprzednia właściwość Microsoft Access	Aktualna właściwość Microsoft Access
AllowEditing, DefaultEditing	AllowAdditions, AllowDeletions, AllowEdits, DataEntry
MaxButton, MinButton	MinMaxButtons
BorderLineStyle	BorderStyle
AllowUpdating	RecordsetType
Dynaset	RecordsetClone
ShowGrid	DatasheetGridlinesBehavior


Ustawianie właściwości za pomocą makr

Za pomocą makra można ustawić właściwości dla obiektów Form, Report i Control. a także dla sekcji formularza i raportu. Aby ustawić z makra wartość właściwości należy zastosować akcję UstawWartość (SetValue).

Nie można używać makr do ustawiania właściwości innych obiektów programu Microsoft Access lub obiektów dostępu do danych (DAO) ani ustawiać domyślnych właściwości formantu, lecz można je ustawiać za pomocą języka Visual Basic lub w arkuszu właściwości obiektu w widoku "Projekt".

Ustawianie właściwość formularza, raportu lub formantu za pomocą makra

1.	Wstaw do makra akcję UstawWartość.

2.	Ustaw argument "Element" akcji UstawWartość na wyrażenie odwołujące się do właściwości, która ma być ustawiona:

•	Aby ustawić właściwości formularza lub raportu należy użyć składni Forms!nazwaformularza.nazwawłaściwości albo Reports!nazwaraportu. nazwawłaściwości. Na przykład poniższe wyrażenie odwołuje się do właściwości Visible (Widoczny) formularza "Customers":

Forms!Customers.Visible

•	Aby ustawić właściwości formantu formularza lub raportu, należy użyć składni Forms!nazwaformularza!nazwaformantu.nazwawłaściwości lub Reports! nazwaraportu!nazwaformantu.nazwawłaściwości. Na przykład poniższe wyrażenie odwołuje się do właściwości Visible formantu "HiddenPageBreak" w raporcie "Invoices":

Reports!Invoices!HiddenPageBreak.Visible

Wskazówka   Jeżeli makro zawierające akcję UstawWartość będzie uruchamiane z tego formularza lub raportu, którego właściwość ona ustawia, to do odwołania się do właściwości można użyć składni nazwawłaściwości. Lepiej jest jednak w odwołaniu do właściwości używać pełnej składni w celu uniknięcia konfliktów z nazwami formantów lub ze słowami kluczowymi języka Visual Basic. Na przykład Name jest właściwością programu Microsoft Access; jeżeli w formularzu istnieje formant o nazwie "Name", to należy użyć pełnej składni przy odwoływaniu się zarówno do formantu, jak i do właściwości.

3.	Ustaw argument "Wyrażenie" akcji UstawWartość na wartość, która ma być nadana właściwości. Jeżeli ustawieniem jest ciąg znaków, to należy koniecznie ująć go w znaki podwójnego cudzysłowu ("). Na przykład, aby ustawić właściwość Caption formularza na wartość Orders, należy wprowadzić nazwę ciąg znaków "Orders" w argumencie "Wyrażenie".

Ustawianie właściwości sekcji za pomocą makra

1.	Wstaw do makra akcję UstawWartość.

2.	W argumencie "Element" użyj składni Forms!nazwaformularza.Section(stała).nazwawłaściwości, aby odwołać się do ustawianej właściwości. Argument stała wskazuje konkretną sekcję formularza lub raportu, jak to zostało opisane w temacie poświęconym właściwości Section. Na przykład poniższe wyrażenie odwołuje się do właściwości Visible sekcji nagłówek strony formularza "Customers":

Forms!Customers.Section(acPageHeader).Visible

3.	Ustaw argument "Wyrażenie" akcji zgodnie z powyższym opisem.

Uwaga   Przeszukując indeks Pomocy, można dla każdej ustawianej właściwości uzyskać informacje na następujące tematy:

•	Czy można ustawiać właściwość z makra.

•	Widoki, w których można ustawiać właściwość. Nie wszystkie właściwości mogą być ustawiane we wszystkich widokach. Na przykład właściwość formularza BorderStyle (StylObramowania) można ustawiać tylko w widoku "Projekt" formularza.

•	Jakich wartości należy używać do ustawiania właściwości. Niektóre właściwości wymagają ustawień nie odpowiadających wartościom z arkusza właściwości, lecz odpowiadających wartościom numerycznym. Może wystąpić potrzeba ustawienia właściwości za pomocą ustawień używanych w języku Visual Basic, a nie używanych w arkuszu właściwości. Na przykład, jeśli ustawiane właściwości są elementami wybranymi z rozwijalnej listy, to należy użyć wartości lub odpowiednika liczbowego każdego z wybieranych elementów.


Ustawianie właściwości za pomocą języka Visual Basic

Większość właściwości można ustawić za pomocą kodu języka Visual Basic. Sposób ustawiania właściwości zależy od tego, czy właściwość jest ustawiana dla obiektu Form, Report czy Control albo dla obiektu dostępu do danych (DAO). W poniższych tematach opisano kroki niezbędne do ustawienia właściwości dla każdego typu obiektu:

Ustawianie właściwości formularza, raportu i formantu za pomocą języka Visual Basic

Ustawianie właściwości obiektów dostępu do danych za pomocą języka Visual Basic


Ustawianie właściwości formularza, raportu i formantu za pomocą języka Visual Basic

Obiekty Form, Report i Control są obiektami programu Microsoft Access. Właściwości dla tych obiektów można ustawić za pomocą procedur Sub, Function lub procedur zdarzeń. Można także ustawić właściwości dla sekcji formularza i raportu.

Ustawianie właściwości formularza lub raportu

Należy odwołać się do pojedynczego formularza lub raportu w kolekcji Forms lub Reports, dołączając nazwę właściwości i jej wartość. Na przykład, aby ustawić właściwość Visible (Widoczny) formularza "Customers" na wartość True (–1), należy zastosować następujący wiersz kodu:

Forms!Customers.Visible = True

Można także ustawić właściwość formularza lub raportu z modułu obiektu za pomocą właściwości Me obiektu. Kod, który używa właściwości Me jest wykonywany szybciej niż kod używający pełnej nazwy obiektu. Na przykład, aby ustawić właściwość RecordSource (ŹródłoRekordów) formularza "Customers" na instrukcję SQL, która zwraca z modułu formularza "Customers" wszystkie rekordy pola "CompanyName" zaczynające się na literę "A", należy zastosować następujący wiersz kodu:

Me!RecordSource = "SELECT * FROM Customers " _

& "WHERE CompanyName Like 'A*'"

Ustawianie właściwości formantu

Należy odwołać się do formantu w kolekcji Controls obiektu Form lub Report, w którym on się znajduje. Do kolekcji Controls można się odwołać domyślnie lub jawnie, lecz szybciej działa odwołanie domyślne. W poniższym przykładzie ustawiana jest właściwość Visible pola tekstowego o nazwie "CustomerID" w formularzu "Customers":

' Metoda szybsza.

Me!CustomerID.Visible = True

' Metoda wolniejsza.

Forms!Customers.Controls!CustomerID.Visible = True

Najszybszym sposobem ustawiania właściwości formantu jest użycie właściwości Me obiektu bezpośrednio z jego modułu. Można na przykład wykorzystać następujący kod do przełączenia właściwości Visible pola tekstowego o nazwie "CustomerID" w formularzu "Customers":

With Me!CustomerID

.Visible = Not .Visible

End With

Ustawianie właściwości sekcji formularza lub raportu

Należy odwołać się do formularza lub raportu w kolekcji Forms lub Reports, dołączając właściwość Section oraz zmienną typu Liczba całkowita lub stałą identyfikującą sekcję. W poniższym przykładzie ustawiana jest na wartość False (0) właściwość Visible sekcji nagłówka strony formularza "Customers":

Forms!Customers.Section(3).Visible = False

Me!Section(acPageHeader).Visible = False

Uwagi

•	Przeszukując indeks Pomocy, można dla każdej ustawianej właściwości uzyskać informacje na następujące tematy:

•	Czy można ustawiać właściwość z języka Visual Basic.

•	Widoki, w których można ustawiać właściwość. Nie wszystkie właściwości mogą być ustawiane we wszystkich widokach. Na przykład właściwość formularza BorderStyle (StylObramowania) można ustawiać tylko w widoku "Projekt" formularza.

•	Jakich wartości należy używać do ustawienia właściwości. Często używa się innych ustawień, gdy do ustawiania właściwości wykorzystuje się język Visual Basic zamiast arkusza właściwości. Na przykład, jeśli ustawienia właściwości są elementami wybranymi z rozwijalnej listy, to należy użyć wartości lub odpowiednika liczbowego każdego z wybieranych elementów.

•	Aby ustawić właściwości domyślne dla formantów za pomocą języka Visual Basic, należy użyć metody DefaultControl.


Ustawianie właściwości obiektów dostępu do danych za pomocą języka Visual Basic

Obiekty dostępu do danych (DAO) pozwalają na manipulowanie za pomocą języka Visual Basic strukturą bazy danych oraz zawartymi w niej danymi. Wiele obiektów DAO odpowiada obiektom, które są widoczne w bazie danych – na przykład obiekt TableDef odpowiada tabeli programu Microsoft Access. Obiekt Field odpowiada polu w tabeli.

Większość właściwości, które można ustawiać dla obiektów dostępu do danych to właściwości obiektów dostępu do danych. Właściwości te są zdefiniowane przez aparat bazy danych Microsoft Jet i są ustawiane w ten sam sposób w każdej aplikacji korzystającej z aparatu bazy danych Jet. Pewne właściwości, które można ustawić dla obiektów dostępu do danych, są zdefiniowane przez program Microsoft Access i nie są automatycznie rozpoznawane przez aparat bazy danych Jet. Sposób ustawiania właściwości obiektów dostępu do danych zależy od tego, czy właściwość jest zdefiniowana przez aparat bazy danych Jet, czy przez program Microsoft Access.

Ustawianie właściwości dostępu do danych w obiektach dostępu do danych

Aby ustawić właściwość zdefiniowaną przez aparat bazy danych Jet, należy się odwołać do obiektu w hierarchii obiektów dostępu do danych. Najłatwiejszym i najszybszym sposobem odwołania jest utworzenie zmiennych obiektowych reprezentujących różne obiekty, z którymi zamierza się pracować, a następnie odwoływanie się do tych zmiennych w kolejnych krokach kodu. Na przykład w poniższym kodzie tworzony jest nowy obiekt TableDef i ustawiana jest jego właściwość Name:

Dim dbs As Database, tdf As TableDef

Set dbs = CurrentDb

Set tdf = dbs.CreateTableDef

tdf.Name = "Contacts"

Ustawianie właściwości programu Microsoft Access w obiektach dostępu do danych

Gdy ustawiana jest właściwość, która jest zdefiniowana przez program Microsoft Access, lecz dotyczy obiektu dostępu do danych, wówczas aparat bazy danych Jet nie rozpoznaje automatycznie właściwości jako poprawnej. Dlatego należy ją utworzyć przy ustawianiu po raz pierwszy, a następnie dołączyć do kolekcji Properties obiektu, którego ona dotyczy. Gdy właściwość jest już w kolekcji Properties, może być ustawiana w taki sam sposób jak inne właściwości dostępu do danych.

Jeśli właściwość jest ustawiana po raz pierwszy za pomocą interfejsu użytkownika, jest ona automatycznie dodawana do kolekcji Properties i można ją ustawić w normalny sposób.

Pisząc procedury przeznaczone do ustawiania właściwości zdefiniowanych przez program Microsoft Access, należy dołączyć kod obsługi błędów, aby sprawdzić, czy ustawiana właściwość już istnieje w kolekcji Properties. Aby uzyskać dodatkowe informacje, należy zapoznać się z tematem Pomocy dotyczącym metody CreateProperty albo z tematem dotyczącym konkretnej właściwości.

Należy pamiętać, że przy tworzeniu właściwości należy poprawnie określić jej właściwość Type przed dołączeniem jej do kolekcji Properties. Właściwość Type można ustalić na podstawie informacji w paragrafie "Ustawienia" tematu Pomocy dotyczącego konkretnej właściwości. W poniższej tablicy przedstawiono niektóre wskazówki dotyczące ustalania ustawienia właściwości Type.

Ustawienie właściwości	Ustawienie właściwości Type
Ciąg znaków	dbText
Prawda/Fałsz	dbBoolean
Liczba całkowita	dbInteger
W poniższej tablicy przedstawiono niektóre właściwości zdefiniowane w programie Microsoft Access, które dotyczą obiektów dostępu do danych.

Obiekt DAO	Właściwości zdefiniowane w programie Microsoft Access
Database	AppTitle, AppIcon, StartupShowDBWindow, StartupShowStatusBar, AllowShortcutMenus, AllowFullMenus, AllowBuiltInToolbars, AllowToolbarChanges, AllowBreakIntoCode, AllowSpecialKeys, Replicable, ReplicationConflictFunction
SummaryInfo Container	Title, Subject, Author, Manager, Company, Category, Keywords, Comments, Hyperlink Base (Zobacz też: karta Podsumowanie w oknie dialogowym Właściwości: NazwaBazyDanych, dostępnym przez kliknięcie polecenia Właściwości bazy danych w menu Plik.)
UserDefined Container	(Zobacz też: karta Podsumowanie w oknie dialogowym Właściwości: NazwaBazyDanych, dostępnym przez kliknięcie polecenia Właściwości bazy danych w menu Plik.)
TableDef	DatasheetBackColor, DatasheetCellsEffect, DatasheetFontHeight, DatasheetFontItalic, DatasheetFontName, DatasheetFontUnderline, DatasheetFontWeight, DatasheetForeColor, DatasheetGridlinesBehavior, DatasheetGridlinesColor, Description, FrozenColumns, RowHeight, ShowGrid
QueryDef	DatasheetBackColor, DatasheetCellsEffect, DatasheetFontHeight, DatasheetFontItalic, DatasheetFontName, DatasheetFontUnderline, DatasheetFontWeight, DatasheetForeColor, DatasheetGridlinesBehavior, DatasheetGridlinesColor, Description, FailOnError, FrozenColumns, LogMessages, MaxRecords, RecordLocks, RowHeight,  ShowGridShowGrid, UseTransaction
Field	Caption, ColumnHidden, ColumnOrder, ColumnWidth, DecimalPlaces, Description, Format, InputMask


Ustawianie właściwości formularza, raportu i formantu

Każdy formularz, raport, sekcja i formant ma ustawienia właściwości zmieniające jego wygląd lub działanie. Właściwości można przeglądać i zmieniać za pomocą arkusza właściwości, makra lub języka Visual Basic.

Ustawianie właściwości

1.	W widoku "Projekt" formularza lub widoku "Projekt" raportu wybierz formant, sekcję, formularz lub raport, którego właściwości mają być ustawione. Można wybrać:

•	Jeden lub więcej formantów. Aby wybrać więcej formantów, należy trzymając wciśnięty klawisz SHIFT kliknąć formanty lub przeciągnąć wskaźnik myszy przez formanty, które mają być wybrane. Jeżeli wiele formantów zostało wybranych, to w arkuszu właściwości będą wyświetlone tylko te właściwości, które są wspólne dla nich wszystkich.

•	Jedną sekcję. W tym celu należy kliknąć selektor sekcji, która ma być wybrana.

•	Cały formularz lub raport. W tym celu należy kliknąć selektor formularza lub selektor raportu w lewym górnym rogu formularza lub raportu.

2.	Wyświetl arkusz właściwości przez kliknięcie prawym przyciskiem myszy obiektu lub sekcji, a następnie kliknięcie polecenia Właściwości w menu podręcznym albo przycisku Właściwości [image]  na pasku narzędzi.

3.	Kliknij właściwość, dla której ma być ustawiona wartość, po czym wykonaj jedną z następujących czynności:

•	W polu właściwości wpisz odpowiednie ustawienie lub wyrażenie.

•	Jeżeli pole właściwości zawiera strzałkę, kliknij ją, a następnie kliknij wartość na liście rozwijalnej.

•	Jeżeli po prawej stronie pola właściwości znajduje się przycisk Buduj  [image], kliknij go, aby wyświetlić okno konstruktora albo okno dialogowe pozwalające na wybór konstruktorów. Na przykład, do ustawienia niektórych właściwości można użyć konstruktora kodu, konstruktora makr lub konstruktora kwerend.

Jeżeli arkusz właściwości jest pusty lub nie zawiera właściwości, która powinna się w nim znajdować, przeczytaj temat Rozwiązanie problemów dotyczących arkuszy właściwości.

Wskazówki

•	W programie Microsoft Access istnieje okno Powiększenie przeznaczone do wpisywania i przeglądania wyrażeń lub innych długich ustawień właściwości. Aby wyświetlić okno Powiększenie, należy kliknąć pole właściwości w arkuszu właściwości. Następnie nacisnąć klawisze SHIFT+F2 albo kliknąć prawym przyciskiem myszy, a potem wybrać z menu podręcznego polecenie Powiększenie.

•	Dla niektórych formantów można ustawić właściwość ControlSource (ŹródłoFormantu) wpisując jej ustawienie wprost do formantu. Dodatkowe informacje można znaleźć w temacie Tworzenie formantu obliczeniowego.

•	Można dokonać zmiany domyślnych ustawień właściwości dla formantu danego typu, tak że formanty tworzone w przyszłości będą miały nowe ustawienia domyślne.

•	Ustawienia właściwości formantu związanego mogą być niezgodne z odpowiednimi ustawieniami w polu tabeli lub kwerendy podstawowej, z którą formant jest związany. Jeśli ustawienia są różne, to ustawienia formularza lub raportu zwykle zastępują ustawienia w tabeli lub kwerendzie. Więcej informacji na temat sposobu dziedziczenia właściwości można znaleźć w temacie Związek pomiędzy właściwościami formantów a właściwościami ich pól podstawowych.


Ustawianie w kodzie właściwości startowych i opcji

Właściwości startowe wpływają na sposób wyświetlania aplikacji bazy danych bezpośrednio po jej otwarciu. Właściwości startowe pozwalają na przykład dostosować pasek tytułowy aplikacji, menu, paski narzędzi i formularz startowy do potrzeb użytkownika. Aby wyświetlić okno dialogowe właściwości startowych, należy kliknąć polecenie Autostart w menu Narzędzia.

W oknie dialogowym Opcje można ustawić opcje zmieniające wiele cech środowiska aplikacji podczas pracy. Można na przykład ustawić domyślne opcje formularza, raportu, tabeli i kwerendy. Aby wyświetlić okno dialogowe Opcje, należy kliknąć polecenie Opcje w menu Narzędzia.

W poniższych tematach można znaleźć szczegółowe informacje dotyczące ustawiania właściwości startowych i opcji w kodzie.

Ustawianie właściwości startowych za pomocą języka Visual Basic

Ustawianie opcji za pomocą języka Visual Basic


Ustawianie właściwości startowych za pomocą języka Visual Basic

Właściwości startowe są właściwościami obiektu Database. Obiekt Database jest obiektem dostępu do danych (DAO) dostarczanym przez aparat bazy danych Microsoft Jet, natomiast właściwości startowe są definiowane w programie Microsoft Access, toteż nie są one automatycznie rozpoznawane przez aparat bazy danych Jet. Jeżeli właściwość startowa  nie została uprzednio ustawiona, to należy ją utworzyć i dodać do kolekcji Properties obiektu Database. Ustawiając właściwości startowe za pomocą języka Visual Basic, należy dołączyć kod obsługi błędów w celu sprawdzenia, czy ustawiana właściwość nie istnieje już w kolekcji Properties. Dodatkowe informacje na temat ustawiania właściwości definiowanych w programie Microsoft Access można znaleźć w temacie Ustawianie właściwości obiektów dostępu do danych za pomocą języka Visual Basic.

Nazwy właściwości startowych są różne od tekstu wyświetlanego w oknie dialogowym właściwości startowych, dostępnym przez kliknięcie polecenia Autostart w menu Narzędzia. W poniższej tablicy zostały podane nazwy właściwości startowych w postaci, w jakiej są stosowane w kodzie języka Visual Basic.

Tekst w oknie dialogowym Autostart	Nazwa właściwości
Tytuł aplikacji	AppTitle
Ikona aplikacji	AppIcon
Wyświetl formularz	StartupForm
Wyświetlaj okno bazy danych	StartupShowDBWindow
Wyświetlaj pasek stanu	StartupShowStatusBar
Pasek menu	StartupMenuBar
Pasek menu podręcznego	StartupShortcutMenuBar
Używaj pełnych menu programu Access	AllowFullMenus
Używaj domyślnych menu podręcznych	AllowShortcutMenus
Używaj wbudowanych pasków narzędzi	AllowBuiltInToolbars
Pozwalaj na zmiany pasków narzędzi/menu	AllowToolbarChanges
Wyświetlaj kod po błędzie	AllowBreakIntoCode
Używaj specjalnych klawiszy programu Access	AllowSpecialKeys


Ustawianie opcji za pomocą języka Visual Basic

Można użyć metod SetOption i GetOption do ustawiania i zwracania z kodu wartości opcji w oknie dialogowym Opcje. Aby wyświetlić okno dialogowe Opcje, należy kliknąć polecenie Opcje w menu Narzędzia.

W poniższych tabelach zostały przedstawione nazwy wszystkich opcji, które mogą być ustawiane lub zwracane za pomocą kodu. Tabele te zawierają także karty, na których można znaleźć te właściwości w oknie dialogowym Opcje oraz odpowiednie ciągi znaków, które należy przekazać jako argumenty do metody SetOption lub GetOption.

Uwagi

•	Opcji występujących na karcie Moduł okna dialogowego Opcje nie można ustawiać za pomocą języka Visual Basic. Można je ustawiać tylko z okna dialogowego Opcje.

•	Jeśli może się zdarzyć, że baza danych będzie działać w programie Microsoft Access w innej wersji językowej niż ta, w której została utworzona, należy koniecznie podać argumenty dla metod GetOption i SetOption w języku angielskim.

Karta Widok

Tekst opcji	Argument w postaci ciągu znaków
Pasek stanu	Show Status Bar
Startowe okno dialogowe	Show Startup Dialog Box
Obiekty ukryte	Show Hidden Objects
Obiekty systemowe	Show System Objects
Kolumnę nazw	Show Macro Names Column
Kolumnę warunków	Show Conditions Column
Karta Ogólne

Tekst opcji	Argument w postaci ciągu znaków
Lewy margines	Left Margin
Prawy margines	Right Margin
Górny margines	Top Margin
Dolny margines	Bottom Margin
Domyślny folder bazy danych	Default Database Directory
Nowy porządek sortowania baz danych	New Database Sort Order
Dźwięk przy zdarzeniu	Provide Feedback with Sound
Karta Hiperłącza/HTML

Tekst opcji	Argument w postaci ciągu znaków
Kolor hiperłącza	Hyperlink Color
Kolor obejrzanych hiperłączy	Followed Hyperlink Color
Podkreślaj hiperłącza	Underline Hyperlinks
Pokazuj adres hiperłącza na pasku stanu	Show Hyperlink Addresses in Status Bar
Szablon HTML	HTML Template
Nazwa źródła danych	Data Source Name
Użytkownik połączony jako	User Name
Hasło dla użytkownika	Password
URL serwera	ActiveX Server URL
Limit czasu sesji	ActiveX Session Timeout
Karta Edytuj/Znajdź

Tekst opcji	Argument w postaci ciągu znaków
Domyślne działanie Znajdź/Zamień	Default Find/Replace Behavior
Zmiany rekordu	Confirm Record Changes
Usuwanie dokumentów	Confirm Document Deletions
Kwerendy funkcjonalne	Confirm Action Queries
Lokalnych polach indeksowanych	Show Values in Indexed
Lokalnych polach nieindeksowanych	Show Values in Non-indexed
Polach ODBC	Show Values in Remote
Nie wyświetlaj list, w których wyświetlanych wierszy jest więcej niż	Show Values Limit
Karta Klawiatura

Tekst opcji	Argument w postaci ciągu znaków
Przenieś po ENTER	Move After Enter
Działanie klawiszy strzałek	Arrow Key Behavior
Przy wejściu do pola	Behavior Entering Field
Kursor zatrzymuje się w pierwszym/ostatnim polu	Cursor Stops at First/Last Field
Karta Arkusz danych

Tekst opcji	Argument w postaci ciągu znaków
Kolory domyślne: Czcionka	Default Font Color
Kolory domyślne: Tło	Default Background Color
Kolory domyślne: Linie siatki	Default Gridlines Color
Czcionka domyślna: Czcionka	Default Font Name
Czcionka domyślna: Grubość	Default Font Weight
Czcionka domyślna: Rozmiar	Default Font Size
Czcionka domyślna: Kursywa	Default Font Italic
Czcionka domyślna: Podkreślenie	Default Font Underline
Poziome	Default Gridlines Horizontal
Pionowe	Default Gridlines Vertical
Domyślna szerokość kolumny	Default Column Width
Domyślny efekt komórek	Default Cell Effect
Pokazuj animacje	Show Animations
Karta Tabele/Kwerendy

Tekst opcji	Argument w postaci ciągu znaków
Tekst	Default Text Field Size
Liczba	Default Number Field Size
Domyślny typ pola	Default Field Type
Autoindeksowanie przy imporcie/tworzeniu	AutoIndex on Import/Create
Pokazuj nazwy tabel	Show Table Names
Wyprowadzaj wszystkie pola	Output All Fields
Włączaj autosprzęganie	Enable AutoJoin
Uaktywnij uprawnienia	Run Permissions
Karta Formularze/Raporty

Tekst opcji	Argument w postaci ciągu znaków
Zachowanie podczas zaznaczania	Selection Behavior
Szablon formularza	Form Template
Szablon raportu	Report Template
Zawsze używaj procedur zdarzenia	Always Use Event Procedures
Karta Zaawansowane

Tekst opcji	Argument w postaci ciągu znaków
Domyślne blokowanie rekordów	Default Record Locking
Domyślny tryb otwierania	Default Open Mode for Databases
Ignoruj żądania DDE	Ignore DDE Requests
Włączaj odświeżanie DDE	Enable DDE Refresh
Limit czasu OLE/DDE (sek)	OLE/DDE Timeout (Sec)
Liczba prób aktualizacji	Number of Update Retries
Okres odświeżania ODBC (sek)	ODBC Refresh Interval (Sec)
Okres odświeżania (sek)	Refresh Interval (Sec)
Ponawiaj aktualizację po (msek)	Update Retry Interval (Msec)
Argumenty wiersza poleceń	Command-Line Arguments
Argumenty kompilacji warunkowej	Conditional Compilation Arguments
Nazwa projektu	Project Name
Wychwytywanie błędów	Error Trapping
Uwaga   Jeśli projektowana jest aplikacja bazy danych, dodatek, biblioteczna baza danych lub wywoływana baza danych, po zakończeniu analizy kodu należy opcję Wychwytywanie błędów ustawić na wartość 2 (Przerywaj przy nieobsługiwanych błędach).

Wartość przekazywana do metody SetOption jako argument ustawienie zależy od typu ustawianej opcji. W poniższej tablicy zostały podane pewne wskazówki dotyczące ustawiania opcji.

Typ opcji	Argument ustawienie
Pole tekstowe	Ciąg znaków
Pole wyboru	Wartość logiczna – True (–1) lub False (0)
Przycisk opcji w grupie opcji lub opcja w polu kombi albo w polu listy	Liczba całkowita odpowiadająca pozycji opcji w grupie opcji lub na liście (poczynając od zera [0])


Budowanie instrukcji SQL zawierających zmienne i formanty

Pracując z obiektami dostępu do danych (DAO) trzeba czasem skonstruować w kodzie instrukcję SQL. Na przykład, jeśli tworzony jest nowy obiekt QueryDef, to trzeba ustawić jego właściwość SQL na poprawny ciąg SQL. Konieczność utworzenia instrukcji SQL zazwyczaj występuje także przy tworzeniu obiektu Recordset.

Najłatwiejszym sposobem skonstruowania instrukcji SQL jest: utworzenie kwerendy w siatce projektu kwerendy, przełączenie się do widoku SQL, a następnie skopiowanie i wklejenie do kodu odpowiedniej instrukcji SQL.

Kwerenda często musi być tworzona na podstawie wartości podanych przez użytkownika lub zmieniających się w różnych sytuacjach. W takim wypadku należy dołączyć do kwerendy zmienne lub wartości formantów. Aparat bazy danych Microsoft Jet przetwarza wszystkie instrukcje SQL, lecz nie przetwarza zmiennych ani wartości formantów. Dlatego instrukcję SQL należy skonstruować w taki sposób, aby program Microsoft Access najpierw określił te wartości, a następnie połączył je w instrukcji SQL przekazywanej do aparatu bazy danych Jet.

W poniższym przykładzie został przedstawiony sposób utworzenia obiektu QueryDef za pomocą prostej instrukcji SQL. Kwerenda zwraca wszystkie zamówienia z tabeli "Orders", które zostały złożone po dacie 3-31-96.

Dim dbs As Database, qdf As QueryDef, strSQL As String

Set dbs = CurrentDb

strSQL = "SELECT * FROM Orders WHERE OrderDate >#3-31-96#;"

Set qdf = dbs.CreateQueryDef("SecondQuarter", strSQL)

W następnym przykładzie tworzony jest taki sam obiekt QueryDef wykorzystujący wartość przechowywaną w zmiennej. Należy zauważyć, że ciąg zawierający datę musi być uzupełniony znakami (#), aby wartości zostały połączone w datę.

Dim dbs As Database, qdf As QueryDef, strSQL As String

Dim dteStart As Date

dteStart = #3-31-96#

Set dbs = CurrentDb

strSQL = "SELECT * FROM Orders WHERE OrderDate" _

& "> #" & dteStart & "#;"

Set qdf = dbs.CreateQueryDef("SecondQuarter", strSQL)

W następnym przykładzie tworzony jest obiekt QueryDef wykorzystujący wartość formantu o nazwie "OrderDate" w formularzu "Orders". Należy zauważyć, że podaje się pełne odwołanie do formantu oraz dołącza się znaki wskazujące liczby oznaczające datę.

Dim dbs As Database, qdf As QueryDef, strSQL As String

Set dbs = CurrentDb

strSQL = "SELECT * FROM Orders WHERE OrderDate" _

& "> #" & Forms!Orders!OrderDate & "#;"

Set qdf = dbs.CreateQueryDef("SecondQuarter", strSQL)


Opcje zmienione i usunięte z programu Microsoft Access 97

Poniższe opcje występowały w wersjach 1.x i 2.0, a zostały zmienione w programie Microsoft Access 97:

Opcja	Uwagi
Sprawdzanie składni Szerokość tabulatora Pokaż pole Sortuj/Grupuj	Opcje te istnieją w celu zachowania zgodności z poprzednimi wersjami programu Microsoft Access. Ustawienie ich nie wywołuje żadnego efektu, lecz nie powoduje także generacji błędu.
Obiekty wyrównane według siatki Pokaż siatkę Pokaż linijkę Makro przypisujące funkcje klawiszy Przenieś dołączone formanty Kreatorzy formantów	Opcje te można ustawiać programowo, lecz nie są dostępne w oknie dialogowym Opcje.
Dostępne wbudowane paski narzędzi Można dostosować paski narzędzi	Opcje te zostały zastąpione przez opcje Używaj wbudowanych pasków narzędzi i Pozwalaj na zmiany pasków narzędzi/menu w oknie dialogowym Autostart (dostępnym przez kliknięcie polecenia Autostart w menu Narzędzia). Opcje te nadal można ustawiać programowo.
Domyślne zachowanie linii siatki	Opcja ta została zastąpiona opcjami Domyślne ustawienie linii siatki: poziome i pionowe. Pomimo to można ją nadal ustawiać programowo.
Poniższe opcje zostały usunięte z programu Microsoft Access 97. Jeżeli poniższe ciągi zostaną przekazane do metody SetOption lub GetOption, to program Microsoft Access zasygnalizuje błąd wykonania.

First Week

First Weekday


Określanie kodów błędów zastrzeżonych w języku Visual Basic

Poniższa procedura służy do utworzenia tabeli programu Microsoft Access zawierającej kody błędów i ciągi zastrzeżone w języku Visual Basic. Tabela nie zawiera błędów obiektów dostępu do danych (DAO).

W języku Visual Basic zastrzeżona jest część numerów błędów z pierwszego tysiąca numerów, w tym przykładzie są więc rozważane jedynie numery od 1 do 1000. Inne numery błędów są zastrzeżone przez aparat baz danych Microsoft Jet albo są dostępne dla błędów niestandardowych.

Sub CreateErrorsTable()

Dim dbs As Database, tdf As TableDef, fld As Field

Dim rst As Recordset, lngCode As Long

Const conAppObjectError = "Application-defined or object-defined error"

' Create Errors table with ErrorNumber and ErrorDescription fields.

Set dbs = CurrentDb

Set tdf = dbs.CreateTableDef("Errors")

Set fld = tdf.CreateField("ErrorCode", dbLong)

tdf.Fields.Append fld

Set fld = tdf.CreateField("ErrorString", dbText, 255)

tdf.Fields.Append fld

dbs.TableDefs.Append tdf

' Open recordset on Errors table.

Set rst = dbs.OpenRecordset("Errors")

' Loop through first 1000 Visual Basic error codes.

For lngCode = 1 To 1000

On Error Resume Next

' Raise each error.

Err.Raise lngCode

DoCmd.Hourglass True

' Skip error codes that generate application or object-defined errors.

If Err.Description <> conAppObjectError Then

' Add each error code and string to Errors table.

rst.AddNew

rst!ErrorCode = Err.Number

rst!ErrorString = Err.Description

rst.Update

End If

' Clear Err object.

Err.Clear

Next lngCode

' Close recordset.

rst.Close

DoCmd.Hourglass False

MsgBox "Errors table created."

End Sub


Konwersja kodu wywołującego biblioteki DLL

Wywoływanie procedur Windows API (Application Programming Interface)

Jeśli w bazie danych utworzonej w poprzednich wersjach Microsoft Access występowały odwołania do procedur Microsoft Windows API, trzeba wprowadzić pewne zmiany w kodzie przed konwersją wersji 2.0 lub wcześniejszej bazy danych na format programu Microsoft Access 97.

Interfejs Windows API składa się z zestawu bibliotek dołączanych dynamicznie (DLL) zawierających procedury związane z systemem, wśród których są funkcje, komunikaty, struktury danych, typy danych i instrukcje używane przy tworzeniu aplikacji uruchamianych w systemie Windows 95 lub na platformie sprzętowej systemu Windows NT. W celu wywołania tych procedur z języka Visual Basic należy je wcześniej zadeklarować za pomocą instrukcji Declare. Następnie można je wywoływać tak jak inne procedury.

Wersje 1.x i 2.0 programu Microsoft Access były aplikacjami 16-bitowymi działającymi w 16-bitowym systemie Windows. Microsoft Access 97 jest aplikacją 32-bitową i działa jedynie w systemie Windows 95 i na platformie sprzętowej Windows NT. Jeśli w istniejącym kodzie języka Access Basic występują wywołania procedur 16-bitowego interfejsu Windows API, trzeba je zmodyfikować przy konwersji na wersję programu Microsoft Access 97. Na następującej liście zostały przedstawione wskazówki dotyczące konwersji kodu.

•	Należy sprawdzić wszystkie instrukcje Declare, aby upewnić się, czy odwołują się do poprawnych bibliotek DLL. W tabeli przedstawiono nowe nazwy 32-bitowych bibliotek DLL systemu Windows.

16-bitowe biblioteki Windows DLL	32-bitowe biblioteki Windows DLL
User.dll	User32.dll
Kernel.dll	Kernel32.dll
GDI.dll	GDI32.dll
•	Nazwy niektórych funkcji w 32-bitowym interfejsie Windows API zmieniły się. Ponadto, w funkcjach 32-bitowego interfejsu API jest rozróżniana wielkość liter. W związku z tym należy sprawdzić, czy nazwy i aliasy procedur zostały poprawnie wpisane.

•	Niektóre funkcje w 32-bitowym interfejsie API mają parametry o nowych typach danych. W przedstawionych dalej materiałach źródłowych można znaleźć informacje o tym, które wywołania funkcji trzeba zaktualizować.

•	Jeśli na komputerze istnieje 16-bitowa wersja biblioteki DLL o takiej samej nazwie, jak 32-bitowa biblioteka DLL, wywołanie może odnosić się w pierwszej kolejności do niej, gdy katalog, w którym jest umieszczona poprzedza na ścieżce odwołań katalog nowszej wersji.

•	Niektóre 32-bitowe biblioteki DLL zawierają funkcje o nieco różniących się wersjach, dopuszczających zarówno ciągi Unicode jak i ANSI. Litera A na końcu nazwy funkcji wskazuje na wersję ANSI. Litera W wskazuje na wersję Unicode. Jeśli w funkcji występują argumenty typu ciąg znaków, można spróbować dołączyć do nazwy funkcji literę A.

Dodatkowe informacje na temat używania procedur 32-bitowego interfesju Windows API i przenoszenia istniejących aplikacji obsługi baz danych do 32-bitowego programu Microsoft Access można znaleźć w następujących materiałach źródłowych:

•	The Windows API Viewer, dostępny w pakiecie Microsoft Office 97, Developer Edition, zawiera opis składni języka Visual Basic dla 32-bitowych deklaracji, typów danych i stałych.

•	The Microsoft Office Resource Kit zawiera informacje o przenoszeniu 16-bitowych rozwiązań opartych na pakiecie Microsoft Office, łącznie  z aplikacjami utworzonymi w poprzednich wersjach programu Microsoft Access, do rozwiązań 32-bitowych.

•	The Microsoft Win32 Software Development Kit, zestaw zawierający komplet informacji o 32-bitowych procedurach Windows API.

Wywoływanie kodu z innych bibliotek DLL

Jeśli aplikacja obsługi baz danych wywołuje procedury w innych bibliotekach DLL, należy utworzyć lub uzyskać 32-bitowe wersje tych bibliotek i wprowadzić konieczne modyfikacje w kodzie przy konwersji bazy danych do postaci Microsoft Access 97.

Jeśli uzyskanie 32-bitowej wersji biblioteki DLL nie jest możliwe, należy użyć przejściowej biblioteki DLL służącej do konwersji wywołań 32-bitowych na 16-bitowe. Dodatkowe informacje można znaleźć w wymienionych wcześniej materiałach źródłowych.


Obiekty programu Microsoft Access


Użycie międzynarodowych formatów daty w instrukcjach SQL

W instrukcjach SQL języka Visual Basic należy używać angielskiego (amerykańskiego) formatu daty. Można jednak używać międzynarodowych formatów daty w siatce projektu kwerendy.


Ustalanie kodów błędów zarezerwowanych przez program Microsoft Access i aparat bazy danych Microsoft Jet

Poniższa procedura tworzy tabelę zawierającą wiele kodów błędów i ciągów używanych lub zarezerwowanych przez program Microsoft Access i aparat bazy danych Microsoft Jet. W wynikowej tabeli umieszczone są nie wszystkie kody błędów, ponieważ niektóre z nich są poza zakresem branym pod uwagę w tej procedurze (od 0 do 4500).

Function AccessAndJetErrorsTable() As Boolean

Dim dbs As Database, tdf As TableDef, fld As Field

Dim rst As Recordset, lngCode As Long

Dim strAccessErr As String

Const conAppObjectError = "Application-defined or object-defined error"

On Error GoTo Error_AccessAndJetErrorsTable

' Create Errors table with ErrorNumber and ErrorDescription fields.

Set dbs = CurrentDb

Set tdf = dbs.CreateTableDef("AccessAndJetErrors")

Set fld = tdf.CreateField("ErrorCode", dbLong)

tdf.Fields.Append fld

Set fld = tdf.CreateField("ErrorString", dbMemo)

tdf.Fields.Append fld

dbs.TableDefs.Append tdf

' Open recordset on Errors table.

Set rst = dbs.OpenRecordset("AccessAndJetErrors")

' Loop through error codes.

For lngCode = 0 To 3500

On Error Resume Next

' Raise each error.

strAccessErr = AccessError(lngCode)

DoCmd.Hourglass True

' Skip error numbers without associated strings.

If strAccessErr <> "" Then

' Skip codes that generate application or object-defined errors.

If strAccessErr <> conAppObjectError Then

' Add each error code and string to Errors table.

rst.AddNew

rst!ErrorCode = lngCode

' Append string to memo field.

rst!ErrorString.AppendChunk strAccessErr

rst.Update

End If

End If

Next lngCode

' Close recordset.

rst.Close

DoCmd.Hourglass False

RefreshDatabaseWindow

MsgBox "Access and Jet errors table created."

AccessAndJetErrorsTable = True

Exit_AccessAndJetErrorsTable:

Exit Function

Error_AccessAndJetErrorsTable:

MsgBox Err & ": " & Err.Description

AccessAndJetErrorsTable = False

Resume Exit_AccessAndJetErrorsTable

End Function


Item, metoda

Metoda Item zwraca element kolekcji określony według położenia lub według klucza.

Składnia

obiekt.Item(indeks)

Metoda Item ma następujące argumenty.

Argument	Opis
obiekt	Kolekcja References.
indeks	Wyrażenie określające położenie elementu kolekcji określanego przez argument obiekt. W przypadku wyrażenia numerycznego argument indeks musi być liczbą zawartą w przedziale od 1 do wartości właściwości Count kolekcji. W przypadku wyrażenia typu ciąg znaków argument indeks musi być nazwą elementu kolekcji.
Uwagi

Jeśli wartość podana dla argumentu indeks nie odpowiada żadnemu istniejącemu elementowi kolekcji, wystąpi błąd.

Metoda Item jest domyślnym elementem kolekcji References, toteż nie ma potrzeby dosłownego jej określania. Na przykład następujące dwa wiersze kodu są równoważne:

Debug.Print References(1).Name

Debug.Print References.Item(1).Name


Kind, właściwość

Właściwość Kind wskazuje typ odwołania reprezentowany przez obiekt Reference.

Ustawienie

Właściwość Kind jest tylko do odczytu i może być odczytywana tylko za pomocą języka Visual Basic.

Właściwość Kind zwraca następujące wartości:

Wartość	Opis
Project (1)	Obiekt Reference reprezentuje odwołanie do projektu języka Visual Basic .
TypeLib (0)	Obiekt Reference reprezentuje odwołanie do pliku zawierającego bibliotekę typów.


ApplyFilter, metoda

Metoda ApplyFilter wykonuje akcję ZastosujFiltr (ApplyFilter) w języku Visual Basic. Dodatkowe informacje na temat działania tej akcji i jej argumentów można znaleźć w opisie akcji.

Składnia

DoCmd.ApplyFilter [nazwafiltra][, warunekwhere]

Dla metody ApplyFilter używane są następujące argumenty:

Argument	Opis
nazwafiltra	Wyrażenie typu ciąg znaków, które jest poprawną nazwą kwerendy w bieżącej bazie danych.
warunekwhere	Wyrażenie typu ciąg znaków, które jest poprawną klauzulą WHERE języka SQL bez słowa kluczowego WHERE.
Uwagi

Należy podać przynajmniej jeden z dwóch argumentów metody ApplyFilter. Jeśli podane są wartości obu argumentów, warunekwhere jest stosowany do filtrowania.

Maksymalna długość argumentu warunekwhere wynosi 32 768 znaków (w odróżnieniu od argumentu "Warunek WHERE" akcji w oknie makra, którego maksymalną długością jest 256 znaków).

Jeśli podany jest argument warunekwhere, a argument nazwafiltra pozostaje pusty, należy zamiast niego umieścić przecinek.


ApplyFilter, metoda - przykład
ApplyFilter, metoda – przykład

W tym przykładzie metoda ApplyFilter używana jest do wyświetlania tylko tych rekordów, które w polu "Last name" zawierają wyraz "King":

DoCmd.ApplyFilter , "LastName = 'King'"


Beep, metoda

Metoda Beep wykonuje akcję Sygnał (Beep) w języku Visual Basic. Dodatkowe informacje na temat działania tej akcji można znaleźć w opisie akcji.

Składnia

DoCmd.Beep

Dla tej metody nie są używane żadne argumenty.

Uwagi

Aby wywołać dźwięk w głośniku można także użyć instrukcji Beep języka Visual Basic.


CancelEvent, metoda

Metoda CancelEvent wykonuje akcję AnulujZdarzenie (CancelEvent) w języku Visual Basic. Dodatkowe informacje na temat działania tej akcji można znaleźć w opisie akcji.

Składnia

DoCmd.CancelEvent

Dla tej metody nie są używane żadne argumenty.

Uwagi

Metoda CancelEvent działa tylko wtedy, gdy jest uruchamiana w reakcji na zdarzenie. Metoda ta anuluje zdarzenie.

Wszystkie zdarzenia, które można anulować w języku Visual Basic mają argument "Cancel". Tego argumentu można używać zamiast metody CancelEvent, aby anulować zdarzenie. Zdarzenia KeyPress i MouseDown (tylko dla kliknięcia prawym przyciskiem myszy) można anulować wyłącznie w makrach, a nie w procedurach zdarzeń. Dlatego do anulowania tych zdarzeń trzeba używać w makrze akcji AnulujZdarzenie.


Close, metoda

Metoda Close wykonuje akcję Zamknij (Close) w języku Visual Basic. Dodatkowe informacje na temat działania tej akcji i jej argumentów można znaleźć w opisie akcji.

Składnia

DoCmd.Close [typobiektu, nazwaobiektu], [zapisz]

Dla metody Close używane są następujące argumenty.

Argument	Opis
typobiektu	Jedna z następujących stałych wewnętrznych:
	acDefault (wartość domyślna) acForm acMacro acModule acQuery acReport acTable
nazwaobiektu	Wyrażenie typu ciąg znaków, które jest poprawną nazwą obiektu typu określonego przez argument typobiektu.
zapisz	Jedna z następujących stałych wewnętrznych:
	acSaveNo acSavePrompt (wartość domyślna) acSaveYes
	Jeśli ten argument jest pusty, przyjmowana jest domyślna wartość argumentu (acSavePrompt).
Uwagi

Jeśli argumenty typobiektu i nazwaobiektu są puste (dla argumentu typobiektu przyjmowana jest wartość domyślna acDefault), program Microsoft Access zamyka aktywne okno. Jeśli podany jest argument zapisz a argumenty typobiektu i nazwaobiektu są puste, należy zamiast nich umieścić przecinki.


Close, metoda - przykład
Close, metoda – przykład

W poniższym przykładzie metoda Close jest używana do zamknięcia formularza "Order Review", z zapisaniem wszystkich zmian w formularzu, bez wyświetlania monitu:

DoCmd.Close acForm, "Order Review", acSaveYes


CopyObject, metoda

Metoda CopyObject wykonuje akcję KopiujObiekt (CopyObject) w języku Visual Basic. Dodatkowe informacje na temat działania akcji i jej argumentów można znaleźć w opisie akcji.

Składnia

DoCmd.CopyObject [docelowabazadanych][, nowanazwa][, typobiektuźródłowego, nazwaobiektuźródłowego]

Dla metody CopyObject używane są następujące argumenty.

Argument	Opis
docelowabazadanych	Wyrażenie typu ciąg znaków, które jest poprawną ścieżką i nazwą pliku bazy danych, do której obiekt jest kopiowany. Aby wybrać bieżącą bazę danych, należy pozostawić ten argument pusty.
	Jeśli wykonywany kod języka Visual Basic zawierający metodę CopyObject znajduje się w bibliotecznej bazie danych, a argument ten pozostaje pusty, program Microsoft Access kopiuje ten obiekt do bibliotecznej bazy danych.
nowanazwa	Wyrażenie typu ciąg znaków, które jest nową nazwą kopiowanego obiektu. Aby użyć tej samej nazwy przy kopiowaniu do innej bazy danych, należy pozostawić ten argument pusty.
typobiektuźródłowego	Jedna z następujących stałych wewnętrznych:
	acDefault (wartość domyślna) acForm acMacro acModule acQuery acReport acTable
nazwaobiektuźródłowego	Wyrażenie typu ciąg znaków, będące poprawną nazwą obiektu, którego typ określa argument typobiektuźródłowego.
	Jeśli wykonywany jest kod języka Visual Basic, znajdujący się w bibliotecznej bazie danych i zawierający metodę CopyObject, program Microsoft Access szuka obiektu o tej nazwie najpierw w bibliotecznej, a następnie w bieżącej bazie danych.
Uwagi

Dla tej metody należy podać przynajmniej jeden z argumentów: docelowabazadanych lub nowanazwa, albo oba.

Jeśli argumenty typobiektuźródłowego i nazwaobiektuźródłowego są puste (dla argumentu typobiektuźródłowego przyjmowana jest domyślna wartość acDefault), program Microsoft Access kopiuje obiekt zaznaczony w oknie bazy danych. Aby wybrać obiekt w oknie bazy danych, należy użyć akcji WybierzObiekt (SelectObject) lub metody SelectObject z argumentem "W oknie bazy danych" ustawionym na wartość "Tak" (True).

Jeśli podane są argumenty typobiektuźródłowego i nazwaobiektuźródłowego, a jeden z argumentów: nowanazwa lub docelowabazadanych jest pusty, należy zamiast pustych argumentów umieścić przecinki. Jeśli pusty jest argument umieszczony na końcu, to po ostatnim podanym argumencie nie należy stosować przecinka.


CopyObject, metoda - przykład

W poniższym przykładzie metoda CopyObject jest używana do skopiowania tabeli "Employees" i nadania jej nowej nazwy w bieżącej bazie danych:

DoCmd.CopyObject, "Employees Copy", acTable, "Employees"


DeleteObject, metoda

Metoda DeleteObject wykonuje akcję UsuńObiekt (DeleteObject) w języku Visual Basic. Dodatkowe informacje na temat działania tej akcji i jej argumentów można znaleźć w opisie akcji.

Składnia

DoCmd.DeleteObject [typobiektu, nazwaobiektu]

Dla metody DeleteObject używane są następujące argumenty.

Argument	Opis
typobiektu	Jedna z następujących stałych wewnętrznych:
	acDefault (wartość domyślna) acForm acMacro acModule acQuery acReport acTable
nazwaobiektu	Wyrażenie typu ciąg znaków będące poprawną nazwą obiektu, którego typ jest określony przez argument typobiektu.
	Jeśli uruchomiony kod języka Visual Basic, zawierający metodę DeleteObject znajduje się w bibliotecznej bazie danych, program Microsoft Access szuka obiektu o tej nazwie najpierw w bibliotecznej, a następnie w bieżącej bazie danych.
Uwagi

Jeśli argumenty typobiektu i nazwaobiektu są puste (dla argumentu typobiektu przyjmowana jest domyślna wartość acDefault), program Microsoft Access usuwa obiekt zaznaczony w oknie bazy danych. Aby wybrać obiekt w oknie bazy danych, można użyć akcji WybierzObiekt (SelectObject) lub metody SelectObject z argumentem  "W oknie bazy danych" ustawionym na wartość "Tak" (True).


DeleteObject, metoda - przykład

W poniższym przykładzie usuwana jest tabela "Former Employees Table":

DoCmd.DeleteObject acTable, "Former Employees Table"


DoMenuItem, metoda

Metoda DoMenuItem wykonuje akcję WykonajElementMenu (DoMenuItem) w języku Visual Basic. Dodatkowe informacje na temat działania tej akcji i jej argumentów można znaleźć w opisie akcji.

Uwaga   W programie Microsoft Access 97 metoda DoMenuItem została zastąpiona metodą RunCommand. Metoda DoMenuItem pozostała w bieżącej wersji programu Microsoft Access tylko dla zachowania zgodności z poprzednimi wersjami. Wykonując istniejący kod języka Visual Basic, zawierający metodę DoMenuItem, program Microsoft Access wyświetli odpowiednie polecenie menu lub paska narzędzi z programu Microsoft Access 97. Jednak, w odróżnieniu od akcji WykonajElementMenu w makrze, metoda DoMenuItem znajdująca się w kodzie języka Visual Basic nie jest zastępowana metodą RunCommand podczas konwersji bazy danych utworzonej w poprzedniej wersji programu Microsoft Access.

Nie wszystkie polecenia z poprzednich wersji programu Microsoft Access są dostępne w programie Microsoft Access 97 i metoda DoMenuItem wywołująca takie polecenia spowoduje powstanie błędu podczas wykonywania ich w języku Visual Basic. Taki kod języka Visual Basic należy poprawić, zastępując lub usuwając wystąpienia metod DoMenuItem wywołujących te polecenia. Listę tych poleceń można znaleźć w temacie Polecenia akcji WykonajElementMenu niedostępne dla akcji WykonajPolecenie.

Składnia

DoCmd.DoMenuItem pasekmenu, nazwamenu, polecenie [, podpolecenie][, wersja]

Dla metody DoMenuItem używane są następujące argumenty.

Argument	Opis
pasekmenu	W widoku "Formularz" dla paska menu stosuje się stałą wewnętrzną acFormBar.
	Dla innych widoków należy użyć numeru widoku z listy argumentu pasekmenu wyświetlanej w oknie makra w poprzednich wersjach programu Microsoft Access (należy zliczyć listę, zaczynając od 0).
nazwamenu	Można użyć jednej z następujących stałych wewnętrznych:
	acFile acEditMenu acRecordsMenu
	Stałej acRecordsMenu używa się jedynie dla paska menu w widoku "Formularz" dla baz danych programu Microsoft Access w wersji 2.0 i Microsoft Access 95.
	Dla innych menu należy przejść do okna makra i użyć numeru menu z listy argumentu nazwamenu, wyświetlanego w oknie makra w poprzednich wersjach programu Microsoft Access (należy zliczyć listę, zaczynając od 0).
polecenie	Można użyć jednej z następujących stałych wewnętrznych:
	acNew acSaveForm acSaveFormAs acSaveRecord acUndo acCut acCopy acPaste acDelete acSelectRecord acSelectAllRecords acObject acRefresh
	Dla innych poleceń należy użyć numeru polecenia z listy argumentu polecenie, wyświetlanego w oknie makra w poprzednich wersjach programu Microsoft Access (należy zliczyć listę, zaczynając od 0).
podpolecenie	Można użyć jednej z następujących stałych wewnętrznych:
	acObjectVerb acObjectUpdate
	Stała acObjectVerb reprezentuje pierwsze polecenie z podmenu polecenia Obiekt z menu Edycja. Typ obiektu określa pierwsze polecenie z podmenu. Na przykład dla tych obiektów programu Paintbrush, które można edytować, poleceniem tym będzie polecenie Edytuj.
	Dla innych poleceń podmenu należy użyć numeru podpolecenia na liście argumentu podpolecenie, wyświetlanego w oknie makra w poprzednich wersjach programu Microsoft Access (należy zliczyć listę, zaczynając od zera).
wersja	W przypadku kodu napisanego dla baz danych programu Microsoft Access 95 należy użyć stałej wewnętrznej acMenuVer70, dla kodu napisanego dla baz danych programu Microsoft Access w wersji 2.0 należy użyć stałej wewnętrznej acMenuVer20, natomiast stałej wewnętrznej acMenuVer1X należy użyć dla kodu napisanego dla baz danych programu Microsoft Access w wersji 1.x. Argument ten jest dostępny tylko w języku Visual Basic.
	Uwaga   Domyślną wartością tego argumentu jest acMenuVer1X, dzięki czemu dowolny kod napisany dla baz danych programu Microsoft Access w wersji 1.x można uruchamiać bez zmian. Pisząc kod dla baz danych programu Microsoft Access 95 lub dla wersji 2.0, w którym mają być używane polecenia menu programu Access 95 lub wersji 2.0 za pośrednictwem metody DoMenuItem, należy nadać temu argumentowi wartość acMenuVer70 lub acMenuVer20.
	Ponadto, przy zliczaniu w oknie makra list argumentów akcji pasekmenu, nazwamenu, polecenie i podpolecenie, aby uzyskać numery używane dla argumentów w metodzie DoMenuItem należy stosować listy programu Microsoft Access, jeśli argument wersja jest równy acMenuVer70, listy programu Microsoft Access w wersji 2.0,  jeśli argument wersja jest równy acMenuVer20 i listy programu Microsoft Access w wersji 1.x jeśli argument wersja jest równy acMenuVer1X (lub jest pusty).
	Uwaga   Dla tego argumentu nie istnieje wartość acMenuVer80. Za pomocą metody DoMenuItem nie można wyświetlać poleceń programu Microsoft Access 97 (chociaż znajdujące się w kodzie języka Visual Basic metody DoMenuItem nadal działają). Zamiast tego należy używać metody RunCommand.
Uwagi

Zawartość list dla argumentów akcji nazwamenu, polecenie i podpolecenie w oknie makra zależy od wybranych poprzednio argumentów. Należy użyć liczb lub stałych wewnętrznych, które są właściwe dla każdego argumentu pasekmenu, nazwamenu, polecenie,i podpolecenie.

Jeśli argument podpolecenie pozostanie pusty, lecz zostanie podany argument wersja, zamiast argumentu podpolecenie należy umieścić przecinek. Jeśli argumenty podpolecenie i wersja są puste, nie należy stosować przecinka po argumencie polecenie.


DoMenuItem, metoda - przykłady
DoMenuItem, metoda – przykłady

W poniższym przykładzie metoda DoMenuItem jest używana do wykonania polecenia Wklej z menu Edycja w widoku "Formularz" w bazie danych programu Microsoft Access 95:

DoCmd.DoMenuItem acFormBar, acEditMenu, acPaste, , acMenuVer70

W następnym przykładzie wykonywane jest polecenie Rozmieść ikony z menu Okno w widoku "Formularz" w bazie danych programu Microsoft Access w wersji 2.0:

DoCmd.DoMenuItem acFormBar, 4, 0, , acMenuVer20


Echo, metoda (obiekt DoCmd)

Metoda Echo obiektu DoCmd wykonuje akcję Echo w języku Visual Basic. Dodatkowe informacje na temat tej akcji i jej argumentów można znaleźć w opisie akcji.

Składnia

DoCmd.Echo echowł [, tekstpaskastanu]

Dla metody Echo używane są następujące argumenty.

Argument	Opis
echowł	Włącza echo dla wartości True (–1) i wyłącza dla wartości False (0).
tekstpaskastanu	Wyrażenie typu ciąg znaków.
Uwagi

Jeśli argument tekstpaskastanu jest pusty, nie należy używać przecinka po argumencie echowł.

Jeśli echo zostanie wyłączone w języku Visual Basic, trzeba je z powrotem włączyć, w przeciwnym razie pozostanie ono wyłączone nawet wtedy, gdy użytkownik naciśnie klawisze CTRL+BREAK lub gdy w języku Visual Basic zostanie osiągnięty punkt rzerwania. Można utworzyć makro, które włącza echo, a następnie przypisać to makro kombinacji klawiszy lub poleceniu menu niestandardowego. Za pomocą kombinacji klawiszy lub za pomocą polecenia można wtedy włączać echo, jeśli zostało ono wyłączone w języku Visual Basic.

Metoda Echo obiektu DoCmd została dodana, aby zapewnić zgodność z poprzednimi wersjami przy uruchamianiu akcji Echo w kodzie języka Visual Basic w programie Microsoft Access dla Windows 95. Zamiast tej metody zaleca się używanie istniejącej metody Echo obiektu Application.


Echo, metoda (obiekt DoCmd) - przykład
Echo, metoda (obiekt DoCmd) – przykład

W poniższym przykładzie metoda Echo używana jest do wyłączania echa i wyświetlania na pasku stanu podanego tekstu, podczas wykonywania kodu języka Visual Basic:

DoCmd.Echo False, "Visual Basic code is executing."


FindNext, metoda

Metoda FindNext wykonuje w języku Visual Basic akcję ZnajdźNastępny (FindNext). Dodatkowe informacje na temat działania tej akcji można znaleźć w opisie akcji.

Składnia

DoCmd.FindNext

Dla tej metody nie są używane żadne argumenty.


FindRecord, metoda

Metoda FindRecord wykonuje w języku Visual Basic akcję ZnajdźRekord (FindRecord). Dodatkowe informacje na temat działania tej akcji i jej argumentów można znaleźć w opisie akcji.

Składnia

DoCmd.FindRecord znajdź [, dopasuj][, wielkość][, szukaj][, szukajzformatem][, tylkobieżpole][, pierwszy]

Dla metody FindRecord używane są następujące argumenty.

Argument	Opis
znajdź	Wyrażenie o wartości typu tekst, liczba lub data. Zawiera ono dane do wyszukania.
dopasuj	Jedna z następujących stałych wewnętrznych:
	acAnywhere acEntire (wartość domyślna) acStart
	Jeśli argument ten pozostanie pusty, przyjmowana jest wartość domyślna (acEntire).
wielkość	Wartość True (–1) służy do wyszukiwania z rozróżnianiem wielkości liter, wartość False (0) do wyszukiwania bez rozróżniania wielkości liter. Jeśli argument ten pozostanie pusty przyjmowana jest wartość domyślna (False).
szukaj	Jedna z następujących stałych wewnętrznych:
	acDown acSearchAll (wartość domyślna) acUp
	Jeśli argument ten pozostanie pusty przyjmowana jest wartość domyślna (acSearchAll).
szukajzformatem	Wartość True służy do wyszukiwania danych sformatowanych, wartość False do wyszukiwania danych w takiej postaci, w jakiej przechowywane są w bazie danych. Jeśli argument ten pozostanie pusty przyjmowana jest wartość domyślna (False).
tylkobieżpole	Jedna z następujących stałych wewnętrznych:
	acAll acCurrent (wartość domyślna)
	Jeśli argument ten jest pusty, przyjmowana jest wartość domyślna (acCurrent).
pierwszy	Wartość True powoduje rozpoczęcie przeszukiwania od pierwszego rekordu. Wartość False powoduje rozpoczęcie przeszukiwania od rekordu następującego bezpośrednio po rekordzie bieżącym. Jeśli argument ten pozostanie pusty przyjmowana jest wartość domyślna (True).
Uwagi

Argument opcjonalny znajdujący się wewnątrz składni może być pusty, lecz trzeba wówczas wstawić przecinek związany z argumentem. Jeśli jeden lub kilka argumentów umieszczonych na końcu pozostaje pustych, to nie należy umieszczać przecinka po ostatnim z nich.


FindRecord, metoda - przykład
FindRecord, metoda – przykład

W poniższym przykładzie wyszukiwane jest pierwsze wystąpienie nazwiska Smith w bieżącym polu. Nie są wyszukiwane wyrazy "smith" ani "Smithson".

DoCmd.FindRecord "Smith",, True,, True


GoToControl, metoda

Metoda GoToControl wykonuje w języku Visual Basic akcję IdźDoFormantu (GoToControl). Dodatkowe informacje na temat działania tej akcji i jej argumentów można znaleźć w opisie akcji.

Składnia

DoCmd.GoToControl nazwaformantu

Dla metody GoToControl używane są następujące argumenty.

Argument	Opis
nazwaformantu	Wyrażenie typu ciąg znaków, które jest nazwą formantu w aktywnym formularzu lub arkuszu danych.
Uwagi

W argumencie nazwaformantu należy podawać tylko nazwę formantu, a nie pełną składnię.

Dla tego argumentu można także używać zmiennej zadeklarowanej jako typ Control.

Dim ctl As Control

Set ctl = Forms!Form1!Field3

DoCmd.GoToControl ctl.Name

Do przenoszenia fokusu do formantu formularza lub jego dowolnego podformularza albo do pola otwartej tabeli, kwerendy lub formularza w widoku "Arkusz danych" można także stosować metodę SetFocus. Jest to zalecana metoda przenoszenia fokusu za pomocą języka Visual Basic, zwłaszcza dla formantów formularzy i zagnieżdżonych podformularzy, ponieważ do określenia docelowego formantu można używać pełnej składni.


GoToControl, metoda- przykład
GoToControl, metoda – przykład

W poniższym przykładzie metoda GoToControl używana jest do przeniesienia fokusu do pola "EmployeeID":

DoCmd.GoToControl "EmployeeID"


GoToPage, metoda (obiekt DoCmd)

Metoda GoToPage obiektu DoCmd wykonuje w języku Visual Basic akcję IdźDoStrony (GoToPage) Dodatkowe informacje na temat działania tej akcji i jej argumentów można znaleźć w opisie akcji.

Składnia

DoCmd.GoToPage [numerstrony][, wprawo, wdół]

Dla metody GoToPage używane są następujące argumenty.

Argument	Opis
numerstrony	Wyrażenie numeryczne, które jest poprawnym numerem strony aktywnego formularza. Jeśli argument ten jest pusty fokus pozostaje na bieżącej stronie. Do wyświetlenia żądanej części formularza można użyć argumentów wprawo lub wdół.
wprawo	Wyrażenie numeryczne, które jest poprawnym przesunięciem (offset) strony w poziomie.
wdół	Wyrażenie numeryczne, które jest poprawnym przesunięciem (offset) strony w pionie.
Uwagi

Jednostką argumentów wprawo i wdół jest twip.

Jeśli podane są argumenty wprawo i wdół a argument numerstrony jest pusty, należy umieścić przecinek odpowiadający argumentowi numerstrony. Jeśli argumenty wprawo i wdół nie zostały podane, nie należy po argumencie numerstrony używać przecinka.

Metoda GoToPage obiektu DoCmd została dodana, aby zapewnić zgodność z poprzednimi wersjami przy uruchamianiu akcji IdźDoStrony w kodzie języka Visual Basic w programie Microsoft Access 95. Zamiast tej metody zalecane jest używanie istniejącej metody GoToPage obiektu Form.


GoToPage, metoda (obiekt DoCmd) - przykład
GoToPage, metoda (obiekt DoCmd) – przykład

W poniższym przykładzie metoda GoToPage używana jest do przeniesienia fokusu do miejsca określonego przez przseunięcie w pionie i w poziomie na drugiej stronie aktywnego formularza:

DoCmd.GoToPage 2, 1440, 567


GoToRecord, metoda

Metoda GoToRecord wykonuje w języku Visual Basic akcję IdźDoRekordu (GoToRecord). Dodatkowe informacje na temat działania tej akcji i jej argumentów można znaleźć w opisie akcji.

Składnia

DoCmd.GoToRecord [typobiektu, nazwaobiektu][, rekord][, offset]

Dla metody GoToRecord używane są następujące argumenty.

Argument	Opis
typobiektu	Jedna z następujących stałych wewnętrznych:
	acActiveDataObject (wartość domyślna) acDataForm acDataQuery acDataTable
nazwaobiektu	Wyrażenie typu ciąg znaków, które jest poprawną nazwą obiektu typu wybranego w argumencie typobiektu.
rekord	Jedna z następujących stałych wewnętrznych:
	acFirst acGoTo acLast acNewRec acNext (wartość domyślna) acPrevious
	Jeśli argument ten pozostanie pusty, przyjmowana jest wartość domyślna (acNext).
offset	Wyrażenie numeryczne określające liczbę rekordów, o które trzeba przesunąć się do przodu lub do tyłu, gdy argument rekord ma wartość acNext lub acPrevious lub numer rekordu, do którego trzeba przejść, jeśli argument rekord ma wartość acGoTo. Wartość wyrażenia musi być poprawnym numerem rekordu.
Uwagi

Jeśli argumenty typobiektu i nazwaobiektu są puste (dla argumentu typobiektu przyjmowana jest wartość domyślna acActiveDataObject), przyjmowany jest aktywny obiekt.

Argument opcjonalny, znajdujący się wewnątrz składni może pozostać pusty, lecz trzeba wówczas wstawić przecinek związany z tym argumentem. Jeśli jeden lub kilka argumentów umieszczonych na końcu pozostaje pustych, nie należy umieszczać przecinka po ostatnim z nich.


GoToRecord, metoda - przykłady
GoToRecord, metoda – przykłady

W poniższym przykładzie metoda GoToRecord jest używana do przejścia do siódmego rekordu w formularzu "Employees":

DoCmd.GoToRecord acDataForm, "Employees", acGoTo, 7


Hourglass, metoda

Metoda Hourglass wykonuje akcję Klepsydra (Hourglass) w języku Visual Basic. Dodatkowe informacje na temat działania tej akcji i jej argumentów można znaleźć w opisie akcji.

Składnia

DoCmd.Hourglass klepsydrawł

Dla metody Hourglass używane są następujące argumenty.

Argument	Opis
klepsydrawł	Wartość True (–1) powoduje wyświetlenie ikony klepsydry (lub innej wybranej ikony). Wartość False (0) powoduje wyświetlenie zwykłego wskaźnika myszy.


Hourglass, metoda - przykład
Hourglass, metoda – przykład

W poniższym przykładzie metoda Hourglass jest używana do wyświetlenia ikony klepsydry (lub innej wybranej ikony), podczas wykonywania kodu języka Visual Basic:

DoCmd.Hourglass True


Maximize, metoda

Metoda Maximize wykonuje akcję Maksymalizuj (Maximize) w języku Visual Basic. Dodatkowe informacje na temat działania tej akcji można znaleźć w opisie akcji.

Składnia

DoCmd.Maximize

Dla tej metody nie są używane żadne argumenty.


Minimize, metoda

Metoda Minimize wykonuje akcję Minimalizuj (Minimize) w języku Visual Basic. Dodatkowe informacje na temat działania akcji można znaleźć w opisie akcji.

Składnia

DoCmd.Minimize

Dla tej metody nie są używane żadne argumenty.


MoveSize, metoda

Metoda MoveSize wykonuje akcję RuchRozmiar (MoveSize) w języku Visual Basic. Dodatkowe informacje na temat działania tej akcji i jej argumentów można znaleźć w opisie akcji.

Składnia

DoCmd.MoveSize [wprawo][, wdół][, szerokość][, wysokość]

Dla metody MoveSize używane są następujące argumenty.

Argument	Opis
wprawo	Wyrażenie numeryczne.
wdół	Wyrażenie numeryczne.
szerokość	Wyrażenie numeryczne.
wysokość	Wyrażenie numeryczne.
Uwagi

W metodzie MoveSize trzeba podać co najmniej jeden argument. Jeśli jakiś argument pozostanie pusty, używane jest bieżące ustawienie.

Argument opcjonalny znajdujący się wewnątrz składni można pozostawić pusty, lecz trzeba wówczas wstawić przecinek związany z argumentem. Jeśli jeden lub kilka argumentów umieszczonych na końcu pozostaje pustych, nie należy umieszczać przecinka po ostatnim z nich.

Jednostką argumentów jest twip.


MoveSize, metoda - przykład
MoveSize, metoda – przykład

W poniższym przykładzie aktywne okno jest przemieszczane i zmieniana jest jego wysokość, natomiast szerokość pozostaje bez zmian:

DoCmd.MoveSize 1440, 2400, , 2000


OpenForm, metoda

Metoda OpenForm wykonuje akcję OtwórzFormularz (OpenForm) w języku Visual Basic. Dodatkowe informacje na temat działania tej akcji i jej argumentów można znaleźć w opisie akcji.

Składnia

DoCmd.OpenForm nazwaformularza [, widok][, nazwafiltra][, warunekwhere][, trybdanych][, trybokna][, argotwarcia]

Dla metody OpenForm używane są następujące argumenty.

Argument	Opis
nazwaformularza	Wyrażenie typu ciąg znaków, które jest poprawną nazwą formularza w bieżącej bazie danych.
	Jeśli wykonywany kod języka Visual Basic, zawierający metodę OpenForm znajduje się w bibliotecznej bazie danych, program Microsoft Access szuka formularza o takiej nazwie najpierw w bibliotecznej, a następnie w bieżącej bazie danych.
widok	Jedna z następujących stałych wewnętrznych:
	acDesign acFormDS acNormal (wartość domyślna) acPreview
	Wartość acNormal powoduje otwarcie formularza w widoku "Formularz".
	Jeśli argument ten jest pusty, to przyjmowana jest wartość domyślna (acNormal).
nazwafiltra	Wyrażenie typu ciąg znaków, które jest poprawną nazwą kwerendy w bieżącej bazie danych.
warunekwhere	Wyrażenie typu ciąg znaków, które jest poprawną klauzulą WHERE języka SQL bez słowa kluczowego WHERE.
trybdanych	Jedna z następujących stałych wewnętrznych:
	acFormAdd acFormEdit acFormPropertySettings (wartość domyślna) acFormReadOnly
	Jeśli argument ten jest pusty (przyjmowana jest wartość domyślna acFormPropertySettings), program Microsoft Access otwiera formularz w trybie danych określonym przez następujące właściwości formularza: AllowEdits (EdycjaDozwolona), AllowDeletions (UsuwanieDozwolone), AllowAdditions (DodawanieDozwolone) i DataEntry (WprowadzanieDanych).
trybokna	Jedna z następujących stałych wewnętrznych:
	acDialog acHidden acIcon acWindowNormal (wartość domyślna)
	Jeśli argument ten pozostanie pusty, przyjmowana jest wartość domyślna (acWindowNormal).
argotwarcia	Wyrażenie typu ciąg znaków. Wyrażenie to jest używane do ustawienia właściwości OpenArgs formularza. Ustawienie to może być wykorzystywane w kodzie modułu formularza, takim jak procedura zdarzenia Open. Do właściwości OpenArgs można się także odwoływać w makrach i wyrażeniach.
	Na przykład, otwierając jako formularz ciągły formularz będący listą klientów i chcąc przy otwieraniu formularza przenieść fokus do rekordu określonego klienta, można określić nazwisko klienta w argumencie argotwarcia, a następnie używając metody FindRecord przenieść fokus do rekordu klienta o podanym nazwisku.
	Argument ten jest dostępny tylko w języku Visual Basic.
Uwagi

Maksymalna długość argumentu warunekwhere wynosi 32 768. znaków (w odróżnieniu od argumentu "Warunek WHERE" akcji w oknie makra, którego maksymalną długością jest 256 znaków).

Argument opcjonalny, znajdujący się wewnątrz składni może pozostać pusty, ale trzeba wówczas wstawić przecinek związany z tym argumentem. Jeśli ostatni argument jest pusty, nie należy umieszczać przecinka po ostatnim podanym argumencie.


OpenForm, metoda - przykład
OpenForm, metoda – przykład

W poniższym przykładzie otwierany jest formularz "Employees" w widoku "Formularz" i wyświetlane są tylko te rekordy, w których w polu "LastName" występuje nazwisko King. Wyświetlane rekordy można edytować, można także dodawać nowe rekordy.

DoCmd.OpenForm "Employees", , ,"LastName = 'King'"


OpenModule, metoda

Metoda OpenModule wykonuje akcję OtwórzModuł (OpenModule) w języku Visual Basic. Dodatkowe informacje na temat działania tej akcji i jej argumentów można znaleźć w opisie akcji.

Składnia

DoCmd.OpenModule [nazwamodułu][, nazwaprocedury]

Dla metody OpenModule używane są następujące argumenty.

Argument	Opis
nazwamodułu	Wyrażenie typu ciąg znaków, które jest w języku Visual Basic poprawną nazwą otwieranego modułu. Jeśli argument ten jest pusty, program Microsoft Access przeszukuje w bazie danych wszystkie moduły standardowe w celu znalezienia procedury określonej przez argument nazwaprocedury i otwiera moduł zawierający tę procedurę, na tej właśnie procedurze.
	Jeśli wykonywany kod języka Visual Basic zawierający metodę OpenModule znajduje się w bibliotecznej bazie danych, program Microsoft Access szuka modułu zawierającego tę nazwę najpierw w bibliotecznej, a następnie w bieżącej bazie danych.
nazwaprocedury	Wyrażenie typu ciąg znaków będące poprawną nazwą procedury, którą ma zawierać otwierany moduł. Jeśli argument ten pozostanie pusty, moduł otwierany jest na sekcji deklaracji.
Uwagi

Należy podać przynajmniej jeden z dwóch argumentów metody OpenModule. Jeśli podane są wartości dwóch argumentów, program Microsoft Access otwiera określony moduł na podanej procedurze.

Jeśli argument nazwaprocedury jest pusty, nie należy umieszczać przecinka po argumencie nazwamodułu.


OpenModule, metoda - przykład
OpenModule, metoda – przykład

W poniższym przykładzie otwierany jest moduł "Utility Functions" na procedurze typu Function o nazwie IsLoaded():

DoCmd.OpenModule "Utility Functions","IsLoaded"


OpenQuery, metoda

Metoda OpenQuery wykonuje akcję OtwórzKwerendę (OpenQuery) w języku Visual Basic. Dodatkowe informacje na temat działania tej akcji i jej argumentów można znaleźć w opisie akcji.

Składnia

DoCmd.OpenQuery nazwakwerendy [, widok][, trybdanych]

Dla metody OpenQuery używane są następujące argumenty.

Argument	Opis
nazwakwerendy	Wyrażenie typu ciąg znaków, które jest poprawną nazwą kwerendy w bieżącej bazie danych.
	Jeśli wykonywany kod języka Visual Basic zawierający metodę OpenQuery znajduje się w bibliotecznej bazie danych, program Microsoft Access szuka kwerendy o podanej nazwie najpierw w bibliotecznej, a następnie w bieżącej bazie danych.
widok	Jedna z następujących stałych wewnętrznych:
	acViewDesign acViewNormal (wartość domyślna) acViewPreview
	Jeśli argument nazwakwerendy jest nazwą kwerendy wybierającej, krzyżowej, składającej lub przekazującej, której właściwość ReturnsRecords ma wartość –1, wartość acViewNormal powoduje wyświetlenie zestawu wyników kwerendy. Jeśli argument nazwakwerendy odnosi się do kwerendy funkcjonalnej, kwerendy definiującej dane lub kwerendy przekazującej, której właściwość ReturnsRecords ma wartość 0, wartość acViewNormal uruchamia kwerendę.
	Jeśli argument ten jest pusty, przyjmowana jest wartość domyślna (acViewNormal).
trybdanych	Jedna z następujących stałych wewnętrznych:
	acAdd acEdit (wartość domyślna) acReadOnly
	Jeśli argument ten jest pusty, przyjmowana jest wartość domyślna (acEdit).
Uwagi

Jeśli podany jest argument trybdanych, a argument widok jest pusty, należy wstawić przecinek związany z argumentem widok. Jeśli umieszczony na końcu argument jest pusty, po ostatnim podanym argumencie nie należy umieszczać przecinka.


OpenQuery, metoda - przykład
OpenQuery, metoda – przykład

W poniższym przykładzie otwierana jest w widoku "Arkusz danych" kwerenda "Sales Totals Query". Użytkownik może przeglądać rekordy, nie może jednak ich edytować ani wprowadzać nowych:

DoCmd.OpenQuery "Sales Totals Query", , acReadOnly


OpenReport, metoda

Metoda OpenReport wykonuje akcję OtwórzRaport (OpenReport) w języku Visual Basic. Dodatkowe informacje na temat działania akcji i jej argumentów można znaleźć w opisie akcji.

Składnia

DoCmd.OpenReport nazwaraportu [, widok][, nazwafiltra][, warunekwhere]

Dla metody OpenReport używane są następujące argumenty.

Argument	Opis
nazwaraportu	Wyrażenie typu ciąg znaków, które jest poprawną nazwą raportu w bieżącej bazie danych.
	Jeśli wykonywany kod języka Visual Basic zawierający metodę OpenReport znajduje się w bibliotecznej bazie danych, program Microsoft Access szuka raportu o podanej nazwie najpierw w bibliotecznej, a następnie w bieżącej bazie danych.
widok	Jedna z następujących stałych wewnętrznych:
	acViewDesign acViewNormal (wartość domyślna) acViewPreview
	Wartość acViewNormal powoduje natychmiastowe wydrukowanie raportu. Jeśli argument ten jest pusty, przyjmowana jest domyślna wartość (acViewNormal).
nazwafiltra	Wyrażenie typu ciąg znaków, które jest poprawną nazwą kwerendy w bieżącej bazie danych.
warunekwhere	Wyrażenie typu ciąg znaków, które jest poprawną klauzulą WHERE języka SQL bez słowa kluczowego WHERE.
Uwagi

Maksymalna długość argumentu warunekwhere wynosi 32 768 znaków (w przeciwieństwie do argumentu "Warunek WHERE" akcji w oknie makra, którego maksymalną długością jest 256 znaków).

Argument opcjonalny, znajdujący się wewnątrz składni może pozostać pusty, ale trzeba wówczas wstawić przecinek związany z tym argumentem. Jeśli jeden lub kilka argumentów umieszczonych na końcu pozostaje pustych, nie należy umieszczać przecinka po ostatnim podanym argumencie.


OpenReport, metoda - przykład
OpenReport, metoda – przykład

W poniższym przykładzie drukowany jest raport "Sales Report", dla którego filtrem jest istniejąca kwerenda "Report Filter":

DoCmd.OpenReport "Sales Report", acViewNormal, "Report Filter"


OpenTable, metoda

Metoda OpenTable wykonuje akcję OtwórzTabelę (OpenTable) w języku Visual Basic. Dodatkowe informacje na temat działania tej akcji i jej argumentów można znaleźć w opisie akcji.

Składnia

DoCmd.OpenTable nazwatabeli [, widok][, trybdanych]

Dla metody OpenTable używane są następujące argumenty.

Argument	Opis
nazwatabeli	Wyrażenie typu ciąg znaków, które jest poprawną nazwą tabeli w bieżącej bazie danych.
	Jeśli wykonywany kod języka Visual Basic zawierający metodę OpenTable znajduje się w bibliotecznej bazie danych, program Microsoft Access szuka tabeli o podanej nazwie najpierw w bibliotecznej, a następnie w bieżącej bazie danych.
widok	Jedna z następujących stałych wewnętrznych:
	acViewDesign acViewNormal (wartość domyślna) acViewPreview
	Wartość acViewNormal powoduje otwarcie tabeli w widoku "Arkusz danych".
	Jeśli argument ten jest pusty, przyjmowana jest wartość domyślna (acViewNormal).
trybdanych	Jedna z następujących stałych wewnętrznych:
	acAdd acEdit (wartość domyślna) acReadOnly
	Jeśli argument ten jest pusty, przyjmowana jest wartość domyślna (acEdit).
Uwagi

Jeśli podany jest argument trybdanych, a argument widok jest pusty, trzeba umieścić przecinek związany z argumentem widok. Jeśli umieszczony na końcu argument jest pusty, nie należy umieszczać przecinka po ostatnim podanym argumencie.


OpenTable, metoda - przykład
OpenTable, metoda – przykład

W poniższym przykładzie otwierana jest tabela "Employees" w widoku "Podgląd wydruku":

DoCmd.OpenTable "Employees", acViewPreview


OutputTo, metoda

Metoda OutputTo wykonuje akcję WyprowadźDo (OutputTo) w języku Visual Basic. Dodatkowe informacje na temat działania tej akcji i jej argumentów można znaleźć w opisie akcji.

Składnia

DoCmd.OutputTo typobiektu [, nazwaobiektu][, formatwyj][, plikwyj][, autostart][, plikszab]

Dla metody OutputTo używane są następujące argumenty.

Argument	Opis
typobiektu	Jedna z następujących stałych wewnętrznych:
	acOutputForm acOutputModule acOutputQuery acOutputReport acOutputTable
nazwaobiektu	Wyrażenie typu ciąg znaków, będące poprawną nazwą obiektu, którego typ został określony przez argument typobiektu. Aby wyprowadzić aktywny obiekt, należy określić typ obiektu w argumencie typobiektu, a argument nazwaobiektu pozostawić pusty.
	Jeśli wykonywany kod języka Visual Basic zawierający metodę OutputTo jest umieszczony w bibliotecznej bazie danych, program Microsoft Access szuka obiektu o tej nazwie najpierw w bibliotecznej, a następnie w bieżącej bazie danych.
formatwyj	Jedna z następujących stałych wewnętrznych:
	acFormatActiveXServer acFormatHTML acFormatIIS acFormatRTF acFormatTXT acFormatXLS
	Jeśli argument ten jest pusty, program Microsoft Access wyświetla monit o podanie formatu wyjściowego.
plikwyj	Wyrażenie typu ciąg znaków będące pełną nazwą pliku, wraz ze ścieżką dostępu, do którego obiekt ma zostać wyprowadzony.
	Jeśli argument ten jest pusty, program Microsoft Access wyświetla monit o podanie nazwy pliku.
autostart	Wartość True (–1) powoduje natychmiastowe uruchomienie odpowiedniej aplikacji systemu Microsoft Windows z załadowanym plikiem określonym przez argument plikwyj. Wartość False (0) nie powoduje uruchomienia odnośnej aplikacji. Dla plików Microsoft Internet Information Server (.htx, .idc) i Microsoft ActiveX Server (*.asp) argument ten jest ignorowany.
	Jeśli argument ten jest pusty, przyjmowana jest wartość domyślna (False).
plikszab	Wyrażenie typu ciąg znaków będące pełną nazwą, zawierającą ścieżkę dostępu, pliku, który ma być użyty jako szablon dla plików typu HTML, HTX, lub ASP.
Uwagi

Moduły mogą być wyprowadzane tylko w formacie tekstowym MS-DOS, dlatego też, jeśli wartością argumentu typobiektu jest acOutputModule, wartością argumentu formatwyj musi być acFormatTXT. Formaty Microsoft Internet Information Server i Microsoft ActiveX Server dostępne są tylko dla tabel, kwerend i formularzy, dlatego też, jeśli wartością argumentu formatwyj jest acFormatIIS lub acFormatActiveXServer, wartością argumentu typobiektu musi być acOutputTable, acOutputQuery lub acOutputForm.

Argument opcjonalny znajdujący się wewnątrz składni może być pusty, lecz trzeba wówczas wstawić przecinek związany z tym argumentem. Jeśli umieszczony na końcu argument jest pusty, to nie należy umieszczać przecinka po ostatnim podanym argumencie.


OutputTo, metoda - przykład
OutputTo, metoda – przykład

W poniższym przykładzie wyprowadzana jest tabela "Employees" w formacie .rtf do pliku Employee.rtf i natychmiast po utworzeniu plik jest otwierany w programie Microsoft Word for Windows:

DoCmd.OutputTo acOutputTable, "Employees", acFormatRTF, "Employee.rtf", True


PrintOut, metoda

Metoda PrintOut wykonuje akcję Drukuj (PrintOut) w języku Visual Basic. Dodatkowe informacje na temat działania tej akcji i jej argumentów można znaleźć w opisie akcji.

Składnia

DoCmd.PrintOut [zakreswydruku][, odstrony, dostrony][, jakośćwydruku][, kopii][, sortujkopie]

Dla metody PrintOut używane są następujące argumenty.

Argument	Opis
zakreswydruku	Jedna z następujących stałych wewnętrznych:
	acPrintAll (wartość domyślna) acSelection acPages
	Jeśli argument ten jest pusty, przyjmowana jest wartość domyślna (acPrintAll).
odstrony	Wyrażenie numeryczne, które jest poprawnym numerem strony aktywnego formularza lub arkusza danych. Argument ten jest wymagany, jeśli wartością argumentu zakreswydruku jest acPages.
dostrony	Wyrażenie numeryczne, które jest poprawnym numerem strony aktywnego formularza lub arkusza danych. Argument ten jest wymagany, jeśli wartością argumentu zakreswydruku jest acPages.
jakośćwydruku	Jedna z następujących stałych wewnętrznych:
	acDraft acHigh (wartość domyślna) acLow acMedium
	Jeśli argument ten jest pusty, przyjmowana jest wartość domyślna (acHigh).
kopii	Wyrażenie numeryczne. Jeśli argument ten jest pusty, przyjmowana jest wartość domyślna (1).
sortujkopie	Wartość True (–1) powoduje posortowanie kopii, wartość False (0) powoduje wydruk bez sortowania. Jeśli argument ten jest pusty, przyjmowana jest wartość domyślna (True).
Uwagi

Argument opcjonalny znajdujący się wewnątrz składni może pozostać pusty, lecz trzeba wówczas wstawić przecinek związany z tym argumentem. Jeśli jeden lub kilka argumentów znajdujących się na końcu pozostaje pustych, to po ostatnim podanym argumencie nie należy umieszczać przecinka.


PrintOut, metoda - przykład
PrintOut, metoda – przykład

W poniższym przykładzie drukowane są dwie posortowane kopie pierwszych czterech stron aktywnego formularza lub arkusza danych:

DoCmd.PrintOut acPages, 1, 4, , 2


Quit, metoda (Obiekt DoCmd)

Metoda Quit obiektu DoCmd wykonuje akcję Zakończ (Quit) w języku Visual Basic. Dodatkowe informacje na temat działania tej akcji i jej argumentów można znaleźć w opisie akcji.

Składnia

DoCmd.Quit [opcje]

Dla metody Quit używane są następujące argumenty.

Argument	Opis
opcje	Jedna z następujących stałych wewnętrznych:
	acQuitPrompt acQuitSaveAll (wartość domyślna) acQuitSaveNone
	Jeśli argument ten jest pusty, przyjmowana jest wartość domyślna  (acQuitSaveAll).
Uwagi

Metoda Quit obiektu DoCmd została dodana w celu zapewnienia zgodności z poprzednimi wersjami przy uruchamianiu akcji Zakończ w kodzie języka Visual Basic w programie Microsoft Access w wersji 7.0. Zamiast tej metody zalecane jest używanie istniejącej metody Quit obiektu Application.


Quit, metoda (obiekt DoCmd) - przykład
Quit, metoda (obiekt DoCmd) – przykład

W poniższym przykładzie wyświetlane jest okno lub okna dialogowe z pytaniami, czy zapisać zmienione obiekty przed zamknięciem programu Microsoft Access:

DoCmd.Quit acQuitPrompt


Rename, metoda

Metoda Rename wykonuje akcję ZmieńNazwę (Rename) w języku Visual Basic. Dodatkowe informacje na temat działania tej akcji i jej argumentów można znaleźć w opisie akcji.

Składnia

DoCmd.Rename nowanazwa [, typobiektu, staranazwa]

Dla metody Rename używane są następujące argumenty.

Argument	Opis
nowanazwa	Wyrażenie typu ciąg znaków będące poprawną, nową nazwą obiektu, którego nazwa ma zostać zmieniona. Nazwa musi być zgodna z regułami nazywania obiektów programu Microsoft Access.
typobiektu	Jedna z następujących stałych wewnętrznych:
	acDefault (wartość domyślna) acForm acMacro acModule acQuery acReport acTable
staranazwa	Wyrażenie typu ciąg znaków będące poprawną nazwą obiektu, którego typ jest określony przez argument typobiektu.
	Jeśli wykonywany kod języka Visual Basic zawierający metodę Rename znajduje się w bibliotecznej bazie danych, program Microsoft Access najpierw szuka obiektu o podanej nazwie w bibliotecznej, a następnie w bieżącej bazie danych.
Uwagi

Jeśli argumenty typobiektu i staranazwa są puste (dla argumentu typobiektu przyjmowana jest wartość domyślna acDefault), program Microsoft Access zmienia nazwę obiektu wabranego w oknie bazy danych. Aby wybrać obiekt w oknie bazy danych, należy użyć akcji WybierzObiekt (SelectObject) lub metody SelectObject z argumentem wokniebazydanych o wartości "Tak" (True).

Jeśli argumenty typobiektu i staranazwa są puste, po argumencie nowanazwa nie należy umieszczać przecinka.


Rename, metoda - przykład
Rename, metoda – przykład

W poniższym przykładzie zmieniana jest nazwa tabeli "Employees" na podaną nazwę:

DoCmd.Rename "Old Employees Table", acTable, "Employees"


RepaintObject, metoda

Metoda RepaintObject wykonuje akcję OdświeżObiekt (RepaintObject) w języku Visual Basic. Dodatkowe informacje na temat działania tej akcji i jej argumentów można znaleźć w opisie akcji.

Składnia

DoCmd.RepaintObject [typobiektu, nazwaobiektu]

Dla metody RepaintObject używane są następujące argumenty.

Argument	Opis
typobiektu	Jedna z następujących stałych wewnętrznych:
	acDefault (wartość domyślna) acForm acMacro acModule acQuery acReport acTable
nazwaobiektu	Wyrażenie typu ciąg znaków będące poprawną nazwą obiektu, którego typ określony został przez argument typobiektu.
Uwagi

Użycie metody RepaintObject bez argumentów (jako wartość argumentu typobiektu przyjmowana jest wartość domyślna acDefault) powoduje odświeżenie aktywnego okna.

Metoda RepaintObject obiektu DoCmd została dodana, aby zapewnić zgodność z poprzednimi wersjami przy uruchamianiu akcji OdświeżObiekt w kodzie języka Visual Basic w programie Microsoft Access 95. Zamiast tej metody, do odświeżania formularzy zalecane jest używanie istniejącej metody Repaint obiektu Form.


RepaintObject, metoda - przykład
RepaintObject, metoda – przykład

W tym przykładzie odświeżana jest tabela "Customers":

DoCmd.RepaintObject acTable, "Customers"


Requery, metoda (obiekt DoCmd)

Metoda Requery obiektu DoCmd wykonuje akcję PonówKwerendę (Requery) w języku Visual Basic. Dodatkowe informacje na temat działania tej akcji i jej argumentów można znaleźć w opisie akcji.

Składnia

DoCmd.Requery [nazwaformantu]

Dla metody Requery używane są następujące argumenty.

Argument	Opis
nazwaformantu	Wyrażenie typu ciąg znaków, które jest nazwą formantu aktywnego obiektu.
Uwagi

W argumencie nazwaformantu należy używać tylko nazwy formantu, a nie pełnej składni.

Wartością tego argumentu może być także zmienna zadeklarowana jako typ danych Control:

Dim ctlLstBox As Control

Set ctlLstBox = Forms!Form1!Field3

DoCmd.Requery ctlLstBox.Name

Metoda Requery obiektu DoCmd różni się od metody Requery w języku Visual Basic. Metoda Requery obiektu DoCmd została dodana by zapewnić zgodność z poprzednimi wersjami, przy uruchamianiu akcji PonówKwerendę w kodzie języka Visual Basic w programie Microsoft Access 95. Jeśli ma być wykonana ponowna kwerenda formantu, który nie znajduje się w aktywnym obiekcie, trzeba użyć metody Requery w języku Visual Basic, a nie akcji PonówKwerendę lub odpowiadającej jej metody Requery obiektu DoCmd. Metoda Requery w języku Visual Basic jest szybsza niż akcja PonówKwerendę lub metoda DoCmd.Requery. Oprócz tego, przy użyciu akcji PonówKwerendę lub metody DoCmd.Requery program Microsoft Access zamyka kwerendę, a następnie ładuje ją ponownie z bazy danych. Gdy używana jest metoda Requery program Microsoft Access ponownie uruchamia kwerendę nie zamykając jej i nie ładując powtórnie.

Uwaga   Metoda Requery dla obiektów dostępu do danych (DAO) działa tak, jak metoda Requery programu Microsoft Access.


Requery, metoda - przykład (obiekt DoCmd)
Requery, metoda – przykład (obiekt DoCmd)

W poniższym przykładzie metoda Requery jest używana do aktualizacji formantu "EmployeeList":

DoCmd.Requery "EmployeeList"


Restore, metoda

Metoda Restore wykonuje akcję Przywróć (Restore) w języku Visual Basic. Dodatkowe informacje na temat działania tej akcji można znaleźć w opisie akcji

Składnia

DoCmd.Restore

Dla tej metody nie są używane żadne argumenty.


RunMacro, metoda

Metoda RunMacro wykonuje akcję UruchomMakro (RunMacro) w języku Visual Basic. Dodatkowe informacje na temat działania tej akcji i jej argumentów można znaleźć w opisie akcji.

Składnia

DoCmd.RunMacro nazwamakra [, liczbapowtórzeń][, wyrażeniepowt]

Dla metody RunMacro używane są następujące argumenty.

Argument	Opis
nazwamakra	Wyrażenie typu ciąg znaków, które jest poprawną nazwą makra w bieżącej bazie danych.
	Jeśli wykonywany kod języka Visual Basic zawierający metodę RunMacro jest umieszczony w bibliotecznej bazie danych, program Microsoft Access szuka makra o podanej nazwie w bibliotecznej bazie danych. Bieżąca baza danych nie jest przeszukiwana.
liczbapowtórzeń	Wyrażenie numeryczne o wartości całkowitej, które określa ile razy makro ma być uruchamiane.
wyrażeniepowt	Wyrażenie numeryczne, obliczane przy każdym uruchomieniu makra. Gdy wartością wyrażenia jest False (0), makro przestaje działać.
Uwagi

Aby uruchomić określone makro w grupie makr, można dla argumentu nazwamakra użyć składni nazwagrupymakr.nazwamakra.

Jeśli podany jest argument wyrażeniepowt, a argument liczbapowtórzeń jest pusty, trzeba umieścić przecinek związany z argumentem liczbapowtórzeń. Jeśli końcowy argument jest pusty, nie należy umieszczać przecinka po ostatnim podanym argumencie.


RunMacro, metoda - przykład
RunMacro, metoda – przykład

W tym przykładzie uruchamiane jest makro "Print Sales":

DoCmd.RunMacro "Print Sales"


RunSQL, metoda

Metoda RunSQL wykonuje akcję UruchomSQL (RunSQL) w języku Visual Basic. Dodatkowe informacje na temat działania tej akcji i jej argumentów można znaleźć w opisie akcji.

Składnia

DoCmd.RunSQL instrukcjasql [, użyjtransakcji]

Dla metody RunSQL używane są następujące argumenty.

Argument	Opis
instrukcjasql	Wyrażenie typu ciąg znaków, które jest poprawną instrukcją SQL określającą kwerendę funkcjonalną lub kwerendę definiującą dane. Używane są instrukcje INSERT INTO, DELETE, SELECT...INTO, UPDATE, CREATE TABLE, ALTER TABLE, DROP TABLE, CREATE INDEX lub DROP INDEX. Aby uzyskać dostęp do innej bazy danych, należy użyć klauzuli IN.
użyjtransakcji	Wartość True (–1) powoduje, że kwerenda jest uwzględniana w transakcji. Wartość False (0), że nie jest. Jeśli argument ten jest pusty, to przyjmowana jest wartość domyślna (True).
Uwagi

Maksymalna długość argumentu instrukcjasql wynosi 32 768 znaków (w odróżnieniu od argumentu "Instrukcja SQL" akcji w oknie makra, którego maksymalną długością jest 256 znaków).

Jeśli argument użyjtransakcji jest pusty, nie należy umieszczać przecinka po argumencie instrukcjasql.


RunSQL, metoda - przykład
RunSQL, metoda – przykład

W poniższym przykładzie aktualizowana jest tabela "Employees", w której tytuły "Sales Manager" wszystkich kierowników działów sprzedaży, zmieniane są na tytuły "Regional Sales Manager":

DoCmd.RunSQL "UPDATE Employees " & _

"SET Employees.Title = 'Regional Sales Manager' " & _

"WHERE Employees.Title = 'Sales Manager';"


Save, metoda

Metoda Save wykonuje akcję Zapisz (Save) w języku Visual Basic. Dodatkowe informacje na temat działania tej akcji i jej argumentów można znaleźć w opisie akcji.

Składnia

DoCmd.Save [typobiektu, nazwaobiektu]

Dla metody Save używane są następujące argumenty.

Argument	Opis
typobiektu	Jedna z następujących stałych wewnętrznych:
	acDefault (wartość domyślna) acForm acMacro acModule acQuery acReport acTable
nazwaobiektu	Wyrażenie typu ciąg znaków, będące poprawną nazwą obiektu, którego typ został określony przez argument typobiektu.
Uwagi

Jeśli argumenty typobiektu i nazwaobiektu są puste (dla argumentu typobiektu przyjmowana jest wartość domyślna acDefault), program Microsoft Access zapisuje aktywny obiekt. Jeśli argument typobiektu jest pusty, natomiast w argumencie nazwaobiektu podano nazwę, program Microsoft Access zapisuje aktywny obiekt z podaną nazwą. Jeśli podano typ obiektu w argumencie typobiektu, w argumencie nazwaobiektu trzeba podać nazwę istniejącego obiektu.

Jeśli argument typobiektu jest pusty, lecz podana została nazwa w argumencie nazwaobiektu, należy umieścić przecinek związany z argumentem typobiektu.

Uwaga   Używając metody Save nie można zachować pod nową nazwą żadnego z poniższych obiektów:

•	Formularza w widoku "Formularz" ani w widoku "Arkusz danych".

•	Raportu w widoku "Podgląd wydruku".

•	Modułu.

Metoda Save, niezależnie od tego, w której bazie danych jest wykonywana, w bieżącej czy w bibliotecznej bazie danych, zawsze zapisuje wybrany lub aktywny obiekt w bazie danych, w której został utworzony.


Save, metoda - przykład
Save, metoda – przykład

W tym przykładzie metoda Save używana jest do zapisania formularza o nazwie "New Employees Form". Formularz ten musi być otwarty podczas wykonywania kodu zawierającego tę metodę.

DoCmd.Save acForm, "New Employees Form"


SelectObject, metoda

Metoda SelectObject wykonuje akcję WybierzObiekt (SelectObject) w języku Visual Basic. Dodatkowe informacje na temat działania tej akcji i jej argumentów można znaleźć w opisie akcji.

Składnia

DoCmd.SelectObject typobiektu [, nazwaobiektu][, wokniebazydanych]

Dla metody SelectObject używane są następujące argumenty.

Argument	Opis
typobiektu	Jedna z następujących stałych wewnętrznych:
	acForm acMacro acModule acQuery acReport acTable
	Uwaga   Stała acDefault, która pojawia się na liście składników dla tego argumentu, jest niepoprawna. Trzeba wybrać jedną ze stałych wyżej wymienionych
nazwaobiektu	Wyrażenie typu ciąg znaków będące poprawną nazwą obiektu, którego typ określony jest przez argument typobiektu. Jeśli wartością argumentu wokniebazydanych nie jest True (–1), to argument nazwaobiektu jest wymagany. Jeśli argument wokniebazydanych jest równy True i argument nazwaobiektu jest pusty, program Microsoft Access wybiera w oknie bazy danych kartę, która odpowiada typowi obiektu, podanemu w argumencie typobiektu.
wokniebazydanych	Wartość True powoduje wybranie obiektu w oknie bazy danych. Wartość False (0) powoduje wybranie obiektu już otwartego. Jeśli argument ten jest pusty, przyjmowana jest wartość domyślna (False).
Uwagi

Jeśli wartością argumentu wokniebazydanych jest True i argument nazwaobiektu jest pusty, trzeba umieścić przecinek związany z argumentem nazwaobiektu. Jeśli końcowy argument jest pusty, nie należy umieszczać przecinka po ostatnim podanym argumencie.


SelectObject, metoda - przykład
SelectObject, metoda – przykład

W poniższym przykładzie wybierany jest formularz "Customers" w oknie bazy danych:

DoCmd.SelectObject acForm, "Customers", True


SendObject, metoda

Metoda SendObject wykonuje akcję WyślijObiekt (SendObject) w języku Visual Basic. Dodatkowe informacje na temat działania tej akcji i jej argumentów można znaleźć w opisie akcji.

Składnia

DoCmd.SendObject [typobiektu][, nazwaobiektu][, formatwyj][, do][, dw][, udw][, temat][, tekstwiadom][, edytujwiad][, plikszab]

Dla metody SendObject używane są następujące argumenty.

Argument	Opis
typobiektu	Jedna z następujących stałych wewnętrznych:
	acSendForm acSendModule acSendNoObject (wartość domyślna) acSendQuery acSendReport acSendTable
nazwaobiektu	Wyrażenie typu ciąg znaków będące poprawną nazwą obiektu, którego typ został określony argumentem typobiektu. Aby dołączyć aktywny obiekt do wiadomości poczty elektronicznej, należy określić typ obiektu w argumencie typobiektu i pozostawić argument nazwaobiektu pusty. Jeśli argumenty typobiektu i nazwaobiektu są puste (dla argumentu typobiektu przyjmowana jest wartość domyślna, acSendNoObject), program Microsoft Access wysyła komunikat do programu obsługi poczty elektronicznej, nie dołączając obiektu bazy danych.
	Jeśli wykonywany kod języka Visual Basic zawierający metodę SendObject jest umieszczony w bibliotecznej bazie danych, program Microsoft Access szuka obiektu o podanej nazwie najpierw w bibliotecznej, a następnie w bieżącej bazie danych.
formatwyj	Jedna z następujących stałych wewnętrznych:
	acFormatActiveXServer acFormatHTML acFormatIIS acFormatRTF acFormatTXT acFormatXLS
	Jeśli argument ten jest pusty, program Microsoft Access wyświetla monit o podanie formatu wyjściowego.
do	Wyrażenie typu ciąg znaków zawierające listę adresatów, których nazwiska mają być umieszczone w wierszu "Do" wiadomości pocztowej.
	Nazwy adresatów podawane w tym argumencie i w argumentach dw i udw należy rozdzielać średnikiem(;) lub separatorem listy ustawionym na karcie Liczba okna dialogowego Właściwości: Ustawienia regionalne w Panelu sterowania systemu Windows. Jeśli nazwiska adresatów nie zostaną rozpoznane przez program poczty, wiadomość nie zostanie wysłana.
	Jeśli argument ten jest pusty, program Microsoft Access wyświetli monit o podanie nazwisk odbiorców.
dw	Wyrażenie typu ciąg znaków, które zawiera listę adresatów, których nazwiska mają zostać umieszczone w wierszu "DW" wiadomości pocztowej. Jeśli argument ten jest pusty, wiersz "DW" w wiadomości pocztowej pozostanie pusty.
udw	Wyrażenie typu ciąg znaków, które zawiera listę adresatów, których nazwiska mają być umieszczone w wierszu "UDW" wiadomości pocztowej. Jeśli argument ten jest pusty, wiersz "UDW" w wiadomości pocztowej pozostanie pusty.
temat	Wyrażenie typu ciąg znaków zawierające tekst, który ma być umieszczony w wierszu "Temat" wiadomości pocztowej. Jeśli argument ten jest pusty, wiersz "Temat" wiadomości pocztowej pozostanie pusty.
tekstwiadom	Wyrażenie typu ciąg znaków zawierające tekst, który ma być umieszczony w wiadomości pocztowej po temacie. Jeśli argument ten jest pusty, wiadomość pocztowa zawiera tylko temat.
edytujwiad	Wartość True (–1) powoduje natychmiastowe otwarcie aplikacji pocztowej i załadowanie wiadomości, którą następnie można edytować. Wartość False (0) powoduje wysłanie wiadomości bez jej edytowania. Jeśli argument ten jest pusty, przyjmowana jest wartość domyślna (True).
plikszab	Wyrażenie typu ciąg znaków, które jest pełną nazwą, wraz ze ścieżką dostępu, pliku, który ma być użyty jako szablon dla pliku HTML.
Uwagi

Moduły można wysyłać tylko w formacie tekstowym MS-DOS, dlatego też, jeśli wartością argumentu typobiektu jest acSendModule, wartością argumentu formatwyj musi być acFormatTXT.

Argument opcjonalny znajdujący się wewnątrz składni może pozostać pusty, lecz trzeba wówczas umieścić przecinek odnoszący się do tego argumentu. Jeśli końcowy argument jest pusty, nie należy umieszczać przecinka po ostatnim podanym argumencie.


SendObject, metoda - przykład
SendObject, metoda – przykład

W poniższym przykładzie do wiadomości pocztowej dołączana jest tabela "Employees" w formacie pogramu Microsoft Excel i podane są zawartości wierszy "Do", "DW", i "Temat". Wiadomość jest wysyłana natychmiast, bez edytowania.

DoCmd.SendObject acSendTable, "Employees", acFormatXLS, _

"Nancy Davolio; Andrew Fuller", "Joan Weber", , _

"Current Spreadsheet of Employees", , False


SetMenuItem, metoda

Metoda SetMenuItem wykonuje akcję UstawElementMenu (SetMenuItem) w języku Visual Basic. Dodatkowe informacje na temat działania tej akcji i jej argumentów można znaleźć w opisie akcji.

Uwaga   Metoda SetMenuItem działa tylko dla niestandardowych pasków menu i globalnych pasków menu utworzonych za pomocą makr pasków menu. Metoda SetMenuItem została dodana w celu zapewnienia zgodności programu Microsoft Access z poprzednimi wersjami. Nie obsługuje ona działania nowych pasków poleceń.

Składnia

DoCmd.SetMenuItem indeksmenu [, indekspolecenia][, indekspodpolecenia][, flaga]

Dla metody SetMenuItem używane są następujące argumenty.

Argument	Opis
indeksmenu	Liczba całkowita (zliczana od 0), która jest poprawnym indeksem menu na niestandardowym pasku menu lub pasku menu globalnego aktywnego okna, zgodnie z definicją paska menu w makrze paska menu dla paska menu niestandardowego albo paska menu globalnego.
	Jeśli za pomocą tego argumentu zostanie wybrane menu, a argumenty indekspolecenia i indekspodpolecenia pozostaną puste (lub ich wartość ustawiona zostanie na –1), można włączyć lub wyłączyć tą nazwę. Nie można jednak zaznaczyć nazwy menu ani usunąć zaznaczenia. (Program Microsoft Access ignoruje ustawienia acMenuCheck i acMenuUncheck argumentu flaga dla nazw menu).
indekspolecenia	Liczba całkowita (zliczana od 0), która jest poprawnym indeksem polecenia w menu wybranym za pomocą argumentu indeksmenu, zgodnie z definicją w grupie makr, która definiuje wybrane menu dla niestandardowego lub globalnego paska menu aktywnego okna.
indekspodpolecenia	Liczba całkowita (zliczana od 0), która jest poprawnym indeksem podpolecenia w podmenu wybranym za pomocą argumentu indekspolecenia, zgodnie z definicją w grupie makr, definiującej wybrane podmenu dla niestandardowego paska menu lub globalnego paska menu aktywnego okna.
flaga	Jedna z następujących stałych wewnętrznych:
	acMenuCheck acMenuGray acMenuUncheck acMenuUngray (wartość domyślna)
	Jeśli argument ten jest pusty, przyjmowana jest wartość domyślna (acMenuUngray).
Uwagi

Argument opcjonalny znajdujący się wewnątrz składni może pozostać pusty, lecz trzeba wówczas umieścić odnoszący się do tego argumentu przecinek. Jeśli argument końcowy jest pusty, nie należy umieszczać przecinka po ostatnim podanym argumencie.


SetMenuItem, metoda - przykłady
SetMenuItem, metoda – przykłady

W poniższym przykładzie metoda SetMenuItem jest używana do wyłączenia drugiego polecenia w pierwszym menu na niestandardowym pasku menu aktywnego okna.

DoCmd.SetMenuItem 0, 1, , acMenuGray


SetWarnings, metoda

Metoda SetWarnings wykonuje akcję UstawOstrzeżenia (SetWarnings) w języku Visual Basic. Dodatkowe informacje na temat działania tej akcji i jej argumentów można znaleźć w opisie akcji.

Składnia

DoCmd.SetWarnings ostrzeżeniewł

Dla metody SetWarnings używane są następujące argumenty.

Argument	Opis
ostrzeżeniewł	Wartość True (–1) powoduje włączenie wyświetlania komunikatów systemowych, wartość False (0) wyłącza wyświetlanie.
Uwagi

Jeśli wyświetlanie komunikatów systemowych zostanie wyłączone w języku Visual Basic, należy je z powrotem włączyć albo pozostanie wyłączone nawet, gdy użytkownik naciśnie kombinację klawiszy CTRL+BREAK lub gdy w języko Visual Basic zostanie osiągnięty punkt przerwania. Można utworzyć makro włączające wyświetlanie komunikatów systemowych, a następnie przypisać to makro kombinacji klawiszy lub poleceniu niestandardowego menu. Tego polecenia lub kombinacji klawiszy można używać do włączania wyświetlania komunikatów systemowych, jeśli zostały wyłączone w języku Visual Basic.


SetWarnings, metoda - przykład
SetWarnings, metoda – przykład

W poniższym przykładzie zostaje wyłączone wyświetlanie komunikatów systemowych.

DoCmd.SetWarnings False


ShowAllRecords, metoda

Metoda ShowAllRecords wykonuje akcję PokażWszystkieRekordy (ShowAllRecords) w języku Visual Basic. Dodatkowe informacje na temat działania tej akcji i jej argumentów można znaleźć w opisie akcji.

Składnia

DoCmd.ShowAllRecords

Dla tej metody nie są używane żadne argumenty.


ShowToolbar, metoda

Metoda ShowToolbar wykonuje akcję PokażPasekNarzędzi (ShowToolbar) w języku Visual Basic. Dodatkowe informacje na temat działania tej akcji i jej argumentów można znaleźć w opisie akcji.

Uwaga   Metoda ShowToolbar działa tylko na paski narzędzi, a nie na paski menu ani na menu podręczne.

Składnia

DoCmd.ShowToolbar nazwapaska [, pokaż]

Dla metody ShowToolbar używane są następujące argumenty.

Argument	Opis
nazwapaska	Wyrażenie typu ciąg znaków, które jest poprawną nazwą wbudowanego paska narzędzi lub niestandardowego paska narzędzi programu Microsoft Access, utworzonego przez użytkownika.
	Jeśli wykonywany kod języka Visual Basic zawierający metodę ShowToolbar jest umieszczony w bibliotecznej bazie danych, program Microsoft Access szuka paska narzędzi o podanej nazwie najpierw w bibliotecznej, a następnie w bieżącej bazie danych.
pokaż	Jedna z następujących stałych wewnętrznych:
	acToolbarNo acToolbarWhereApprop acToolbarYes (wartość domyślna)
	Jeśli argument ten jest pusty, przyjmowana jest wartość domyślna (acToolbarYes).
Uwagi

Jeśli argument pokaż jest pusty, to po argumencie nazwapaska nie należy umieszczać przecinka.


ShowToolbar, metoda - przykład
ShowToolbar, metoda – przykład

W poniższym przykładzie we wszystkich oknach programu Microsoft Access, które stają się aktywne, wyświetlany jest pasek narzędzi o nazwie "CustomToolbar":

DoCmd.ShowToolbar "CustomToolbar", acToolbarYes


TransferDatabase, metoda

Metoda TransferDatabase wykonuje akcję TransportBazyDanych (TransferDatabase) w języku Visual Basic. Dodatkowe informacje na temat działania tej akcji i jej argumentów można znaleźć w opisie akcji.

Składnia

DoCmd.TransferDatabase [typtransportu], typbazydanych, nazwabazydanych [, typobiektu], źródło, przeznaczenie [, tylkostruktura][, zapiszidlog]

Dla metody TransferDatabase używane są następujące argumenty.

Argument	Opis
typtransportu	Jedna z następujących stałych wewnętrznych:
	acExport acImport (wartość domyślna) acLink
	Jeśli argument ten jest pusty, przyjmowana jest wartość domyślna (acImport).
typbazydanych	Wyrażenie typu ciąg znaków będące nazwą jednego z typów baz danych, których można używać do importowania, eksportowania lub dołączania danych.
	Dostępne typy baz danych można przeglądać w oknie makra na liście argumentu "Typ bazy danych" akcji TransportBazyDanych.
nazwabazydanych	Wyrażenie typu ciąg znaków będące pełną nazwą, zawierającą ścieżkę dostępu, bazy danych, która ma być użyta do importowania, eksportowania lub dołączania danych.
typobiektu	Jedna z następujących stałych wewnętrznych:
	acForm acMacro acModule acQuery acReport acTable (wartość domyślna)
	Określa typ obiektu, z którego dane mają być eksportowane, importowane lub dołączane. Typ obiektu inny niż acTable można określić tylko wtedy, gdy eksport lub import zachodzi między dwiema bazami danych programu Microsoft Access. Jeśli eksportowane są wyniki kwerendy wybierającej programu Microsoft Access do bazy danych innego typu, wartość tego argumentu należy ustawić na acTable.
	Jeśli argument ten jest pusty, przyjmowana jest wartość domyślna (acTable).
	Uwaga   Stała acDefault, która pojawia się na liście składników dla tego argumentu, jest niepoprawna. Trzeba wybrać jedną z podanych wyżej wartości..
źródło	Wyrażenie typu ciąg znaków reprezentujące nazwę obiektu, z którego dane mają być importowane, eksportowane lub dołączane.
przeznaczenie	Wyrażenie typu ciąg znaków, które jest nazwą importowanego, eksportowanego lub dołączanego obiektu w docelowej bazie danych.
tylkostruktura	Wartość True (–1) powoduje import lub eksport tylko struktury tabeli z bazy danych. Wartość False (0) powoduje import lub eksport struktury tabeli wraz ze znajdującymi się w niej danymi.
	Jeśli argument ten jest pusty, przyjmowana jest wartość domyślna (False).
zapiszidlog	Wartość True jest używana do przechowywania identyfikatora logowania (ID) i hasła dostępu do bazy danych ODBC w ciągu znaków połączenia dla przyłączanej tabeli z bazy danych. Jeśli wartość ta zostanie podana, nie trzeba się logować przy każdym otwieraniu tabeli. Wartość False jest używana wtedy, gdy hasło i identyfikator logowania nie mają być przechowywane.
	Jeśli argument ten jest pusty, przyjmowana jest wartość domyślna (False).
	Argument ten jest dostępny tylko w języku Visual Basic.
Uwagi

Argument opcjonalny znajdujący się wewnątrz składni może pozostać pusty, lecz trzeba wówczas umieścić odnoszący się do tego argumentu przecinek. Jeśli końcowy argument jest pusty, nie należy umieszczać przecinka po ostatnim podanym argumencie.

Administrator bazy danych ODBC może zablokować możliwości, jakie daje argument zapiszidlog, nakładając na użytkowników wymaganie podawania identyfikatora logowania i hasła dostępu przy każdym połączeniu z bazą danych ODBC.

Uwaga   Chociaż można przyłączać tabele w języku Visual Basic używając metody TransferDatabase, zaleca się jednak, by zamiast niej korzystać z obiektów dostępu do danych (DAO). Aby utworzyć połączenie, używając do tego obiektów dostępu do danych, należy użyć właściwości Connect obiektu TableDef.


TransferDatabase, metoda - przykład
TransferDatabase, metoda – przykład

W poniższym przykładzie importowany jest raport "NW Sales for April" z bazy danych NWSales.mdb programu Microsoft Access do raportu "Corporate Sales for April" w bieżącej bazie danych:

DoCmd.TransferDatabase acImport, "Microsoft Access", _

"C:\DBS\NWSales.mdb", acReport, "NW Sales for April", _

"Corporate Sales for April"

W następnym przykładzie przyłączana jest tabela "Authors" z bazy danych ODBC do bieżącej bazy danych:

DoCmd.TransferDatabase acLink, "ODBC Database", _

"ODBC;DSN=DataSource1;UID=User2;PWD=www;LANGUAGE=us_english;" _

& "DATABASE=pubs", acTable, "Authors", "dboAuthors"


TransferSpreadsheet, metoda

Metoda TransferSpreadsheet wykonuje akcję TransportArkusza (TransferSpreadsheet) w języku Visual Basic. Dodatkowe informacje na temat działania tej akcji i jej argumentów można znaleźć w opisie akcji.

Składnia

DoCmd.TransferSpreadsheet [typtransportu][, typarkusza], nazwatabeli, nazwapliku [, nazwypól][, zakres]

Dla metody TransferSpreadsheet używane są następujące argumenty.

Argument	Opis
typtransportu	Jedna z następujących stałych wewnętrznych:
	acImport (wartość domyślna) acExport acLink
	Jeśli argument ten jest pusty, przyjmowana jest wartość domyślna (acImport).
typarkusza	Jedna z następujących stałych wewnętrznych lub odpowiednia wartość liczbowa:
	0  acSpreadsheetTypeExcel3 (wartość domyślna) 6  acSpreadsheetTypeExcel4 5  acSpreadsheetTypeExcel5 5  acSpreadsheetTypeExcel7 8  acSpreadsheetTypeExcel97 2  acSpreadsheetTypeLotusWK1 3  acSpreadsheetTypeLotusWK3 7  acSpreadsheetTypeLotusWK4 4  acSpreadsheetTypeLotusWJ2 — Tylko dla wersji japońskiej
	Uwaga   Można przyłączyć dane z pliku arkusza kalkulacyjnego Lotus 1-2-3, lecz w programie Microsoft Access dane te dostępne będą tylko do odczytu. Można importować dane z plików .WK4 programu Lotus i przyłączać je (w trybie tylko do odczytu), nie można jednak eksportować danych z programu Microsoft Access do plików tego formatu. Oprócz tego, w programie Microsoft Access nie można, używając tej metody, importować, eksportować ani przyłączać danych z plików arkuszy kalkulacyjnych Lotus .WKS ani Microsoft Excel w wersji 2.0.
	Jeśli argument ten jest pusty, przyjmowana jest domyślna wartość (acSpreadsheetTypeExcel3).
nazwatabeli	Wyrażenie typu ciąg znaków będące poprawną nazwą tabeli programu Microsoft Access, do której mają być importowane dane z arkusza kalkulacyjnego, z której mają być eksportowane dane lub do której mają być przyłączone dane arkusza albo kwerenda wybierająca programu Microsoft Access, której wyniki mają być wyeksportowane do arkusza kalkulacyjnego.
nazwapliku	Wyrażenie typu ciąg znaków będące pełną nazwą, wraz ze ścieżką dostępu, pliku arkusza kalkulacyjnego, do którego mają być eksportowane dane albo z którego mają być importowane lub przyłączane dane.
nazwypól	Wartość True (–1) wskazuje, że w pierwszym wierszu arkusza kalkulacyjnego znajdują się nazwy pól używanych przy imporcie lub łączeniu. Wartość False (0) wskazuje, że pierwszy wiersz arkusza zawiera zwykłe dane. Jeśli argument ten jest pusty, przyjmowana jest wartość domyślna (False).
	Podczas eksportu tabeli programu Microsoft Access lub danych kwerendy wybierającej do arkusza kalkulacyjnego, nazwy pól umieszczane są w pierwszym wierszu arkusza, niezależnie od wartości tego argumentu.
zakres	Wyrażenie typu ciąg znaków, które jest poprawnym zakresem komórek lub nazwą zakresu w arkuszu kalkulacyjnym. Argument ten stosuje się tylko podczas importu. Jeśli argument ten jest pusty, importowany jest cały arkusz.
	Przy exporcie do arkusza kalkulacyjnego argument ten musi być pusty. Jeśli zostanie podana dla tego argumentu jakaś wartość, operacja exportu nie powiedzie się.
Uwagi

Argument opcjonalny znajdujący się wewnątrz składni może pozostać pusty, lecz trzeba wówczas umieścić przecinek odnoszący się do tego argumentu. Jeśli końcowy argument jest pusty, nie należy umieszczać przecinka po ostatnim podanym argumencie.

Uwaga   Chociaż do dołączania danych z arkusza kalkulacyjnego można używać w języku Visual Basic metody TransferSpreadsheet, zalecane jest używanie zamiast tej metody obiektów dostępu do danych (DAO). Aby utworzyć połączenie za pomocą obiektów dostępu do danych, należy użyć właściwości Connect obiektu TableDef.


TransferSpreadsheet, metoda - przykład
TransferSpreadsheet, metoda – przykład

W poniższym przykładzie importowane są dane z podanego zakresu arkusza kalkulacyjnego Newemps.wk3 programu Lotus do tabeli "Employees" bazy danych programu Microsoft Access. Pierwszy wiersz importowanego zakresu arkusza kalkulacyjnego użyty zostanie do utworzenia nazw pól.

DoCmd.TransferSpreadsheet acImport, 3, "Employees","C:\Lotus\Newemps.wk3", True, "A1:G12"


TransferText, metoda

Metoda TransferText wykonuje akcję TransportTekstu (TransferText) w języku Visual Basic. Dodatkowe informacje na temat działania tej akcji i jej argumentów można znaleźć w opisie akcji.

Składnia

DoCmd.TransferText [typtransportu][, nazwaspecyfikacji], nazwatabeli, nazwapliku [, nazwypól][, nazwatabeliHTML]

Dla metody TransferText używane są następujące argumenty.

Argument	Opis
typtransportu	Jedna z następujących stałych wewnętrznych:
	acExportDelim acExportFixed acExportHTML acExportMerge acImportDelim (wartość domyślna) acImportFixed acImportHTML acLinkDelim acLinkFixed acLinkHTML
	Jeśli argument ten jest pusty, przyjmowana jest wartość domyślna (acImportDelim).
	Uwaga   Można dołączyć do tabeli dane z pliku tekstowego lub pliku HTML, lecz w programie Microsoft Access będą one dostępne wyłącznie w trybie tylko do odczytu.
nazwaspecyfikacji	Wyrażenie typu ciąg znaków, które jest nazwą specyfikacji importu lub exportu utworzonej i zapisanej w bieżącej bazie danych.
	Argument ten jest wymagany dla plików tekstowych o stałej szerokości. Dla plików tekstu rozdzielanego i plików danych korespondencji seryjnej programu Microsoft Word, argument ten może być pusty. Zostanie wtedy wybrana domyślna specyfikacja eksportu/importu.
nazwatabeli	Wyrażenie typu ciąg znaków będące nazwą tabeli bazy danych programu Microsoft Access, do której dane tekstowe mają być importowane, z której dane tekstowe mają być eksportowane lub do której dane tekstowe mają zostać dołączone albo nazwą kwerendy wybierającej programu Microsoft Access, której wyniki mają zostać wyeksportowane do pliku tekstowego.
nazwapliku	Wyrażenie typu ciąg znaków będące pełną nazwą, wraz ze ścieżką dostępu, pliku tekstowego, z którego dane mają być importowane, do którego mają być wyeksportowane lub z którego mają być dołączone.
nazwypól	Wartość True (–1) powoduje, że pierwszy wiersz pliku tekstowego jest traktowany podczas importu, exportu lub łączenia jako wiersz zawierający nazwy pól. Wartość False (0) powoduje, że pierwszy wiersz pliku traktowany jest jak wiersz zawierający zwykłe dane. Jeśli argument ten jest pusty, przyjmowana jest wartość domyślna (False).
	Argument ten jest ignorowany w przypadku plików z danymi korespondencji seryjnej programu Microsoft Word, w których pierwszy wiersz musi zawsze zawierać nazwy pól.
nazwaplikuHTML	Wyrażenie typu ciąg znaków, które jest nazwą dołączanej lub importowanej tabeli z pliku HTML. Jeśli wartość argumentu typtransportu jest różna od acImportHTML lub acLinkHTML, to argument ten jest ignorowany. Jeśli argument ten jest pusty, dołączana lub importowana jest pierwsza tabela z pliku HTML.
	Nazwa tabeli w pliku HTML jest określona przez tekst znacznika <CAPTION>, jeśli taki istnieje. Jeśli znacznika <CAPTION> nie ma, nazwa jest określona przez tekst znacznika <TITLE>. Jeśli kilka tabel ma tą samą nazwę, program Microsoft Access rozróżnia je dodając na końcu każdej nazwy numer, na przykład, "Employees1" i "Employees2".
Uwagi

Argument opcjonalny znajdujący się wewnątrz składni może być pusty, lecz trzeba wówczas umieścić przecinek związany z tym argumentem. Jeśli końcowy argument jest pusty, nie należy umieszczać przecinka po ostatnim podanym argumencie.

Uwaga   Chociaż do dołączania danych z plików tekstowych można używać w języku Visual Basic metody TransferText, zaleca się używanie zamiast niej obiektów dostępu do danych (DAO). Aby utworzyć połączenie, używając obiektów dostępu do danych należy użyć właściwości Connect obiektu TableDef.


TransferText, metoda - przykład
TransferText, metoda – przykład

W poniższym przykładzie eksportowane są dane z tabeli "External Report" bazy danych programu Microsoft Access do pliku tekstu rozdzielanego April.doc z użyciem specyfikacji "Standard Output":

DoCmd.TransferText acExportDelim, "Standard Output", _

"External Report", "C:\Txtfiles\April.doc"


Echo, metoda (obiekt Application)

Metoda Echo określa, czy program Microsoft Access odświeża ekran komputera.

Składnia

Application.Echo echowł[, tekstpaskastanu]

Dla metody Echo używane są następujące argumenty.

Argument	Opis
echowł	Wartość True (wartość domyślna) oznacza, że ekran jest odświeżany; wartość False oznacza, że ekran nie jest odświeżany.
tekstpaskastanu	Wyrażenie typu ciąg znaków określające tekst, który ma być wyświetlany na pasku stanu, gdy odświeżanie jest włączone lub wyłączone.
Uwagi

Może się okazać, po uruchomieniu kodu języka Visual Basic wykonującego zmiany w obiektach wyświetlanych na ekranie, że kod działa szybciej, jeśli do zakończenia procedury odświeżanie ekranu będzie wyłączone. Wyłączenie odświeżania może być przydatne, jeśli zmiany wykonywane na ekranie nie muszą lub nie powinny być widoczne dla użytkownika

Metoda Echo nie wyłącza wyświetlania modalnych okien dialogowych, takich jak komunikaty o błędach, ani formularzy podręccznych, takich jak arkusze właściwości.

Jeśli odświeżanie ekranu zostanie wyłączone, to do momentu ponownego włączenia odświeżania na ekranie nie będą widoczne żadne zmiany, nawet wtedy, gdy użytkownik naciśnie kombinację klawiszy CTRL+BREAK lub w języku Visual Basic zostanie osiągnięty punkt przerwania. Użytkownik może utworzyć makro, które będzie włączało odświeżanie i przypisać je do klawisza lub do polecenia niestandardowego menu. Można wtedy za pomocą kombinacji klawiszy lub polecenia menu włączać odświeżanie, jeśli zostało ono wyłączone w kodzie języka Visual Basic.

Jeśli odświeżanie zostanie wyłączone, a następnie w trybie krokowym będzie wykonywany kod, nie będzie możliwe obserwowanie postępu wykonywania kodu ani obserwowanie zmian wizualnych, dopóki nie nastąpi ponowne włączenie odświeżania. Niemniej jednak, kod będzie wykonywany.

Uwaga   Nie należy mylić metody Echo z metodą Repaint. Metoda Echo włącza lub wyłącza mechanizm odświeżania ekranu. Metoda Repaint wykonuje natychmiastowe odświeżanie ekranu.


Echo, metoda - przykład (obiekt Application)
Echo, metoda – przykład (obiekt Application)

W poniższym przykładzie metoda Echo została wykorzystana do zabezpieczenia ekranu przed odświeżaniem podczas wykonywania pewnych operacji. W czasie, gdy procedura otwiera formularz i zwija go do ikony, użytkownik widzi na ekranie tylko klepsydrę wskazującą, że trwa przetwarzanie. Ekran nie jest odświeżany. Po zakończeniu zadania wskaźnik myszy ponownie przybierze zwykły kształt i odświeżanie ekranu zostanie włączone.

Sub EchoOff()

Application.Echo False

DoCmd.Hourglass True

DoCmd.OpenForm "Employees", acNormal

DoCmd.Minimize

Application.Echo True

DoCmd.Hourglass False

End Sub


GetOption i SetOption, metody

•	Metoda GetOption zwraca bieżącą wartość opcji z okna dialogowego Opcje, dostępnego za pomocą kliknięcia polecenia Opcje w menu Narzędzia.

•	Metoda SetOption ustawia bieżącą wartość opcji w oknie dialogowym Opcje.

Składnia

obiekt.GetOption(nazwaopcji)

obiekt.SetOption nazwaopcji, ustawienie

W metodach GetOption i SetOption używane są następujące argumenty.

Argument	Opis
obiekt	Argument opcjonalny określający obiekt Application.
Nazwaopcji	Nazwa opcji. Listę dopuszczalnych wartości argumentu nazwaopcji można znaleźć w temacie Ustawianie opcji za pomocą języka Visual Basic.
Ustawienie	Wartość typu Variant odpowiadająca ustawieniu opcji. Wartość argumentu ustawienie musi być jednym z dopuszczalnych ustawień danej opcji.
Uwagi

Metody GetOption i SetOption pozwalają na zmianę opcji środowiska za pomocą kodu języka Visual Basic. Za pomocą tych metod można ustawiać lub odczytywać opcje dostępne w oknie dialogowym Opcje, za wyjątkiem opcji znajdujących się na karcie Moduły.

Dostępne ustawienia opcji zależą od typu ustawianej opcji. Są trzy ogólne typy opcji:

•	Opcje typu Tak/Nie, które mogą być ustawiane przez zaznaczenie lub wyczyszczenie pola wyboru.

•	Opcje, które mogą być ustawione przez wprowadzenie ciągu znaków lub wartości liczbowej.

•	Opcje predefiniowane, których ustawienia można wybrać z pola listy, pola kombi lub grupy opcji.

W przypadku opcji, którą użytkownik ustawia zaznaczając lub czyszcząc pole wyboru, metoda GetOption zwraca wartość True (–1), jeśli ustawieniem opcji jest wartość "Tak" (pole wyboru jest zaznaczone) lub False (0), jeśli ustawieniem opcji jest wartość "Nie" (pole wyboru jest wyczyszczone). Aby za pomocą metody SetOption ustawić taką opcję, należy argumentowi ustawienie nadać wartość True lub False, tak jak w poniższym przykładzie:

Application.SetOption "Show Status Bar", True

W przypadku opcji, które użytkownik ustawia wpisując ciąg znaków lub wartość liczbową, metoda GetOption zwraca ustawienie, które jest wyświetlane w oknie dialogowym. W poniższym przykładzie metoda zwraca ciąg znaków zawierający ustawienie lewego marginesu:

Dim varSetting As Variant

varSetting = Application.GetOption("Left Margin")

Aby za pomocą metody SetOption ustawić opcję tego typu, należy określić ciąg znaków lub wartość liczbową, która mogłaby być wpisana w oknie dialogowym. W poniższym przykładzie domyślny szablon formularza ustawiany jest na "OrderTemplate":

Application.SetOption "Form Template", "OrderTemplate"

W przypadku opcji, których ustawienia wybierane są z pól list lub z pól kombi, metoda GetOption zwraca numer odpowiadający pozycji ustawienia na liście. Indeksowanie zaczyna się od zera, stąd też dla pierwszego elementu listy metoda GetOption zwraca wartość 0, dla drugiego 1 itd. Jeśli, na przykład, na karcie Tabele/Kwerendy opcja Domyślny typ pola ustawiona jest na wartość "Autonumer", to dla szóstego elementu na liście metoda GetOption zwróci wartość 5.

Aby ustawić opcję tego typu, należy w metodzie SetOption określić liczbową pozycję opcji na liście jako argument ustawienie. W poniższym przykładzie opcja Domyślny typ pola ustawiana jest na wartość "AutoNumer":

Application.SetOption "Default Field Type", 5

Inne opcje ustawiane są przez kliknięcie przycisku opcji z grupy opcji w oknie dialogowym Opcje. W języku Visual Basic takie opcje ustawiane są przez określenie pozycji wybranej opcji w grupie opcji. Pozycja pierwszej opcji z grupy opcji ma numer zero, pozycja drugiej ma numer jeden itd. Jeśli, na przykład, znajdująca się na karcie Formularze/Raporty opcja Zachowanie podczas zaznaczania jest ustawiona na wartość "Częściowo zaznaczony", metoda GetOption zwróci wartość 0, tak jak w poniższym przykładzie:

Debug.Print Application.GetOption("Selection Behavior")

Aby ustawić opcję, która należy do grupy opcji, trzeba podać numer indeksu opcji w grupie. W poniższym przykładzie opcja Zachowanie podczas zaznaczania ustawiana jest na wartość "W pełni zaznaczony":

Application.SetOption "Selection Behavior", 1

Uwagi

•	Przy ustawianiu za pomocą metody GetOption lub metody SetOption opcji w oknie dialogowym Opcje nie trzeba określać karty na której znajduje się dana opcja.

•	Za pomocą metod GetOption i SetOption nie można odczytać ani ustawić żadnej opcji znajdującej się na karcie Moduł w oknie dialogowym Opcje.

•	Jeśli wartość zwracana przez metodę GetOption jest przypisana zmiennej, zmienna musi być zadeklarowana jako Variant.

•	Jeśli baza danych ma być uruchamiana w innej wersji językowej programu Microsoft Access niż ta, w której została napisana, wtedy argumenty dla metod GetOption i SetOption należy podawać w języku angielskim.

W momencie opuszczania programu Microsoft Access, można przywrócić opcjom ich pierwotne ustawienia używając metody SetOption dla wszystkich zmienionych opcji. Wartości oryginalnych ustawień można przechowywać w specjalnie w tym celu utworzonych zmiennych globalnych. W celu przywrócenia wartości opcjom można umieścić odpowiedni kod w procedurze obsługi zdarzenia Close dla formularza lub w niestandardowej procedurze zamykającej, którą użytkownik będzie musiał uruchomić w celu opuszczenia aplikacji.


GetOption i SetOption, metody - przykłady
GetOption i SetOption, metody – przykłady

W poniższym przykładzie metoda GetOption zwraca ustawienie opcji Domyślny typ pola z karty Tabele/Kwerendy okna dialogowego Opcje, a następnie zapisuje to ustawienie w zmiennej. Jeśli bieżącym ustawieniem opcji Domyślny typ pola nie jest wartość "Tekst", program Microsoft Access wyświetli okno dialogowe z pytaniem, czy należy ustawić opcję na wartość "Tekst". Jeśli użytkownik kliknie przycisk Tak, metoda SetOption zmieni tę opcję.

Sub ChangeFieldSize()

' Constant represents Text setting of Default Field Type option.

Const conText = 0

Dim varSize As Variant, intResponse As Integer

Dim strMsg As String

' Determine current setting.

varSize = Application.GetOption("Default Field Type")

strMsg = "Set default field type to Text?"

If varSize <> conText Then

' Prompt user to change setting if it's not Text.

If MsgBox(strMsg, vbYesNo) = vbYes Then

' Change setting to Text.

Application.SetOption "Default Field Type", conText

End If

End If

End Sub


GoToPage, metoda (obiekt Form)

Metoda GoToPage przenosi fokus do pierwszego formantu na podanej stronie aktywnego formularza.

Składnia

formularz.GoToPage numerstrony [, wprawo, wdół]

Dla metody GoToPage używane są następujące argumenty.

Argument	Opis
formularz	Obiekt Form, który reprezentuje aktywny formularz.
numerstrony	Wyrażenie numeryczne, które jest poprawnym numerem strony aktywnego formularza.
wprawo	Wyrażenie numeryczne, które jest poprawnym przesunięciem w poziomie (wyrażonym w jednostkach twip) od lewej krawędzi okna w kierunku tej części strony, która ma być przeglądana.
wdół	Wyrażenie numeryczne, które jest poprawnym przesunięciem w pionie (w twipach) od górnej krawędzi okna w kierunku tej części strony, która ma być przeglądana.
Uwagi

Gdy metoda ta jest używana do przejścia na wybraną stronę formularza, fokus jest ustawiany na pierwszym formancie znajdującym się na tej stronie, zgodnie z kolejnością dostępu zdefiniowaną dla danego formularza. Aby przejść do wybranego formantu formularza, należy użyć metody SetFocus.

Jeśli w celu połączenia formantów w logiczne grupy formularz został podzielony na strony za pomocą formantów podziału strony, można korzystać z metody GoToPage. Można na przykład utworzyć formularz "Pracownicy" zawierający na pierwszej stronie dane personalne, na drugiej informacje zawodowe, a na trzeciej osiągnięte wyniki sprzedaży. Za pomocą metody GoToPage można przejść do wybranej strony.

Argumentów wprawo i wdół można użyć dla formularzy o stronach większych niż okno programu Microsoft Access. Argument numerstrony należy stosować przy przechodzeniu do wybranej strony, następnie za pomocą argumentów wprawo i wdół można wyświetlić żądaną część strony. Program Microsoft Access wyświetla część strony, która jest oddalona od lewego górnego narożnika okna o wartości określone przez argumenty wprawo i wdół.


GoToPage (obiekt Application), metoda - przykład
GoToPage, metoda (obiekt Application) – przykład

W poniższym przykładzie metoda GoToPage używana jest do przeniesienia fokusu na drugą stronę formularza "Customer" w położenie określone przez argumenty wprawo i wdół:

Forms!Customer.GoToPage 2, 1440, 600


ItemData, właściwość

Właściwość ItemData zwraca dane z kolumny związanej dla określonego wiersza pola kombi lub pola listy.

Składnia

formant.ItemData(indekswiersza)

Właściwość ItemData ma następujące argumenty.

Argument	Opis
formant	Obiekt Control, który jest polem kombi lub polem listy.
indekswiersza	Wiersz w polu kombi lub w polu listy zawierający dane, które mają być zwrócone. Wiersze w polach kombi i w polach list są indeksowane począwszy od zera. Na przykład, aby uzyskać wartość z szóstego wiersza pola kombi należy argumentowi indekswiersza nadać wartość 5.
Uwagi

Właściwość ItemData pozwala przejrzeć listę pozycji w polu kombi lub w polu listy. Załóżmy, że trzeba przejrzeć wszystkie pozycje w polu kombi lub w polu listy, aby odszukać konkretną pozycję. W tym celu należy za pomocą właściwości ListCount sprawdzić liczbę wierszy w polu, a następnie za pomocą właściwości ItemData zwrócić dane dla kolumny związanej z każdego wiersza listy.

Korzystając z właściwości ItemData można uzyskać dane tylko z wybranych wierszy pola listy. Można przejrzeć kolekcję ItemsSelected, aby sprawdzić, który wiersz lub wiersze pola listy zostały wybrane, a następnie, za pomocą właściwości ItemData, zwrócić dane z tych wierszy. Właściwość MultiSelect (WybórWielokrotny) pola listy trzeba ustawić na wartość "Prosty" lub "Rozszerzony", aby umożliwić użytkownikowi jednoczesne zaznaczenie wielu wierszy.

Wskazówka   Za pomocą właściwości Column można zwrócić dane z określonego wiersza i kolumny, nawet jeśli ta kolumna nie jest kolumną związaną.


ItemData, właściwość - przykład
ItemData, właściwość – przykład

W poniższym przykładzie dla każdego z zaznaczonych wierszy pola listy "EmpolyeList" z formularza "EmployeList" drukowana jest wartość z kolumny związanej. Właściwość MultiSelect (WybórWielokrotny) musi być ustawiona na wartość "Prosty" lub "Rozszerzony".

Sub RowsSelected()

Dim ctlList As Control, varItem As Variant

' Return Control object variable pointing to list box.

Set ctlList = Forms!Employees!EmployeeList

' Enumerate through selected items.

For Each varItem in ctlList.ItemsSelected

' Print value of bound column.

Debug.Print ctlList.ItemData(varItem)

Next varItem

End Sub


Quit, metoda (obiekt Application)

Metoda Quit kończy działanie programu Microsoft Access. Przed zakończeniem pracy można wybrać jedną z kilku opcji zapisywania obiektu bazy danych.

Składnia

Application.Quit [opcja]

Dla metody Quit używany jest następujący argument.

Argument	Opis
opcja	Stała wewnętrzna, która określa, co stanie się z niezapisanymi obiektami podczas kończenia pracy programu Microsoft Access. Wartością tego argumentu może być jedna z następujących stałych:
	Stała	Opis
	acSaveYes	(Wartość domyślna). Zapisywane są wszystkie obiekty. Nie jest wyświetlane żadne okno dialogowe.
	AcPrompt	Wyświetlane jest okno dialogowe z pytaniem, czy zapisać obiekty, które nie zostały zapisane po dokonaniu zmian.
	AcExit	Kończy pracę programu Microsoft Access bez zapisywania obiektów
Uwagi

Efekt działania metody Quit jest taki sam, jak efekt kliknięcia polecenia Zakończ w menu Plik. Można utworzyć polecenie niestandardowego menu lub przycisk polecenia na formularzu z procedurą zdarzenia zawierającą metodę Quit. Można na przykład umieścić na formularzu przycisk "Zakończ" i dołączyć do niego procedurę zdarzenia Click, która wykorzystuje metodę Quit z argumentem opcja ustawionym na wartość acSaveYes.


Quit, metoda - przykład (obiekt Application)
Quit, metoda (obiekt Application) – przykład

W poniższym przykładzie procedura zdarzenia Click została dołączona do przycisku o nazwie "AppExit". Po kliknięciu przycisku "AppExit" wyświetlane jest okno dialogowe z pytaniem o zapisanie zmian, następnie procedura kończy pracę programu Microsoft Access.

Private Sub AppExit_Click()

Application.Quit acPrompt

End Sub


Refresh, metoda

Metoda Refresh powoduje natychmiastową aktualizację rekordów w źródle danych wybranego formularza lub arkusza danych w celu uwzględnienia zmian wprowadzonych do danych przez użytkownika lub użytkowników w środowisku sieciowym

Składnia

formularz.Refresh

Dla metody Refresh używany jest następujący argument

Argument	Opis
formularz	Obiekt Form, który reprezentuje formularz przeznaczony do odświeżenia.
Uwagi

Użycie metody Refresh jest równoważne kliknięciu polecenia Odśwież w menu Rekordy.

Program Microsoft Access odświeża rekordy automatycznie, zgodnie z ustawieniem opcji Okres odświeżania znajdującej się na karcie Zaawansowane w oknie dialogowym Opcje dostępnym przez kliknięcie polecenia Opcje w menu Narzędzia. Źródła danych ODBC są odświeżane zgodnie z ustawieniem opcji Okres odświeżania ODBC znajdującym się na karcie Zaawansowane w oknie dialogowym Opcje. Z metody Refresh można korzystać, aby uwidocznić zmiany dokonane w bieżącym zestawie rekordów w formularzu lub arkuszu danych od czasu ostatniego odświeżania źródła danych dla formularza lub arkusza danych

Metoda Refresh pokazuje tylko zmiany dokonane w bieżącym zestawie rekordów. Ponieważ metoda Refresh nie wykonuje ponownej kwerendy bazy danych, bieżący zestaw nie będzie zawierał rekordów, które zostały dodane ani rekordów, które zostały z bazy usunięte od czasu ostatniego wykonania kwerendy. Nie zostaną także wykluczone rekordy, które nie spełniają już kryteriów kwerendy lub filtra. Aby ponowić kwerendę na bazie danych, należy użyć metody Requery. Gdy zostanie ponowiona kwerenda źródła danych, bieżący zestaw rekordów będzie dokładnie odzwierciedlał wszystkie dane znajdujące się w źródle danych.

Uwagi

•	Często okazuje się, że szybciej można odświeżyć formularz lub arkusz danych niż ponownie wykonać kwerendę. Dzieje się tak zwłaszcza wtedy, gdy pierwotna kwerenda uruchamiała się bardzo wolno.

•	Nie należy mylić metody Refresh z metodą Repaint, która odświeża ekran, wyświetlając wszystkie zmiany wizualne.


Refresh, metoda - przykład
Refresh, metoda – przykład

W poniższym przykładzie metoda Refresh jest używana do aktualizowania rekordów w źródle danych formularza "Customers", za każdym razem, gdy formularz uzyskuje fokus:

Private Sub Form_Activate()

Me.Refresh

End Sub


Repaint, metoda

Metoda Repaint wykonuje wszystkie zaległe aktualizacje ekranu dla określonego formularza. Gdy metoda Repaint wykonywana jest na formularzu, wykonuje także wszystkie zaległe obliczenia formantów formularza.

Składnia

formularz.Repaint

Dla metody Repaint używany jest następujący argument.

Argument	Opis
formularz	Obiekt Form reprezentujący formularz, który ma być odświeżony.
Uwagi

Czasami program Microsoft Access wstrzymuje odświeżanie ekranu do czasu zakończenia innych zadań. Za pomocą metody Repaint można wymusić natychmiastowe odświeżanie formantów określonego formularza. Z metody Repaint należy korzystać, gdy:

•	Następuje zmiana wartości kilku pól. Jeśli nie zostanie wymuszone odświeżanie, program Microsoft Access może opóźnić wyświetlenie zmian, zwłaszcza, gdy inne pola, na przykład pola wykorzystywane w wyrażeniu znajdującym się w formancie obliczeniowym, zależą od wartości zmienionych pól.

•	Trzeba, aby dane w formularzu wyświetlane były we wszystkich jego polach. Na przykład, dane znajdujące się w polach zawierających obiekty OLE nie zawsze są wyświetlane natychmiast po otwarciu formularza.

Metoda ta nie powoduje ponownego wykonania kwerendy bazy danych, nie pokazuje także nowych lub zmienionych rekordów w źródle danych formularza. Aby ponowić kwerendę źródła danych formularza lub jednego z formantów, należy użyć metody Requery.

Uwagi

•	Nie należy mylić metody Repaint z metodą Refresh ani z poleceniem Odśwież z menu Rekordy. Metoda Refresh i polecenie Odśwież pokazują zmiany dokonane przez użytkowników w źródle rekordów dla dowolnego aktualnie wyświetlanego rekordu na formularzu lub w arkuszu danych. Metoda Repaint aktualizuje tylko ekran, jeśli odświeżenie zostało opóźnione z powodu wykonywania przez program Microsoft Access innych zadań.

•	Metoda Repaint różni się od metody Echo tym, że metoda Repaint wymusza jednorazowo natychmiastowe odświeżanie ekranu podczas gdy metoda Echo włącza lub wyłącza mechanizm odświeżania.


Repaint, metoda - przykład
Repaint, metoda – przykład

W poniższym przykładzie metoda Repaint odświeża formularz w momencie, gdy uzyskuje on fokus:

Private Sub Form_Activate()

Me.Repaint

End Sub


Requery, metoda (obiekty Control i Form)

Metoda Requery aktualizuje dane określonego formularza lub formantu znajdującego się na aktywnym formularzu, przez ponowienie kwerendy źródła danych dla tego formularza lub formantu.

Składnia

[obiekt.]Requery

Dla metody Requery używany jest następujący argument.

Argument	Opis
obiekt	Obiekt Form lub Control reprezentujący formularz lub formant przeznaczony do aktualizacji. Jeśli argument ten jest pusty wykonywana jest kwerenda źródła danych aktywnego obiektu.
Uwagi

Tą metodę należy stosować, aby zapewnić, że formularz lub formant wyświetla najświeższe dane.

Metoda Requery wykonuje jedną z poniższych czynności:

•	Ponawia kwerendę, na której oparty jest formularz lub formant.

•	Wyświetla wszystkie nowe lub zmienione rekordy i usuwa wszystkie rekordy usunięte z tabeli, na której oparty jest formularz lub formant.

•	Aktualizuje wyświetlane rekordy zgodnie z wszelkimi zmianami właściwości Filter formularza.

Do formantów opartych na kwerendzie lub tabeli należą:

•	Pola list i pola kombi.

•	Formanty podformularzy

•	Obiekty OLE, takie jak wykresy.

•	Formanty dla których właściwość ControlSource (ŹródłoFormantu) zawiera funkcję z kategorii funkcji agregujących domen lub funkcji agregujących języka SQL.

Jeśli jako argument obiekt zostanie określony inny typ formantu, ponawiana jest kwerenda źródła rekordów formularza.

Jeśli formant określony przez argument obiekt nie jest związany z polem tabeli ani kwerendy, metoda Requery wymusza obliczenie formantu.

Jeśli argument obiekt jest pusty, metoda Requery wykonuje ponowną kwerendą źródła danych formularza lub formantu, który ma fokus. Jeśli formant, który ma fokus ma źródło rekordów lub źródło wierszy, zostanie ponowiona kwerenda. Jeśli nie, dane zostaną po prostu odświeżone.

Jeśli formant podformularza ma fokus, metoda ponawia kwerendę źródła rekordów tylko dla podformularza, a nie dla formularza głównego.

Uwagi

•	Metoda Requery aktualizuje dane będące podstawą formularza lub formantu po to, aby odzwierciedlić zmiany w rekordach dokonane w następstwie usunięcia lub dodania rekordów w źródle rekordów od czasu ostatniej kwerendy. Metoda Refresh pokazuje tylko zmiany dokonane w bieżącym zestawie rekordów, nie odzwierciedla zmian spowodowanych dodaniem nowych rekordów lub usunięciem rekordów w źródle rekordów. Metoda Repaint odświeża tylko określony formularz i jego formanty.

•	Metoda Requery nie przekazuje sterowania do systemu operacyjnego w celu umożliwienia systemowi Windows kontynuacji przetwarzania komunikatów. Jeśli zachodzi potrzeba chwilowego przekazania sterowania do systemu operacyjnego należy użyć funkcji DoEvents.

•	Metoda Requery jest szybsza niż akcja PonówKwerendę (Requery). Gdy wykonywana jest akcja PonówKwerendę, program Microsoft Access zamyka kwerendę i ładuje ją ponownie z bazy danych. Gdy używana jest metoda Requery, program Microsoft Access wykonuje ponownie kwerendę bez zamykania jej i bez ponownego ładowania z bazy danych.


Requery, metoda (Control lub Form, obiekty) - przykład
Requery, metoda (obiekt Control lub Form) – przykład

W poniższym przykładzie metoda Requery używana jest do wykonania kwerendy danych z pola listy "EmployeeList" na formularzu "Employees":

Sub RequeryList()

Dim ctlList As Control

' Return Control object pointing to list box.

Set ctlList = Forms!Employees!EmployeeList

' Requery source of data for list box.

ctlList.Requery

End Sub


SetFocus, metoda

Metoda SetFocus przenosi fokus do określonego formularza, określonego formantu na aktywnym formularzu lub określonego pola w aktywnym arkuszu danych.

Składnia

obiekt.SetFocus

Dla metody SetFocus używany jest następujący argument.

Argument	Opis
obiekt	Obiekt Form, który reprezentuje formularz lub obiekt Control, który reprezentuje formant aktywnego formularza lub arkusza danych.
Uwagi

Metody SetFocus można używać, gdy konkretne pole lub formant ma uzyskać fokus, aby wszystkie dane wprowadzane przez użytkownika kierowane były do tego obiektu.

Aby odczytać niektóre właściwości formantu, trzeba zapewnić, że formant ma fokus. Na przykład, pole tekstowe musi mieć fokus, zanim będzie możliwe odczytanie jego właściwości Text.

Inne właściwości mogą być ustawiane tylko wtedy, gdy formant nie ma fokusu. Nie można na przykład ustawić właściwości Visible ani Enabled formantu na wartość False (0), gdy formant ma fokus.

Można także używać metody SetFocus do poruszania się w formularzu zgodnie z pewnymi warunkami. Na przykład, jeśli użytkownik wybierze w pierwszym zestawie pytań w formularzu opcję Nie dotyczy, kod języka Visual Basic może automatycznie pominąć pozostałe pytania z tego zestawu i przenieść fokus do pierwszego pola następnego zestawu pytań.

Fokus można przenieść tylko do widocznego formantu lub formularza. Formularz i formanty formularza nie są widoczne, dopóki nie zostanie zakończone zdarzenie Load formularza. Z tego powodu, jeśli w procedurze zdarzenia Load metoda SetFocus używana jest do przeniesienia fokusu do tego formularza, trzeba użyć metody Repaint przed metodą SetFocus.

Nie można przenieść fokusu do formantu, którego właściwość Enabled ma wartość False. Przed przeniesieniem fokusu do tego formantu trzeba ustawić właściwość Enabled formantu na wartość True (–1). Można jednak przenieść fokus do formantu, którego właściwość Locked jest ustawiona na True.

Jeśli na formularzu są formanty, których właściwość Enabled jest ustawiona na wartość True, nie można przenieść fokusu na sam formularz. W takim przypadku można przenieść fokus tylko na formanty formularza. Przy próbie użycia metody SetFocus do przeniesienia fokusu na formularz, fokus zostanie przeniesiony na formant, który ostatnio uzyskał fokus.

Wskazówka   Metody SetFocus można użyć do przeniesienia fokusu na podformularz, który jest rodzajem formantu. Można również przenieść fokus na formant podformularza używając dwukrotnie metody SetFocus – przenosząc najpierw fokus na podformularz, a następnie na formant podformularza.


SetFocus, metoda - przykład
SetFocus, metoda – przykład

W poniższym przykładzie metoda SetFocus używana jest do przeniesienia fokusu na pole tekstowe "EmployeeID" formularza "Employees":

Forms!Employees!EmployeeID.SetFocus


Circle, metoda

Metoda Circle rysuje okrąg, elipsę lub łuk w obiekcie Report, gdy zachodzi zdarzenie Print.

Składnia

obiekt.Circle [Step](x, y), promień [, [kolor][, [start][, [koniec][, wydłużenie]]]]

Metoda ta może być stosowana tylko w procedurach zdarzeń lub w makrach określonych przez właściwości zdarzeń dla sekcji raportu lub dla właściwości zdarzenia OnPage (PrzyStronie) dla raportu.

Dla metody Circle używane są następujące argumenty

Argument	Opis
obiekt	Obiekt Report, w którym rysowany jest okrąg.
Step	Słowo kluczowe, które wskazuje, że środek okręgu, elipsy lub łuku jest określony względem bieżących współrzędnych podanych w bieżących ustawieniach właściwości CurrentX i CurrentY argumentu obiekt.
x, y	Wartości typu Single określające współrzędne środka okręgu, elipsy lub łuku. Właściwości skali (ScaleMode, ScaleLeft, ScaleTop, ScaleHeight i ScaleWidth) obiektu Report określonego przez argument obiekt określają używaną jednostkę miary.
promień	Wartość typu Single określająca długość promienia okręgu, łuku lub elipsy. Właściwości skali (ScaleMode, ScaleLeft, ScaleTop, ScaleHeight i ScaleWidth) obiektu Report określonego przez argument obiekt określają używaną jednostkę miary. Domyślną jednostką odległości jest twip.
kolor	Wartość typu Long określająca wartości RGB (czerwony-zielony-niebieski) koloru konturu koła. Jeśli argument ten jest pusty, używana jest wartość właściwości ForeColor. Do określenia koloru można również użyć funkcji RGB lub QBColor.
start, koniec	Wartość typu Single. Gdy rysowana jest cześć koła lub elipsy, argumenty start i koniec określają (w radianach) punkt początkowy i końcowy łuku. Domyślna wartość argumentu start wynosi 0 radianów; domyślna wartość argumentu koniec wynosi 2 pi radianów. Zakresem obydwu argumentów jest zakres od –2 pi do 2 pi radianów.
wydłużenie	Wartość typu Single określająca współczynnik wydłużenia koła. Domyślna wartość wynosi 1.0; wartości tej na dowolnym ekranie odpowiada koło.
Uwagi

Gdy rysowana jest część koła lub elipsy i argument start jest ujemny, metoda Circle rysuje promień w kierunku położenia określonego przez argument start i traktuje kąt jak dodatni. Jeśli argument koniec jest ujemny, metoda Circle rysuje promień w kierunku określonym przez argument koniec i również traktuje kąt jak dodatni. Metoda Circle zawsze rysuje w kierunku przeciwnym do ruchu wskazówek zegara (w kierunku dodatnim).

Aby wypełnić koło, należy ustawić właściwości FillColor i FillStyle raportu. Wypełniona może być tylko figura zamknięta. Do figur zamkniętych należy koło, elipsa i wycinek koła, który stanowi łuk z dwoma promieniami narysowanymi na końcach.

Jeśli podczas rysowania trzeba narysować promień pod kątem 0 radianów, aby utworzyć linię poziomą, należy zamiast wartości 0 podać dla argumentu start bardzo małą liczbę. Może to być na przykład wartość –0.00000001.

Argument znajdujący się wewnątrz składni może być pusty, ale przed następnym argumentem należy w miejsce opuszczonego argumentu wstawić przecinek. Jeśli końcowy argument jest pusty, nie należy po ostatnim podanym argumencie umieszczać przecinka.

Szerokość linii używanej do rysowania koła, elipsy lub łuku zależy od ustawienia właściwości DrawWidth. Tło koła zależy od ustawień właściwości DrawMode i DrawStyle.

Przy stosowaniu metody Circle właściwości CurrentX i CurrentY ustawiane są na punkt środkowy, określony argumentami x i y.


Circle, metoda - przykład
Circle, metoda – przykład

W poniższym przykładzie metoda Circle została zastosowana do narysowania koła, a nstępnie utworzenia wewnątrz koła wycinka w kolorze czerwonym.

Aby przetestować ten przykład w programie Microsoft Access, należy utworzyć nowy raport. Właściwość OnPrint (PrzyWydruku) sekcji szczegółów należy ustawić na wartość [Procedura zdarzenia]. W module raportu należy wpisać poniższy kod, a następnie przełączyć raport na podgląd wydruku.

Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)

Const conPI = 3.14159265359

Dim sngHCtr As Single, sngVCtr As Single

Dim sngRadius As Single

Dim sngStart As Single, sngEnd As Single

sngHCtr = Me.ScaleWidth / 2	 ' Horizontal center.

sngVCtr = Me.ScaleHeight / 2	 ' Vertical center.

sngRadius = Me.ScaleHeight / 3	 ' Circle radius.

' Draw circle.

Me.Circle(sngHCtr, sngVCtr), sngRadius

sngStart = -0.00000001	 ' Start of pie slice.

sngEnd = -2 * conPI / 3	 ' End of pie slice.

Me.FillColor = RGB(255,0,0)	 ' Color pie slice red.

Me.FillStyle = 0	 ' Fill pie slice.

' Draw pie slice within circle.

Me.Circle(sngHCtr, sngVCtr), sngRadius, , sngStart, sngEnd

End Sub


Line, metoda

Metoda Line służy do rysowania linii i prostokątów w obiektach Report, gdy zachodzi zdarzenie Print.

Składnia

obiekt.Line [[Step](x1, y1)] – [Step](x2, y2)[, [kolor][, B[F]]]

Tej metody można używać tylko w procedurach zdarzeń lub w makrach określonych we właściwościach zdarzeń OnPrint (PrzyWydruku) lub OnFormat (PrzyFormatowaniu) dla sekcji raportu lub we właściwości zdarzenia OnPage (PrzyStronie) dla raportu.

Dla metody Line używane są następujące argumenty.

Argument	Opis
obiekt	Obiekt Report, w którym ma zostać narysowana linia lub prostokąt.
Step	Słowo kluczowe wskazujące, że współrzędne punktu początkowego określone są względem bieżącej pozycji rysunku podanej we właściwościach CurrentX i CurrentY argumentu obiekt.
x1, y1	Wartość typu Single wskazująca współrzędne punktu początkowego linii lub prostokąta. Właściwości skali (ScaleMode, ScaleLeft, ScaleTop, ScaleHeight i ScaleWidth) obiektu Report określonego przez argument obiekt wyznaczają używaną jednostkę miary. Jeśli argument ten jest pusty, linia zaczyna się w punkcie określonym przez ustawienia właściwości CurrentX i CurrentY.
Step	Słowo kluczowe wskazujące, że współrzędne punktu końcowego określone są względem punktu początkowego.
x2, y2	Wartości typu Single wskazujące współrzędne punktu końcowego rysowanej linii. Argumenty te są wymagane.
kolor	Wartość typu Long oznaczająca kolor RGB (czerwony-zielony-niebieski) używany do rysowania linii. Jeśli argument ten jest pusty, używana jest wartość właściwości ForeColor. Do określenia koloru można także użyć funkcji RGB lub funkcji QBColor.
B	Opcja, która tworzy prostokąt, wykorzystując podane współrzędne do wyznaczenia przeciwległych narożników prostokąta.
F	Opcja F nie może być użyta bez użycia opcji B. Jeśli używana jest opcja B, opcja F określa, że prostokąt ma być wypełniony tym samym kolorem, który był użyty do narysowania prostokąta. Jeśli opcja B jest użyta bez opcji F, prostokąt zostanie wypełniony kolorem określonym bieżącymi ustawieniami właściwości FillColor i BackStyle (StylTła). Domyślną wartością właściwości BackStyle dla prostokątów i linii jest "Zwykły".
Uwagi

W celu połączenia rysowanych linii należy zapewnić, aby następna linia zaczynała się w punkcie, w którym kończy się poprzednia.

Szerokość rysowanej linii zależy od ustawienia właściwości DrawWidth. Tło, na którym rysowana jest linia lub prostokąt, zależy od ustawień właściwości DrawMode i DrawStyle.

Po zastosowaniu metody Line właściwości CurrentX i CurrentY ustawiane są na punkt końcowy określony argumentami x2 i y2.


Line, metoda - przykład
Line, metoda – przykład

W poniższym przykładzie metoda Line została użyta do narysowania czerwonego prostokąta w raporcie o nazwie "EmployeeReport", w odległości pięciu pikseli od krawędzi raportu. Do ustawienia czerwonego koloru linii została użyta funkcja RGB.

Aby uruchomić podany przykład w programie Microsoft Access, należy utworzyć nowy raport, wstawić poniższy kod do sekcji deklaracji w module raportu, a następnie przełączyć raport na podgląd wydruku.

Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)

' Call the Drawline procedure

DrawLine

End Sub

Sub DrawLine()

Dim rpt As Report, lngColor As Long

Dim sngTop As Single, sngLeft As Single

Dim sngWidth As Single, sngHeight As Single

Set rpt = Reports!EmployeeReport

' Set scale to pixels.

rpt.ScaleMode = 3

' Top inside edge.

sngTop = rpt.ScaleTop + 5

' Left inside edge.

sngLeft = rpt.ScaleLeft + 5

' Width inside edge.

sngWidth = rpt.ScaleWidth - 10

' Height inside edge.

sngHeight = rpt.ScaleHeight - 10

' Make color red.

lngColor = RGB(255,0,0)

' Draw line as a box.

rpt.Line(sngTop, sngLeft) - (sngWidth, sngHeight), lngColor, B

End Sub


PSet, metoda

Metoda PSet nadaje punktowi w obiekcie Report wybrany kolor, gdy zajdzie zdarzenie Print.

Składnia

obiekt.PSet [Step](x, y)[, kolor]

Metody tej można używać tylko w procedurach zdarzeń lub w makrach określonych we właściwościach zdarzeń OnPrint (PrzyWydruku) lub OnFormat (PrzyFormatowaniu) dla sekcji raportu lub właściwości zdarzenia OnPage (PrzyStronie) dla raportu.

Dla metody PSet używane są następujące argumenty.

Argument	Opis
obiekt	Obiekt Report, w którym rysowany jest punkt.
Step	Słowo kluczowe wskazujące, że współrzędne punktu początkowego określone są względem bieżącej pozycji rysunku podanej we właściwościach CurrentX i CurrentY argumentu obiekt.
x, y	Wartości typu Single określające poziome i pionowe współrzędne punktu.
kolor	Wartość typu Long określająca kolor RGB (czerwony-zielony-niebieski), który ma być nadany punktowi. Jeśli argument ten jest pusty, używana jest wartość właściwości ForeColor. Do określenia koloru można także użyć funkcji RGB lub funkcji QBColor.
Uwagi

Rozmiar punktu zależy od ustawienia właściwości DrawWidth. Jeśli właściwość DrawWidth ustawiona jest na wartość 1, metoda PSet nadaje wybrany kolor tylko jednemu pikselowi. Jeśli wartość właściwości DrawWidth jest większa niż 1, środek punktu określony jest podanymi współrzędnymi.

Sposób rysowania punktu zależy od ustawień właściwości DrawMode i DrawStyle.

Po użyciu metody PSet właściwości CurrentX i CurrentY ustawiane są na punkt określony przez argumenty x i y.

Aby za pomocą metody PSet wyczyścić pojedynczy piksel, należy podać współrzędne piksela i użyć jako argumentu kolor wartości “&HFFFFFF” (oznaczającej biały kolor).

Wskazówka   Do rysowania linii skuteczniejsza jest metoda Line niż metoda PSet.


PSet, metoda - przykład

W poniższym przykładzie metoda PSet został użyta do rysowania linii wzdłuż poziomej osi raportu.

Aby przetestować ten przykład w programie Microsoft Access, należy utworzyć nowy raport i ustawić właściwość OnPrint (PrzyWydruku) sekcji szczegółów na wartość [Procedura zdarzenia]. W module raportu należy wpisać poniższy kod a następnie przełączyć raport na podgląd wydruku.

Sub Detail_Print(Cancel As Integer, PrintCount As Integer)

Dim sngMidPt As Single, intI As Integer

' Set scale to pixels.

Me.ScaleMode = 3

' Calculate midpoint.

sngMidPt = Me.ScaleHeight / 2

' Loop to draw line down horizontal axis pixel by pixel.

For intI = 1 To Me.ScaleWidth

Me.PSet(intI, sngMidPt)

Next intI

End Sub


Scale, metoda

Metoda Scale definiuje układ współrzędnych w obiekcie typu Report.

Składnia

obiekt.Scale[(x1, y1) – (x2, y2)]

Metody tej można używać tylko w procedurach zdarzeń lub makrach określonych we właściwościach zdarzeń OnPrint (PrzyWydruku) lub OnFormat (PrzyFormatowaniu) dla sekcji raportu lub właściwości zdarzenia OnPage (PrzyStronie) dla raportu.

Dla metody Scale używane są następujące argumenty.

Argument	Opis
obiekt	Obiekt Report, dla którego jest stosowany układ współrzędnych.
x1, y1	Wartości typu Single współrzędnych, poziomej i pionowej, określające położenie lewego górnego narożnika obiektu.
x2, y2	Wartości typu Single współrzędnych, poziomej i pionowej, określające położenie prawego dolnego narożnika obiektu.
Uwagi

Metoda Scale używana jest do określania skali układu współrzędnych w sposób wybrany przez użytkownika. Użycie metody Scale bez podania argumentów powoduje wybranie dla układu współrzędnych jednostki twip. Metoda Scale wpływa na układ współrzędnych dla metody Print i metod graficznych w raporcie, do których należą metody Circle, Line i PSet.


Scale, metoda - przykład
Scale, metoda – przykład

W poniższym przykładzie rysowane jest koło przy użyciu jednego układu współrzędnych, następnie za pomocą metody Scale następuje zmiana skali i nowe koło rysowane jest przy wykorzystaniu nowej skali.

Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)

DrawCircle

End Sub

Sub DrawCircle()

Dim sngHCtr As Single, sngVCtr As Single

Dim sngNewH As Single, sngNewV As Single

Dim sngRadius As Single

Me.ScaleMode = 3	 ' Set scale to pixels.

sngHCtr = Me.ScaleWidth / 2	 ' Horizontal center.

sngVCtr = Me.ScaleHeight / 2	 ' Vertical center.

sngRadius = Me.ScaleHeight / 3	 ' Circle radius.

' Draw circle.

Me.Circle (sngHCtr, sngVCtr), sngRadius

' New horizontal scale.

sngNewH = Me.ScaleWidth * 0.9

' New vertical scale.

sngNewV = Me.ScaleHeight * 0.9

' Change to new scale.

Me.Scale(0, 0)-(sngNewH, sngNewV)

' Draw circle.

Me.Circle (sngHCtr + 100, sngVCtr), sngRadius, RGB(0, 256, 0)

End Sub


TextHeight, metoda

Metoda TextHeight zwraca wysokość ciągu znaków, jaką miałby ten ciąg, gdyby został wydrukowany bieżącą czcionką obiektu Report.

Składnia

obiekt.TextHeight(tekst)

Dla metody TextHeight używane są następujące argumenty.

Argument	Opis
obiekt	Obiekt Report, który określa czcionkę i jej rozmiar w punktach.
tekst	Ciąg znaków, dla którego zostanie określona wysokość.
Uwagi

Metoda TextHeight może być stosowana w celu ustalenia ilości miejsca w pionie wymaganej do wydrukowania ciągu znaków bieżącym krojem czcionki, w momencie gdy raport jest formatowany i drukowany. Na przykład, tekst sformatowany czcionką Arial o rozmiarze 9 punktów będzie wymagać innej ilości miejsca w pionie niż tekst sformatowany czcionką Courier o rozmiarze 12 punktów. Aby ustalić jaki jest bieżący krój czcionki i jaki jest jej rozmiar w raporcie, należy sprawdzić ustawienia właściwości FontName i FontSize w raporcie.

Wartość zwracana przez metodę TextHeight wyrażona jest w jednostkach określonych przez układ współrzędnych obowiązujący w raporcie i zdefiniowany za pomocą metody Scale. Aby ustalić, jaki jest obowiązujący w raporcie układ współrzędnych należy użyć właściwości ScaleMode.

Jeśli argument tekst zawiera znaki powrotu karetki, metoda TextHeight zwraca sumaryczną wysokość wierszy, łącznie z odstępami przed i po wszystkich wierszach. Wartość zwracana przez metodę TextHeight może być użyta do obliczenia niezbędnej ilości miejsca i wyznaczenia położenia w raporcie dla tekstu składającego się z wielu wierszy


TextHeight i TextWidth metody - przykład
TextHeight i TextWidth metody – przykład

W poniższym przykładzie metody TextHeight i TextWidth zostały użyte do ustalenia ilości miejsca w pionie i w poziomie, potrzebnego do wydrukowania ciągu znaków bieżącym krojem czcionki w raporcie.

Aby przetestować ten przykład w programie Microsoft Access, należy utworzyć nowy raport. Następnie należy ustawić właściwość OnPrint (PrzyWydruku) sekcji szczegółów na wartość [Procedura zdarzenia], wpisać w module raportu poniższy kod, po czym należy przełączyć raport na podgląd wydruku.

Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)

' Set unit of measure to twips (default scale).

Me.Scalemode = 1

' Print name and font size of report font.

Debug.Print "Report Font: "; Me.FontName

Debug.Print "Report Font Size: "; Me.FontSize

' Print height and width required for text string.

Debug.Print "Text Height (Twips): "; Me.TextHeight("Product Report")

Debug.Print "Text Width (Twips): "; Me.TextWidth("Product Report")

End Sub


TextWidth, metoda

Metoda TextWidth zwraca szerokość ciągu znaków, jaką miałby podany ciąg, gdyby został wydrukowany bieżącą czcionką obiektu typu Report.

Składnia

obiekt.TextWidth(tekst)

Dla metody TextWidth używane są następujące argumenty.

Argument	Opis
obiekt	Obiekt Report, który określa krój czcionki i jej rozmiar w punktach.
tekst	Ciąg znaków, dla którego ustalana będzie szerokość.
Uwagi

Metoda TextWidth służy do wyznaczenia ilości miejsca w poziomie, potrzebnego do wydrukowania tekstu bieżącą czcionką, w momencie gdy raport jest formatowany i drukowany. Na przykład, ciąg znaków sformatowany czcionką Arial o rozmiarze 9 punktów będzie wymagał innej ilości miejsca niż tekst sformatowany czcionką Courier o rozmiarze 12 punktów. Aby ustalić, jaki jest bieżący krój czcionki w raporcie i jaki jest jej rozmiar, należy sprawdzić ustawienia właściwości FontName i FontSize raportu.

Wartość zwracana przez metodę TextWidth wyrażona jest w jednostkach układu współrzędnych obowiązującego w raporcie, zdefiniowanego za pomocą metody Scale. W celu ustalenia układu współrzędnych obowiązującego w raporcie, należy sprawdzić właściwość ScaleMode.

Jeśli argument tekst zawiera znaki powrotu karetki, metoda TextWidth zwraca długość najdłuższego wiersza, od początku wiersza do znaku powrotu karetki. Wartość zwracana przez metodę TextWidth może być użyta do obliczenia położenia i ilości miejsca w raporcie, niezbędnego do umieszczenia podanego tekstu.


Recalc, metoda

Metoda Recalc natychmiast aktualizuje wszystkie formanty obliczeniowe znajdujące się na formularzu.

Składnia

formularz.Recalc

Dla metody Recalc używany jest następujący argument.

Argument	Opis
formularz	Obiekt Form. Reprezentuje on formularz zawierający formanty, których wartości powinny zostać ponownie obliczone.
Uwagi

Użycie tej metody jest równoważne naciśnięciu klawisza F9, gdy formularz ma fokus. Metody tej można użyć do obliczenia wartości formantów zależnych od pól, których wartości mogły ulec zmianie.


Recalc, metoda - przykład
Recalc, metoda – przykład

W poniższym przykładzie metoda Recalc została użyta do aktualizacji formantów znajdujących się na formularzu "Orders". Na tym formularzu znajduje się pole tekstowe "Freight", w którym wyświetlany jest koszt frachtu, i formant obliczeniowy, w którym wyświetlany jest całkowity koszt zamówienia, łącznie z kosztami frachtu. Jeśli instrukcja zawierająca metodę Recalc zostanie umieszczona w procedurze zdarzenia AfterUpdate dla pola tekstowego "Freight", całkowity koszt zamówienia zostanie ponownie obliczony za każdym razem, gdy zostanie wpisana nowa wartość frachtu.

Sub Freight_AfterUpdate()

Me.Recalc

End Sub


Print, metoda

Metoda Print drukuje tekst w obiekcie Report używając do tego bieżących ustawień koloru i kroju czcionki.

Składnia

obiekt.Print [{Spc(n) | Tab(n)}][listawyrażeń][{;|,}]

Dla metody Print używane są następujące argumenty.

Argument	Opis
obiekt	Obiekt Report, w którym zostanie wydrukowany podany tekst.
Spc(n)	Funkcja języka Visual Basic używana do wstawienia n spacji do drukowanego tekstu. Dopuszczalne jest wielokrotne użycie.
Tab(n)	Funkcja języka Visual Basic używana do przesunięcia punktu wstawiania do n-tej strefy drukowania, przed wydrukowaniem argumentu listawyrażeń. Strefy drukowania zaczynają się co czternaście kolumn. Szerokość każdej kolumny jest wyznaczona przez średnią szerokość wszystkich znaków wybranego kroju czcionki. Dopuszczalne jest wielokrotne użycie.
listawyrażeń	Wyrażenia liczbowe lub tekstowe, przeznaczone do wydrukowania. Jeśli argument ten jest pusty, metoda Print drukuje puste wiersze. Jeśli występuje wiele wyrażeń, to mogą one być od siebie oddzielone spacjami, średnikami (;) lub przecinkami. Użycie spacji wywołuje taki sam efekt, jak użycie średnika. Do oddzielenia każdej pary wyrażeń można użyć funkcji Spc i Tab.
{;|,}	Wyznacza położenie punktu wstawiania dla następnego drukowanego znaku. Średnik oznacza, że punkt wstawiania zostanie umieszczony bezpośrednio po ostatnim wydrukowanym znaku. Przecinek oznacza, że punkt wstawiania zostanie umieszczony na początku następnej strefy drukowania.
Uwagi

Metody tej można używać tylko w procedurach zdarzeń lub makrach określonych w ustawieniu właściwości zdarzenia OnPrint (PrzyWydruku) raportu.

Wyrażenia określone przez argument listawyrażeń są drukowane w obiekcie, zaczynając od miejsca określonego przez ustawienia właściwości CurrentX i CurrentY.

Podczas drukowania argumentu listawyrażeń zwykle dodawany jest znak powrotu karetki, w związku z czym następna metoda Print rozpoczyna drukowanie od następnego (nowego) wiersza. Gdy pojawi się znak powrotu karetki, ustawienie właściwości CurrentY wzrasta o wysokość argumentu listawyrażeń (jest to taka sama wysokość, jak wysokość zwracana przez metodę TextHeight), a właściwość CurrentX ustawiana jest na wartość 0.

Jeśli po argumencie listawyrażeń umieszczony jest średnik, znak powrotu karetki nie jest dodawany i następna metoda Print kontynuuje drukowanie w tym samym wierszu, w którym zakończyła drukować bieżąca metoda Print. Właściwości CurrentX i CurrentY ustawiane są na punkt znajdujący się bezpośrednio po ostatnim wydrukowanym znaku. Jeśli w argumencie listawyrażeń znajdują się znaki powrotu karetki, każdy z takich znaków ustawia właściwości CurrentX i CurrentY w sposób opisany dla metody Print bez użycia średnika

Jeśli po argumencie listawyrażeń znajduje się kropka, właściwości CurrentX i CurrentY ustawiane są zgodnie z następną strefą drukowania w tym samym wierszu.

Jeśli argument listawyrażeń drukowany jest w obiekcie typu Report, wiersze, które nie pasują do określonego położenia nie są przesuwane. Tekst jest obcinany tak, by zmieścił się w obiekcie.

Ponieważ metoda Print drukuje zwykle za pomocą czcionki proporcjonalnej, należy pamiętać, że nie ma bezpośredniego związku między ilością drukowanych znaków i ilością kolumn o stałej szerokości, w których mieści się drukowany tekst. Na przykład, litery szerokie (takie jak W) zajmują więcej niż jedną kolumnę o stałej szerokości, podczas gdy czcionki wąskie (takie jak l) zajmują mniej miejsca. Zawsze trzeba się upewnić, czy strefy drukowania są rozstawione dostatecznie szeroko, by pomieścić tekst przeznaczony do wydruku. Aby mieć pewność, że każdy znak zajmuje tylko jedną kolumnę, można wydrukować tekst za pomocą czcionki o stałej szerokości. (na przykład czcionki Courier).


Print, metoda - przykład
Print, metoda – przykład

W poniższym przykładzie metoda Print jest używana do wyświetlenia tekstu w raporcie o nazwie "Report1". Metody TextWidth i TextHeight są używane do wyśrodkowania tekstu w pionie i w poziomie.

Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)

Dim rpt as Report

Dim strMessage As String

Dim intHorSize As Integer, intVerSize As Integer

Set rpt = Me

strMessage = "DisplayMessage"

With rpt

'Set scale to pixels, and set FontName and FontSize properties.

.ScaleMode = 3

.FontName = "Courier"

.FontSize = 24

End With

' Horizontal width.

intHorSize = Rpt.TextWidth(strMessage)

' Vertical height.

intVerSize = Rpt.TextHeight(strMessage)

' Calculate location of text to be displayed.

Rpt.CurrentX = (Rpt.ScaleWidth/2) - (intHorSize/2)

Rpt.CurrentY = (Rpt.ScaleHeight/2) - (intVerSize/2)

' Print text on Report object.

Rpt.Print strMessage

End Sub


BuildCriteria, metoda

Metoda BuildCriteria zwraca ciąg analizowanych kryteriów w postaci, w jakiej wystąpiłby on w siatce projektu kwerendy lub w trybie Filtruj według formularza. Na przykład, można ustawić właściwość Filter formularza korzystając z podanych przez użytkownika kryteriów. Metody BuildCriteria można użyć do zbudowania argumentu w postaci wyrażenia typu ciąg znaków dla właściwości Filter.

Składnia

aplikacja.BuildCriteria(pole, typpola, wyrażenie)

Dla metody BuildCriteria używane są następujące argumenty.

Argument	Opis
aplikacja	(Argument opcjonalny) Obiekt typu Application.
pole	Wyrażenie typu ciąg znaków określające pole, dla którego mają być zdefiniowane kryteria.
typpola	Stała wewnętrzna oznaczająca typ danych pola. Listę dozwolonych typów danych pola można znaleźć w opisie właściwości obiektów dostępu do danych (DAO) Type.
wyrażenie	Wyrażenie typu ciąg znaków określające kryteria, które mają być analizowane.
Metoda BuildCriteria zwraca ciąg znaków.

Uwagi

Metoda BuildCriteria umożliwia konstruowanie w łatwy sposób kryteriów dla filtra, opartych na danych wprowadzonych przez użytkownika. Analizuje ona argument wyrażenie w taki sam sposób, w jaki wyrażenie jest analizowane, gdy jest wprowadzane do siatki projektu kwerendy lub w trybie "Filtruj według formularza".

Na przykład, użytkownik tworzący kwerendę dla tabeli "Orders" może ograniczyć zestaw wyników do zamówień złożonych po 1 stycznia 1995, ustawiając kryteria dla pola "OrderDate". W tym celu użytkownik może wpisać w wierszu Kryteria, w kolumnie "OrderDate" następujące wyrażenie:

>1-1-95

Program Microsoft Access automatycznie analizuje to wyrażenie i zwraca następujące wyrażenie:

>#1/1/95#

Metoda BuildCriteria zapewnia taką samą analizę wyrażeń w kodzie języka Visual Basic. Na przykład, aby zwrócić poprawnie przeanalizowany przedstawiony powyżej ciąg, należy dla metody BuildCriteria dostarczyć następujące kryteria:

Dim strCriteria As String

strCriteria = BuildCriteria("OrderDate", dbDate, ">1-1-95")

Ponieważ kryteria dla właściwości Filter muszą być dostarczone w poprawnie przeanalizowanej formie, do zbudowania poprawnie przeanalizowanego ciągu można użyć metody BuildCriteria.

Metody BuildCriteria można użyć do utworzenia ciągu znaków zawierającego wiele kryteriów, jeśli te kryteria dotyczą tego samego pola. Na przykład, do utworzenia ciągu znaków, zawierającego wiele kryteriów odnoszących się do pola "OrderDate" można użyć metody BuildCriteria z następującymi argumentami:

strCriteria = BuildCriteria("OrderDate", dbDate, ">1-1-95 and <5-1-95")

Metoda z powyższego przykładu zwróci kryteria w postaci następującego ciągu znaków:

OrderDate>#1/1/95# And OrderDate<#5/1/95#

Jeśli jednak użytkownik chce utworzyć ciąg kryteriów, które dotyczą różnych pól, musi utworzyć ciągi i połączyć je samodzielnie. Na przykład, aby utworzyć kryterium dla filtra, tak by wyświetlane były tylko rekordy dotyczące zamówień złożonych po 1 stycznia 1995 roku i dla których koszt frachtu był mniejszy niż 50$, trzeba dwukrotnie użyć metody BuildCriteria i połączyć otrzymane w ten sposób ciągi znaków.


BuildCriteria, metoda - przykład
BuildCriteria, metoda – przykład

W poniższym przykładzie użytkownik musi podać kilka pierwszych liter nazwy towaru. Następnie za pomocą metody BuildCriteria, która korzysta z wprowadzonych przez użytkownika danych tworzony jest ciąg kryteriów, po czym uzyskany w ten sposób ciąg znaków przekazywany jest w procedurze jako argument dla właściwości Filter formularza "Products". Na zakończenie ustawiana jest właściwość FilterOn, aby zastosować filtr.

Sub SetFilter()

Dim frm As Form, strMsg As String

Dim strInput As String, strFilter As String

' Open Products form in Form view.

DoCmd.OpenForm "Products"

' Return Form object variable pointing to Products form.

Set frm = Forms!Products

strMsg = "Enter one or more letters of product name " _

& "followed by an asterisk."

' Prompt user for input.

strInput = InputBox(strMsg)

' Build criteria string.

strFilter = BuildCriteria("ProductName", dbText, strInput)

' Set Filter property to apply filter.

frm.Filter = strFilter

' Set FilterOn property; form now shows filtered records.

frm.FilterOn = True

End Sub


CloseCurrentDatabase, metoda

Metody CloseCurrentDatabase można używać do zamykania bieżącej bazy danych z innej aplikacji, która otworzyła bazę za pomocą mechanizmu automatyzacji. Na przykład, można użyć tej metody do zamknięcia z programu Microsoft Excel bazy danych otwartej w oknie programu Microsoft Access, przed otwarciem innej bazy danych.

Składnia

aplikacja.CloseCurrentDatabase

Dla metody CloseCurrentDatabase używany jest następujący argument.

Argument	Opis
aplikacja	Obiekt Application.
Uwagi

Metoda CloseCurrentDatabase jest użyteczna, gdy użytkownik ma otwartą bazę danych programu Microsoft Access z innej aplikacji za pomocą mechanizmu automatyzacji. Po utworzeniu instancji programu Microsoft Access z innej aplikacji, trzeba także utworzyć nową bazę danych lub określić inną istniejącą bazę, która ma być otwarta. Baza ta zostanie otwarta w oknie programu Microsoft Access.

Jeśli za pomocą metody CloseCurrentDatabase została zamknięta baza danych otwarta w bieżącej instancji programu Microsoft Access, to można otworzyć inną bazę danych bez konieczności tworzenia nowej instancji programu Microsoft Access.

Uwaga   Nie należy mylić metody CloseCurrentDatabase z metodą dostępu do danych Close. Metoda dostępu do danych Close zamyka zmienną obiektową Database i powoduje, że zmienna wykracza poza swój zakres, nie zamyka jednak bazy danych otwartej w oknie programu Microsoft Access. Metoda CloseCurrentDatabase zamyka bazę danych, która jest otwarta w oknie programu Microsoft Access.


CloseCurrentDatabase, metoda - przykład
CloseCurrentDatabase, metoda – przykład

W poniższym przykładzie z innej aplikacji otwierana jest baza danych w programie Microsoft Access, za pomocą mechanizmu automatyzacji, tworzony jest nowy formularz, następnie zapisywany, po czym baza danych jest zamykana.

Podany niżej kod można wprowadzić do modułu języka Visual Basic w dowolnej aplikacji, która może działać jako składnik ActiveX. Można na przykład uruchomić poniższy kod z programu Microsoft Excel lub Microsoft Visual Basic.

Gdy zmienna wskazująca obiekt Application wykracza poza swój zakres, instancja programu Microsoft Access, którą reprezentuje jest również zamykana. Ponadto, zmienną należy zadeklarować na poziomie modułu.

' Enter following in Declarations section of module.

Dim appAccess As Access.Application

Sub CreateForm()

Const strConPathToSamples = "C:\Program Files\Microsoft Office\Office\Samples\"

Dim frm As Form, strDB As String

' Initialize string to database path.

strDB = strConPathToSamples & "Northwind.mdb"

' Create new instance of Microsoft Access.

Set appAccess = CreateObject("Access.Application.8")

' Open database in Microsoft Access window.

appAccess.OpenCurrentDatabase strDB

' Create new form.

Set frm = appAccess.CreateForm

' Save new form.

appAccess.DoCmd.Save , "NewForm1"

' Close currently open database.

appAccess.CloseCurrentDatabase

Set AppAccess = Nothing

End Sub


DefaultControl, metoda

Metoda DefaultControl zwraca obiekt Control, za pomocą którego można ustawić domyślne właściwości dla wybranego typu formantu na wybranym formularzu. Na przykład, przed utworzeniem pola tekstowego na formularzu, można ustawić domyślne właściwości pola tekstowego. Korzystając z tego można utworzyć kilka pól tekstowych o takich samych podstawowych ustawieniach, zamiast po utworzeniu oddzielnie ustawiać właściwości dla każdego pola tekstowego.

Składnia

Set formant = obiekt.DefaultControl(typformantu)

Dla metody DefaultControl używane są następujące argumenty.

Argument	Opis
formant	Obiekt Control, dla którego mają być ustawione właściwości domyślne.
obiekt	Obiekt Form lub Report, na którym będą tworzone formanty. Domyślne ustawienia właściwości określone dla pewnego typu formantu stosują się tylko do formantów tego samego typu utworzonych na tym formularzu lub raporcie.
typformantu	Stała wewnętrzna wskazująca typ formantu, dla którego będą ustawiane domyślne właściwości
Uwagi

Metoda DefaultControl umożliwia ustawianie za pomocą kodu domyślnych właściwości formantu. Po ustawieniu właściwości domyślnych dla wybranego typu formantu, każdy następny formant tego typu, który zostanie utworzony będzie miał takie same ustawienia właściwości.

Na przykład, jeśli zostanie ustawiona właściwość FontSize (RozmiarCzcionki) domyślnego przycisku polecenia na wartość 12, każdy nowy przycisk polecenia będzie miał czcionkę o rozmiarze 12 punktów.

Nie wszystkie właściwości formantów są dostępne jako właściwości domyślne. Właściwości, które mogą być ustawiane jako domyślne zależą od typu formantu.

Metoda DefaultControl zwraca obiekt Control, którego typ określony jest przez argument typformantu. Taki obiekt Control nie reprezentuje żadnego z istniejących na formularzu formantów, lecz domyślny formant będący szablonem dla wszystkich formantów tego typu, które zostaną utworzone. Domyślne właściwości formantu obiektu Control zwróconego przez metodę DefaultControl ustawia się w taki sam sposób, jak właściwości pojedynczego formantu znajdującego się na formularzu.

Listę stałych wewnętrznych, które mogą być przekazywane jako argument typformantu, można znaleźć w opisie funkcji CreateControl. Stałe te są także wymienione w module "Constants" biblioteki programu Microsoft Access w Przeglądarce obiektów.

Metody DefaultControl można używać tylko w widoku "Projekt" formularza lub w widoku "Projekt" raportu. Przy próbie zastosowania tych metod do formularza lub raportu w widoku innym niż widok "Projekt", wystąpi błąd wykonania.

Próba ustawienia za pomocą metody DefaultControl właściwości, która nie może być ustawiana jako właściwość domyślna spowoduje wystąpienie błędu wykonania. Aby sprawdzić, które właściwości mogą być właściwościami domyślnymi należy przejrzeć elementy kolekcji Properties obiektu Control zwracanego przez metodę DefaultControl.


DefaultControl, metoda - przykład

W poniższym przykładzie tworzony jest nowy formularz, a następnie w celu otrzymania obiektu Control reprezentującego domyślny przycisk polecenia stosowana jest metoda DefaultControl. Procedura ustawia wybrane domyślne właściwości przycisku polecenia, a następnie tworzy na formularzu nowy przycisk.

Sub SetDefaultProperties()

Dim frm As Form, ctlDefault As Control, ctlNew As Control

' Create new form.

Set frm = CreateForm

' Return Control object representing default command button.

Set ctlDefault = frm.DefaultControl(acCommandButton)

' Set some default properties.

With ctlDefault

.FontWeight = 700

.FontSize = 12

.Width = 3000

.Height = 1000

End With

' Create new command button.

Set ctlNew = CreateControl(frm.Name, acCommandButton, , , , 500, 500)

' Set control's caption.

ctlNew.caption = "New Command Button"

' Restore form.

DoCmd.Restore

End Sub


SizeToFit, metoda

Metoda SizeToFit może być użyta do zmiany rozmiaru formantu w celu dopasowania go do zawartego w nim tekstu lub obrazu. Można na przykład zastosować metodę SizeToFit do przycisku polecenia, który jest za mały, aby wyświetlić cały tekst podany we właściwości Caption (Tytuł) tego przycisku.

Składnia

formant.SizeToFit

Dla metody SizeToFit używany jest następujący argument.

Argument	Opis
formant	Formant na którym wyświetlany jest tekst lub obraz. Może to być etykieta, przycisk przełącznika, przycisk polecenia, obraz, niezwiązana ramka obiektu lub podformularz/podraport.
Uwagi

Użycie metody SizeToFit jest równoważne wybraniu formantu na formularzu lub w raporcie, wybraniu polecenia Rozmiar w menu Format i kliknięciu podpolecenia Dopasuj. Metoda SizeToFit może być stosowana tylko w widoku "Projekt" formularza lub w widoku "Projekt" raportu.

Metoda SizeToFit może powiększyć lub zmniejszyć formant w zależności od wielkości znajdującego się w nim tekstu lub obrazu.

Metoda SizeToFit może być używana w połączeniu z funkcją CreateControl w celu zmiany rozmiaru nowych formantów, utworzonych za pomocą kodu.

Uwaga   Nie wszystkie formanty, na których znajduje się tekst lub obraz mogą być wymiarowane za pomocą metody SizeToFit. Niektóre formanty związane są z danymi, których wielkość może zmieniać się w zależności od rekordu. Do takich formantów należą: pola tekstowe, pola list, pola kombi i związane ramki obiektów.


SizeToFit, metoda - przykład
SizeToFit, metoda – przykład

W poniższym przykładzie tworzony jest nowy formularz i nowy przycisk na formularzu. Następnie procedura ustawia właściwość Caption (Tytuł) formantu i dopasowuje rozmiar formantu, tak aby zmieścił się na nim tytuł.

Sub SizeNewControl()

Dim frm As Form, ctl As Control

' Create new form.

Set frm = CreateForm

' Create new command button.

Set ctl = CreateControl(frm.Name, acCommandButton, , , , 500, 500)

' Restore form.

DoCmd.Restore

' Set control's Caption property.

ctl.Caption = "Extremely Long Control Caption"

' Size control to fit caption.

ctl.SizeToFit

End Sub


DefaultWorkspaceClone, metoda

Metoda DefaultWorkspaceClone używana jest do tworzenia nowego obiektu Workspace bez konieczności ponownego logowania się przez użytkownika. Jeśli na przykład użytkownik musi przeprowadzić jednocześnie dwa zestawy transakcji w oddzielnych obszarach roboczych, może użyć metody DefaultWorkspaceClone do utworzenia drugiego obiektu Workspace o takiej samej nazwie użytkownika i haśle, bez konieczności ponownego podawania tych danych.

Składnia

aplikacja.DefaultWorkspaceClone

Dla metody DefaultWorkspaceClone używany jest następujący argument.

Argument	Opis
aplikacja	Obiekt Application.
Uwagi

Metoda DefaultWorkspaceClone tworzy w programie Microsoft Access klon domyślnego obiektu Workspace. Właściwości obiektu Workspace są identyczne z właściwościami domyślnego obiektu Workspace, z wyjątkiem ustawienia właściwości Name (Nazwa). Dla domyślnego obiektu Workspace wartością właściwości Name jest zawsze "#Default Workspace#". Dla klonowanego obiektu Workspace wartością tą jest “#CloneAccess#”.

Właściwość UserName domyślnego obiektu Workspace wskazuje nazwę pod którą zalogował się bieżący użytkownik. Klon obiektu Workspace jest równoważny obiektowi Workspace, który zostałby utworzony, gdyby ten sam użytkownik zalogował się jeszcze raz z tym samym hasłem.


DefaultWorkspaceClone, metoda - przykład
DefaultWorkspaceClone, metoda – przykład

W poniższym przykładzie tworzony jest klon obiektu Workspace, a następnie wyświetlana jest lista właściwości każdego obiektu Workspace.

Sub CloneWorkspace()

Dim wrkDefault As Workspace, wrkClone As Workspace

Dim prp As Property

On Error Resume Next

' Get default workspace.

Set wrkDefault = DBEngine.Workspaces(0)

' Clone default workspace.

Set wrkClone = Application.DefaultWorkspaceClone

' Enumerate properties of each workspace.

For Each prp In wrkDefault.Properties

Debug.Print ">>>"; prp.Name; "   "; prp.Value

Next prp

For Each prp In wrkClone.Properties

Debug.Print ">>>"; prp.Name; "   "; prp.Value

Next prp

End Sub


Nz, funkcja

Funkcji Nz można użyć by zwrócić wartość zero, ciąg znaków zerowej długości (""), lub inną określoną wartość, gdy zmienna typu Variant ma wartość Null. Można na przykład użyć tej funkcji do zamiany wartości Null na inną wartość, dzięki czemu wartość ta nie będzie propagowała poprzez wyrażenie.

Składnia

Nz(wariant[, wartośćjeśliNull])

Dla funkcji Nz używane są następujące argumenty.

Argument	Opis
wariant	Zmienna typu Variant.
wartośćjeśliNull	Argument opcjonalny (jeśli nie jest użyty w kwerendzie). Zmienna typu Variant dostarczająca wartość, która ma być zwrócona, jeśli argument wariant jest równy Null. Argument ten umożliwia zwrócenie wartości innej niż zero lub ciąg zerowej długości. Jeśli funkcja Nz zostanie użyta w wyrażeniu kwerendy bez podania argumentu wartośćjeśliNull, wynik będzie pusty dla tych pól, w których znajdują się wartości Null.
Jeśli wartością argumentu wariant jest Null, funkcja Nz zwraca liczbę zero lub ciąg zerowej długości, w zależności od tego, czy z kontekstu wynika, że wartość powinna być liczbą czy ciągiem o zerowej długości. Jeśli podany jest argument opcjonalny wartośćjeśliNull, wtedy funkcja Nz zwraca wartość określoną przez ten argument jeśli wartością argumentu wariant jest Null.

Jeśli wartością argumentu wariant nie jest Null, funkcja Nz zwraca wartość argumentu wariant.

Uwagi

Funkcja Nz jest użyteczna w przypadku wyrażeń, które mogą zawierać wartości Null. Aby wyrażenie dawało wartość inną niż Null nawet wtedy, gdy w wyrażeniu występuje wartość Null, należy użyć funkcji Nz, która zwróci wartość zero, ciąg zerowej długości lub inną, ustaloną przez użytkownika wartość.

Na przykład wyrażenie 2 + varX zawsze zwróci wartość Null, jeśli zmienna varX typu Variant będzie miała wartość Null. Jednak wyrażenie 2 + Nz(varX) zwróci wartość 2.

Bardzo często można korzystać z funkcji Nz zamiast z funkcji Iif. Na przykład w poniższym kodzie dwa wyrażenia zawierające funkcję IIf są niezbędne, aby zwrócić żądany wynik. Pierwsze z tych wyrażeń, zawierające funkcję Iif, używane jest do sprawdzenia wartości zmiennej i zamiany jej na wartość zero, jeśli jej wartość wynosi Null.

varTemp = IIf(IsNull(varFreight), 0, varFreight)

varResult = IIf(varTemp > 50, "High", "Low")

W następnym przykładzie funkcja Nz spełnia tę samą rolę co pierwsze wyrażenie z poprzedniego przykładu, a żądany wynik uzyskany został w jednej instrukcji zamiast w dwóch.

varResult = IIf(Nz(varFreight) > 50, "High", "Low")

Jeśli zostanie dostarczona wartość argumentu opcjonalnego wartośćjeśliNull, wartość ta zostanie zwrócona, jeśli wartością argumentu wariant jest Null. Umieszczając ten argument opcjonalny można uniknąć konieczności stosowania wyrażeń zawierających funkcję Iif. Na przykład, w poniższym wyrażeniu funkcja IIf wykorzystana jest do zwrócenia ciągu znaków, jeśli wartością zmiennej varFreight jest Null.

varResult = IIf(IsNull(varFreight), "No Freight Charge", varFreight)

W następnym przykładzie opcjonalny argument umieszczony w funkcji Nz powoduje, że funkcja zwróci wartość typu ciąg znaków, jeśli wartością zmiennej varFreight jest Null.

varResult = Nz(varFreight, "No Freight Charge")


Nz, funkcja - przykład
Nz, funkcja – przykład

W poniższym przykładzie obliczana jest wartość formantu na formularzu i w oparciu o tę wartość zwracany jest jeden z dwóch ciągów znaków. Jeśli wartością formantu jest Null, przedstawiona tu procedura używa funkcji Nz, aby zmienić wartość Null na ciąg znaków zerowej długości.

Sub CheckValue()

Dim frm As Form, ctl As Control

Dim varResult As Variant

' Return Form object variable pointing to Orders form.

Set frm = Forms!Orders

' Return Control object variable pointing to ShipRegion.

Set ctl = frm!ShipRegion

' Choose result based on value of control.

varResult = IIf(Nz(ctl.Value) = "", "No value", "Value is " & ctl.Value)

' Display result.

MsgBox varResult

End Sub


RefreshTitleBar, metoda

Metoda RefreshTitleBar odświeża pasek tytułu programu Microsoft Access po ustawieniu w kodzie języka Visual Basic właściwości AppTitle lub AppIcon. Można na przykład zmienić tytuł na pasku tytułu programu Microsoft Access na "Contacts Database" ustawiając właściwość AppTitle.

Składnia

aplikacja.RefreshTitleBar

Dla metody RefreshTitleBar używany jest następujący argument.

Argument	Opis
aplikacja	Obiekt Application.
Uwagi

Właściwości AppTitle i AppIcon pozwalają na indywidualne dostosowanie aplikacji przez użytkownika poprzez zmianę tytułu i ikony, które pojawiają się na pasku tytułu programu Microsoft Access. Po ustawieniu tych właściwości pasek tytułu nie jest automatycznie aktualizowany. Aby zmiana tytułu na pasku stała się widoczna, trzeba użyć metody RefreshTitleBar.

Można przywrócić właściwościom AppTitle i AppIcon ich domyślne wartości, usuwając je z kolekcji Properties obiektu Database, który reprezentuje bieżącą bazę danych. Po usunięciu tych właściwości trzeba użyć metody RefreshTitleBar, aby przywrócić domyślny pasek tytułu programu Microsoft Access.


RefreshTitleBar, metoda - przykład
RefreshTitleBar, metoda – przykład

W poniższym przykładzie ustawiana jest właściwość AppTitle bieżącej bazy danych, a następnie do aktualizacji paska tytułu, stosowana jest metoda RefreshTitleBar.

Sub ChangeTitle()

Dim dbs As Database, prp As Property

Const conPropNotFoundError = 3270

On Error GoTo ErrorHandler

' Return Database object variable pointing to

' the current database.

Set dbs = CurrentDb

' Change title bar.

dbs.Properties!AppTitle = "Contacts Database"

' Update title bar on screen.

Application.RefreshTitleBar

Exit Sub

ErrorHandler:

If Err.Number = conPropNotFoundError Then

Set prp = dbs.CreateProperty("AppTitle", dbText, "Contacts Database")

dbs.Properties.Append prp

Else

MsgBox "Error: " & Err.Number & vbCrLf & Err.Description

End If

Resume Next

End Sub


AddToFavorites, metoda

Metoda AddToFavorites dodaje do folderu "Ulubione" adres hiperłącza.

Składnia

obiekt.hiperłącze.AddToFavorites

Dla metody AddToFavorites używane są następujące argumenty.

Argument	Opis
obiekt	Hiperłącza mogą znajdować się w obiektach Application lub Control, które zawierają formanty typu etykieta z hiperłączem, przyciski poleceń i obrazy.
hiperłącze	Hiperłącze obiektu Control.
Uwagi

Metoda AddToFavorites zastosowana do obiektu Application umieszcza nazwę bieżącej bazy danych w folderze "Ulubione". Na przykład, jeśli użytkownik zastosuje do obiektu Application metodę AddToFavorites, podczas pracy z przykładową bazą danych "Northwind", adres hiperłącza bazy danych "Northwind" zostanie umieszczony w folderze "Ulubione".

Metoda AddToFavorites zastosowana do obiektu Control umieści w folderze "Ulubione" adres hiperłącza znajdujący się w formancie. Domyślnie folder "Ulubione" instalowany jest w folderze systemu Windows.

Działanie metody AddToFavorites wywołuje ten sam efekt, co kliknięcie polecenia Dodaj do folderu Ulubione w menu Ulubione na pasku narzędzi Sieć WWW, gdy otwarty jest dokument, którego adres użytkownik chce dodać


AddToFavorites, metoda - przykład
AddToFavorites, metoda – przykład

W poniższym przykładzie ustawiana jest właściwość HyperlinkAddress (AdresHiprłącza) przycisku polecenia. Gdy użytkownik kliknie przycisk polecenia, za pomocą  metody AddToFavorites adres zostanie umieszczony w folderze "Ulubione".

Aby przetestować ten przykład, należy utworzyć nowy formularz, a na nim nowy przycisk polecenia o nazwie "Command0". Następnie należy wstawić poniższy kod do modułu formularza, wyświetlić formularz w widoku "Formularz" i kliknąć przycisk polecenia.

Private Sub Form_Load()

Me!Command0.HyperlinkAddress = "http://www.microsoft.com/"

End Sub

Private Sub Command0_Click()

Me!Command0.Hyperlink.AddToFavorites

End Sub


AddFromFile, metoda (obiekt Module)

Metoda AddFromFile umieszcza zawartość pliku tekstowego w obiekcie Module. Obiekt Module może reprezentować moduł standardowy lub moduł klasy.

Składnia

obiekt.AddFromFile nazwapliku

Dla metody AddFromFile używane są następujące argumenty.

Argument	Opis
obiekt	Obiekt Module.
nazwapliku	Nazwa pliku tekstowego (*.txt) lub innego pliku, w którym przechowywany jest tekst w formacie ANSI, wraz z pełną ścieżką dostępu.
Uwagi

Metoda AddFromFile umieszcza zawartość określonego pliku tekstowego bezpośrednio po sekcji deklaracji i przed pierwszą procedurą, znajdującą się w module, jeśli zawiera on inne procedury.

Metoda AddFromFile pozwala użytkownikowi importować kod lub komentarze przechowywane w pliku tekstowym.

Aby dodać zawartość pliku do modułu formularza lub raportu, formularz musi być otwarty w widoku "Projekt" formularza lub raport w widoku "Projekt" raportu. Aby dodać zawartość pliku tekstowego do modułu standardowego lub do modułu klasy, moduł musi być otwarty.


AddFromFile i AddFromString, metody - przykład
AddFromFile i AddFromString, metody – przykład

W poniższym przykładzie metody AddFromString i AddFromFile używane są w celu dodania ciągu znaków i zawartości pliku do modułu standardowego:

Function AddTextToModule(strModuleName As String, strFileName As String, strText As String) As Boolean

Dim mdl As Module

On Error GoTo Error_AddTextToModule

DoCmd.OpenModule strModuleName

Set mdl = Modules(strModuleName)

mdl.AddFromFile strFileName

mdl.AddFromString strText

AddTextToModule = True

Exit_AddTextToModule:

Exit Function

Error_AddTextToModule:

MsgBox Err & ": " & Err.Description

AddTextToModule = False

Resume Exit_AddTextToModule

End Function

Podaną wyżej funkcję można wywołać z takiej procedury, jak poniższa. W tym celu należy utworzyć plik tekstowy o nazwie Functions.txt, dodać kilka procedur języka Visual Basic i zapisać w katalogu "My documents". Następnie należy wkleić zarówno poprzednią jak i następną procedurę do nowego modułu standardowego w przykładowej bazie danych "Northwind". Aby to wykonać, należy uruchomić następującą procedurę:

Sub AddFunctionsFromText()

Dim strModuleName As String, strFileName As String

Dim strText As String

strModuleName = "Utility Functions"

strFileName = "C:\My Documents\Functions.txt"

strText = "Public intX As Integer" & vbCrLf _

& "Const conPathName As String = " _

& """C:\Program Files\Microsoft Office\Office\Samples\"""

If AddTextToModule(strModuleName, strFileName, strText) = True Then

Debug.Print "String and file contents added successfully."

Else

Debug.Print "String and file contents not added successfully."

End If

End Sub

W następnym przykładzie tworzony jest nowy formularz, do którego modułu dodawany jest ciąg znaków i wklejana jest zawartość pliku Functions.txt. Trzeba uruchomić z modułu standardowego następującą procedurę:

Sub AddTextToFormModule()

Dim frm As Form, mdl As Module

Set frm = CreateForm

Set mdl = frm.Module

mdl.AddFromString "Public intY As Integer"

mdl.AddFromFile "C:\My Documents\Functions.txt"

End Sub


AddFromString, metoda

Metoda AddFromString dodaje ciąg znaków do obiektu Module. Obiekt Module może reprezentować moduł standardowy lub moduł klasy.

Składnia

obiekt.AddFromString ciągznaków

Dla metody AddFromString używane są następuje argumenty.

Argument	Opis
obiekt	Obiekt Module.
ciągznaków	Wyrażenie typu ciąg znaków.
Uwagi

Metoda AddFromString umieszcza w module po sekcji deklaracji i przed pierwszą procedurą, jeśli w module znajdują się inne procedury, zawartość ciągu znaków.

Aby dodać ciąg znaków do modułu formularza lub raportu, formularz musi być otwarty w widoku "Projekt" formularza, a raport w widoku "Projekt" raportu. Aby umieścić ciąg znaków w module standardowym lub w module klasy, moduł musi być otwarty.


CreateEventProc, metoda

Metoda CreateEventProc tworzy procedurę zdarzenia w module klasy. Metoda ta zwraca wartość typu Long, która wskazuje numer pierwszego wiersza procedury zdarzenia.

Składnia

obiekt.CreateEventProc(nazwazdarzenia, nazwaobiektu)

Dla metody CreateEventProc używane są następuje argumenty.

Argument	Opis
obiekt	Obiekt Module, którego właściwość Type zwraca acClassModule, stałą o wartości 1.
nazwazdarzenia	Wyrażenie typu ciąg znaków, które określa nazwę zdarzenia.
nazwaobiektu	Obiekt, którego dotyczy zdarzenie określone przez argument nazwazdarzenia. Może to być obiekt typu Form, Report lub Control, sekcja formularza lub raportu albo moduł klasy.
Uwagi

Metoda CreateEventProc tworzy kod szczątkowy dla procedury zdarzenia podanego obiektu. Na przykład, za pomocą tej metody można utworzyć procedurę zdarzenia Click dla przycisku polecenia na formularzu. Program Microsoft Access utworzy procedurę zdarzenia Click w module skojarzonym z formularzem, w którym znajduje się przycisk polecenia.

Po utworzeniu za pomocą metody CreateEventProc kodu szczątkowego dla procedury zdarzenia, można do procedury dodawać wiersze kodu, używając innych metod obiektu Module. Na przykład za pomocą metody InsertLines można wstawiać wiersze kodu.


CreateEventProc i InsertLines, metody - przykład
CreateEventProc i InsertLines, metody – przykład

W poniższym przykładzie tworzony jest nowy formularz, dodawany jest przycisk polecenia i tworzona jest dla tego przycisku procedura zdarzenia Click:

Function ClickEventProc() As Boolean

Dim frm As Form, ctl As Control, mdl As Module

Dim lngReturn As Long

On Error GoTo Error_ClickEventProc

' Create new form.

Set frm = CreateForm

' Create command button on form.

Set ctl = CreateControl(frm.Name, acCommandButton, , , , 1000, 1000)

ctl.Caption = "Click here"

' Return reference to form module.

Set mdl = frm.Module

' Add event procedure.

lngReturn = mdl.CreateEventProc("Click", ctl.Name)

' Insert text into body of procedure.

mdl.InsertLines lngReturn + 1, vbTab & "MsgBox ""Way cool!"""

ClickEventProc = True

Exit_ClickEventProc:

Exit Function

Error_ClickEventProc:

MsgBox Err & " :" & Err.Description

ClickEventProc = False

Resume Exit_ClickEventProc

End Function


AddFromFile, metoda (kolekcja References)

Metoda AddFromFile tworzy w określonym pliku odwołanie do biblioteki typów.

Składnia

Set obiekt = References.AddFromFile(nazwapliku)

Dla metody AddFromFile używane są następujące argumenty.

Argument	Opis
obiekt	Obiekt typu Reference.
nazwapliku	Wyrażenie typu ciąg znaków zawierające pełną nazwę, wraz ze ścieżką dostępu, pliku zawierającego bibliotekę typów, do której ma być utworzone odwołanie.
Uwagi

W poniższej tabeli została przedstawiona lista typów plików, które zazwyczaj zawierają biblioteki klas.

Rozszerzenie nazwy zbioru	Typ pliku
.olb, .tlb	Plik biblioteki typów
.mdb, .mda, .mde	Baza danych
.exe, .dll	Plik wykonywalny
.ocx	Formant ActiveX


AddFromFile, metoda (kolekcja References) - przykład
AddFromFile, metoda (kolekcja References) – przykład

W poniższym przykładzie tworzone jest odwołanie do podanej biblioteki typów:

Function ReferenceFromFile(strFileName As String) As Boolean

Dim ref As Reference

On Error GoTo Error_ReferenceFromFile

' Create new reference.

Set ref = References.AddFromFile(strFileName)

ReferenceFromFile = True

Exit_ReferenceFromFile:

Exit Function

Error_ReferenceFromFile:

MsgBox Err & ": " & Err.Description

ReferenceFromFile = False

Resume Exit_ReferenceFromFile

End Function

Można wywołać tę funkcję za pomocą takiej procedury, jak podana poniżej. W poniższej procedurze tworzone jest odwołanie do formantu Kalendarz:

Sub CreateCalendarReference()

If ReferenceFromFile("C:\Windows\System\Mscal.ocx") = True Then

MsgBox "Reference to calendar control created successfully."

Else

MsgBox "Reference to calendar control not created successfully."

End If

End Sub


AddFromGUID, metoda

Metoda AddFromGUID tworzy obiekt Reference na podstawie identyfikatora GUID określającego bibliotekę typów.

Składnia

obiekt.AddFromGUID(guid)

Dla metody AddFromGUID używane są następujące argumenty.

Argument	Opis
obiekt	Obiekt Reference.
guid	Identyfikator GUID identyfikujący bibliotekę typów.
Uwagi

Właściwość GUID zwraca identyfikator GUID dla określonego obiektu Reference. Jeśli wartość właściwości GUID została zapisana, można użyć jej do odtworzenia odwołania, które zostało przerwane.


DeleteLines, metoda

Metoda DeleteLines usuwa wiersz z modułu standardowego lub z modułu klasy.

Składnia

obiekt.DeleteLines wierszpoczątowy, licznik

Dla metody DeleteLines używane są następujące argumenty.

Argument	Opis
obiekt	Obiekt Module.
wierszpoczątkowy	Wartość typu Long, określająca numer wiersza, od którego metoda ma zacząć usuwać wiersze.
licznik	Wartość typu Long określająca liczbę wierszy przeznaczonych do usunięcia.
Uwagi

Numeracja wierszy w module zaczyna się od wartości 1. Aby sprawdzić ilość wierszy w module, należy użyć właściwości CountOfLines.

Aby zastąpić wybrany wiersz innym wierszem, należy skorzystać z metody ReplaceLine.


DeleteLines, metoda; Lines, właściwość - przykład
DeleteLines, metoda; Lines, właściwość – przykład

W poniższym przykładzie z modułu usuwany jest wybrany wiersz.

Function DeleteWholeLine(strModuleName, strText As String) As Boolean

Dim mdl As Module, lngNumLines As Long

Dim lngSLine As Long, lngSCol As Long

Dim lngELine As Long, lngECol As Long

Dim strTemp As String

On Error GoTo Error_DeleteWholeLine

DoCmd.OpenModule strModuleName

Set mdl = Modules(strModuleName)

If mdl.Find(strText, lngSLine, lngSCol, lngELine, lngECol) Then

lngNumLines = Abs(lngELine - lngSLine) + 1

strTemp = LTrim$(mdl.Lines(lngSLine, lngNumLines))

strTemp = RTrim$(strTemp)

If strTemp = strText Then

mdl.DeleteLines lngSLine, lngNumLines

Else

MsgBox "Line contains text in addition to '" _

& strText & "'."

End If

Else

MsgBox "Text '" & strText & "' not found."

End If

DeleteWholeLine = True

Exit_DeleteWholeLine:

Exit Function

Error_DeleteWholeLine:

MsgBox Err & " :" & Err.Description

DeleteWholeLine = False

Resume Exit_DeleteWholeLine

End Function

Podaną wyżej funkcję można wywołać z takiej procedury, jak podana poniżej. Procedura ta wyszukuje w module o nazwie "Module1" deklarację stałej i usuwa ją.

Sub DeletePiConst()

If DeleteWholeLine("Module1", "Const conPi = 3.14") Then

Debug.Print "Constant declaration deleted successfully."

Else

Debug.Print "Constant declaration not deleted."

End If

End Sub


Find, metoda

Metoda Find wyszukuje podany tekst w module standardowym lub module klasy.

Składnia

obiekt.Find(cel, wierszpoczątkowy, koumnapoczątkowa, wierszkońcowy, kolumnakońcowa [, całewyrazy, rozróżniajwielkość, szukaniewedługwzoru])

Dla metody Find używane są następujące argumenty.

Argument	Opis
obiekt	Obiekt Module.
cel	Wyrażenie typu ciąg znaków określające tekst przeznaczony do wyszukania.
wierszpoczątkowy	Wartość typu Long określająca numer wiersza, od którego należy rozpocząć przeszukiwanie. Jeśli zostanie znaleziony pasujący fragment tekstu, wartość argumentu wierszpoczątkowy zostanie ustawiona na numer wiersza,w którym został znaleziony pierwszy znak szukanego tekstu.
kolumnapoczątkowa	Wartość typu Long określająca numer kolumny, od której ma się rozpocząć przeszukiwanie Każdy znak w wierszu znajduje się w oddzielnej kolumnie. Kolumny są numerowane od zera, począwszy od lewej strony modułu. Jeśli zostanie pasujący znaleziony fragment tekstu, wartość argumentu kolumnapoczątkowa zostanie ustawiona na numer kolumny w której został znaleziony pierwszy znak tekstu.
wierszkońcowy	Wartość typu Long określająca numer wiersza, na którym należy zakończyć przeszukiwanie. Jeśli zostanie znaleziony pasujący fragment tekstu, wartość argumentu wierszkońcowy zostanie ustawiona na numer wiersza, w którym  znajduje się ostatni znak szukanego tekstu.
kolumnakońcowa	Wartość typu Long określająca numer kolumny, w której trzeba zakończyć przeszukiwanie tekstu. Jeśli zostanie znaleziony pasujący fragment tekstu, wartość argumentu kolumnakońcowa zostanie ustawiona na numer kolumny, w której znajduje się pierwszy znak szukanego tekstu.
całewyrazy	Argument opcjonalny. Wartość typu Boolean. Ustawienie na wartość True (–1) powoduje, że będą wyszukiwane tylko całe wyrazy, ustawienie na wartość False (0) powoduje, że będą wyszukiwane także fragmenty wyrazów. Wartością domyślną jest False.
rozróżniajwielkość	Argument opcjonalny, typu Boolean. Ustawienie na wartość True powoduje, że będą wyszukiwane teksty z rozróżnieniem wielkości liter w argumencie cel, ustawienie na wartość False powoduje, że wyszukiwane będą teksty bez rozróżniania wielkości liter. Ustawieniem domyślnym jest False.
szukaniewedługwzoru	Argument opcjonalny typu Boolean. Ustawienie na wartość True powoduje takie wyszukiwanie, w którym argument cel może zawierać symbole wieloznaczne, takie jak gwiazdka (*) lub znak zapytania (?).Ustawienie na wartość False powoduje, że znaki: gwiazdka i znak zapytania, umieszczone we wzorcu są traktowane jak zwykłe znaki. Ustawieniem domyślnym jest False.
Uwagi

Metoda Find wyszukuje w obiekcie Module podany ciąg znaków. Jeśli podany ciąg znaków zostanie odszukany, metoda Find zwraca wartość True; w przeciwnym razie zwraca wartość False.

Aby ustalić miejsce w module, w którym szukany ciąg znaków został odnaleziony, należy przekazać do metody Find puste wartości argumentów wierszpoczątkowy, kolumnapoczątkowa, wierszkońcowy i kolumnakońcowa. Jeśli pasujący fragment tekstu zostanie odszukany, argumenty te będą zawierały numer wiersza i numer kolumny, w których rozpoczyna się szukany tekst (wierszpoczątkowy, kolumnapoczątkowa) i w których się kończy (wierszkońcowy, kolumnakońcowa).

Na przykład, jeśli szukany fragment tekstu znajdujący się w wierszu 5, rozpoczyna się w kolumnie 10 i kończy w kolumnie 20, wartości tych argumentów będą wynosić odpowiednio: wierszpoczątkowy = 5, kolumnapoczątkowa = 10, wieszkońcowy = 5, kolumnakońcowa = 20.


Find, ReplaceLine, metody - przykład
Find, ReplaceLine, metody – przykład

Poniższa funkcja wyszukuje w module podany ciąg znaków i zastępuje wiersze, w których ten ciąg został odszukany nowym wierszem.

Function FindAndReplace(strModuleName As String, strSearchText As String, _

strNewText As String) As Boolean

Dim mdl As Module

Dim lngSLine As Long, lngSCol As Long

Dim lngELine As Long, lngECol As Long

Dim strLine As String, strNewLine As String

Dim intChr As Integer, intBefore As Integer, intAfter As Integer

Dim strLeft As String, strRight As String

' Open module.

DoCmd.OpenModule strModuleName

' Return reference to Module object.

Set mdl = Modules(strModuleName)

' Search for string.

If mdl.Find(strSearchText, lngSLine, lngSCol, lngELine, lngECol) Then

' Store text of line containing string.

strLine = mdl.Lines(lngSLine, Abs(lngELine - lngSLine) + 1)

' Determine length of line.

intChr = Len(strLine)

' Determine number of characters preceding search text.

intBefore = lngSCol - 1

' Determine number of characters following search text.

intAfter = intChr - CInt(lngECol - 1)

' Store characters to left of search text.

strLeft = Left$(strLine, intBefore)

' Store characters to right of search text.

strRight = Right$(strLine, intAfter)

' Construct string with replacement text.

strNewLine = strLeft & strNewText & strRight

' Replace original line.

mdl.ReplaceLine lngSLine, strNewLine

FindAndReplace = True

Else

MsgBox "Text not found."

FindAndReplace = False

End If

Exit_FindAndReplace:

Exit Function

Error_FindAndReplace:

MsgBox Err & ": " & Err.Description

FindAndReplace = False

Resume Exit_FindAndReplace

End Function


Follow, metoda

Metoda Follow otwiera dokument lub stronę WWW określoną przez adres hiperłącza skojarzony z formantem na formularzu lub w raporcie.

Składnia

obiekt.hyperlink.Follow[([noweokno], [dodajdohistorii], [extrainfo], [metoda], [infonagłówka])]

Dla metody Follow używane są następujące argumenty.

Argument	Opis
obiekt	Hiperłącza mogą znajdować się w obiektach Control, które zawierają formanty: etykieta z hiperłączem, przycisk polecenia lub obraz.
hiperłącze	Hiperłącze obiektu Control.
noweokno	Wartość typu Boolean, której ustawienie na wartość True (–1) powoduje otwarcie dokumentu w nowym oknie, a ustawienie na wartość False (0) powoduje otwarcie dokumentu w bieżącym oknie. Ustawieniem domyślnym jest False.
dodajdohistorii	Wartość typu Boolean, której ustawienie na wartość True powoduje dodanie hiperłącza do foldera "Historia", ustawienie na wartość False powoduje, że hiperłącze nie zostanie do tego foldera dodane. Ustawieniem domyślnym jest True.
extrainfo	Ciąg znaków lub tablica danych typu Byte, która określa dodatkowe informacje ułatwiające korzystanie z hiperłącza. Na przykład, argument ten może zostać użyty do podania parametrów wyszukiwania plików .asp lub .idc. W przeglądarce WWW argument extrainfo może pojawić się po adresie hiperłącza, oddzielony od adresu hiperłącza znakiem zapytania (?). Określając argument extrainfo nie trzeba umieszczać znaku zapytania.
metoda	Argument typu Integer, którego ustawienie określa, w jaki sposób argument extrainfo zostanie dołączony. Argument metoda może mieć wartość jednej z następujących stałych wewnętrznych:
	Stała	Opis
	msoMethodGet	Argument extrainfo zostanie dołączony do adresu hiperłącza i może być tylko ciągiem znaków. Wartość ta jest przekazywana domyślnie.
	MsoMethodPost	Argument extrainfo zostanie ogłoszony jako ciąg znaków albo jako tablica wartości typu Byte.
infonagłówka	Ciąg znaków określający informacje znajdujące się w nagłówku. Wartością domyślną tego argumentu jest ciąg znaków zerowej długości (" ").
Uwagi

Działanie metody Follow daje taki sam efekt, jak kliknięcie hiperłącza.

Aby w odpowiedzi na akcję użytkownika otwierane było hiperłącze, można umieścić metodę Follow w procedurze zdarzenia. Można na przykład otworzyć stronę WWW zawierającą odpowiednie informacje w momencie, gdy użytkownik otworzy wybrany formularz.

Używając metody Follow nie trzeba znać adresu określonego we właściwości HyperlinkAddress (AdresHiperłącza) formantu. Wystarczy znać nazwę formantu, który zawiera hiperłącze. I odwrotnie, używając metody FollowHyperlink trzeba poodać adres hiperłącza, które ma być otwarte.


Follow, metoda - przykład
Follow, metoda – przykład

W poniższym przykładzie ustawiana jest właściwość HyperlinkAddress przycisku polecenia, a następnie hiperłącze jest otwierane, podczas ładowania formularza.

Aby przetestować ten przykład, należy utworzyć formularz, dodać przycisk polecenia, nazwać go "Command0", a następnie należy wkleić w module formularza poniższy kod i wyświetlić formularz w widoku "Projekt":

Private Sub Form_Load()

Dim ctl As CommandButton

Set ctl = Me!Command0

With ctl

.Visible = False

.HyperlinkAddress = "http://www.microsoft.com/"

.Hyperlink.Follow

End With

End Sub


FollowHyperlink, metoda

Metoda FollowHyperlink otwiera dokument lub stronę WWW określoną przez adres hiperłącza.

Składnia

[aplikacja.]FollowHyperlink adres, [podadres], [noweokno], [dodajdohistorii], [extrainfo], [metoda], [infonagłówka]

Dla metody FollowHyperlink używane są następujące argumenty.

Argument	Opis
aplikacja	Obiekt Application programu Microsoft Access.
adres	Wyrażenie typu ciąg znaków określające poprawny adres hiperłącza.
podadres	Wyrażenie typu ciąg znaków określające nazwane położenie w dokumencie określonym przez argument adres. Ustawieniem domyślnym jest ciąg znaków zerowej dlugości (" ").
noweokno	Argument typu Boolean, którego ustawienie na wartość True (–1) powoduje otwarcie dokumentu w nowym oknie, natomiast ustawienie na wartość False (0) powoduje otwarcie dokumentu w bieżącym oknie. Ustawieniem domyślnym jest False.
dodajdohistorii	Argument typu Boolean, którego ustawienie na wartość True powoduje dodanie hiperłącza do folderu "Historia". Ustawienie na wartość False nie powoduje dodania hiperłącza do folderu "Historia". Ustawieniem domyślnym jest True.
extrainfo	Ciąg znaków lub tablica danych typu Byte, która określa dodatkowe informacje ułatwiające korzystanie z hiperłącza. Na przykład, argument ten może zostać użyty do określenia parametru wyszukiwania dla plików .asp lub .idc. W przeglądarce WWW argument extrainfo może pojawić się po adresie hiperłącza, oddzielony od adresu znakiem zapytania (?). Określając argument extrainfo nie trzeba umieszczać znaku zapytania.
metoda	Argument typu Integer, którego wartość decyduje, w jaki sposób argument extrainfo zostanie dołączony. Argument metoda może mieć wartość jednej z następujących stałych wewnętrznych:
	Stała	Opis
	msoMethodGet	Argument extrainfo zostanie dołączony do adresu hiperłącza i może być tylko ciągiem znaków. Wartość ta jest przekazywana domyślnie.
	msoMethodPost	Argument extrainfo jest ogłaszany jako ciąg znaków albo jako tablica typu Byte.
infonagłówka	Ciąg znaków, który określa informacje znajdujące się w nagłówku. Wartością domyślną tego argumentu jest ciąg znaków zerowej długości.
Uwagi

Za pomocą metody FollowHyperlink można otworzyć hiperłącze, które nie istnieje w formancie. Takie hiperłącze może zostać dostarczone przez użytkownika. Można na przykład poprosić użytkownika, aby wprowadził adres hiperłącza w oknie dialogowym, a następnie, korzystając z podanego adresu, za pomocą metody FollowHyperlink otworzyć to hiperłącze.

Argumentów extrainfo i metoda można używać, aby dostarczyć dodatkowe informacje ułatwiające korzystanie z hiperłącza. Można na przykład dostarczyć dodatkowe parametry służące do przeszukiwania. Aby przeszukać miejsce "Yahoo", w celu znalezienia informacji o firmie Microsoft, można wywołać metodę FollowHyperlink w sposób następujący:

Application.FollowHyperlink "http://search.yahoo.com/bin/search", _

, , , "p=Microsoft", msoMethodGet

Metody Follow można użyć do otwarcia hiperłącza skojarzonego z formantem.


FollowHyperlink, metoda - przykład
FollowHyperlink, metoda – przykład

Poniższa funkcja monituje użytkownika o podanie adresu hiperłącza, a następnie otwiera hiperłącze:

Function GetUserAddress() As Boolean

Dim strInput As String

On Error GoTo Error_GetUserAddress

strInput = InputBox("Enter a valid address")

Application.FollowHyperlink strInput, , True

GetUserAddress = True

Exit_GetUserAddress:

Exit Function

Error_GetUserAddress:

MsgBox Err & ": " & Err.Description

GetUserAddress = False

Resume Exit_GetUserAddress

End Function

Powyższą funkcję można wywołać z procedury podobnej do podanej poniżej:

Sub CallGetUserAddress()

If GetUserAddress = True Then

MsgBox "Successfully followed hyperlink."

Else

MsgBox "Could not follow hyperlink."

End If

End Sub


InsertLines, metoda

Metoda InsertLines wstawia wiersz lub grupę wierszy kodu do modułu standardowego lub do modułu klasy.

Składnia

obiekt.InsertLines wiersz, ciągznaków

Dla metody InsertLines używane są następujące argumenty.

Argument	Opis
obiekt	Obiekt Module.
wiersz	Numer wiersza, od którego metoda ma zacząć wstawianie wierszy.
ciągznaków	Tekst, który ma zostać wstawiony do modułu.
Uwagi

Użycie metody InsertLines powoduje, że kod istniejący w module, w wierszu określonym argumentem numerwiersza, zostanie przesunięty w dół.

Aby dodać kilka wierszy, należy w miejscu, w którym ma zostać utworzony nowy wiersz wstawić do ciągu znaków tworzącego argument ciągznaków stałą wewnętrzną vbCrLf. Stała ta powoduje powrót karetki i utworzenie nowego wiersza.

Wiersze modułu numerowane są począwszy od wartości 1. Aby ustalić liczbę wierszy w module należy skorzystać z właściwości CountOfLines.


InsertText, metoda

Metoda InsertText wstawia podany ciąg znaków do modułu standardowego lub do modułu klasy.

Składnia

obiekt.InsertText tekst

Dla metody InsertText używane są następujące argumenty.

Argument	Opis
obiekt	Obiekt Module.
tekst	Tekst, który ma zostać wstawiony do modułu.
Uwagi

Przy wstawianiu tekstu za pomocą metody InsertText, program Microsoft Access wstawia go na końcu modułu, po wszystkich procedurach.

Aby wstawić kilka wierszy, należy w miejscu, w którym powinien zostać utworzony nowy wiersz wstawić do ciągu znaków tworzących argument tekst stałą wewnętrzną vbCrLf. Stała ta powoduje powrót karetki i utworzenie nowego wiersza.

Aby określić, w którym wierszu tekst ma zostać dodany, należy użyć metody InsertLines. Aby wstawić kod do sekcji deklaracji modułu, należy zamiast metody InsertText użyć metody InsertLines.

Uwaga   W poprzednich wersjach programu Microsoft Access, metoda InsertText była metodą obiektu Application. Można nadal używać metody InsertText obiektu Application, lecz zalecane jest używanie zamiast tej metody, metody InsertText obiektu Module.


InsertText, metoda - przykład
InsertText, metoda – przykład

W poniższym przykładzie wstawiany jest ciąg znaków do modułu standardowego:

Function InsertProc(strModuleName) As Boolean

Dim mdl As Module, strText As String

On Error GoTo Error_InsertProc

' Open module.

DoCmd.OpenModule strModuleName

' Return reference to Module object.

Set mdl = Modules(strModuleName)

' Initialize string variable.

strText = "Sub DisplayMessage()" & vbCrLf _

& vbTab & "MsgBox ""Wild!""" & vbCrLf _

& "End Sub"

' Insert text into module.

mdl.InsertText strText

InsertProc = True

Exit_InsertProc:

Exit Function

Error_InsertProc:

MsgBox Err & ": " & Err.Description

InsertProc = False

Resume Exit_InsertProc

End Function


RefreshDatabaseWindow, metoda

Metoda RefreshDatabaseWindow aktualizuje okno bazy danych  po utworzeniu, usunięciu lub zmianie nazwy tabeli, kwerendy, formularza, raportu, makra lub modułu.

Składnia

[aplikacja.]RefreshDatabaseWindow

Dla metody RefreshDatabaseWindow używany jest następujący argument.

Argument	Opis
aplikacja	Obiekt Application programu Microsoft Access.
Uwagi

Metody RefreshDatabaseWindow można użyć w celu natychmiastowego uwidocznienia zmian dokonanych na obiektach w oknie bazy danych programu Microsoft Access. Na przykład, po dodaniu w języku Visual Basic nowego formularza, można za pomocą metody RefreshDatabaseWindow wyświetlić nazwę nowego formularza na karcie Formularze w oknie bazy danych natychmiast po tym, jak został on zapisany.


RefreshDatabaseWindow, metoda - przykład
RefreshDatabaseWindow, metoda – przykład

W poniższym przykładzie tworzony jest nowy formularz, następnie jest on zapisywany i odświeżane jest okno bazy danych:

Sub CreateFormAndRefresh()

Dim frm As Form

Set frm = CreateForm

DoCmd.Save , "NewForm"

RefreshDatabaseWindow

End Sub


ReplaceLine, metoda

Metoda ReplaceLine zastępuje określony wiersz w module standardowym lub module klasy.

Składnia

obiekt.ReplaceLine wiersz, ciągznaków

Dla metody ReplaceLine używane są następujące argumenty.

Argument	Opis
obiekt	Obiekt Module.
wiersz	Wartość typu Long określająca numer wiersza, który ma być zastąpiony.
ciągznaków	Tekst, którym ma być zastąpiony istniejący wiersz.
Uwagi

Numeracja wierszy  w module zaczyna się od wartości 1. Aby sprawdzić liczbę wierszy, należy użyć właściwości CountOfLines.


RunCommand, metoda

Metoda RunCommand uruchamia polecenie wbudowanego paska narzędzi lub polecenie menu.

Składnia

[obiekt.]RunCommand polecenie

Dla metody RunCommand używane są następujące argumenty.

Argument	Opis
obiekt	Argument opcjonalny. Obiekt Application lub obiekt DoCmd.
polecenie	Stała wewnętrzna określająca, które polecenie wbudowanego menu lub paska narzędzi ma być wykonane.
Uwagi

W programie Microsoft Access każdemu poleceniu menu lub paska narzędzi odpowiada stała, której można użyć  w metodzie RunCommand w celu uruchomienia tego polecenia z kodu języka Visual Basic.

Lista dozwolonych stałych dla argumentu polecenie znajduje się w temacie Stałe metody RunCommand. Stałe te można również wyświetlić w Przeglądarce obiektów. W polu Projekt/Biblioteka należy wybrać Access, a następnie na liście Klasy wybrać wartość AcCommand. Stałe pojawią się na liście Składniki.

Za pomocą metody RunCommand nie można uruchomić polecenia z niestandardowego menu lub z niestandardowego paska narzędzi. Można korzystać tylko z wbudowanego menu i z wbudowanych pasków narzędzi.

Metoda RunCommand zastępuje metodę DoMenuItem obiektu DoCmd.


RunCommand, metoda - przykład
RunCommand, metoda – przykład

W poniższym przykładzie metoda RunCommand używana jest do otwierania okna dialogowego Opcje (dostępnego przez kliknięcie polecenia Opcje w menu Narzędzia):

Function OpenOptionsDialog() As Boolean

On Error GoTo Error_OpenOptionsDialog

DoCmd.RunCommand acCmdOptions

OpenOptionsDialog = True

Exit_OpenOptionsDialog:

Exit Function

Error_OpenOptionsDialog:

MsgBox Err & ": " & Err.Description

OpenOptionsDialog = False

Resume Exit_OpenOptionsDialog

End Function


GUIDFromString, funkcja

Funkcja GUIDFromString zamienia ciąg znaków na identyfikator GUID będący tablicą typu Byte.

Składnia

GUIDFromString(ciągznaków)

Dla funkcji GUIDFromString używane są następujące argumenty.

Argument	Opis
ciągznaków	Wyrażenie typu ciąg znaków, które przybiera wartość identyfikatora GUID w postaci ciągu znaków.
Uwagi

Aparat bazy danych Microsoft Jet przechowuje identyfikatory GUID w postaci tablic typu Byte. Jednak program Microsoft Access nie może zwrócić danych typu Byte z formantu formularza ani raportu. Aby zwrócić wartość identyfikatora GUID z formantu, trzeba zamienić go na ciąg znaków. Aby zamienić identyfikator GUID na ciąg znaków, należy użyć funkcji StringFromGUID. Aby zamienić ciąg znaków na identyfikator GUID, należy użyć funkcji GUIDFromString.


GUIDFromString, funkcja - przykład
GUIDFromString, funkcja – przykład

W poniższym przykładzie funkcja GUIDFromString zamienia ciąg znaków na identyfikator GUID. Ciąg znaków jest to identyfikator GUID przechowywany w postaci ciągu znaków w zreplikowanej tabeli "Employees". Pole to, s_GUID, jest polem ukrytym, dodawanym do każdej zreplikowanej tabeli w zreplikowanej bazie danych.

Sub CheckGUIDType()

Dim dbs As Database, rst As Recordset

Set dbs = CurrentDb

Set rst = dbs.OpenRecordset("Employees")

Debug.Print rst!s_GUID

Debug.Print TypeName(rst!s_GUID)

Debug.Print TypeName(GuidFromString(rst!s_GUID))

End Sub


StringFromGUID, funkcja

Funkcja StringFromGUID zamienia identyfikator GUID będący tablicą typu Byte na ciąg znaków.

Składnia

StringFromGUID(guid)

Dla funkcji StringFromGUID używane są następujące argumenty.

Argument	Opis
guid	Tablica danych typu Byte używana do unikatowego identyfikowania przez system operacyjny aplikacji, składników lub danych.
Uwagi

Aparat bazy danych Microsoft Jet przechowuje identyfikatory GUID jako tablice wartości typu Byte. Jednak program Microsoft Access nie może zwrócić danych typu Byte z formantu formularza ani raportu. Aby zwrócić wartość identyfikatora GUID z formantu, trzeba zamienić go na ciąg znaków. Aby zamienić identyfikator GUID na ciąg znaków, trzeba użyć funkcji StringFromGUID. Aby ponownie zamienić ciąg znaków na identyfikator GUID, należy użyć funkcji GUIDFromString.

Na przykład, podczas korzystania ze zreplikowanej bazy danych może zajść konieczność odwołania się do pola, które zawiera identyfikator GUID. Aby zwrócić wartość formantu znajdującego się na formularzu, związanego z polem zawierającym identyfikator GUID, należy użyć funkcji StringFromGUID, która konwertuje identyfikator GUID na ciąg znaków.

Aby związać formant z polem s_GUID zreplikowanej tabeli, należy kliknąć polecenie Opcje w menu Narzędzia i zaznaczyć pole wyboru Obiekty systemowe na karcie Widok okna dialogowego Opcje.


StringFromGUID, funkcja - przykład
StringFromGUID, funkcja – przykład

W poniższym przykładzie zwracana jest wartość formantu s_GUID na formularzu "Employees" w postaci ciągu znaków i przypisywana jest ona zmiennej typu ciąg znaków. Formant s_GUID jest związany z polem s_GUID, jednym z pól systemowych dodanych do każdej zreplikowanej tabeli w zreplikowanej bazie danych.

Sub StringValueOfGUID()

Dim ctl As Control, strGUID As String

Set ctl = Forms!Employees!s_GUID

Debug.Print TypeName(ctl.Value)

strGUID = StringFromGUID(ctl.Value)

Debug.Print TypeName(strGUID)

End Sub


Add, metoda (kolekcja Pages)

Metoda Add dodaje nowy obiekt typu Page do kolekcji Pages formantu karty.

Składnia

obiekt.Add [przed]

Dla metody Add używane są następujące argumenty.

Argument	Opis
obiekt	Kolekcja Pages formantu karty.
przed	Liczba całkowita określająca indeks obiektu Page, przed którym ma zostać wstawiony nowy obiekt Page. Indeks obiektu Page odpowiada wartości właściwości PageIndex obiektu Page. Jeśli argument ten jest pusty, nowy obiekt Page zostanie dodany na końcu kolekcji.
Uwagi

Pierwszy obiekt Page w kolekcji Pages odpowiada najbardziej na lewo położonej stronie w formancie karty i ma indeks równy zero. Drugi obiekt Page znajduje się bezpośrednio po prawej stronie pierwszej strony i ma indeks 1; podobnie jest z pozostałymi obiektami Page w formancie karty.

Jeśli wartością argumentu przed jest zero, nowy obiekt Page zostanie dodany przed pierwszym obiektem Page w kolekcji Pages. Nowy obiekt Page stanie się w ten sposób pierwszym obiektem Page w kolekcji i będzie miał indeks równy 0.

Można dodać obiekt Page do kolekcji Pages formantu karty tylko wtedy, gdy formularz otwarty jest w widoku "Projekt".


Add, Remove, metody (kolekcja Pages) - przykład
Add, Remove, metody (kolekcja Pages) – przykład

W poniższym przykładzie dodawana jest strona do formantu karty na formularzu otwartym w widoku "Projekt". Aby przetestować ten przykład, należy utworzyć nowy formularz o nazwie "Form1" z formantem karty o nazwie "TabCtl0". Następnie należy umieścić w module standardowym poniższy kod i uruchomić go:

Function AddPage() As Boolean

Dim frm As Form

Dim tbc As TabControl, pge As Page

On Error GoTo Error_AddPage

Set frm = Forms!Form1

Set tbc = frm!TabCtl0

tbc.Pages.Add

AddPage = True

Exit_AddPage:

Exit Function

Error_AddPage:

MsgBox Err & ": " & Err.Description

AddPage = False

Resume Exit_AddPage

End Function

W następnym przykładzie z formantu karty usuwane są strony:

Function RemovePage() As Boolean

Dim frm As Form

Dim tbc As TabControl, pge As Page

On Error GoTo Error_RemovePage

Set frm = Forms!Form1

Set tbc = frm!TabCtl0

tbc.Pages.Remove

RemovePage = True

Exit_RemovePage:

Exit Function

Error_RemovePage:

MsgBox Err & ": " & Err.Description

RemovePage = False

Resume Exit_RemovePage

End Function


Remove, metoda (kolekcja Pages)

Metoda Remove usuwa obiekt Page z kolekcji Pages formantu karty.

Składnia

obiekt.Remove [pozycja]

Dla metody Remove używane są następujące argumenty.

Argument	Opis
obiekt	Wyrażenie typu ciąg znaków określające kolekcję Pages formantu karty.
pozycja	Liczba całkowita, określająca indeks obiektu Page, który ma zostać usunięty. Indeks obiektu Page odpowiada wartości właściwości PageIndex obiektu Page. Jeśli argument ten jest pusty, zostanie usunięty ostatni obiekt Page z kolekcji.
Uwagi

Indeksy kolekcji Pages zaczynają się od liczby zero. Strona położona najbardziej po lewej stronie formantu karta ma indeks równy 0, strona znajdująca się bezpośrednio po prawej stronie ma indeks równy 1 itd.

Z kolekcji Pages formantu karty można usunąć obiekt typu Page tylko wtedy, gdy formularz jest otwarty w widoku "Projekt".


Remove, metoda (kolekcja References)

Metoda Remove usuwa obiekt Reference z kolekcji References.

Składnia

obiekt.Remove odwołanie

Dla metody Remove używane są następujące argumenty.

Argument	Opis
obiekt	Wyrażenie typu ciąg znaków określające kolekcję References.
odwołanie	Obiekt Reference, który reprezentuje odwołanie przeznaczone do usunięcia.
Uwagi

Aby określić nazwę obiektu Reference, który ma zostać usunięty, należy przejrzeć pole wyboru Projekt/Biblioteka w Przeglądarce obiektów. Zawiera ono nazwy wszystkich odwołań, które są aktualnie ustawione. Nazwy te odpowiadają wartości właściwości Name obiektu Reference.


Remove, metoda (kolekcja References) - przykład
Remove, metoda (kolekcja References) – przykład

Pierwsza z dwóch poniższych funkcji dodaje do kolekcji References odwołanie do formantu Kalendarz. Druga z funkcji usuwa odwołanie do tego formantu.

Function AddReference() As Boolean

Dim ref As Reference, strFile As String

On Error GoTo Error_AddReference

strFile = "C:\Windows\System\Mscal.ocx"

' Create reference to calendar control.

Set ref = References.AddFromFile(strFile)

AddReference = True

Exit_AddReference:

Exit Function

Error_AddReference:

MsgBox Err & ": " & Err.Description

AddReference = False

Resume Exit_AddReference

End Function

Function RemoveReference() As Boolean

Dim ref As Reference

On Error GoTo Error_RemoveReference

Set ref = References!MSACAL

' Remove calendar control reference.

References.Remove ref

RemoveReference = True

Exit_RemoveReference:

Exit Function

Error_RemoveReference:

MsgBox Err & ": " & Err.Description

RemoveReference = False

Resume Exit_RemoveReference

End Function


DoCmd, obiekt

Metod obiektu DoCmd można używać do wykonywania akcji programu Microsoft Access z kodu języka Visual Basic. Akcja służy do wykonywania zadań, takich jak zamykanie okien, otwieranie formularzy i ustawianie wartości formantów. Można na przykład użyć metody OpenForm obiektu DoCmd, aby otworzyć formularz lub metody Hourglass, aby zmienić wskaźnik myszy na ikonę klepsydry.

Uwaga   Obiekt DoCmd zastępuje instrukcję DoCmd z wersji 1.x i 2.0 programu Microsoft Access. Akcje, które były używane jako argumenty w instrukcji DoCmd są teraz metodami obiektu DoCmd. Na przykład, w programie Microsoft Access 2.0, można było użyć kodu DoCmd OpenForm "Orders" do otwarcia formularza z programu Access Basic. W programie Microsoft Access 97 używa się następującej składni:

DoCmd.OpenForm "Orders"

Składnia

[aplikacja.]DoCmd.metoda [arg1, arg2, ...]

Obiekt DoCmd ma następujące argumenty.

Argument	Opis
aplikacja	Opcjonalny. Obiekt Application.
metoda	Jedna z metod obsługiwanych przez dany obiekt.
arg1, arg2, ...	Argumenty wybranej metody. Argumenty te są takie same, jak argumenty akcji odpowiadającej tej metodzie.
Uwagi

Większość z metod obiektu DoCmd ma argumenty – niektóre z nich są wymagane, inne zaś tylko opcjonalne. Jeśli argumenty opcjonalne zostaną pominięte, przyjmą one wartości domyślne dla danej metody. Na przykład metoda OpenForm używa siedmiu argumentów, ale tylko pierwszy z nich, nazwa_formularza, jest niezbędny. W poniższym przykładzie zostało pokazane, jak można otworzyć formularz "Employees" w bieżącej bazie danych. Uwzględnieni będą tylko pracownicy posiadający tytuł przedstawiciela handlowego.

DoCmd.OpenForm "Employees", , ,"[Title] = 'Sales Representative'"

Obiekt DoCmd nie obsługuje metod odpowiadających następującym akcjom:

•	DodajMenu (AddMenu).

•	OknoKomunikatu (MsgBox). Należy użyć funkcji MsgBox.

•	UruchomAplikację (RunApp). Należy użyć funkcji Shell, aby uruchomić inną aplikację.

•	UruchomKod (RunCode). Należy wywołać tę funkcję bezpośrednio w kodzie języka Visual Basic.

•	WyślijKlawisze (SendKeys). Należy użyć instrukcji SendKeys.

•	UstawWartość (SetValue). Należy ustawić tę wartość bezpośrednio w kodzie języka Visual Basic.

•	ZatrzymajWszystkieMakra (StopAllMacros).

•	ZatrzymajMakro (StopMacro).

Aby uzyskać więcej informacji na temat akcji programu Microsoft Access odpowiadających metodzie obiektu DoCmd, należy znaleźć w indeksie Pomocy nazwę danej akcji.


DoCmd, obiekt - przykład
DoCmd, obiekt – przykład

W poniższym przykładzie otwierany jest formularz w widoku "Formularz", po czym następuje przejście do nowego rekordu.

Sub ShowNewRecord()

DoCmd.OpenForm "Employees", acNormal

DoCmd.GoToRecord , , acNewRec

End Sub


OpenCurrentDatabase, metoda

Metody OpenCurrentDatabase można użyć, aby otworzyć istniejącą bazę danych jako bieżącą. Można użyć tej metody, aby otworzyć bazę danych z innej aplikacji sterującej programem Microsoft Access poprzez mechanizm Automatyzacji, nazywanej uprzednio Automatyzacją OLE. Można na przykład użyć metody OpenCurrentDatabase z programu Microsoft Excel, aby otworzyć przykładową bazę danych "Northwind" w oknie programu Microsoft Access.

Składnia

aplikacja.OpenCurrentDatabase nazwabazydanych[, wyłączność]

Metoda OpenCurrentDatabase ma następujące argumenty.

Argument	Opis
aplikacja	Obiekt Application.
nazwabazydanych	Wyrażenie typu ciąg znaków będące nazwą istniejącej bazy danych. Wyrażenie to musi obejmować ścieżkę dostępu do pliku i jego rozszerzenie nazwy. Jeśli dana sieć dopuszcza taką możliwość, można podać ścieżkę sieciową w następującej formie: \\Serwer\Udział\Folder\NazwaPliku.mdb
wyłączność	Opcjonalny. Wartość typu Boolean określająca, czy użytkownik chce otworzyć bazę danych w trybie wyłączności. Wartością domyślną jest False, co określa, że baza danych ma być otwierana w trybie współużytkowania.
Uwagi

Metoda OpenCurrentDatabase umożliwia otwieranie bazy danych programu Microsoft Access z poziomu innej aplikacji poprzez mechanizm Automatyzacji. Po utworzeniu instancji programu Microsoft Access z poziomu innej aplikacji należy utworzyć nową bazę danych lub określić bazę, która ma być otwarta. Ta baza danych jest otwierana w oknie programu Microsoft Access.

Jeśli została już otwarta jakaś baza danych, a użytkownik chce otworzyć inną bazę w oknie programu Microsoft Access, może użyć metody CloseCurrentDatabase, aby zamknąć pierwszą bazę danych przed otwarciem drugiej.

Aby otworzyć bazę danych w trybie wyłączności, należy ustawić argument wyłączność na wartość True. Jeśli argument ten zostanie pominięty, to baza danych zostanie otwarta w trybie współużytkowania.

Nie należy mylić metody OpenCurrentDatabase z metodą OpenDatabase obiektów dostęp do danych DAO. Metoda OpenCurrentDatabase otwiera bazę danych w oknie programu Microsoft Access. Metoda OpenDatabase DAO zwraca zmienną obiektową Database, która reprezentuje określoną bazę danych, ale nie otwiera tej bazy w oknie programu Microsoft Access.


OpenCurrentDatabase, metoda - przykład
OpenCurrentDatabase, metoda – przykład

W poniższym przykładzie otwierana jest baza danych programu Microsoft Access z poziomu innej aplikacji, poprzez mechanizm Automatyzacji, a następnie otwierany jest w tej bazie formularz.

Przedstawiony poniżej kod można umieścić w module języka Visual Basic w każdej aplikacji, która może działać jako składnik ActiveX. Można na przykład wykonać ten kod z programu Microsoft Excel, z programu Microsoft Visual Basic, a nawet z programu Microsoft Access.

Gdy zmienna wskazująca na obiekt Application wykracza poza swój zakres, zamykana jest instancja programu Microsoft Access, którą zmienna ta reprezentuje. W związku z tym zmienną tą należy deklarować na poziomie modułu.

' Include following in Declarations section of module.

Dim appAccess As Access.Application

Sub DisplayForm()

Const strConPathToSamples = "C:\Program " _

& "Files\MSOffice\Access\Samples\"

Dim strDB As String

' Initialize string to database path.

strDB = strConPathToSamples & "Northwind.mdb"

' Create new instance of Microsoft Access.

Set appAccess = _

CreateObject("Access.Application.8")

' Open database in Microsoft Access window.

appAccess.OpenCurrentDatabase strDB

' Open Orders form.

appAccess.DoCmd.OpenForm "Orders"

End Sub

Uwaga   W niektórych aplikacjach, jak na przykład Microsoft Visual Basic, można użyć słowa kluczowego New deklarując zmienną obiektową Application. Słowo to powoduje automatyczne utworzenie nowej instancji programu Microsoft Access bez potrzeby użycia funkcji CreateObject. Warto sprawdzić w dokumentacji używanej aplikacji, czy obsługuje ona taką składnię.


NewCurrentDatabase, metoda

Metody NewCurrentDatabase można użyć, aby utworzyć nową bazę w oknie programu Microsoft Access Metoda ta może posłużyć do utworzenia nowej bazy danych z innej aplikacji sterującej programem Microsoft Access poprzez mechanizm Automatyzacji, uprzednio zwanej Automatyzacją OLE. Można na przykład użyć metody NewCurrentDatabase w programie Microsoft Excel, aby utworzyć nową bazę danych w oknie programu Microsoft Access.

Składnia

aplikacja.NewCurrentDatabase nazwabazydanych

Metoda NewCurrentDatabase ma następujące argumenty.

Argument	Opis
aplikacja	Obiekt Application.
nazwabazydanych	Wyrażenie typu ciąg znaków będące nazwą nowej bazy danych. Wyrażenie to musi obejmować ścieżkę dostępu do pliku i jego rozszerzenie nazwy. Jeśli dana sieć dopuszcza taką możliwość, można podać ścieżkę sieciową w następującej formie: \\Serwer\Udział\Folder\NazwaPliku.mdb
Uwagi

Metoda NewCurrentDatabase umożliwia tworzenie nowej bazy danych programu Microsoft Access z poziomu innej aplikacji poprzez mechanizm Automatyzacji. Po utworzeniu instancji programu Microsoft Access z poziomu innej aplikacji należy utworzyć nową bazę danych. Ta baza danych jest otwierana w oknie programu Microsoft Access.

Jeśli baza danych określona przez argument nazwabazydanych już istnieje, to występuje błąd.

Nowa baza danych jest otwierana dla konta użytkownika "Administrator".


NewCurrentDatabase, metoda - przykład
NewCurrentDatabase, metoda – przykład

W poniższym przykładzie tworzona jest nowa baza danych programu Microsoft Access z poziomu innej aplikacji, poprzez mechanizm Automatyzacji, a następnie tworzona jest w tej bazie nowa tabela.

Przedstawiony poniżej kod można umieścić w module języka Visual Basic w każdej aplikacji, która może działać jako składnik ActiveX. Można na przykład wykonać ten kod z programu Microsoft Excel, z programu Microsoft Visual Basic, a nawet z programu Microsoft Access.

Gdy zmienna wskazująca na obiekt Application wykracza poza swój zakres, zamykana jest instancja programu Microsoft Access, którą zmienna ta reprezentuje. W związku z tym zmienną tą należy deklarować na poziomie modułu.

' Include following in Declarations section of module.

Dim appAccess As Access.Application

Sub NewAccessDatabase()

Dim dbs As Database, tdf As TableDef, fld As Field

Dim strDB As String

' Initialize string to database path.

strDB = "C:\My Documents\Newdb.mdb"

' Create new instance of Microsoft Access.

Set appAccess = _

CreateObject("Access.Application.8")

' Open database in Microsoft Access window.

appAccess.NewCurrentDatabase strDB

' Get Database object variable.

Set dbs = appAccess.CurrentDb

' Create new table.

Set tdf = dbs.CreateTableDef("Contacts")

' Create field in new table.

Set fld = tdf. _

CreateField("CompanyName", dbText, 40)

' Append Field and TableDef objects.

tdf.Fields.Append fld

dbs.TableDefs.Append tdf

Set appAccess = Nothing

End Sub

Uwaga   W niektórych aplikacjach, jak na przykład Microsoft Visual Basic, można użyć słowa kluczowego New deklarując zmienną obiektową Application. Słowo to powoduje automatyczne utworzenie nowej instancji programu Microsoft Access, bez potrzeby użycia funkcji CreateObject. Warto sprawdzić w dokumentacji używanej aplikacji, czy obsługuje ona taką składnię.


Run, metoda

Metody Run można użyć do wykonania określonej procedury typu Function lub Sub programu Microsoft Access albo zdefiniowanej przez użytkownika. Metoda ta jest użyteczna, gdy steruje się programem Microsoft Access z innej aplikacji za pomocą mechanizmu Automatyzacji, uprzednio zwanej Automatyzacją OLE. Można na przykład użyć metody Run z poziomu składnika ActiveX, aby wykonać procedurę Sub zdefiniowaną w bazie danych programu Microsoft Access.

Składnia

aplikacja.Run procedura[, arg1, arg2, ..., arg30]

Metoda Run ma następujące argumenty.

Argument	Opis
aplikacja	Obiekt Application.
procedura	Nazwa procedury Function lub Sub, która ma być wykonana. Jeśli procedura jest wywoływana w innej bazie danych, należy użyć nazwy projektu i nazwy procedury oddzielonych kropką, tak jak poniżej: "nazwaprojektu.nazwaprocedury" Jeżeli kod języka Visual Basic zawierający metodę Run jest wykonywany w bibliotecznej bazie danych, program Microsoft Access będzie najpierw szukał procedury w bibliotecznej bazie danych, a następnie w bieżącej bazie danych.
arg1, arg2, ...	Opcjonalny. Argumenty dla określonej procedury Function lub Sub. Można podać co najwyżej trzydzieści argumentów.
Uwagi

Można ustawić odwołanie do biblioteki typów programu Microsoft Access z każdego innego składnika ActiveX i używać w kodzie obiektów, metod i właściwości zdefiniowanych w tej bibliotece. Nie można jednak ustawić odwołania do konkretnej bazy danych programu Microsoft Access z poziomu innej aplikacji. Metoda Run umożliwia wywołanie z innej aplikacji procedury zdefiniowanej w bazie danych programu Microsoft Access.

Załóżmy na przykład, że została zdefiniowana procedura o nazwie "NewForm" w bazie danych z właściwością ProjectName (NazwaProjektu) ustawioną na "WizCode." Procedura "NewForm" pobiera jako argument ciąg znaków. Procedurę tę można wywołać z języka Visual Basic w następujący sposób:

Dim appAccess As New Access.Application

appAccess.OpenCurrentDatabase ("C:\My Documents\WizCode.mdb")

appAccess.Run "WizCode.NewForm", "Some String"

Jeśli procedura o tej samej nazwie może znajdować się w innej bazie danych, należy ściślej określić argument procedura, jak to zostało pokazane w powyższym przykładzie, z nazwą bazy danych, w której znajduje się żądana procedura.

Metody Run można też użyć, aby w wywoływanej bazie danych programu Microsoft Access wywołać procedurę z innej bazy danych.

Program Microsoft Access ignoruje wartości zwracane przez procedurę wywoływaną za pomocą metody Run.


Run, metoda - przykład
Run, metoda – przykład

W poniższym przykładzie z poziomu aplikacji działającej jako składnik ActiveX wywoływana jest procedura Sub zdefiniowana przez użytkownika w module bazie danych programu Microsoft Access.

Aby przetestować ten przykład, należy utworzyć nową bazę danych o nazwie WizCode.mdb i ustawić właściwość ProjectName (NazwaProjektu) na nazwę WizCode. Następnie należy otworzyć nowy moduł w tej bazie danych i wpisać poniższy kod, po czym trzeba zapisać ten moduł i zamknąć bazę danych.

Sub Greeting(strName As String)

MsgBox("Hello, " & strName)

End Sub

Po wykonaniu powyższych czynności należy uruchomić poniższy kod z poziomu programu Microsoft Excel lub Microsoft Visual Basic. Następnie należy upewnić się, że zostało dodane odwołanie do biblioteki typów programu Microsoft Access, przez kliknięcie polecenie Odwołania w menu Narzędzia i wybranie opcji Biblioteka obiektów Microsoft Access 8.0 w oknie dialogowym Odwołania.

' Include in Declarations section of module.

Dim appAccess As Access.Application

Sub RunAccessSub()

' Create instance of Access Application object.

Set appAccess = _

CreateObject("Access.Application.8")

' Open WizCode database in Microsoft Access window.

appAccess.OpenCurrentDatabase "C:\My Documents\WizCode.mdb", False

' Run Sub procedure.

appAccess.Run "Greeting", "Joe"

Set appAccess = Nothing

End Sub


Dropdown, metoda

Metody Dropdown można użyć, aby wymusić rozwinięcie listy w określonym polu kombi. Można na przykład użyć tej metody, aby pole kombi zawierające kody sprzedawców rozwijało się, gdy podczas wprowadzania danych jego formant uzyskuje fokus.

Składnia

polekombi.Dropdown

Metoda Dropdown ma następujący argument:

Argument	Opis
polekombi	Formant pola kombi w formularzu.
Uwagi

Jeśli określone pole kombi nie ma fokusa, to występuje błąd. Użycie tej metody jest równoważne naciśnięciu klawisza F4, gdy formant ma fokus.


Dropdown, metoda - przykład
Dropdown, metoda – przykład

W poniższym przykładzie zostało pokazane, jak można użyć metody Dropdown w procedurze zdarzenia GotFocus, aby wymusić rozwinięcie listy pola kombi o nazwie "SupplierID", gdy pole to otrzymuje fokus.

Private Sub SupplierID_GotFocus()

Me!SupplierID.Dropdown

End Sub


Undo, metoda

Metody Undo można użyć, aby przywrócić poprzedni stan formantu lub formularza, jeśli jego wartość została zmieniona. Można na przykład użyć metody Undo, aby cofnąć zmianę w rekordzie zawierającym nieprawidłowe dane.

Składnia

obiekt.Undo

Metoda Undo ma następujący argument:

Argument	Opis
obiekt	Obiekt Form lub obiekt Control.
Uwagi

Jeśli metoda Undo jest stosowana dla formularza, to wszystkie zmiany dokonane w bieżącym rekordzie są tracone. Jeśli metoda Undo jest stosowana dla formantu, ma ona wpływ tylko na sam formant.

Metoda ta musi być zastosowana przed aktualizacją formularza lub formantu. Można włączyć tę metodę do procedury zdarzenia BeforeUpdate formularza lub zdarzenia Change formantu.

Metoda Undo stanowi alternatywę dla instrukcji SendKeys przy wysłaniu w procedurze zdarzenia wartości klawisza ESC.


Undo, metoda - przykład
Undo, metoda – przykład

W poniższym przykładzie zostało pokazane, jak można użyć metody Undo w procedurze zdarzenia Change, aby przywrócić pierwotną wartość pola "LastName", jeśli pole to było zmieniane.

Private Sub LastName_Change()

Me!LastName.Undo

End Sub

W następnym przykładzie metoda Undo została użyta, aby przed aktualizacją formularza cofnąć wszystkie zmiany w nim dokonane.

Private Sub Form_BeforeUpdate(Cancel As Integer)

Me.Undo

End Sub


ItemsSelected, kolekcja

Kolekcja ItemsSelected umożliwia dostęp do danych w wybranych wierszach formantu pola listy.

Uwagi

Kolekcja ItemsSelected różni się od innych kolekcji, gdyż jest kolekcją zmiennych typu Variant, a nie obiektów. Każda zmienna typu Variant jest liczbą całkowitą - indeksem odwołującym się do wybranego wiersza pola listy lub pola kombi.

Kolekcji ItemsSelected należy używać w połączeniu z właściwością Column lub właściwością ItemData w celu pobrania danych z wybranych wierszy pola listy lub pola kombi. Można wyświetlić listę elementów kolekcji ItemsSelected używając instrukcji For Each...Next.

Na przykład, jeśli na formularzu znajduje się pole listy "Employees" (Pracownicy), można wyświetlić listę elementów kolekcji ItemsSelected i użyć właściwości ItemData formantu, aby zwrócić wartość kolumny związanej dla każdego wybranego wiersza pola listy.

Wskazówka   Aby umożliwić dokonywanie wielokrotnego wyboru wierszy w polu listy, należy ustawić właściwość MultiSelect (WybórWielokrotny) danego formantu na wartość "Prosty" lub "Rozszerzony".

Kolekcja ItemsSelected nie ma żadnych metod; ma natomiast jedną właściwość: Count.


ItemsSelected, kolekcja - przykład

W poniższym przykładzie drukowana jest wartość kolumny związanej dla każdego wybranego wiersza pola listy "Names" na formularzu "Contacts". Aby przetestować ten przykład, należy utworzyć pole listy i ustawić jego właściwość BoundColumn (KolumnaZwiązana) według uznania oraz właściwość MultiSelect (WybórWielokrotny) na wartość "Prosty" lub "Rozszerzony". Następnie należy przejść do widoku "Formularz", zaznaczyć kilka wierszy w polu listy i wykonać następujący kod.

Sub BoundData()

Dim frm As Form, ctl As Control

Dim varItm As Variant

Set frm = Forms!Contacts

Set ctl = frm!Names

For Each varItm In ctl.ItemsSelected

Debug.Print ctl.ItemData(varItm)

Next varItm

End Sub

W następnym przykładzie używany jest ten sam formant pola listy, ale drukowane są wartości każdej z kolumn dla każdego wybranego wiersza w polu listy zamiast drukowania tylko wartości w kolumnie związanej.

Sub AllSelectedData()

Dim frm As Form, ctl As Control

Dim varItm As Variant, intI As Integer

Set frm = Forms!Contacts

Set ctl = frm!Names

For Each varItm In ctl.ItemsSelected

For intI = 0 To ctl.ColumnCount - 1

Debug.Print ctl.Column(intI, varItm)

Next intI

Debug.Print

Next varItm

End Sub


Application, obiekt

Obiekt Application odwołuje się do aktywnej aplikacji programu Microsoft Access.

Uwagi

Obiekt Application zawiera wszystkie obiekty programu Microsoft Access i kolekcje, takie jak kolekcje Forms, Reports, Modules, i References oraz obiekty Screen i DoCmd.

Obiektu Application można użyć do zastosowania metod lub ustawień właściwości dla całej aplikacji programu Microsoft Access. Można na przykład zastosować metodę SetOption obiektu Application do ustawienia opcji bazy danych za pomocą kodu języka Visual Basic. W poniższym przykładzie zostało pokazane, jak można ustawić pole wyboru Pasek stanu (Status Bar) w polu Pokaż (Show) na karcie Widok okna dialogowego Opcje.

Application.SetOption "Show Status Bar", True

Program Microsoft Access jest składnikiem ActiveX obsługującym Automatyzację, nazywaną poprzednio Automatyzacją OLE. Można manipulować obiektami programu Microsoft Access z innej aplikacji, która także obsługuje Automatyzację. W tym celu, należy użyć obiektu Application.

Na przykład, program Microsoft Visual Basic jest składnikiem ActiveX. Można otworzyć bazę danych programu Microsoft Access z programu Microsoft Visual Basic i pracować z jej obiektami. W programie Microsoft Visual Basic należy najpierw utworzyć odwołanie do biblioteki obiektów Microsoft Access 8.0. Następnie należy utworzyć nową instancję klasy Application i ustawić do niej wskaźnik zmiennej obiektowej, jak to zostało pokazane w poniższym przykładzie:

Dim appAccess As New Access.Application

W aplikacjach, które nie obsługują słowa kluczowego New nową instancję klasy Application można utworzyć używając funkcji CreateObject:

Dim appAccess As Object

Set appAccess = CreateObject("Access.Application.8")

Po utworzeniu nowej instancji klasy Application można otworzyć bazę danych lub utworzyć nową bazę danych stosując metodę OpenCurrentDatabase lub metodę NewCurrentDatabase. Następnie można ustawiać właściwości obiektu Application i wywoływać jego metody. Gdy za pomocą właściwości DBEngine obiektu Application zwracane jest odwołanie do obiektu DBEngine, używając tego odwołania można uzyskać dostęp do wszystkich obiektów i kolekcji DAO.

Za pośrednictwem obiektu Application można także manipulować innymi obiektami programu Microsoft Access. Na przykład, stosując metodę OpenForm obiektu DoCmd programu Microsoft Access można otworzyć program Microsoft Access z programu Microsoft Excel:

appAccess.DoCmd.OpenForm "Orders"

Dodatkowe informacje na temat tworzenia odwołania i sterowania obiektami za pomocą Automatyzacji można znaleźć w dokumentacji aplikacji działającej jako składnik ActiveX.


Application, obiekt - przykład
Application, obiekt – przykład

W poniższym przykładzie wyświetlane są niektóre bieżące ustawienia właściwości obiektu Application, ustawiana jest opcja, a następnie aplikacja jest kończona, przy czym zapisywane są jej wszystkie obiekty:

Sub ApplicationInformation()

' Print name and type of current object.

Debug.Print Application.CurrentObjectName

Debug.Print Application.CurrentObjectType

' Set Hidden Objects option under Show on View tab of Options dialog box.

Application.SetOption "Show Hidden Objects", True

' Quit Microsoft Access, saving all objects.

Application.Quit acSaveYes

End Sub

W następnym przykładzie został przedstawiony sposób użycia programu Microsoft Access jako składnika ActiveX. Z programu Microsoft Excel, Visual Basic lub z innej aplikacji działającej jako składnik ActiveX należy utworzyć odwołanie do programu Microsoft Access przez kliknięcie polecenia Odwołania w menu Narzędzia w oknie modułu. Następnie należy zaznaczyć pole wyboru umieszczone obok nazwy Biblioteka obiektów Microsoft Access 8.0, po czym do modułu języka Visual Basic tej aplikacji należy wprowadzić poniższy kod i wywołać procedurę GetAccessData.

W poniższym przykładzie przekazywana jest nazwa bazy danych i nazwa raportu do procedury, która tworzy nową instancję klasy Application, otwiera bazę danych i drukuje określony raport.

' Declare object variable in declarations section of a module

Dim appAccess As Access.Application

Sub GetAccessData()

Dim strDB As String

Dim strReportName As String

' Initialize string to database path.

strDB = "C:\Program Files\Microsoft Office\Office\Samples\Northwind.mdb"

' Initialize string to Report name.

strReportName = "Catalog"

PrintAccessReport strDB, strReportName

End Sub

Sub PrintAccessReport(strDB As String, strReportName As String)

' Return reference to Microsoft Access Application object.

Set appAccess = New Access.Application

' Open database in Microsoft Access.

appAccess.OpenCurrentDatabase strDB

' Print report.

appAccess.DoCmd.OpenReport strReportName

MsgBox "Click OK when " & strReportName & _

" is finished printing"

appAccess.CloseCurrentDatabase

Set appAccess = Nothing

End Sub


Control, obiekt

Obiekt Control reprezentuje formant w formularzu, raporcie lub sekcji, umieszczony w innym formancie lub przyłączony do innego formantu. Na poniższym rysunku został przedstawiony obiekt Control powiązany z obiektem Form lub Report.

Uwagi

Wszystkie formanty w formularzu lub raporcie należą do kolekcji Controls danego obiektu Form lub Report. Formanty w konkretnej sekcji należą do kolekcji Controls tej sekcji. Formanty na formancie karty lub w grupie opcji należą do kolekcji Controls tego formantu. Formant etykieta, który jest przyłączony do innego formantu należy do kolekcji Controls tego formantu.

Odwołując się do pojedynczego obiektu Control w kolekcji Controls można odwołać się do tej kolekcji jawnie lub niejawnie.

' Implicitly refer to NewData control in Controls collection.

Me!NewData

' Use if control name contains space.

Me![New Data]

' Performance slightly slower.

Me("NewData")

' Refer to a control by its index in the controls collection.

Me(0)

' Refer to a NewData control by using the subform Controls collection.

Me.ctlSubForm.Controls!NewData

' Explicitly refer to the NewData control in the Controls collection.

Me.Controls!NewData

Me.Controls("NewData")

Me.Controls(0)

Uwaga   Słowa kluczowego Me można używać do reprezentowania w kodzie obiektu Form lub Report tylko wówczas, gdy odwołanie do formularza lub raportu następuje z kodu w module klasy. Odwołując się do formularza lub raportu z modułu standardowego lub z modułu innego formularza lub raportu należy użyć pełnej nazwy formularza lub raportu.

Każdy obiekt Control jest oznaczony przez konkretną stałą wewnętrzną. Na przykład, stała wewnętrzna acTextBox jest skojarzona z polem tekstowym, a stała acCommandButton jest skojarzona z przyciskiem polecenia. Stałe różnych formantów programu Microsoft Access są przedstawione we właściwości ControlType formantu.

Aby ustalić typ istniejącego formantu, należy użyć właściwości ControlType. Jednak znajomość określonego typu formantu nie jest konieczna, aby można go było użyć w kodzie. Można po prostu reprezentować go za pomocą zmiennej o typie danych Control.

Jeśli nie jest znany typ danych formantu, do którego następuje odwołanie, a formant jest wbudowanym formantem programu Microsoft Access, należy go reprezentować za pomocą zmiennej określonego typu. Jeśli na przykład wiadomo, że konkretny formant jest polem tekstowym, to reprezentującą go zmienną należy zadeklarować jako zmienną typu TextBox, jak to zostało pokazane w poniższym kodzie.

Dim txt As TextBox

Set txt = Forms!Employees!LastName

Uwaga   Jeśli formant jest formantem ActiveX, to reprezentującą go zmienną należy zadeklarować jako zmienną typu Control; nie można użyć określonego typu. Przy braku pewności co do typu formantu, na który powinna wskazywać zmienna, należy ją zadeklarować jako zmienną typu Control.

Formant grupy opcji może zawierać inne formanty w swej kolekcji Controls, łącznie z formantami przycisków opcji, pól wyboru, przycisków przełącznika i etykiet.

Formant karty zawiera kolekcję Pages, która jest specjalnym typem kolekcji Controls. Kolekcja Pages zawiera obiekty Page, które są formantami. Każdy obiekt Page zawiera z kolei kolekcję Controls zawierającą wszystkie formanty na danej stronie.

Inne obiekty Control mają kolekcję Controls, która może zawierać dołączoną etykietę. Do formantów tych należy pole tekstowe, grupa opcji, przycisk opcji, przycisk przełącznika, pole wyboru, pole kombi, pole listy, przycisk polecenia, związana ramka obiektu i niezwiązana ramka obiektu.


Control, obiekt; Controls, kolekcja - przykład
Control, obiekt; Controls, kolekcja – przykład

W poniższym przykładzie przeglądane są wszystkie formanty w kolekcji Controls formularza. Z modułu formularza wywoływana jest procedura, a słowo kluczowe Me jest użyte do przekazania obiektu Form do  procedury. Jeśli formant jest polem tekstowym, procedura ustawia niektóre właściwości.

' Call SetTextBoxProperties procedure.

SetTextBoxProperties Me

Sub SetTextBoxProperties(frm As Form)

Dim ctl As Control

' Enumerate Controls collection.

For Each ctl In frm.Controls

' Check to see if control is text box.

If ctl.ControlType = acTextBox Then

' Set control properties.

With ctl

.SetFocus

.Enabled = True

.Height = 400

.SpecialEffect = 0

End With

End If

Next ctl

End Sub


Form, obiekt

Obiekt Form odwołuje się do konkretnego formularza programu Microsoft Access

Uwagi

Obiekt Form jest elementem kolekcji Forms, która jest kolekcją wszystkich aktualnie otwartych formularzy. W kolekcji Forms poszczególne formularze są indeksowane poczynając od zera. Do pojedynczego obiektu Form w kolekcji Forms można się odwołać przez podanie nazwy formularza albo przez podanie jego indeksu w kolekcji. Chcąc odwołać się do określonego formularza w kolekcji Forms lepiej jest odwołać się do niego według nazwy, ponieważ indeks kolekcji formularzy może się zmienić. Jeśli nazwa formularza zawiera spację, nazwa ta musi być ujęta w nawiasy kwadratowe ([ ]).

Składnia	Przykład
Forms!nazwaformularza	Forms!OrderForm
Forms![nazwa formularza]	Forms![Order Form]
Forms("nazwaformularza")	Forms("OrderForm")
Forms(indeks)	Forms(0)
Każdy obiekt Form ma kolekcję Controls, która zawiera wszystkie formanty formularza. Odwołując się do formantu w formularzu można odwołać się do kolekcji Controls jawnie albo niejawnie. Kod będzie wykonywany szybciej, jeśli odwołanie do kolekcji Controls będzie niejawne. W poniższym przykładzie zostały przedstawione dwa sposoby odwoływania się do formantu o nazwie "NewData" w formularzu o nazwie "OrderForm":

' Implicit reference.

Forms!OrderForm!NewData

' Explicit reference.

Forms!OrderForm.Controls!NewData

W dwóch następnych przykładach został pokazany sposób odwoływania się do formantu o nazwie "NewData" na podformularzu ctlSubForm zawartym w formularzu o nazwie "OrderForm":

Forms!OrderForm.ctlSubForm.Form!Controls.NewData

Forms!OrderForm.ctlSubForm!NewData


Forms, kolekcja

Kolekcja Forms zawiera wszystkie formularze aktualnie otwarte w bazie danych programu Microsoft Access.

Uwagi

Kolekcja Forms jest używana do odwoływania się w kodzie języka Visual Basic lub w wyrażeniu do aktualnie otwartych formularzy. Można na przykład przeglądać kolekcję Forms w celu ustawienia lub zwrócenia wartości właściwości poszczególnych formularzy w kolekcji.

Wskazówka   Do przeglądania kolekcji przydatna jest instrukcja For Each...Next.

Do indywidualnego obiektu Form w kolekcji Forms można się odwoływać według nazwy lub przez podanie jego indeksu w kolekcji. Chcąc się odwołać do określonego formularza w kolekcji Forms lepiej jest odwołać się do niego według nazwy, ponieważ indeks kolekcji formularzy może się zmienić.

Kolekcja Forms jest indeksowana poczynając od zera. Odwołując się do formularza według jego indeksu najpierw otwiera się formularz Forms(0), jako drugi otwiera się formularz Forms(1) itd. Jeśli został otwarty formularz Form1, a następnie otwarty formularz Form2, do formularza Form2 w kolekcji Forms należy się odwoływać według indeksu jako do Forms(1). Jeśli następnie zostanie zamknięty formularz Form1, do formularza Form2 w kolekcji Forms należy się odwoływać według indeksu jako do Forms(0).

Uwaga   Aby wyświetlić listę wszystkich otwartych lub zamkniętych formularzy w bazie danych, należy dokonać przeglądu kolekcji Documents obiektu Container formularzy. Można następnie użyć właściwości Name każdego indywidualnego obiektu Document do zwrócenia nazwy formularza.

Obiektu Form nie można dodać ani usunąć z kolekcji Forms.


Form, obiekt; Forms, kolekcja - przykład
Form, obiekt; Forms, kolekcja – przykład

W poniższym przykładzie tworzony jest nowy formularz i ustawiane są niektóre jego właściwości:

Sub NewForm()

Dim frm As Form

' Create new form.

Set frm = CreateForm

' Set form properties.

With frm

.RecordSource = "Products"

.Caption = "Products Form"

.ScrollBars = 0

.NavigationButtons = True

End With

' Restore form.

DoCmd.Restore

End Sub

W następnym przykładzie przeglądana jest kolekcja Forms i wyświetlane są nazwy formularzy z tej kolekcji. Następnie przeglądana jest kolekcja Controls każdego formularza i wyświetlane są nazwy formantów z tej kolekcji.

Sub AllOpenForms()

Dim frm As Form, ctl As Control

' Enumerate Forms collection.

For Each frm In Forms

' Print name of form.

Debug.Print frm.Name

' Enumerate Controls collection of each form.

For Each ctl In frm.Controls

' Print name of each control.

Debug.Print ">>>"; ctl.Name

Next ctl

Next frm

End Sub

W poniższym przykładzie kolekcja Forms została uzyta w wyrażeniu. Jeśli istnieje formularz o nazwie "Orders" (Zamówienia) z formantem o nazwie "ShipCountry" (KrajOdbiorcy), można użyć funkcji IIf do zwrócenia wartości na podstawie bieżącej wartości formantu. Jeśli formant "ShipCountry" ma wartość Null, wyrażenie zwróci ciąg zerowej długości. W przeciwnym wypadku wyrażenie zwróci zawartość pola. Należy wprowadzić poniższe wyrażenie do właściwości ControlSource (ŹródłoFormantu) pola tekstowego w formularzu:

= IIf(IsNull(Forms!Orders! ShipCountry), "", Forms!Orders!ShipCountry)


Report, obiekt

Obiekt Report odwołuje się do konkretnego raportu programu Microsoft Access.

Uwagi

Obiekt Report jest elementem kolekcji Reports, która jest kolekcją wszystkich aktualnie otwartych raportów. W kolekcji Reports poszczególne raporty są indeksowane poczynając od zera. Do pojedynczego obiektu Report w kolekcji Reports można się odwołać przez podanie nazwy formularza albo przez podanie jego indeksu w kolekcji. Jeśli nazwa raportu zawiera spację, nazwa ta musi być ujęta w nawiasy kwadratowe ([ ]).

Składnia	Przykład
Reports!nazwaraportu	Reports!OrderReport
Reports![nazwa raportu]	Reports![Order Report]
Reports("nazwaraportu")	Reports("OrderReport")
Reports(indeks)	Reports(0)
Każdy obiekt Report ma kolekcję Controls, która zawiera wszystkie formanty raportu. Odwołując się do formantu w raporcie można odwołać się do kolekcji Controls jawnie albo niejawnie. Kod będzie wykonywany szybciej, jeśli odwołanie do kolekcji Controls będzie niejawne. W poniższych przykładach zostały przedstawione dwa sposoby odwoływania się do formantu o nazwie "NewData" w raporcie o nazwie "OrderReport".

' Implicit reference.

Reports!OrderReport!NewData

' Explicit reference.

Reports!OrderReport.Controls!NewData


Reports, kolekcja

Kolekcja Reports zawiera wszystkie raporty aktualnie otwarte w bazie danych programu Microsoft Access.

Uwagi

Kolekcja Reports jest używana do odwoływania się w kodzie języka Visual Basic lub w wyrażeniu do aktualnie otwartych obecnie. Można na przykład przejrze kolekcję Reports w celu ustawienia lub zwrócenia wartości właściwości poszczególnych raportów w kolekcji.

Wskazówka   Do przeglądania kolekcji przydatna jest instrukcja For Each...Next.

Do pojedynczego obiektu Report w kolekcji Reports można się odwołać przez podanie jego nazwy albo przez podanie jego indeksu w kolekcji.

Kolekcja Reports jest indeksowana poczynając od zera. Odwołując się do raportu przez podanie indeksu należy pamiętać, że pierwszym raportem jest Reports(0), drugim raportem jest Reports(1) itd. Jeśli został otwarty raport Report1, a następnie raport Report2, do raportu Report2 w kolekcji Reports należy się odwoływać według indeksu jako do Reports(1). Jeśli następnie zostanie zamknięty raport Report1, do raportu Report2 w kolekcji Reports należy się odwoływać według indeksu jako do Reports(0).

Uwaga   Aby wyświetlić listę wszystkich otwartych lub zamkniętych raportów w bazie danych, należy dokonać przeglądu kolekcji Documents obiektu Container raportów. Można następnie użyć właściwości Name każdego indywidualnego obiektu Document do zwrócenia nazwy raportu.

Obiektu Report nie można dodać ani usunąć z kolekcji Reports.


Report, obiekt; Reports, kolekcja - przykład
Report, obiekt; Reports, kolekcja – przykład

W poniższym przykładzie tworzony jest nowy raport i ustawiane są niektóre jego właściwości:

Sub NewReport()

Dim rpt As Report

' Return variable of data type Report pointing to new Report object.

Set rpt = CreateReport

' Set properties for new report.

With rpt

.RecordSource = "Products"

.Caption = "Products Report"

End With

' Restore new report.

DoCmd.Restore

End Sub

W następnym przykładzie przeglądana jest kolekcja Reports i wyświetlane są nazwy raportów z tej kolekcji. Następnie przeglądana jest kolekcja Controls każdego raportu i wyświetlane są nazwy formantów z tej kolekcji.

Sub AllOpenReports()

Dim rpt As Report, ctl As Control

' Enumerate Reports collection.

For Each rpt In Reports

' Print name of report.

Debug.Print rpt.Name

' Enumerate Controls collection of each report.

For Each ctl In rpt.Controls

' Print name of each control.

Debug.Print ">>>"; ctl.Name

Next ctl

Next rpt

End Sub


Screen, obiekt

Obiekt Screen odwołuje się do konkretnego formularza, raportu lub formantu, który ma obecnie fokus.

Uwagi

Obiektu Screen można używać wraz z jego właściwościami do odwoływania się do konkretnego formularza, raportu lub formantu, który ma fokus. Można na przykład użyć obiektu Screen z właściwością ActiveForm do odwołania się do formularza w aktywnym oknie, bez znajomości nazwy formularza. W poniższym przykładzie wyświetlana jest nazwa formularza w aktywnym oknie:

MsgBox Screen.ActiveForm.Name

Odwołanie się do obiektu Screen nie powoduje, że formularz, raport lub formant staje się aktywny. Aby uaktywnić formularz, raport lub formant, należy zastosować metodę SelectObject obiektu DoCmd.

Jeśli odwołanie do obiektu Screen odbywa się przy braku aktywnego formularza, raportu lub formantu, program Microsoft Access zwraca błąd wykonania. Na przykład, jeśli w aktywnym oknie jest moduł standardowy, kod z poprzedniego przykładu spowoduje zwrócenie błędu.


Screen, obiekt - przykład
Screen, obiekt – przykład

W poniższym przykładzie obiekt Screen używany jest do wyświetlenia nazwy formularza znajdującego się w aktywnym oknie oraz nazwy aktywnego formantu w tym formularzu:

Sub ActiveObjects()

Dim frm As Form, ctl As Control

' Return Form object pointing to active form.

Set frm = Screen.ActiveForm

MsgBox frm.Name & " is the active form."

' Return Control object pointing to active control.

Set ctl = Screen.ActiveControl

MsgBox ctl.Name & " is the active control " _

& "on this form."

End Sub


Module, obiekt

Obiekt Module odwołuje się do modułu standardowego lub modułu klasy.

Uwagi

Program Microsoft Access zawiera moduły klasy nie związane z żadnym obiektem oraz moduły formularza i moduły raportu związane z formularzem lub raportem.

Aby dowiedzieć się, czy obiekt Module reprezentuje moduł standardowy czy moduł klasy, należy sprawdzić właściwość Type tego obiektu Module.

Kolekcja Modules zawiera wszystkie otwarte obiekty Module, niezależnie od ich typów. Moduły w kolekcji Modules mogą być skompilowane lub nie.

Aby zwrócić odwołanie do określonego modułu (obiektu Module) standardowego lub modułu klasy w kolekcji Modules, należy użyć jednej z poniższych składni.

Składnia	Opis
Modules!nazwamodułu	Argument nazwamodułu jest nazwą obiektu Module.
Modules("nazwamodułu")	Argument nazwamodułu jest nazwą obiektu Module.
Modules(indeks)	Argument indeks jest liczbą określającą pozycję obiektu w kolekcji.
Poniższy kod przykładowy zwraca odwołanie do standardowego obiektu Module i przypisuje go zmiennej obiektowej:

Dim mdl As Module

Set mdl = Modules![Utility Functions]

Należy zauważyć, że nawias obejmujący nazwę obiektu Module jest konieczny tylko wtedy, gdy nazwa obiektu Module zawiera spacje.

Następny kod przykładowy zwraca odwołanie do obiektu Module formularza i przypisuje go zmiennej obiektowej:

Dim mdl As Module

Set mdl = Modules!Form_Employees

Aby odwołać się do określonego modułu formularza lub raportu, można również użyć właściwości Module obiektu Form lub Report:

Forms!nazwaformularza.Module

Poniższy kod przykładowy zwraca odwołanie do obiektu Module związanego z formularzem "Employees" i przypisuje go zmiennej obiektowej:

Dim mdl As Module

Set mdl = Forms!Employees.Module

Gdy odwołanie zostanie zwrócone do obiektu Module, można ustawić lub odczytać jego właściwości i zastosować jego metody.


Module, obiekt; Modules, kolekcja - przykład
Module, obiekt; Modules, kolekcja – przykład

Poniższy kod przykładowy zwraca odwołanie do obiektu Module z kolekcji Modules i drukuje liczbę wierszy kodu zawartego w module:

Function LinesInModule(strModuleName As String) As Long

Dim mdl As Module

On Error GoTo Error_LinesInModule

' Open module.

DoCmd.OpenModule strModuleName

' Return reference to Module object.

Set mdl = Modules(strModuleName)

' Return number of lines in module.

LinesInModule = mdl.CountOfLines

Exit_LinesInModule:

Exit Function

Error_LinesInModule:

MsgBox Err & ": " & Err.Description

' If function fails, return -1.

LinesInModule = -1

Resume Exit_LinesInModule

End Function


Modules, kolekcja

Kolekcja Modules zawiera wszystkie moduły standardowe i moduły klasy otwarte w bazie danych programu Microsoft Access.

Uwagi

Można przejrzeć kolekcję Modules używając instrukcji For Each...Next. Aby dowiedzieć się, czy dany obiekt Module reprezentuje moduł standardowy czy moduł klasy, należy sprawdzić właściwość Type tego obiektu Module.

Kolekcja Modules obejmuje wszystkie otwarte moduły, niezależnie do tego, czy są skompilowane czy nie, czy są w trybie przerwania lub czy zawierają kod, który jest właśnie wykonywany.

Kolekcja Modules należy do obiektu Application programu Microsoft Access.

Poszczególne obiekty Module w kolekcji Modules są indeksowane, począwszy do numeru 0.


Page, obiekt

Obiekt Page odpowiada pojedynczej stronie formantu karty.

Uwagi

Obiekt Page jest elementem kolekcji Pages formantu karty.

Aby zwrócić odwołanie do określonego obiektu Page z kolekcji Pages, należy użyć jednej z poniższych składni.

Składnia	Opis
Pages!nazwastrony	Argument nazwastrony jest nazwą obiektu Page.
Pages("nazwastrony")	Argument nazwastrony jest nazwą obiektu Page.
Pages(indeks)	Argument indeks jest liczbą określającą pozycję obiektu w kolekcji.
Można tworzyć, przenosić i usuwać obiekty Page oraz ustawiać ich właściwości zarówno w programie Visual Basic, jak i w widoku "Projekt" formularza. Aby utworzyć nowy obiekt Page w języku Visual Basic, należy użyć metody Add z kolekcji Pages. Aby usunąć obiekt Page należy zastosować metodę Remove z kolekcji Pages.

Aby utworzyć nowy obiekt Page w widoku "Projekt" formularza, należy prawym przyciskiem myszy kliknąć formant typu karta, a następnie kliknąć polecenie Wstaw stronę w menu podręcznym. Można również skopiować istniejącą stronę i wkleić ją. Właściwości nowego obiektu Page można ustawić w widoku "Projekt" formularza używając arkusza właściwości.

Każdy obiekt Page ma właściwość PageIndex (IndeksStrony), która określa jego pozycję w kolekcji Pages. Wartość właściwości Value (Wartość) formantu karty jest równa wartości właściwości PageIndex bieżącej strony. Można użyć tych właściwości, aby sprawdzić, która strona jest aktualnie wybrana po przełączeniu się użytkownika z jednej strony na drugą, albo żeby zmienić kolejność, w jakiej strony pojawiają się w formancie.

Obiekt Page jest także typem obiektu Control. Stałą właściwości ControlType obiektu Page jest acPage. Chociaż jest to formant, obiekt Page należy do kolekcji Pages, a nie do kolekcji Controls. Kolekcja Pages formantów kart jest specjalnym typem kolekcji Controls.

Każdy obiekt Page może także zawierać jeden lub kilka formantów. Formanty obiektu Page należą do kolekcji Controls tego obiektu Page. Aby pracować z formantem danego obiektu Page, trzeba odwołać się do tego formantu w obrębie kolekcji Controls tego obiektu Page.


Page, obiekt; Pages, kolekcja - przykład
Page, obiekt; Pages, kolekcja – przykład

Poniższa procedura zdarzenia wylicza wszystkie formanty na każdej stronie formantu karty po wybraniu przez użytkownika danej strony.

Aby przetestować ten przykład, należy utworzyć nowy formularz z formantem karty o nazwie "TabCtl0" i ustawić właściwość OnChange (PrzyZmianie) tego formularza na wartość [Procedura zdarzenia]. Następnie należy wkleić poniższy kod do modułu formularza. Można przełączyć się do widoku "Formularz" i klikać różne karty, aby wyliczyć ich formanty.

Private Sub TabCtl0_Change()

Dim tbc As Control, pge As Page

Dim ctl As Control

' Return reference to tab control.

Set tbc = Me!TabCtl0

' Return reference to currently selected page.

Set pge = tbc.Pages(tbc.Value)

' Enumerate controls on currently selected page.

Debug.Print pge.Name & " Controls:"

For Each ctl In pge.Controls

Debug.Print ctl.Name

Next ctl

Debug.Print

End Sub


Pages, kolekcja

Kolekcja Pages zawiera wszystkie obiekty Page w formancie karty.

Uwagi

Kolekcja Pages jest specjalnym rodzajem kolekcji Controls należącej do formantów kart. Zawiera ona obiekty Page, które są formantami. Kolekcja Pages różni się od typowej kolekcji Controls tym, że można do niej dodawać i usuwać z niej obiekty Page stosując metody kolekcji Pages.

Aby dodać nowy obiekt Page do kolekcji Pages z języka Visual Basic, należy użyć metody Add tej kolekcji Pages. Aby usunąć istniejący obiekt Page, należy użyć metody Remove tej kolekcji Pages. Aby policzyć obiekty Page w kolekcji Pages, należy użyć właściwości Count tej kolekcji Pages.

Aby dodać obiekt Page do kolekcji Pages formantu karty można także zastosować metodę CreateControl. W tym celu należy określić nazwę formantu karty w argumencie parent funkcji CreateControl. Stałą właściwości ControlType obiektu Page jest acPage.

Można przejrzeć kolekcję Pages używając instrukcji For Each...Next.

Poszczególne obiekty Page kolekcji Pages są indeksowane, począwszy do numeru 0.


Reference, obiekt

Obiekt Reference odnosi się do odwołania ustawionego na bibliotekę typów innej aplikacji lub projektu.

Uwagi

Kiedy tworzony jest obiekt Reference, odwołanie jest ustawiane dynamicznie z języka Visual Basic.

Obiekt Reference jest elementem kolekcji References. Aby odwołać się do określonego obiektu Reference w kolekcji References, należy użyć jednej z poniższych składni.

Składnia	Opis
References!nazwaodwołania	Argument nazwaodwołania jest nazwą obiektu Reference.
References("nazwaodwołania")	Argument nazwaodwołania jest nazwą obiektu Reference.
References(indeks)	Argument indeks jest liczbą określającą pozycję obiektu w kolekcji.
Poniższy kod przykładowy odwołuje się do obiektu Reference reprezentującego odwołanie do biblioteki typów programu Microsoft Access:

Dim ref As Reference

Set ref = References!Access


Reference, obiekt; References, kolekcja - przykład
Reference, obiekt; References, kolekcja – przykład

Poniższy kod przykładowy tworzy odwołanie do określonej biblioteki typów:

Function ReferenceFromFile(strFileName As String) As Boolean

Dim ref As Reference

On Error GoTo Error_ReferenceFromFile

Set ref = References.AddFromFile(strFileName)

ReferenceFromFile = True

Exit_ReferenceFromFile:

Exit Function

Error_ReferenceFromFile:

MsgBox Err & ": " & Err.Description

ReferenceFromFile = False

Resume Exit_ReferenceFromFile

End Function

Można wywołać tę funkcję używając procedury, takiej jak poniższa, która tworzy odwołanie do formantu Kalendarz:

Sub CreateCalendarReference()

If ReferenceFromFile("C:\Windows\System\Mscal.ocx") = True Then

MsgBox "Reference set successfully."

Else

MsgBox "Reference not set successfully."

End If

End Sub


References, kolekcja

Kolekcja References zawiera obiekty Reference reprezentujące wszystkie aktualnie ustawione odwołania.

Uwagi

Obiekty Reference w kolekcji References odpowiadają liście odwołań w oknie dialogowym Odwołania, dostępnym przez kliknięcie polecenia Odwołania w menu Narzędzia. Każdy obiekt Reference reprezentuje jedno odwołanie wybrane z listy. Odwołań, które nie zostały wybrane, nie ma w kolekcji References, nawet jeśli pojawiają się w oknie dialogowym Odwołania.

Można przejrzeć kolekcję References używając instrukcji For Each...Next.

Kolekcja References należy do obiektu Application programu Microsoft Access.

Poszczególne obiekty Reference kolekcji References są indeksowane, począwszy do numeru 1.


hWndAccessApp, właściwość

Właściwości hWndAccessApp można użyć do określenia uchwytu przypisanego przez system Microsoft Windows do głównego okna programu Microsoft Access.

Ustawienie

Właściwość hWndAccessApp jest wartością typu Liczba całkowita długa, jest ustawiana przez program Microsoft Access i jest tylko do odczytu.

Uwagi

Właściwości tej można użyć w kodzie języka Visual Basic przy wywoływaniu funkcji interfejsu programowania aplikacji Windows API lub innych procedur zewnętrznych, które jako argumentu wymagają podania uchwytu okna.

Aby uzyskać uchwyt okna zawierającego obiekt programu Microsoft Access, taki jak Form lub Report należy użyć właściwości hWnd.


PictureType, właściwość

Właściwości PictureType (TypRysunku) można użyć, aby określić, czy rysunek, który program Microsoft Access ma przechowywać w obiekcie, ma być przechowywany jako obiekt połączony czy jako obiekt osadzony.

Ustawienia

Właściwość PictureType może mieć następujące ustawienia.

Ustawienie	Opis	Visual Basic
Osadzony	(Wartość domyślna) Rysunek jest osadzony w obiekcie i staje się częścią pliku bazy danych.	0
Połączony	Rysunek jest połączony z obiektem. Program Microsoft Access przechowuje wskaźnik do miejsca na dysku w którym znajduje się rysunek.	1
Właściwość PictureType można ustawić za pomocą arkusza właściwości obiektu, makra lub za pomocą kodu języka Visual Basic.

Właściwość tę można ustawić dla formularza tylko w widoku "Projekt" formularza lub dla raportu w widoku "Projekt" raportu.

Dla formantów można ustawić wartość domyślną tej właściwości używając domyślnego stylu formantu lub metody DefaultControl języka Visual Basic.

Uwagi

Jeśli właściwość ta jest ustawiona na wartość "Osadzony", rozmiar bazy danych powiększa się o rozmiar pliku rysunku i w przypadku niektórych plików formatu .wmf rozmiar ten może wzrosnąć dwukrotnie w stosunku do rozmiarów pliku rysunku. Jeśli właściwość ta jest ustawiona na wartość "Połączony", to rozmiar bazy danych nie wzrasta, ponieważ program Microsoft Access przechowuje tylko wskaźnik do miejsca na dysku, w którym znajduje się rysunek.

Uwaga   Jeśli połączony plik zostanie przeniesiony do innego miejsca na dysku trzeba ponownie ustanowić połączenie, używając do tego właściwości Picture obiektu.

W przypadku rysunków osadzonych, właściwość PictureData przechowuje wszystkie bity z których składa się rysunek. Natomiast dla rysunków połączonych, właściwość ta przechowuje tylko ścieżkę dostępu do pliku rysunku.

Rysunek połączony można modyfikować wykorzystując oddzielną aplikację. Zmiany dokonane w rysunku pojawią się po ponownym wyświetleniu w bazie danych obiektu zawierającego ten rysunek.


Assistant, właściwość

Właściwości Assistant można użyć, aby zwrócić odwołanie do obiektu Assistant.

Ustawienie

[aplikacja.]Assistant[.metoda lub właściwość]

Dla właściwości Assistant używane są następujące ustawienia.

Ustawienie	Opis
aplikacja	Ustawienie opcjonalne. Obiekt typu Application.
Assistant	Wymagane. Jeśli ustawienie to zostanie użyte bez określenia metody lub właściwości, zostanie zwrócona właściwość Item obiektu Assistant.
metoda lub właściwość	Metoda lub właściwość obiektu Assistant.
Z właściwości Assistant można korzystać tylko w języku Visual Basic.

Uwagi

Po ustanowieniu odwołania do obiektu Assistant użytkownik uzyskuje dostęp do wszystkich właściwości i metod tego obiektu. Odwołanie do obiektu Assistant można utworzyć klikając podczas pracy z modułem w widoku "Projekt" polecenie Odwołania w menu Narzędzia. Następnie w oknie dialogowym Odwołania należy ustawić odwołanie do biblioteki obiektów Microsoft Office 8.0, zaznaczając odpowiednie pole wyboru. Program Microsoft Access może ustawić to odwołanie, jeśli do ustawienia właściwości obiektu Assistant lub jako argument metody obiektu Assistant zostanie użyta stała z biblioteki obiektów Microsoft Office 8.0.


Assistant, właściwość - przykład
Assistant, właściwość – przykład

W poniższym przykładzie właściwość Assistant obiektu Application została użyta do manipulowania różnymi właściwościami i metodami obiektu Assistant. Aby przetestować ten przykład należy wkleić poniższy kod do sekcji deklaracji modułu standardowego, następnie używając okna dialogowego Odwołania (okno to można wyświetlić wybierając z menu Narzędzia polecenie Odwołania) należy utworzyć odwołanie do biblioteki obiektów Microsoft Office 8.0. Po wykonaniu tych czynności należy kliknąć w dowolnym miejscu wewnątrz procedury i nacisnąć klawisz F5, aby tę procedurę uruchomić.

Sub AnimateAssistant()

Dim blnState As Boolean

With Assistant

' Save Assistant's visible state.

blnState = .Visible

' Make Assistant visible.

If blnState = False Then .Visible = True

' Animate Assistant.

.Animation = msoAnimationAppear

' Display Assistant object's Item and FileName properties.

MsgBox "Hello, my name is " & .Item & ". I live in " & .FileName, , "Assistant Information:"

' Return Assistant's visible state to original setting.

.Visible = blnState

End With

End Sub


CommandBars, właściwość

Właściwość CommandBars zwraca odwołanie do kolekcji obiektów typu CommandBars.

Ustawienie

[aplikacja.]CommandBars[.metoda lub właściwość]

Dla właściwości CommandBars używane są następujące ustawienia.

Ustawienie	Opis
aplikacja	Ustawienie opcjonalne. Obiekt typu Application.
CommandBars	Wymagane. Jeśli zostanie użyte bez określania metody lub właściwości, zwraca obiekt kolekcji CommandBars.
metoda lub właściwość	Metoda lub właściwość obiektu kolekcji CommandBars. Właściwość Item (kolekcje) jest domyślną właściwością obiektu kolekcji CommandBars.
Właściwość CommandBars może być użyta tylko w kodzie języka Visual Basic.

Uwagi

Obiekt kolekcji CommandBars jest to kolekcja wszystkich wbudowanych i niestandardowych pasków poleceń w aplikacji. Można odwoływać się do poszczególnych elementów kolekcji, wykorzystując do tego celu indeks obiektu lub wyrażenie typu ciąg znaków, które jest nazwą obiektu będącego elementem kolekcji. Wartość indeksu pierwszego elementu kolekcji wynosi 1, a łączna liczba elementów kolekcji jest równa wartości właściwości Count kolekcji CommandBars.

Po utworzeniu odwołania do obiektu kolekcji CommandBars użytkownik uzyskuje dostęp do wszystkich właściwości i metod obiektu. Odwołanie do obiektu kolekcji CommandBars można utworzyć wybierając podczas pracy z modułem w widoku "Projekt" polecenie Odwołania z menu Narzędzia. Odwołanie do biblioteki obiektów Microsoft Office 8.0 można utworzyć zaznaczając w oknie dialogowym Odwołania odpowiednie pole wyboru.


CommandBars, właściwość - przykład
CommandBars, właściwość – przykład

W poniższym przykładzie właściwość CommandBars obiektu Application jest używana do manipulowania różnymi właściwościami i metodami obiektu kolekcji CommandBars. Aby przetestować ten przykład należy wkleić poniższy kod do sekcji deklaracji modułu standardowego, następnie używając okna dialogowego Odwołania (okno to można wyświetlić wybierając z menu Narzędzia polecenie Odwołania) należy utworzyć odwołanie do biblioteki obiektów Microsoft Office 8.0. Po wykonaniu tych czynności należy kliknąć w dowolnym miejscu wewnątrz procedury GetCommandBarInfo i nacisnąć klawisz F5 aby tę procedurę uruchomić.

Sub GetCommandBarInfo()

Dim strCBBarName As String

strCBBarName = InputBox("Enter the name of a command bar", "Get CommandBar Information", "Menu Bar")

If Len(strCBBarName) > 0 Then

CommandBarInfo strCBBarName

End If

End Sub

Sub CommandBarInfo(strCBBarName As String)

Dim cbr As CommandBar

On Error Resume Next

Set cbr = CommandBars(strCBBarName)

If Err = 0 then

With cbr

MsgBox "The command bar named '" & .Name & "' contains " & _

.Controls.Count & IIf(.Controls.Count = 1, " control and ", _

" controls and ") & IIf(.BuiltIn, "is", "is not") & _

" a built-in toolbar", vbOKOnly, "'" & _

.Name & "' Information:"

End With

Else

MsgBox "Invalid CommandBar Name"

End If

End Sub


Item, właściwość (Kolekcje)

Właściwość Item zwraca wybrany element kolekcji zgodnie z podaną pozycją lub indeksem.

Ustawienie

obiekt.Item(indeks)

Dla właściwości Item używane są następujące ustawienia.

Ustawienie	Opis
obiekt	Jedna z następujących kolekcji: Controls, Forms, Modules, Pages, Properties,, Reports.
indeks	Wyrażenie, które określa pozycję elementu kolekcji określonej przez argument obiekt. Jeśli jest to wyrażenie numeryczne, to wartość argumentu indeks musi być liczbą z przedziału od 0 do liczby równej właściwość Count kolekcji minus 1. Jeśli jest to wyrażenie typu ciąg znaków, argument indeks musi być nazwą elementu kolekcji.
Właściwość Item może być użyta tylko w kodzie języka Visual Basic i jest tylko do odczytu.

Uwagi

Jeśli wartość przekazywana przez argument indeks nie odpowiada żadnemu składnikowi kolekcji, generowany jest błąd.

Właściwość Item jest domyślnym elementem kolekcji, dlatego też nie trzeba jej jawnie określać. Na przykład, poniższe dwa wiersze kodu są równoważne:

Debug.Print Modules(0)

Debug.Print Modules.Item(0)


OLEData, właściwość

Właściwości OLEData można użyć do kopiowania danych z jednej niezwiązanej ramki obiektu do innej lub z jednego formantu ActiveX do innego.

Ustawienie

nazwaformantu.OLEData

Dla właściwości OLEData używane są następujące ustawienia.

Ustawienie	Opis
nazwaformantu	Wymagane. Nazwa formantu typu niezwiązana ramka obiektu.
OLEData	Wymagane. Dane zawarte w niezwiązanej ramce obiektu lub w formancie ActiveX.
Z właściwości OLEData można korzystać tylko w kodzie języka Visual Basic. W przypadku formantów ActiveX, właściwość OLEData jednego formantu może być ustawiona na właściwość OLEData innego formantu ActiveX tylko w widoku "Projekt".

Uwagi

Za pomocą tej właściwości, w niezwiązanej ramce obiektu można wyświetlać dane znajdujące się w innej niezwiązanej ramce obiektu.

Jeśli właściwość OLEData jednego formantu typu ActiveX zostanie ustawiona na właściwość OLEData innego formantu typu ActiveX, pierwszy formant ActiveX staje się instancją drugiego z formantów. Na przykład, wynikiem podanego niżej przyporządkowania właściwości będzie zmiana formantu TreeView na formant Kalendarz:

Me!MyTreeViewControl.OLEData = Me!MyCalendarControl.OLEData


Properties, właściwość

Właściwość Properties zwraca odwołanie do obiektu kolekcji Properties formantu.

Ustawienie

nazwaformantu.Properties[.metoda lub właściwość]

Dla właściwości Properties używane są następujące ustawienia.

Ustawienie	Opis
nazwaformantu	Wymagane. Nazwa formantu, z którym związana jest kolekcja Properties. Do obiektu tej kolekcji ma nastąpić odwołanie.
Properties	Wymagane. Jeśli zostanie użyte bez określenia metody lub właściwości, zwraca obiekt kolekcji Properties.
metoda lub właściwość	Metoda lub właściwość obiektu kolekcji Properties. Właściwość Item (kolekcje) jest domyślną właściwością obiektu kolekcji Properties.
Właściwość Properties jest dostępna tylko w kodzie języka Visual Basic.

Uwagi

Obiekt kolekcji Properties jest kolekcją wszystkich właściwości dotyczących formantu. Można odwoływać się do poszczególnych elementów kolekcji za pomocą indeksu danego elementu lub za pomocą wyrażenia typu ciąg znaków, które jest nazwą elementu. Indeks pierwszego elementu równa się 0, a łączna liczba elementów jest równa wartości właściwości Count kolekcji Properties zmniejszonej o 1.


Properties, właściwość - przykład
Properties, właściwość – przykład

W poniższej procedurze właściwość Properties została użyta do wyświetlenia w oknie analizy programu wszystkich właściwości związanych z formantami formularza. Aby uruchomić ten kod należy umieścić na formularzu przycisk o nazwie "cmdListProperties" i wkleić do sekcji deklaracji formularza poniższy kod. Następnie należy kliknąć ten przycisk polecenia, aby w oknie analizy programu wywietlić listę właściwości.

Sub cmdListProperties_Click()

ListControlProps Me

End Sub

Sub ListControlProps(frm As Form)

Dim ctl As Control, prp As Property

On Error GoTo props_err

For Each ctl In frm.Controls

Debug.Print ctl.Properties("Name")

For Each prp In ctl.Properties

Debug.Print vbTab & prp.Name & " = " & prp.Value

Next prp

Next ctl

props_bye:

Exit Sub

props_err:

If Err = 2187 Then

Debug.Print vbTab & prp.Name & " = Only available at design time."

Resume Next

Else

Debug.Print vbTab & prp.Name & " = Error Occurred: " & Err

Resume Next

End If

End Sub


BorderColor, właściwość

Za pomocą właściwości BorderColor (KolorObramowania) można ustawić kolor obramowania formantu.

Ustawienie

Ustawieniem właściwości BorderColor jest wyrażenie numeryczne określające, jakiego koloru ma być obramowanie formantu.

Do ustawienia tej właściwości można użyć Konstruktora kolorów. W tym celu należy kliknąć przycisk Buduj  [image]  znajdujący się z prawej strony pola właściwości w arkuszu właściwości. Konstruktor kolorów umożliwia zdefiniowanie niestandardowych kolorów obramowania formantu.

Właściwość tę można również ustawić za pomocą przycisku Kolor linii/obramowania  [image] na pasku narzędzi Formatowanie (formularz/raport), makra lub kodu języka Visual Basic.

Wartość domyślną tej właściwości można ustawić za pomocą domyślnego stylu formantu danego formantu lub za pomocą metody DefaultControl języka Visual Basic.

Uwagi

Kolor obramowania formantu jest widoczny tylko wtedy, gdy jego właściwość SpecialEffect (EfektSpecjalny) jest ustawiona na wartość "Płaski" lub "Cieniowany". Jeśli ustawienie właściwości SpecialEffect jest inne niż "Płaski" lub "Cieniowany", ustawienie właściwości BorderColor zmienia wartość właściwości SpecialEffect na "Płaski".


BorderColor, BackColor, ForeColor, właściwości - przykład

W poniższym przykładzie funkcja RGB została użyta do ustawienia właściwości BorderColor (KolorObramowania), BackColor (KolorTła) i ForeColor (KolorCzcionki) w zależności od wartości pola tekstowego txtPastDue. Do ustawienia tych właściwości można również użyć funkcji QBColor. Umieszczenie w procedurze zdarzenia Form_Current( ) poniższego kodu ustawia sposób wyświetlania formantu bezpośrednio po otwarciu formularza przez użytkownika lub przejściu do nowego rekordu.

Sub Form_Current()

Dim curAmntDue As Currency, lngBlack As Long

Dim lngRed As Long, lngYellow As Long, lngWhite As Long

If Not IsNull(Me!txtPastDue.Value) Then

curAmntDue = Me!txtPastDue.Value

Else

Exit Sub

End If

lngRed = RGB(255, 0, 0)

lngBlack = RGB(0, 0, 0)

lngYellow = RGB(255, 255, 0)

lngWhite = RGB(255, 255, 255)

If curAmntDue > 100 Then

Me!txtPastDue.BorderColor = lngRed

Me!txtPastDue.ForeColor = lngRed

Me!txtPastDue.BackColor = lngYellow

Else

Me!txtPastDue.BorderColor = lngBlack

Me!txtPastDue.ForeColor = lngBlack

Me!txtPastDue.BackColor = lngWhite

End If

End Sub


BorderStyle, właściwość

•	Formularze. Za pomocą właściwości BorderStyle (StylObramowania) można określić typ obramowania i typ elementów obramowania (pasek tytułu, menu sterowania, przyciski Minimalizuj i Maksymalizuj lub przycisk Zamknij) używanych w formularzu. Zazwyczaj innych stylów obramowania używa się do zwykłych formularzy, innych do formularzy podręcznych, a innych do niestandardowych okien dialogowych.

•	Formanty. Właściwości BorderStyle można użyć do określenia wyglądu obramowania formantów.

Ustawienie

W przypadku formularzy dla właściwości BorderStyle używane są następujące ustawienia.

Ustawienie	opis	Visual Basic
Brak	Formularz nie ma obramowania ani związanych z nim elementów. Rozmiarów formularza nie można zmieniać.	0
Cienki	Formularz ma cienkie obramowanie i może zawierać dowolne elementy obramowania. Rozmiarów formularza nie można zmieniać (polecenie Rozmiar w menu sterowania jest niedostępne). Bardzo często ustawienie to jest wykorzystywane dla formularzy podręcznych (Jeśli formularz ma pozostawać na wierzchu wszystkich okien programu Microsoft Access, należy również ustawić właściwość PopUp (Podręczny) formularza na wartość "Tak").	1
Zmienny	(Ustawienie domyślne) Formularz ma domyślne obramowanie formularzy programu Microsoft Access, może zawierać dowolne elementy obramowania. Rozmiar formularza można zmieniać. Zwykle to ustawienie wykorzystuje się w zwykłych formularzach programu Microsoft Access.	2
Dialog	Formularz ma grube (podwójne) obramowanie i z elementów obramowania może zawierać tylko pasek tytułu, przycisk Zamknij i menu sterowania. Formularz nie może być maksymalizowany, minimalizowany, nie można zmienić jego rozmiarów (polecenia Maksymalizuj, Minimalizuj i Rozmiar nie są dostępne w menu sterowania). Tego ustawienia bardzo często używa się w niestandardowych oknach dialogowych (jeśli jednak formularz ma być modalny, trzeba ustawić jego właściwość Modalny (Modal) na wartość "Tak". Jeśli formularz ma być modalny i podręczny, a tak zachowują się zwykle okna dialogowe, to zarówno właściwość PopUp, jak i właściwość Modal muszą być ustawione na wartość "Tak").	3
Właściwość BorderStyle formularza można ustawić tylko w widoku "Projekt" formularza, Używając arkusza właściwości formularza, makra lub kodu języka Visual Basic.

W przypadku formantów dla właściwości BorderStyle używane są następujące ustawienia.

Ustawienie	Opis	Visual Basic
Przezroczysty	(Domyślne tylko dla etykiet, wykresów i podraportów). Przezroczysty	0
Pełny	(Domyślny) Linia ciągła	1
Kreska	Linia kreskowana	2
Krótka kreska	Linia kreskowana z krótkimi kreskami	3
Kropki	Linia kropkowana	4
Kropki z odstępem	Kropkowana linia z rozstrzelonymi kropkami	5
Kreska-Kropka	Linia będąca kombinacją kreska - kropka	6
Kreska-Kropka-Kropka	Linia będąca kombinacją kreska kropka kropka	7
Właściwość BorderStyle formantu można ustawić za pomocą arkusza właściwości, makra lub kodu języka Visual Basic.

Wartość domyślną tej właściwości można ustawić wykorzystując domyślny styl formantu tego formantu lub używając metody DefaultControl języka Visual Basic.

Uwagi

Styl obramowania formantu jest widoczny tylko wtedy, gdy jego właściwość SpecialEffect (EfektSpecjalny) jest ustawiona na wartość "Płaski" lub "Cieniowany". Jeśli właściwość SpecialEffect ustawiona jest na wartość inną niż "Płaski" lub "Cieniowany", ustawienie właściwości BorderStyle zmienia wartość właściwości SpecialEffect na "Płaski".

W przypadku formularza, właściwość BorderStyle ustawia wygląd formularza w taki sposób, że wizualnie można łatwo rozpoznać, czy formularz jest formularzem normalnym, podręcznym czy niestandardowym oknem dialogowym. Aby w jeszcze większym stopniu określić wygląd formularza, można ustawić jego właściwości Modal (Modalny) i PopUp (Podręczny).

Można również ustawić właściwości ControlBox (PoleMenuSterowania), CloseButton (PrzyciskZamknij), MinMaxButtons (PrzyciskiMinMax), ScrollBars (PaskiPrzewijania), NavigationButtons (PrzyciskiNawigacyjne) i RecordSelectors (Selektory Rekordów). Właściwości te wpływają na siebie w następujący sposób:

•	Jeśli właściwość BorderStyle ustawiona jest na wartość "Brak" lub "Dialog", to formularz nie będzie miał przycisków Maksymalizuj ani Minimalizuj, niezależnie od ustawienia właściwości MinMaxButtons.

•	Jeśli właściwość BorderStyle jest ustawiona na wartość "Brak", to formularz nie będzie miał menu sterowania, niezależnie od ustawienia właściwości ControlBox.

•	Właściwość BorderStyle nie ma wpływu na wyświetlanie pasków przewijania, przycisków nawigacyjnych, pola numeru rekordu ani selektorów rekordów.

Ustawienie właściwości BorderStyle wywołuje efekt tylko w widoku "Formularz" formularza. Ustawienie tej właściwości jest ignorowane w widoku "Projekt".

Jeśli właściwość BorderStyle formularza podręcznego ustawiona jest na wartość "Brak", nie można zamknąć formularza jeśli nie będzie na nim przycisku Zamknij, który uruchamia makro zawierające akcję Zamknij lub procedurę zdarzenia w języku Visual Basic, w której zostanie użyta metoda Close.

Formularze podręczne zwykle mają ustalone rozmiary, można jednak zmienić to zachowanie ustawiając właściwość PopUp formularza na wartość "Tak", a jego właściwość BorderStyle na wartość "Zmienny".

Aby otworzyć formularz z właściwościami Modal i PopUp ustawionymi na wartość "Tak", można w akcji OtwórzFormularz jako argumentu "Tryb okna" użyć wartości "Okno dialogowe".


ForeColor, właściwość

Właściwość ForeColor służy do określania koloru tekstu w formancie. Właściwości tej można użyć dla formantów znajdujących się na formularzach lub w raportach, aby stały się one bardziej czytelne lub aby nadać im specjalne znaczenie. Można na przykład zmienić kolor tekstu w formancie "UnitsInStock", jeśli jego wartość spada poniżej pewnego poziomu.

Właściwość ta może posłużyć do utworzenia specjalnych efektów graficznych na wydrukach z kolorowej drukarki. Właściwość ta użyta w raporcie określa kolor drukowania i rysowania w metodach Print, Line i Circle.

Ustawienie

Właściwość ForeColor zawiera wyrażenie numeryczne, które reprezentuje wartość koloru tekstu w formancie.

Do ustawienia tej właściwości można użyć Konstruktora kolorów, klikając przycisk Buduj  [image]  znajdujący się z prawej strony pola właściwości w arkuszu właściwości. Użycie Konstruktora kolorów umożliwia zdefiniowanie niestandardowych kolorów tekstu w formantach.

Właściwość tą można ustawić dla formantów za pomocą przycisku Kolor czcionki/pierwszoplanowy  [image]  na pasku narzędzi Formatowanie (formularz/raport), arkusza właściwości formantu, makra lub kodu języka Visual Basic.

Domyślną wartość tej właściwości można ustawić używając domyślnego stylu formantu lub metody DefaultControl języka Visual Basic.

W przypadku raportów, właściwość ForeColor można ustawić tylko za pomocą makra lub procedury zdarzenia w języku Visual Basic, określonej dla właściwości zdarzenia OnPrint (Przy wydruku) sekcji.

Dla obiektów TableDef lub QueryDef można ustawić tę właściwość za pomocą przycisku Kolor czcionki/pierwszoplanowy  [image]  na pasku narzędzi Formatowanie (arkusz danych) lub w języku Visual Basic używając właściwości DatasheetForeColor.

Uwagi

W przypadku pól tekstowych, pól kombi, etykiet i przycisków poleceń, które zawierają hiperłącza program Microsoft Access automatycznie ustawia właściwość ForeColor na kolor określony w polu Kolor obejrzanych hiperłączy lub w polu Kolor hiperłącza na karcie Hiperłącza/HTML okna dialogowego Opcje, które można wyświetlić klikając w menu Narzędzia polecenie Opcje. Jeśli z formantu zostanie usunięte hiperłącze (na przykład przez zmianę właściwości ControlSource (ŹródłoFormant) zwiazanego pola tekstowego na źródło które nie jest polem hiperłącza), program Microsoft Access ustawia właściwość ForeColor ponownie zgodnie z domyślnym stylem formantu. W przypadku przycisków poleceń ustawienie właściwości ForeColor przynosi , jeśli przycisk polecenia zawiera tytuł, a nie rysunek.


Picture, właściwość

Właściwość Picture służy do określenia mapy bitowej lub grafiki innego typu, która ma być wyświetlana na przycisku polecenia, formancie obrazu, przycisku przełącznika, stronie na formancie karty lub jako rysunek stanowiący tło formularza lub raportu. Na przyciskach może znajdować się tytuł albo rysunek.

Ustawienie

Właściwość Picture zawiera mapę bitową lub ścieżkę dostępu i nazwę pliku z mapą bitową lub z innym typem grafiki, która ma być wyświetlana.

Właściwość tą można ustawić używając:

•	Arkusza właściwości. Należy kliknąć przycisk Buduj  [image]  znajdujący się z prawej strony pola właściwości (dla przycisku polecenia lub przycisku przełącznika). Po wybraniu jednego z plików map bitowych wyświetlonych na liście Dostępne rysunki, właściwość ustawiana jest na wartość "mapa bitowa".

•	Makra.

•	Języka Visual Basic. Można użyć wyrażenia typu ciąg znaków, które zawiera ścieżkę dostępu i nazwę piku graficznego, tak jak w poniższym przykładzie:

btnShowLogo.Picture = "c:\Windows\Winlogo.bmp"

•	Polecenia Rysunek z menu Wstaw (dla formantów obrazu i rysunków na formularzach i w raportach), aby wybrać mapę bitową lub inny typ grafiki.

Domyślnym ustawieniem jest "Brak". Po załadowaniu mapy bitowej do obiektu, w ustawieniach właściwości wyświetlana jest wartość "mapa bitowa" lub ścieżka dostępu i nazwa pliku zawierającego grafikę. Po usunięciu tekstu "mapa bitowa" lub usunięciu ścieżki i nazwy pliku z pola właściwości, rysunek zostanie z obiektu usunięty a ustawienie właściwości ponownie przyjmie wartość "Brak".

Jeśli właściwość PictureType (TypRysunku) ustawiona jest na wartośćm "Osadzony", grafika jest przechowywana z obiektem.

Uwagi

Można tworzyć niestandardowe mapy bitowe używając programu Microsoft Paintbrush lub innej aplikacji tworzącej mapy bitowe. Plik z mapą bitową musi mieć rozszerzenie .bmp, .ico, lub.dib. Można także używać plików graficznych formatu.wmf lub.emf, lub dowolnych innych plików graficznych, dla których są zainstalowane filtry graficzne. Na formularzach, w raportach i w formantach obrazów można korzystać z każdego rodzaju grafiki. Dla przycisków poleceń i przycisków przełączników można używać tylko map bitowych.

Na przyciskach mogą być wyświetlane tytuły albo rysunki. Jeśli zostanie przypisany i tytuł i grafika, wyświetlana będzie tylko grafika - tytuł będzie niewidoczny. Jeśli rysunek zostanie usunięty, pojawi się na przycisku tytuł. Rysunek wyświetlany na przycisku przez program Microsoft Access jest tam wyśrodkowany i jeśli rozmiary rysunku są większe niż rozmiary przycisku, przycisk jest obcinany.

Wskazówka   Aby utworzyć przycisk polecenia lub przycisk przełącznika, na którym znajdzie się zarówno tytuł jak i rysunek, należy umieścić tytuł jako część mapy bitowej (rysunku) i przypisać tę mapę bitową właściwości Picture formantu.


Visible, właściwość

Właściwości Visible (Widoczny) można użyć do wyświetlenia lub ukrycia formularza, raportu, sekcji formularza lub raportu albo formantu. Właściwość ta może okazać się użyteczna, jeśli zachodzi konieczność uzyskania dostępu do informacji znajdujących się na formularzu, bez wyświetlania tych informacji. Można na przykład użyć wartości formantu znajdującego się na ukrytym formularzu, jako kryterium dla kwerendy.

Ustawienie

Dla właściwości Visible używane są następujące ustawienia.

Ustawienie	Opis	Visual Basic
Tak	(Domyślne) Obiekt jest widoczny.	True (–1)
Nie	Obiekt jest niewidoczny.	False (0)
Tę właściwość można ustawić używając arkusza właściwości obiektu (dla sekcji i wszystkich formantów oprócz formantu podziału strony), makra lub języka Visual Basic.

Dla formularzy i raportów można ustawi tę właściwość używając makr lub języka Visual Basic.

Dal formantów można ustawić wartość domyślną właściwości używając domyślnego stylu formantu lub metody DefaultControl języka Visual Basic.

Uwagi

Właściwość Visible nie ma wpływu na kolumny w widoku "Arkusz danych". Do określenia, czy dana kolumna ma być widoczna w widoku "Arkusz danych" służy właściwość ColumnHidden.

Aby ukryć obiekt podczas wydruku należy użyć właściwości DisplayWhen (Kiedy wyświetlać).

Właściwości Visible można używać do ukrywania formantu na formularzu lub w raporcie włączając właściwość do makra lub do procedury zdarzenia, która jest uruchamiana gdy zachodzi zdarzenie Current. Można na przykład wyświetlić lub ukryć gratulacje obok łącznej miesięcznej sumy sprzedaży w raporcie sprzedaży w zależności od wartości sprzedaży.

Uwaga   Istnieje także właściwość Visible obiektu Application, która może być ustawiona tak, że aplikacja będzie niewidoczna. Właściwość tą można ustawić tylko w języku Visual Basic.


BackColor, właściwość

Właściwości BackColor (KolorTła) można użyć do określenia koloru wnętrza formantu lub sekcji.

Ustawienie

Właściwość BackColor zawiera wyrażenie numeryczne, które odpowiada kolorowi użytemu do wypełnienia wnętrza formantu lub sekcji.

Do ustawienia tej właściwości można użyć Konstruktora kolorów, klikając przycisk Buduj  [image]  znajdujący się z prawej strony pola właściwości w arkuszu właściwości. Użycie Konstruktora kolorów pozwala zdefiniować niestandardowe kolory tła dla formantów i sekcji.

Właściwość tą można również ustawić za pomocą przycisku Kolor wypełnienia/tła [image] znajdującego się na pasku narzędzi Formatowanie (formularz/raport), arkusza właściwości formantu lub sekcji, makra lub kodu języka Visual Basic.

Do ustawienia tej właściwości w języku Visual Basic można użyć wyrażenia numerycznego. Ustawienie tej właściwości jest typu Liczba całkowita długa.

Można ustawić wartość domyślną tej właściwości za pomocą domyślnego stylu formantu danego formantu lub za pomocąmetody DefaultControl języka Visual Basic.

W przypadku obiektów TableDef i QueryDef można ustawić tę właściwość używając przycisku Kolor wypełnienia/tła  [image]  znajdującego się na pasku narzędzi Formatowanie (arkusz danych) lub w języku Visual Basic, używając właściwości DatasheetBackColor.

Uwagi

Aby użyć właściwości BackColor, trzeba ustawić właściwość BackStyle (StylTła), jeśli jest dostępna, na wartość "Zwykły".


BackStyle, właściwość

Właściwości BackStyle (StylTła) służy do określenia, czy formant ma być przezroczysty.

Ustawienie

Dla właściwości BackStyle używane są następujące ustawienia.

Ustawienie	Opis	Visual Basic
Zwykły	(Ustawienie domyślne dla wszystkich formantów z wyjątkiem grupy opcji) Kolor wnętrza formantu jest ustawiony zgodnie z właściwością BackColor (KolorTła).	1
Przezroczysty	(Ustawienie domyślne dla grupy opcji) Formant jest przezroczysty. Widoczny jest kolor formularza lub raportu znajdującego się pod formantem.	0
Właściwość tą można ustawić za pomocą przycisku Kolor wypełnienia/tła [image]  znajdującego się na pasku narzędzi Formatowanie (formularz/raport), arkusza właściwości formantu, makra lub języka Visual Basic.

Można ustawić wartość domyślną tej właściwości za pomocą domyślnego stylu formantu tego formantu lub za pomocą metody DefaultControl języka Visual Basic.

Uwagi

Jeśli na palecie Kolor tła jest wybrany przycisk Przezroczysty, właściwość BackStyle ustawiona jest na wartość "Przezroczysty"; w pozostałych przypadkach właściwość BackStyle ustawiona jest na wartość "Zwykły".

Wskazówka   Aby przycisk polecenia stał się niewidoczny, należy ustawić jego właściwość Transparent (Przezroczysty) na wartość "Tak".


BorderWidth, właściwość

Właściwość BorderWidth (SzerokośćObramowania) służy do określenia szerokości obramowania formantu.

Ustawienie

Dla właściwości BorderWidth używane są następujące ustawienia.

Ustawienia	Opis	Visual Basic
Min. grubość	(Ustawienie domyślne) Najmniejsza grubość obramowania dostępna w systemie użytkownika.	0
1 pkt do 6 pkt	grubość określona w punktach.	1 do 6
Właściwość tę można ustawić za pomocą przycisku Szerokość linii/obramowania  [image] znajdującego się na pasku narzędzi Formatowanie (Formularz/Raport), arkusza właściwości formantu, makra lub za pomocą języka Visual Basic.

Domyślną wartość tej właściwości można ustawić za pomocą domyślnego stylu formantu danego formantu lub za pomocą metody DefaultControl języka Visual Basic.

Uwagi

Aby użyć właściwości BorderWidth, właściwość SpecialEffect (EfektSpecjalny) musi być ustawiona na wartość "Płaski" lub "Cieniowany", a właściwość BorderStyle (StylObramowania) nie może być ustawiona na wartrość "Przezroczysty". Jeśli właściwość SpecialEffect ustawiona jest na inną wartość i/lub właściwość BorderStyle ustawiona jest na wartość "Przezroczysty", to po ustawieniu właściwości BorderWidth, właściwość SpecialEffect jest automatycznie ustawiana na wartość "Płaski", a właściwość BorderStyle na wartość "Pełny".

Rzeczywista szerokość obramowania zależy od komputera i od drukarki. W niektórych systemach komputerowych obramowanie o minimalnej grubości i obramowanie o grubości 1 pkt wygląda tak samo.


FillColor, właściwość

Właściwość FillColor używana jest do określania koloru wypełniającego prostokąty i koła rysowane w raportach za pomocą metod Line i Circle. Można także używać tej właściwości w języku Visual Basic do tworzenia specjalnych efektów wizualnych w niestandardowych raportach podczas wydruku w kolorze lub przy wyświetlaniu w podglądzie wydruku na kolorowych monitorach.

Ustawienie

Właściwość FillColor zawiera wyrażenie numeryczne, które określa kolor wypełnienia wszystkich prostokątów i kół.

Właściwość tę można ustawić tylko za pomocą makra lub procedury języka Visual Basic określonej dla właściwości zdarzenia OnPrint (PrzyWydruku) sekcji.

Do ustawienia tej właściwości można użyć funkcji RGB lub QBColor. Ustawienie właściwości FillColor jest wartością typu Liczba całkowita długa.


LineSlant, właściwość

Właściwość LineSlant (LiniaUkośna) służy do określenia czy formant linii ma być pochylony od lewego górnego rogu do prawego dolnego czy od prawego górnego do lewego dolnego rogu.

Ustawienie

Dla właściwości LineSlant używane są następujące ustawienia.

Ustawienie	Opis	Visual Basic
\	(Ustawienie domyślne) Od lewego górnego do prawego dolnego	False (0)
/	Od prawego górnego do lewego dolnego	True (–1)
Właściwość tę można ustawić używając arkusza właściwości formantu, makra lub języka Visual Basic.

Uwagi

Właściwości LineSlant można użyć do zmiany kierunku pochylenia linii. Aby zmienić położenie i kierunek linii na formularzu lub w raporcie, można użyć myszy.


SpecialEffect, właściwość

Właściwość SpecialEffect (EfektSpecjalny) służy do określenia, czy do sekcji lub do formantu zostanie zastosowany specjalny sposób formatowania.

Ustawienie

Dla właściwości SpecialEffect używane są następujące ustawienia.

Ustawienie	Przykład	Opis	Visual Basic
Płaski		Obiekt ma wygląd płaski i domyślne kolory systemowe lub kolory niestandardowe, które zostały ustawione w widoku "Projekt".	0
Wypukły		Obiekt jest podświetlony z góry i z lewej strony i ma cień na dole i po prawej stronie.	1
Wklęsły		Obiekt ma cień u góry i z lewej strony natomiast ma podświetloną dolną i prawą stronę	2
Wytrawiony		Obiekt ma wklęsłą linię otaczającą formant	3
Cieniowany		Obiekt ma cień u dołu i po prawej stronie formantu.	4
Rzeźbiony		Obiekt ma wklęsłą linię poniżej formantu.	5
Właściwość tę można ustawić za pomocą przycisku Efekt specjalny z paska narzędzi Formatowanie (formularz/raport), arkusza właściwości formantu, makra lub języka Visual Basic.

Można ustawić wartość domyślną tej właściwości dla formantów używając domyślnego stylu formantu lub metody DefaultControl języka Visual Basic.

Uwagi

Ustawienie właściwości SpecialEffect ma wpływ na ustawienia powiązanych z nią właściwości BorderStyle (StylObramowania), BorderColor (KolorObramowania) i BorderWidth (SzerokośćObramowania). Na przykład, jeśli właściwość SpecialEffect jest ustawiona na wartość "Wypukły", ustawienia właściwości BorderStyle, BorderColor i BorderWidth są ignorowane. Oprócz tego, zmiana lub ustawienie właściwości BorderStyle, BorderColor lub BorderWidth może spowodować zmianę przez program Microsoft Access ustawienia właściwości SpecialEffect na wartość "Płaski".

Uwaga   Po ustawieniu właściwości SpecialEffect dla pola tekstowego na wartość "Cieniowany", wysokość obszaru wyświetlania tekstu zostaje zmniejszona. Aby zwiększyć rozmiar obszaru, na którym wyświetlany jest tekst można zmienić właściwość Height (Wysokość) pola tekstowego.


Transparent, właściwość

Właściwość Transparent (Przezroczysty) służy do określenia, czy przycisk polecenia ma być widoczny czy przezroczysty.

Wskazówka   Aby inne formanty stały się widoczne lub przezroczyste, należy użyć właściwości BackStyle (StylTła).

Ustawienie

Dla właściwości Transparent używane są następujące ustawienia.

Ustawienie	Opis	Visual Basic
Tak	Przycisk jest przezroczysty.	True (–1)
Nie	(Ustawienie domyślne) Przycisk jest widoczny.	False (0)
Właściwość tę można ustawić za pomocą arkusza właściwości przycisku polecenia, makra lub języka Visual Basic.

Uwagi

Za pomocą tej właściwości można umieścić przezroczysty przycisk polecenia na innym formancie. Można na przykład umieścić kilka przezroczystych przycisków na rysunku wyświetlanym w formancie obrazu, a następnie uruchamiać różne makra lub procedury języka Visual Basic w zależności od tego, która część rysunku została kliknięta.

Uwaga   Aby ukryć i wyłączyć przycisk, należy użyć właściwości Visible (Widoczny). Aby zablokować przycisk nie ukrywając go należy użyć właściwości Enabled (Włączony). Aby ukryć przycisk w raporcie lub na formularzu tylko podczas drukowania, należy użyć właściwości DisplayWhen (KiedyWyświetlać).


FillColor, FillStyle, właściwości - przykład
FillColor, FillStyle, właściwości – przykład

W poniższym przykładzie metoda Circle używana jest do narysowania koła i utworzenia wewnątrz koła wycinka. Następnie za pomocą właściwości FillColor i FillStyle wycinek zostaje zabarwiony na czerwono Oprócz tego rysowana jest linia biegnąca od lewego górnego rogu do środka koła.

Aby przetestować ten przykład w programie Microsoft Access, należy utworzyć nowy raport. Właściwość OnPrint (PrzyWydruku) sekcji szczegółów należy ustawić na wartość [Procedura zdarzenia]. Następnie w module raportu należy umieścić poniższy kod po czym przełączyć widok na podgląd wydruku.

Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)

Const conPI = 3.14159265359

Dim sngHCtr As Single, sngVCtr As Single, sngRadius As Single

Dim sngStart As Single, sngEnd As Single

sngHCtr = Me.ScaleWidth / 2	' Horizontal center.

sngVCtr = Me.ScaleHeight / 2	' Vertical center.

sngRadius = Me.ScaleHeight / 3	' Circle radius.

Me.Circle(sngHCtr, sngVCtr), sngRadius	' Draw circle.

sngStart = -0.00000001	' Start of pie slice.

sngEnd = -2 * conPI / 3	' End of pie slice.

Me.FillColor = RGB(255,0,0)	' Color pie slice red.

Me.FillStyle = 0	' Fill pie slice.

' Draw Pie slice within circle

Me.Circle(sngHCtr, sngVCtr), sngRadius, , sngStart, sngEnd

' Draw line to center of circle.

Dim intColor As Integer

Dim sngTop As Single, sngLeft As Single

Dim sngWidth As Single, sngHeight As Single

Me.ScaleMode = 3	' Set scale to pixels.

sngTop = Me.ScaleTop	' Top inside edge.

sngLeft = Me.ScaleLeft	' Left inside edge.

sngWidth = Me.ScaleWidth / 2	' Width inside edge.

sngHeight = Me.ScaleHeight / 2	' Height inside edge.

intColor = RGB(255, 0, 0)	' Make color red.

' Draw line.

Me.Line (sngTop, sngLeft)-(sngWidth, sngHeight), intColor

End Sub


ActiveDatasheet, właściwość

Właściwości ActiveDatasheet można użyć razem z obiektem Screen, aby zidentyfikować lub odwołać się do arkusza danych, który ma fokus.

Ustawienie

Ustawienie właściwości ActiveDatasheet zawiera obiekt arkusza danych, który ma fokus w czasie wykonywania.

Właściwość ta jest dostępna za pomocą makra lub języka Visual Basic i we wszystkich widokach jest tylko do odczytu.

Uwagi

Właściwości ActiveDatasheet można użyć, aby odwołać się do aktywnego arkusza danych i jednej z jego właściwości lub metod. Na przykład, w przedstawionym poniżej kodzie używana jest właściwość ActiveDatasheet, aby odwołać się do górnego wiersza obszaru zaznaczonego w aktywnym arkuszu danych.

TopRow = Screen.ActiveDatasheet.SelTop


ActiveDatasheet, właściwość - przykład
ActiveDatasheet, właściwość – przykład

W poniższym przykładzie została użyta właściwość ActiveDatasheet do zidentyfikowania komórki arkusza, która ma fokus albo (jeśli jest zaznaczonych kilka komórek) do zidentyfikowania pierwszego wiersza i pierwszej kolumny obszaru.

Sub GetSelection()

Dim objDatasheet As Object

Dim lngFirstRow As Long, lngFirstColumn As Long

Const conNoActiveDatasheet = 2484

On Error GoTo GetSelection_Err

Set objDatasheet = Screen.ActiveDatasheet

lngFirstRow = objDatasheet.SelTop

lngFirstColumn = objDatasheet.SelLeft

MsgBox "The first item in this selection is located at " _

& "Row " & lngFirstRow & ", Column " & lngFirstColumn

GetSelection_Bye:

Exit Sub

GetSelection_Err:

If Err = conNoActiveDatasheet Then

Resume GetSelection_Bye

End If

End Sub


BoundColumn, właściwość

Gdy użytkownik dokonuje wyboru z pola listy lub pola kombi, właściwość BoundColumn (KolumnaZwiązana) informuje program Microsoft Access o tym, z której kolumny ma pobrać wartość, aby użyć jej jako wartości formantu. Jeśli formant jest związany z polem, wartość w kolumnie określonej przez właściwość BoundColumn jest przechowywana w polu o nazwie podanej we właściwości ControlSource (ŹródłoFormantu).

Ustawienie

Dla właściwości BoundColumn używane są następujące ustawienia.

Ustawienie	Opis
0	Zamiast wartości z kolumny, w bieżącym rekordzie przechowywana jest wartość właściwości ListIndex. Dla pierwszego wiersza wartość właściwości ListIndex wynosi 0, dla drugiego 1 itd. Program Microsoft Access ustawia właściwość ListIndex po wybraniu pozycji z pola listy lub z listy będącej częścią pola kombi. Ustawienie właściwości BoundColumn na wartość 0 i użycie wartości właściwości ListIndex formantu może być przydatne, jeśli na przykład użytkownik chce przechować tylko ciąg liczb.
1 lub więcej	(Ustawieniem domyślnym jest 1) Wartość z podanej kolumny staje się wartością formantu. Jeśli formant jest związany z polem, wtedy to ustawienie jest przechowywane w tym polu bieżącego rekordu. Właściwość BoundColumn nie może być ustawiona na większą liczbę niż wynosi ustawienie właściwości ColumnCount (LiczbaKolumn).
Właściwość BoundColumn można ustawić używając arkusza właściwości formantu, makra lub języka Visual Basic.

Dla pól tabeli można ustawić tę właściwość na karcie Odnośnik sekcji "Właściwości pola" w widoku "Projekt" tabeli dla pól, których właściwość DisplayControl (Typ formantu) ustawiona jest na wartość "Pole kombi" lub "Pole listy".

Wskazówka   Program Microsoft Access ustawia właściwość BoundColumn automatycznie, jeśli w widoku "Projekt" tabeli typ danych dla pola został określony jako "Kreator odnośników".

W języku Visual Basic, można ustawić właściwośc BoundColumn za pomocą wyrażenia numerycznego, którego wartość jest liczbą całkowitą z przedziału od 0 do wartości właściwości ColumnCount.

Uwagi

Pierwsza widoczna z lewej strony kolumna pola kombi (czyli pierwsza kolumna po lewej stronie, dla której ustawienie właściwości ColumnWidths (SzerokościKolumn) pola kombi jest różne od 0) zawiera dane, które pojawią się w polu tekstowym będącym częścią pola kombi w widoku "Formularz" lub w raporcie. Właściwość BoundColumn określa kolumnę pola listy lub pola kombi, z której wartość będzie pobrana i przechowana po dokonaniu wyboru. Dzięki temu można wyświetlać inne wartości niż te, które będą przechowywane jako wartość formantu.

Uwaga   Jeśli kolumną związaną nie jest pierwsza widoczna po lewej stronie kolumna formantu (lub jeśli właściwość BoundColumn ustawiona jest na wartość 0), to właściwość LimitToList (OgraniczDoListy) ustawiona jest na wartość "Tak".

W programie Microsoft Access numery kolumn przy odwoływaniu się do kolumn za pomocą właściwości Column liczone są od zera. Oznacza to, że odwołaniem do pierwszej kolumny jest wyrażenie Column(0); odwołaniem do drugiej kolumny jest wyrażenie Column(1); itd. Jednak trzeba pamiętać, że właściwość BoundColumn wykorzystuje przy odwołaniach do kolumn numerację zaczynającą się od 1. Oznacza to, że w przypadku gdy właściwość BoundColumn ustawiona jest na 1, można uzyskać dostęp do wartości przechowywanych w tej kolumnie za pomocą wyrażenia Column(0).

Jeśli właściwość AutoExpand (Autorozwijanie) ustawiona jest na wartość "Tak", to program Microsoft Access automatycznie wstawia do pola tekstowego będącego częścią pola kombi wartość z pola kombi, która odpowiada wartości wprowadzanej przez użytkownika.


Column, właściwość

Za pomocą właściwości Column można odwoływać się do określonej kolumny lub kombinacji kolumny i wiersza, w polach kombi lub polach list zawierających wiele kolumn. Wartość równa 0 oznacza odwołanie do pierwszej kolumny, wartość równa 1 odwołanie do drugiej kolumny itd. Wartość 0 powoduje odwołanie do pierwszego wiersza, wartość 1, do drugiego wiersza itd. Na przykład, w polu listy, zawierającym kolumnę z identyfikatorem ID klienta i kolumnę z nazwą klienta, można odwołać się do nazwy klienta z drugiej kolumny i z piątego wiersza w następujący sposób:

Forms!Contacts!Customers.Column(1, 4)

Ustawienie

nazwaformantu.Column(kolumna, wiersz)

Dla właściwości Column używane są następujące ustawienia.

Ustawienie	Opis
nazwaformantu	Obiekt Control reprezentujący aktywny formant typu pole kombi lub pole listy.
kolumna	Liczba całkowita która może przyjmować wartości z zakresu od 0 do wartości właściwości ColumnCount (LiczbaKolumn) zmniejszonej o jeden.
wiersz	Ustawienie opcjonalne. Liczba całkowita, która może przyjmować wartości z zakresu od 0 do wartości ustawienia właściwości ListCount zmniejszonej o jeden.
Właściwość tę można ustawić tylko za pomocą makra lub języka Visual Basic. Właściwość ta nie jest dostępna w widoku "Projekt" a w innych widokach jest tylko do odczytu.

Uwagi

Za pomocą właściwości Column można przypisać zawartość pola kombi lub pola listy innemu formantowi, takiemu jak na przykład pole tekstowe. W poniższym przykładzie właściwość ControlSource (Źródło formantu) pola tekstowego ustawiana jest na wartość z drugiej kolumny pola listy za pomocą następującego wyrażenia:

=Forms!Customers!CompanyName.Column(1)

Jeśli użytkownik  podczas odwołania do pola kombi lub do pola listy nie dokonał żadnego wyboru, właściwość Column ustawiona będzie na wartość Null. Za pomocą funkcji IsNull można ustalić, czy wybór został dokonany. Przedstawia to poniższy przykład:

If IsNull(Forms!Customers!Country)

Then MsgBox "No selection."

End If

Uwaga   W celu określenia liczby kolumn składających się na pole kombi lub na pole listy należy sprawdzić ustawienie właściwości ColumnCount.


Column, ColumnCount, właściwości - przykład

W poniższym przykładzie właściwości Column i właściwość ColumnCount (LiczbaKolumn) zostały użyte do wydrukowania wartości z wybranego wiersza pola listy.

Sub Read_ListBox()

Dim intNumColumns As Integer, inti As Integer

Dim frmCust As Form

Set frmCust = Forms!frmCustomers

If frmCust!lstCustomerNames.ItemsSelected.Count > 0 Then

' Any selection?

intNumColumns = frmCust!lstCustomerNames.ColumnCount

Debug.Print "The list box contains "; intNumColumns; _

IIf(intNumColumns = 1, " column", " columns"); " of data."

Debug.Print "The current selection contains:"

For inti = 0 To intNumColumns - 1

Debug.Print frmCust!lstCustomerNames.Column(inti)   ' Print column data.

Next inti

Else

Debug.Print "You haven't selected an entry in the list box."

End If

End Sub


ColumnCount, właściwość

Właściwości ColumnCount (LiczbaKolumn) można użyć do określenia liczby kolumn wyświetlanych w polu listy lub w polu listy będącym częścią pola kombi albo wysyłanych do obiektu OLE w formancie typu wykres lub w niezwiązanej ramce obiektu. Na przykład, jeśli właściwość ColumnCount pola listy w formularzu "Employees" (Pracownicy) ustawiona jest na wartość 3, w jednej kolumnie może być wyświetlane nazwisko, w drugiej imię a w trzeciej identyfikator pracownika.

Ustawienie

W tabelach, kwerendach lub w instrukcji SQL właściwość ColumnCount może mieć wartość z przedziału od 1 do całkowitej liczby pól albo równą maksymalnej liczbie wartości na liście wartości określonej we właściwości RowSource (ŹródłoWierszy) formantu.

Właściwość ColumnCount można ustawić za pomocą arkusza waściwości formantu, makra lub w języku Visual Basic.

Dla pól tabel, których właściwość DisplayControl (TypFormantu) ustawiona jest na wartość "Pole kombi" lub "Pole listy" można określić właściwość ColumnCount na karcie Odnośnik sekcji "Właściwości pola" w  widoku "Projekt" tabeli.

Wskazówka   Jeśli w widoku "Projekt" tabeli właściwość ColumnCount została ustawiona na "Kreator odnośników" to program Microsoft Access ustawi tę właściwość automatycznie.

Uwagi

Pole kombi lub pole listy może mieć wiele kolumn. Jeśli właściwość RowSource formantu zawiera nazwę tabeli, kwerendy lub instrukcję SQL, w polu listy zostaną wyświetlone pola z tego źródła od strony lewej do prawej, w liczbie nie przekraczającej wartości właściwości ColumnCount.

Aby wyświetlić inną kombinację pól należy utworzyć nową kwerendę albo nową instrukcję SQL dla właściwości RowSource, podając żądane pola w odpowiedniej kolejności.

Jeśli właściwość RowSource zawiera listę wartości (właściwość RowSourceType (TypŹródłaWierszy) ustawiona jest na wartość "Lista wartości"), wartości są umieszczane w wierszach i w kolumnach pola kombi lub pola listy w takiej kolejności w jakiej zostały wymienione we właściwości RowSource. Jeśli na przykład właściwość RowSource zawiera listę "Red; Green; Blue; Yellow" i właściwość ColumnCount ustawiona jest na wartość 2, to w pierwszym wierszu pola kombi lub pola listy, w pierwszej kolumnie będzie się znajdować wartość "Red", a w drugiej kolumnie wartość "Green". W drugim wierszu w pierwszej kolumnie będzie wartość "Blue", a w drugiej kolumnie wartość "Yellow".

Za pomocą właściwości ColumnWidths (SzerokościKolumn) można ustawić szerokość kolumn wyświetlanych w formancie lub ukryć kolumny.


ColumnHeads, właściwość

Właściwości ColumnHeads (TytułyKolumn) można użyć do wyświetlenia pojedynczego wiersza z nagłówkami kolumn w polu listy, polu kombi lub w obiektach OLE, w których można wyświetlać nagłówki kolumn. Za pomocą tej właściwości można także utworzyć etykietę dla każdego elementu na formancie typu wykres. To, co w rzeczywistości jest wyświetlane jako nagłówki kolumn zależy od ustawienia właściwości RowSourceType (TypŹródłaWierszy) obiektu.

Ustawienie

Dla właściwości ColumnHeads używane są następujące ustawienia.

Ustawienie	Opis	Visual Basic
Tak	Włączone jest wyświetlanie nagłówków kolumn i jako nagłówki lub jako etykiety na wykresie będą użyte tytuły pól, nazwy pól albo pierwszy wiersz danych.	True (–1)
Nie	(Ustawienie domyślne) Nagłówki kolumn nie są włączone.	False (0)
Właściwość ColumnHeads można ustawić za pomocą arkusza danych formantu, makra lub w języku Visual Basic.

W przypadku pól tabeli, dla których właściwość DisplayControl (Typ formantu) ustawiona została na wartość "Pole kombi" lub "Pole listy", właściwość ColumnHeads można ustawić na karcie Odnośnik sekcji "Właściwości pola" w widoku "Projekt" tabeli.

Wskazówka   Jeśli w widoku "Projekt" tabeli właściwość ColumnHeads została ustawiona na "Kreator odnośników" to program Microsoft Access ustawi tę właściwość automatycznie.

Uwagi

Właściwość RowSourceType określa, czy nazwy pól lub pierwszy wiersz zawierający dane zostanie wykorzystany do utworzenia nagłówków kolumn. Jeśli właściwość RowSourceType ustawiona jest na wartość "Tabela/Kwerenda", nazwy pól zostaną użyte do utworzenia nagłówków kolumn. Jeśli pole zawiera tytuł wtedy zostanie wyświetlony tytuł. Na przykład, jeśli pole listy składa się z trzech kolumn (właściwość ColumnCount (LiczbaKolumn) ustawiona jest na wartość 3) i właściwość RowSourceType ustawiona jest na wartość "Tabela/Kwerenda", nazwy pierwszych trzech pól (lub ich tytuły) zostaną użyte jako nagłówki.

Jeśli właściwość RowSourceType ustawiona została na wartość "Lista wartości", pierwszy wiersz danych wprowadzonych na listę wartości (jako ustawienie właściwości RowSource (ŹródłoWierszy)) zostanie użyty jako nagłówki kolumn. Na przykład, jeśli pole listy składa się z trzech kolumn i właściwość RowSourceType ustawiona została na wartość "Lista wartości", pierwsze trzy pozycje z ustawienia właściwości RowSource zostaną użyte jako nagłówki kolumn.

Wskazówka   Jeśli nie można wybrać pierwszego wiersza z pola listy lub z pola kombi w widoku "Projekt", należy sprawdzić, czy właściwość ColumnHeads ustawiona jest na wartość "Tak".

Nagłówki w polach kombi pojawiają się tylko po rozwinięciu listy.


ColumnWidths, właściwość

Właściwość ColumnWidths (SzerokościKolumn) służy do określania szerokości każdej kolumny w polach kombi lub w polach listy składających się z wielu kolumn. Za pomocą tej właściwości można także ukryć jedną lub kilka kolumn.

Ustawienia

Właściwość ColumnWidths (SzerokościKolumn) zawiera wartości określające szerokości wszystkich kolumn w calach lub centymetrach, w zależności od układu jednostek miar wybranego w polu System miar znajdującym się na karcie Liczba w oknie dialogowym Właściwości: Ustawienia regionalne w Panelu sterowania systemu Windows. Domyślna wartość tego ustawienia wynosi 1 cal lub 2.54 centymetra. Dla każdej kolumny pola listy lub pola kombi ustawienie właściwości ColumnWidths musi być wartością liczbową z przedziału od 0 to 22 cali (55.87 cm).

Do oddzielenia poszczególnych wartości z kolumn, jako separatora listy należy użyć średnika (;) (lub znaku separatora listy wybranego w polu Separator listy na karcie Liczba w oknie dialogowym Właściwości: Ustawienia regionalne).

Szerokość równa 0 powoduje ukrycie kolumny. Dowolne ustawienie właściwości ColumnWidth, a nawet wszystkie ustawienia mogą być puste. Puste ustawienie tworzy się wpisując znak separatora bez poprzedzającej go wartości liczbowej. Pusta wartość powoduje, że program Microsoft Access automatycznie ustawia dla takiej kolumny szerokość domyślną, której wartość zależy od liczby kolumn pola kombi lub pola listy oraz od całkowitej szerokości takiego pola.

Uwaga   W polach kombi wartości z pierwszej widocznej kolumny są wyświetlane w polu tekstowym będącym częścią formantu pola kombi.

Właściwość ColumnWidths można ustawić za pomocą arkusza właściwości formantu, makra, lub języka Visual Basic.

Dla pól tabeli, których właściwość DisplayControl (TYpFormantu) została ustawiona na wartość "Pole kombi" lub "Pole listy", można ustawić tę właściwość na karcie Odnośnik sekcji "Właściwości pola" w  widoku "Projekt" tabeli.

Wskazówka   Jeśli w widoku "Projekt" tabeli właściwość ColumnWidths została ustawiona na "Kreator odnośników" to program Microsoft Access ustawi tę właściwość automatycznie.

W języku Visual Basic, do ustawienia szerokości kolumn w jednostkach twip należy użyć wyrażenia typu ciąg znaków. Szerokości kolumn oddziela się średnikami. Aby wybrać inny układ jednostek miary należy po wpisaniu wartości wpisać wybraną jednostkę miary (cm lub cal). Na przykład, podany poniżej ciąg znaków określa szerokości trzech kolumn w centymetrach.

"6 cm;0;6 cm"

Uwagi

Jeśli ustawienie właściwości ColumnWidths będzie puste, program Microsoft Access ustawia szerokość każdej kolumny na liczbę będącą wynikiem podzielenia szerokości całego pola kombi lub pola listy przez liczbę kolumn.

Jeśli ustawione szerokości kolumn są zbyt duże, aby kolumny mogły zostać w całości wyświetlone w polu kombi lub w polu listy, kolumny znajdujące się z prawej strony listy zostaną ukryte a w polu pojawi się poziomy pasek przewijania.

Jeśli zostanie ustawiona szerokość niektórych kolumn, a ustawienia szerokości innych kolumn będą puste, program Microsoft Access dzieli pozostałą szerokość przez liczbę kolumn dla których nie ustawiono szerokości. Minimalna ustawiona w ten sposób szerokość kolumny wynosi 1440 twipów (1 cal).

W poniższej tabeli zostały przedstawione przykładowe ustawienia szerokości kolumn dla pola listy o szerokości całkowitej 4 cale, składającego się z trzech kolumn.

Ustawienie	Opis
1.5 cala;0;2.5 cali	Pierwsza kolumna ma szerokość 1.5 cala, druga jest ukryta, trzecia ma 2.5 cala szerokości.
2 cale;;2 cale	Pierwsza kolumna ma szerokość 2 cali, druga 1 cal (domyślnie), trzecia kolumna ma 2 cale szerokości. Ponieważ widoczna będzie tylko połowa trzeciej kolumny, w polu listy pojawi się poziomy pasek przewijania.
(Puste)	Wszystkie trzy kolumny będą miały taką samą szerokość (1.33 cala).
Uwaga   Omawiana właściwość różni się od właściwości ColumnWidth, która określa szerokość kolumny w widoku "Arkusz danych".


LimitToList, właściwość

Właściwość LimitToList (OgraniczDoListy) powoduje ograniczenie wartości w polu kombi tyko do wartości znajdujących się na liście.

Ustawienie

Dla właściwości LimitToList używane są następujące ustawienia.

Ustawienie	Opis	Visual Basic
Tak	Jeśli użytkownik wybierze wartość z listy pola kombi lub wpisze wartość, która jest zgodna z jedną z wartości znajdujących się na liście, program Microsoft Access zaakceptuje ją. Jeśli wpisana wartość nie jest zgodna z żadną wartością z listy, tekst wprowadzony nie zostanie zaakceptowany i użytkownik musi wpisać ponownie wartość, wybrać jedną z pozycji znajdujących się na liście, nacisnąć klawisz ESC lub kliknąć w menu Edycja polecenie Cofnij.	True (–1)
Nie	(Ustawienie domyślne) Program Microsoft Access zaakceptuje dowolny tekst, który jest zgodny z właściwością ValidationRule (RegułaPoprawności).	False (0)
Właściwość LimitToList można ustawić używając arkusza właściwości pola kombi, makra lub języka Visual Basic.

Dla pól tabeli, których właściwość DisplayControl (TypFormantu) ustawiona została na wartość "Pole kombi" można ustawić właściwość LimitToList na karcie Odnośnik sekcji "Właściwości pola" w widoku "Projekt" tabeli.

Wskazówka   Jeśli w widoku "Projekt" tabeli właściwość LimitToList została ustawiona na "Kreator odnośników" to program Microsoft Access ustawi tę właściwość automatycznie.

Uwagi

Jeśli właściwość LimitToList zwiazanego pola kombi ustawiona jest na wartość "Nie", można do pola kombi wprowadzić wartość, której nie ma na liście. Program Microsoft Access zapisze nową wartość w tabeli lub w kwerendzie związanej z formularzem (w polu określonym właściwością ControlSource (ŹródłoFormantu) pola kombi), a nie w tabeli lub w kwerendzie ustawionej we właściwości RowSource (ŹródłoWierszy). Aby nowa wartość wprowadzona do pola pojawiła się na liście pola kombi, trzeba ją dodać do tabeli lub kwerendy określonej we właściwości RowSource (ŹródłoWierszy) używając makra lub procedury zdarzenia w języku Visual Basic, które zostaną uruchomione gdy zajdzie zdarzenie NotInList.

Uwaga   Jeśli właściwość BoundColumn (KolumnaZwiązana) pola kombi ustawiona została na dowolną inną kolumnę niż pierwsza widoczna kolumna (lub jeśli właściwość BoundColumn ustawiona została na wartość 0), właściwość LimitToList jest automatycznie ustawiana na wartość "Tak".

Ustawienie obydwu właściwości, LimitToList (OgraniczDoListy) i AutoExpand (Autorozwijanie) na wartość "Tak" powoduje, że program Microsoft Access wyszukuje na liście odpowiadające wartości w miarę wpisywania przez użytkownika w pole tekstowe będące częścią pola kombi kolejnych znaków i ogranicza pozycje tylko do tych wartości.

Jeśli właściwość LimitToList ustawiona jest na wartość "Tak", a użytkownik kliknie przycisk ze strzałką rozwijający listę w polu kombi, program Microsoft Access wybierze na liście odpowiadające wartości w czasie wprowadzania przez użytkownika kolejnych znaków do pola tekstowego będącego częścią pola kombi, nawet jeśli właściwość AutoExpand ustawiona jest na wartość "Nie". Jeśli użytkownik naciśnie klawisz ENTER lub przejdzie do innego formantu lub rekordu, wybrana wartość pojawi się w polu listy.

W programie Microsoft Access 97 pola kombi akceptują wartości Null, jeśli właściwość LimitToList ustawiona jest na wartość "Tak" lub True, niezależnie od tego, czy na liście znajdują się wartości Null. Aby zablokować możliwość wprowadzania przez użytkowników wartości Null do pola kombi, należy ustawić właściwość Required (Wymagane) pola tabeli z którą związane jest pole kombi na Wartość "Tak".


AutoExpand, właściwość

Właściwość AutoExpand (Autorozwijanie) określa, czy program Microsoft Access automatycznie wypełnia pole tekstowe, będące częścią pola kombi wartością z listy pola kombi, która odpowiada znakom wprowadzanym do pola tekstowego przez użytkownika, bez wyświetlania listy pola kombi.

Ustawienie

Dla właściwość AutoExpand używane są następujące ustawienia.

Ustawienie	Opis	Visual Basic
Tak	(Ustawienie domyślne) Program Microsoft Access podczas wpisywania przez użytkownika wartości wypełnia pole kombi wartością z listy, w taki sposób, że pierwsze znaki tej wartości są zgodne ze znakami wpisanymi przez użytkownika. Po wpisaniu następnych znaków, Microsoft Access zmienia wyświetlaną wartość tak, aby odpowiadała wszystkim wpisanym przez użytkownika znakom.	True (–1)
Nie	Użytkownik musi wybrać wartość z listy lub wpisać tę wartość w całości samodzielnie.	False (0)
Właściwość AutoExpand można ustawić używając arkusza właściwości pola kombi, makra lub języka Visual Basic.

Uwagi

W czasie wpisywania przez użytkownika kolejnych znaków do pola tekstowego, będącego częścią pola kombi, program Microsoft Access przeszukuje wartości na liście, aby znaleźć wartość zgodną z wprowadzonymi przez użytkownika znakami. Jeśli właściwość AutoExpand ustawiona jest na wartość "Tak", program Microsoft Access automatycznie wyświetla pierwszą znalezioną wartość, która odpowiada wprowadzonym znakom.

Gdy właściwość LimitToList (OgraniczDoListy) ustawiona jest na wartość "Tak" i rozwinięta jest lista pola kombi, program Microsoft Access wybiera odpowiadające wartości z listy nawet wtedy, gdy właściwość AutoExpand ustawiona jest na wartość "Nie". Jeśli użytkownik naciśnie klawisz ENTER lub przejdzie do innego formantu lub do innego rekordu, wybrana wartość pojawi się w polu kombi.


ListCount, właściwość

Właściwość ListCount służy do określenia liczby wierszy pola listy lub listy będącej częścią pola kombi.

Ustawienie

Program Microsoft Access ustawia właściwość ListCount na liczbę wierszy w polu listy lub w polu listy pola kombi. Wartość właściwości ListCount jest tylko do odczytu i nie może być ustawiona przez użytkownika.

Właściwość ta jest dostępna tylko za pośrednictwem makra lub języka Visual Basic. Właściwość ta może być odczytana tylko w widoku "Formularz" i w widoku "Arkusz danych".

Uwagi

Ustawienie właściwości ListCount zawiera całkowitą liczbę wierszy pola listy lub pola kombi, zgodnie z ustawieniami właściwości RowSource (Źródło wiersza) i RowSourceType (Typ źródła wiersza) formantu. Jeśli formant utworzony jest na podstawie tabeli lub kwerendy (właściwość RowSourceType ustawiona jest na wartość "Tabela/Kwerenda" i właściwość RowSource ustawiona jest na konkretną tabelę lub kwerendę), ustawienie właściwości ListCount zawiera liczbę rekordów tabeli lub zestawu wyników kwerendy. Jeśli właściwość RowSourceType ustawiona jest na wartość "Lista wartości", ustawienie właściwości ListCount zawiera liczbę wierszy listy wartości określonej przez właściwość RowSource (wartość ta zależy od listy wartości i liczby kolumn pola listy lub pola kombi, określonej przez właściwość ColumnCount (LiczbaKolumn).)

Jeśli właściwość ColumnHeads (TytułyKolumn) ustawiona jest na wartość "Tak", wiersz z nagłówkami jest zaliczany do liczby wierszy zwracanych przez właściwość ListCount. W przypadku pól kombi lub pól list utworzonych na podstawie tabeli lub kwerendy, dodanie wiersza z nagłówkami kolumn, powoduje utworzenie dodatkowego wiersza. W przypadku pól kombi lub pól listy utworzonych na podstawie listy wartości dodanie wiersza nagłówka pozostawia liczbę wierszy niezmienioną (pierwszy wiersz wartości staje się wierszem nagłówka).

Właściwości ListCount można używać w połączeniu z właściwością ListRows (LiczbaWierszyListy) do określania, ile wierszy ma być wyświetlanych w polu listy lub w polu listy będącym częścią pola kombi.


ListCount, ListRows, właściwości - przykład
ListCount, ListRows, właściwości – przykład

W poniższym przykładzie właściwość ListCount została użyta do odszukania liczby wierszy pola listy będącego częścią pola kombi "CustomerList" na formularzu "Customers". Następnie właściwość ListRows (LiczbaWierszyListy) ustawiana jest w taki sposób, aby na liście wyświetlana była podana liczba wierszy.

Sub SizeCustomerList()

Dim ListControl As Control

Set ListControl = Forms!Customers!CustomerList

With ListControl

If .ListCount < 8 Then

.ListRows = .ListCount

Else

.ListRows = 8

End If

End With

End Sub


ListIndex, właściwość

Właściwość ListIndex może służyć do określenia, która pozycja w polu listy lub w polu kombi została wybrana.

Ustawienie

Wartość właściwości ListIndex jest liczbą całkowitą z przedziału od 0 do całkowitej liczby pozycji znajdujących się w polu listy lub w polu kombi zmniejszonej o 1. Program Microsoft Access ustawia właściwość ListIndex, gdy zostanie zaznaczona pozycja w polu listy lub w polu listy będącym częścią pola kombi. Wartość właściwości ListIndex dla pierwszego elementu listy wynosi 0, wartość dla drugiego elementu wynosi 1 i tak dalej.

Właściwość ta jest dostępna tylko za pośrednictwem makra lub języka Visual Basic. Właściwość ta może zostać odczytana tylko w widoku "Formularz" lub w widoku "Arkusz danych". Właściwość ta jest tylko do odczytu i nie jest dostępna w innych widokach.

Uwagi

Wartość właściwości ListIndex jest także dostępna przez ustawienie właściwości BoundColumn (KolumnaZwiązana) pola kombi lub pola listy na wartość 0. Jeśli właściwość BoundColumn ustawiona jest na wartość 0, pole tabeli odnośnej, z którym związane jest pole kombi lub pole listy, będzie zawierać tą samą wartość którą zawiera ustawienie właściwości ListIndex.

Pola listy mają także właściwość MultiSelect (WybórWielokrotny), która umożliwia użytkownikowi zaznaczenie wielu pozycji w formancie. Gdy w polu listy zostało zaznaczonych wiele pozycji, można sprawdzić które pozycje zostały zaznaczone używając do tego właściwości Selected formantu. Właściwość Selected stanowi ciąg wartości z przedziału od 0 do wartości właściwości ListCount zmniejszonej o 1. Dla każdej pozycji wybranej w polu listy wartość właściwości Selected jest równa True (–1), dla pozycji które nie zostały wybrane wartość ta jest równa False (0).

Kolekcja ItemsSelected także dostarcza sposobu dostępu do danych w wybranych wierszach pola listy lub pola kombi.


ListRows, właściwość

Właściwość ListRows (LiczbaWierszyListy) może służyć do ustawienia maksymalnej liczby wierszy wyświetlanych w polu listy będącym częścią pola kombi.

Ustawienie

Wartością właściwości ListRows jest liczba całkowita wskazująca maksymalną liczbę wierszy, które mają być wyświetlane na liście. Ustawieniem domyślnym jest 8. Wartość właściwości ListRows musi być liczbą z przedziału od 1 do 255.

Właściwość tę można ustawić używając arkusza właściwości pola kombi, makra lub języka Visual Basic.

W przypadku pól tabeli, których właściwość DisplayControl (TypFormantu) została ustawiona na wartość "Pole kombi", właściwość ListRows można ustawić na karcie Odnośnik sekcji "Właściwości pola" w widoku "Projekt" tabeli.

Wskazówka   Program Microsoft Access ustawia właściwość ListRows automatycznie, jeśli jako typ danych dla pola zostanie wybrany w widoku "Projekt" tabeli "Kreator odnośników".

Do ustawienia wartości tej właściwości należy w języku Visual Basic użyć wyrażenia numerycznego.

Wartość domyślną tej właściwości można ustawić używając domyślnego stylu formantu pola kombi, lub metody DefaultControl języka Visual Basic.

Uwagi

Jeśli bieżąca ilość wierszy listy przekracza wartość określoną przez właściwość ListRows, w polu listy pojawi się pionowy pasek przewijania.


ListWidth, właściwość

Za pomocą właściwości ListWidth (SzerokośćListy) można ustawić szerokość pola listy będącego częścią pola kombi.

Ustawienie

Właściwość ListWidth zawiera wartość określającą szerokość pola listy będącego częścią pola kombi, podaną w centymetrach lub w calach, w zależności od układu jednostek miar (U.S. lub Metryczny) wybranego w polu System miar na karcie Liczba w oknie dialogowym Właściwości: Ustawienia regionalne Panelu sterowania systemu Windows. Aby użyć jednostek miary innych niż domyślne należy obok wartości umieścić symbol jednostki miary, taki jak cm lub cal. Domyślne ustawienie powoduje, że szerokość listy z pola kombi będzie taka sama jak szerokość pola kombi.

Właściwość ListWidth można ustawić używając arkusza właściwości pola kombi, makra, lub języka Visual Basic.

W przypadku pól tabeli, których właściwość DisplayControl (TypFormantu) została ustawiona na wartość "Pole kombi" właściwość ListWidth można ustawić na karcie Odnośnik sekcji "Właściwości pola" w widoku "Projekt" tabeli.

Wskazówka   Program Microsoft Access ustawia właściwość ListWidth automatycznie, jeśli jako typ danych pola w widoku "Projekt" tabeli wybrany został "Kreator odnośników".

W języku Visual Basic do ustawienia tej właściwości należy użyć wyrażenia numerycznego. Domyślną jednostką miary w języku Visual Basic jest twip.

Wartość domyślną tej właściwości można ustawić za pomocą domyślnego stylu formantu pola kombi lub za pomocą metody DefaultControl języka Visual Basic.

Uwagi

Lista pola kombi może być szersza niż pole kombi, lecz nie może być węższa.

W przypadku wyświetlania list składających się z wielu kolumn należy podać wartość wystarczająco dużą, aby na liście wyświetlone zostały wszystkie kolumny.

Wskazówka   Projektując pola kombi należy pamiętać o tym, aby zostawić wystarczająco dużo miejsca na wyświetlane dane oraz na pionowy pasek przewijania, który umieści program Microsoft Access.


Text, właściwość

Za pomocą właściwości Text można ustawić lub odczytać tekst znajdujący się w polu tekstowym lub w polu tekstowym będącym częścią pola kombi.

Ustawienie

Właściwość Text można ustawić na tekst, który ma zostać wyświetlony w formancie. Można również użyć właściwości Text do odczytania tekstu znajdującego się w formancie.

Właściwość tę można ustawić lub odczytać tylko za pomocą makra lub języka Visual Basic.

Uwaga   Aby ustawić lub odczytać właściwość Text formantu, formant musi mieć fokus. W przeciwnym razie wystąpi błąd. Do przeniesienia fokusu na formant można użyć metody SetFocus lub akcji IdźDoFormantu (GoToControl).

Uwagi

Dopóki formant ma fokus właściwość Text zawiera dane tekstowe znajdujące się w danym momencie w formancie; właściwość Value (Wartość) zawiera dane ostatnio zapisane w formancie. Po przeniesieniu fokusu do innego formantu, dane znajdujące się w formancie są aktualizowane i właściwość Value ustawiana jest na nową wartość. Ustawienie właściwości Text jest wtedy niemożliwe, aż do momentu, gdy formant znowu uzyska fokus. Jeśli do zapisania danych w formancie zostało użyte polecenie Zapisz rekord z menu Rekordy, bez przenoszenia fokusu, ustawienia właściwości Text i Value będą takie same.


Text, właściwość - przykład
Text, właściwość – przykład

W poniższym przykładzie właściwośc Text została użyta do włączenia przycisku "Next" o nazwie btnNext, jeśli użytkownik wpisze tekst do pola tekstowego o nazwie txtName. Jeśli pole tekstowe jest puste, przycisk ten jest wyłączony.

Sub txtName_Change()

btnNext.Enabled = Len(Me!txtName.Text & "")<>0

End Sub


AutoTab, właściwość

Właściwości AutoTab (Autoprzesunięcie) można użyć do określenia, czy ma nastąpić automatyczne przejście do następnego formantu, gdy zostanie wprowadzony ostatni znak dozwolony przez maskę wprowadzania formantu pola tekstowego. Autoprzesunięcie przenosi fokus do następnego formantu zgodnie z kolejnością dostępu formularza.

Ustawienie

Właściwość AutoTab może mieć następujące ustawienia.

Ustawienie	Opis	Visual Basic
Tak	Generowany jest znak tabulacji, gdy zostanie wprowadzony ostatni dozwolony znak w polu tekstowym.	True (–1)
Nie	(Wartość domyślna) Nie jest generowany znak tabulacji, gdy zostanie wprowadzony ostatni dozwolony znak w polu tekstowym.	False (0)
Właściwość tę można ustawić używając arkusza właściwości formularza, makra lub języka Visual Basic.

Można ustawić wartość domyślną tej właściwości używając do tego domyślnego stylu formantu tego formantu lub metody DefaultControl języka Visual Basic.

Właściwość AutoTab wpływa na sposób przechodzenia między formantami zarówno w widoku "Formularz", jak również w widoku "Arkusz danych".

Uwagi

Maskę wprowadzania tworzy się dla formantu używając właściwości InputMask (MaskaWprowadzania).

Można również ustawić maskę wprowadzania dla formantu  pola tekstowego związanego z polem tabeli, ustawiając właściwość InputMask dla pola tabeli lub kwerendy, na której oparty jest formularz. Jeśli pole na formularzu zostało utworzone metodą przeciągania nazwy pola z listy pól, maska wprowadzania ustawiona dla pola zostanie odziedziczona przez formant typu pole tekstowe

Właściwości AutoTab można użyć, jeśli na formularzu znajduje się pole tekstowe, dla którego wprowadza się zwykle maksymalną liczbę znaków w każdym rekordzie. Po wprowadzeniu maksymalnej liczby znaków fokus jest automatycznie przemieszczany do następnego formantu zgodnie z kolejnością dostępu. Można na przykład użyć tej właściwości dla pola "CategoryType", którego długość musi zawsze wynosić pięć znaków.


Enabled, Locked, właściwości

•	Właściwość Enabled (Włączony) określa, czy formant może mieć fokus w widoku "Formularz".

•	Właściwość Locked (Zablokowany) określa, czy można edytować dane w formancie w widoku "Formularz".

Ustawienie

Właściwość Enabled może mieć następujące ustawienia.

Ustawienie	Opis	Visual Basic
Tak	(Ustawienie domyślne dla wszystkich formantów z wyjątkiem niezwiązanej ramki obiektu) Formant może mieć fokus. Jeśli formant jest niezwiązaną ramką obiektu, dwukrotne kliknięcie go spowoduje wykonanie zlecenia podstawowego. Na przykład, niezwiązana ramka obiektu może spowodować odtworzenie osadzonego obiektu dźwiękowego.	True (–1)
Nie	(Ustawienie domyślne dla niezwiązanych ramek obiektów) Formant nie może uzyskać fokusu i wyświetlany jest jako przygaszony. Jeśli formant jest grupą opcji, nie może uzyskać fokusu ani cała grupa opcji ani żaden formant będący składnikiem tej grupy opcji.	False (0)
Właściwość Locked może mieć następujące ustawienia.

Ustawienie	Opis	Visual Basic
Tak	(Ustawienie domyślne dla niezwiązanych ramek obiektów) Formant działa normalnie, lecz nie jest dozwolona edycja, dodawanie ani usuwanie danych z formantu.	True
Nie	(Wartość domyślna dla wszystkich formantów z wyjątkiem niezwiązanych ramek obiektów) Formant działa normalnie, możliwa jest edycja, dodawanie i usuwanie danych.	False
Właściwość tę można ustawić za pomocą arkusza właściwości formularza, za pomocą makra lub języka Visual Basic.

Uwagi

Za pomocą właściwości Enabled można włączać i wyłączać formanty. Na przykład, w widoku "Formularz" można wyłączyć przycisk polecenia, dopóki nie zostaną zmienione dane w  formancie typu pole tekstowe. Po zmianie danych za pomocą zdarzenia AfterUpdate można uruchomić procedurę zdarzenia lub makro, aby włączyć przycisk polecenia.

Za pomocą właściwości Locked można chronić dane znajdujące się w polu przed zmianami, przełączając je w tryb tylko-do-odczytu. Na przykład, może być pożądane, aby informacje znajdujące się w formancie były tylko wyświetlane bez możliwości ich edycji albo może być pożądane zablokowanie formantu, dopóki nie zostanie spełniony pewien warunek.

Za pomocą  różnych kombinacji ustawień właściwości Enabled i Locked można uzyskać następujące efekty.

Enabled	Locked	Efekt
Tak	Tak	Formant może mieć fokus. Dane są normalnie wyświetlane oraz mogą być kopiowane, lecz nie mogą być edytowane.
Tak	Nie	Formant może mieć fokus. Dane są wyświetlane, mogą być edytowane i kopiowane.
Nie	Tak	Formant nie może mieć fokusu. Dane są wyświetlane normalnie, lecz nie mogą być kopiowane ani edytowane.
Nie	Nie	Formant nie może mieć fokusu. Formant i dane są wyłączone (szare).
Ustawienie właściwości TabStop (ZatrzymaniePrzechodzenia) może być połączone z właściwością Enabled, aby uniemożliwić użycie klawisza TAB do wybrania przycisku polecenia, podczas gdy nadal możliwe będzie użycie przycisku przez kliknięcie go. Ustawienie właściwości TabStop na wartosć "Nie" oznacza, że przycisk polecenia nie będzie znajdować się na liście kolejności dostępu. Jeśli jednak właściwość Enabled ustawiona jest na wartość "Tak", to przycisk nadal działa po kliknięciu go.

Aby umożliwić edycję osadzonego lub połączonego obiektu znajdującego się w niezwiązanej ramce obiektu, trzeba ustawić właściwość Enabled niezwiązanej ramki obiektu na wartość "Tak" i właściwość Locked na wartość "Nie".


Enabled, Locked, właściwości - przykład
Enabled, Locked, właściwości – przykład

W poniższym przykładzie następuje przełączanie właściwości Enabled (Włączony) przycisku polecenia oraz właściwości Enabled i Locked (Zablokowany) formantu, w zależności od rodzaju pracownika wyświetlanego w bieżącym rekordzie. Jeśli w polu "EmployeType" znajduje się wartość "Manager", to przycisk "SalaryDetails" jest włączony i formant "PersonalInfo" jest odblokowany i włączony.

Sub Form_Current()

If Me!EmployeeType = "Manager" Then

Me!SalaryDetails.Enabled = True

Me!PersonalInfo.Enabled = True

Me!PersonalInfo.Locked = False

Else

Me!SalaryDetails.Enabled = False

Me!PersonalInfo.Enabled = False

Me!PersonalInfo.Locked = True

End If

End Sub


Enabled, Locked, właściwości - Dotyczy
Enabled, Locked, właściwości – dotyczy

Enabled (Włączony) właściwość

Locked (Zablokowany) właściwość


EnterKeyBehavior, właściwość

Właściwość EnterKeyBehavior (DziałanieKlawiszaEnter) może być użyta do określenia, co nastąpi, jeśli użytkownik naciśnie klawisz ENTER w formancie typu pole tekstowe w widoku "Formularz" lub w widoku "Arkusz danych". Można na przykład użyć tej właściwości, jeśli istnieje formant związany z polem Memo tabeli, aby ułatwić wprowadzanie tekstu składającego się z wielu wierszy. Jeśli właściwość ta nie zostanie ustawiona na wartość "Nowy wiersz w polu", to w celu utworzenia nowego wiersza należy naciskać klawisze CTRL+ENTER, aby w polu tekstowym utworzyć nowy wiersz.

Ustawienie

Właściwość EnterKeyBehavior może mieć następujące ustawienia.

Ustawienie	Opis	Visual Basic
Domyślne	(Ustawienie domyślne) Program Microsoft Access używa opcji określonej w grupie opcji Przenieś po ENTER na karcie Klawiatura w oknie dialogowym Opcje, dostępnym przez kliknięcie polecenia Opcje w menu Narzędzia. Dodatkowe informacje można znaleźć w paragrafie "Uwagi".	False (0)
Nowy wiersz w polu	Naciśnięcie klawisza ENTER w formancie tworzy nowy wiersz, dzięki czemu można wprowadzić dodatkowy tekst.	True (–1)
Właściwość tę można ustawić za pomocą arkusza właściwości formularza, makra lub języka Visual Basic.

Wartość domyślną tej właściwości można ustawić używając domyślnego stylu formantu dla formantu tego typu lub za pomocą metody DefaultControl języka Visual Basic.

Uwagi

W polu Przenieś po ENTER na karcie Klawitura w oknie dialogowym Opcje dostępne są następujące opcje.

Opcja	Opis
Nie przenoś	Naciśnięcie klawisza ENTER nie powoduje żadnego efektu.
Następne pole	Naciśnięcie klawisza ENTER powoduje przeniesienie punktu wstawiania do następnego formantu lub pola formularza lub arkusza danych, zgodnie z kolejnością dostępu.
Następny rekord	Naciśnięcie klawisza ENTER powoduje przeniesienie punktu wstawiania do pierwszego formantu lub pola formularza lub arkusza danych w następnym rekordzie.


RecordLocks, właściwość

Właściwości RecordLocks (BlokowanieRekordów) można użyć do określenia, jak rekordy są blokowane i co się będzie działo, gdy dwóch użytkowników będzie próbowało edytować ten sam rekord w tym samym czasie. Gdy użytkownik edytuje rekord, może nastąpić automatyczne zablokowanie tego rekordu w celu uniemożliwienia innym użytkownikom jego zmiany, dopóki nie zostanie zakończona bieżąca edycja.

•	Formularze. Właściwość określa, w jaki sposób będą blokowane rekordy w tabeli lub kwerendzie, na której oparty jest formularz, gdy aktualizowane są dane w udostępnianej bazie danych.

•	Raporty. Można użyć tej właściwości do określenia, czy rekordy w tabeli lub kwerendzie, na której oparty jest raport, mają być blokowane podczas drukowania lub podglądu raportu.

•	Kwerendy. Można użyć tej właściwości do określenia, czy rekordy w kwerendzie (zazwyczaj w kwerendzie funkcjonalnej w udostępnianej bazie danych) są blokowane, gdy kwerenda jest wykonywana.

Ustawienie

Właściwość RecordLocks może mieć następujące ustawienia.

Ustawienie	Opis	Visual Basic
Bez blokowania	(Ustawienie domyślne) W formularzach dwóch lub więcej użytkowników może edytować jednocześnie ten sam rekord. Taki tryb blokowania nazywany jest także "optymistycznym". Jeśli dwóch użytkowników próbuje zachować zmiany w tym samym rekordzie, program Microsoft Access wyświetla komunikat użytkownikowi, który próbuje zachować rekord jako drugi. Użytkownik może wtedy porzucić rekord, skopiować go do schowka lub zapisać zmieniając zmiany dokonane przez pierwszego użytkownika. To ustawienie jest używane zazwyczaj w formularzach o atrybucie tylko-do-odczytu lub w bazach danych używanych przez jednego użytkownika. Używane jest także w udostępnianych bazach danych, jeśli trzeba umożliwić więcej niż jednemu użytkownikowi dokonywanie zmian w tym samym rekordzie w tym samym czasie. W przypadku raportów rekordy nie są blokowane do czasu podglądu lub drukowania raportu.  W przypadku kwerend rekordy są blokowane tylko po uruchomieniu kwerendy.	0
Wszystkie rekordy	Wszystkie rekordy w tabeli lub kwerendzie odnośnej są blokowane, gdy formularz jest otwarty w widoku "Formularz" lub w widoku "Arkusz danych", gdy raport jest wyświetlany w podglądzie wydruku lub drukowany lub gdy waykonywana jest kwerenda. Chociaż użytkownicy mogą rekordy odczytywać, nie mogą ich edytować, dodawać ani usuwać dopóty, dopóki formularz nie zostanie zamknięty, raport wydrukowany lub kwerenda zakończona.	1
Edytowany rekord	(Tylko formularze i kwerendy) Blokowana jest strona rekordów, gdy tylko jakikolwiek użytkownik rozpocznie edycję jakiegokolwiek pola w rekordzie. Pozostaje ona zablokowana, dopóki użytkownik nie przejdzie do innego rekordu. W konsekwencji rekord może być  edytowany tylko przez jedną osobę w danej chwili. Taki tryb pracy zwany jest także blokowaniem "pesymistycznym".	2
Właściwość tę można ustawić za pomocą arkusza danych formularza, makra lub z języka Visual Basic.

Uwagi

Ustawienia "Bez blokowania" można używać w formularzach, jeśli tylko jedna osoba używa odnośnych tabel lub kwerend formularza albo dokonuje wszystkich zmian danych.

W udostępnianej bazie danych można użyć ustawienia "Bez blokowania", jeśli pożądane jest użycie optymistycznego blokowania i ostrzeganie użytkowników próbujących edytować ten sam rekord w formularzu. Ustawienia "Edytowany rekord" można użyć, jeśli pożądane jest uniemożliwienie dwu lub więcej użytkownikom edycji danych w tym samym czasie.

Ustawienia "Wszystkie rekordy" można użyć, aby uniemożliwić dokonywanie jakichkolwiek zmian po rozpoczęciu podglądu wydruku raportu lub po rozpoczęciu wydruku albo po rozpoczęciu wykonywania kwerendy dołączającej, usuwającej, tworzącej tabelę lub aktualizującej.

W widoku "Formularz" lub w widoku "Arkusz danych" każdy zablokowany rekord na swoim selektorze rekordu ma symbol blokady [image].

Wskazówka   Aby zmienić domyślne ustawienia właściwości RecordLocks dla formularzy, należy kliknąć polecenie Opcje w menu Narzędzia, kliknąć kartę Zaawansowane w oknie dialogowym Opcje i wybrać żądaną opcję w grupie Domyślne blokowanie rekordów.

Dane znajdujące się w formularzu, raporcie lub kwerendzie i pochodzące z bazy danych ODBC są traktowane tak, jakby ustawienie "Bez blokowania" było wybrane bez względu na to, jakie ustawienie jest faktycznie wybrane.


RecordsetType, właściwość

Właściwości RecordsetType (TypZestawuRekordów) można użyć do określenia, jaki typ zestawu rekordów jest udostępniany dla formularza. Na przykład, jeśli dane ze związanych formantów nie powinny być edytowane, gdy formularz wyświetlany jest w widoku "Formularz" lub w widoku "Arkusz danych", można ustawić właściwość RecordsetType na wartość "Utrwalony".

Ustawienia

Właściwość RecordsetType może mieć następujące ustawienia.

Ustawienie	Opis	Visual Basic
Dynamiczny	(Ustawienie domyślne) Można edytować formanty związane utworzone na podstawie jednej tabeli lub tabel pozwiązanych relacjami jeden-do-jednego. W przypadku formantów związanych utworzonych na podstawie tabel powiązanych relacjami jeden-do-wielu, nie można edytować danych z pola związanego znajdującego się po stronie "jeden" relacji, o ile nie została włączona aktualizacja kaskadowa między tabelami. Dodatkowe informacje na ten temat można znaleźć w temacie Kiedy można aktualizować dane w kwerendzie?.	0
Dynamiczny (Niespójne aktualizacje)	Wszystkie tabele i formanty związane  z polami mogą być edytowane.	1
Utrwalony	Żadne tabele i formanty związane z ich polami nie mogą być edytowane.	2
Właściwość tę można ustawić za pomocą arkusza właściwości formularza, za pomocą makra lub za pomocą języka Visual Basic.

Uwagi

Można tworzyć formularze oparte na wielu tabelach z polami związanymi z formantami tych formularzy. Zależnie od ustawienia właściwości RecordsetType można określać, które z tych związanych formantów mogą być edytowane.

Oprócz umożliwiającego edycję formantu udostępnionego przez właściwość RecordsetType, każdy formant ma właściwość Locked (Zablokowany), którą można ustawić, aby określić, czy dany formant i jego dane mogą być edytowane. Jeśli właściwość Locked jest ustawiona na wartość "Tak", to nie można edytować tych danych.


RecordsetType - przykład
RecordsetType, właściwość – przykład

W poniższym przykładzie rekordy mogą być aktualizowane tylko wtedy, gdy identyfikator użytkownika (ID) równa się ADMIN. W poniższym kodzie właściwość RecordsetType (TypZestawuRekordów) jest ustawiana na wartość "Utrwalony", jeśli zmienna globalna gstrUserID ma inną wartość niż ADMIN.

Sub Form_Open(Cancel As Integer)

Const conSnapshot = 2

If gstrUserID <> "ADMIN" Then

Forms!Employees.RecordsetType = conSnapshot

End If

End Sub


Value, właściwość

Właściwości Value można użyć do określenia lub sprawdzenia, czy formant jest zaznaczony, zaznaczona jest wartość lub opcja w formancie albo tekst znajdujący się w polu tekstowym.

•	Formanty: pole wyboru, przycisk opcji i przycisk przełącznika. Określa lub wskazuje, czy formant jest zaznaczony.

•	Formanty: pole kombi, pole listy i grupa opcji. Określa lub wskazuje, która wartość lub opcja w formancie jest wybrana.

•	Formant pole tekstowe. Określa lub wskazuje tekst znajdujący się w polu tekstowym.

•	Formant karty. Określa lub wskazuje wybrany obiekt Page.

Ustawienie

Właściwość Value może mieć następujące ustawienia, w zależności od zaznaczonego formantu.

Formant	Ustawienie	Opis	Visual Basic
Pole wyboru	Prawda Fałsz	Pole wyboru jest zaznaczone. (Ustawienie domyślne) Pole wyboru nie jest zaznaczone.	True (–1) False (0)
Pole kombi	[Tekst w polu stanowiącym część tekstową formantu]	Może to być ten sam lub inny tekst niż ustawienie właściwości Text formantu. Bieżące ustawienie właściwości Text jest takie, jaki tekst jest wyświetlany w polu tekstowym stanowiącym część pola kombi; właściwości Value jest nadawana wartość ustawienia właściwości Text tylko wtedy, gdy tekst ten jest zapisywany.
Pole listy	[Wartość pozycji z pola listy]	Wartość w kolumnie związanej dla pozycji zaznaczonej na liście.
Przycisk opcji	Prawda Fałsz	Przycisk opcji jest zaznaczony. (Ustawienie domyślne) Przycisk opcji nie jest zaznaczony.	True False
Grupa opcji	[Ustawienie właściwości OptionValue (WartośćOpcji)]	Ustawienie właściwości OptionValue dla zaznaczonego formantu w grupie opcji.
Pole tekstowe	[Wartość właściwości Text formantu]	Właściwość Text zwraca sformatowany ciąg znaków. Wartość właściwości Text może być różna od wartości właściwości Value dla pola tekstowego. Właściwość Text stanowi bieżącą zawartość formantu. Właściwość Value stanowi zapisaną wartość pola tekstowego. Właściwość Text jest zawsze bieżąca, gdy formant ma fokus.
Przycisk przełącznika	Prawda Fałsz	Przycisk przełącznika jest wciśnięty. Przycisk przełącznika nie jest wciśnięty.	True False
Formant karty	[Wartość typu Liczba całkowita reprezentująca numer indeksu wybranego obiektu Page]	Właściwość Value formantu karty zawiera numer indeksu bieżącego obiektu Page. Dla każdej karty w formancie karty istnieje tylko jeden obiekt Page. Pierwszy obiekt Page ma zawsze numer indeksu równy 0, drugi obiekt numer równy 1 i tak dalej.
Związana ramka obiektu lub formant typu wykres		Właściwość Value dla związanej ramki obiektu lub dla związanego formantu typu wykres ustawiana jest na wartość pola, z którym formant jest związany. Ponieważ zwykle w tych polach znajdują się obiekty typu OLE lub obiekty typu wykres, które są przechowywane w postaci danych binarnych, wartość ta jest zwykle bez znaczenia.
Formant ActiveX		Niektóre formanty ActiveX obsługują właściwość Value. Na przykład, ustawienie właściwości Value dla formantu Kalendarz jest równe dacie wybranej w formancie. Dodatkowe informacje na ten temat można znaleźć w dokumentacji każdego formantu ActiveX.
Właściwość tę można ustawić za pomocą makra lub języka Visual Basic.

Uwagi

Właściwość Value zwraca lub ustawia domyślną właściwość formantu, czyli tą właściwość, która jest przyjmowana, jeśli użytkownik nie określi jawnie nazwy właściwości. Na przykład, ponieważ domyślną wartością pola tekstowego jest wartość właściwości Text można odwołać się do ustawienia jego właściwości Text bez jawnego określania nazwy właściwości, tak jak w poniższym kodzie.

Forms!frmCustomers!txtLastName = "Smith"

Oznacza to, że następujące dwie instrukcje są równoważne.

Forms!frmCustomers!optCreditApproved.Value = True

Forms!frmCustomers!optCreditApproved = True

Uwaga   Nie należy mylić właściwości Value z właściwością DefaultValue (WartośćDomyślna), która jest czym innym - jest to wartość nadawana właściwości w momencie tworzenia nowego rekordu.


Value, właściwość - przykład

W poniższym przykładzie przedstawione zostało, w jaki sposób można uruchomić wybraną procedurę w zależności od tego, czy pole wyboru "Credit" znajdujące się na formularzu "Customers" jest zaznaczone czy nie.

Sub PaymentType()

If Forms!Customers!Credit.Value = False Then

ProcessCash

ElseIf Forms!Customers!Credit.Value = True Then

ProcessCredit

End If

End Sub


OldValue, właściwość

Właściwość OldValue może być użyta do określenia poprzedniej wartości fomantu związanego.

Ustawienie

Właściwość OldValue zawiera nie edytowane dane formantu związanego i we wszystkich widokach jest tylko do odczytu.

Właściwość ta jest dostępna tylko za pomocą makr lub języka Visual Basic.

Właściwość OldValue może być przypisana zmiennej za pomocą następującej składni:

OriginalValue = Forms!Customers!AmountPaid.OldValue

Uwagi

W programie Microsoft Access właściwość OldValue jest używana do przechowywania pierwotnej wartości formantu związanego. Podczas edycji formantu związanego na formularzu zmiany nie są zapisywana do momentu przejścia do innego rekordu. Właściwość OldValue zawiera niezmienioną wersję danych źródłowych.

Można utworzyć własną funkcję "Cofnij" przypisując formantowi ustawienie właściwości OldValue. W poniższym przykładzie zostało przedstawione, w jaki sposób cofnąć wszystkie zmiany wartości pól tekstowych formularza:

Sub btnUndo_Click()

Dim ctlTextbox As Control

For Each ctlTextbox in Me.Controls

If ctlTextbox.ControlType = acTextBox Then

ctlTextbox.Value = ctl.OldValue

End If

Next ctl

End Sub

Jeśli formant nie był edytowany, poniższy kod nie spowoduje żadnych zmian. Jeśli użytkownik przejdzie do nowego rekordu, rekord źródłowy zostanie zaktualizowany w związku z czym bieżąca wartość oraz wartość właściwości OldValue będą takie same.

Ustawienie właściwości OldValue jest wartością tego samego typu co pole, z którym formant jest związany.


OldValue, właściwość - przykład
OldValue, właściwość – przykład

W poniższym przykładzie sprawdzane jest, czy wartość wprowadzona do pola tekstowego nie przekracza 10% poprzedniej wartości znajdującej się w polu. Jeśli zmiana jest większa niż 10%, właściwość OldValue używana jest do odtworzenia poprzedniej wartości. Procedurę tę można wywołać dla zdarzenia BeforeUpdate formantu zawierającego daną podlegającą ograniczeniu.

Sub Validate_Field()

Dim curNewValue As Currency

Dim curOriginalValue As Currency

Dim curChange As Currency, strMsg As String

curNewValue = Forms!Products!UnitPrice

curOriginalValue = Forms!Products!UnitPrice.OldValue

curChange = Abs(curNewValue - curOriginalValue)

If curChange > (curOriginalValue * .1) Then

strMsg = "Change is more than 10% of original unit price. " _

& "Restoring original unit price."

MsgBox strMsg, vbExclamation, "Invalid change"

Forms!Products!UnitPrice = curOriginalValue

End If

End Sub


SelLength, SelStart, SelText, właściwości

Właściwości te można wykorzystać do takich zadań, jak ustawienie punktu wstawiania, określenie zakresu wstawiania, wybranie fragmentów ciągów znaków w formantach typu pole tekstowe lub pole kombi albo usunięcie tekstu.

•	Właściwość SelLength określa lub wyznacza liczbę znaków zaznaczonych w polu tekstowym lub w polu tekstowym będącym częścią pola kombi.

•	Właściwość SelStart określa lub wyznacza punkt początkowy zaznaczonego tekstu lub miejsce położenia punktu wstawiania, jeśli tekst nie został zaznaczony.

•	Właściwość SelText zwraca ciąg znaków zawierający zaznaczony tekst. Jeśli nie został zaznaczony żaden tekst właściwość SelText zawiera wartość Null.

Ustawienia

•	Wartości właściwości SelLength i SelStart są danymi typu Liczba całkowita z przedziału od 0 do całkowitej liczby znaków znajdujących się w polu tekstowym lub w polu tekstowym będącym częścią pola kombi.

•	Wartość właściwości SelText jest wyrażeniem typu ciąg znaków, które zawiera tekst zaznaczony w formancie. Jeśli w czasie ustawiania tej właściwości formant zawiera zaznaczony tekst, tekst ten będzie zastąpiony przez nowe ustawienie właściwości SelText.

Właściwości SelLength i SelStart można ustawić za pomocą makra lub języka Visual Basic. Właściwość SelText jest tylko do odczytu.

Uwagi

Aby ustawić lub odczytać te właściwości formantu, formant musi mieć fokus. Aby przenieść fokus na formant należy skorzystać z metody SetFocus.

Ustawienie właściwości SelLength na liczbę mniejszą niż 0 powoduje błąd wykonania.

Ustawienie właściwości SelStart na liczbę większą niż liczba znaków w formancie ustawia tę właściwość na długość istniejącego tekstu.

Zmiana właściwości SelStart usuwa zaznaczenie, ustawia punkt wstawiania w tekście i ustawia właściwość SelLength na wartość 0.


SelLength, SelStart, SelText, właściwości - przykład
SelLength, SelStart, SelText, właściwości – przykład

W poniższym przykładzie wykorzystano dwie procedury zdarzeń do wyszukania tekstu podanego przez użytkownika. Tekst przeznaczony do odszukania ustawiony jest w procedurze zdarzenia Load formularza. Procedura zdarzenia Click dla przycisku "Find" (przycisk ten klika użytkownik, aby rozpocząć przeszukiwanie) wyświetla monit o podanie szukanego tekstu, a następnie zaznacza tekst w polu tekstowym, jeśli dany fragment zostanie odnaleziony.

Sub Form_Load()

Dim ctlTextToSearch As Control

Set ctlTextToSearch = Forms!Form1!TextBox1

ctlTextToSearch.SetFocus	 ' SetFocus to text box.

ctlTextToSearch.Text = "This company places large orders " _

& "twice a year for garlic, oregano, chilies and cumin."

End Sub

Sub Find_Click()

Dim strSearch As String, intWhere As Integer

Dim ctlTextToSearch As Control

' Get search string from user.

With Me!Textbox1

strSearch = InputBox("Enter text to find:")

' Find string in text.

intWhere = InStr(.Value, strSearch)

If intWhere Then

' If found.

.SetFocus

.SelStart = intWhere - 1

.SelLength = Len(strSearch)

Else

' Notify user.

MsgBox "String not found."

End If

End With

End Sub


DefaultValue, właściwość

Właściwości DefaultValue (WartośćDomyślna) można użyć do określenia wartości, która zostanie automatycznie wprowadzona do pola po utworzeniu nowego rekordu. Na przykład, w tabeli "Addresses" (Adresy) można ustawić wartość domyślną pola "City" (Miasto) na "New York". Gdy użytkownik będzie dodawać nowy rekord do tabeli, może albo zaakceptować tę wartość albo wpisać nazwę innego miasta.

Uwagi

•	Właściwość DefaultValue nie ma zastosowania do formantów, takich jak pola wyboru, przyciski opcji i przyciski przełącznika, jeśli znajdują się one w grupie opcji. Właściwość dotyczy całej grupy opcji.

•	Właściwość DefaultValue stosuje się do wszystkich pól tabeli z wyjątkiem pól zawierających dane typu Autonumer i Obiekt OLE.

Ustawienie

Właściwość DefaultValue określa tekst lub wyrażenie, które będzie automatycznie umieszczone w formancie lub polu, gdy zostanie utworzony nowy rekord. Na przykład, jeśli właściwość DefaultValue formantu typu pole tekstowe zostanie ustawiona na =Now(), w formancie zostanie wyświetlona bieżąca data i czas. Maksymalna długość ustawienia właściwości DefaultValue wynosi 255 znaków.

Dla formantów właściwość tę można ustawić w arkuszu właściwości formantu. W przypadku pól właściwość tę można ustawić w widoku "Projekt" tabeli (w sekcji "Właściwości pola"), za pomocą makra lub używając języka Visual Basic.

W języku Visual Basic do ustawienia tej właściwości należy użyć wyrażenia typu ciąg znakow. Na przykład, poniższa instrukcja ustawia właściwość DefaultValue formantu typu pole tekstowe o nazwie "PaymentMethod" na wartość "Cash":

Forms!frmInvoice!PaymentMethod.DefaultValue = """Cash"""

Uwaga   Aby za pomocą języka Visual Basic ustawić tę właściwość dla pola tabeli, należy użyć właściwości DefaultValue obiektów dostępu do danych (DAO).

Uwagi

Właściwość DefaultValue jest stosowana tylko podczas dodawania nowego rekordu. Jeśli właściwość DefaultValue zostanie zmieniona, zmiana nie zostanie automatycznie zastosowana do istniejących rekordów.

Jeśli użytkownik ustawi właściwość DefaultValue dla formantu znajdującego się na formularzu i formant będzie związany z polem tabeli, dla którego również została ustawiona właściwość DefaultValue ustawienie formantu, a nie tabeli będzie tym ustawieniem, z którego będzie pochodzić wartość domyślna.

Jeśli formant zostanie utworzony metodą przeciągania pola z listy pól, ustawienie właściwości DefaultValue dla pola tabeli, zostanie zastosowane do formantu na formularzu, chociaż właściwość DefaultValue tego formantu będzie pusta.

Jeden formant może być źródłem wartości domyślnej dla innego formantu. Na przykład, jeśli dla formantu właściwość DefaultValue zostanie ustawiona na poniższe wyrażenie, wartość domyślna formantu będzie ustawiona na ustawienie właściwości DefaultValue formantu txtShipTo.

=Forms!frmInvoice!txtShipTo

Jeśli formanty znajdują się na tym samym formularzu, formant, który jest źródłem wartości domyślnej dla innego formantu musi pojawić się wcześniej na liście kolejności dostępu niż formant zawierający wyrażenie.


Format, właściwość

Właściwości Format można użyć, aby dostosować sposób, w jaki liczby, daty, godziny i teksty będą wyświetlane i drukowane. Na przykład, jeśli zostało utworzone pole tekstowe "Cena", można ustawić jego właściwość Format na wartość Currency i właściwość DecimalPlaces (MiejscaDziesiętne) na wartość 2 lub "Auto". Jeśli do formantu zostanie wprowadzona liczba 4321.678, liczba ta zostanie wyświetlona jako 4 321.68 zł.

Można użyć jednego z formatów predefiniowanych lub utworzyć format niestandardowy,używając do tego celu symboli formatowania.

Ustawienie

Właściwość Format może przyjmować różne ustawienia dla różnych typów danych. Aby uzyskać informacje o ustawieniach dla wybranego typu danych, należy wybrać jeden z poniższych tematów:

•	Data/Godzina, typ danych

•	Liczba i Walutowy, typy danych

•	Tekst i Memo, typy danych

•	Tak/Nie, typ danych

Dla formantu można ustawić tę właściwość w arkuszu właściwości formantu. W przypadku pól właściwość tę można ustawić w widoku "Projekt" tabeli (w sekcji "Właściwości pola") lub w widoku "Projekt" w oknie kwerendy (w arkuszu właściwości "Właściwości pola"). Można również użyć makra lub języka Visual Basic.

Uwaga   W języku Visual Basic należy podać wyrażenie typu ciąg znaków, które jest zgodne z jednym z predefiniowanych formatów lub wprowadzić własny format.

Uwagi

Właściwość Format wpływa tylko na wygląd danych (sposób wyświetlania danych). Nie ma wpływu na to, jak dane są przechowywane.

Program Microsoft Access dostarcza predefiniowanych formatów dla danych typu Data/Godzina, Liczba i Walutowy, Tekst i Memo, oraz Tak/Nie. Predefiniowane formaty zależą od kraju określonego po dwukrotnym kliknięciu ikony "Ustawienia regionalne" w Panelu sterowania systemu Windows. Program Microsoft Access wyświetla formaty odpowiadające wybranemu krajowi. Na przykład, jeśli na karcie Ustawienia regionalne zostanie wybrany język Angielski (USA), liczba 1234.56 w formacie waluty pojawi się jako $1,234.56, lecz gdy zostanie wybrana wartość Angielski (brytyjski), liczba ta pojawi się jako Ł1,234.56.

Jeśli właściwość Format pola zostanie ustawiona w widoku "Projekt" tabeli, program Microsoft Access użyje tego formatu do wyświetlenia danych w widoku "Arkusza danych". Właściwość Format pola zostanie także użyta w nowych formantach na formularzach i w raportach.

Dla dowolnego typu danych można przy tworzeniu niestandardowych formatów używać następujących symboli.

Symbol	Znaczenie
(spacja)	Wyświetlenie spacji jako znaku literałowego.
"ABC"	Wyświetlenie dowolnych znaków znajdujących się wewnątrz cudzysłowu jako znaków literałowych.
!	Wymuszenie wyrównania do lewej zamiast wyrównania do prawej.
*	Wypełnienie dostępnego miejsca następnym znakiem.
\	Wyświetlenie następnego znaku jako znaku literałowego. Można również wyświetlić znaki literałowe umieszczając je w cudzysłowiu.
[kolor]	Wyświetla sformatowane dane w kolorze wymienionym między nawiasami. Dostępne kolory: Czarny, Niebieski, Zielony, Niebiesko-Zielony, Czerwony, Purpurowy, Żółty, Biały.
Nie można łączyć niestandardowych symboli formatowania dla danych typu Liczba i Walutowy z symbolami formatowania dla danych typu Data/Godzina, Tak/Nie i Tekst i Memo.

Jeśli dla danych została zdefiniowana maska wprowadzania i jednocześnie dla tych samych danych została ustawiona właściwość Format, właściwość Format ma priorytet przy wyświetlaniu danych i maska wprowadzania jest ignorowana. Na przykład, jeśli została utworzona maska wprowadzania "Hasło" w widoku "Projekt" tabeli i jednocześnie dla tego samego pola została ustawiona właściwość Format, w tabeli lub w formancie na formularzu, maska "Hasło" jest ignorowana i dane są wyświetlane zgodnie z ustawieniem właściwości Format.


Format, właściwość - przykład
Format, właściwość – przykład

W poniższych trzech przykładach właściwość Format ustawiana jest z przy użyciu predefiniowanych formatów:

Me!Date.Format = "Medium Date"

Me!Time.Format = "Long Time"

Me!Registered.Format = "Yes/No"

W następnym przykładzie właściwość Format ustawiana jest z wykorzystaniem formatu niestandardowego. Format ten wyświetla datę w postaci: Jan 1995.

Forms!Employees!HireDate.Format = "mmm yyyy"

Poniższy przykład przedstawia funkcję języka Visual Basic, która formatuje dane liczbowe wykorzystując do tego format walutowy, a dane tekstowe formatuje w ten sposób, że zamienia wszystkie litery na wielkie. Funkcja jest wywoływana przy zdarzeniu OnLostFocus niezwiązanego formantu o nazwie "TaxRefund".

Function FormatValue() As Integer

Dim varEnteredValue As Variant

varEnteredValue = Forms!Survey!TaxRefund.Value

If IsNumeric(varEnteredValue) = True Then

Forms!Survey!TaxRefund.Format = "Currency"

Else

Forms!Survey!TaxRefund.Format = ">"

End If

End Function


Format, właściwość - Liczba i Walutowy, typy danych
Format, właściwość – Liczba i Walutowy, typy danych

Właściwość Format dla typów danych Liczba i Walutowy można ustawić na predefiniowane lub niestandardowe formaty liczbowe.

Ustawienie

Formaty predefiniowane

W poniższej tabeli zostały przestawione predefiniowane ustawienia właściwości Format dla liczb.

Ustawienie	Opis
Liczba ogólna	(Ustawienie domyślne) Wyświetla liczby w taki sposób, w jaki zostały wprowadzone.
Walutowy	Używany jest separator tysięcy, liczby ujemne wyświetlane są w nawiasach; domyślnym ustawieniem właściwości DecimalPlaces (MiejscaDziesiętne) jest 2.
Stałoprzecinkowy	Wyświetlana jest przynajmniej jedna cyfra; domyślnym ustawieniem właściwości DecimalPlaces jest 2.
Standardowy	Używany jest separator tysięcy; domyślnym ustawieniem właściwości DecimalPlaces jest 2.
Procentowy	Wartość jest mnożona przez 100 i dodawany jest po niej znak procentu (%); domyślnym ustawieniem właściwości DecimalPlaces jest 2.
Wykładniczy	Użycie standardowej notacji wykładniczej.
Formaty niestandardowe

Niestandardowy format liczbowy może składać się z czterech części oddzielonych od siebie średnikami. W każdej sekcji znajduje się specyfikacja formatu dla innego typu liczby.

Sekcja	Opis
Pierwsza	Format liczb dodatnich.
Druga	Format liczb ujemnych.
Trzecia	Format dla zera.
czwarta	Format dla wartości Null.
Można na przykład dla waluty używać następującego niestandardowego formatu:

$#,##0.00[Zielony];($#,##0.00)[Czerwony];"Zero";"Null"

Przedstawiony wyżej format liczby składa się z czterech sekcji oddzielonych średnikami. W każdej sekcji specyfikacja formatu jest inna.

Jeśli używany jest format określony w kilku sekcjach, lecz nie we wszystkich sekcjach została określona specyfikacja formatu, wartości, dla których nie została określona specyfikacja formatu albo nie zostaną wyświetlone, albo będą domyślnie wyświetlone zgodnie z formatem pierwszej sekcji.

Można tworzyć własny, niestandardowy format liczbowy używając następujących symboli:

Symbol	Opis
. (kropka)	Separator dziesiętny. Separatory ustawiane są przez dwukrotne kilknięcie ikony "Ustawienia regionalne" w Panelu sterowania systemu Windows.
, (przecinek)	Separator tysięcy.
0	Symbol zastępczy dla cyfry. Wyświetlanie cyfry lub zera.
#	Symbol zastępczy dla cyfry. Wyświetlanie cyfry lub brak znaku.
$	Wyświetlanie znaku literałowego "$".
%	Procent. Wartość jest mnożona przez 100 i dołączany jest znak procentu.
E– lub e–	Notacja wykładnicza ze znakiem minus (-) przed ujemnym wykładnikiem i spacją przed dodatnim wykładnikiem. Musi ona być używana z innymi symbolami, na przykład 0.00E–00 lub 0.00E00.
E+ lub e+	Notacja wykładnicza ze znakiem minus (-) przed ujemnym wykładnikiem i znakiem plus (+) przed dodatnim wykładnikiem. Musi ona być używana z innymi symbolami, na przykład 0.00E–00 lub 0.00E+00.
Uwagi

Właściwość DecimalPlaces służy do wyświetlenia innej liczby miejsc dziesiętnych niż domyślna, określona dla predefiniowanego formatu we właściwości Format.


Format, właściwość - Liczba i Walutowy, typy danych - przykład
Format, właściwość – Liczba i Walutowy, typy danych – przykład

Poniżej został podane przykłady predefiniowanych formatów liczbowych.

Ustawienie	Dane	Wyświetlona wartość
Liczba ogólna	3456.789 –3456.789 $213.21	3456.789 –3456.789 $213.21
Walutowy	3456.789 –3456.789	$3,456.79 ($3,456.79)
Stałoprzecinkowy	3456.789 –3456.789 3.56645	3456.79 –3456.79 3.57
Standardowy	3456.789	3,456.79
Procentowy	3 0.45	300% 45%
Wykładniczy	3456.789 –3456.789	3.46E+03 –3.46E+03
Poniżej zostały podane przykłady niestandardowych formatów liczbowych.

Ustawienie	Opis
0;(0);;"Null"	Wyświetlanie wartości dodatnich w zwykły sposób; wartości ujemnych w nawiasach; jeśli wartość równa jest Null wyświetlany jest wyraz "Null".
+0.0;–0.0;0.0	Wyświetlanie znaków plus (+) lub minus (–) dla dodatnich lub ujemnych liczb. Jeśli wartość równa się zero wyświetlana jest liczba 0.0.


Format, właściwość - Data/Godzina, typ danych
Format, właściwość – Data/Godzina, typ danych

Właściwość Format dla typów danych można ustawić na predefiniowane lub niestandardowe formaty liczbowe.

Ustawienie

Formaty predefiniowane

W poniższej tabeli zostały przedstawione predefiniowane ustawienia właściwości Format dla danych typu Data/Godzina.

Ustawienie	Opis
Data ogólna	(Ustawienie domyślne) Jeśli wartość jest tylko datą, nie jest wyświetlana godzina; jeśli wartość jest tylko godziną, to nie jest wyświetlana data. Ustawienie to jest kombinacją ustawień “Data krótka” i “Godzina długa”. Przykłady: 4/3/93, 05:34:00 PM, i 4/3/93 05:34:00 PM.
Data długa	Takie samo ustawienie, jak ustawienie w polu “Data długa” okna dialogowego Właściwości: Ustawienia regionalne w Panelu sterowania systemu Windows. Przykład: sobota, 3 kwietnia 1993.
Data średnia	Przykład: 3-IV-93.
Data krótka	Takie samo ustawienie, jak ustawienie w polu “Data krótka” okna dialogowego Właściwości: Ustawienia regionalne w Panelu sterowania systemu Windows. Przykład: 4/3/93. Ostrzeżenie   Ustawienie “Data krótka” zakłada że daty z przedziału od 1/1/00 do 12/31/29 są datami z dwudziestego pierwszego wieku (to znaczy że są to lata od 2000 do 2029). Daty z przedziału 1/1/30 do 12/31/99 są przyjmowane jako daty z dwudziestego wieku (co oznacza że są to lata od 1930 do 1999).
Godzina długa	Takie samo ustawienie, jak ustawienie na karcie Godzina w oknie dialogowym Właściwości: Ustawienia regionalne w Panelu sterowania systemu Windows. Przykład: 5:34:23 PM.
Godzina średnia	Przykład: 5:34 PM.
Godzina krótka	Przykład: 17:34.
Formaty niestandardowe

Można tworzyć niestandardowe formaty daty i godziny używając następujących symboli.

Symbol	Opis
: (dwukropek)	Separator godzin. Separatory są ustawiane w oknie dialogowym Właściwości: Ustawienia regionalne w Panelu sterowania systemu Windows.
/	Separator daty.
c	Takie samo ustawienie, jak predefiniowany format “Data ogólna”.
d	Dzień miesiąca w postaci jednej lub dwóch cyfr odpowiednio do wartości (od 1 do 31).
dd	Dzień miesiąca w postaci dwóch cyfr (od 01 do 31).
ddd	Pierwsze trzy litery dnia tygodnia (od Nie do Sob).
dddd	Pełna nazwa dnia tygodnia (od Niedziela do Sobota).
ddddd	Takie samo ustawienie, jak predefiniowany format “Data krótka”.
dddddd	Takie samo ustawienie, jak predefiniowany format “Data długa”.
w	Dzień tygodnia (od 1 do 7).
ww	Tydzień roku (od 1 do 53).
m	Miesiąc roku w postaci jednej lub dwóch cyfr odpowiednio do wartości (od 1 do 12).
mm	Miesiąc roku w postaci jednej lub dwóch cyfr odpowiednio do wartości (od 01 do 12).
mmm	Pierwsze trzy litery nazwy miesiąca (od Sty do Gru).
mmmm	Pełna nazwa miesiąca (od Styczeń do Grudzień).
q	Data wyświetlona jako kwartał roku (od 1 do 4).
y	Numer dnia w roku (od 1 do 366).
yy	Ostatnie dwie cyfry roku (od 01 do 99).
yyyy	Pełny rok (od 0100 do 9999).
h	Godzina w postaci jednej lub dwóch cyfr odpowiednio do wartości (od 0 do 23).
hh	Godzina w postaci dwóch cyfr (od 00 do 23).
n	Minuta w postaci jednej lub dwóch cyfr odpowiednio do wartości (od 0 do 59).
nn	Minuta w postaci dwóch cyfr (od 00 do 59).
s	Sekundy w postaci jednej lub dwóch cyfr, odpowiednio do wartości (od 0 do 59).
ss	Sekundy w postaci dwóch cyfr (od 00 do 59).
ttttt	Takie samo ustawienie, jak w predefiniowanym formacie “Godzina długa”.
AM/PM	Dwunastogodzinny zegar z oznaczeniem "AM" lub "PM" (dużymi literami).
am/pm	Dwunastogodzinny zegar z oznaczeniem "am" lub "pm" (małymi literami)
A/P	Dwunastogodzinny zegar z oznaczeniem "A" lub "P" (dużymi literami).
a/p	Dwunastogodzinny zegar z oznaczeniem "a" lub "p" (małymi literami).
AMPM	Dwunastogodzinny zegar z odpowiednim oznaczeniem pory doby (przed południem/po południu) tak jak to zostało określone w oknie dialogowym Właściwości: Ustawienia regionalne Panelu sterowania systemu Windows.
Niestandardowe formaty wyświetlane są zgodnie z ustawieniami określonymi w oknie dialogowym Właściwości: Ustawienia regionalne w Panelu sterowania systemu Windows. Niestandardowe formaty niezgodne z ustawieniami określonymi w oknie dialogowym Właściwości: Ustawienia regionalne są ignorowane.

Uwaga   Jeśli użytkownik chce umieścić w formacie niestandardowym kropkę, przecinek lub inny znak separatora, musi znak separatora umieścić w cudzysłowiu, jak w następującym przykładzie: mmm d", "yyyy.


Format, właściwość - Data/Godzina, typ danych - przykład
Format, właściwość – Data/Godzina, typ danych – przykład

W poniższych przykładach zostały przedstawione niestandardowe formaty danych typu Data/Godzina.

Ustawienie	Wyświetlana wartość
ddd", "mmm d", "yyyy	Pon, VI 2; 1997
mmmm dd", "yyyy	czerwiec 02;1997
"Numer tego tygodnia: "ww	Numer tego tygodnia: 22
"Dzisiaj jest "dddd	Dzisiaj jest czwartek
Za pomocą niestandardowego formatu można wyświetlać skrót "A.D." przed lub "P.N.E" po roku, w zależności od tego czy została wprowadzona liczba dodatnia czy liczba ujemna. Aby zobaczyć, w jaki sposób taki niestandardowy format działa, należy utworzyć w tabeli nowe pole, ustawić typ danych tego pola na Liczba i wprowadzić następujący format danych:

"A.D. " #;# " B.C."

Liczby dodatnie wyświetlane są jak lata ze skrótem "A.D." przed liczbą. Liczby ujemne wyświetlane są jako lata ze skrótem "P.N.E" umieszczonym po liczbie.


Format, właściwość - Tak/Nie, typ danych
Format, właściwość — Tak/Nie, typ danych

Właściwość Format można ustawić na jeden z predefiniowanych formatów: Tak/Nie, True/False lub Wł/Wył lub na niestandardowy format dla danych typu Tak/Nie.

Ustawienie

Program Microsoft Access jako formantów domyślnych dla pól typu Tak/Nie używa pól wyboru. Jeśli używane jest pole wyboru, to zarówno format predefiniowany, jak i niestandardowy są ignorowane. Formaty te są wykorzystywane tylko wtedy, gdy dane z tych pól wyświetlane są w formantach typu pole tekstowe.

Formaty predefiniowane

Właściwość Format dostarcza predefiniowanych formatów Tak/Nie Prawda/Fałsz i Wł/Wył. Wartości "Tak", Prawda i "Wł" są równoważne, tak jak równoważne są wartości "Nie", Fałsz i "Wył". Jeśli zostanie określony jeden z predefiniowanych formatów, a następnie wpisana wartość równoważna, zostanie wyświetlony predefiniowany format wartości równoważnej. Na przykład, jeśli do formantu typu pole tekstowe zostanie wpisana wartość Prawda lub Wł, gdy właściwość Format tego formantu jest ustawiona na format Tak/Nie, wartość ta zostanie automatycznie zamieniona na wartość "Tak".

Formaty niestandardowe

Typ danych Tak/Nie może wykorzystywać format niestandardowy składający się z trzech sekcji.

Sekcja	Opis
Pierwsza	Ta sekcja nie ma wpływu na format danych typu Tak/Nie. Jednak średnik (;) jest wymagany jako symbol zastępczy.
Druga	Tekst, który będzie wyświetlany zamiast wartości "Tak", Prawda lub "Wł".
Trzecia	Tekst, który będzie wyświetlany zamiast wartości "Nie", Fałsz lub "Wył".


Format, właściwość - Tak/Nie, typ danych - przykład
Format, właściwość – Tak/Nie, typ danych – przykład

W poniższym przykładzie zostały przedstawione niestandardowe formaty dla pól typu Tak/Nie dla formantów typu pole tekstowe. Dla wartości "Tak", Prawda lub "Wł" w formancie wyświetlany jest na niebiesko tekst "Always", dla wartości "Nie", Fałsz lub "Wył" wyświetlany jest na czerwono tekst "Never".

;"Always"[Blue];"Never"[Red]


Format, właściwość - Tekst i Memo, typy danych
Format, właściwość – Tekst i Memo, typy danych

W ustawieniu właściwości Format można używać symboli specjalnych w celu utworzenia niestandardowych formatów dla pól typu Tekst i Memo.

Ustawienie

Można utworzyć niestandardowe formaty dla pól typu Tekst i Memo używając następujących symboli.

Symbol	Opis
@	Wymagany jest znak tekstowy (albo spacja).
&	Znak tekstowy nie jest wymagany.
<	Wszystkie znaki są pisane małymi literami.
>	Wszystkie znaki są pisane wielkimi literami.
Niestandardowe formaty dla pól tekstowych i pól typu Memo mogą składać się z dwóch sekcji. Każda sekcja zawiera specyfikację formatu dla innych danych znajdujących się w polu.

Sekcja	Opis
Pierwsza	Format dla pól zawierających tekst.
Druga	Format dla pól zawierających ciągi znaków zerowej długości i wartości Null.
Na przykład, jeśli użytkownik chce wyświetlić w formancie typu pole tekstowe wyraz "Brak", gdy w polu nie ma ciągu znaków, może wpisać niestandardowy format @;"Brak" jako ustawienie właściwości Format formantu. Symbol @ powoduje że tekst znajdujący się w polu zostanie wyświetlony; druga sekcja jest odpowiedzialna za to, że w polu zostanie wyświetlony tekst “Brak”, gdy w polu znajduje się ciąg znaków zerowej długości lub wartość Null.

Uwaga   W wersji 2.0 programu Microsoft Access, funkcja Format zwraca określoną wartość dla ciągu znaków zerowej długości i inną wartość dla wartości Null. W analogiczny sposób można korzystać z właściwości Format do automatycznego formatowania pól tabeli w widoku "Arkusz danych" lub formantów na formularzach lub w raportach.

W programie Microsoft Access 97 użytkownik musi niezależnie sprawdzać, czy w polu jest wartość Null, a następnie zwracać odpowiednią wartość w zależności od uzyskanego wyniku. Na przykład, w wyrażeniu można użyć funkcji IIf w połączeniu z funkcją Format, tak jak w poniższym przykładzie:

var = IIf(IsNull(strX),"Null", Format(strX, "@;ZLS"))

Ta zmiana ma obowiązuje tylko wtedy, gdy funkcja Format użyta jest do formatowania ciągu znaków w zależności od tego, czy jest to ciąg znaków zerowej długości czy wartość Null. Inne wyrażenia formatujące wykorzystane w funkcji Format działają w dalszym ciągu tak samo, jak działały w poprzednich wersjach.

Nie można ustawić właściwości Format w taki sposób, aby wyświetlane były różne wartości w zależności od tego, czy w polu znajduje się wartość Null czy ciąg znaków zerowej długości. Aby odróżnić w formularzu lub w raporcie ciągi znaków zerowej długości od wartości Null, należy ustawić właściwość ControlSource (ŹródłoFormantu) formantu na wyrażenie, które sprawdza wystąpienie wartości Null. Na przykład, aby wyświetlić w formancie tekst "Null" lub "ZLS", należy ustawić jego właściwość ControlSource na następujące wyrażenie:

=IIf(IsNull([MyControl]), "Null", Format([MyControl], "@;ZLS"))


Format, właściwość - Tekst i Memo, typy danych - przykład
Format, właściwość – Tekst i Memo, typy danych – przykład

Poniżej zostały przedstawione niestandardowe formaty dla pól tekstowych i pól Memo.

Ustawienie	Dana	Wyświelana wartość
@@@-@@-@@@@	465043799	465-04-3799
@@@@@@@@@	465-04-3799 465043799	465-04-3799 465043799
>	davolio DAVOLIO Davolio	DAVOLIO DAVOLIO DAVOLIO
<	davolio DAVOLIO Davolio	davolio davolio davolio
@;"Unknown"	Wartość Null	Brak
	Ciąg znaków zerowej długości	Nic nie jest wyświetlane
	Dowolny tekst	Taki sam tekst jaki został wprowadzony


InputMask, właściwość

Właściwość InputMask (MaskaWprowadzania) służy do ułatwiania wprowadzania danych oraz do sterowania wartościami, jakie użytkownicy mogą wpisywać do formantów typu pole tekstowe. Można na przykład utworzyć maskę wprowadzania dla pola “Numer telefonu”, w którym będzie dokładnie pokazane, w jaki sposób nowy numer ma zostać wprowadzony: (___) ___-____. Zwykle łatwiej jest ustawić tę właściwość za pomocą Kreatora masek wprowadzania.

Ustawienia

Właściwość InputMask może składać się z trzech sekcji, oddzielonych od siebie średnikami (;).

Sekcja	Opis
Pierwsza	Służy do określenia maski  wprowadzania, na przykład !(999) 999-9999. Lista znaków, które mogą być użyte w masce wprowadzania przedstawiona została w tabeli poniżej.
Druga	Określa, czy po wprowadzeniu danych program Microsoft Access przechowuje w tabeli znaki literałowe. Jeśli w tej sekcji zostanie użyta wartość 0, to wszystkie znaki literałowe (na przykład nawiasy użyte w masce wprowadzania przy wpisywaniu numeru telefonu) będą przechowywane razem z wprowadzoną wartością; jeśli w sekcji zostanie wprowadzona wartość 1 lub sekcja będzie pusta, to przechowywane będą tylko znaki wpisane do formantu.
Trzecia	Określa znak, jaki będzie wyświetlany przez program Microsoft Access w miejscu, w którym w masce wprowadzania zamiast znaku, który powinien zostać wpisany zostanie wpisana spacja. W tej sekcji może pojawić się dowolny znak. Aby wyświetlić pusty ciąg znaków należy wpisać znak spacji ograniczony cudzysłowami (" ").
W języku Visual Basic do ustawiania tej właściwość służą wyrażenia typu ciąg znaków. Na przykład, poniżej przedstawiona została maska wprowadzania dla formantu typu pole tekstowe, do którego wpisywany jest numer telefonu:

Forms!Customers!Telephone.InputMask = "(###) ###-####"

Tworząc maskę wprowadzania można za pomocą znaków specjalnych zdecydować, że pewne znaki będą wymagane (na przykład numer telefonu), podczas gdy inne będą opcjonalne (na przykład numer kierunkowy). Znaki te określają, jaki typ znaku (cyfrę czy literę) trzeba wprowadzić w miejsce każdego znaku w masce wprowadzania.

Maskę wprowadzania można utworzyć korzystając z następujących znaków.

Znak	Opis
0	Cyfra (Od 0 do 9, pozycja wymagana, znaki plus [+] i minus [–] nie są dozwolone).
9	Cyfra lub spacja (pozycja nie jest wymagana, znaki plus i minus nie są dozwolone).
#	Cyfra lub spacja (pozycja nie jest wymagana, w trybie edycji spacje wyświetlane są jako puste miejsca, lecz podczas zapisywania danych spacje są usuwane; znaki plus i minus są dozwolone).
L	Litera (od A do Z, pozycja wymagana).
?	Litera (od A do Z, pozycja wymagana).
A	Litera lub cyfra (pozycja wymagana).
a	Litera lub cyfra (pozycja wymagana).
&	Dowolny znak lub spacja (pozycja wymagana).
C	Dowolny znak lub spacja (pozycja wymagana).
.  ,  :  ;  -  /	Dziesiętny symbol zastępczy oraz separator tysięcy, dat i godzin. (Znak, który zostanie użyty w charakterze separatora zależy od ustawień w oknie dialogowym Właściwości: Ustawienia regionalne w Panelu sterowania systemu Windows).
<	Powoduje, że wszystkie litery zostaną zmienione na małe.
>	Powoduje, że wszystkie litery zostaną zmienione na wielkie.
!	Powoduje, że wszystkie dane są wyświetlane od strony prawej do lewej zamiast od lewej do prawej. Znaki wpisane do maski wprowadzania zawsze będą ją wypełniać od strony lewej do strony prawej. Wykrzyknik może pojawić się w dowolnym miejscu maski wprowadzania
\	Powoduje, że znak, który po nim występuje, zostanie wyświetlony jako znak literałowy (na przykład, \A będzie wyświetlone po prostu jako A).
Uwaga   Ustawienie właściwości InputMask na wartość "Hasło" tworzy formant do wprowadzania hasła. Dowolny znak wprowadzony do formantu będzie zapisywany jako znak, lecz wyświetlany w postaci gwiazdki (*). Maski “Hasło” można używać, aby uniemożliwić wyświetlanie wprowadzanych znaków na ekranie.

Dla formantów właściwość tą można ustawić w arkuszu właściwości formantu. W przypadku pól tabeli, można ustawić tę właściwość w widoku "Projekt" tabeli (w sekcji "Właściwości pola") lub w widoku "Projekt" w oknie kwredendy (w arkuszu właściwości "Właściwości pola").

Właściwość InputMask można również ustawić z pomocą makra lub języka Visual Basic.

Uwagi

Podczas wpisywania danych do pola, dla którego została zdefiniowana maska wprowadzania, dane wpisywane są zawsze w trybie zastępowania. Jeśli za pomocą klawisza BACKSPACE zostanie usunięty znak, zamiast znaku pojawi się puste miejsce.

Jeśli tekst znajdujący się w polu, dla którego została zdefiniowana maska wprowadzania zostanie przeniesiony do schowka, wyświetlane znaki literałowe są kopiowane nawet wtedy, gdy użytkownik określi, że nie będą one zapisywane razem z danymi.

Uwaga   Maska wprowadzania wpływa tylko na znaki, które są bezpośrednio wprowadzane do formantu lub pola kombi. Program Microsoft Access ignoruje wszystkie maski wprowadzania podczas importu danych, podczas wykonywania kwerendy funkcjonalnej lub podczas wprowadzania znaków do formantu poprzez ustawienie właściwości Text w języku Visual Basic lub za pomocą akcji UstawWartość (SetValue) w makrze.

Jeśli dla tego samego pola została zdefiniowana maska wprowadzania oraz właściwość Format, właściwość Format ma wyąszy priorytet podczas wyświetlania danych. Oznacza to, że nawet jeśli maska wprowadzania została zapisana, będzie podczas wyświetlania i formatowania danych ignorowana. Dane w tabeli odnośnej nie ulegną zmianie; właściwość Format wpływa tylko na to, w jaki sposób dane będą wyświetlane.


InputMask, właściwość - przykład - użyteczne maski wprowadzania
InputMask, właściwość – przykład; użyteczne maski wprowadzania

W poniższej tabeli pokazano kilka użytecznych masek wprowadzania oraz kilka typów wartości, które można do nich wprowadzać.

Maska wprowadzania	Przykłady wartości
(000) 000-0000	(206) 555-0248
(999) 999-9999	(206) 555-0248
	(   ) 555-0248
(000) AAA-AAAA	(206) 555-TELE
#999	–20
	2000
>L????L?000L0	GREENGR339M3
	MAY  R 452B7
>L0L 0L0	T2F 8M4
00000-9999	98115-
	98115-3007
>L<??????????????	Maria
	Brendan
SSN 000-00-0000	SSN 555-55-5555
>LL00000-0000	DB51392-0493


ValidationRule, ValidationText, właściwości

Właściwość ValidationRule (RegulaPoprawności) służy do określenia wymagań, które muszą być spełnione przez dane wprowadzane do rekordu, pola lub formantu. Gdy wprowadzane są dane naruszające ustawienie właściwości ValidationRule, za pomocą właściwości ValidationText (KomunikatOBłędzie) można określić komunikat, który będzie w takim wypadku wyświetlany.

Uwaga   Właściwości ValidationRule i ValidationText nie mają zastosowania do formantów typu pole tekstowe, przycisk opcji i przycisk przełącznika, jeśli są one częścią grupy opcji.. Stosują się one w takim przypadku tylko do grupy opcji jako całości.

Ustawienia

W celu ustawienia właściwości ValidationRule należy wprowadzić wyrażenie, a dla właściwości ValidationText należy wprowadzić tekst. Maksymalna długość ustawienia właściwości ValidationRule wynosi 2048 znaków. Maksymalna długość ustawienia właściwości ValidationText wynosi 255 znaków.

Dla formantów właściwość ValidationRule można ustawić na dowolne poprawne wyrażenie. W przypadku reguł poprawności dla pól i rekordów wyrażenie nie może zawierać funkcji zdefiniowanych przez użytkownika, funkcji agregujących domen ani funkcji agregujących, a także funkcji CurrentUser i Eval, oraz odwołań do formularzy, kwerend i tabel. Oprócz tego reguły poprawności dla pól nie mogą zawierać odwołań do innych pól. W przypadku rekordów, w wyrażeniach mogą znajdować się odwołania do pól tabeli.

Właściwości ValidationRule i ValidationText można ustawić używając:

•	Sekcji "Właściwości pola" w widoku "Projekt" tabeli (w przypadku reguł poprawności dla pól).

•	Arkusza właściwości  dla tabeli, klikając polecenie Właściwości z menu Widok w widoku "Projekt" tabeli (w przypadku reguł poprawności dla rekordów).

•	Dla formantów na formularzu za pomocą arkusza właściwości.

•	Za pomocą makra lub języka Visual Basic. W języku Visual Basic do ustawienia tej właściwości należy użyć wyrażenia typu ciąg znaków.

W przypadku pól i tabel można ustawić tę właściwość w języku Visual Basic również za pomocą właściwości ValidationRule obiektów dostępu do danych (DAO).

Uwagi

Program Microsoft Access automatycznie weryfikuje, czy dane zgodne są z typem pola; na przykład, program Microsoft Access nie pozwala na wprowadzienie do pól typu liczbowego wartości tekstowych. Za pomocą właściwości ValidationRule można określić reguły poprawności, które są bardziej szczegółowe.

Jeśli zostanie ustawiona właściwość ValidationRule, lecz nie zostanie ustawiona właściwość ValidationText, program Microsoft Access wyświetli standardowy komunikat o błędzie, jeśli reguła poprawności zostanie naruszona. Jeśli zostanie ustawiona właściwość ValidationText, tekst, który zostanie umieszczony w tej właściwości zostanie wyświetlony, jeśli wystąpi błąd związany z naruszeniem reguły poprawności.

Na przykład, dla operacji dodawania rekordu z nowym pracownikiem można ustawić właściwość ValidationRule w taki sposób, aby data zatrudnienia była datą z przedziału między datą założenia firmy a dniem bieżącym. Jeśli wprowadzona data będzie datą spoza tego okresu, można wyświetlić komunikat ustawiony we właściwości ValidationText: "Data zatrudnienia jest niepoprawna".

Jeśli za pomocą przeciągania i upuszczania pola z listy pól zostanie utworzony formant, reguła poprawności nadal obowiązuje, chociaż nie jest wyświetlana we właściwości ValidationRule formantu w arkuszu właściwości. Dzieje się tak dlatego, że reguła poprawności w przypadku związanych pól tekstowych jest dziedziczona..

Reguły poprawności dla formantów, pól i rekordów stosowane są w następujący sposób:

•	Reguły poprawności ustawione dla pól i formantów stosowane są wtedy, gdy po edycji danych pole lub formant traci fokus.

•	Reguły poprawności dla rekordów są stosowane, gdy następuje przejście do innego rekordu.

•	Jeśli zostanie utworzona reguła poprawności zarówno dla pola tabeli, jak i dla formantu związanego z tym polem, to po edycji, w momencie utraty fokusu przez formant, stosowane są obie reguły poprawności.

W poniższej tabeli przedstawione zostały przykłady wyrażeń dla właściwości ValidationRule i ValidationText.

Właściwość ValidationRule	Właściwość ValidationText
<> 0	Wprowadzane dane muszą być różne od zera.
> 1000 Or Is Null	Wprowadzane dane muszą być większe od 1000 lub pole musi być puste..
Like "A????"	Wprowadzane dane muszą mieć pięć znaków i zaczynać się od litery "A".
>= #1/1/96# And <#1/1/97#	Wprowadzone dane muszą stanowić datę z 1996 roku.
DLookup("CustomerID", "Customers", "CustomerID = Forms!Customers!CustomerID") Is Null	Wprowadzone dane muszą być unikatowym identyfikatorem klienta CustomerID (funkcje agregujące domen są dopuszczalne tylko w regułach na poziomie formularzy)
Jeśli zostanie utworzona reguła poprawności dla pola, program Microsoft Access nie dopuszcza zwykle do przechowywania w polu wartości Null. Jeśli użytkownikowi zależy, aby wartości Null mogły być przechowywane, w regule poprawności należy dodać wyrażenie "Is Null", na przykład "<> 8 Or Is Null" i upewnić się, czy właściwość Required (Wymagany) ustawiona jest na wartość “Nie”.

Nie można ustawić reguły poprawności pola ani rekordu dla tabel utworzonych w innym programie niż Microsoft Access (na przykład, dBASE, Paradox, lub SQL Server). Dla tego rodzaju tabel można utworzyć reguły poprawności tylko dla formantów.


ValidationRule, ValidationText, właściwości - przykład
ValidationRule, ValidationText, właściwości – przykład

W poniższym przykładzie utworzona została reguła poprawności dla pola, która dopuszcza wprowadzanie tylko wartości większych niż 65. Jeśli wprowadzona liczba jest mniejsza niż 65, wyświetlany jest komunikat. Właściwości ustawiane są za pomocą funkcji SetFieldValidation.

Dim strTblName As String, strFldName As String

Dim strValidRule As String

Dim strValidText As String, intX As Integer

strTblName = "Customers"

strFldName = "Age"

strValidRule = ">= 65"

strValidText = "Enter a number greater than or equal to 65."

intX = SetFieldValidation(strTblName, strFldName, _

strValidRule, strValidText)

Function SetFieldValidation(strTblName As String, _

strFldName As String, strValidRule As String, _

strValidText As String) As Integer

Dim dbs As Database, tdf As TableDef, fld As Field

Set dbs = CurrentDb

Set tdf = dbs.TableDefs(strTblName)

Set fld = tdf.Fields(strFldName)

fld.ValidationRule = strValidRule

fld.ValidationText = strValidText

End Function

W następnym przykładzie funkcja SetTableValidation została użyta do ustawienia reguły poprawności rekordu w taki sposób, aby zapewnić że data znajdująca się w polu "EndDate" jest późniejsza niż data z pola "StartDate".

Dim strTblName As String, strValidRule As String

Dim strValidText As String

Dim intX As Integer

strTblName = "Employees"

strValidRule = "EndDate > StartDate"

strValidText = "Enter an EndDate that is later than the StartDate."

intX = SetTableValidation(strTblName, strValidRule, strValidText)

Function SetTableValidation(strTblName As String, _

strValidRule As String, strValidText As String) _

As Integer

Dim dbs As Database, tdf As TableDef

Set dbs = CurrentDb

Set tdf = dbs.TableDefs(strTblName)

tdf.ValidationRule = strValidRule

tdf.ValidationText = strValidText

End Function


Właściwości zdarzeń

Właściwości zdarzenia powodują wykonanie makra lub napisanej w języku Visual Basic, związanej z nim procedury zdarzenia, gdy wystąpi określone  zdarzenie. Na przykład, jeśli zostanie wprowadzona nazwa makra do właściwości OnClick (PrzyKliknięciu) przycisku polecenia, to makro będzie wykonywane, gdy przycisk polecenia zostanie kliknięty. Pełną listę właściwości zdarzeń można znaleźć w temacie Zestawienie zdarzeń i właściwości zdarzeń.

Ustawienia

Aby uruchomić makro, należy wprowadzić nazwę makra. Można wybrać istniejące makro z listy. Jeśli makro jest w grupie makr, to będzie ono wyświetlone na liście pod nazwą grupy makr, w następujący sposób: nazwa_grupy_makr.nazwa_makra.

Aby wykonać procedurę zdarzenia związaną ze zdarzeniem, należy wybrać z listy wartość [Procedura zdarzenia].

Uwaga   Mimo iż użycie procedury zdarzenia jest zalecaną metodą wykonania kodu języka Visual Basic w odpowiedzi na jakieś zdarzenie, to można również w przypadku wystąpienia zdarzenia wykonać funkcję zdefiniowaną przez użytkownika. Aby wykonać funkcję zdefiniowaną przez użytkownika, należy umieścić znak równości (=) przed nazwą funkcji i nawiasy po niej, w następujący sposób: =nazwa_funkcji( ).

Właściwości zdarzeń można ustawić w arkuszu właściwości obiektu, w makrze lub w języku Visual Basic. Należy zwrócić uwagę, że podczas formatowania lub drukowania formularza lub raportu nie można ustawić żadnych właściwości zdarzeń.

Wskazówka   Aby uzyskać Pomoc przy ustawianiu właściwości zdarzenia, można użyć konstruktorów. Należy w tym celu kliknąć przycisk Buduj  [image]  po prawej stronie pola właściwości albo kliknąć pole właściwości prawym przyciskiem myszy, a następnie kliknąć polecenie Buduj w menu podręcznym. W oknie dialogowym Wybierz konstruktora należy wybrać opcję:

•	Konstruktor makr, aby utworzyć i zdefiniować makro dla danej procedury zdarzenia. Można również użyć konstruktora makr do edycji makra już zdefiniowanego przez właściwość.

•	Konstruktor kodu, aby utworzyć i zdefiniować procedurę zdarzenia dla danej właściwości zdarzenia. Można również użyć konstruktora kodu do edycji procedury zdarzenia już zdefiniowanej przez właściwość.

•	Konstruktor wyrażeń, aby wybrać i zdefiniować funkcję zdefiniowaną przez użytkownika dla danej właściwości zdarzenia.

W języku Visual Basic należy ustawić tę właściwość na ciąg znaków.

Aby wykonać	Należy użyć składni	Przykład
Makro	"nazwa_makra"	Button1.OnClick = "MyMacro"
Procedurę zdarzenia	"[Procedura zdarzenia]"	Button1.OnClick = "[Procedura zdarzenia]"
Funkcję zdefiniowaną przez użytkownika	"=nazwa_funkcji( )"	Button1.OnClick = "=MyFunction()"


Właściwości zdarzeń - przykład kodu języka Visual Basic
Właściwości zdarzeń – przykład kodu języka Visual Basic

W poniższym przykładzie zostało pokazane, jak można użyć wartości wprowadzonej do formantu "Country" do określenia, które spośród dwóch różnych makr zostanie wykonane, gdy użytkownik kliknie przycisk "Print Country Report".

Private Sub Country_AfterUpdate()

If Country = "Canada" Then

[Print Country Report].OnClick = "PrintCanadaReport"

ElseIf Country = "USA" Then

[Print Country Report].OnClick = "PrintUSAReport"

End If

End Sub


Właściwości zdarzeń i obiekty, dla których mają one zastosowanie

Właściwość zdarzenia	Stosuje się do
AfterDelConfirm (PoUsunięciu)	Formularzy.
AfterInsert (PoWstawieniu)	Formularzy.
AfterUpdate* (PoAktualizacji)	Formularzy. Formantów (związanej ramki obiektu, pola wyboru, pola kombi,, pola listy, przycisku opcji, grupy opcji, pola tekstowego, przycisku przełącznika) na formularzu.
BeforeDelConfirm (PrzedUsunięciem)	Formularzy.
BeforeInsert (PrzedWstawieniem)	Formularzy.
BeforeUpdate* (PrzedAktualizacją)	Formularzy. Formantów (związanej ramki obiektu, pola wyboru, pola kombi, pola listy, przycisku opcji, grupy opcji, pola tekstowego, przycisku przełącznika) na formularzu.
OnActivate (PrzyAktywowaniu)	Formularzy i raportów.
OnApplyFilter (PrzyZastosowaniuFiltru)	Formularzy.
OnChange (PrzyZmianie)	Formantów (pola kombi, karty, pola tekstowego) na formularzu.
OnClick* (PrzyKliknięciu)	Formularzy. Sekcji formularza. Formantów (związanej ramki obiektu, wykresu, pola wyboru, pola kombi, przycisku polecenia, obrazu, etykiety, pola listy, przycisku opcji, grupy opcji, prostokąta, karty, pola tekstowego, przycisku przełącznika, niezwiązanej ramki obiektu) na formularzu.
OnClose (PrzyZamknięciu)	Formularzy i raportów.
OnCurrent PrzyBieżącym)	Formularzy.
OnDblClick* (PrzyKliknięciuDwukrotnym)	Formularzy. Sekcji formularza. Formantów (związanej ramki obiektu, wykresu, pola wyboru, pola kombi, przycisku polecenia, obrazu, etykiety, pola listy, przycisku opcji, grupy opcji, prostokąta, karty, pola tekstowego, przycisku przełącznika, niezwiązanej ramki obiektu) na formularzu.
OnDeactivate (PrzyDezaktywowaniu)	Formularzy i raportów.
OnDelete (PrzyUsunięciu)	Formularzy.
OnEnter* (PrzyWejściu)	Formantów (ActiveX, związanej ramki obiektu, wykresu, pola wyboru, pola kombi, przycisku polecenia, pola listy, przycisku opcji, grupy opcji, podformularza/podraportu, karty, pola tekstowego, przycisku przełącznika, niezwiązanej ramki obiektu) na formularzu.
OnError (PrzyBłędzie)	Formularzy i raportów.
OnExit* (PrzyZakończeniu)	Formantów (ActiveX, związanej ramki obiektu, wykresu, pola wyboru, pola kombi, przycisku polecenia, pola listy, przycisku opcji, grupy opcji, poformularza/podraportu, karty, pola tekstowego, przycisku przełącznika, niezwiązanej ramki obiektu) na formularzu.
OnFilter (PrzyFiltrowaniu)	Formularzy.
OnFormat (PrzyFormatowaniu)	Sekcji raportu.
OnGotFocus (PrzyUzyskaniuFokusu)	Formularzy. Formantów (ActiveX, związanej ramki obiektu, pola wyboru, pola kombi, przycisku polecenia, pola listy, przycisku opcji, karty, pola tekstowego, przycisku przełącznika, niezwiązanej ramki obiektu) na formularzu.
OnKeyDown (PrzyNaciśnięciuKlawisza)	Formularzy. Formantów (związanej ramki obiektu, pola wyboru, pola kombi, przycisku polecenia, pola listy, przycisku opcji, karty, pola tekstowego, przycisku przełącznika, niezwiązanej ramki obiektu) na formularzu.
OnKeyPress (PrzyNaciśniętymKlawiszu)	Formularzy. Formantów (związanej ramki obiektu, pola wyboru, pola kombi, przycisku polecenia, pola listy, przycisku opcji, karty, pola tekstowego, przycisku przełącznika, niezwiązanej ramki obiektu) na formularzu.
OnKeyUp (PrzyZwolnieniuKlawisza)	Formularzy. Formantów (związanej ramki obiektu, pola wyboru, pola kombi, przycisku polecenia, pola listy, przycisku opcji, karty, pola tekstowego, przycisku przełącznika, niezwiązanej ramki obiektu) na formularzu.
OnLoad (PrzyZaładowaniu)	Formularzy.
OnLostFocus (PrzyUtracieFokusu)	Formularzy. Formantów (ActiveX, związanej ramki obiektu, pola wyboru, pola kombi, przycisku polecenia, pola listy, przycisku opcji, karty, pola tekstowego, przycisku przełącznika, niezwiązanej ramki obiektu) na formularzu.
OnMouseDown (PrzyNaciśniętejMyszy)	Formularzy. Sekcji formularza. Formantów (związanej ramki obiektu, wykresu, pola wyboru, pola kombi, przycisku polecenia, obrazu, etykiety, pola listy, przycisku opcji, grupy opcji, prostokąta, karty, pola tekstowego, przycisku przełącznika, niezwiązanej ramki obiektu) na formularzu.
OnMouseMove (PrzyRuchuMyszy)	Formularzy. Sekcji formularza. Formantów (związanej ramki obiektu, wykresu, pola wyboru, pola kombi, przycisku polecenia, obrazu, etykiety, pola listy, przycisku opcji, grupy opcji, prostokąta, karty, pola tekstowego, przycisku przełącznika, niezwiązanej ramki obiektu) na formularzu.
OnMouseUp (PrzyZwolnionejMyszy)	Formularzy. Sekcji formularza. Formantów (związanej ramki obiektu, wykresu, pola wyboru, pola kombi, przycisku polecenia, etykiety, pola listy, przycisku opcji, grupy opcji, prostokąta, karty, pola tekstowego, przycisku przełącznika, niezwiązanej ramki obiektu) na formularzu.
OnNoData (PrzyBrakuDanych)	Raportów.
OnNotInList (PrzyWartościSpozaListy)	Formantów (pola kombi) na formularzu.
OnOpen (PrzyOtwarciu)	Formularzy i raportów.
OnPage (PrzyStronie)	Raportów.
OnPrint (PrzyWydruku)	Sekcji raportu.
OnResize (PrzyZmianieRozmiaru)	Formularzy.
OnRetreat (PrzyPowrocie)	Sekcji raportu.
OnTimer (PrzyCykluCzasomierza)	Formularzy.
OnUnload (PrzyZwolnieniu)	Formularzy.
OnUpdated (PrzyAktualizacji)	Formantów (ActiveX, związanej ramki obiektu, niezwiązanej ramki obiektu) na formularzu.
* Właściwości te nie mają zastosowania do pól wyboru, przycisków opcji lub przycisków przełącznika znajdujących się w grupie opcji. Mają one zastosowanie tylko do samej grupy opcji.


Filter, właściwość

Właściwości Filter (Filtr) można użyć do określenia podzbioru rekordów, które mają być wyświetlane po zastosowaniu danego filtru do formularza, kwerendy lub tabeli.

Ustawienia

Właściwość Filter jest wyrażeniem typu ciąg znaków złożonym z klauzuli WHERE bez słowa kluczowego WHERE. Na przykład, poniższy kod język Visual Basic definiuje filtr, którego zastosowanie powoduje wyświetlenie klientów tylko z terenu Stanów Zjednoczonych:

Me.Filter = "Country = 'USA'"

Me.FilterOn = True

Właściwość tę można ustawić w arkuszu właściwości formularza lub tabeli, w makrze lub w kodzie języka Visual Basic.

Właściwość tę można również ustawić w widoku "Formularz" lub w widoku "Arkusz danych" wskazując polecenie Filtr w menu Rekordy i klikając jedno z poleceń podmenu.

Uwaga   Ustawienie właściwości Filter nie ma wpływu na właściwość Filter obiektów dostępu do danych (DAO).

Uwagi

Właściwości Filter można użyć, aby zapisać filtr i zastosować go później. Filtry są zapisywane wraz z obiektami, w których zostały utworzone. Są one automatycznie ładowane, gdy obiekt jest otwierany, ale nie są automatycznie stosowane.

Gdy tworzony jest nowy obiekt, dziedziczy on właściwości RecordSource (ŹródłoRekordów), Filter, OrderBy (UporządkujWedług) i OrderByOn (PorządkowanieWłączone) tabeli lub kwerendy, z której został utworzony.

Aby zastosować zapisany filtr do formularza, kwerendy lub tabeli, można kliknąć przycisk Zastosuj filtr  [image]  na pasku narzędzi, kliknąć polecenie Zastosuj filtr/sortowanie w menu Rekordy lub użyć makra albo języka Visual Basic do ustawienia właściwości FilterOn (FiltrWłączony) na wartość True (-1). W przypadku raportów można zastosować filtr ustawiając właściwość FilterOn na wartość "Tak" w arkuszu właściwości danego raportu.

Przycisk Zastosuj filtr wskazuje, jaki jest stan właściwości Filter i FilterOn. Przycisk ten pozostaje niedostępny, dopóki nie ma żadnego filtru, który można zastosować. Jeśli natomiast istniejący filtr jest aktualnie stosowany, to przycisk Zastosuj filtr pojawia się jako wciśnięty.

Aby stosować filtr automatycznie po otwarciu formularza, należy określić we właściwości zdarzenia OnOpen danego formularza makro używające akcji ZastosujFiltr (ApplyFilter) albo procedurę zdarzenia, używającą metody ApplyFilter obiektu DoCmd.

Aby usunąć filtr, można kliknąć wciśnięty przycisk Zastosuj filtr, kliknąć polecenie Zastosuj filtr/sortowanie w menu Rekordy lub użyć języka Visual Basic do ustawienia właściwości FilterOn na wartość False (0).

Uwaga   Można zapisać filtr jako kwerendę klikając polecenie Zapisz jako kwerendę w menu Plik w oknie "Filtruj według formularza" lub w oknie "Zaawansowany filtr/sortowanie".

Gdy właściwość Filter jest ustawiana w widoku "Projekt" formularza, program Microsoft Access nie próbuje sprawdzić poprawności wyrażenia SQL. Jeśli wyrażenie SQL jest nieprawidłowe, to przy zastosowaniu filtru występuje błąd.


FilterLookup, właściwość

Właściwości FilterLookup (OdnośnikFiltru) można użyć do określenia, czy wartości mają się pojawiać w związanym formancie typu pole tekstowe, gdy używane jest okno "Filtruj według formularza".

Ustawienia

Dla właściwości FilterLookup używane są następujące ustawienia.

Ustawienie	Opis	Visual Basic
Nigdy	Wartości pola nie są wyświetlane. Można określić, czy filtrowane rekordy mogą zawierać wartości Null.	0
Domyślny bazy danych	(Ustawienie domyślne) Wartości pola są wyświetlane zgodnie z ustawieniami w obszarze Filtruj według wartości domyślnych formularza na karcie Edytuj/Znajdź okna dialogowego Opcje, dostępnego przez kliknięcie polecenia Opcje w menu Narzędzia.	1
Zawsze	Wartości pola są zawsze wyświetlane.	2
Właściwość FilterLookup można ustawić w arkuszu właściwości pola tekstowego, w makrze lub w kodzie języka Visual Basic.

Można ustawić wartość domyślną dla tej właściwości używając domyślnego stylu formantu dla formantu typu pole tekstowe lub metody DefaultControl języka Visual Basic.

Uwagi

Aby ograniczyć typy wyświetlanych pól, należy wyczyścić odpowiednie pole wyboru w obszarze Filtruj według wartości domyślnych formularza na karcie Edytuj/Znajdź okna dialogowego Opcje, dostępnego przez kliknięcie polecenia Opcje w menu Narzędzia. Jeśli listy pól nie są wyświetlane, należy zwiększyć liczbę w polu Nie wyświetlaj list, w których wyświetlanych wierszy jest więcej niż, aby była większa lub równa maksymalnej liczbie rekordów w dowolnym z pól odnośnego źródła rekordów.


FilterOn, właściwość

Właściwości FilterOn (FiltrWłączony) można użyć do określenia lub sprawdzenia, czy stosowana jest właściwość Filter (Filtr) dla formularza lub raportu.

Ustawienia

Dla właściwości FilterOn używane są następujące ustawienia.

Ustawienie	Opis	Visual Basic
Tak	Właściwość Filter obiektu jest stosowana.	True (–1)
Nie	(Ustawienie domyślne) Właściwość Filter obiektu nie jest stosowana.	False (0)
Dla raportów właściwość FilterOn można ustawić w arkuszu właściwości danego raportu lub w kodzie języka Visual Basic.

Dla formularzy właściwość FilterOn można ustawić w makrze lub w kodzie języka Visual Basic. Można również ustawić tę właściwość klikając przycisk Zastosuj filtr  [image]  na pasku narzędzi Widok formularza lub Filtr/Sortowanie.

Uwagi

Aby zastosować zapisany filtr, należy kliknąć przycisk Zastosuj filtr dla formularzy lub zastosować filtr używając makra języka Visual Basic do ustawienia właściwości FilterOn na wartość True dla formularzy i raportów. Dla raportów można ustawić właściwość FilterOn na wartość "Tak" w arkuszu właściwości danego raportu.

Przycisk Zastosuj filtr wskazuje, jaki jest stan właściwości Filter i FilterOn. Przycisk ten pozostaje niedostępny, dopóki nie ma żadnego filtru, który można zastosować. Jeśli natomiast istniejący filtr jest aktualnie stosowany, to przycisk Zastosuj filtr pojawia się jako wciśnięty. Aby stosować filtr automatycznie po otwarciu formularza, należy określić we właściwości zdarzenia OnOpen danego formularza makro używające akcji ZastosujFiltr (ApplyFilter) albo procedurę zdarzenia, używającą metody ApplyFilter obiektu DoCmd.

Aby usunąć filtr, można kliknąć wciśnięty przycisk Zastosuj filtr, kliknąć polecenie Zastosuj filtr/sortowanie w menu Rekordy lub użyć języka Visual Basic do ustawienia właściwości FilterOn na wartość False. Dla raportów można usunąć filtr ustawiając właściwość FilterOn na wartość "Nie" w arkuszu właściwości danego raportu.

Uwaga   Gdy tworzony jest nowy obiekt, dziedziczy on właściwości RecordSource (ŹródłoRekordów), Filter (Filtr), OrderBy (UporządkujWedług) i OrderByOn (PorządkowanieWłączone) tabeli lub kwerendy, z której został utworzony. Dla formularzy i raportów odziedziczone filtry nie są automatycznie stosowane po otwarciu obiektu.


OrderBy, właściwość

Właściwości OrderBy (UporządkujWedług) można użyć do określenia, jak mają być sortowane rekordy w formularzu, kwerendzie, raporcie lub tabeli.

Ustawienia

Właściwość OrderBy jest wyrażeniem typu ciąg znaków, które jest nazwą pola lub pól, według których rekordy mają być sortowane. Gdy używanych jest kilka nazw pól, należy oddzielić je przecinkami (,).

Gdy ustawia się właściwość OrderBy wpisując nazwy pól, rekordy będą sortowane w porządku rosnącym. Podobnie, w języku Visual Basic pola te będą domyślnie sortowane w porządku rosnącym.

Aby sortować rekordy w porządku malejącym, należy na końcu wyrażenia typu ciąg znaków wpisać słowo DESC. Na przykład, aby sortować rekordy klientów w porządku malejącym według nazw kontaktów, należy ustawić właściwość OrderBy na wartość "ContactName DESC".

Właściwość OrderBy można ustawić w arkuszu właściwości obiektu, w makrze albo w kodzie języka Visual Basic.

Uwagi

Dla raportów, aby zastosować porządek sortowania określony przez właściwość OrderBy, należy wcześniej ustawić właściwość OrderByOn (PorządkowanieWłączone) na wartość "Tak". W przypadku formularzy należy zaznaczyć pole, według którego rekordy mają być sortowane i kliknąć odpowiedni przycisk "Sortuj" na pasku narzędzi albo wskazać polecenie Sortuj w menu Rekordy i kliknąć odpowiednie polecenie w podmenu. Zarówno dla formularzy, jak i dla raportów można ustawić właściwość OrderByOn używając języka Visual Basic.

Ustawienie właściwości OrderBy dla otwartego raportu powoduje uruchomienie procedur zdarzeń Close i Open dla raportu.

Uwaga   Gdy tworzony jest nowy obiekt, dziedziczy on właściwości RecordSource (ŹródłoRekordów), Filter (Filtr), OrderBy (UporządkujWedług) i OrderByOn  (PorządkowanieWłączone) tabeli lub kwerendy, z której został utworzony. Dla formularzy i raportów odziedziczone filtry nie są automatycznie stosowane po otwarciu obiektu.


OrderByOn, właściwość

Właściwości OrderByOn (PorządkowanieWłączone) można użyć do określenia, czy właściwość OrderBy (UporządkujWedług) danego obiektu ma być zastosowana.

Ustawienia

Dla właściwości OrderByOn używane są następujące ustawienia.

Ustawienie	Opis	Visual Basic
Tak	(Ustawienie domyślne) Ustawienie właściwości OrderBy jest stosowane przy otwieraniu obiektu.	True (–1)
Nie	Ustawienie właściwości OrderBy nie jest stosowane przy otwieraniu obiektu.	False (0)
Dla raportów właściwość OrderByOn można ustawić w arkuszu właściwości raportu, w makrze lub w kodzie języka Visual Basic.

W przypadku pozostałych obiektów właściwość OrderByOn można ustawić klikając przycisk "Sortuj" na pasku narzędzi lub używając języka Visual Basic.

Uwagi

Uwaga   Gdy tworzony jest nowy obiekt, dziedziczy on właściwości RecordSource (ŹródłoRekordów), Filter (Filtr), OrderBy (UporządkujWedług), OrderByOn (PorządkowanieWłączone) i FilterOn (FiltrWłączony) tabeli lub kwerendy, z której został utworzony.


AllowFilters, właściwość

Właściwości AllowFilters (FiltryDozwolone) można użyć do określenia, czy dla rekordów w formularzu może być zastosowany filtr.

Ustawienia

Właściwość AllowFilters może mieć następujące ustawienia.

Ustawienie	Opis	Visual Basic
Tak	(Ustawienie domyślne) Rekordy mogą być filtrowane.	True (–1)
Nie	Rekordy nie mogą być filtrowane.	False (0)
Właściwość tę można ustawić używając arkusza właściwości formularza, makra lub języka Visual Basic.

Uwagi

Filtry są powszechnie używane do oglądania tymczasowego podzbioru rekordów w bazie danych. Przy używaniu filtru stosuje się kryteria do wyświetlania tylko tych rekordów, które spełniają określone warunki. Na przykład w formularzu "Employees" (Pracownicy) można użyć filtru do wyświetlania tylko rekordów pracowników, którzy przepracowali ponad 5 lat. Można także użyć filtru do określenia dostępu do rekordów zawierających ważne informacje, np. finansowe lub medyczne.

Gdy właściwość AllowFilters jest ustawiona na wartość "Nie", wszystkie opcje filtrowania w menu Rekordy, menu podręcznym i na pasku narzędzi Formatowanie (formularz/raport) są wyłączone. Odpowiednie polecenia i przyciski to:

•	Polecenia Filtruj, Zastosuj filtr/sortowanie i Usuń filtr/sortowanie.

•	Polecenia Filtruj według formularza, Zastosuj filtr/sortowanie i Usuń filtr/sortowanie w menu podręcznym formularza.

•	Odpowiednie przyciski Filtruj według wyboru  [image], Filtruj według formularza  [image] i Zastosuj filtr/Usuń filtr  [image].

Uwaga   Ustawienie właściwości AllowFilters na wartość "Nie" nie wpływa na właściwości Filter (Filtr) i FilterOn (FiltrWłączony). Właściwości te mogą być nadal używane do ustawiania i usuwania filtrów. Można także nadal używać następujących akcji lub metod do stosowania i usuwania filtrów.

Akcje	Metody
ZastosujFiltr (ApplyFilter)	ApplyFilter
OtwórzFormularz (OpenForm)	OpenForm
PokażWszystkieRekordy (ShowAllRecords)	ShowAllRecords


AllowFilters, właściwość - przykład
AllowFilters, właściwość – przykład

W poniższym przykładzie została przedstawiona funkcja, która włącza i wyłącza właściwość AllowFilters (FiltryDozwolone).

Function ToggleAllowFilters() As Integer

Forms!Customers.AllowFilters = Not Forms!Customers.AllowFilters

End Function


ControlBox, właściwość

Właściwości ControlBox (PoleMenuSterowania) można użyć do określenia, czy w widoku "Formularz" i w widoku "Arkusz danych" formularz ma mieć menu sterowania.

Ustawienia

Właściwość ControlBox może mieć następujące ustawienia.

Ustawienie	Opis	Visual Basic
Tak	(Ustawienie domyślne) Formularz posiada menu sterowania w widoku "Formularz" i "Arkusz danych".	True (–1)
Nie	Formularz nie posiada menu sterowania w widoku "Formularz" i "Arkusz danych".	False (0)
Uwaga   Ustawienie właściwości ControlBox na wartość "Nie" powoduje także usunięcie z formularza przycisków Minimalizuj, Maksymalizuj i Zamknij.

Właściwość tę można ustawić używając arkusza właściwości formularza, makra lub języka Visual Basic.

Właściwość tę można ustawić tylko w widoku "Projekt formularza".

Uwagi

Aby w formularzu było wyświetlane menu sterowania, właściwość ControlBox musi mieć wartość "Tak" oraz właściwość BorderStyle (StylObramowania) formularza musi być ustawiona na wartość "Cienki", "Zmienny" lub "Dialog".

Nawet, gdy właściwość ControlBox formularza jest ustawiona na wartość "Nie", to formularz zawsze posiada menu sterowania, gdy jest otwarty w widoku "Projekt".

Ustawienie właściwości ControlBox na wartość "Nie" powoduje usunięcie menu sterowania, gdy :

•	Formularz jest otwierany w widoku "Formularz" z okna bazy danych.

•	Formularz jest otwierany za pomocą makra.

•	Formularz jest otwierany za pomocą języka Visual Basic.

•	Formularz jest otwierany w widoku "Arkusz danych".

•	Następuje przełączenie z widoku "Projekt" do widoku "Formularz" lub do widoku "Arkusz danych".


ControlBox, właściwość - przykład
ControlBox, właściwość – przykład

W poniższym przykładzie następuje ustawienie właściwości ControlBox (PoleMenuSterowania) formularza "WarningDialog" na wartość False (0):

Forms!WarningDialog.ControlBox = False


DisplayWhen, właściwość

Właściwości DisplayWhen (KiedyWyświetlać) można użyć do określenia, które sekcje lub formanty formularza mają być wyświetlane na ekranie i drukowane.

Uwaga   Właściwość DisplayWhen dotyczy tylko następujących sekcji formularza: Szczegóły, nagłówek formularza i stopka formularza. Dotyczy także wszystkich formantów (z wyjątkiem formantu Podział strony) na formularzu.

Ustawienie

Właściwość DisplayWhen może mieć następujące ustawienia.

Ustawienie	Opis	Visual Basic
Zawsze	(Domyślne) Obiekt jest wyświetlany w widoku "Formularz" i pojawia się na wydruku.	0
Tylko wydruk	Obiekt jest ukryty w widoku "Formularz", lecz pojawia się na wydruku.	1
Tylko ekran	Obiekt pojawia się w widoku "Formularz" lecz nie na wydruku.	2
Właściwość tę można ustawić w arkuszu właściwości obiektu, w makrze lub za pomocą języka Visual Basic.

Dla formantów, właściwość tę można ustawić używając domyślnego stylu formantu lub stosując metodę DefaultControl w języku Visual Basic.

Uwagi

W wielu przypadkach niektóre formanty są użyteczne tylko w widoku "Formularz". Aby uniemożliwić programowi Microsoft Access drukowanie tych formantów, można ustawić ich właściwość DisplayWhen na wartość "Tylko ekran". Na przykład, możliwa jest sytuacja że w formularzu znajduje się przycisk polecenia lub instrukcji, który nie powinien być drukowany, albo istnieją sekcje nagłówka i stopki formularza, które nie powinny być wyświetlane na ekranie lecz powinny być wydrukowane. W takim wypadku, należy ustawić właściwość DisplayWhen na wartość "Tylko wydruk".

Wskazówka     Dla raportów można użyć zdarzeń Format i Retreat do określenia procedury zdarzenia lub makra, ustawiających właściwość Visible (Widoczny) formantów, których drukowanie nie jest pożądane. Można także anulować zdarzenie Format lub Print dla sekcji raportu, aby uniemożliwić drukowanie tej sekcji.


LayoutForPrint, właściwość

Właściwości LayoutForPrint (FormatWydruku) można użyć do określenia, czy w formularzu lub raporcie mają być używane czcionki ekranowe czy czcionki drukarki.

Ustawienie

Właściwość LayoutForPrint może mieć następujące ustawienia.

Ustawienie	Opis	Visual Basic
Tak	(Ustawienie domyślne dla raportów) Używane mają być czcionki drukarki.	True (–1)
Nie	(Ustawienie domyślne dla formularzy) Używane mają być czcionki ekranowe.	False (0)
Właściwość tę można ustawić w arkuszu właściwości formularza lub raportu, w makrze lub za pomocą języka Visual Basic.

Właściwość tę można ustawić tylko w widoku "Projekt formularza" i w widoku "Projekt raportu".

Uwagi

Przy dokonywaniu wyboru czcionki w programie Microsoft Access można wybrać czcionkę ekranową albo czcionkę drukarki w zależności od ustawienia właściwości LayoutForPrint. Należy pamiętać, że czcionki drukarki i czcionki ekranowe mogą się różnić, a znaki na ekranie mogą nie wyglądać dokładnie tak samo jak te wydrukowane na stronie.

Wskazówka    Jeśli zostaną wybrane czcionki skalowane, takie jak czcionki TrueType, to znaki na ekranie i na wydruku będą wyglądały prawie tak samo.

Czcionki ekranowe stanowią obrazy liter, liczb i symboli zainstalowanych w systemie, które mają być wyświetlane na ekranie. Jeśli została zainstalowana drukarka, dodatkowe czcionki ekranowe mogły być zainstalowane automatycznie.

Czcionki drukarki stanowią obrazy liter, liczb i symboli, które są pokazywane przy wydruku raportu lub formularza. Dostępnymi czcionkami są te czcionki, które zostały zainstalowane w procesie instalacji drukarki i zależą od drukarki.

Jeśli właściwość LayoutForPrint zostanie ustawiona na wartość "Tak", to na pasku narzędzi Formatowanie (formularz/raport) wyświetlane są czcionki i ich rozmiary punktowe dostępne dla drukarki.

Jeśli formularz lub raport jest projektowany na komputerze wyposażonym w inną drukarkę niż ta, która będzie użyta do drukowania, w programie Microsoft Access zostanie wyświetlony komunikat, aby poinformować użytkownika, że formularz lub raport były zaprojektowane dla innego typu drukarki. Jeśli formularz lub raport zostaną mimo wszystko wydrukowane, to aktualna drukarka może dokonać zastąpienia czcionek. Podobnie program Microsoft Access może zastąpić czcionki, jeśli zostanie zmienione ustawienie właściwości LayoutForPrint. Można na przykład zaprojektować formularz lub raport z właściwością LayoutForPrint ustawioną na wartość "Nie", a następnie zmienić to ustawienie na wartość "Tak". Aby określić wygląd formularza lub raportu, można zmienić czcionkę tekstu dla każdego formantu..


MinMaxButtons, właściwość

Właściwości MinMaxButtons (PrzyciskiMinMax) można użyć do określenia, czy przyciski Maksymalizuj lub Minimalizuj mają być widoczne na formularzu.

Ustawienie

Właściwość MinMaxButtons może mieć następujące ustawienia.

Ustawienie	Opis	Visual Basic
Żaden	Przyciski Maksymalizuj i Minimalizuj są niewidoczne.	0
Min włączony	Widoczny jest tylko przycisk Minimalizuj.	1
Max włączony	Widoczny jest tylko przycisk Maksymalizuj.	2
Oba włączone	(Ustawienie domyślne) Oba przyciski Maksymalizuj i Minimalizuj są widoczne.	3
Można ustawić te właściwości używając arkusza właściwości formularza, makra lub języka Visual Basic.

Właściwość MinMaxButtons można ustawić tylko w widoku "Projekt" formularza.

Uwagi

Kliknięcie przycisku Maksymalizuj formularza powiększa formularz, tak że wypełnia on całe okno programu Microsoft Access. Kliknięcie przycisku Minimalizuj formularza zmniejsza formularz do ikony znajdującej się w dolnej części okna programu Microsoft Access.

Aby wyświetlić przyciski Maksymalizuj i Minimalizuj w formularzu, należy ustawić właściwość BorderStyle (StylObramowania) formularza na wartość "Cienki" lub "Zmienny", a właściwość ControlBox na wartość "Tak". Jeśli właściwość BorderStyle zostanie ustawiona na wartość "Brak" lub "Dialog" lub jeśli właściwość ControlBox zostanie ustawiona na wartość "Nie", to formularz nie będzie miał przycisków Maksymalizuj ani Minimalizuj niezależnie od ustawienia właściwości MinMaxButtons.

Nawet, gdy właściwość MinMaxButtons jest ustawiona na wartość "Brak", formularz zawsze ma przyciski Maksymalizuj i Minimalizuj w widoku "Projekt".

Jeśli właściwość MinMaxButtons formularza jest ustawiona na wartość "Żaden", polecenia Maksymalizuj i Minimalizuj nie są dostępne w menu sterowania.


MenuBar, właściwość

Właściwości MenuBar (PasekMenu) można użyć do określenia paska menu, który ma być używany w bazie danych, formularzu lub raporcie. Paski menu można tworzyć za pomocą podpolecenia Dostosuj polecenia Paski narzędzi w menu Widok. Dodatkowe informacje na temat tworzenia niestandardowych pasków narzędzi można znaleźć w temacie Tworzenie niestandardowego paska menu dla bieżącej bazy danych.

Właściwości MenuBar można także używać do określania makra paska menu, które będzie używane do wyświetlania niestandardowego paska menu w bazie danych, formularzu lub raporcie.

Uwaga   W poprzednich wersjach programu Microsoft Access niestandardowe paski menu były tworzone przez ustawienie właściwości MenuBar na nazwę makra paska menu. Następnie tworzone były grupy makr zawierające polecenia dla menu na tym pasku menu. Te funkcje są nadal obsługiwane w programie Microsoft Access 97. Jednak zaleca się tworzenie niestandardowych pasków menu za pomocą nowego okna dialogowego Dostosuj, dostępnego przez kliknięcie polecenia Paski narzędzi w menu Widok.

Ustawienia

Należy wprowadzić nazwę paska menu, który ma być wyświetlany. Jeśli ustawienie właściwości MenuBar pozostanie puste, program Microsoft Access wyświetli wbudowany (domyślny) pasek menu lub globalny pasek menu aplikacji. Jeśli właściwość MenuBar zostanie ustawiona na wartość, która nie jest nazwą istniejącego paska menu lub makra paska menu, formularz lub raport nie będzie miał paska menu (domyślny pasek menu nie będzie wyświetlany).

Właściwość tę można ustawić używając arkusza właściwości obiektu, makra lub języka Visual Basic.

W języku Visual Basic można ustawić tę właściwość używając wyrażenia typu ciąg znaków będącego nazwą paska menu, które ma być wyświetlane.

Aby wyświetlić wbudowany pasek menu lub globalny pasek menu dla bazy danych, formularza lub raportu za pomocą makra lub języka Visual Basic, należy ustawić właściwość na ciąg znaków zerowej długości (" ").

Uwagi

Gdy właściwość MenuBar jest używana do formularzy i raportów, program Microsoft Access wyświetla określony pasek menu przy otwieraniu formularza lub raportu. Ten pasek menu jest wyświetlany, kiedy formularz lub raport uzyskuje fokus.

Gdy właściwość MenuBar jest używana do obiektu Application, pozwala ona wyświetlać niestandardowy pasek menu w całej bazie danych. Jeśli jednak właściwość MenuBar zostanie ustawiona dla formularza lub raportu w bazie danych, ilekroć formularz lub raport będzie miał fokus, zamiast niestandardowego paska menu bazy danych będzie wyświetlany niestandardowy pasek menu formularza lub raportu. Po utracie fokusu przez formularz lub raport wyświetlany będzie niestandardowy pasek menu bazy danych.

Uwaga   Naciskając klawisze CTRL+F11 można się przełączać między niestandardowym paskiem menu bazy danych i wbudowanym paskiem menu.


MenuBar, właściwość - przykład
MenuBar, właściwość – przykład

W poniższym przykładzie właściwość MenuBar (PasekMenu) ustawiana jest na pasek menu o nazwie "CustomerMenu":

Forms!Customers.MenuBar = "CustomerMenu"

Aby wyświetlić wbudowany pasek menu formularza lub globalny pasek menu aplikacji, należy ustawić właściwość MenuBar na ciąg znaków zerowej długości (" ").

Forms!Customers.MenuBar = ""


Modal, właściwość

Właściwości Modal (Modalny) można użyć do określenia, czy formularz ma być otwierany jako formularz modalny. Gdy formularz jest otwierany jako formularz modalny, przed przeniesieniem fokusu do następnego obiektu formularz musi być zamknięty.

Ustawienie

Właściwość Modal może mieć następujące ustawienia.

Ustawienie	Opis	Visual Basic
Tak	Formularz jest otwierany jako formularz modalny w widoku "Formularz".	True (–1)
Nie	(Ustawienie domyślne) Formularz nie jest otwierany jako formularz modalny.	False (0)
Właściwość tę można ustawić używając arkusza właściwości formularza, makra lub języka Visual Basic.

Uwagi

Gdy otwierany jest modalny formularz, inne okna programu Microsoft Access są wyłączane, dopóki nie zostanie on zamknięty (można jednak przełączyć się do okien w innych aplikacjach). Aby oprócz innych okien wyłączyć menu i paski narzędzi, należy ustawić obie właściwości Modal i PopUp (Podręczny) formularza na wartość "Tak".

Właściwości BorderStyle (StylObramowania) można użyć do określenia rodzaju obramowania formularza. Zazwyczaj, modalne formularze mają właściwość BorderStyle ustawioną na wartość "Dialog".

Wskazówka    Właściwości Modal, PopUp i BorderStyle można użyć do utworzenia niestandardowego okna dialogowego. W przypadku niestandardowych okien dialogowych można ustawić właściwość Modal na wartość "Tak", właściwość PopUp na wartość "Tak" oraz właściwość BorderStyle na wartość "Dialog".

Ustawienie właściwości Modal na wartość "Tak" czyni formularz modalnym tylko wtedy, gdy :

•	Formularz jest otwierany w widoku "Formularz" z okna bazy danych.

•	Formularz jest otwierany w widoku "Formularz" za pomocą makra lub języka Visual Basic.

•	Następuje przełączenie z widoku "Projekt" do widoku "Formularz".

Gdy formularz jest modalny, nie można przełączyć się do widoku "Arkusz danych" z widoku "Formularz", chociaż można się przełączyć do widoku "Projekt", a następnie do widoku "Arkusz danych".

W widoku  "Projekt" i w widoku "Arkusz danych" formularz nie jest modalny. Formularz także nie jest modalny po przełączeniu się z widoku "Arkusz danych" do widoku "Formularz".

Uwaga   Można użyć ustawienia "Okno dialogowe" argumentu "Tryb okna" akcji OtwórzFormularz (OpenForm) otwarcia formularza z jego właściwościami Modal i PopUp ustawionymi na wartość "Tak".


NavigationButtons, właściwość

Właściwości NavigationButtons (PrzyciskiNawigacyjne) można użyć do określenia, czy przyciski nawigacyjne i pole numeru rekordu mają być wyświetlane na formularzu.

Ustawienie

Właściwość NavigationButtons może mieć następujące ustawienia.

Ustawienie	Opis	Visual Basic
Tak	(Ustawienie domyślne) Formularz ma przyciski nawigacyjne oraz pole numeru rekordu.	True (–1)
Nie	Formularz nie ma przycisków nawigacyjnych ani pola numeru rekordu.	False (0)
Właściwość tę można ustawić używając arkusza właściwości formularza, makra lub języka Visual Basic.

Uwagi

Przyciski nawigacyjne stanowią wygodny sposób przesuwania się do pierwszego, poprzedniego, następnego, ostatniego lub pustego (nowego) rekordu. W polu numeru rekordu wyświetlany jest numer bieżącego rekordu. Całkowita liczba rekordów jest wyświetlana obok przycisków nawigacyjnych. Aby przejść do konkretnego rekordu, można wpisać numer w polu numeru rekordu.

Jeśli przyciski nawigacyjne zostaną usunięte z formularza, a zachodzi potrzeba utworzenia własnych środków nawigacji w formularzu, można utworzyć niestandardowe przyciski nawigacyjne i dodać je do formularza. Dodatkowe informacje na temat tworzenia niestandardowych przycisków nawigacyjnych można znaleźć w temacie Nawigacja między formantami, rekordami i stronami formularza za pomocą poleceń języka Visual Basic.


ObjectPalette, właściwość

Właściwości ObjectPalette jest przeznaczona do określania palety w aplikacji używanej do utworzenia:

•	Obiektu OLE zawartego w związanej ramce obiektu, na wykresie lub w niezwiązanej ramce obiektu.

•	Mapy bitowej lub innej grafiki, która jest ładowana do przycisku polecenia, formantu obrazu lub przycisku przełącznika za pomocą właściwości Picture (Rysunek).

Ustawianie

Program Microsoft Access ustawia wartość właściwości ObjectPalette na typ danych Ciąg znaków zawierający informacje o palecie. Ustawienie to można wykorzystać do ustawienia wartości właściwości PaintPalette dla formularza lub raportu.

Dla poniższych obiektów, widoków i formantów ustawienie właściwości ObjectPalette jest tylko do odczytu. W innych widokach ustawienie tej właściwości jest niedostępne dla tych formantów.

Obiekt	Widok	Formant
Formularze	widok "Projekt" i widok "Formularz" formularza	Przycisk polecenia, wykres, formant obrazu, przycisk przełącznika i niezwiązana ramka obiektu.
	widok "Formularz"	Związana ramka obiektu.
Raporty	widok "Projekt raportu"	Przycisk polecenia, wykres, formant obrazu, przycisk przełącznika i niezwiązana ramka obiektu. Ustawienie tej właściwości jest niedostępne dla związanej ramki obiektu we wszystkich widokach raportu.
Ustawienia tej właściwości można użyć tylko w makrze  lub w języku Visual Basic.

Jeśli aplikacja skojarzona z obiektem OLE, mapą bitową lub inną grafiką nie ma skojarzonej z nią palety, właściwość ObjectPalette jest ustawiana na ciąg znaków zerowej długości.

Uwagi

Ustawienie właściwości ObjectPalette czyni paletę aplikacji skojarzoną z obiektem OLE, mapą bitową lub inną grafiką zawartą w formancie dostępną dla właściwości PaintPalette formularza lub raportu. Na przykład, aby uczynić paletę używaną w programie Microsoft Graph dostępną podczas projektowania formularza w programie Microsoft Access, należy ustawić właściwość PaintPalette formularza na wartość właściwości ObjectPalette istniejącego formantu wykresu.

Uwaga   W systemie Windows tylko jedna paleta kolorów może być aktywna w danym momencie. Program Microsoft Access umożliwia wykorzystywanie w formularzu wielu elementów graficznych, z których każdy może używać innej palety kolorów. Właściwości PaintPalette i PaletteSource pozwalają określić, która paleta kolorów ma być używana w formularzu przy wyświetlaniu grafiki.


ObjectPalette, PaintPalette, właściwości - przykład
ObjectPalette, PaintPalette, właściwości – przykład

W poniższym przykładzie właściwość PaintPalette formularza "Seascape" została ustawiona na wartość właściwości ObjectPalette formantu "Ocean" formularza "DisplayPictures". (Formant "Ocean" może być związaną ramką obiektu, przyciskiem polecenia, wykresem, przyciskiem przełącznika lub niezwiązaną ramką obiektu.)

Forms!Seascape.PaintPalette = Forms!DisplayPictures!Ocean.ObjectPalette

Właściwości ObjectPalette i PaintPalette są użyteczne przy zmianie w sposób programowy palety kolorów używanej przez otwarty formularz w czasie wykonywania. Powszechnym sposobem użycia tych właściwości jest ustawianie właściwości PaintPalette bieżącego formularza na paletę, obiektu graficznego wyświetlanego w formancie, który ma fokus.

Może na przykład istnieć formularz z obrazem oceanu ukazującym wiele odcieni barwy niebieskiej oraz z obrazem zachodu słońca ukazującym wiele odcieni barwy czerwonej. Ponieważ w systemie Windows tylko jedna paleta kolorów może być aktywna w danym momencie, to jeden obraz będzie wyglądał znacznie lepiej niż drugi. W poniższym przykładzie zostało użyte zdarzenie Enter formantu do ustawienia właściwości PaintPalette formularza na wartość właściwości ObjectPalette formantu i w ten sposób obiekt graficzny, który ma fokus będzie miał optymalny wygląd.

Sub OceanPicture_Enter()

Me.PaintPalette = Me!OceanPicture.ObjectPalette

End Sub

Sub SunsetPicture_Enter()

Me.PaintPalette = Me!SunsetPicture.ObjectPalette

End Sub


PaintPalette, właściwość

Właściwość PaintPalette służy do określenia palety, która może być użyta w formularzu lub raporcie.

Ustawianie

Właściwość PaintPalette można ustawić używając makra lub języka Visual Basic. Ustawienie tej właściwości musi być typu Ciąg znaków i zawierać informacje o palecie.

Właściwość PaintPalette można ustawiać przypisując w makrze lub w języku Visual Basic wartość właściwości ObjectPalette właściwości PaintPalette przez ustawienie właściwości PaletteSource (PaletaŹródłowa) (w takim wypadku program Microsoft Access automatycznie ustawia właściwość PaintPalette na tę wartość właściwości PaletteSource) albo przez ustawienie właściwości PaintPalette jednego formularza lub raportu na właściwość PaintPalette innego formularza lub raportu.

Dla formularza właściwość PaintPalette można ustawiać w widoku "Projekt" i w widoku "Formularz" formularza.

Dla raportu właściwość PaintPalette można ustawiać tylko w widoku "Projekt" raportu.

Uwagi

Gdy ustawiana jest właściwość PaintPalette, w programie Microsoft Access wykonywana jest kopia podanej palety, a następnie kopia ta jest zapisywana z formularzem lub raportem. Dzięki temu paleta jest dostępna, gdy dokonywane są modyfikacje w tym formularzu lub raporcie.

Zmiany w palecie określonej przy ustawianiu właściwości PaintPalette nie mają wpływu na kopię tej palety zapisaną z formularzem lub raportem. Jeśli pożądana jest aktualizacja kopii palety zapisanej z formularzem lub raportem, wtedy należy powtórnie wykonać kod lub makro, które dokonuje ustawienia właściwości PaintPalette lub ponownie ustawić właściwość PaletteSource, gdy formularz lub raport jest otwarty.

Gdy ustawiana jest właściwość PaintPalette formularza lub raportu, w programie Microsoft Access następuje automatyczna aktualizacja jego właściwości PaletteSource. I na odwrót, gdy ustawiana jest właściwość PaletteSource formularza lub raportu, aktualizowana jest także właściwość PaintPalette. Na przykład, gdy jako wartość właściwości PaintPalette podawana jest paleta niestandardowa, ustawienie właściwości PaletteSource jest zmieniane na wartość (Niestandardowa). Właściwość PaintPalette (która jest dostępna tylko w makrze lub w języku Visual Basic) jest używana do ustawiania palety dla formularza lub raportu. Właściwość PaletteSource stwarza możliwość ustawienia palety dla formularza lub raportu w arkuszu właściwości, przez użycie istniejącego pliku graficznego.

Uwaga   W systemie Windows tylko jedna paleta kolorów może być aktywna w danym momencie. Program Microsoft Access umożliwia wykorzystywanie w formularzu wielu elementów graficznych, z których każdy może używać innej palety kolorów. Właściwości PaintPalette i PaletteSource pozwalają określić, która paleta kolorów ma być używana w formularzu przy wyświetlaniu grafiki.

Właściwości ObjectPalette można użyć, aby uczynić paletę aplikacji skojarzonej z obiektem OLE, mapą bitową lub inną grafiką zawartą w formancie formularza lub raportu dostępną dla właściwości PaintPalette. Na przykład, aby uczynić paletę używaną w programie Microsoft Graph dostępną podczas projektowania formularza w programie Microsoft Access, należy ustawić właściwość PaintPalette formularza na wartość właściwości ObjectPalette istniejącego formantu wykresu.


PaletteSource, właściwość

Właściwość PaletteSource (PaletaŹródłowa) jest przeznaczona do określania palety dla formularza lub raportu.

Ustawiania

Należy wprowadzić ścieżkę i nazwę pliku jednego z następujących typów:

•	.dib (niezależny od urządzenia plik mapy bitowej)

•	.pal (plik palety systemu Windows)

•	.ico (plik ikony systemu Windows)

•	.bmp (plik mapy bitowej systemu Windows)

•	.wmf lub .emf albo inny plik graficzny, dla którego jest dostępny filtr graficzny

Domyślnym ustawieniem jest ustawienie (Domyślna), które określa paletę zawartą w programie Microsoft Access. Jeśli zostanie dokonana zmiana tego ustawienia przez wprowadzenie ścieżki i nazwy pliku, to w ustawieniu właściwości będzie wyświetlane słowo (Niestandardowa).

Właściwość tę można ustawić używając arkusza właściwości, makra lub języka Visual Basic.

Dla formularza właściwość PaletteSource można ustawić w widoku "Projekt" i w widoku "Formularz" formularza W innych widokach ustawienie tej właściwości jest niedostępne.

Dla raportów właściwość PaletteSource można ustawić tylko w widoku "Projekt" raportu. W innych widokach ustawienie tej właściwości jest niedostępne.

Uwagi

W systemie Windows tylko jedna paleta kolorów może być aktywna w danym momencie. Program Microsoft Access umożliwia wykorzystywanie w formularzu wielu elementów graficznych, z których każdy może używać innej palety kolorów. Właściwości PaletteSource i PaintPalette pozwalają określić, która paleta kolorów ma być używana w formularzu przy wyświetlaniu grafiki.

Gdy ustawiana jest właściwość PaletteSource formularza lub raportu, w programie Microsoft Access następuje automatyczna aktualizacja jego właściwości PaintPalette. I na odwrót, gdy ustawiana jest właściwość PaintPalette formularza lub raportu, aktualizowana jest także właściwość PaletteSource. Na przykład, gdy jako wartość właściwości PaintPalette podawana jest paleta niestandardowa, ustawienie właściwości  PaletteSource jest zmieniane na wartość (Niestandardowa). Właściwość PaintPalette (która jest dostępna tylko w makrze lub w języku Visual Basic) jest używana do ustawiania palety dla formularza lub raportu. Właściwość PaletteSource stwarza możliwość ustawienia palety dla formularza lub raportu w arkuszu właściwości, przez użycie istniejącego pliku graficznego.


PopUp, właściwość

Właściwość PopUp (Podręczny) służy do określania, czy formularz ma być otwierany jako podręczny. Na przykład, aby utworzyć niestandardowe okno dialogowe, należy w formularzu ustawić właściwości PopUp i Modal (Modalny) na wartość "Tak", a właściwość BorderStyle (StylObramowania) na wartość "Dialog".

Ustawiania

Właściwość PopUp może mieć następujące ustawienia.

Ustawienie	Opis	Visual Basic
Tak	Formularz jest otwierany jako formularz podręczny w widoku "Formularz". Pozostaje on na wierzchu wszystkich innych okien programu Microsoft Access.	True (–1)
Nie	(Ustawienie domyślne) Formularz nie jest formularzem podręcznym.	False (0)
Właściwość tę można ustawić używając arkusza właściwości, makra lub języka Visual Basic.

Właściwość PopUp można ustawić tylko w widoku "Projekt".

Uwagi

Aby określić żądany typ obramowania formularza podręcznego, można użyć właściwości BorderStyle. Zazwyczaj właściwość BorderStyle dla formularzy podręcznych jest ustawiana na wartość "Cienki".

Wskazówka   Właściwości PopUp, Modal i BorderStyle można użyć do utworzenia niestandardowego okna dialogowego. Aby utworzyć niestandardowe okno dialogowe, należy w formularzu ustawić właściwości Modal i PopUp na wartość "Tak", a właściwość BorderStyle na wartość "Dialog".

Ustawienie właściwości PopUp na wartość "Tak" czyni formularz podręcznym tylko wtedy, gdy zostanie wykonana jedna z następujących czynności:

•	Formularz jest otwierany w widoku "Formularz" w oknie bazy danych.

•	Formularz jest otwierany w widoku "Formularz" za pomocą makra lub języka Visual Basic.

•	Nastąpi przełączenie z widoku "Projekt" do widoku "Formularz".

Gdy właściwość PopUp jest ustawiona na wartość "Tak", nie można przełączać się na inne widoki z widoku "Formularz", ponieważ niedostępny jest pasek narzędzi formularza. (Formularza podręcznego nie można przełączyć z widoku "Formularz" do widoku "Arkusz danych" ani za pomocą makra ani języka Visual Basic.) Formularz musi być zamknięty i ponownie otwarty w widoku "Projekt" lub w widoku "Arkusz danych".

W widoku "Projekt" ani w widoku "Arkusz danych" formularz nie jest podręczny. Formularz nie jest podręczny także po przełączeniu z widoku  "Arkusz danych" do widoku "Formularz".

Uwaga   Ustawienia "Okno dialogowe" argumentu "Tryb okna" akcji OtwórzFormularz (OpenForm) można użyć do otwarcia formularza z jego właściwościami PopUp i Modal ustawionymi na wartość "Tak".

Wskazówka   Kiedy okno programu Microsoft Access jest maksymalizowane, wszystkie inne okna są także maksymalizowane przy ich otwieraniu lub przełączaniu się do nich. Jednak formularze podręczne nie są maksymalizowane. Chcąc zachować rozmiar formularza, gdy inne okna są  maksymalizowane, należy ustawić jego właściwość PopUp na wartość "Tak".


ShortcutMenu, właściwość

Właściwość ShortcutMenu (MenuPodręczne) jest przeznaczona do określania, czy po kliknięciu prawym przyciskiem myszy obiektu na formularzu wyświetlane jest menu podręczne. Może na przykład być potrzebne wyłączenie menu podręcznego w celu uniemożliwienia użytkownikowi wprowadzania zmian w odnośnym źródle danych formularza za pomocą jednego z poleceń filtrowania w menu podręcznym tego formularza.

Ustawianie

Właściwość ShortcutMenu może mieć następujące ustawienia.

Ustawienie	Opis	Visual Basic
Tak	(Ustawienie domyślne) Podręczne menu są wyświetlane.	True (–1)
Nie	Podręczne menu nie są wyświetlane.	False (0)
Właściwość tę można ustawić używając arkusza właściwości, makra lub języka Visual Basic.

Uwagi

Właściwość ta steruje wyświetlaniem menu podręcznych formularza i jego wszelkich formantów. Jeśli właściwość ShortcutMenu jest ustawiona na wartość "Nie", menu podręczne nie są wyświetlane po kliknięciu prawym przyciskiem myszy formularza lub jego formantu.

Jeśli tworzony jest kreator, może być potrzebne ukrycie podręcznych menu w formularzach kreatora, aby uniemożliwić użytkownikowi ich oglądanie lub używanie. Jest to szczególnie pożądane w przypadku formularzy wyświetlających opcje. Na przykład właściwość ShortcutMenu formularza startowego w przykładowej bazie danych "Northwind" jest ustawiona na wartość "Nie". Uniemożliwia to użytkownikom wyświetlanie podręcznych menu formularza lub formantów formularza.


ShortcutMenu, właściwość - przykład
ShortcutMenu, właściwość – przykład

W poniższym przykładzie zostało wyłączone podręczne menu formularza "Invoice" i jego formantów:

Forms!Invoice.ShortcutMenu = False


TabIndex, właściwość

Właściwość TabIndex (IndeksKolejnościDostępu) jest przeznaczona do określania miejsca formantu w kolejności dostępu na formularzu.

Uwaga   Właściwość TabIndex dotyczy tylko formantów w formularzu, a nie formantów w raporcie.

Ustawianie

Ustawienie właściwości TabIndex może przyjmować wartość całkowitą określającą położenie formantu w kolejności dostępu formularza. Poprawnymi ustawieniami są: 0 dla pierwszej pozycji w kolejności dostępu, aż do całkowitej liczby formantów pomniejszonej o 1 dla ostatniej pozycji w kolejności dostępu. Na przykład, jeśli formularz ma trzy formanty, z których każdy ma właściwość TabIndex, poprawnymi ustawieniami tej właściwości są wartości 0, 1 i 2.

Ustawienie właściwości TabIndex na liczbę całkowitą mniejszą od 0 powoduje wystąpienie błędu.

Właściwość tę można ustawić używając arkusza właściwości, makra lub języka Visual Basic.

Uwaga   Kolejność dostępu formantów na formularzu można także ustawić za pomocą polecenia Kolejność klawisza TAB w menu Widok. Powoduje to także ustawienie właściwości TabIndex dla formantów.

Uwagi

Domyślnie, w programie Microsoft Access kolejność dostępu jest przypisywana formantom w porządku, w jakim zostały one utworzone w formularzu. Każdy nowy formant jest umieszczany jako ostatni w kolejności dostępu. Jeśli ustawienia właściwości TabIndex formantu zostaną zmienione w celu dostosowania kolejności dostępu, to w programie Microsoft Access automatycznie zostaną przenumerowane ustawienia właściwości TabIndex innych formantów, aby odzwierciedlić wstawki i usunięcia.

W widoku "Formularz" niewidoczne lub wyłączone formanty pozostają w kolejności dostępu, jednak przy naciśnięciu klawisza TAB są pomijane.

Zmiana kolejności dostępu innych formantów formularza nie wpływa na to, co się dzieje, gdy naciskany jest klawisz dostępu. Na przykład, jeśli został utworzony klawisz dostępu dla etykiety pola tekstowego, fokus będzie przenoszony do pola tekstowego ilekroć zostanie naciśnięty klawisz dostępu dla etykiety, nawet jeśli zostanie zmienione ustawienie właściwości TabIndex pola tekstowego.

Jeśli zostanie naciśnięty klawisz dostępu formantu takiego, jak etykieta, który nie ma właściwości TabIndex, (i dlatego nie występuje w kolejności dostępu), fokus przesunie się do następnego formantu w kolejności dostępu, który może otrzymać fokus.


TabIndex, właściwość - przykład
TabIndex, właściwość – przykład

W poniższym przykładzie została odwrócona kolejność dostępu przycisku polecenia i pola tekstowego. Ponieważ pole tekstowe "TextBox1" zostało utworzone jako pierwsze, więc ma ustawienie właściwości TabIndex równe 0, zaś przycisk polecenia "Command1" ma ustawienie równe 1.

Sub Form_Click()

Me!Command1.TabIndex = 0

Me!TextBox1.TabIndex = 1

End Sub


TabStop, właściwość

Właściwość TabStop (ZatrzymaniePrzechodzenia) służy do określania, czy można użyć klawisza TAB do przeniesienia fokusu do formantu w widoku "Formularz".

Uwaga   Właściwość TabStop dotyczy tylko formantów na formularzu, a nie formantów w raporcie.

Właściwość ta nie dotyczy pola wyboru, przycisku opcji ani przycisku przełącznika wyświetlanych w grupie opcji. Dotyczy ona tylko samej grupy opcji.

Ustawianie

Właściwość TabStop może mieć następujące ustawienia.

Ustawienie	Opis	Visual Basic
Tak	(Ustawienie domyślne) Można przenieść fokus do formantu przez naciśnięcie klawisza TAB.	True (–1)
Nie	Nie można przenieść fokusu do formantu przez naciśnięcie klawisza TAB.	False (0)
Właściwość tę można ustawić używając arkusza właściwości, makra lub poleceń języka Visual Basic.

Uwagi

Gdy tworzony jest formant formularza, program Microsoft Access automatycznie przypisuje mu położenie w kolejności dostępu. Każdy nowy formant jest umieszczany jako ostatni w kolejności dostępu. Jeśli pożądane jest uniemożliwienie dostępu do formantu, podczas przechodzenia od formantu do formantu formularza za pomocą klawisza TAB, należy ustawić właściwość TabStop formantu na wartość "Nie".

W widoku "Formularz", ukryte lub wyłączone formanty pozostają w kolejności dostępu, jednak są pomijane przy przechodzeniu od formantu do formantu przez naciskanie klawisza TAB, nawet jeśli ich właściwości TabStop są ustawione na wartość "Tak".

Dopóki właściwość Enabled (Włączony) formantu jest ustawiona na wartość "Tak", można klikać go lub używać klawisza dostępu, aby go wybrać, niezależnie od ustawienia jego właściwości TabStop. Na przykład, można ustawić właściwość TabStop przycisku polecenia na wartość "Nie", aby uniemożliwić użytkownikom wybranie przycisku przez naciśnięcie klawisza TAB. Jednakże, nadal będą oni mogli kliknąć przycisk polecenia, aby go wybrać.


Tag, właściwość

Właściwość Tag (Metka) jest przeznaczona do przechowywania dodatkowych informacji na temat formularza, raportu, sekcji lub formantu wymaganych w aplikacji.

Ustawianie

Można wprowadzić wyrażenie typu ciąg znaków o długości nie przekraczającej 2048 znaków. Ustawieniem domyślnym jest ciąg znaków zerowej długości (" ").

Właściwość tę można ustawić używając arkusza właściwości, makra lub języka Visual Basic.

Uwagi

Przeciwnie do innych właściwości, ustawienie właściwości Tag nie wpływa na żadne atrybuty obiektu.

Można użyć tej właściwości do przypisania obiektowi identyfikującego go ciągu znaków bez wpływu na żadne inne ustawienia właściwości lub spowodowania wystąpienia efektów ubocznych. Właściwość Tag jest użyteczna, gdy wymagane jest sprawdzenie tożsamość formularza, raportu, sekcji lub formantu, który jest przekazywany jako zmienna do procedury.


Tag, właściwość - przykład
Tag, właściwość – przykład

W poniższym przykładzie została użyta właściwość Tag (Metka) do wyświetlenia niestandardowych komunikatów dotyczących formantów formularza. Gdy formant ma fokus, to wyświetlany jest opis w etykiecie o nazwie lblMessage. Tekst komunikatu jest definiowany przez ustawienie właściwości Tag dla każdego formantu na krótki ciąg znaków. Gdy formant otrzymuje fokus, ustawienie jego właściwość Tag jest przypisywane do właściwości Caption etykiety. W poniższym przykładzie wyświetlany jest opisowy tekst na temat pola tekstowego o nazwie txtDescription i przycisku polecenia o nazwie cmdButton na formularzu.

Sub Form_Load()

Dim frmMessageForm As Form

Set frmMessageForm = Forms!Form1

frmMessageForm!lblMessage.Caption = ""	 ' Clear text.

frmMessageForm!txtDescription.Tag = "Help text for the text box."

frmMessageForm!cmdButton.Tag = "Help text for the command button."

End Sub

Sub txtDescription_GotFocus()

Me!lblMessage.Caption = Me!txtDescription.Tag	 ' Tag property setting as caption.

End Sub

Sub txtDescription_LostFocus()

Me!lblMessage.Caption = ""

End Sub

Sub cmdButton_GotFocus()

Me!lblMessage.Caption = Me!cmdButton.Tag	 ' Tag property setting as caption.

End Sub

Sub cmdButton_LostFocus()

Me.lblMessage.Caption = " "

End Sub


AutoResize, właściwość

Właściwość AutoResize (Autowymiarowanie) służy do określania, czy okno "Formularz" otwiera się automatycznie z wymiarami dopasowanymi do wyświetlania pełnych rekordów.

Ustawianie

Właściwość AutoResize może mieć następujące ustawienia.

Ustawienie	Opis	Visual Basic
Tak	(Ustawienie domyślne) Okno formularza jest automatycznie wymiarowane, tak aby wyświetlać pełny rekord.	True (–1)
Nie	Przy otwieraniu, okno formularza ma ostatnio zapisany rozmiar. Aby zapisać rozmiar okna formularza, można otworzyć formularz, zmienić jego rozmiar, zapisać formularz przez kliknięcie polecenia Zapisz w menu Plik i zamknąć formularz. Gdy formularz będzie ponownie otwierany, będzie miał zapisany rozmiar okna.	False (0)
Właściwość tę można ustawić używając arkusza właściwości, makra lub języka Visual Basic.

Ustawienie tej właściwości jest możliwe tylko w widoku "Projekt".

Uwagi

Rozmiar okna formularza można zmienić tylko wtedy, gdy jest on otwarty w widoku "Formularz". Jeśli formularz zostanie otwarty najpierw w widoku "Projekt" lub w widoku "Arkusz danych", a następnie widok zostanie zmieniony na widok "Formularz", to okno formularza nie zmieni swojego rozmiaru.

Jeśli w widoku "Projekt" zostaną wprowadzone jakiekolwiek zmiany w formularzu, którego właściwość AutoResize jest ustawiona na wartość "Nie", a właściwość AutoCenter (Autośrodkowanie) jest ustawiona na wartość "Tak", przed zapisaniem formularza należy go przełączyć do widoku "Formularz". W przeciwnym wypadku przy następnym otwieraniu formularza program Microsoft Access obetnie go wzdłuż prawej i dolnej krawędzi.

Jeśli właściwość AutoCenter jest ustawiona na wartość "Nie", okno formularza zostanie otwarte z lewym górnym narożnikiem umieszczonym w tym samym położeniu, w jakim było zamykane.


Cancel, właściwość

Właściwość Cancel (Anuluj) służy do określania, czy przycisk polecenia jest także przyciskiem "Anuluj" na formularzu.

Ustawianie

Właściwość Cancel może mieć następujące ustawienia.

Ustawienie	Opis	Visual Basic
Tak	Przycisk polecenia jest przyciskiem "Anuluj".	True (–1)
Nie	(Ustawienie domyślne) Przycisk polecenia nie jest przyciskiem "Anuluj".	False (0)
Właściwość tę można ustawić używając arkusza właściwości przycisku polecenia, makra lub języka Visual Basic.

Uwagi

Ustawienie właściwości Cancel na wartość "Tak" sprawia, że przycisk polecenia staje się przyciskiem "Anuluj" formularza. Konieczne jest jednak napisanie makra lub procedury zdarzenia w języku Visual Basic, która wykonuje czynność lub czynności wymagane od przycisku "Anuluj" (na przykład zamknięcie formularza bez zapisywania wprowadzonych zmian). Należy ustawić właściwość zdarzenia OnClick (PrzyKliknięciu) przycisku polecenia na nazwę makra lub procedury zdarzenia.

Jeśli ustawienie właściwości Cancel przycisku polecenia ma wartość "Tak" i aktywne jest okno formularza, użytkownik może wybrać przycisk polecenia naciskając klawisz ESC lub klawisz ENTER, gdy przycisk polecenia ma fokus lub przez kliknięcie przycisku polecenia.

Uwaga   Jeśli pole tekstowe ma fokus w chwili, gdy użytkownik naciska klawisz ESC, wszelkie zmiany wprowadzone do danych w polu tekstowym zostaną utracone, zaś przywracane są pierwotne dane.

Gdy właściwość Cancel jest ustawiona na wartość "Tak" dla jednego przycisku polecenia na formularzu, dla wszystkich innych przycisków polecenia jest automatycznie ustawiona na wartość "Nie".

Wskazówka   Dla formularza, który obsługuje nieodwracalne operacje, takie jak usunięcia dobrym pomysłem jest uczynienie przycisku "Anuluj" domyślnym przyciskiem polecenia. Aby tego dokonać, można ustawić obie właściwości Cancel i Default (Domyślny) na wartość "Tak".


Default, właściwość

Właściwość Default (Domyślny) służy do określania, czy przycisk polecenia jest domyślnym przyciskiem formularza.

Ustawianie

Właściwość Default może mieć następujące ustawienia.

Ustawienie	Opis	Visual Basic
Tak	Przycisk polecenia jest przyciskiem domyślnym.	True (–1)
Nie	(Ustawienie domyślne) Przycisk polecenia nie jest przyciskiem domyślnym.	False (0)
Właściwość tę można ustawić używając arkusza właściwości przycisku polecenia, makra lub języka Visual Basic.

Uwagi

Jeśli właściwość Default  przycisku polecenia jest ustawiona na wartość "Tak" i aktywne jest okno formularza, użytkownik może wybrać przycisk polecenia naciskając klawisz ENTER (jeśli żaden inny przycisk polecenia nie ma fokusu) lub przez kliknięcie przycisku polecenia.

Tylko jeden przycisk polecenia na formularzu może być przyciskiem domyślnym. Kiedy właściwość Default jest ustawiona na wartość "Tak" dla jednego przycisku polecenia, dla wszystkich pozostałych przycisków formularza jest ona automatycznie ustawiana na wartość "Nie".

Wskazówka   Dla formularza, który obsługuje nieodwracalne operacje, takie jak usunięcia dobrym pomysłem jest uczynienie przycisku Anuluj domyślnym przyciskiem polecenia. Aby tego dokonać, można ustawić obie właściwości Default i Cancel (Anuluj) na wartość "Tak".


DefaultView, ViewsAllowed, właściwości

•	Właściwość DefaultView (WidokDomyślny) służy do określania początkowego widoku po otwarciu formularza.

•	Właściwość ViewsAllowed (DostępneWidoki) służy do określania, czy użytkownicy mogą się przełączać między widokiem "Arkusz danych" i widokiem "Formularz" przez kliknięcie polecenia Widok Formularz lub Widok Arkusz danych w menu Widok albo przez kliknięcie strzałki obok przycisku Widok i kliknięcie polecenia Widok Formularz lub Widok Arkusz danych.

Ustawianie

Właściwość DefaultView może mieć następujące ustawienia.

Ustawienie	Opis	Visual Basic
Formularz pojedynczy	(Ustawienie domyślne) Wyświetlany jest jeden rekord w danym momencie.	0
Formularze ciągłe	Wyświetlanych jest wiele rekordów (tyle ile się zmieści w bieżącym oknie), każdy w swojej kopii sekcji szczegółów.	1
Arkusz danych	Wyświetlane są  pola formularza rozmieszczone w wierszach i kolumnach jak w arkuszu kalkulacyjnym.	2
Właściwość ViewsAllowed może przyjmować następujące ustawienia.

Ustawienie	Opis	Visual Basic
Oba	(Ustawienie domyślne) Użytkownicy mogą przełączać się pomiędzy widokiem "Formularz" i widokiem "Arkusz danych".	0
Formularz	Użytkownicy nie mogą przełączyć się do widoku "Arkusz danych" z widoku "Formularz".	1
Arkusz danych	Użytkownicy nie mogą przełączyć się do widoku "Formularz" z widoku "Arkusz Formularz".	2
Widok "Projekt" jest zawsze dostępny (o ile uprawnienia nie są ustawione inaczej).

Właściwości te można ustawić w arkuszu właściwości formularza, w makrze lub za pomocą języka Visual Basic.

Uwagi

Widoki wyświetlane na liście przycisku Widok i w menu Widok zależą od ustawienia właściwości ViewsAllowed. Jeśli na przykład właściwość ViewsAllowed jest ustawiona na wartość "Arkusz danych", polecenie Widok Formularz jest wyłączone na liście przycisku Widok i w menu Widok.

Kombinacje tych właściwości dają następujące możliwości.

DefaultView	ViewsAllowed	Opis
Formularz pojedynczy, Formualrze ciągłe lub Arkusz danych	Oba	Użytkownicy mogą przełączać się pomiędzy widokiem "Formularz" i widokiem "Arkusz danych".
Formularz pojedynczy lub Formualrze ciągłe	Formularz	Użytkownicy nie mogą przełączyć się z widoku "Formularz" do widoku "Arkusz danych".
Formularz pojedynczy lub Formualrze ciągłe	Arkusz danych	Użytkownicy mogą przełączyć się z widoku "Formularz" do widoku "Arkusz danych", lecz nie odwrotnie.
Arkusz danych	Formularz	Użytkownicy mogą przełączyć się z widoku "Arkusz danych" do widoku "Formularz", lecz nie odwrotnie.
Arkusz danych	Arkusz danych	Użytkownicy nie mogą przełączyć się z widoku "Arkusz danych" do widoku "Formularz".


GridX, GridY, właściwości

Właściwości GridX (SiatkaX) i GridY (SiatkaY) służą do określania poziomej i pionowej podziałki siatki w widoku "Projekt" formularza i w widoku "Projekt" raportu.

Ustawianie

Należy wprowadzić liczbę całkowitą z zakresu od 1 do 64 określającą liczbę podziałek siatki na jednostkę miary. Jeśli pole System miar na karcie Liczba okna dialogowego Właściwości: Ustawienia regionalne w Panelu sterowania systemu Windows jest ustawione na wartość "USA", domyślnym ustawieniem obu właściwości GridX (poziomo) i GridY (pionowo) jest wartość 24.

Właściwość tę można ustawić używając arkusza właściwości, makra lub języka Visual Basic.

W języku Visual Basic właściwość tę ustawia się używając wyrażenia numerycznego.

Uwagi

Właściwości GridX i GridY dostarczają narzędzi umożliwiających sterowanie położeniem i wyrównaniem obiektów formularza lub raportu. Siatkę można dostosować w celu uzyskania większej lub mniejszej precyzji. Aby siatka stała się widoczna, należy kliknąć polecenie Siatka w menu Widok. Jeśli ustawienie którejkolwiek z właściwości GridX lub GridY jest większe od 24, punkty siatki stają się niewidoczne (chociaż linie siatki są nadal wyświetlane).


Painting, właściwość

Właściwość Painting służy do określania, czy formularze lub raporty mają być odświeżane.

Ustawianie

Właściwość Painting może przyjmować następujące ustawienia.

Ustawienie	Opis
True (–1)	(Ustawienie domyślne) Formularz lub raport jest odświeżany.
False (0)	Formularz lub raport nie jest odświeżany.
Właściwość tę można ustawić używając makra lub języka Visual Basic.

Właściwość ta może być ustawiana tylko w widoku "Formularz" i tego widoku dotyczy, a w innych widokach jest niedostępna.

Uwagi

Właściwość Painting jest podobna do akcji Echo. Jednak właściwość ta uniemożliwia odświeżanie pojedynczego formularza lub raportu, podczas gdy akcja Echo uniemożliwia odświeżanie wszystkich otwartych okien aplikacji.

Ustawienie właściwości Painting formularza lub raportu na wartość False uniemożliwia także odświeżanie wszystkich formantów (z wyjątkiem podformularzy lub podraportów) formularza lub raportu. Aby uniemożliwić odświeżanie formantu podformularza lub podraportu, właściwość Painting podformularza lub podraportu musi być ustawiona na wartość False. (Należy zwrócić uwagę, że właściwość Painting ustawiana jest dla podformularza lub podraportu, a nie formantu podformularza lub podraportu.)

Właściwość Painting jest automatycznie ustawiana na wartość True ilekroć formularz lub raport uzyskuje albo traci fokus. Można ustawić tę właściwość na wartość False podczas pracy w formularzu lub raporcie albo nie chcąc wyświetlać zmian wprowadzanych do formularza lub raportu lub do ich formantów. Jeśli na przykład formularz ma zestaw formantów, których rozmiary zmieniają się automatycznie przy zmianie rozmiarów formularza, a użytkownik chce ukryć przemieszczenia poszczególnych formantów, może on wyłączyć właściwość Painting, przenieść wszystkie formanty po czym ponownie włączyć właściwość Painting.


Painting, właściwość - przykład
Painting, właściwość – przykład

W poniższym przykładzie została użyta właściwości Painting, aby włączyć lub wyłączyć odświeżanie formularza w zależności od tego, czy zmienna SetPainting ma wartość True (–1) czy False (0). Jeśli odświeżanie formularza jest wyłączone, w programie Microsoft Access wyświetlana jest ikona klepsydry.

Function EnablePaint(frmName As Form, ByVal SetPainting As Integer) As Integer

frmName.Painting = SetPainting

If SetPainting = False Then	  ' Form painting is turned off.

DoCmd.Hourglass True	  ' Display hourglass icon.

Else

DoCmd.Hourglass False	  ' Don't hourglass display icon.

End If

End Function


RecordSelectors, właściwość

Właściwość RecordSelectors (SelektoryRekordów) służy do określania, czy w formularzu mają być wyświetlane selektory rekordów w widoku "Formularz".

Ustawianie

Właściwość RecordSelectors może mieć następujące ustawienia.

Ustawienie	Opis	Visual Basic
Tak	(Ustawienie domyślne) Każdy rekord ma selektor rekordu.	True (–1)
Nie	Żaden rekord nie ma selektora rekordu.	False (0)
Właściwość tę można ustawić używając arkusza właściwości formularza, makra lub języka Visual Basic.

Uwagi

Właściwości tej można użyć do usunięcia selektorów rekordów, gdy formularz tworzony jest lub używany jako niestandardowe okno dialogowe lub jako paleta. Właściwości tej można także używać do formularzy, których właściwość DefaultView (WidokDomyślny) jest ustawiona na wartość "Formularz pojedynczy".

Selektor rekordu powoduje wyświetlenie wskaźnika nie zapisanego rekordu  [image]  podczas edycji tego rekordu. Gdy właściwość RecordSelectors jest ustawiona na wartość "Nie", a właściwość RecordLocks (BlokowanieRekordów) jest ustawiona na wartość "Edytowany rekord" (blokowanie rekordów jest "pesymistyczne" – tylko jedna osoba może edytować rekord w określonej chwili), nie ma wizualnego znaku wskazującego, że rekord jest zablokowany.


ScrollBars, właściwość

Właściwość ScrollBars (PaskiPrzewijania) służy do określania, czy paski przewijania mają pojawiać się w formularzu lub w polu tekstowym.

Ustawianie

Właściwość ScrollBars może mieć następujące ustawienia.

Ustawienie	Opis	Visual Basic
Żaden (formularze) Brak (pola tekstowe)	(Ustawienie domyślne dla pól tekstowych) Żaden pasek przewijania nie pojawia się w formularzu lub polu tekstowym.	0
Tylko poziomy (formularze)	Poziomy pasek przewijania pojawia się w formularzu. Nie ma zastosowania dla pól tekstowych.	1
Tylko pionowy (formularze) Pionowy (pola tekstowe)	Pionowy pasek przewijania pojawia się w formularzu lub polu tekstowym.	2
Obydwa (formularze)	(Ustawienie domyślne dla formularzy) Pionowy i poziomy pasek przewijania pojawia się w formularzu. Nie ma zastosowania dla pól tekstowych.	3
Właściwość tę można ustawić używając arkusza właściwości formularza lub formantu, makra lub języka Visual Basic.

Dla pola tekstowego można ustawić wartość domyślną tej właściwości używając domyślnego stylu formantu albo metody DefaultControl w języku Visual Basic.

Uwagi

Jeśli formularz użytkownika jest większy, niż dostępne okno ekranowe, można wykorzystać właściwość ScrollBars, aby umożliwić użytkownikowi obejrzenie całego formularza.

Właściwość NavigationButtons można wykorzystać do przemieszczania się między rekordami.


StatusBarText, właściwość

Właściwość StatusBarText (TekstPaskaStanu) służy do określania tekstu, który jest wyświetlany na pasku stanu, gdy formant jest zaznaczony.

Uwaga   Właściwość StatusBarText dotyczy tylko formantów na formularzu, a nie formantów w raporcie.

Ustawianie

Właściwość StatusBarText ustawia się używając wyrażenia typu ciąg znaków o długości nie przekraczającej 255 znaków.

Właściwość tę można ustawić używając arkusza właściwości formantu, makra albo języka Visual Basic.

Uwaga   Długość tekstu, który można wyświetlić na pasku stanu zależy od komputera i monitora użytkownika.

Uwagi

Właściwości StatusBarText można użyć, aby dostarczyć określonych informacji na temat formantu. Na przykład, gdy pole tekstowe ma fokus, w krótkiej instrukcji może być zawarta informacja dla użytkownika jaki rodzaj danych należy wprowadzić.

Uwaga   Można także wykorzystać właściwość ControlTipText (TekstEtykietkiFormantu) do wyświetlania porady dotyczącej formantu.

Jeśli formant jest tworzony przez przeciąganie pola z listy pól, wartość właściwości Description (Opis) tego pola jest kopiowana do właściwości StatusBarText.

Dla formantu zawierającego hiperłącze, jeśli jest zaznaczone pole wyboru Pokazuj adres hiperłącza na pasku stanu, po umieszczeniu wskaźnika myszy na tym formancie, na pasku stanu wyświetlany jest adres hiperłącza. To pole wyboru znajduje się na na karcie Hiperłącza/HTML okna dialogowego Opcje, dostępnego przez kliknięcie polecenia Opcje w menu Narzędzia. Podczas edycji formantu na pasku stanu wyświetlany jest tekst będący ustawieniem właściwości StatusBarText.


AllowAdditions, właściwość

Właściwości AllowAdditions (DodawanieDozwolone) można użyć do określenia, czy użytkownik może dodać rekord za pomocą danego formularza.

Ustawienia

Dla właściwości AllowAdditions używane są następujące ustawienia.

Ustawienie	Opis	Visual Basic
Tak	(Ustawienie domyślne) Użytkownik może dodawać nowe rekordy.	True (–1)
Nie	Użytkownik nie może dodawać nowych rekordów.	False (0)
Właściwość AllowAdditions można ustawić w arkuszu właściwości  formularza, w makrze lub używając języka Visual Basic.

Uwagi

Aby umożliwić użytkownikom przeglądanie lub edycję istniejących rekordów, ale nie dodawanie nowych, należy ustawić właściwość AllowAdditions na wartość "Nie".

Aby uniemożliwić dokonywanie zmian w istniejących rekordach (czyli aby formularz stał się obiektem tylko do odczytu), należy ustawić właściwości AllowAdditions, AllowDeletions (UsuwanieDozwolone) oraz AllowEdits (EdycjaDozwolona) na wartość "Nie". Można też zmieniać pojedyncze rekordy na przeznaczone tylko do odczytu ustawiając właściwość RecordsetType (TypZestawuRekordów) na wartość "Utrwalony".

Aby otworzyć formularz tylko do wprowadzania danych, należy ustawić jego właściwość DataEntry (WprowadzanieDanych) na wartość "Tak".

Gdy właściwość AllowAdditions jest ustawiona na wartość "Nie", polecenie Wprowadzanie danych w menu Rekordy jest niedostępne.

Uwaga   Gdy używany jest argument "Tryb danych" akcji OtwórzFormularz (OpenForm), program Microsoft Access zastępuje wiele ustawień właściwości formularza. Jeśli argument "Tryb danych" w akcji OtwórzFormularz jest ustawiony na wartość "Edycja", to program Microsoft Access użyje formularza z następującymi ustawieniami właściwości

•	AllowEdits (EdycjaDozwolona) – Tak

•	AllowDeletions (UsuwanieDozwolone) – Tak

•	AllowAdditions (DodawanieDozwolone) – Tak

•	DataEntry (WprowadzanieDanych) – Nie

Aby zapobiec zastąpieniu tych istniejących ustawień właściwości należy pominąć ustawienie argumentu "Tryb danych" w akcji OtwórzFormularz. Wtedy Microsoft Access wykorzysta ustawienia właściwości zdefiniowane w formularzu.


AllowAutoCorrect, właściwość

Właściwości AllowAutoCorrect (AutokorektaDozwolona) można użyć do określenia, czy dla pola tekstowego lub dla pola kombi formant ma automatycznie poprawiać wprowadzane dane.

Ustawienia

Dla właściwości AllowAutoCorrect używane są następujące ustawienia.

Ustawienie	Opis	Visual Basic
Tak	(Ustawienie domyślne) Dane są automatycznie poprawiane zgodnie z ustawieniami w oknie dialogowym Autokorekta.	True (–1)
Nie	Dane nie są poprawiane.	False (0)
Właściwość AllowAutoCorrect można ustawiać w arkuszu właściwości, w makrze lub używając języka Visual Basic. Można też ustawić wartość domyślną dla tej właściwości używając domyślnego stylu formantu lub metody DefaultControl  języka Visual Basic.

Uwagi

Okno dialogowe Autokorekta jest dostępne po kliknięciu polecenia Autokorekta w menu Narzędzia.


AllowDeletions, właściwość

Właściwości AllowDeletions (UsuwanieDozwolone) można użyć do określenia, czy dany użytkownik może usunąć rekord używając formularza.

Ustawienia

Dla właściwości AllowDeletions używane są następujące ustawienia.

Ustawienie	Opis	Visual Basic
Tak	(Ustawienie domyślne) Użytkownik może usuwać rekordy.	True (–1)
Nie	Użytkownik nie może usuwać rekordów.	False (0)
Właściwość AllowDeletions można ustawić w arkuszu właściwości formularza, w makrze lub używając języka Visual Basic.

Uwagi

Aby umożliwić użytkownikom przeglądanie lub edycję istniejących rekordów, ale nie ich usuwanie, należy ustawić właściwość AllowDeletions na wartość "Nie". Gdy właściwość AllowDeletions jest ustawiona na wartość "Tak", można usuwać rekordy pod warunkiem, że istniejące reguły integralności referencyjnej nie są przy tym naruszane.

Aby uniemożliwić dokonywanie zmian w istniejących rekordach (czyli aby formularz stał się obiektem tylko do odczytu), należy ustawić właściwości AllowAdditions (DodawanieDozwolone), AllowDeletions oraz AllowEdits (EdycjaDozwolona) na wartość "Nie". Można też zmieniać pojedyncze rekordy na przeznaczone tylko do odczytu ustawiając właściwość RecordsetType (TypZestawuRekordów) na wartość "Utrwalony"

Gdy właściwość AllowDeletions jest ustawiona na wartość "Nie" polecenie Usuń rekord w menu Edycja jest niedostępne.

Uwaga   Gdy używany jest argument "Tryb danych" akcji OtwórzFormularz (OpenForm), program Microsoft Access zastępuje wiele ustawień właściwości formularza. Jeśli argument "Tryb danych" w akcji OtwórzFormularz jest ustawiony na wartość "Edycja", to program Microsoft Access użyje formularza z następującymi ustawieniami właściwości

•	AllowEdits (EdycjaDozwolona) – Tak

•	AllowDeletions (UsuwanieDozwolone) – Tak

•	AllowAdditions (DodawanieDozwolone) – Tak

•	DataEntry (WprowadzanieDanych) – Nie

Aby zapobiec zastąpieniu tych istniejących ustawień właściwości należy pominąć ustawienie argumentu "Tryb danych" w akcji OtwórzFormularz. Wtedy Microsoft Access wykorzysta ustawienia właściwości zdefiniowane w formularzu.


AllowEdits, właściwość

Właściwości AllowEdits (EdycjaDozwolona) można użyć do określenia, czy użytkownik może edytować zapisane rekordy używając formularza.

Ustawienia

Dla właściwości AllowEdits używane są następujące ustawienia.

Ustawienie	Opis	Visual Basic
Tak	(Ustawienie domyślne) Użytkownik może edytować zapisane rekordy.	True (–1)
Nie	Użytkownik nie może edytować zapisanych rekordów.	False (0)
Właściwość AllowEdits można ustawiać w arkuszu właściwości, w makrze lub używając języka Visual Basic.

Uwagi

Właściwości AllowEdits można użyć, aby uniemożliwić dokonywanie zmian we wszystkich danych formularza. Aby zapobiec modyfikacjom w konkretnym formancie, należy użyć właściwości Enabled (Włączony) lub Locked (Zablokowany).

Aby uniemożliwić dokonywanie zmian w istniejących rekordach (czyli aby formularz stał się obiektem tylko do odczytu), należy ustawić właściwości AllowAdditions (DodawanieDozwolone), AllowDeletions oraz AllowEdits na wartość "Nie". Można też zmieniać pojedyncze rekordy na przeznaczone tylko do odczytu ustawiając właściwość RecordsetType (TypZestawuRekordów) na wartość "Utrwalony"

Gdy właściwość AllowEdits jest ustawiona na waruść "Nie", to polecenia Usuń rekord w menu Edycja oraz Wprowadzanie danych w menu Rekordy są niedostępne.

Uwaga   Gdy używany jest argument "Tryb danych" akcji OtwórzFormularz (OpenForm), program Microsoft Access zastępuje wiele ustawień właściwości formularza. Jeśli argument "Tryb danych" w akcji OtwórzFormularz jest ustawiony na wartość "Edycja", to program Microsoft Access użyje formularza z następującymi ustawieniami właściwości

•	AllowEdits (EdycjaDozwolona) – Tak

•	AllowDeletions (UsuwanieDozwolone) – Tak

•	AllowAdditions (DodawanieDozwolone) – Tak

•	DataEntry (WprowadzanieDanych) – Nie

Aby zapobiec zastąpieniu tych istniejących ustawień właściwości należy pominąć ustawienie argumentu "Tryb danych" w akcji OtwórzFormularz. Wtedy Microsoft Access wykorzysta ustawienia właściwości zdefiniowane w formularzu.


CloseButton, właściwość

Właściwości CloseButton (PrzyciskZamknij) można użyć do określenia, czy przycisk Zamknij  [image]  na formularzu ma być dostępny.

Ustawienia

Dla właściwości CloseButton używane są następujące ustawienia.

Ustawienie	Opis	Visual Basic
Tak	(Ustawienie domyślne) Przycisk Zamknij jest dostępny.	True (–1)
Nie	Przycisk Zamknij nie jest dostępny, podobnie nie jest dostępne polecenie Zamknij w menu sterowania.	False (0)
Właściwość CloseButton może być ustawiona przy użyciu arkusza właściwości, w makrze lub za pomocą języka Visual Basic.

Właściwość CloseButton można ustawić tylko w widoku "Projekt" formularza.

Uwagi

Jeśli właściwość CloseButton zostanie ustawiona na wartość "Nie", przycisk Zamknij pozostaje widoczny, ale jest przygaszony. Wówczas należy zapewnić inny sposób zamknięcia formularza; na przykład przycisk polecenia lub niestandardowe polecenie menu uruchamiające makro lub procedurę zdarzenia zamykającą formularz.

Wskazówka   Formularz można również zamknąć naciskając klawisze ALT+F4.


ControlType, właściwość

Właściwości ControlType można użyć w języku Visual Basic do określenia typu formantu w formularzu lub w raporcie.

Ustawienia

Ustawienie właściwości ControlType jest stałą wewnętrzną określającą typ formantu.

Stała	Typ Formantu
acLabel	Etykieta
acRectangle	Prostokąt
acLine	Linia
acImage	Rysunek
acCommandButton	Przycisk polecenia
acOptionButton	Przycisk opcji
acCheckBox	Pole wyboru
acOptionGroup	Grupa opcji
acBoundObjectFrame	Związana ramka obiektu
acTextBox	Pole tekstowe
acListBox	Pole listy
acComboBox	Pole kombi
acSubform	Podformularz/podraport
acObjectFrame	Niezwiązana ramka obiektu  lub wykres
acPageBreak	Podział strony
acPage	Strona
acCustomControl	Formant ActiveX
acToggleButton	Przycisk przełącznika
acTabCtl	Karta
Właściwość ControlType można ustawić tylko używając języka Visual Basic w widoku "Projekt" formularza lub w widoku "Projekt" raportu, lecz właściwość ta może być czytana we wszystkich widokach.

Uwagi

Właściwość ControlType jest bardzo użyteczna nie tylko do znalezienia danego typu formantu w kodzie, ale także do zmiany typu formantu na inny. Można na przykład zmienić pole tekstowe na pole kombi, ustawiając w widoku "Projekt" formularza właściwość ControlType pola tekstowego na wartość acComboBox.

Właściwości ControlType można użyć do zmiany charakterystycznych cech podobnych formantów na formularzu według pewnych warunków. Na przykład, jeśli niektórzy użytkownicy mają być pozbawieni możliwości edycji danych w polach tekstowych, można ustawić właściwość SpecialEffect (EfektSpecjalny) wszystkich pól tekstowych na wartość "Płaski" oraz właściwość AllowEdits (EdycjaDozwolona) formularza na wartość "Nie". (Właściwość SpecialEffect nie wpływa na to, czy dane mogą być edytowane czy nie. Jest ona tu użyta po to, aby dostarczyć wskazówki, że działanie formantu zostało zmienione.)

Właściwość ControlType może być także użyta, aby określić typ formantu przy pomocy funkcji CreateControl.


ControlType, AllowAdditions, AllowDeletions, AllowEdits, właściwości - przykład
ControlType, AllowAdditions, AllowDeletions, AllowEdits, właściwości – przykład

W poniższym przykładzie sprawdzana jest właściwość ControlType wszystkich formantów w formularzu. Dla każdego formantu etykiety i pola tekstowego poniższa procedura przełącza właściwość SpecialEffect (EfektSpecjalny). Gdy właściwość SpecialEffect formantu etykiety jest ustawiana na wartość "Cieniowany", właściwość SpecialEffect formantu pola tekstowego jest ustawiana na wartość "Normalny", a właściwości AllowAdditions (DodawanieDozwolone), AllowDeletions (UsuwanieDozwolone) i AllowEdits (EdycjaDozwolona) są wszystkie ustawione na wartość True; zmienna intCanEdit jest przełączona tak, aby umożliwić edytowanie danych odnośnych.

Sub ToggleControl(frm As Form)

Dim ctl As Control

Dim intI As Integer, intCanEdit As Integer

Const conTransparent = 0

Const conWhite = 16777215

For Each ctl in frm.Controls

With ctl

Select Case .ControlType

Case acLabel

If .SpecialEffect = acEffectShadow Then

.SpecialEffect = acEffectNormal

.BorderStyle = conTransparent

intCanEdit = True

Else

.SpecialEffect = acEffectShadow

intCanEdit = False

End If

Case acTextBox

If .SpecialEffect = acEffectNormal Then

.SpecialEffect = acEffectSunken

.BackColor = conWhite

Else

.SpecialEffect = acEffectNormal

.BackColor = frm.Detail.BackColor

End If

End Select

End With

Next ctl

If intCanEdit = False Then

With frm

.AllowAdditions = False

.AllowDeletions = False

.AllowEdits = False

End With

Else

With frm

.AllowAdditions = True

.AllowDeletions = True

.AllowEdits = True

End With

End If

End Sub


DataEntry, właściwość

Właściwości DataEntry (WprowadzanieDanych) można użyć do określenia, czy do formularza związanego będzie możliwe tylko wprowadzanie danych. Właściwość Data Entry nie określa, czy możliwe jest dodawanie rekordów. Określa ona tylko to, czy wyświetlane są istniejące rekordy.

Ustawienia

Dla właściwości DataEntry używane są następujące ustawienia.

Ustawienie	Opis	Visual Basic
Tak	Formularz otwiera się udostępniając tylko pusty rekord.	True (–1)
Nie	(Ustawienie domyślne) Formularz otwiera się udostępniając istniejące rekordy.	False (0)
Właściwość DataEntry można ustawić w arkuszu właściwości, w makrze lub używając języka Visual Basic.

Właściwość tę można ustawiać w każdym widoku.

Uwagi

Właściwość DataEntry działa  tylko wtedy, gdy właściwość AllowAdditions (DodawanieDozwolone) jest ustawiona na wartość "Tak".

Ustawienie właściwości DataEntry na wartość "Tak" przy użyciu języka Visual Basic powoduje ten sam efekt, co kliknięcie polecenia Wprowadzanie danych w menu Rekordy. Ustawienie tej właściwości na wartość "Nie" przy użyciu języka Visual Basic jest równoważne kliknięciu polecenia Usuń filtr/sortowanie w menu Rekordy.

Uwaga   Gdy używany jest argument "Tryb danych" akcji OtwórzFormularz (OpenForm), program Microsoft Access zastępuje wiele ustawień właściwości formularza. Jeśli argument "Tryb danych" w akcji OtwórzFormularz jest ustawiony na wartość "Edycja", to program Microsoft Access użyje formularza z następującymi ustawieniami właściwości

•	AllowEdits (EdycjaDozwolona) – Tak

•	AllowDeletions (UsuwanieDozwolone) – Tak

•	AllowAdditions (DodawanieDozwolone) – Tak

•	DataEntry (WprowadzanieDanych) – Nie

Aby zapobiec zastąpieniu tych istniejących ustawień właściwości należy pominąć ustawienie argumentu "Tryb danych" w akcji OtwórzFormularz. Wtedy Microsoft Access wykorzysta ustawienia właściwości zdefiniowane w formularzu.


MultiSelect, właściwość

Właściwości MultipleSelect (WybórWielokrotny) można użyć do określenia, czy użytkownik może dokonać jednocześnie wielu wyborów w polu listy na formularzu oraz jak może to zrobić.

Ustawienia

Dla właściwości MultipleSelect używane są następujące ustawienia.

Ustawienie	Opis	Visual Basic
Brak	(Ustawienie domyślne) Wybór wielokrotny nie jest dozwolony.	0
Prosty	Można dokonać wyboru wielokrotnego wybierając elementy za pomocą myszy albo naciskając klawisz spacji.	1
Rozszerzony	Można dokonać wyboru wielokrotnego naciskając klawisz SHIFT i klikając poszczególne elementy lub naciskając klawisz SHIFT i klawisz strzałki, aby rozszerzyć wybór od zaznaczonego wcześniej elementu do bieżącego. Można też wybrać elementy  przeciągając je myszą. Przytrzymując klawisz CTRL i klikając element można go zaznaczyć albo usunąć jego zaznaczenie.	2
Właściwość MultiSelect można ustawić dla pola listy w arkuszu włąściwości, w makrze lub używając języka Visual Basic.

Właściwość tę można ustawić tylko w widoku "Projekt" formularza.

Uwagi

Właściwości ListIndex można użyć, aby zwrócić indeks zaznaczonego elementu. Gdy właściwość MultipleSelect jest ustawiona na wartość "Prosty" lub "Rozszerzony", można użyć właściwości Selected danego pola listy lub kolekcji ItemsSelected, aby sprawdzić, jakie elementy są wybrane. Jeśli dokonano wielu wyborów w polu listy, to wartością formantu pola listy zawsze będzie Null.

Jeśli właściwość MultiSelect jest ustawiona na wartość "Rozszerzony", ponowienie kwerendy pola listy spowoduje wyczyszczenie wyborów dokonanych przez użytkownika.


DividingLines, właściwość

Właściwości DividingLines (LiniePodziału) można użyć do określenia, czy linie podziału mają oddzielać od siebie sekcje w formularzu bądź rekordy wyświetlane w formularzu ciągłym.

Ustawienia

Dla właściwość DividingLines używane są następujące ustawienia:

Ustawienie	Opis	Visual Basic
Tak	(Ustawienie domyślne) Linie podziału oddzielają sekcje i rekordy w formularzach ciągłych.	True (–1)
Nie	Nie ma linii podziału.	False (0)
Właściwość DividingLines można ustawić w arkuszu właściwości, w makrze lub używając języka Visual Basic.

Właściwość tę można ustawiać w każdym widoku.


Selected, właściwość

Właściwości Selected można użyć w języku Visual Basic do określenia, czy element pola listy jest zaznaczony.

Ustawienia

Właściwość Selected jest tablicą opartą na wartościach zerowych, która opisuje stan zaznaczenia każdego z elementów pola listy.

Ustawienie	Opis
True (–1)	Element pola listy jest zaznaczony.
False (0)	Element pola listy nie jest zaznaczony.
Właściwość Selected można ustawić lub uzyskać jej wartość używając języka Visual Basic.

Właściwość ta jest dostępna tylko w czasie wykonywania.

Uwagi

Gdy właściwość MultiSelect formantu pola listy jest ustawiona na wartość "Brak", tylko jeden element może mieć właściwość Selected ustawioną na wartość True. Gdy właściwość MultipleSelect formantu pola listy jest ustawiona na wartość "Prosty" lub "Rozszerzony", wszystkie elementy razem bądź każdy z nich oddzielnie może mieć właściwość Selected ustawioną na wartość True. Pole listy z możliwością wielokrotnego wyboru będzie zawsze mieć właściwość Value równą Null. Właściwość Selected lub kolekcja ItemsSelected jest używana do zwracania informacji o tym, które elementy są zaznaczone.

Właściwości Selected można użyć do zaznaczenia elementów w polu listy przy użyciu języka Visual Basic. Na przykład, następujące wyrażenie zaznacza piąty element na liście:

Me!Listbox.Selected(4) = True


Selected, właściwość - przykład

W poniższym przykładzie właściwość Selected została użyta do przeniesienia zaznaczonych elementów z pola listy "lstSource" do pola listy "lstDestination". Właściwość RowSourceType (TypŻródłaWierszy) pola listy "lstDestination" jest ustawiona na wartość "Lista wartości", a właściwość RowSource (ŻródłoWierszy) tego formantu jest zbudowana ze wszystkich zaznaczonych elementów formantu "lstSource". Właściwość MultilpeSelect (WybórWielokrotny) pola listy "lstSource" jest ustawiona na wartość "Rozszerzony". Funkcja CopySelected( ) jest wywoływana poprzez przycisk polecenia cmdCopyItems.

Sub cmdCopyItem_Click()

CopySelected Me

End Sub

Function CopySelected(frm As Form) As Integer

Dim ctlSource As Control

Dim ctlDest As Control

Dim strItems As String

Dim intCurrentRow As Integer

Set ctlSource = frm!lstSource

Set ctlDest = frm!lstDestination

For intCurrentRow = 0 To ctlSource.Listcount - 1

If ctlSource.Selected(intCurrentRow) Then

strItems = strItems & ctlSource.Column(0, intCurrentRow) & ";"

End If

Next intCurrentRow

' Reset destination control's RowSource property.

ctlDest.RowSource = ""

ctlDest.RowSource = strItems

End Function


TripleState, właściwość

Właściwości TripleState (StanPotrójny) można użyć do określenia, jak pole wyboru, przycisk przełącznika lub przycisk opcjii będzie wyświetlać wartości Null.

Uwaga   Właściwość TripleState nie dotyczy wybranych formantów, jeśli są one używane wewnątrz formantu grupy opcji.

Ustawienia

Dla właściwość TripleState używane są następujące ustawienia.

Ustawienie	Opis	Visual Basic
Tak	Formant przechodzi cyklicznie przez stany "Tak", "Nie" oraz Null. Formant pozostaje widoczny, ale jest przygaszony, gdy jego właściwość Value jest ustawiona na wartość Null.	True (–1)
Nie	(Ustawienie domyślne) Formant przechodzi cyklicznie przez stany "Tak" oraz "Nie". Stan Null jest wyświetlany jak stan "Nie".	False (0)
Właściwość TripleState można ustawiać w arkuszu właściwości danego formantu, w makrze lub używając języka Visual Basic.

Właściwość tę można ustawiać w każdym widoku.


CurrentX, CurrentY, właściwości

Właściwości CurrentX i CurrentY można użyć do określenia współrzędnych punktu początkowego dla następnej metody rysowania i drukowania w raporcie. Można na przykład użyć tych właściwości do określenia położenia środka okręgu rysowanego w sekcji.

Ustawienia

•	Właściwość CurrentX określa wartość typu Pojedyncza precyzja używaną w wyrażeniu numerycznym do ustalenia współrzędnej poziomej dla następnej metody rysowania/drukowania.

•	Właściwość CurrentY określa wartość typu Pojedyncza precyzja używaną w wyrażeniu numerycznym do ustalenia współrzędnej pionowej dla następnej metody rysowania/drukowania.

Początek układu współrzędnych znajduje się w lewym górnym narożniku sekcji raportu, której dotyczy właściwość CurrentX lub CurrentY. Właściwość CurrentX ma ustawienie o wartości 0 dla lewej krawędzi sekcji, a właściwość CurrentY ma ustawienie o wartości 0 dla górnej krawędzi sekcji.

Właściwości CurrentX i CurrentY można ustawiać za pomocą makra lub procedury zdarzenia w języku Visual Basic określonej przez ustawienie właściwości OnPrint (PrzyWydruku) sekcji raportu.

Uwagi

Za pomocą właściwości ScaleMode definiuje się jednostkę miary układu współrzędnych, na przykład punkty, piksele, znaki, cale, milimetry lub centymetry.

W poniższej tabeli zostały podane ustawienia właściwości CurrentX i CurrentY po użyciu wybranych metod graficznych.

Metoda	Ustawia właściwości CurrentX, CurrentY na
Circle	Środek obiektu.
Line	Punkt końcowy linii (współrzędne x2, y2).
Print	Następny punkt drukowania.


DrawMode, właściwość

Właściwość DrawMode służy do określania zależności między kolorem kreski (rysowania), a istniejącymi kolorami tła w raporcie, podczas używania metod graficznych Line, Circle lub PSet przy drukowaniu.

Ustawienia

Właściwość DrawMode ma następujące ustawienia.

Ustawienie	Opis
1	Czarna kreska.
2	Dopełnienie ustawienia 15 (NotMergePen).
3	Kombinacja kolorów wspólnych dla tła i dopełnienia kreski (MaskNotPen).
4	Dopełnienie ustawienia 13 (NotCopyPen).
5	Kombinacja kolorów wspólnych dla kreski i dopełnienia tła (MaskPenNot).
6	Dopełnienie koloru tła (Invert).
7	Kombinacja kolorów tła i kreski, ale nie obu (XorPen).
8	Dopełnienie ustawienia 9 (NotMaskPen).
9	Kombinacja kolorów wspólnych dla kreski i tła (MaskPen).
10	Dopełnienie ustawienia 7 (NotXorPen).
11	Brak operacji – rysunek pozostaje bez zmian. Ustawienie to praktycznie wyłącza rysowanie (Nop).
12	Kombinacja kolorów tła i dopełnienia kreski (MergeNotPen).
13	(Ustawienie domyślne) Kolor określony przez ustawienie właściwości ForeColor (KolorCzcionki) (CopyPen).
14	Kombinacja kolorów dopełnienia tła i kreski (MergePenNot).
15	Kombinacja kolorów tła i kreski (MergePen).
16	Biała kreska.
Typem danych ustawienia właściwości DrawMode jest Liczba całkowita.

Właściwość DrawMode można ustawiać za pomocą makra lub procedury zdarzenia w języku Visual Basic określonej przez ustawienie właściwości OnPrint (PrzyWydruku) sekcji.

Uwagi

Właściwość ta jest przeznaczona do tworzenia efektów wizualnych przy rysowaniu w raporcie. Program Microsoft Access porównuje każdy piksel elementu rysunku z odpowiadającym mu pikselem istniejącego tła w celu ustalenia wyglądu rysunku w raporcie. Na przykład, w ustawieniu 7 używany jest operator Xor do uzyskania kombinacji piksela rysunku z pikselem tła.


DrawStyle, właściwość

Właściwość DrawStyle służy do określania stylu linii przy stosowaniu metod Line i Circle do drukowania linii w raportach.

Ustawienia

Właściwość DrawStyle ma następujące ustawienia.

Ustawienia	Opis
0	(Ustawienie domyślne) Ciągła linia, przezroczyste wnętrze
1	Linia przerywana, przezroczyste wnętrze
2	Linia kropkowana, przezroczyste wnętrze
3	Linia kreska-kropka, przezroczyste wnętrze
4	Linia kreska-kropka-kropka, przezroczyste wnętrze
5	Linia niewidoczna, przezroczyste wnętrze
6	Linia niewidoczna, wnętrze wypełnione
Typem danych ustawienia właściwości DrawStyle jest Liczba całkowita.

Właściwość tę można ustawiać za pomocą makra lub procedury zdarzenia w języku Visual Basic określonej przez ustawienie właściwości OnPrint (PrzyWydruku). sekcji

Uwagi

Podane wyżej ustawienia właściwości DrawStyle dają opisane efekty tylko wtedy, gdy właściwość DrawWidth ustawiona jest na wartość 1. Jeśli wartość ustawienia właściwości DrawWidth jest większa niż 3, ustawienia właściwości DrawStyle od 1 do 4 dają w wyniku linię ciągłą (wartość właściwości DrawStyle nie zmienia się).


DrawWidth, właściwość

Właściwość DrawWidth służy do określania szerokości linii dla metod graficznych Line, Circle i PSet przy drukowaniu linii w raportach.

Ustawienia

Właściwość DrawWidth można ustawiać na wartość typu Liczba całkowita w zakresie od 1 do 32 767. Wartość ta określa szerokość linii w pikselach. Ustawieniem domyślnym jest wartość 1 lub szerokość 1 piksela.

Właściwość tę można ustawiać za pomocą makra lub procedury zdarzenia w języku Visual Basic określonej przez ustawienie właściwości OnPrint (PrzyWydruku). sekcji

Uwagi

Aby zwiększyć szerokość linii, należy zwiększyć ustawienie tej właściwości. Jeśli ustawienie właściwości DrawWidth jest większe niż 3, ustawienia właściwości DrawStyle w zakresie 1 do 4 dają linię ciągłą (wartość DrawStyle nie zmienia się). Ustawienie właściwości DrawWidth na wartość 1 umożliwia właściwości DrawStyle wykorzystanie efektów opisanych w tablicy jej ustawień.


FillStyle, właściwość

Ustawienie właściwości FillStyle decyduje o sposobie wypełnienia figury narysowanej w raporcie przy użyciu metod Circle lub Line. Figura może być przezroczysta, nieprzezroczysta lub wypełniona deseniem.

Ustawienia

Właściwość FillStyle ma następujące ustawienia.

Ustawienie	Opis
0	Nieprzezroczyste
1	(Ustawienie domyślne) Przezroczyste
2	Linie poziome
3	Linie pionowe
4	Linie skośne w górę
5	Linie skośne w dół
6	Kratka
7	Kratka skośna
Właściwość FillStyle można ustawiać za pomocą makra lub procedury zdarzenia w języku Visual Basic określonej przez ustawienie właściwości OnPrint (PrzyWydruku) sekcji.

Uwagi

Jeśli właściwość FillStyle jest ustawiona na wartość 0, wypełnienie ma kolor określony przez ustawienie właściwości FillColor. Jeśli właściwość FillStyle jest ustawiona na wartość 1, wnętrze figury jest przezroczyste i ma kolor tła.

Aby ustawienia właściwości FillStyle dawały efekt, właściwość SpecialEffect (EfektSpecjalny) musi być ustawiona na wartość "Płaski".


ScaleHeight, ScaleWidth, właściwości

Właściwości ScaleHeight i ScaleWidth służą do definiowania jednostki miary wykorzystywanej do określenia pionowej i poziomej długości strony przez metody Circle, Line, PSet lub Print, podczas drukowania i podglądu albo gdy dane wyjściowe są zapisywane w pliku.

Ustawienia

•	Właściwość ScaleHeight określa wartość typu Pojedyncza precyzja używaną w wyrażeniu numerycznym do ustalenia liczby jednostek dla pionowego rozmiaru strony.

•	Właściwość ScaleWidth określa wartość typu Pojedyncza precyzja używaną w wyrażeniu numerycznym do ustalenia liczby jednostek dla poziomego rozmiaru strony.

Ustawieniem domyślnym jest szerokość i wysokość wewnętrzna strony raportu wyrażona w jednostkach twip.

Właściwości ScaleHeight i ScaleWidth można ustawiać za pomocą makra lub procedury zdarzenia w języku Visual Basic określonej przez ustawienie właściwości OnPrint (PrzyWydruku) sekcji.

Uwagi

Właściwości ScaleHeight i ScaleWidth umożliwiają utworzenie niestandardowego układu współrzędnych do rysowania i drukowania. Na przykład instrukcja ScaleHeight = 100 ustawia wewnętrzną wysokość sekcji na 100 jednostek, czyli jednostkę miary równą 1/100 wysokości.

Właściwości ScaleMode można użyć do zdefiniowania skali opartej na standardowych jednostkach miary takich, jak punkty, piksele, znaki, cale, milimetry lub centymetry.

Ustawienie właściwości ScaleHeight i ScaleWidth na wartości dodatnie umieszcza początek układu współrzędnych w lewym górnym narożniku sekcji, ustawienie ich na wartości ujemne umieszcza go w prawym dolnym narożniku.

Użycie obu tych właściwości oraz związanych z nimi właściwości ScaleLeft i ScaleTop pozwala na utworzenie pełnego układu współrzędnych, obejmującego zarówno współrzędne dodatnie, jak i ujemne. Wszystkie cztery właściwości skalujące współpracują z właściwością ScaleMode w następujący sposób:

•	Ustawienie dowolnej właściwości skalującej na dowolną wartość automatycznie ustawia właściwość ScaleMode na wartość 0.

•	Ustawienie właściwości ScaleMode na wartość większą od 0 zmienia ustawienia właściwości ScaleHeight i ScaleWidth na nową jednostkę miary i ustawia właściwości ScaleLeft i ScaleTop na wartość 0. Zmieniają się ponadto ustawienia właściwości CurrentX i CurrentY uwzględniając nowe współrzędne punktu bieżącego.

Stosując metodę Scale można ustawić w jednej instrukcji właściwości ScaleHeight, ScaleWidth, ScaleLeft i ScaleTop.

Uwaga    Należy odróżniać właściwości ScaleHeight i ScaleWidth od właściwości Height (Wysokość) i Width (Szerokość).


ScaleLeft, ScaleTop, właściwości

Właściwości ScaleLeft i ScaleTop są używane do określania jednostek współrzędnych poziomych i pionowych opisujących położenie lewej i górnej krawędzi strony, gdy metoda Circle, Line, PSet lub Print jest używana podczas podglądu wydruku, drukowania raportu lub zapisywania go w pliku.

Ustawienia

•	Właściwość ScaleLeft określa wartość typu Pojedyncza precyzja używaną w wyrażeniu numerycznym do ustalenia liczby jednostek współrzędnej poziomej lewej krawędzi strony. Ustawieniem domyślnym jest wartość 0.

•	Właściwość ScaleTop określa wartość typu Pojedyncza precyzja używaną w wyrażeniu numerycznym do ustalenia liczby jednostek współrzędnej pionowej górnej krawędzi strony. Ustawieniem domyślnym jest wartość 0.

Właściwości ScaleLeft i ScaleTop można ustawiać za pomocą makra lub procedury zdarzenia w języku Visual Basic określonej przez ustawienie właściwości OnPrint (PrzyWydruku) sekcji.

Uwagi

Użycie obu tych właściwości oraz związanych z nimi właściwości ScaleHeight i ScaleWidth pozwala na utworzenie niestandardowego układu współrzędnych, obejmującego zarówno współrzędne dodatnie, jak i ujemne. Wszystkie cztery właściwości skalujące współpracują z właściwością ScaleMode w następujący sposób:

•	Ustawienie dowolnej właściwości skalującej na dowolną wartość automatycznie ustawia właściwość ScaleMode na wartość 0.

•	Ustawienie właściwości ScaleMode na wartość większą od 0 zmienia ustawienia właściwości ScaleHeight i ScaleWidth na nową jednostkę miary i ustawia właściwości ScaleLeft i ScaleTop na wartość 0. Zmieniają się ponadto ustawienia właściwości CurrentX i CurrentY uwzględniając nowe współrzędne punktu bieżącego.

Stosując metodę Scale można ustawić w jednej instrukcji właściwości ScaleHeight, ScaleWidth, ScaleLeft i ScaleTop.

Uwaga    Należy odróżniać właściwości ScaleLeft i ScaleTop od właściwości Left (Lewy) i Top (Górny).


ScaleMode, właściwość

Właściwość ScaleMode jest używana w języku Visual Basic do określania jednostki miary układu współrzędnych strony, gdy metoda Circle, Line, PSet lub Print jest używana podczas podglądu wydruku, drukowania raportu lub zapisywania go w pliku.

Ustawienie

Właściwość ScaleMode ma następujące ustawienia.

Ustawienie	Opis
0	Wartości niestandardowe używane przez jedną lub kilka z właściwości ScaleHeight, ScaleWidth, ScaleLeft i ScaleTop
1	(Ustawienie domyślne) Twip
2	Punkty
3	Piksele
4	Znaki (w poziomie = 120 twip na jednostkę; w pionie = 240 twip na jednostkę)
5	Cale
6	Millimetry
7	Centymetry
Ustawienie tej właściwości jest wartością typu Liczba całkowita.

Właściwość ScaleMode można ustawiać za pomocą makra lub procedury zdarzenia w języku Visual Basic określonej przez ustawienie właściwości OnPrint (PrzyWydruku). sekcji

Uwagi

Użycie powiązanych właściwości ScaleHeight, ScaleWidth, ScaleLeft i właściwości ScaleTop pozwala na utworzenie niestandardowego układu współrzędnych, obejmującego zarówno współrzędne dodatnie, jak i ujemne. Wszystkie cztery właściwości skalujące współpracują z właściwością ScaleMode w następujący sposób:

•	Ustawienie innej właściwości skalowania na dowolną wartość automatycznie ustawia właściwość ScaleMode na wartość 0.

•	Ustawienie właściwości ScaleMode na wartość większą od 0 zmienia ustawienia właściwości ScaleHeight i ScaleWidth na nową jednostkę miary i ustawia właściwości ScaleLeft i ScaleTop na wartość 0. Zmieniają się ponadto ustawienia właściwości CurrentX i CurrentY uwzględniając nowe współrzędne punktu bieżącego.


DateGrouping, właściwość

Właściwość DateGrouping (GrupowanieWedługDaty) służy do określania sposobu grupowania według dat w raporcie. Na przykład, użycie argumentu "Domyślne ustawienia USA" spowoduje, że tydzień będzie się zaczynał w niedzielę. Jeśli właściwość GroupOn (GrupujWedług) pola typu Data/Godzina zostanie ustawiona na wartość "Tydzień", w daty raporcie będą grupowane od niedzieli do soboty.

Uwaga   Ustawienie właściwości DateGrouping dotyczy całego raportu, a nie konkretnej grupy w raporcie.

Ustawienia

Właściwość DateGrouping ma następujące ustawienia.

Ustawienie	Opis	Visual Basic
Domyślne ustawienia USA	Używane są ustawienia domyślne USA dla pierwszego dnia tygodnia (Niedziela) i pierwszego tygodnia roku (zaczyna się 1 stycznia).	0
Użyj ustawień systemowych	(Ustawienie domyślne) Używane są ustawienia narodowe zgodnie z wyborem dokonanym oknie dialogowym Właściwości: Ustawienia regionalne w Panelu sterowania systemu Windows.	1
Właściwość tę można ustawiać w arkuszu właściwości, w makrze lub w języku Visual Basic.

Właściwość DateGrouping można ustawiać tylko w widoku "Projekt" raportu lub w procedurze zdarzenia Open raportu.

Uwagi

Ustawienie właściwości DateGrouping nie ma wpływu na stosowany w raporcie porządek sortowania.


GroupHeader, GroupFooter, właściwości

Właściwości GroupHeader (NagłówekGrupy) i GroupFooter (StopkaGrupy) służą do tworzenia nagłówka grupy lub stopki grupy dla wybranego pola lub wyrażenia w raporcie. Nagłówek i stopka mogą służyć do oznaczenia grupy etykietą lub do podsumowania danych w grupie rekordów. Jeśli na przykład właściwość GroupHeader zostanie ustawiona na wartość "Tak" dla pola "Categories" (Kategorie), każda grupa produktów będzie się zaczynać od nazwy kategorii.

Ustawienia

Właściwości GroupHeader i GroupFooter mają następujące ustawienia.

Ustawienie	Opis
Tak	Tworzy nagłówek lub stopkę grupy.
Nie	(Ustawienie domyślne) Nie tworzy nagłówka ani stopki grupy.
Właściwości te można ustawić w oknie dialogowym Sortowanie i grupowanie.

Właściwości te można ustawiać tylko w widoku "Projekt" raportu.

Uwaga   Właściwości tych nie można ustawiać ani odwoływać się do nich bezpośrednio w języku Visual Basic. Aby utworzyć nagłówek lub stopkę grupy dla pola lub wyrażenia w języku Visual Basic, należy użyć funkcji CreateGroupLevel.

Uwagi

Aby ustawić właściwości grupowania – GroupOn (GrupujWedług), GroupInterval (PrzedziałGrupowania) i KeepTogether (TrzymajRazem) – na wartości inne niż ich wartości domyślne, należy najpierw ustawić co najmniej jedną z właściwości GroupHeader i GroupFooter wybranego pola lub wyrażenia na wartość "Tak".


GroupInterval, właściwość

Właściwość GroupInterval (PrzedziałGrupowania) wraz z właściwością GroupOn (GrupujWedług) służy do definiowania sposobu grupowania rekordów w raporcie. Właściwość GroupInterval określa przedział grupowania rekordów. Przedział ten zależy od typu danych i ustawienia właściwości GroupOn dla pola lub wyrażenia, według którego następuje grupowanie. Można na przykład ustawić właściwość GroupInterval na wartość 1, aby zgrupować rekordy według pierwszej litery pola tekstowego, takiego jak "ProductName" (NazwaProduktu).

Ustawienie

Ustawienie właściwości GroupInterval jest wartością typu Liczba całkowita, która zależy od typu danych pola i ustawienia jego właściwości GroupOn. Ustawieniem domyślnym właściwości GroupInterval jest wartość 1.

Właściwość tę można ustawić w oknie dialogowym Sortowanie i grupowanie, w makrze lub w języku Visual Basic.

Właściwość GroupInterval można ustawiać tylko w widoku "Projekt" raportu lub w procedurze zdarzenia Open raportu.

Uwagi

W poniższej tabeli zostały podane przykłady ustawień właściwości GroupInterval dla różnych typów danych pola.

Typ danych pola	Ustawienie właściwości GroupOn	Ustawienie właściwości GroupInterval
Dowolny	Każda wartość	(Ustawienie domyślne) Ustawiona na 1.
Tekst	Pierwsze znaki	Ustawiona na 3 zgrupuje dane według pierwszych trzech liter pola (na przykład słowa Chai, Chartreuse i Chang znajdą się w jednej grupie).
Data/Godzina	Tydzień	Ustawiona na 2 zgrupuje dane w okresach dwutygodniowych.
Data/Godzina	Godzina	Ustawiona na 12 zgrupuje dane w okresach półdobowych.
Aby ustawić właściwość GroupInterval na wartość inną niż domyślna (1), należy najpierw ustawić co najmniej jedną z właściwości GroupHeader i GroupFooter wybranego pola lub wyrażenia na wartość "Tak".


GroupLevel, właściwość

Właściwości GroupLevel można użyć w języku Visual Basic, aby odwołać się do poziomu grupowania, którego dotyczy sortowanie lub grupowanie w raporcie.

Ustawienia

Ustawieniem właściwości GroupLevel jest tablica, której elementy identyfikują poziom grupowania. Aby odwołać się do poziomu grupowania, należy użyć następującej składni:

GroupLevel(n)

Liczba n jest poziomem grupowania poczynając od 0. Pierwsze pole lub wyrażenie, według którego następuje grupowanie jest poziomem grupowania 0, drugie jest poziomem grupowania 1, itd. Może istnieć do 10 poziomów grupowania (od 0 do 9).

Poniższe przykładowe ustawienia ilustrują sposób użycia właściwości GroupLevel przy odwoływaniu się do poziomu grupowania.

Poziom grupowania	Odwołuje się do
GroupLevel(0)	Pierwsze pole lub wyrażenie, według którego następuje sortowanie lub grupowanie.
GroupLevel(1)	Drugie pole lub wyrażenie, według którego następuje sortowanie lub grupowanie.
GroupLevel(2)	Trzecie pole lub wyrażenie, według którego następuje sortowanie lub grupowanie.
Właściwość ta służy w języku Visual Basic jedynie do ustawiania właściwości SortOrder (PorządekSortowania), GroupOn (GrupujWedług), GroupInterval (PrzedziałGrupowania), KeepTogether (TrzymajRazem) i ControlSource (ŹródłoFormantu). Właściwości te można ustawić w procedurze zdarzenia Open raportu.

Uwagi

W raportach grupowanie i sortowanie może obejmować kilka pól lub wyrażeń. Każde pole lub wyrażenie użyte w grupowaniu lub sortowaniu jest poziomem grupowania.

Pole i wyrażenie, według którego następuje sortowanie lub grupowanie określa się za pomocą funkcji CreateGroupLevel.

Jeśli w raporcie jest już zdefiniowana grupa (właściwość GroupLevel jest ustawiona na wartość 0), można wówczas użyć właściwości ControlSource do zmiany poziomu grupowania w procedurze zdarzenia Open raportu. Na przykład, poniższy kod zmienia ustawienie właściwości ControlSource na wartość zawartą w polu tekstowym txtPromptYou  w otwartym formularzu o nazwie SortForm:

Private Sub Report_Open(Cancel As Integer)

Me.GroupLevel(0).ControlSource _

= Forms!SortForm!txtPromptYou

End Sub


Właściwości grupowania - przykład
Właściwości grupowania – przykład

W poniższym przykładzie ustawiana jest właściwość SortOrder (PorządekSortowania) i właściwości grupowania dla pierwszego poziomu grupowania w raporcie o nazwie "Products By Category" w celu utworzenia alfabetycznej listy produktów.

Private Sub Report_Open(Cancel As Integer)

' Set SortOrder property to ascending order.

Me.GroupLevel(0).SortOrder = False

' Set GroupOn property.

Me.GroupLevel(0).GroupOn = 1

' Set GroupInterval property to 1.

Me.GroupLevel(0).GroupInterval = 1

' Set KeepTogether property to With First Detail.

Me.GroupLevel(0).KeepTogether = 2

End Sub


GroupOn, właściwość

Właściwość GroupOn (GrupujWedług) służy do określania sposobu grupowania danych w polu lub wyrażeniu według typu danych. Można na przykład grupować pole typu Data według miesięcy.

Ustawienie

W poniższej tabeli zostały podane dozwolone ustawienia właściwości GroupOn w zależności od typu pola. Dla wyrażenia dozwolone jest każde ustawienie. Domyślnym ustawieniem dla wszystkich typów pola jest "Każda wartość".

Typ danych pola	Ustawienie	Grupuje rekordy według	Visual Basic
Tekst	(Ustawienie domyślne) Każda wartość	Tej samej wartości w polu lub wyrażeniu.	0
	Pierwsze znaki	Tych samych pierwszych n znaków w polu lub wyrażeniu.	1
Data/Godzina	(Ustawienie domyślne) Każda wartość	Tej samej wartości w polu lub wyrażeniu.	0
	Rok	Dat w tym samym roku kalendarzowym.	2
	Kwartał	Dat w tym samym kwartale kalendarzowym.	3
	Miesiąc	Dat w tym samym miesiącu.	4
	Tydzień	Dat w tym samym tygodniu.	5
	Dzień	Dat w tym samym dniu.	6
	Godzina	Tej samej godziny.	7
	Minuta	Tej samej minuty.	8
Autonumer, Walutowy, Liczba	(Ustawienie domyślne) Każda wartość	Tej samej wartości w polu lub wyrażeniu.	0
	Przedział	Zadanych przedziałów.	9
Właściwość GroupOn można ustawić w oknie dialogowym Sortowanie i grupowanie, w makrze lub w języku Visual Basic.

W języku Visual Basic właściwość tę można ustawić w procedurze zdarzenia Open raportu.

Uwagi

Aby właściwość GroupOn ustawić na wartość inną niż "Każda wartość", należy najpierw ustawić co najmniej jedną z właściwości GroupHeader i GroupFooter wybranego pola lub wyrażenia na "Tak".


KeepTogether, właściwość - grupy
KeepTogether, właściwość – grupy

Właściwość KeepTogether (TrzymajRazem) służy do umieszczania w raporcie poszczególnych części grupy – wraz z nagłówkiem grupy, sekcją szczegółów i stopką grupy – razem na tej samej stronie. Można na przykład zawsze drukować nagłówek grupy wraz z pierwszą sekcją szczegółów na tej samej stronie.

Ustawienie

Właściwość KeepTogether ma następujące ustawienia.

Ustawienie	Opis	Visual Basic
Nie	(Ustawienie domyślne) Podczas drukowania poszczególne składniki grupy nie są umieszczane razem na jednej stronie.	0
Całą grupę	Podczas drukowania nagłówek grupy, sekcja szczegółów i stopka grupy są umieszczane na tej samej stronie.	1
Z pierwszym szczegółem	Nagłówek jest drukowany wraz z pierwszym rekordem sekcji szczegółów.	2
Właściwość KeepTogether można ustawić w oknie dialogowym Sortowanie i grupowanie, w makrze lub w języku Visual Basic.

W języku Visual Basic właściwość tę można ustawić dla grupy w widoku "Projekt" raportu lub w procedurze zdarzenia Open raportu za pomocą właściwości GroupLevel.

Uwagi

Aby właściwość KeepTogether ustawić na wartość inną niż "Nie", należy najpierw ustawić co najmniej jedną z właściwości GroupHeader i GroupFooter wybranego pola lub wyrażenia na "Tak".

Grupa obejmuje nagłówek, sekcję szczegółów i stopkę grupy. Jeśli przy ustawieniu właściwości KeepTogether na wartość "Cała grupa" grupa jest zbyt duża, aby zmieścić się na jednej stronie, ustawienie to zostanie zignorowane. W podobny sposób zostanie zignorowane ustawienie "Z pierwszym szczegółem", gdy nagłówek wraz z pierwszym rekordem nie mieści się na stronie.

Jeśli właściwość KeepTogether dla sekcji jest ustawiona na wartość "Nie", a właściwość KeepTogether dla grupy jest ustawiona na wartość "Cała grupa" lub "Z pierwszym szczegółem", ustawienie właściwości KeepTogether dla sekcji jest ignorowane.


SortOrder, właściwość

Właściwość SortOrder (PorządekSortowania) służy do określania porządku sortowania dla pól i wyrażeń w raporcie. Jeśli na przykład drukowana jest lista dostawców, można ją uporządkować alfabetycznie według nazw firm.

Ustawienie

Właściwość SortOrder ma następujące ustawienia.

Ustawienie	Opis	Visual Basic
Rosnąco	(Ustawienie domyślne) Sortuje wartości w porządku rosnącym (od A do Z, od 0 do 9)	False (0)
Malejąco	Sortuje wartości w porządku malejącym (od Z do A, od 9 do 0)	True (–1)
Właściwość SortOrder można ustawić w oknie dialogowym Sortowanie i grupowanie, w makrze lub w języku Visual Basic.

W języku Visual Basic właściwość tę można ustawić w widoku "Projekt" raportu lub w procedurze zdarzenia Open raportu za pomocą właściwości GroupLevel.


ImageHeight, właściwość

Właściwości ImageHeight można użyć w języku Visual Basic do określenia mierzonej w twipach wysokości rysunku w formancie obrazu.

Ustawienia

Właściwość ImageHeight jest wartością typu Liczba całkowita równą wysokości rysunku mierzonej w twipach.

Właściwość ta jest tylko do odczytu we wszystkich widokach.

Uwagi

Właściwości ImageHeight można użyć razem z właściwością ImageWidth, aby określić rozmiary rysunku w formancie obrazu. Można następnie użyć tych informacji, aby zmienić właściwości Width (Szerokość) i Height (Wysokość) formantu obrazu tak, aby odpowiadały rozmiarom wyświetlanego rysunku.


ImageHeight i ImageWidth, właściwości - przykład
ImageHeight i ImageWidth, właściwości – przykład

W poniższym przykładzie użytkownik jest monitowany o podanie nazwy mapy bitowej. Następnie mapa ta jest przypisywana do właściwości Picture (Rysunek) formantu typu obraz o nazwie "Image1". Właściwości ImageHeight i ImageWidth są używane do zmiany rozmiarów formantu typu obraz, aby odpowiadał rozmiarom mapy bitowej.

Sub GetNewPicture(frm As Form)

Dim ctlImage As Control

Set ctlImage = frm!Image1

ctlImage.Picture = InputBox("Enter path and file name for new bitmap")

ctlImage.Height = ctlImage.ImageHeight

ctlImage.Width = ctlImage.ImageWidth

End Sub


ImageWidth, właściwość

Właściwości ImageWidth można użyć w języku Visual Basic do określenia mierzonej w twipach szerokości rysunku w formancie obrazu.

Ustawienia

Właściwość ImageWidth jest wartością typu Liczba całkowita równą szerokości rysunku mierzonej w twipach.

Właściwość ta jest tylko do odczytu we wszystkich widokach.

Uwagi

Właściwości ImageWidth można użyć razem z właściwością ImageHeight, aby określić rozmiary rysunku w formancie obrazu. Można następnie użyć tych informacji, aby zmienić właściwości Height (Wysokość) i Width (Szerokość) formantu typu obraz tak, aby odpowiadały rozmiarom wyświetlanego rysunku.


EventProcPrefix, właściwość

Właściwości EventProcPrefix można użyć, aby otrzymać prefiks nazwy procedury zdarzenia. Na przykład, po wybraniu przycisku polecenia z procedurą zdarzenia o nazwie Details_Click, właściwość EventProcPrefix zwróci ciąg znaków "Details".

Ustawienie

Ustawienie właściwości EventProcPrefix jest wyrażeniem typu ciąg znaków.

Właściwość ta jest dostępna tylko w makrze lub w języku Visual Basic i we wszystkich widokach jest tylko do odczytu.

Uwagi

Program Microsoft Access dodaje pierwszą część nazwy procedury zdarzenia do nazwy zdarzenia ze znakiem kreski u dołu (_).


TimerInterval, właściwość

Właściwości TimerInterval (OkresCzasomierza) służy do określania odstępu w milisekundach między zdarzeniami Timer na formularzu.

Ustawienie

Ustawienie właściwości TimerInterval jest liczbą typu Liczba całkowita długa z przedziału od 0 do 2 147 483 647.

Wartość tej właściwości można ustawić używając arkusza właściwości, makra lub języka Visual Basic.

Uwaga   Używając języka Visual Basic właściwość TimerInterval ustawia się w zdarzeniu Load formularza.

Uwagi

Aby uruchamiać kod języka Visual Basic w odstępach czasu określonych przez właściwość TimerInterval, należy umieścić ten kod w procedurze zdarzenia Timer formularza. Na przykład, aby kwerenda była ponawiana co każde 30 sekund, można umieścić kod w procedurze zdarzenia Timer, a następnie ustawić właściwość TimerInterval na 30 000.


TimerInterval, właściwość - przykład

W poniższym przykładzie zostało pokazane, jak utworzyć na formularzu migający przycisk przez wyświetlanie i ukrywanie ikony na przycisku. Procedura zdarzenia Load formularza powoduje ustawienie właściwości TimerInterval formularza na wartość 1000, dzięki czemu ikona przycisku będzie wyświetlana raz na sekundę.

Sub Form_Load()

Me.TimerInterval = 1000

End Sub

Sub Form_Timer()

Static intShowPicture As Integer

If intShowPicture Then

' Show icon.

Me!btnPicture.Picture = "C:\Icons\Flash.ico"

Else

' Don't show icon.

Me!btnPicture.Picture = ""

End If

intShowPicture = Not intShowPicture

End Sub


AutoRepeat, właściwość

Właściwość AutoRepeat (Autopowtarzanie) służy do określenia, czy wykonywanie procedury zdarzenia lub makra ma się powtarzać, gdy przycisk polecenia na formularzu pozostaje przyciśnięty.

Ustawienia

Właściwość AutoRepeat ma następujące ustawienia.

Ustawienie	Opis	Visual Basic
Tak	Makro lub procedura zdarzenia Click są wykonywane w sposób powtarzalny w czasie, gdy przycisk polecenia pozostaje przyciśnięty.	True (–1)
Nie	(Ustawienie domyślne) Makro lub procedura zdarzenia wykonywane są tylko raz.	False (0)
Właściwość tę można ustawić używając arkusza właściwości, makra lub języka Visual Basic.

Uwagi

Pierwsze powtórzenie procedury zdarzenia lub makra ma miejsce 0.5 sekundy po jej pierwszym wykonaniu. Kolejne powtórzenia mają miejsce albo co 0.25 sekundy albo co okres trwania wykonywania procedury zdarzenia lub makra, w zależności od tego, który z tych okresów jest dłuższy.

Jeśli kod dołączony do przycisku polecenia powoduje zmianę bieżącego rekordu, właściwość AutoRepeat nie powoduje żadnego skutku.

Jeśli kod dołączony do przycisku polecenia powoduje zmianę innego formantu na formularzu, do zapewnienia poprawnej aktualizacji ekranu należy zastosować funkcję DoEvents.


Count, właściwość

Właściwość Count służy do ustalania liczby otwartych formularzy lub raportów albo liczby formantów na otwartym formularzu lub raporcie.

Ustawienie

Ustawienie właściwości Count jest wartością typu Liczba całkowita i we wszystkich widokach jest tylko do odczytu.

Właściwość Count można sprawdzić dla obiektu używając makra lub języka Visual Basic.

Jeśli nie są otwarte żadne formularze ani raporty, ustawieniem właściwości Count jest wartość 0.


Count, właściwość - przykład
Count, właściwość – przykład

W poniższym przykładzie została użyta właściwości Count do sterowania pętlą, która drukuje informacje o wszystkich otwartych formularzach.

Sub Print_Form_Controls()

Dim frm As Form, intI As Integer

Dim intJ As Integer

Dim intControls As Integer, intForms As Integer

intForms = Forms.Count	' Number of open forms.

If intForms > 0 Then

For intI = 0 To intForms - 1

Set frm = Forms(intI)

Debug.Print frm.Name

intControls = frm.Count

If intControls > 0 Then

For intJ = 0 To intControls - 1

Debug.Print vbTab; frm(intJ).Name

Next intJ

Else

Debug.Print vbTab; "(no controls)"

End If

Next intI

Else

MsgBox "No open forms.", vbExclamation, "Form Controls"

End If

End Sub

W następnym przykładzie określana jest liczba formantów w formularzu lub raporcie, a następnie liczba ta jest przypisywana zmiennej.

Dim intFormControls As Integer

Dim intReportControls As Integer

intFormControls = Forms!Employees.Count

intReportControls = Reports!FreightCharges.Count


CurrentView, właściwość

Właściwość CurrentView służy do ustalania sposobu wyświetlania bieżącego formularza. Na przykład, może zajść potrzeba sprawdzenia, czy formularz jest wyświetlany w widoku "Formularz" czy w widoku "Arkusz danych" przed próbą umieszczenia w formularzu formantów za pomocą języka Visual Basic.

Ustawienia

Właściwość CurrentView ma następujące ustawienia.

Ustawienie	Opis
0	Formularz jest wyświetlany w widoku "Projekt".
1	Formularz jest wyświetlany w widoku "Formularz".
2	Formularz jest wyświetlany w widoku "Arkusz danych".
Właściwość ta jest dostępna tylko za pomocą makra lub języka Visual Basic i we wszystkich widokach jest tylko do odczytu.

Uwagi

Właściwości tej można także użyć do wykonywania różnych zadań w zależności od widoku. Na przykład, polecenie menu może powodować wykonanie procedury zdarzenia, która sprawdzda, w jakim widoku jest wyświetlany formularz i powoduje wykonanie jednego zadania, gdy formularz jest wyświetlany w widoku "Formularz" i innego zadania, gdy jest on wyświetlany w widoku "Arkusz danych".


CurrentView, właściwość - przykład

W poniższym przykładzie została zastosowana procedura GetCurrentView do sprawdzenia, czy formularz znajduje się w widoku "Formularz" czy "Arkusz danych". Jeśli jest on w widoku "Formularz", to wyświetlany jest komunikat w polu tekstowym formularza; jeśli jest on w widoku "Arkusz danych", to ten sam komunikat jest wyświetlany w oknie komunikatu.

GetCurrentView Me, "Please contact system administrator."

Sub GetCurrentView(frm As Form, strDisplayMsg As String)

Const conFormView = 1

Const conDataSheet = 2

Dim intView As Integer

intView = frm.CurrentView

Select Case intView

Case conFormView

frm!MessageTextBox.SetFocus

' Display message in text box.

frm!MessageTextBox = strDisplayMsg

Case conDataSheet

' Display message in message box.

MsgBox strDisplayMsg

End Select

End Sub


HelpContextID, HelpFile, właściwości

•	Właściwość HelpContextID (IDKontekstuPmocy) określa kontekst ID tematu w niestandardowym pliku Pomocy określonym przez ustawienie właściwości HelpFile (PlikPomocy).

•	Właściwość HelpFile określa nazwę niestandardowego pliku Pomocy dla bieżącego formularza lub raportu.

Ustawienia

•	Dla właściwości HelpContextID należy wprowadzić wartość typu Liczba całkowita długa z przedziału od 0 do 2 147 483 647 reprezentującą kontekst ID tematu w pliku Pomocy, który ma być wyświetlony. Ustawieniem domyślnym jest 0.

•	Dla właściwości HelpFile należy wprowadzić wyrażenie typu ciąg znaków zawierające ścieżkę i nazwę niestandardowego pliku Pomocy utworzonego za pomocą programu Windows Help Compiler.

Właściwości te można ustawić używając arkusza właściwości, makra lub języka Visual Basic. Właściwości te nie dotyczą formantów w raportach.

Uwagi

Uwaga   Do utworzenia niestandardowego pliku Pomocy niezbędny jest program Windows Help Compiler oraz edytor tekstowy obsługujący format RTF taki, jak Microsoft Word.

Można tworzyć niestandardowe pliki Pomocy, aby dokumentować formularze, raporty lub aplikacje tworzone w programie Microsoft Access.

Po przyciśnięciu klawisza F1 w widoku "Formularz" w programie Microsoft Access następuje wywołanie aplikacji Pomoc systemu Windows, załadowanie niestandardowego pliku Pomocy określonego przez ustawienie właściwości HelpFile dla formularza lub raportu, a następnie wyświetlenie tematu pomocy określonego przez ustawienie właściwości HelpContextID.

Jeśli ustawienie właściwości HelpContextID jest równe 0 (wartość domyślna), program Microsoft Access wykorzysta właściwości HelpContextID i HelpFile formularza do identyfikacji tematu Pomocy, który ma być wyświetlony. Jeśli klawisz F1 zostanie naciśnięty w widoku innym niż widok "Formularz" lub jeśli ustawienie właściwości HelpContextID zarówno dla formularza, jak i formantu jest równe 0, wyświetlany jest temat Pomocy programu Microsoft Access.


HelpContextID, HelpFile, właściwości - Dotyczy
HelpContextID, HelpFile, właściwości – dotyczy

HelpContextID, właściwość

HelpFile, właściwość


hWnd, właściwość

Właściwość hWnd służy do ustalania dojścia (unikatowa wartość typu Liczba całkowita długa) przypisywanego w systemie Microsoft Windows bieżącemu oknu.

Ustawienie

Właściwość ta jest tylko do odczytu i jest dostępna tylko w makrze lub w języku Visual Basic.

Uwagi

Właściwości tej można użyć w języku Visual Basic przy odwoływaniu się do funkcji interfejsu Windows API lub innych procedur zewnętrznych, które wymagają właściwości hWnd jako argumentu. Wiele funkcji systemu Windows wymaga wartości właściwości hWnd bieżącego okna jako jednego z argumentów.

Ostrzeżenie   Ponieważ wartość tej właściwości może się zmieniać podczas pracy programu, nie należy przechowywać wartości właściwości hWnd jako zmiennej globalnej.


hWnd, właściwość - przykład
hWnd, właściwość – przykład

W poniższym przykładzie została użyta właściwość hWnd z funkcją IsZoomed interfejsu Windows API, aby stwierdzić, czy okno jest zmaksymalizowane.

' Enter on single line in Declarations section of Module window.

Declare Function IsZoomed Lib "user32" (ByVal hWnd As Long) As Long

Sub Form_Activate()

Dim intWindowHandle As Long

intWindowHandle = Screen.ActiveForm.hWnd

If Not IsZoomed(intWindowHandle) Then

DoCmd.Maximize

End If

End Sub


InSelection, właściwość

Właściwość InSelection służy do sprawdzenia lub określenia, czy został zaznaczony formant na formularzu w widoku "Projekt".

Ustawienie

Właściwość InSelection ma następujące ustawienia.

Ustawienie	Opis
True (–1)	Formant jest zaznaczony.
False (0)	Formant nie jest zaznaczony.
Właściwość ta jest dostępna tylko makrze  lub w języku  Visual Basic.

Uwagi

Gdy formant jest zaznaczony, widoczne są jego uchwyty wymiarowania i użytkownik może zmieniać jego rozmiary. Kilka formantów może być zaznaczonych równocześnie.


InSelection, właściwość - przykład
InSelection, właściwość – przykład

W poniższym przykładzie została użyta właściwość InSelection do sprawdzenia, czy formant strControlName formularza jest zaznaczony.

Aby przetestować ten kod, należy wkleić kod funkcji IsControlSelected do sekcji deklaracji w module kodu przykładowej bazy danych "Northwind", otworzyć formularz "Klienci" (Customers) w widoku "Projekt", a następnie zaznaczyć formant "NazwaFirmy" (CompanyName). Następnie należy wprowadzić następujący wiersz w oknie analizy programu:

? IsControlSelected (Forms!Customers, "CompanyName")

Function IsControlSelected(frm As Form, strControlName As String) As Integer

Dim intI As Integer, ctl As Control

If frm.CurrentView <> 0 Then

' Form is not in Design view.

Exit Function

Else

For intI = 0 To frm.Count - 1

Set ctl = frm(intI)

If ctl.InSelection = True Then

' Is desired control selected?

If UCase(ctl.Name) = UCase(strControlName) Then

IsControlSelected = True

Exit Function

End If

Else

IsControlSelected = False

End If

Next intI

End If

End Function


OpenArgs, właściwość

Właściwość OpenArgs służy do ustalania wyrażenia typu ciąg znaków określonego przez argument argotwarcia metody OpenForm, za pomocą której został otwarty formularz.

Ustawienie

Właściwość ta jest dostępna tylko w makrze lub w języku Visual Basic za pomocą metody OpenForm obiektu  DoCmd. Ustawienie tej właściwości jest tylko do odczytu we wszystkich widokach.

Uwagi

Aby użyć właściwości OpenArgs, należy otworzyć formularz używając metody OpenForm obiektu DoCmd i ustawić argument argotwarcia na żądane wyrażenie typu ciąg znaków. Ustawienie właściwości OpenArgs może być następnie użyte w kodzie dla formularza, takim jak procedura zdarzeniaOpen. Można także odwołać się do ustawienia tej właściwości w makrze, takim jak makro "Otwórz" lub w wyrażeniu ustawiającym właściwość ControlSource (ŹródłoFormantu) formantu formularza.

Przypuśćmy na przykład, że otwierany formularz jest formularzem ciągłym listy klientów. Chcąc przenieść fokus do określonego rekordu klienta, gdy formularz jest otwierany, można ustawić właściwość OpenArgs na nazwisko klienta, a następnie użyć akcji ZnajdźRekord (FindRecord) w makrze "Otwórz", aby przenieść fokus do rekordu klienta o podanym nazwisku.


OpenArgs, właściwość - przykład
OpenArgs, właściwość – przykład

W poniższym przykładzie została użyta właściwość OpenArgs do otwarcia formularza "Employees" (Pracownicy) na określonym rekordzie oraz demonstracji jak metoda OpenForm ustawia wartość właściwości OpenArgs. Procedurę tę można wykonać w odpowiednim momencie – na przykład po wystąpieniu zdarzenia AfterUpdate dla niestandardowego okna dialogowego używanego do wprowadzenia nowych informacji o pracowniku.

Sub OpenToCallahan()

DoCmd.OpenForm "Employees", acNormal, , , acReadOnly, , "Callahan"

End Sub

Sub Form_Open(Cancel As Integer)

Dim strEmployeeName As String

' If OpenArgs property contains employee name, find corresponding

' employee record and display it on form. For example,

' if the OpenArgs property contains "Callahan", move to first

' "Callahan" record.

strEmployeeName = Forms!Employees.OpenArgs

If Len(strEmployeeName) > 0 Then

DoCmd.GoToControl "LastName"

DoCmd.FindRecord strEmployeeName, , True, , True, , True

End If

End Sub

W następnym przykładzie została użyta metoda FindFirst do znalezienia pracownika, którego nazwisko znajduje się we właściwości OpenArgs.

Private Sub Form_Open(Cancel As Integer)

If Not IsNull(Me.OpenArgs) Then

Dim strEmployeeName As String

strEmployeeName = Me.OpenArgs

Dim RS As Recordset

Set RS = Me.RecordsetClone

RS.FindFirst "LastName = '" & strEmployeeName & "'"

If Not RS.NoMatch Then

Me.Bookmark = RS.Bookmark

End If

End If

End Sub


PreviousControl, właściwość

Właściwość PreviousControl może być użyta wraz z obiektem Screen, aby zwrócić odwołanie do formantu, który ostatnio uzyskał fokus.

Ustawienie

Właściwość PreviousControl zawiera odwołanie do formantu, który ostatnio uzyskał fokus. Po ustanowieniu odwołania do formantu można uzyskać dostęp do wszystkich właściwości i metod tego formantu .

Właściwość ta jest dostępna tylko w makrze lub w języku Visual Basic i jest tylko do odczytu.

Uwagi

Właściwości PreviousControl nie można użyć, dopóki więcej niż jeden rekord nie otrzyma fokusu po otwarciu formularza. Przy próbie użycia tej właściwości, gdy tylko jeden formant formularza otrzymał fokus, w programie Microsoft Access generowany jest błąd.


PreviousControl, właściwość - przykład
PreviousControl, właściwość – przykład

W poniższym przykładzie wyświetlany jest komunikat, jeśli formant który ostatnio otrzymał fokus nie jest polem tekstowym txtFinalEntry.

Function ProcessData() As Integer

Dim ctlPrevious As Control

' No previous control error.

Const conNoPreviousControl = 2483

On Error GoTo Process_Err

Set ctlPrevious = Screen.PreviousControl

If ctlPrevious.Name = "txtFinalEntry" Then

' Process Data Here.

.

.

.

ProcessData = True

Else

' Set focus to txtFinalEntry and display message.

Me!txtFinalEntry.SetFocus

MsgBox "Please enter a value here."

ProcessData = False

End If

Process_Bye:

Exit Function

Process_Err:

If Err = conNoPreviousControl Then

Me!txtFinalEntry.SetFocus

MsgBox "Please enter a value to process."

ProcessData = False

End If

Resume Process_Bye

End Function


Cycle, właściwość

Właściwość Cycle (Cykliczny) służy do określania skutków naciśnięcia  klawisza TAB, gdy fokus jest na ostatnim formancie formularza związanego.

Ustawienia

Właściwość Cycle ma następujące ustawienia.

Ustawienie	Opis	Visual Basic
Wszystkie rekordy	(Ustawienie domyślne) Naciśnięcie klawisza TAB przenosi fokus z ostatniego formantu formularza na pierwszy formant następnego rekordu według kolejności dostępu.	0
Bieżący rekord	Naciśnięcie klawisza TAB przenosi fokus z ostatniego formantu rekordu na pierwszy formant według kolejności dostępu w tym samym rekordzie.	1
Bieżąca strona	Naciśnięcie klawisza TAB przenosi fokus z ostatniego formantu na stronie z powrotem na pierwszy formant według kolejności dostępu na tej stronie.	2
Właściwość Cycle można ustawiać w arkuszu właściwości, w makrze  lub za pomocą poleceń języka Visual Basic.

Właściwość Cycle można ustawiać w dowolnym widoku.

Uwagi

Po naciśnięciu klawisza TAB na formularzu fokus jest przenoszony przez kolejne formanty formularza zgodnie z położeniem formantów w kolejności dostępu.

Właściwość Cycle można ustawić na wartość "Wszystkie rekordy" dla formularzy zaprojektowanych do wprowadzania danych. Umożliwia to przechodzenie do nowego rekordu przez naciśnięcie klawisza TAB.

Uwaga   Właściwość Cycle steruje zachowaniem klawisza TAB na formularzu tylko wtedy, gdy właściwość jest ustawiona. Jeśli w kolejności dostępu znajduje się podformularz, po przeniesieniu fokusu na podformularz zachowaniem klawisza TAB steruje ustawienie właściwości Cycle dla tego podformularza.

Aby przenieść fokus poza podformularz, należy nacisnąć klawisze CTRL+TAB.


KeyPreview, właściwość

Właściwość KeyPreview (PodglądKlawisza) służy do określania, czy procedury zdarzeń klawiatury na poziomie formularza są wywoływane przed procedurami zdarzeń formantu.

Uwaga   Zdarzeniami klawiatury są KeyDown, KeyUp i KeyPress.

Ustawienie

Właściwość KeyPreview ma następujące ustawienia.

Ustawienie	Opis	Visual Basic
Tak	Najpierw zdarzenia klawiatury otrzymuje formularz, a dopiero potem otrzymuje je aktywny formant.	True (–1)
Nie	(Ustawienie domyślne) Tylko aktywny formant otrzymuje zdarzenia klawiatury.	False (0)
Właściwość KeyPreview można ustawiać w arkuszu właściwości, w makrze lub za pomocą języka Visual Basic.

Właściwość KeyPreview można ustawiać w dowolnym widoku.

Uwagi

Właściwość KeyPreview można użyć do utworzenia dla formularza procedury obsługi klawiatury. Na przykład, gdy aplikacja wykorzystuje klawisze funkcyjne, ustawienie właściwości KeyPreview na wartość True umożliwia przetwarzanie naciśnięć klawiszy na poziomie formularzy zamiast pisania procedur dla każdego formantu, który może przyjmować zdarzenia klawiatury.

Aby obsługiwać zdarzenia klawiatury tylko na poziomie formularza i uniemożliwić otrzymywanie przez formanty zdarzeń klawiatury, należy w procedurze zdarzenia KeyPress ustawić argument KeyAscii na wartość 0, a w procedurach zdarzeń KeyDown i KeyUp ustawić argument KeyCode na wartość  0.

Jeśli formularz nie ma widocznych lub dostępnych formantów, to automatycznie otrzymuje wszystkie zdarzenia klawiatury.


KeyPreview, właściwość - przykład
KeyPreview, właściwość – przykład

W poniższym przykładzie właściwość KeyPreview została ustawiona na wartość True (–1) w procedurze zdarzenia Load. Dzięki temu formularz będzie otrzymywał zdarzenia klawiatury zanim zostaną one otrzymane przez jakikolwiek formant. Zdarzenie KeyDown formularza sprawdza następnie wartość argumentu KeyCode, aby określić, czy został naciśnięty klawisz F2, F3 lub F4.

Private Sub Form_Load()

Me.KeyPreview = True

End Sub

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

Select Case KeyCode

Case vbKeyF2

' Process F2 key events.

Case vbKeyF3

' Process F3 key events.

Case vbKeyF4

' Process F4 key events.

Case Else

End Select

End Sub


ShortcutMenuBar, właściwość

Właściwość ShortcutMenuBar (PasekMenuPodręcznego) służy do określenia menu podręcznego, które będzie się pojawiać po kliknięciu prawym przyciskiem myszy formularza, raportu lub formantu na formularzu. Menu podręczne tworzy się wskazując polecenie Paski narzędzi w menu Widok, a następnie klikając polecenie Dostosuj. Dodatkowe informacje na temat tworzenia niestandardowych pasków narzędzi można znaleźć w paragrafie Tworzenie niestandardowego menu podręcznego dla bieżącej bazy danych.

Uwaga   Właściwość ShortcutMenuBar dotyczy tylko formantów formularza, a nie raportu.

Właściwość ShortcutMenuBar może być także używana do określania makra paska menu, które będzie używane do wyświetlania menu podręcznego dla arkusza danych, formularza, formantu formularza lub raportu.

Uwaga   W poprzednich wersjach programu Microsoft Access niestandardowe menu podręczne było tworzone przez ustawienie właściwości ShortcutMenuBar na nazwę makra paska menu. Następnie tworzona była grupa makr zawierająca polecenia tego menu. Ten sposób tworzenia menu jest nadal obsługiwany w programie Microsoft Access 97. Przy tworzeniu niestandardowego menu podręcznego zaleca się jednak korzystanie z nowego okna dialogowego  Dostosuj, dostępnego przez wskazanie polecenia Paski narzędzi w menu Widok, a następnie kliknięcie przycisku Dostosuj.

Ustawienie

Należy wprowadzić nazwę menu podręcznego, które ma być wyświetlane. Menu podręcznym może być dowolny pasek poleceń, którego właściwość Typ jest ustawiona na wartość "Podręczny". Jeśli ustawienie właściwości ShortcutMenuBar pozostanie puste, program Microsoft Access wyświetla wbudowane (domyślne) menu podręczne lub globalne menu podręczne aplikacji. Jeśli właściwość ShortcutMenuBar zostanie ustawiona na wartość, która nie jest nazwą istniejącego menu podręcznego ani makra paska menu, formularz, formant formularza lub raport nie będzie miał menu podręcznego (domyślne menu podręczne nie będzie wyświetlane).

Właściwość tę można ustawiać w arkuszu właściwości obiektu,  w makrze lub za pomocą języka Visual Basic.

W języku Visual Basic właściwość tę ustawia się używając wyrażenia typu ciąg znaków będącego nazwą menu podręcznego, które ma być wyświetlane.

Aby wyświetlać wbudowane menu podręczne dla bazy danych, formularza, formantu formularza lub raportu za pomocą makra lub języka Visual Basic, należy ustawić tę właściwość na ciąg znaków zerowej długości (" ").

Uwagi

Aby utworzyć niestandardowe menu podręczne, należy najpierw utworzyć pasek narzędzi zawierający wszystkie polecenia, które mają być wyświetlane w tym menu. Następnie należy otworzyć okno dialogowe Właściwości paska narzędzi przez zaznaczenie paska narzędzi w oknie dialogowym Dostosuj i kliknięcie przycisku Właściwości. W oknie dialogowym Właściwości paska narzędzi należy ustawić właściwość Typ na wartość "Podręczny". Ten pasek narzędzi będzie wtedy dostępny w polu właściwości ShortcutMenuBar na arkuszu właściwości formularza, formantu formularza lub raportu.

Gdy właściwość  ShortcutMenuBar używana jest z obiektem Application, pozwala ona wyświetlać niestandardowe menu podręczne jako globalne menu podręczne. Jeśli jednak właściwość ShortcutMenuBar została ustawiona dla formularza, formantu formularza lub raportu w bazie danych, wyświetlane będzie niestandardowe menu podręczne tego obiektu zamiast globalnego menu podręcznego bazy danych. Dla określonego formularza, formantu formularza lub raportu można wyświetlać inne niestandardowe menu podręczne ustawiając jego właściwość ShortcutMenuBar na inne menu podręczne. Gdy formularz, formant formularza lub raport ma fokus, po kliknięciu prawym przyciskiem myszy wyświetlane będzie niestandardowe menu podręczne tego obiektu. W przeciwnym wypadku wyświetlane będzie globalne menu podręczne bazy danych.

Menu podręczne nie są dostępne dla żadnych obiektów, jeśli właściwość AllowShortcutMenus jest ustawiona na wartość False (0).


WhatsThisButton, właściwość

Właściwość WhatsThisButton (PrzyciskCoToJest?) służy do określania, czy przycisk Co to jest  [image]  jest dodawany do paska tytułu formularza.

Uwaga   Przycisk Co to jest można wyświetlać na pasku tytułowym formularza pod warunkiem, że właściwość MinMaxButtons (PrzyciskiMinMax) nie jest ustawiona na wartość "Żaden".

Ustawienia

Właściwość WhatsThisButton ma następujące ustawienia.

Ustawienie	Opis	Visual Basic
Tak	Przycisk Co to jest jest wyświetlany na pasku tytułowym.	True (–1)
Nie	(Ustawienie domyślne) Przycisk Co to jest nie jest wyświetlany na pasku tytułowym.	False (0)
Właściwość WhatsThisButton można ustawiać w arkuszu właściwości, w makrze lub za pomocą języka Visual Basic.

Właściwość tę można ustawić tylko w widoku "Projekt" formularza.

Uwagi

Kliknięcie przycisku Co to jest na pasku tytułowym formularza sprawia, że pojawia się wskaźnik myszy w postaci znaku zapytania. Za pomocą tego wskaźnika można kliknąć dowolny formant, aby dotrzeć do jego niestandardowego tematu Pomocy określonego przez właściwość HelpContextID (IDKontekstuPomocy). Jeśli dany formant nie ma własnego tematu Pomocy, wyświetlany jest niestandardowy temat Pomocy formularza. Jeśli ani formant ani formularz nie mają niestandardowego tematu Pomocy, wyświetlane jest okno Pomocy programu Microsoft Access.


ControlTipText, właściwość

Właściwość ControlTipText (TekstEtykietkiFormantu) służy do określania tekstu, który pojawia się na ekranie jako etykietka, gdy wskaźnik myszy zostanie umieszczony na formancie.

Ustawienia

Właściwość ControlTipText ustawia się używając wyrażenia typu ciąg znaków o długości do 255 znaków.

Właściwość ControlTipText można ustawiać w arkuszu właściwości formantu, w makrze lub za pomocą języka Visual Basic.

Dla formantów na formularzach można ustawiać wartość domyślną tej właściwości używając domyślnego stylu formantu lub metody DefaultControl w języku Visual Basic.

Właściwość ControlTipText  można ustawiać w dowolnym widoku.

Uwagi

Właściwość ControlTipText pozwala w prosty sposób udostępnić pomocne informacje dotyczące formantów na formularzu.

Istnieją też inne sposoby udostępnienia informacji dotyczących formularza lub formantu na formularzu. Właściwość StatusBarText (TekstPaskaStanu) można użyć do wyświetlenia na pasku stanu informacji na temat formantu. Aby zapewnić obszerniejszą Pomoc dotyczącą formantu lub formularza, należy użyć właściwości HelpFile (PlikPomocy) i HelpContextID (IDKontekstuPomocy).


Właściwości bazy danych

Właściwości obiektu Database pozwalają uzyskać dodatkowe informacje na temat bazy danych. Aby obejrzeć właściwości obiektu Database, należy kliknąć polecenie Właściwości bazy danych w menu Plik.

Ustawienie

Właściwości te można ustawiać wprowadzając informacje na kartach Podsumowanie lub Niestandardowe w oknie dialogowym Właściwości NazwaBazyDanych lub używając języka Visual Basic.

Jeśli właściwość obiektu Database nie została jeszcze ustawiona w oknie dialogowym Właściwości NazwaBazyDanych, w języku Visual Basic należy najpierw utworzyć daną właściwość stosując metodę CreateProperty i dołączyć ją do kolekcji Properties obiektu Document. Za pomocą języka Visual Basic można ustawiać właściwości wyświetlane na karcie Podsumowanie używając obiektu SummaryInfo Document w kolekcji Documents. Na karcie Niestandardowe właściwości ustawia się używając obiektu UserDefined Document w kolekcji Documents. Przed dodaniem niestandardowej właściwości obiektu Database do bazy danych należy podać przewidzianą dla niej nazwę, typ danych i wartość domyślną. Aby uzyskać dodatkowe informacje, należy kliknąć hasło Szczegóły tematu poświęconego kolekcji Documents.

Uwaga   Można wprowadzać lub edytować tylko te właściwości, które są wyświetlane na kartach Podsumowanie lub Niestandardowe. Inne właściwości obiektu Database są tylko do odczytu.

Uwagi

Właściwości obiektu Database są wyświetlane w oknie dialogowym Właściwości NazwaBazyDanych na następujących kartach.

Karta	Opis
Ogólne	Są to informacje, które wyświetla się klikając nazwę pliku prawym przyciskiem myszy w oknie Eksploratora Windows i wybierając polecenie Właściwości. Jedyna różnica polega na tym, że ustawienia atrybutów oglądane w programie Microsoft Access są tylko do odczytu.
Podsumowanie	Informacje wprowadzane na tej karcie są dodawane do obiektu SummaryInfo Document w kolekcji Documents. Informacje te są podobne do informacji podsumowania, które można podawać w innych aplikacjach Microsoft Office. Podsumowanie pozwala użytkownikowi lepiej zidentyfikować bazę danych z poziomu programu Microsoft Access oraz z innych programów, jak na przykład programu Find Files systemu Windows. Ustawienie właściwości Baza hiperłączy na karcie Podsumowanie używane jest do tworzenia ścieżki hiperłącza, która jest dodawana do początku względnych ustawień właściwości HyperlinkAddress (AdresHiperłącza).
Statystyka	Wśród tych informacji znajdują się takie dane, jak data i godzina utworzenia aktywnej bazy danych, data i godzina ostatniej modyfikacji, otwarcia i drukowania.
Zawartość	Znajdują się tu nazwy obiektów zawartych w bazie danych.
Niestandardowe	Wprowadzone tu niestandardowe właściwości stają się właściwościami obiektu UserDefined Document w kolekcji Documents.


Właściwości bazy danych - przykład
Właściwości bazy danych – przykład

W poniższym przykładzie można ustawiać lub tworzyć niestandardowe, definiowane przez użytkownika właściwości, które znajdą się na karcie Niestandardowe okna dialogowego Właściwości NazwaBazyDanych. Można na przykład wywołać funkcję SetCustomProperty, aby dodać nową właściwość o nazwie LastUserName do obiektu UserDefined Document w bazie danych. Do funkcji SetCustomProperty przekazywane są argumenty potrzebne do wykonania metody CreateProperty.

Dim strName As String, strValue As String

' Set property name variable.

strName = "LastUserName"

' Set property value variable.

strValue = InputBox("Please enter your full name")

If SetCustomProperty(strName, dbText, strValue) <> True Then

' Error occurred trying to set property.

MsgBox "Error occurred trying to set property."

End If

Function SetCustomProperty(strPropName As String, intPropType _

As Integer, strPropValue As String) As Integer

Dim dbs As Database, cnt As Container

Dim doc As Document, prp As Property

Const conPropertyNotFound = 3270	' Property not found error.

Set dbs = CurrentDb	' Define Database object.

Set cnt = dbs.Containers!Databases	' Define Container object.

Set doc = cnt.Documents!UserDefined	' Define Document object.

On Error GoTo SetCustom_Err

doc.Properties.Refresh

' Set custom property name. If error occurs here it means

' property doesn't exist and needs to be created and appended

' to Properties collection of Document object.

Set prp = doc.Properties(strPropName)

prp = strPropValue	' Set custom property value.

SetCustomProperty = True

SetCustom_Bye:

Exit Function

SetCustom_Err:

If Err = conPropertyNotFound Then

Set prp = doc.CreateProperty(strPropName, intPropType, strPropValue)

doc.Properties.Append prp	' Append to collection.

Resume Next

Else	' Unknown error.

SetCustomProperty = False

Resume SetCustom_Bye

End If

End Function

W kolejnym przykładzie zostało przedstawione, jak wyświetlić informacje z karty Podsumowanie okna dialogowego Właściwości NazwaBazyDanych. Dane, takie jak tytuł aplikacji, temat i autor są wyświetlane w polach tekstowych na formularzu. W tym przykładzie, jeśli dana właściwość nie została jeszcze ustawiona, z procedury zwracana jest wartość "None" (Brak). Jeśli wystąpi nieznany błąd, to zwracany jest ciąg znaków zerowej długości (" ").

Private Sub Form_Open(Cancel As Integer)

Dim strTitle As String, strSubject As String, strAuthor As String

strTitle = "Title"

strSubject = "Subject"

strAuthor = "Author"

Me!txtTitle = GetSummaryInfo(strTitle)

Me!txtSubject = GetSummaryInfo(strSubject)

Me!txtAuthor = GetSummaryInfo(strAuthor)

End Sub

Function GetSummaryInfo(strPropName As String) As String

Dim dbs As Database, cnt As Container

Dim doc As Document, prp As Property

' Property not found error.

Const conPropertyNotFound = 3270

On Error GoTo GetSummary_Err

Set dbs = CurrentDb

Set cnt = dbs.Containers!Databases

Set doc = cnt.Documents!SummaryInfo

doc.Properties.Refresh

GetSummaryInfo = doc.Properties(strPropName)

GetSummary_Bye:

Exit Function

GetSummary_Err:

If Err = conPropertyNotFound Then

Set prp = doc.CreateProperty(strPropName, dbText, "None")

' Append to collection.

doc.Properties.Append prp

Resume

Else

' Unknown error.

GetSummaryInfo = ""

Resume GetSummary_Bye

End If

End Function


Właściwości obiektu

Właściwości obiektów dostarczają ogólnych informacji dotyczących obiektów znajdujących się w oknie bazy danych.

Ustawienia

Właściwości obiektów można przeglądać, a właściwości Opis lub Atrybuty ustawiać w następujący sposób:

•	Kliknąć obiekt w oknie bazy danych, a następnie kliknąć przycisk Właściwości  [image]  na pasku narzędzi Baza danych.

•	Kliknąć obiekt w oknie bazy danych, a następnie kliknąć polecenie Właściwości  w menu Widok.

•	Prawym przyciskiem myszy kliknąć obiekt w oknie bazy danych, a następnie kliknąć polecenie Właściwości w menu podręcznym.

Można także określać lub sprawdzać właściwości obiektów używając języka Visual Basic.

Uwaga   Wprowadzanie informacji i ich edycja są możliwe tylko dla właściwości Opis oraz Atrybuty. Pozostałe właściwości obiektów są ustawiane przez program Microsoft Access i są tylko do odczytu.

Uwagi

Obiekty w oknie bazy danych to: tabele, kwerendy, formularze, raporty, makra i moduły. Każda klasa obiektów w bazie danych jest reprezentowana przez oddzielny obiekt Document w kolekcji Containers. Na przykład, kolekcja Containers zawiera obiekt Document reprezentujący wszystkie formularze bazy danych.

W oknie bazy danych dostępne są następujące właściwości obiektów:

Właściwość	Opis
Nazwa	Jest to nazwa obiektu i zawiera ustawienie z właściwości Name (Nazwa). tego obiektu
Typ	Jest to typ obiektu. W programie Microsoft Access istnieją następujące typy obiektów: Formularz, Makro, Moduł, Kwerenda, Raport i Tabela.
Opis	Jest to opis obiektu identyczny z ustawieniem jego właściwości Description (Opis). W przypadku tabel i kwerend można ustawić właściwość Description obiektu w jego arkuszu właściwości. Opis obiektu pojawia się także obok jego nazwy w oknie bazy danych, jeśli w menu Widok zostanie kliknięte polecenie Szczegóły.
Utworzono	Jest to data utworzenia obiektu. W przypadku tabel i kwerend właściwość ta jest identyczna z właściwością DateCreated.
Zmodyfikowano	Jest to data ostatniej modyfikacji obiektu. W przypadku tabel i kwerend właściwość ta jest identyczna z właściwością LastUpdated.
Właściciel	Jest to właściciel obiektu. Dalsze informacje na ten temat można znaleźć w opisie właściwości Owner.
Atrybuty	Właściwość ta określa, czy obiekt jest ukryty czy widoczny oraz czy można go replikować w replice bazy danych. Jeśli atrybut ukryty zostanie ustawiony na wartość True (przez zaznaczenie pola wyboru Ukryty), obiekt nie będzie wyświetlany w oknie bazy danych. Aby wyświetlać obiekty ukryte w oknie bazy danych, należy kliknąć polecenie Opcje z menu Narzędzia, kliknąć kartę Widok, a następnie zaznaczyć pole wyboru Obiekty ukryte. Ikony obiektów ukrytych będą wyświetlane w oknie bazy danych z przyciemnionymi konturami. Potem można wyłączyć atrybut "Ukryty", dzięki czemu dany obiekt stanie się widoczny w oknie bazy danych.


Właściwości obiektu - przykład
Właściwości obiektu – przykład

W poniższym przykładzie została użyta procedura PrintObjectProperties do wydrukowania w oknie analizy programu wartości właściwości pewnego obiektu. Procedura ta wymaga jako argumentów typu i nazwy obiektu.

Dim strObjectType As String

Dim strObjectName As String

Dim strMsg As String

strMsg = "Enter object type (e.g., Forms, Scripts, " _

& "Modules, Reports, Tables)."

' Get object type.

strObjectType = InputBox(strMsg)

strMsg = "Enter the name of a form, macro, module, " _

& "query, report, or table."

' Get object name from user.

strObjectName = InputBox(strMsg)

' Pass object type and object name to

' PrintObjectProperties subroutine.

PrintObjectProperties strObjectType, strObjectName

Sub PrintObjectProperties(strObjectType As String, strObjectName _

As String)

Dim dbs As Database, ctr As Container, doc As Document

Dim intI As Integer

Dim strTabChar As String

Dim prp As Property

Set dbs = CurrentDb

strTabChar = vbTab

' Set Container object variable.

Set ctr = dbs.Containers(strObjectType)

' Set Document object variable.

Set doc = ctr.Documents(strObjectName)

doc.Properties.Refresh

' Print the object name to Debug window.

Debug.Print doc.Name

' Print each Object property to Debug window.

For Each prp in doc.Properties

Debug.Print strTabChar & prp.Name & " = " & prp.Value

Next

End Sub


SelHeight, SelWidth, właściwości

Właściwości SelHeight można użyć do określenia liczby zaznaczonych wierszy (rekordów) w bieżącym prostokącie wyboru w arkuszu danych tabeli, kwerendy lub formularza albo liczby wybranych rekordów w formularzu ciągłym. Właściwości SelWidth można użyć do określenia liczby zaznaczonych kolumn (pól) w bieżącym prostokącie wyboru. Na przykład, jeśli została zaznaczona grupa wierszy i kolumn w widoku "Arkusz danych" tabeli "Customers", można użyć właściwości SelHeight i SelWidth do określenia liczby wierszy i kolumn w prostokącie wyboru.

Ustawienia

•	Właściwość SelHeight. Wartość typu Liczba całkowita długa z zakresu od 0 do całkowitej liczby kolumn w arkuszu danych lub w formularzu ciągłym. Ustawienie tej właściwości określa lub zwraca liczbę zaznaczonych wierszy w prostokącie wyboru lub liczbę zaznaczonych rekordów w formularzu ciągłym.

•	Właściwość SelWidth. Wartość typu  Liczba całkowita długa z zakresu od 0 do całkowitej liczby kolumn w arkuszu danych. Ustawienie tej właściwości określa lub zwraca liczbę zaznaczonych kolumn w prostokącie wyboru.

Właściwości te nie są dostępne w widoku "Projekt". Właściwości te są dostępne tylko przy użyciu makra lub języka Visual Basic.

Uwagi

Jeśli nie ma żadnego zaznaczenia, wartość zwracana przez te właściwości będzie równa zeru. Ustawienie którejś z tych właściwości na wartość 0 usuwa zaznaczenie z arkusza danych lub formularza.

Jeśli zaznaczony został jeden lub więcej rekordów w arkuszu danych (przy użyciu selektorów rekordów), nie jest możliwa zmiana ustawienia właściwości SelWidth (chyba że jest ona ustawiona na wartość 0). Jeśli zaznaczona została jedna lub kilka kolumn (przy użyciu nagłówków kolumn), to nie jest możliwa zmiana ustawienia właściwości SelHeight (chyba że jest ona ustawiona na wartość 0).

Można użyć tych właściwości z właściwościami SelTop i SelLeft do określenia bieżącego położenia prostokąta wyboru w arkuszu danych. Jeśli nic nie jest zaznaczone, właściwości SelTop i SelLeft zwracają numer wiersza i kolumny komórki z fokusem.

Właściwości SelHeight i SelWidth zawierają położenie prawego dolnego rogu prostokąta wyboru. Wartości właściwości SelTop i SelLeft określają położenie lewego górnego rogu prostokąta wyboru.


SelHeight, SelWidth, SelTop, i SelLeft, właściwości - przykład
SelHeight, SelWidth, SelTop i SelLeft, właściwości – przykład

W poniższym przykładzie zostało pokazane, jak użyć właściwości SelHeight, SelWidth SelTop i SelLeft do określenia położenia i rozmiaru prostokąta wyboru w widoku "Arkusz danych". Procedura SetHeightWidth przypisuje wysokość i szerokość bieżącego prostokąta wyboru zmiennym lngNumRows, lngNumColumns, lngTopRow i lngLeftColumn, a następnie wyświetla te wartości w oknie komunikatu.

Sub SetHeightWidth(frm As Form)

Dim lngNumRows As Long, lngNumColumns As Long

Dim lngTopRow As Long, lngLeftColumn As Long

Dim strMsg As String

If frm.CurrentView = 2 Then	' Form is in Datasheet view.

lngNumRows = frm.SelHeight	' Number of rows selected.

lngNumColumns = frm.SelWidth	' Number of columns selected.

lngTopRow = frm.SelTop	' Topmost row selected.

lngLeftColumn = frm.SelLeft	' Leftmost column selected.

strMsg = "Number of rows: " & lngNumRows & vbCrLf

strMsg = strMsg & "Number of columns: " & lngNumColumns & vbCrLf

strMsg = strMsg & "Top row: " & lngTopRow & vbCrLf

strMsg = strMsg & "Left column: " & lngLeftColumn

MsgBox strMsg

End If

End Sub


SelTop, SelLeft, właściwości

Właściwości SelTop można użyć do określenia, który wiersz (rekord) jest położony najwyżej w bieżącym prostokącie wyboru w arkuszu danych tabeli, kwerendy lub formularza albo który zaznaczony rekord jest położony najwyżej w formularzu ciągłym. Właściwości SelLeft można użyć do określenia, która kolumna (pole) jest położona najbardziej z lewej strony w bieżącym prostokącie wyboru. Na przykład, jeśli została zaznaczona grupa wierszy i kolumn w widoku "Arkusz danych" tabeli "Customers", to można użyć właściwości SelTop i SelLeft do określenia pierwszego wiersza i pierwszej kolumny zaznaczonych w prostokącie wyboru.

Ustawienia

•	Właściwość SelTop. Wartość typu Liczba całkowita długa z zakresu od 0 do całkowitej liczby wierszy w  arkuszu danych lub formularzu ciągłym. Ustawienie tej właściwości określa lub zwraca numer najwyżej położonego wiersza w bieżącym prostokącie wyboru lub numer najwyżej położonego zaznaczonego rekordu w formularzu ciągłym.

•	Właściwość SelLeft. Wartość typu  Liczba całkowita długa z zakresu od 0 do liczby kolumn w arkuszu danych. Ustawienie tej właściwości określa lub zwraca numer kolumny znajdującej się najbardziej z lewej strony w bieżącym prostokącie wyboru.

Właściwości te nie są dostępne w widoku "Projekt". Właściwości te są dostępne tylko przy użyciu makra lub w języku Visual Basic.

Uwagi

Jeśli nic nie jest zaznaczone, wartość zwracana przez te właściwości jest numerem wiersza i kolumny komórki z fokusem.

Jeśli zaznaczony został jeden lub więcej rekordów w arkuszu danych (przy użyciu selektorów rekordów), nie jest możliwa zmiana ustawienia właściwości SelLeft. Jeśli zaznaczona została jedna lub kilka kolumn (przy użyciu nagłówków kolumn), nie jest możliwa zmiana ustawienia właściwości SelTop.

Można użyć tych właściwości wraz z właściwościami SelHeight i SelWidth do określenia bieżącej wielkości prostokąta wyboru. Właściwości SelTop i SelLeft określają położenie lewego górnego rogu prostokąta wyboru. Właściwości SelHeight i SelWidth określają położenie prawego dolnego rogu prostokąta wyboru.


CurrentRecord, właściwość

Właściwości CurrentRecord można użyć do zidentyfikowania bieżącego rekordu w zestawie rekordów w aktualnie przeglądanym w formularzu.

Ustawienia

W programie Microsoft Access właściwość ta jest ustawiana na wartość typu Liczba całkowita długa, której wartość reprezentuje numer bieżącego rekordu wyświetlanego w formularzu.

Właściwość CurrentRecord jest tylko do odczytu w widoku "Formularz" i widoku "Arkusz danych". Nie jest ona dostępna w widoku "Projekt". Właściwość ta jest dostępna tylko przy użyciu makra lub w języku Visual Basic.

Uwagi

Wartość określona przez tę właściwość odpowiada wartości wyświetlanej w polu numeru rekordu znajdującym się w lewym dolnym rogu formularza.


CurrentRecord, właściwość - przykład
CurrentRecord, właściwość – przykład

W poniższym przykładzie zostało pokazane, jak użyć właściwości CurrentRecord do określenia numeru aktualnie wyświetlanego rekordu. Procedura globalna CurrentFormRecord przypisuje wartość numeru bieżącego rekordu zmiennej lngrecordnum.

Sub CurrentFormRecord(frm As Form)

Dim lngrecordnum As Long

lngrecordnum = frm.CurrentRecord

End Sub


InsideHeight, InsideWidth, właściwości

Właściwości InsideHeight i InsideWidth można użyć do określenia wysokości i szerokości (w twipach) okna zawierającego formularz.

Ustawienia

•	Właściwość InsideHeight. Wartość typu Liczba całkowita wyrażona w twipach, która reprezentuje wysokość okna formularza.

•	Właściwość InsideWidth. Wartość typu Liczba całkowita wyrażona w twipach, która reprezentuje szerokość okna formularza.

Właściwości InsideHeight i InsideWidth są dostępne tylko przy użyciu makra lub w języku Visual Basic i można je ustawić w dowolnym momencie.

Uwagi

Chcąc określić wewnętrzne wymiary samego formularza, należy użyć właściwości Width (Szerokość) do określenia szerokości formularza oraz sumy wysokości widocznych sekcji formularza do określenia jego wysokości (właściwość Height (Wysokość) stosuje się tylko do sekcji formularza a nie do formularzy). Do wnętrza formularza nie zalicza się pasków przewijania i selektorów rekordów.

Można również użyć właściwości WindowHeight i WindowWidth do określenia wysokości i szerokości okna zawierającego formularz.

Jeśli okno jest maksymalizowane, to ustawienie tych właściwości jest ignorowane, aż do momentu, gdy okno zostanie przywrócone do swojego normalnego rozmiaru.


InsideHeight, InsideWidth, właściwości - przykład
InsideHeight, InsideWidth, właściwości – przykład

W poniższym przykładzie zostało pokazane, jak użyć właściwości InsideHeight i InsideWidth do porównania wewnętrznej wysokości i szerokości formularza z wysokością i szerokością okna formularza. Jeśli wymiary okna nie są równe rozmiarowi formularza, rozmiar okna jest zmieniany tak, aby odpowiadał wysokości i szerokości formularza.

Sub ResetWindowSize(frm As Form)

Dim intWindowHeight As Integer

Dim intWindowWidth As Integer

Dim intTotalFormHeight As Integer

Dim intTotalFormWidth As Integer

Dim intHeightHeader As Integer

Dim intHeightDetail As Integer

Dim intHeightFooter As Integer

' Determine form's height.

intHeightHeader = frm.Section(acHeader).Height

intHeightDetail = frm.Section(acDetail).Height

intHeightFooter = frm.Section(acFooter).Height

intTotalFormHeight = intHeightHeader _

+ intHeightDetail + intHeightFooter

' Determine form's width.

intTotalFormWidth = frm.Width

' Determine window's height and width.

intWindowHeight = frm.InsideHeight

intWindowWidth = frm.InsideWidth

If intWindowWidth <> intTotalFormWidth Then

frm.InsideWidth = intTotalFormWidth

End If

If intWindowHeight <> intTotalFormHeight Then

frm.InsideHeight = intTotalFormHeight

End If

End Sub


NewRecord, właściwość

Właściwości NewRecord można użyć do sprawdzenia, czy bieżący  rekord jest nowym rekordem.

Ustawienia

Właściwość NewRecord ma następujące ustawienia.

Wartość	Opis
True (–1)	Bieżący rekord jest nowy
False (0)	Bieżący rekord nie jest nowy
Właściwość NewRecord jest tylko do odczytu w widoku "Formularz" i widoku "Arkusz danych". Nie jest ona dostępna w widoku "Projekt". Właściwość ta jest dostępna tylko przy użyciu makra lub w języku Visual Basic.

Uwagi

Gdy użytkownik przejdzie do nowego rekordu, wartością właściwości NewRecord będzie True, niezależnie od tego, czy użytkownik zaczął edytować rekord czy nie.


NewRecord, właściwość - przykład
NewRecord, właściwość – przykład

W poniższym przykładzie zostało pokazane, jak użyć właściwości NewRecord do określenia, czy bieżący rekord jest nowym rekordem. Procedura NewRecordMark ustawia bieżący rekord na zmienną intnewrec. Jeśli rekord jest nowy, użytkownik jest informowany o tym poprzez wyświetlaną wiadomość. Procedurę tę można wykonać, gdy dla formularza zachodzi zdarzenie Current.

Sub NewRecordMark(frm As Form)

Dim intnewrec As Integer

intnewrec = frm.NewRecord

If intnewrec = True Then

MsgBox "You're in a new record." _

& "@Do you want to add new data?" _

& "@If not, move to an existing record."

End If

End Sub


StartupForm, właściwość

Właściwości StartupForm można użyć do określenia nazwy formularza, który jest otwierany przy pierwszym otwarciu bazy danych użytkownika. Na przykład, można użyć tej właściwości do wyświetlenia określonego formularza, który zawiera menu wszystkich dostępnych formularzy, kwerend i raportów w aplikacji programu Microsoft Access, gdy otwierana jest baza danych.

Ustawienia

Właściwość StartupForm należy ustawić na wyrażenie typu ciąg znaków będące nazwą formularza w bieżącej bazie danych.

Najprostszym sposobem ustawienia tej właściwości jest użycie opcji Wyświetl formularz w oknie dialogowym Autostart dostępnym przez kliknięcie polecenia Autostart w menu Narzędzia. Właściwość tę można także ustawić używając makra lub języka Visual Basic.

Aby ustawić właściwość StartupForm przy użyciu makra lub języka Visual Basic, należy najpierw albo ustawić tę właściwość w oknie dialogowym Autostart, albo utworzyć właściwość przy użyciu metody CreateProperty i dołączyć ją do kolekcji Properties obiektu Database.

Uwagi

Ustawienie właściwości StartupForm jest preferowane w stosunku do akcji OtwórzFormularz (OpenForm) w makrze AutoExec. Ponieważ program Microsoft Access powoduje wykonanie makra AutoExec po przeanalizowaniu właściwości startowych, w aplikacji użytkownika nie powinna być używana akcja OtwórzFormularz w jej makrze AutoExec, jeśli ustawiona jest właściwość StartupForm.

Jeśli właściwość ta jest pusta, to w programie Microsoft Access używane jest domyślne ustawienie bazy danych (otwierane jest okno bazy danych).

Ustawienie tej właściwości będzie obowiązywać dopiero przy następnym otwarciu aplikacji bazy danych.


Właściwości startowe - przykład
Właściwości startowe – przykład

W poniższym przykładzie została pokazana procedura o nazwie SetStartupProperties przekazująca nazwę właściwości, która ma być ustawiona, jej typ danych i jej żądane ustawienie. Procedura ogólnego przeznaczenia ChangeProperty próbuje ustawić określoną właściwość startową i jeśli właściwość ta nie zostaje odnaleziona, używa metody CreateProperty, aby dołączyć właściwość do kolekcji Properties obiektu Database. Jest to konieczne, ponieważ te właściwości nie pojawiają się w kolekcji Properties, dopóki nie zostaną przynajmniej raz ustawione lub zmienione.

Sub SetStartupProperties()

ChangeProperty "StartupForm", dbText, "Customers"

ChangeProperty "StartupShowDBWindow", dbBoolean, False

ChangeProperty "StartupShowStatusBar", dbBoolean, False

ChangeProperty "AllowBuiltinToolbars", dbBoolean, False

ChangeProperty "AllowFullMenus", dbBoolean, True

ChangeProperty "AllowBreakIntoCode", dbBoolean, False

ChangeProperty "AllowSpecialKeys", dbBoolean, True

ChangeProperty "AllowBypassKey", dbBoolean, True

End Sub

Function ChangeProperty(strPropName As String, varPropType As Variant, varPropValue As Variant) As Integer

Dim dbs As Database, prp As Property

Const conPropNotFoundError = 3270

Set dbs = CurrentDb

On Error GoTo Change_Err

dbs.Properties(strPropName) = varPropValue

ChangeProperty = True

Change_Bye:

Exit Function

Change_Err:

If Err = conPropNotFoundError Then	' Property not found.

Set prp = dbs.CreateProperty(strPropName, _

varPropType, varPropValue)

dbs.Properties.Append prp

Resume Next

Else

' Unknown error.

ChangeProperty = False

Resume Change_Bye

End If

End Function


StartupMenuBar, właściwość

Właściwości StartupMenuBar można użyć, aby określić makro paska menu, które będzie tworzyć globalny pasek menu dla aplikacji. Można na przykład użyć właściwości StartupMenuBar, aby wyświetlić niestandardowy pasek menu, który nie zawiera menu Zabezpieczenia. Uniemożliwia to użytkownikowi dostęp do poleceń menu Zabezpieczenia z paska menu. Można również określić makro paska menu wyświetlające niestandardowy pasek menu, który ma być używany jako globalny pasek menu.

Ustawienia

Właściwość StartupMenuBar jest określona przez wyrażenie typu ciąg znaków, które jest nazwą niestandardowego paska menu lub nazwą makra paska menu w bieżącej bazie danych.

Najprostszym sposobem ustawienia tej właściwości jest użycie opcji Pasek menu w oknie dialogowym Autostart dostępnym przez kliknięcie polecenia Autostart w menu Narzędzia. Właściwość tę można również ustawić przy użyciu makra lub języka Visual Basic.

Aby ustawić właściwość StartupMenuBar przy użyciu makra lub języka Visual Basic, należy najpierw albo po raz pierwszy ustawić tę właściwość w oknie dialogowym Autostart, albo utworzyć właściwość przy użyciu metody CreateProperty i dołączyć ją do kolekcji Properties obiektu Database.

Uwagi

Określając wartość właściwości StartupMenuBar nie należy używać akcji UstawWartość (SetValue) w makrze AutoExec, aby ustawić właściwość MenuBar (PasekMenu) dla obiektu Application. Ponieważ program Microsoft Access wykonuje makro AutoExec po przeanalizowaniu właściwości startujących, globalny pasek menu ustawiony w makrze AutoExec zastąpiłby menu ustawione przez właściwość StartupMenuBar.

Można również utworzyć niestandardowe paski menu używając właściwości MenuBar dla formularzy i raportów. Te niestandardowe paski menu są wyświetlane, gdy określony formularz lub raport zostaje otwarty i zastępują globalny pasek menu w tych przypadkach.

Jeśli właściwość StartupMenuBar nie jest określona (ustawienie domyślne), program Microsoft Access wyświetla wbudowany pasek menu. Jeśli właściwość ta jest ustawiona na nazwę niestandardowego paska menu, to ustawienie właściwości AllowFullMenus nie obowiązuje (wbudowane pełne menu są zastępowane przez globalny pasek menu).

Ustawienie tej właściwości ma takie samo działanie, jak ustawienie właściwości MenuBar obiektu Application (z tym wyjątkiem, że ustawienie właściwości MenuBar obowiązuje natychmiast).

Jeśli zaznaczone jest pole wyboru Używaj specjalnych klawiszy programu Access w oknie dialogowym Autostart lub gdy właściwość AllowSpecialKeys jest ustawiona na wartość True (–1), to użytkownicy nadal mogą przełączać się pomiędzy globalnym paskiem menu i wbudowanym paskiem menu przez naciśnięcie klawiszy CTRL+F11

Ustawienie tej właściwości zaczyna obowiązywać dopiero po następnym otwarciu aplikacji bazy danych.


StartupShortcutMenuBar, właściwość

Właściwości StartupShortcutMenuBar można użyć, aby określić niestandartowe menu podręczne, które będzie globalnym menu podręcznym dla aplikacji. Można również określić makro paska narzędzi wyświetlające niestandartowe menu podręczne, które ma być używane jako globalne menu podręczne.

Ustawienia

Właściwość StartupShortcutMenuBar jest wyrażeniem typu ciąg znaków, które jest nazwą niestandardowego menu podręcznego lub makra paska menu wyświetlającego niestandardowe menu podręczne.

Najprostszym sposobem ustawienia tej właściwości jest użycie opcji Pasek menu podręcznego w oknie dialogowym Autostart dostępnym przez kliknięcie polecenia Autostart w menu Narzędzia. Właściwość ta może zostać ustawiona również przy pomocy makra lub języka Visual Basic.

Aby ustawić właściwość StartupShortcutMenuBar używając makra lub języka Visual Basic, należy najpierw albo po raz pierwszy ustawić tę właściwość w oknie dialogowym Autostart, albo utworzyć właściwość za pomocą metody CreateProperty i dołączyć ją do kolekcji Properties obiektu Database.

Uwagi

Określając wartość właściwości StartupShortcutMenuBar nie należy używać akcji UstawWartość (SetValue) w makrze AutoExec, aby ustawić właściwość ShortcutMenuBar dla obiektu Application. Ponieważ program Microsoft Access wykonuje makro AutoExec po przeanalizowaniu właściwości startowych, globalny pasek menu podręcznego ustawiony w makrze AutoExec zastąpiłby menu podręczne ustawione przez właściwość StartupShortcutMenuBar.

Można również utworzyć niestandardowe paski menu używając właściwości ShortcutMenuBar dla formularzy, raportów i formantów. Te niestandardowe paski menu podręcznego są wyświetlane, gdy klknie się prawym przyciskiem myszy określony formularz, raport lub formant i zastępują one globalne menu podręczne w tych przypadkach.

Jeśli właściwość ta nie jest określona, program Microsoft Access wyświetla wbudowany pasek menu podręcznego.

Ustawienie tej właściwości ma takie same działanie, jak ustawienie właściwości ShortcutMenuBar obiektu Application (z tym wyjątkiem, że ustawienie właściwości ShortcutMenuBar obowiązuje natychmiast).

Wartość tej właściwości nie obowiązuje, dopóki aplikacja bazy danych nie zostanie powtórnie otwarta.


StartupShowDBWindow, właściwość

Właściwości StartupShowDBWindow można użyć, aby określić czy okno bazy danych jest wyświetlane wraz z otwarciem aplikacji bazy danych. Można na przykład otworzyć główny formularz wraz z otwarciem bazy danych i ukryć okno bazy danych.

Ustawienia

Właściwość StartupShowDBWindow ma następujące ustawienia.

Wartość	Opis
True (–1)	Okno bazy danych jest wyświetlane w momencie startu.
False (0)	Okno bazy danych nie jest wyświetlane w momencie startu.
Najprostszym sposobem ustawienia tej właściwości jest użycie opcji Wyświetlaj okno bazy danych w oknie dialogowym Autostart dostępnym przez kliknięcie polecenia Autostart z menu Narzędzia. Właściwość ta może zostać ustawiona również przy pomocy makra lub języka Visual Basic.

Aby ustawić właściwość StartupShowDBWindow używając makra lub języka Visual Basic, należy najpierw albo po raz pierwszy ustawić tę właściwość w oknie dialogowym Autostart, albo utworzyć właściwość za pomocą metody CreateProperty i dołączyć ją do kolekcji Properties obiektu Database.

Uwagi

Właściwości StartupShowDBWindow można nadać wartość False, aby ukryć okno bazy danych tak, że użytkownik nie może widzieć tabel, kwerend, makr ani modułów w obrębie bazy danych..

Gdy jest zaznaczone pole wyboru Używaj specjalnych klawiszy programu Access w oknie dialogowym Autostart lub gdy właściwość AllowSpecialKeys jest ustawiona na wartość True, to użytkownicy nadal mogą wyświetlać okno bazy danych naciskając klawisz F11.

Nawet jeśli wartości obu właściwości StartupShowDBWindow i AllowSpecialKeys są ustawione na wartość False, możliwy jest dostęp użytkownika do okna bazy danych. Może się to zdarzyć w przypadku, gdy użytkownik próbuje więcej niż raz otworzyć tę samą bazę danych z listy najczęściej używanych baz danych, które automatycznie pojawiają się w menu Plik. Aby uniemożliwić użytkownikom dostęp do tej listy, należy zastąpić menu Plik własnym menu niestandardowym.

Wartość tej właściwości nie obowiązuje, dopóki aplikacja bazy danych nie zostanie powtórnie otwarta.


StartupShowStatusBar, właściwość

Właściwości StartupShowStatusBar można użyć, aby określić, czy pasek stanu powinien pojawiać się wraz z otwarciem bazy danych. Można na przykład użyć właściwości StartupShowStatusBar, aby zapobiec wyświetlaniu paska stanu w przypadku, gdy w aplikacji nie mają być wyświetlane żadne komunikaty o stanie.

Ustawienia

Właściwość StartupShowStatusBar ma następujące ustawienia.

Wartość	Opis
True (–1)	Pasek stanu jest wyświetlany w momencie startu.
False (0)	Pasek stanu nie jest wyświetlany w momencie startu.
Najprostszym sposobem ustawienia tej właściwości jest użycie opcji Wyświetlaj pasek stanu w oknie dialogowym Autostart dostępnym przez kliknięcie polecenia Autostart z menu Narzędzia. Właściwość ta może zostać ustawiona również przy pomocy makra lub języka Visual Basic.

Aby ustawić właściwość StartupShowDBWindow za pomocą makra lub języka Visual Basic, należy najpierw albo po raz pierwszy ustawić tę właściwość w oknie dialogowym Autostart, albo utworzyć właściwość za pomocą metody CreateProperty i dołączyć ją do kolekcji Properties obiektu Database.

Uwagi

Ustawienie tej właściwości wpływa na wyświetlanie paska stanu wyłącznie w bieżącej bazy danych. Można również określić, czy pasek stanu ma być domyślnie wyświetlany lub ukryty we wszystkich bazach danych programu Microsoft Access. Aby to zrobić, należy kliknąć polecenie Opcje z menu Narzędzia, kliknąć kartę Widok, a następnie w polu Pokaż zaznaczyć lub wyczyść pole wyboru Pasek stanu. W bieżącej bazie danych nie będzie wyświetlany pasek stanu, jeśli: wyczyszczone jest pole wyboru Pasek stanu w oknie dialogowym Opcje, wyczyszczone jest pole wyboru Wyświetlaj pasek stanu w oknie dialogowym Autostart lub gdy wartość właściwości StartupShowStatusBar jest ustawiona na wartość False.

Wartość tej właściwości nie obowiązuje, dopóki aplikacja bazy danych nie zostanie powtórnie otwarta.


AllowBuiltInToolbars, właściwość

Właściwości AllowBuiltInToolbars można użyć do określenia, czy użytkownik będzie mógł, czy też nie wyświetlić wbudowane paski narzędzi programu Microsoft Access. Na przykład, można użyć właściwości AllowBuiltInToolbars, aby uniemożliwić użytkownikowi wyświetlanie wbudowanych pasków narzędzi programu Microsoft Access w aplikacji bazy danych.

Ustawienia

Właściwość AllowBuiltInToolbars ma następujące ustawienia.

Wartość	Opis
True (–1)	Dozwolone wyświetlanie wbudowanych pasków narzędzi.
False (0)	Niedozwolone wyświetlanie wbudowanych pasków narzędzi.
Najprostszym sposobem ustawienia tej właściwości jest użycie opcji Używaj wbudowanych pasków narzędzi w oknie dialogowym Autostart dostępnym przez kliknięcie polecenia Autostart w menu Narzędzia. Właściwość ta może zostać ustawiona również przy pomocy makra lub języka Visual Basic.

Aby ustawić właściwość AllowBuiltInToolbars za pomocą makra lub języka Visual Basic, należy najpierw albo po raz pierwszy ustawić tę właściwość w oknie dialogowym Autostart, albo utworzyć właściwość za pomocą metody CreateProperty i dołączyć ją do kolekcji Properties obiektu Database.

Uwagi

Możliwe jest wyświetlenie lub ukrycie pasków narzędzi przy użyciu okna dialogowego Dostosuj, dostępnego przez wskazanie polecenia Paski narzędzi z menu Widok i kliknięcie polecenia Dostosuj.

Jeśli zostanie kliknięte polecenie Paski narzędzi z menu Widok, gdy wartość właściwości AllowBuiltInToolbars jest ustawiona na wartość False, program Microsoft Access pokaże tylko niestandardowe paski narzędzi w podmenu Paski narzędzi. Jeśli w tym podmenu zostanie kliknięte polecenie Dostosuj, w oknie dialogowym Dostosuj będą wyświetlane wbudowane paski narzędzi, lecz nie będzie możliwy ich wybór ani dostosowanie.

Użytkownik może zmieniać wbudowane paski narzędzi tylko wtedy, gdy właściwość AllowToolbarChanges jest ustawiona na wartość True oraz właściwość AllowBuiltInToolbars jest ustawiona na wartość True.

Jeśli właściwość AllowBuiltInToolbars jest ustawiona na wartość False, nie jest możliwe użycie akcji PokażPasekNarzędzi (ShowToolbar) do wyświetlenia wbudowanego paska narzędzi.

Wartość tej właściwości nie obowiązuje, dopóki aplikacja bazy danych nie zostanie powtórnie otwarta.


AllowFullMenus, właściwość

Właściwości AllowFullMenus można użyć do określenia, czy pełne wbudowane menu programu Microsoft Access mają być dostępne czy też nie, gdy otwierana jest aplikacja bazy danych. Na przykład, można użyć właściwości AllowFullMenus do wyłączenia pozycji menu, które umożliwiają użytkownikom zmianę struktury tabeli, formularza, kwerendy lub raportu.

Ustawienia

Właściwość AllowFullMenus ma następujące ustawienia.

Wartość	Opis
True (–1)	Dozwolone wyświetlenie pełnych wbudowanych menu w momencie startu.
False (0)	Niedozwolone wyświetlenie pełnych wbudowanych menu w momencie startu.
Najprostszym sposobem ustawienia tej właściwości jest użycie opcji  Używaj pełnych menu programu Access w oknie dialogowym Autostart dostępnym przez kliknięcie polecenia Autostart z menu Narzędzia. Właściwość ta może zostać ustawiona również przy pomocy makra lub języka Visual Basic.

Aby ustawić właściwość AllowFullMenus za pomocą makra lub języka Visual Basic, należy najpierw albo po raz ierwszy ustawić tę właściwość w oknie dialogowym Autostart, albo utworzyć właściwość za pomocą metody CreateProperty i dołączyć ją do kolekcji Properties obiektu Database.

Uwagi

Jeśli wartość tej właściwości jest ustawiona na False, to w bazie danych jest wyświetlany predefiniowany podzbiór pełnych menu wbudowanych. Ten zbiór menu nie zawiera tych menu i poleceń, które umożliwiają użytkownikom zmianę projektu obiektów bazy danych.

Ustawienie wartości tej właściwości na wartość False wyłącza również te przyciski pasków narzędzi, które odpowiadają wyłączonym elementom menu. Nie ma to jednak wpływu na menu podręczne (nadal możliwe jest dokonywanie zmian pewnych funkcji projektu przy pomocy poleceń menu podręcznego). Aby uniemożliwić użytkownikom korzystanie z tych poleceń menu podręcznego, należy właściwość AllowShortcutMenus ustawić na wartość False.

Wartość tej właściwości nie obowiązuje, dopóki aplikacja bazy danych nie zostanie powtórnie otwarta.


AllowToolbarChanges, właściwość

Właściwości AllowToolbarChanges można użyć do określenia, czy użytkownicy aplikacji bazy danych będą mogli dostosowywać paski narzędzi, paski menu i menu podręczne. Na przykład, można użyć właściwości AllowToolbarChanges, aby uniemożliwić użytkownikom usunięcie przycisku z paska narzędzi lub też całego paska narzędzi z aplikacji.

Ustawienia

Właściwość AllowToolbarChanges ma następujące ustawienia.

Wartość	Opis
True (–1)	Dozwolone zmiany pasków narzędzi.
False (0)	Niedozwolone zmiany pasków narzędzi.
Najprostszym sposobem ustawienia tej właściwości jest użycie opcji Pozwalaj na zmiany pasków narzędzi/men w oknie dialogowym Autostart dostępnym przez kliknięcie polecenia Autostart z menu Narzędzia. Właściwość ta może zostać ustawiona również przy pomocy makra lub języka Visual Basic.

Aby ustawić właściwość AllowToolbarChanges za pomocą makra lub języka Visual Basic, należy najpierw albo po raz pierwszy ustawić tę właściwość w oknie dialogowym Autostart, albo utworzyć właściwość za pomocą metody CreateProperty i dołączyć ją do kolekcji Properties obiektu Database.

Uwagi

Ustawienie właściwości AllowToolbarChanges na wartość False uniemożliwia użytkownikom zmianę jakiegokolwiek paska narzędzi, paska menu i menu podręcznego. Takie ustawienie  powoduje wyłączenie podpolecenia Dostosuj polecenia Paski narzędzi z menu Widok i polecenia Dostosuj wyświetlanego przez kliknięcie prawym przyciskiem myszy paska narzędzi lub paska menu.

Jeśli wartość tej właściwości jest ustawiona na wartość False, użytkownik nadal może przesuwać, zmieniać rozmiar i dokować paski narzędzi i paski menu.

Użytkownik może zmieniać wbudowane paski narzędzi tylko wtedy, gdy właściwość AllowToolbarChanges jest ustawiona na wartość True oraz właściwość AllowBuiltToolbars jest ustawiona na wartość True.

Wartość tej właściwości nie obowiązuje, dopóki aplikacja bazy danych nie zostanie powtórnie otwarta.


AllowShortcutMenus, właściwość

Właściwości AllowShortcutMenus można użyć do określenia, czy w programie Microsoft Access będzie możliwe wyświetlenie w aplikacji menu podręcznego. Na przykład, można użyć właściwości AllowShortcutMenus łącznie z właściwością AllowFullMenus w aplikacji, aby uniemożliwić użytkownikowi używanie jakiegokolwiek wbudowanego paska menu, paska narzędzi lub tych poleceń podręcznego menu, które umożliwiają zmianę projektu obiektów bazy danych

Ustawienia

Właściwość AllowShortcutMenus ma następujące ustawienia.

Wartość	Opis
True (–1)	Dozwolone wyświetlanie wbudowanych menu podręcznych programu Microsoft Access.
False (0)	Niedozwolone wyświetlanie wbudowanych menu podręcznych programu Microsoft Access..
Najprostszym sposobem ustawienia tej właściwości jest użycie opcji Używaj domyślnych menu podręcznych w oknie dialogowym Autostart dostępnym przez kliknięcie polecenia Autostart z menu Narzędzia. Właściwość ta może zostać ustawiona również za pomocą makra lub języka Visual Basic.

Aby ustawić właściwość AllowShortcutMenus za pomocą makra lub języka Visual Basic, należy najpierw albo po raz pierwszy ustawić tę właściwość w oknie dialogowym Autostart, albo utworzyć właściwość za pomocą metody CreateProperty i dołączyć ją do kolekcji Properties obiektu Database.

Uwagi

Ustawienie tej właściwości nie wpływa na niestandardowe menu podręczne i na globalne menu podręczne. Można użyć właściwości ShortcutMenuBar do wyświetlenia niestandardowych menu podręcznych dla formularzy, formantów i raportów oraz właściwości StartupShortcutMenuBar lub właściwości ShortcutMenuBar obiektu Application do wyświetlenia globalnego menu podręcznego.

Chcąc wyświetlać w aplikacji wbudowane menu podręczne, a jednocześnie uniemożliwić użytkownikowi dokonywanie w nich zmian, należy właściwość AllowShortcutMenus ustawić na wartość True, a właściwość AllowToolbarChanges na wartość False.

Wartość tej właściwości nie obowiązuje, dopóki aplikacja bazy danych nie zostanie powtórnie otwarta.


AllowBreakIntoCode, właściwość

Właściwości AllowBreakIntoCode można użyć do określenia, czy użytkownik może widzieć kod języka Visual Basic po wystąpieniu błędu wykonania w module.

Ustawienia

Właściwość AllowBreakIntoCode ma następujące ustawienia.

Wartość	Opis
True (–1)	Włącza przycisk Analiza programu pojawiający się w oknie dialogowym po wystąpieniu błędu wykonania.
False (0)	Wyłącza przycisk Analiza programu.
Najprostszym sposobem ustawienia tej właściwości jest użycie opcji Wyświetlaj kod po błędzie w sekcji Zaawansowane okna dialogowego Autostart dostępnego przez kliknięcie polecenia Autostart z menu Narzędzia. Właściwość ta może zostać ustawiona również za pomocą makra lub języka Visual Basic.

Aby ustawić właściwość AllowBreakIntoCode za pomocą makra lub języka Visual Basic, należy najpierw albo po raz pierwszy ustawić tę właściwość w oknie dialogowym Autostart, albo utworzyć właściwość za pomocą metody CreateProperty i dołączyć ją do kolekcji Properties obiektu Database.

Uwagi

Podczas dokonywania analizy aplikacji należy się upewnić, że właściwość AllowBreakIntoCode jest ustawiona na wartość True.

Jeśli wartość właściwości AllowSpecialKeys jest ustawiona na wartość True, nadal możliwe jest zatrzymanie wykonywania kodu języka Visual Basic poprzez naciśnięcie klawiszy CTRL+BREAK, nawet w przypadku gdy wartość właściwości AllowBreakIntoCode jest ustawiona na wartość False.

Wartość tej właściwości nie obowiązuje, dopóki aplikacja bazy danych nie zostanie powtórnie otwarta.


AllowSpecialKeys, właściwość

Właściwości AllowSpecialKeys można użyć do określenia, czy sekwencje klawiszy specjalnych (ALT+F1 (F11), CTRL+F11, CTRL+BREAK i CTRL+G) mają być włączone czy też wyłączone. Na przykład, można użyć właściwości AllowSpecialKeys, aby uniemożliwić użytkownikowi wyświetlenie okna bazy danych przy użyciu klawisza F11, wejście w tryb przerwania w module języka Visual Basic przez naciśnięcie klawiszy CTRL+BREAK lub wyświetlenie okna analizy programu przy użyciu klawiszy CTRL+G.

Ustawienia

Właściwość AllowShortcutMenus ma następujące ustawienia.

Wartość	Opis
True (–1)	Włączone sekwencje klawiszy specjalnych.
False (0)	Wyłączone sekwencje klawiszy specjalnych.
Najprostszym sposobem ustawienia tej właściwości jest użycie opcji Używaj specjalnych klawiszy programu Access w sekcji Zaawansowane okna dialogowego Autostart dostępnego przez kliknięcie polecenia Autostart z menu Narzędzia. Właściwość ta może zostać ustawiona również za pomocą makra lub języka Visual Basic.

Aby ustawić właściwość AllowShortcutMenus za pomocą makra lub języka Visual Basic, należy najpierw albo po raz pierwszy ustawić tę właściwość w oknie dialogowym Autostart, albo utworzyć właściwość za pomocą metody CreateProperty i dołączyć ją do kolekcji Properties obiektu Database.

Uwagi

Podczas dokonywania analizy aplikacji należy upewnić się, że właściwość AllowSpecialKeys jest ustawiona na wartość True.

Właściwość AllowSpecialKeys ma wpływ na następujące sekwencje klawiszy.

Sekwencja klawiszy	Skutek
ALT+F1 (F11)	Umieszczenie okno analizy programu na wierzchu.
CTRL+G	Wyświetlenie okna analizy programu.
CTRL+F11	Przełączanie pomiędzy niestandardowym paskiem menu i wbudowanym paskiem menu.
CTRL+BREAK	Wprowadzenie trybu przerwania i wyświetlenie bieżącego modułu w oknie modułu.
Jeśli właściwość UseSpecialKeys zostanie ustawiona na wartość False i zostanie zdefiniowany pasek menu globalnego za pomocą właściwości StartupMenuBar lub właściwości MenuBar obiektu Application, wbudowany pasek menu nie jest dostępny.

Wartość tej właściwości nie obowiązuje, dopóki aplikacja bazy danych nie zostanie powtórnie otwarta.


AllowBypassKey, właściwość

Właściwości AllowBypassKey można użyć do określenia, czy ma być włączony klawisz SHIFT służący do pomijania właściwości startowych lub makra AutoExec. Na przykład, można ustawić właściwość AllowBypassKey na wartość False, aby uniemożliwić użytkownikowi pomijanie właściwości startowych i makra AutoExec.

Ustawienia

Właściwość AllowBypassKey ma następujące ustawienia.

Wartość	Opis
True (–1)	Włączony klawisz SHIFT umożliwiający użytkownikowi pominięcie właściwości startowych i makra AutoExec.
False (0)	Wyłączony klawisz SHIFT, aby uniemożliwić użytkownikowi pominięcie właściwości startowych i makra AutoExec.
Właściwość tę można ustawić używając makra lub języka Visual Basic.

Aby ustawić właściwość AllowBypassKey za pomocą makra lub języka Visual Basic, należy najpierw albo po raz pierwszy ustawić tę właściwość w oknie dialogowym Autostart, albo utworzyć właściwość za pomocą metody CreateProperty i dołączyć ją do kolekcji Properties obiektu Database.

Uwagi

Podczas dokonywania analizy aplikacji należy się upewnić, że właściwość AllowBypassKey jest ustawiona na wartość True.

Wartość tej właściwości nie obowiązuje, dopóki aplikacja bazy danych nie zostanie powtórnie otwarta.


AppIcon, właściwość

Właściwości AppIcon można użyć do określenia nazwy pliku mapy bitowej (.bmp) lub pliku ikony (.ico), który zawiera ikonę aplikacji. Na przykład, można użyć właściwości AppIcon do określenia pliku .bmp, który zawiera ikonę samochodu do reprezentowania aplikacji bazy danych z częściami motoryzacyjnymi.

Ustawienia

Właściwość AppIcon jest wyrażeniem typu ciąg znaków, będące nazwą pliku mapy bitowej lub pliku ikony (łącznie ze ścieżką).

Najprostszym sposobem ustawienia tej właściwości jest użycie opcji Ikona aplikacji w oknie dialogowym Autostart dostępnym przez kliknięcie polecenia Autostart z menu Narzędzia. Właściwość ta może zostać ustawiona również za pomocą makra lub języka Visual Basic.

Aby ustawić właściwość AppIcon za pomocą makra lub języka Visual Basic, należy najpierw albo po raz pierwszy ustawić tę właściwość w oknie dialogowym Autostart, albo utworzyć właściwość za pomocą metody CreateProperty i dołączyć ją do kolekcji Properties obiektu Database. Konieczne jest także użycie metody RefreshTitleBar, aby wszelkie zmiany stały się natychmiast widoczne.

Uwagi

Zaleca się, aby przy dystrybucji aplikacji plik .bmp lub .ico zawierający ikonę znajdował się w tym samym katalogu, co aplikacja programu Microsoft Access.

Jeśli właściwość AppIcon nie jest ustawiona lub ustawienie jest niepoprawne, to wyświetlana jest ikona programu Microsoft Access.

Ustawienie tej właściwości obowiązuje natychmiast po ustawieniu jej w kodzie (pod warunkiem, że kod zawiera metodę RefreshTitleBar) lub po  zamknięciu okna dialogowego Autostart.


AppIcon, AppTitle, właściwości - przykład
AppIcon, AppTitle, właściwości – przykład

W poniższym przykładzie zostało pokazane, jak zmienić właściwości AppIcon i AppTitle. Jeśli te właściwości nie były jeszcze ustawione lub utworzone, trzeba je utworzyć i dołączyć do obiektu  Database używając metody CreateProperty.

Sub cmdAddProp_Click()

Dim intX As Integer

intX = AddAppProperty("AppTitle", dbText, "My Custom Application")

intX = AddAppProperty("AppIcon", dbText, "C:\Windows\Cars.bmp")

RefreshTitleBar

End Sub

Function AddAppProperty(strName As String, varType As Variant, varValue As Variant) As Integer

Dim dbs As Database, prp As Property

Const conPropNotFoundError = 3270

Set dbs = CurrentDb

On Error GoTo AddProp_Err

dbs.Properties(strName) = varValue

AddAppProperty = True

AddProp_Bye:

Exit Function

AddProp_Err:

If Err = conPropNotFoundError Then

Set prp = dbs.CreateProperty(strName, varType, varValue)

dbs.Properties.Append prp

Resume

Else

AddAppProperty = False

Resume AddProp_Bye

End If

End Function


AppTitle, właściwość

Właściwości AppTitle można użyć do określenia tekstu, który pojawia się na pasku tytułu aplikacji bazy danych . Na przykład, można użyć właściwości AppTitle do określenia ciągu znaków "Nadzór magazynu”, który będzie się pojawiał na pasku tytułu aplikacji bazy danych służącej do zarządzania magazynem.

Ustawienia

Właściwość AppTitle jest wyrażeniem typu ciąg znaków zawierającym tekst, który ma się ukazać na pasku tytułu.

Najprostszym sposobem ustawienia tej właściwości jest użycie opcji Tytuł aplikacji w oknie dialogowym Autostart dostępnym przez kliknięcie polecenia Autostart z menu Narzędzia. Właściwość ta może zostać ustawiona również za pomocą makra lub języka Visual Basic.

Aby ustawić właściwość AppTitle za pomocą makra lub języka Visual Basic, należy najpierw albo po raz pierwszy ustawić tę właściwość w oknie dialogowym Autostart, albo utworzyć właściwość za pomocą metody CreateProperty i dołączyć ją do kolekcji Properties obiektu Database. Konieczne jest także użycie metody RefreshTitleBar, aby wszelkie zmiany stały się natychmiast widoczne.

Uwagi

Jeśli właściwość ta nie jest ustawiona, to na pasku tytułu pojawia się napis "Microsoft Access".

Ustawienie tej właściwości obowiązuje natychmiast po ustawieniu jej w kodzie (pod warunkiem, że kod zawiera metodę RefreshTitleBar) lub po  zamknięciu okna dialogowego Autostart.


DatasheetBackColor, DatasheetForeColor, właściwości

•	Właściwości DatasheetBackColor można użyć w kodzie języka Visual Basic do określenia lub sprawdzenia koloru tła całej tabeli, kwerendy lub formularza w widoku "Arkusz danych".

•	Właściwości DatasheetForeColor można użyć w kodzie języka Visual Basic do określenia lub sprawdzenia koloru całego tekstu w tabeli, kwerendzie lub formularzu w widoku "Arkusz danych".

Ustawienia

Właściwości DatasheetBackColor i DatasheetForeColor są wartościami typu Liczba całkowita długa reprezentującymi odpowiednio ustawienia koloru tła i koloru czcionki arkusza danych.

Można również ustawić te właściwości klikając przycisk Kolor wypełnienia/tła  [image]  lub Kolor czcionki/pierwszoplanowy  [image]  na pasku narzędzi Formatowanie (arkusz danych), a następnie klikając żądany kolor w palecie kolorów.

Można ustawić domyślną wartość właściwości DatasheetBackColor i DatasheetForeColor używając karty Arkusz danych okna dialogowego Opcje dostępnego przez kliknięcie polecenia Opcje w menu Narzędzia.

Uwagi

Ustawienia właściwości DatasheetBackColor i DatasheetForeColor dla tabeli lub kwerendy nie wpływają na te ustawienia właściwości formularza, które używają tej tabeli lub kwerendy jako źródła danych.

W poniższej tabeli zostały wymienione te właściwości, które nie istnieją w kolekcji Properties dla obiektu TableDef lub QueryDef, dopóki nie zostaną one dodane za pomocą metody CreateProperty lub ustawione przy użyciu paska narzędzi Formatowanie (arkusz danych).

DatasheetBackColor	DatasheetFontUnderline*
DatasheetCellsEffect	DatasheetFontWeight*
DatasheetFontHeight*	DatasheetForeColor*
DatasheetFontItalic*	DatasheetGridlinesBehavior
DatasheetFontName*	DatasheetGridlinesColor
Uwaga   Gdy użytkownik dodaje lub ustawia właściwości oznaczone gwiazdką, program Microsoft Access automatycznie dodaje je do kolekcji Properties.


DatasheetBackColor, DatasheetForeColor, właściwości - przykład
DatasheetBackColor, DatasheetForeColor, właściwości – przykład

W poniższym przykładzie używana jest procedura SetTableProperty do ustawienia koloru czcionki tabeli na ciemnoniebieski, a jej koloru tła na szary. Jeśli po ustawieniu danej właściwości pojawia się komunikat o błędzie, że właściwość nie została odnaleziona, używana jest metoda CreateProperty dodająca właściwość do kolekcji Properties obiektu.

Dim dbs As Database, tdfProducts As TableDef

Const lngForeColor As Long = 8388608	' Dark blue.

Const lngBackColor As Long = 12632256	' Light gray.

Set dbs = CurrentDb

Set tdfProducts = dbs!Products

SetTableProperty tdfProducts, "DatasheetBackColor (DatasheetBackColor)", dbLong, lngBackColor

SetTableProperty tdfProducts, "DatasheetForeColor (DatasheetForeColor)", dbLong, lngForeColor

Sub SetTableProperty(tdfTableObj As TableDef, strPropertyName As String, _

intPropertyType As Integer, varPropertyValue As Variant)

Const conErrPropertyNotFound = 3270

Dim prpProperty As Property

On Error Resume Next	' Don't trap errors.

tdfTableObj.Properties(strPropertyName) = varPropertyValue

If Err <> 0 Then	' Error occurred when value set.

If Err <> conErrPropertyNotFound Then

' Error is unknown.

MsgBox "Couldn't set property '" & strPropertyName _

& "' on table '" & tdfTableObj.Name & "'", vbExclamation, Err.Description

Err.Clear

Else

' Error is "Property not found", so add it to collection.

Set prpProperty = tdfTableObj.CreateProperty(strPropertyName, _

intPropertyType, varPropertyValue)

tdfTableObj.Properties.Append prpProperty

Err.Clear

End If

End If

tdfTableObj.Properties.Refresh

End Sub


FailOnError, właściwość

Właściwości FailOnError (ZatrzymajPrzyBłędzie) można użyć do określenia, czy kwerenda aktualizująca lub kwerenda usuwająca wykonywana dla źródła danych ODBC ma być przerwana, jeśli wystąpi błąd. Właściwość FailOnError umożliwia optymalizację dużych kwerend aktualizujących wykonywanych dla źródeł danych ODBC uruchamiając je na serwerze, jeśli działanie aparatu bazy danych Microsoft Jet w warunkach "częściowego" błędu nie jest pożądane.

Uwaga   Właściwość FailOnError dotyczy tylko kwerend aktualizujących i usuwających.

Ustawienia

Dla właściwości FailOnError używane są następujące ustawienia.

Ustawienia	Opis	Visual Basic
Tak	Błąd powoduje przerwanie kwerendy.	True (–1)
Nie	(Ustawienie domyślne) Błąd nie powoduje przerwania kwerendy.	False (0)
Właściwość FailOnError można ustawić w arkuszu właściwości kwerendy lub w kodzie języka Visual Basic. Aby ustawić tę właściwość w kodzie języka Visual Basic, trzeba ją najpierw dodać do kolekcji Properties obiektu QueryDef za pomocą metody CreateProperty.

Uwagi

Gdy właściwość FailOnError jest ustawiona na wartość "Tak", a kwerenda jest wykonywana dla pojedynczej tabeli bazy danych ODBC i nie zawiera wyrażeń, które nie mogą być wyliczone na serwerze, kwerenda zostanie wysłana do serwera i tam wykonana. Jeśli właściwość FailOnError jest ustawiona na "Tak", to gdy podczas usuwania lub aktualizacji wystąpi błąd, wykonywanie kwerendy zostaje przerwane, a tabela zostaje przywrócona do jej pierwotnego stanu. We wszystkich innych przypadkach właściwość FailOnError jest traktowana tak, jakby była ustawiona na wartość "Nie". Gdy właściwość FailOnError jest ustawiona na wartość "Nie" i wystąpi błąd, użytkownik może zaakceptować wyniki kwerendy lub cofnąć wszelkie zmiany.

Jeśli właściwość FailOnError jest ustawiona na wartość "Nie", a kwerenda jest wykonywana dla danych lokalnych, kwerendy aktualizujące i usuwające działają tak, jak w poprzednich wersjach programu Microsoft Access; gdy kwerenda wpływa na wiele wierszy, niektóre wiersze mogą zostać zaktualizowane, a inne – z powodu błędu – nie. Gdy występuje błąd, użytkownik jest powiadamiany o jego przyczynie i liczbie rekordów, na które ten błąd wpływa. Może on wtedy zaakceptować wyniki kwerendy lub cofnąć wszelkie zmiany.

Ustawienie tej właściwości na wartość "Tak" daje taki sam efekt, co użycie stałej wewnętrznej dbFailOnError metody Execute obiektów dostępu do danych (DAO).


HasModule, właściwość

Właściwości HasModule (MaModuł) można użyć do określenia lub sprawdzenia, czy formularz lub raport ma moduł klasy. Ustawienie tej właściwości na wartość "Nie" może zwiększyć wydajność i zmniejszyć rozmiar bazy danych.

Ustawienia

Dla właściwości HasModule używane są następujące ustawienia.

Ustawienia	Opis	Visual Basic
Tak	Formularz lub raport ma moduł klasy.	True (–1)
Nie	(Ustawienie domyślne) Formularz lub raport nie ma modułu klasy.	False (0)
Właściwość HasModule można ustawić w arkuszu właściwości formularza lub raportu, w makrze lub w kodzie języka Visual Basic.

Właściwość HasModule można ustawić tylko w widoku "Projekt" formularza lub widoku "Projekt" raportu, ale można ją odczytać w każdym widoku.

Uwagi

Formularze i raporty mające właściwość HasModule ustawioną na wartość "Nie" są uważane za obiekty proste. Takie obiekty są mniejsze i zazwyczaj są szybciej ładowane i wyświetlane niż obiekty związane z modułami klas. W wielu przypadkach w formularzu lub raporcie nie trzeba używać procedur zdarzeń i moduł klasy nie jest wymagany.

Jeśli aplikacja używa formularza przełączającego na inne formularze, zamiast przycisków poleceń z procedurami zdarzeń, można użyć przycisku polecenia z makrem lub hiperłączem. Na przykład, aby otwierać formularz "Employees" za pomocą przycisku na panelu przełączającym, można ustawić właściwość HyperlinkSubAddress (PodadresHiperłącza) formantu na "Formularz Employees".

Obiekty proste nie pojawiają się w Przeglądarce obiektów i nie można użyć słowa kluczowego New do utworzenia nowej instancji takiego obiektu. Prosty formularz lub raport może być użyty jako podformularz lub podraport i pojawia się w kolekcji Forms lub Reports. Obiekty proste obsługują używanie makr i procedur publicznych istniejących w modułach standardowych, gdy są one wywoływane z arkusza właściwości obiektu.

Program Microsoft Access ustawia właściwość HasModule na wartość True bezpośrednio po próbie obejrzenia przez użytkownika modułu obiektu, nawet jeśli żaden kod nie jest dodany do tego modułu. Na przykład, wybranie polecenia Kod z menu Widok dla formularza w widoku "Projekt" powoduje, że program Microsoft Access dodaje moduł klasy do obiektu Form i ustawia jego właściwość HasModule na wartość True. Moduł klasy można również dodać do obiektu ustawiając na "Tak" właściwość HasModule w arkuszu właściwości obiektu.

Ostrzeżenie   Po ustawieniu właściwości HasModule na wartość "Nie" przy użyciu arkusza właściwości obiektu lub na wartość False za pomocą kodu języka Visual Basic, program Microsoft Access usuwa moduł klasy obiektu i zawarty w nim kod.

Gdy użytkownik korzysta z metody obiektu Module odwołując się do właściwości Module dla formularza lub raportu w widoku "Projekt", program Microsoft Access tworzy moduł związany z formularzem lub raportem i ustawia jego właściwość HasModule na wartość True. Jeśli użytkownik odwoła się do właściwości Module formularza lub raportu w czasie wykonywania, a właściwość HasModule obiektu jest ustawiona na wartość False, wystąpi błąd.

Domyślnie, obiekty utworzone za pomocą funkcji CreateForm lub CreateReport są proste.


Hyperlink, właściwość

Właściwości Hyperlink można użyć, aby zwrócić odwołanie do obiektu hiperłacze. Używając właściwości Hyperlink można uzyskać dostęp do właściwości i metod obiektu Hyperlink związanego z formantem.

Ustawienia

Właściwość Hyperlink jest dostępna tylko w języku Visual Basic.


Hyperlink (Hiperłącze), właściwość - przykład
Hyperlink, właściwość – przykład

W poniższym przykładzie procedura CreateHyperlink ustawia właściwości hiperłącza dla przycisku polecenia, etykiety lub formantu typu obraz na wartości adresów i podadresów przekazywanych do procedury. Ustawienie adresu jest argumentem opcjonalnym, ponieważ hiperłącze z obiektem w bieżącej bazie danych korzysta tylko z ustawienia podadresu. Aby przetestować ten przykład, należy utworzyć formularz z dwoma polami tekstowymi (txtAddress i txtSubAddress) i przyciskiem polecenia (cmdFollowLink), a następnie wkleić poniższy kod do sekcji deklaracji modułu tego formularza:

Private Sub cmdFollowLink_Click()

CreateHyperlink Me!cmdFollowLink, Me!txtSubAddress, Me!txtAddress

End Sub

Sub CreateHyperlink(ctlSelected As Control, strSubAddress As String, Optional strAddress As String)

Dim hlk As Hyperlink

Select Case ctlSelected.ControlType

Case acLabel, acImage, acCommandButton

Set hlk = ctlSelected.Hyperlink

With hlk

If Not IsMissing(strAddress) Then

.Address = strAddress

Else

.Address = ""

End If

.SubAddress = strSubAddress

.Follow

.Address = ""

.SubAddress = ""

End With

Case Else

MsgBox "The control '" & ctlSelected.Name & "' does not support hyperlinks."

End Select

End Sub


HyperlinkAddress, właściwość

Właściwości HyperlinkAddress (AdresHiperłącza) można użyć do określenia lub sprawdzenia ścieżki do obiektu, dokumentu, strony WWW lub innego miejsca docelowego dla przycisku polecenia, formantu typu obraz lub etykiety.

Ustawienia

Właściwość HyperlinkAddress jest wyrażeniem typu ciąg znaków reprezentującym ścieżkę do pliku (ścieżkę UNC) lub stronę WWW (URL).

Właściwość HyperlinkAddress można ustawić w arkuszu właściwości formantu, w makrze lub w kodzie języka Visual Basic.

Do ustawienia tej właściwości można również użyć okna dialogowego Wstaw hiperłącze klikając przycisk Buduj  [image]  po prawej stronie pola właściwości w arkuszu właściwości.

Uwaga   Gdy użytkownik tworzy hiperłącze za pomocą okna dialogowego Wstaw hiperłącze, program Microsoft Access automatycznie ustawia właściwość HyperlinkAddress  na lokalizację określoną w polu Łącze do pliku lub do adresu URL. Właściwość HyperlinkSubAddress (PodadresHiperłącza) jest ustawiana na lokalizację określoną w polu Nazwana lokalizacja w pliku.

Jeśli hiperłącze zostanie skopiowane z innej aplikacji i wklejone do formularza lub raportu, program Microsoft Access tworzy etykietę z jego tytułem i ustawionymi właściwościami HyperlinkAddress oraz HyperlinkSubAddress.

Uwagi

Jeśli użytkownik przesunie kursor po przycisku polecenia, formancie obrazu lub etykiecie, których właściwość HyperlinkAddress jest ustawiona, kształt kursora zmienia się w symbol dłoni wskazującej w górę. Kliknięcie formantu otwiera obiekt lub stronę WWW określoną przez łącze.

Aby otworzyć obiekt w bieżącej bazie danych, należy właściwość HyperlinkAddress pozostawić pustą, a typ i nazwę obiektu, który ma być otwarty, należy określić we właściwości HyperlinkSubAddress, używając składni "typ_obiektu nazwa_obiektu". Chcąc otworzyć obiekt zawarty w innej bazie danych programu Microsoft Access, należy wprowadzić ścieżkę i nazwę pliku bazy danych we właściwości HyperlinkAddress i określić obiekt bazy danych, który ma być otwarty używając właściwości HyperlinkSubAddress.

Właściwość HyperlinkAddress może zawierać bezwzględną lub względną ścieżkę do dokumentu docelowego. Ścieżka bezwględna jest pełną ścieżką URL lub UNC do dokumentu. Ścieżka względna jest ścieżką określoną względem ścieżki do bazy podanej w polu Baza hiperłączy okna dialogowego Właściwości: Nazwa_bazy_danych (dostępnego przez kliknięcie polecenia Właściwości bazy danych w menu Plik) lub względem ścieżki do bieżącej bazy danych. Jeśli program Microsoft Access nie może rozpoznać ustawienia właściwości HyperlinkAddress jako prawidłowej ścieżki URL lub UNC, zakłada, że ścieżka jest określona względem ścieżki do bazy podanej w polu Baza hiperłączy lub względem ścieżki do bieżącej bazy danych.

Uwaga   Gdy hiperłącze zostanie skierowane do obiektu innej bazy danych programu Microsoft Access, stosowane są ustawione właściwości startowe. Na przykład, jeśli docelowa baza danych ma ustawioną opcję "Wyświetl formularz", po otwarciu bazy danych wyświetlany jest określony formularz.

W poniższej tabeli zostały przedstawione przykłady ustawień właściwości HyperlinkAddress i HyperlinkSubAddress.

HyperlinkAddress	HyperlinkSubAddress	Opis
http://www.microsoft.com/		Macierzysta strona Microsoft w sieci WWW.
C:\Program Files\Microsoft Office\Office\Samples\Cajun.htm		Strona "Cajun Delights" w podkataodu aplikacji przykładowych programu Access.
C:\Program Files\Microsoft Office\Office\Samples\Cajun.htm	NewProducts	Znacznik "NewProducts" na stronie "Cajun Delights".
C:\Personal\MyResume.doc	References	Zakładka o nazwie "References" w dokumencie programu Microsoft Word "MyResume.doc".
C:\Finance\First Quarter.xls	Sheet1!TotalSales	Zakres komórek o nazwie "TotalSales" w arkuszu kalkulacyjnym programu Microsoft Excel "First Quarter.xls".
C:\Presentation\NewPlans.ppt	10	Dziesiąty slajd w dokumencie programu Microsoft PowerPoint "NewPlans.ppt".


HyperlinkSubAddress, właściwość

Właściwości HyperlinkSubAddress (PodadresHiperłącza) można użyć do określenia lub sprawdzenia lokalizacji w dokumencie docelowym określonym przez właściwość HyperlinkAddress (AdresHiperłącza). Właściwość HyperlinkSubAddress może określać obiekt bazy danych programu Microsoft Access, zakładkę w dokumencie programu Microsoft Word, nazwany zakres komórek w arkuszu kalkulacyjnym programu Microsoft Excel, slajd należący do prezentacji programu Microsoft PowerPoint lub lokalizację w dokumencie HTML.

Ustawienia

Właściwość HyperlinkSubAddress jest wyrażeniem typu ciąg znaków reprezentującym nazwaną lokalizację w dokumencie docelowym określonym przez właściwość HyperlinkAddress.

Właściwość HyperlinkSubAddress można ustawić w arkuszu właściwości formantu, w makrze lub w kodzie języka Visual Basic.

Do ustawienia tej właściwości można również użyć okna dialogowego Wstaw hiperłącze klikając przycisk Buduj  [image]  po prawej stronie pola właściwości w arkuszu właściwości.

Uwaga   Gdy użytkownik tworzy hiperłącze za pomocą okna dialogowego Wstaw hiperłącze, program Microsoft Access automatycznie ustawia właściwość HyperlinkAddress na lokalizację określoną w polu Łącze do pliku lub do adresu URL. Właściwość HyperlinkSubAddress jest ustawiana na lokalizację określoną w polu Nazwana lokalizacja w pliku.

Uwagi

Jeśli użytkownik przesunie kursor po przycisku polecenia, formancie obrazu lub etykiecie, których właściwość HyperlinkSubAddress jest ustawiona, kształt kursora zmienia się w symbol dłoni wskazującej w górę. Kliknięcie formantu otwiera obiekt lub stronę WWW określoną przez łącze.

Aby otworzyć obiekt w bieżącej bazie danych, należy właściwość HyperlinkAddress pozostawić pustą, a typ i nazwę obiektu, który ma być otwarty, należy określić we właściwości HyperlinkSubAddress, używając składni "typ_obiektu nazwa_obiektu". Na przykład, aby utworzyć hiperłącze dla przycisku polecenia otwierającego formularz "Employees" można ustawić właściwość HyperlinkSubAddress tego formantu na "Formularz Employees". Chcąc otworzyć obiekt zawarty w innej bazie danych programu Microsoft Access, należy wprowadzić ścieżkę i nazwę pliku bazy danych we właściwości HyperlinkAddress i określić obiekt bazy danych, który ma być otwarty używając właściwości HyperlinkSubAddress.

Uwaga   Gdy hiperłącze zostanie skierowane do obiektu innej bazy danych programu Microsoft Access, stosowane są ustawione właściwości startowe. Na przykład, jeśli docelowa baza danych ma ustawioną opcję "Wyświetl formularz", po otwarciu bazy danych wyświetlany jest określony formularz.

W poniższej tabeli zostały przedstawione przykłady ustawień właściwości HyperlinkAddress i HyperlinkSubAddress.

HyperlinkAddress	HyperlinkSubAddress	Opis
http://www.microsoft.com/		Macierzysta strona Microsoft w sieci WWW.
C:\Program Files\Microsoft Office\Office\Samples\Cajun.htm		Strona "Cajun Delights" w podkataodu aplikacji przykładowych programu Access.
C:\Program Files\Microsoft Office\Office\Samples\Cajun.htm	NewProducts	Znacznik "NewProducts" na stronie "Cajun Delights".
C:\Personal\MyResume.doc	References	Zakładka o nazwie "References" w dokumencie programu Microsoft Word "MyResume.doc".
C:\Finance\First Quarter.xls	Sheet1!TotalSales	Zakres komórek o nazwie "TotalSales" w arkuszu kalkulacyjnym programu Microsoft Excel "First Quarter.xls".
C:\Presentation\NewPlans.ppt	10	Dziesiąty slajd w dokumencie programu Microsoft PowerPoint "NewPlans.ppt".


IsVisible, właściwość

Właściwości IsVisible można użyć w kodzie języka Visual Basic do określenia, czy formant raportu jest widoczny.

Ustawienia

Dla właściwości IsVisible używane są następujące ustawienia.

Ustawienie	Opis
True (–1)	(Ustawienie domyślne) Formant jest widoczny.
False (0)	Formant nie jest widoczny.
Właściwość IsVisible można ustawić tylko w zdarzeniu Print sekcji raportu, która zawiera dany formant.

Uwagi

Właściwości IsVisible można użyć razem z właściwością HideDuplicates (UkryjDuplikaty) do sprawdzenia, czy formant raportu jest widoczny i w zależności od tego pokazania lub ukrycia innych formantów. Można na przykład ukryć formant linii, gdy pole tekstowe zawierające wartości powtarzające się jest ukryte.


IsVisible, właściwość - przykład
IsVisible, właściwość – przykład

W poniższym przykładzie używana jest właściwość IsVisible pola tekstowego do sterowania wyświetlaniem formantu linii w raporcie. Raport jest oparty na tabeli "Products" i używa trzech formantów o następujących właściwościach.

Właściwości	Formant linii	Pole tekstowe #1	Pole tekstowe #2
Name (Nazwa)	Line0	CategoryID	ProductName
ControlSource (ŹródłoFormantu)		CategoryID	ProductName
HideDuplicates (UkryjDuplikaty)		Tak	Nie
Left (Lewy)	0	0	2.0
Top (Górny)	0	.1	.1
Width (Szerokość)	4.0	1.0	1.0
Poniższy kod należy wkleić do sekcji deklaracji modułu raportu, a następnie można przejrzeć raport, aby sprawdzić formatowanie linii sterowane przez właściwość IsVisible:

Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)

If Me!CategoryID.IsVisible Then

Me!Line0.Visible = True

Else

Me!Line0.Visible = False

End If

End Sub


MaxRecords, właściwość

Właściwości MaxRecords (MaksymalnaLiczbaRekordów) można użyć do sprawdzenia lub określenia maksymalnej liczby rekordów zwracanych przez kwerendę, która zwraca dane z bazy danych ODBC.

Ustawienia

Ustawieniem właściwości MaxRecords jest wartość typu Liczba całkowita długa reprezentująca liczbę rekordów, która ma być zwracana.

Właściwość tę można ustawić w arkuszu właściwości kwerendy lub w kodzie języka Visual Basic.

Ustawiając tę właściwość w kodzie języka Visual Basic używa się właściwości MaxRecords obiektów dostępu do danych (DAO).

Uwagi

Rekordy są zwracane w kolejności określonej przez klauzulę ORDER BY kwerendy.

Właściwości MaxRecords można używać w sytuacjach, gdy ograniczone zasoby systemu mogą uniemożliwić zwrócenie dużej liczby rekordów.


MDE, właściwość

Właściwości MDE można użyć do sprawdzenia, czy baza danych została zapisana jako plik .mde.

Ustawienia

Gdy baza danych jest zapisywana jako plik .mde, program Microsoft Access dodaje właściwość MDE do bazy danych i ustawia ją na wartość typu Ciąg znaków "T".

Ustawienie właściwości MDE można sprawdzić tylko za pomocą kodu języka Visual Basic. Jest ona we wszystkich widokach tylko do odczytu.

Ważne   Przy próbie sprawdzenia ustawienia właściwości MDE dla bazy danych, która nie jest zapisana jako plik .mde, zostanie wygenerowany błąd wykonania 3270 (właściwość nie znaleziona). Właściwość MDE nie istnieje w bazie danych, dopóki nie zostanie ona zapisana jako plik .mde.

Uwagi

Bazę danych można przekonwertować na plik .mde przez wskazanie polecenia Narzędzia bazy danych w menu Narzędzia i kliknięcie polecenia Utwórz plik MDE. Po zapisaniu bazy danych jako pliku .mde program Microsoft Access usuwa wszelkie możliwe do edytowania fragmenty kodu źródłowego, kompiluje wszystkie moduły i defragmentuje bazę danych. Kod języka Visual Basic w dalszym ciągu działa, ale nie może on być oglądany ani zmieniany. Ponadto nie można dodawać ani zmieniać obiektów formularzy i raportów.

Ostrzeżenie   Należy zachować kopię oryginalnej bazy danych. Chcąc zmienić kod lub projekt obiektów w bazie danych .mde, trzeba to zrobić w oryginalnej bazie danych, a następnie utworzyć z niej nową bazę danych .mde. Oryginalna baza danych będzie również potrzebna do konwersji na przyszłe wersje programu Microsoft Access, ponieważ nie można bezpośrednio konwertować plików .mde.

Zapisanie bazy danych jako pliku .mde jest najbardziej przydatne, gdy jej projektant chce zapobiec wprowadzaniu zmian w formularzach i raportach lub ukryć kod języka Visual Basic przed użytkownikami bazy danych. Bazę danych można również konwertować na plik .mde podczas tworzenia własnych kreatorów lub dla części frontonu aplikacji frontonu/zaplecza.

Zreplikowanej bazy danych nie można zapisać jako pliku .mde; jednak po zapisaniu bazy danych jako pliku .mde może ona być replikowana.


MDE, właściwość - przykład
MDE, właściwość – przykład

W poniższym przykładzie została użyta funkcja IsItMDE do sprawdzenia ustawienia właściwości MDE dla bieżącej bazy danych:

Dim dbs As Database

Set dbs = CurrentDb

If IsItMDE(dbs) <> True Then

' Process custom database code.

End If

Function IsItMDE(dbs as Database) As Boolean

Dim strMDE As String

On Error Resume Next

strMDE = dbs.Properties("MDE")

If Err = 0 AND strMDE = "T" Then

' This is an MDE database.

IsItMDE = True

Else

IsITMDE = False

End if

End Function


MousePointer, właściwość

Właściwości MousePointer można użyć razem z obiektem Screen do określenia lub sprawdzenia aktualnie wyświetlanego typu wskaźnika myszy.

Ustawienia

Ustawienie właściwości MousePointer jest wartością typu Liczba całkowita reprezentującą jeden z poniższych typów wskaźników.

Ustawienie	Opis
0	(Ustawienie domyślne) Kształt jest określony przez program Microsoft Access
1	Kształt normalny (Strzałka)
3	Zaznaczanie tekstu (I)
7	Wymiarowanie pionowe (Płn, Płd)
9	Wymiarowanie poziome (Wsch, Zach)
11	Zajęty (Klepsydra)
Uwaga   Ustawienie właściwości MousePointer na liczbę całkowitą różną od wymienionych powyżej spowoduje ustawienie tej właściwości na wartość 0.

Właściwość MousePointer można ustawić tylko w kodzie języka Visual Basic.

Uwagi

Właściwość MousePointer wpływa na wygląd wskaźnika myszy na całym ekranie. Niektóre formanty niestandardowe mają właściwość MousePointer, która, jeśli jest ustawiona, określa, jaki kształt przybiera wskaźnik myszy przytrzymany nad formantem.

Właściwości MousePointer można użyć do oznaczenia, kiedy aplikacja jest zajęta, ustawiając ją na wartość 11, co spowoduje wyświetlanie klepsydry. Można również odczytać właściwość MousePointer, aby sprawdzić, co jest wyświetlane. Może to być użyteczne, jeśli projektant bazy danych chce uniemożliwić jej użytkownikowi kliknięcie przycisku polecenia, gdy wskaźnik myszy jest wyświetlany w postaci klepsydry.

Ustawienie właściwości MousePointer na wartość 11 daje taki sam efekt, jak przekazanie argumentu True (–1) do metody Hourglass obiektu DoCmd; i odwrotnie – przekazanie argumentu True do metody Hourglass powoduje ustawienie właściwości MousePointer na wartość 11.


MultiRow, właściwość

Właściwości MultiRow (WieleWierszy) można użyć do określenia lub sprawdzenia, czy formant karty może wyświetlać więcej niż jeden wiersz kart.

Ustawienia

Dla właściwości MultiRow używane są następujące ustawienia.

Ustawienia	Opis	Visual Basic
Tak	Wyświetlanie wielu wierszy jest dozwolone.	True (–1)
Nie	(Ustawienie domyślne) Wyświetlanie wielu wierszy nie jest dozwolone.	False (0)
Właściwość MultiRow można ustawić w arkuszu właściwości formantu, w makrze lub w kodzie języka Visual Basic.

Można również ustawić wartość domyślną dla tej właściwości używając domyślnego stylu formantu lub metody DefaultControl w kodzie języka Visual Basic.

Uwagi

Jeśli właściwość MultiRow jest ustawiona na wartość True, liczba wierszy jest określona przez szerokość i liczbę kart. Liczba wierszy może się zmienić, jeśli zostanie zmieniony rozmiar formantu lub jeśli zostaną dodane nowe karty.

Jeśli właściwość MultiRow jest ustawiona na wartość False, a szerokość kart przekracza szerokość formantu, po prawej stronie formantu karty pojawiają się przyciski nawigacyjne. Można ich używać do przewijania przez wszystkie karty formantu.


PageIndex, właściwość

Właściwości PageIndex (IndeksStrony) można użyć do określenia lub sprawdzenia pozycji obiektu Page w kolekcji Pages. Właściwość PageIndex określa kolejność, w jakiej strony pojawiają się na formancie karty.

Ustawienia

Ustawienie właściwości PageIndex jest wartością typu Liczba całkowita z zakresu od 0 do wartości ustawienia właściwości Count kolekcji Pages pomniejszonej o 1.

Właściwość PageIndex można ustawić w arkuszu właściwości obiektu Page, w makrze lub w kodzie języka Visual Basic.

Właściwość PageIndex można ustawić w każdym widoku.

Uwagi

Zmiana wartości właściwości PageIndex zmienia lokalizację obiektu Page w kolekcji Pages i zmienia kolejność stron na formancie karty.

Kolejność obiektów Page w kolekcji Pages można również zmienić za pomocą okna dialogowego Kolejność stron dostępnego przez kliknięcie w widoku "Projekt" formantu karty prawym przyciskiem myszy, a następnie kliknięcie polecenia Kolejność stron.


ProjectName, właściwość

Właściwości ProjectName (NazwaProjektu) można użyć do określenia lub sprawdzenia nazwy obiektu Application programu Microsoft Access.

Ustawienia

Właściwość ProjectName jest wyrażeniem typu ciąg znaków określającym nazwę obiektu Application programu Microsoft Access. Właściwości ProjectName nie można ustawić na nazwę istniejącej klasy obiektów, na przykład, "application" "form" lub "report". Jeśli użytkownik dokona konwersji bazy danych z nazwą taką samą, jak nazwa istniejącej klasy obiektów, program Microsoft Access dołączy do nazwy poziomą kreskę, aby uniknąć konfliktu nazw. Na przykład, jeśli nazwą konwertowanej bazy danych jest "Application" bazie danych zostanie w programie Microsoft Access 97 nadana nazwa projektu "Application_".

Właściwość ProjectName można ustawić na karcie Zaawansowane okna dialogowego Opcje (dostępnego przez kliknięcie polecenia Opcje w menu Narzędzia) lub za pomocą metody SetOption w kodzie języka Visual Basic. Na przykład:

Application.SetOption "Project Name", "MyAccessProject"

Uwagi

Gdy użytkownik tworzy nową bazę danych, program Microsoft Access ustawia właściwość ProjectName na nazwę pliku tej bazy danych bez rozszerzenia ".mdb". Zmiana nazwy pliku bazy danych nie wpływa na istniejące ustawienie właściwości ProjectName.

Po ustawieniu właściwości ProjectName nazwa danego obiektu Application pojawia się w oknie dialogowym Odwołania, dostępnym w oknie modułu przez kliknięcie polecenia Odwołania w menu Narzędzia.

Jeśli użytkownik zmieni ustawienie właściwości ProjectName, projekt przestanie być w stanie skompilowanym. Aby ponownie skompilować projekt, trzeba zamknąć i ponownie otworzyć bazę danych, a następnie kliknąć polecenie Kompiluj i zapisz wszystkie moduły w menu Analiza programu.

Można użyć nazwy projektu z innej aplikacji, takiej jak Microsoft Excel, jako części pełnej nazwy elementu w projekcie programu Microsoft Access, używając składni nazwa_projektu.Application.Forms!nazwa_formularza. Na przykład, aby odwołać się do pola "Nazwisko" na formularzu "Pracownicy" w przykładowej bazie danych "Northwind" z programu Microsoft Excel, należy ustawić odwołanie do bazy danych "Northwind", a następnie użyć następującego odwołania:

Dim strLstName As String

strLastName = Northwind.Application.Forms!Pracownicy!Nazwisko

Odwołanie do bazy danych programu Microsoft Access można utworzyć przez wybranie nazwy projektu (obiektu Application) w oknie dialogowym Odwołania, dostępnym w oknie modułu przez kliknięcie polecenia Odwołania w menu Narzędzia. Po wybraniu nazwy projektu, pojawia się ona również na liście Projekt/Biblioteka w Przeglądarce obiektów.


Style, właściwość

Właściwości Style (Styl) można użyć do określenia lub sprawdzenia wyglądu kart na formancie karty.

Ustawienia

Dla właściwości Style używane są następujące ustawienia.

Ustawienia	Opis	Visual Basic
Karty	(Ustawienie domyślne) Karty pojawiają się jako karty.	acTabs
Przyciski	Karty pojawiają się jako przyciski.	acButtons
Brak	Karty nie pojawiają się w formancie.	acNone
Właściwość Style można ustawić w arkuszu właściwości formantu, w makrze lub w kodzie języka Visual Basic.

Można również ustawić wartość domyślną dla tej właściwości używając domyślnego stylu formantu lub metody DefaultControl w kodzie języka Visual Basic.

Właściwość Style można ustawić w każdym widoku.

Uwagi

Jeśli właściwość Style formantu jest ustawiona na wartość "Karty" lub "Przyciski", wygląd kart jest określony przez właściwości TabFixedHeight (UstalonaWysokośćKarty), TabFixedWidth (UstalonaSzerokośćKarty) i MultiRow (WieleWierszy).

Właściwość Style formantu karty można ustawić na wartość "Brak", aby formant nie zawierał kart. We wcześniejszych wersjach programu Microsoft Access, okna dialogowe kreatorów były tworzone za pomocą formularzy wielostronicowych. W obecnej wersji można użyć formantu karty do utworzenia własnego kreatora z każdą jego stroną umieszczoną na osobnej stronie formantu karty z właściwością Style formantu ustawioną na wartość "Brak".


TabFixedHeight, TabFixedWidth, właściwości

Właściwości TabFixedHeight (UstalonaWysokośćKarty) i TabFixedWidth (UstalonaSzerokośćKarty) można użyć do określenia lub sprawdzenia wysokości i szerokości kart na formancie karty.

Ustawienia

Ustawienia właściwości TabFixedHeight i TabFixedWidth są wartościami, które reprezentują wysokość i szerokość kart w jednostkach miary określonych przez ustawienia w oknie dialogowym Właściwości: Ustawienia regionalne w Panelu sterowania systemu Windows. Jeśli właściwości te zostaną ustawione na wartość zero, karty automatycznie są dopasowywane do wysokości i szerokości zawartości kart.

Właściwości te można ustawić w arkuszu właściwości formantu, w makrze lub w kodzie języka Visual Basic.

Można również ustawić wartość domyślną dla tych właściwości używając domyślnego stylu formantu lub metody DefaultControl w kodzie języka Visual Basic.

W języku Visual Basic właściwości te używają wartości typu Liczba całkowita długa reprezentującej wysokość lub szerokość kart w twipach. Właściwości te można ustawić w dowolnym widoku.

Uwaga   Aby użyć jednostek miary różnych od jednostek ustawionych w oknie dialogowym Właściwości: Ustawienia regionalne w Panelu sterowania systemu Windows, należy określić jednostkę, taką jak np. cm ( np. 5 cm).

Uwagi

Nie można zmienić koloru formantu karty. Jeśli karty nie zapełniają całej szerokości formantu karty, wyświetlany jest obszar za kartami. Jeśli formant karty zostanie umieszczony na obiekcie o innym kolorze niż kolor formantu, należy się upewnić, czy karty pokrywają obszar tła formantu.


Toolbar, właściwość

Właściwości Toolbar (PasekNarzędzi) można użyć do określenia paska narzędzi, który ma być użyty dla formularza lub raportu. Te paski narzędzi można tworzyć za pomocą podpolecenia Dostosuj polecenia Paski narzędzi w menu Widok. Więcej informacji dotyczących tworzenia niestandardowych pasków narzędzi, można znaleźć w temacie Tworzenie niestandardowego paska narzędzi dla bieżącej bazy danych.

Ustawienia

Ustawieniem właściwości Toolbar jest nazwa niestandardowego paska narzędzi, który ma być wyświetlany. Jeśli właściwość Toolbar nie jest ustawiona, program Microsoft Access wyświetla wbudowany (domyślny) pasek narzędzi formularza lub raportu.

Właściwość Toolbar można ustawić w arkuszu właściwości formularza lub raportu, w makrze lub w kodzie języka Visual Basic.

W języku Visual Basic właściwość tę ustawia się używając wyrażenia typu ciąg znaków określającego nazwę paska narzędzi, który ma być wyświetlany.

Aby wyświetlić wbudowany pasek narzędzi dla formularza lub raportu używając makra lub kodu języka Visual Basic, należy ustawić właściwość Toolbarna ciąg znaków zerowej długości ("").

Uwagi

Po ustawieniu właściwości Toolbar program Microsoft Access wyświetla określony niestandardowy pasek narzędzi po otwarciu formularza lub raportu. Ten pasek narzędzi jest wyświetlany, ilekroć formularz lub raport ma fokus.


UseTransaction, właściwość

Właściwości UseTransaction (UżyjTransakcji) można użyć do określenia lub sprawdzenia, czy kwerenda funkcjonalna jest wykonywana jako pojedyncza transakcja. W pewnych sytuacjach ustawienie tej właściwości na wartość "Nie" może spowodować dużo szybsze wykonywanie kwerendy.

Ustawienia

Dla właściwości UseTransaction używane są następujące ustawienia.

Ustawienia	Opis	Visual Basic
Tak	(Ustawienie domyślne) Kwerenda jest wykonywana jako pojedyncza transakcja.	True (–1)
Nie	Kwerenda nie jest wykonywana jako pojedyncza transakcja.	False (0)
Właściwość UseTransaction można ustawić w arkuszu właściwości kwerendy lub w kodzie języka Visual Basic. Aby ustawić tę właściwość w kodzie języka Visual Basic, trzeba ją najpierw dodać do kolekcji Properties obiektu QueryDef. za pomocą metody CreateProperty.

Uwagi

Jeśli kwerenda tworząca tabelę, usuwająca, dołączająca lub aktualizująca ma właściwość UseTransaction ustawioną na wartość "Tak", aparat bazy danych Microsoft Jet przechowuje zwrócone rekordy w pamięci buforowanej i, jeśli to konieczne, przechowuje wyniki kwerendy w tymczasowej bazie danych na dysku. Po zakończeniu kwerendy aparat bazy danych Jet odczytuje rekordy z tymczasowej bazy danych i zapisuje je z powrotem w pierwotnej bazie danych.

Można znacznie przyspieszyć wykonywanie kwerend przez ustawienie, w odpowiednich warunkach, właściwości UseTransaction na wartość "Nie". Gdy właściwość UseTransaction jest ustawiona na wartość "Nie", nigdy nie występują problemy związane ze zbyt dużą liczbą żądań blokowania. Ponadto, aparat bazy danych Jet nie przechowuje wyników kwerendy w tymczasowej bazie danych, co również znacznie zwiększa wydajność.

Jeśli duża liczba rekordów musi być zapisywana w tymczasowej bazie danych, wykonywanie kwerendy jako pojedynczej transakcji wpływa ujemnie na wydajność. Ponadto, podczas wykonywania kwerend usuwających lub aktualizujących w udostępnianej bazie danych, generowana jest duża liczba żądań blokowania. Zmniejsza to wydajność, a w niektórych sieciowych systemach operacyjnych, takich jak Netware, może spowodować przerwanie kwerendy, gdy liczba żądań blokowania przekroczy 10 000.

Jeśli transakcja nie może zostać dokończona, pojawia się komunikat o błędzie i użytkownik ma możliwość zapisania wszelkich zmian.

Jeśli właściwość UseTransaction jest ustawiona na wartość "Nie", jedynym sposobem anulowania całej transakcji jest użycie metody RollBack obiektów dostępu do danych (DAO) w kodzie języka Visual Basic.


Application, właściwość

Właściwości Application można użyć w języku Visual Basic, aby uzyskać dostęp do aktywnego obiektu Application programu Microsoft Access  i związanych z nim właściwości.

Ustawienia

Właściwość Application jest ustawiana przez program Microsoft Access i we wszystkich widokach jest tylko do odczytu.

Uwagi

Każdy obiekt programu Microsoft Access ma właściwość Application, która zwraca bieżący obiekt Application. Właściwości tej można użyć, aby uzyskać dostęp do wszystkich właściwości danego obiektu Application. Można na przykład odwołać się z bieżącego formularza do paska menu obiektu Application używając następującej składni:

Me.Application.MenuBar


Application i DBEngine, właściwości - przykład
Application i DBEngine, właściwości – przykład

W poniższym przykładzie wyświetlane są w oknie komunikatu właściwości obiektu DBEngine.

Private Sub Command1_Click()

DisplayApplicationInfo Me

End Sub

Function DisplayApplicationInfo(obj As Object) As Integer

Dim objApp As Object, intI As Integer, strProps As String

On Error Resume Next

' Form Application property.

Set objApp = obj.Application

MsgBox "Application Visible property = " & objApp.Visible

If objApp.UserControl = True Then

For intI = 0 To objApp.DBEngine.Properties.Count - 1

strProps = strProps & objApp.DBEngine.Properties(intI).Name & ", "

Next intI

End If

MsgBox Left(strProps, Len(strProps) - 2) & ".", vbOK, "DBEngine Properties"

End Function


DBEngine, właściwość

Właściwości DBEngine można użyć w języku Visual Basic, aby uzyskać dostęp do bieżącego obiektu DBEngine i związanych z nim właściwości.

Ustawienia

Właściwość DBEngine jest ustawiana przez program Microsoft Access i we wszystkich widokach jest tylko do odczytu.

Uwagi

Właściwość DBEngine obiektu Application reprezentuje aparat bazy danych Microsoft Jet. Obiekt DBEngine jest obiektem najwyższego poziomu w modelu obiektów dostępu do danych DAO. Zawiera on wszystkie inne obiekty w hierarchii obiektów dostępu do danych i steruje nimi.


UserControl, właściwość

Właściwości UserControl można użyć do określenia, czy bieżąca aplikacja programu Microsoft Access została uruchomiona przez użytkownika, czy przez inną aplikację za pomocą mechanizmu automatyzacji, nazywanej poprzednio automatyzacją OLE.

Ustawienia

Dla właściwości UserControl używane są następujące ustawienia.

Ustawienie	Opis
True (–1)	Bieżąca aplikacja została uruchomiona przez użytkownika.
False (0)	Bieżąca aplikacja została uruchomiona przez inną aplikację za pomocą mechanizmu automatyzacji.
Ustawienie właściwości UserControl można określić tylko za pomocą języka Visual Basic.

Właściwość ta ma we wszystkich widokach jest tylko do odczytu.

Uwagi

Gdy aplikacja jest uruchamiana przez użytkownika, właściwości Visible  i UserControl obiektu Application są ustawiane na wartość True. Gdy właściwość UserControl jest ustawiona na wartość True, nie można ustawić właściwości Visible tego obiektu na wartość False.

Gdy obiekt Application jest tworzony za pomocą mechanizmu automatyzacji, właściwości Visible i UserControl tego obiektu są ustawiane na wartość False.


Visible, właściwość (obiekt Application)

Właściwości Visible obiektu Application można użyć do określenia, czy aplikacja programu Microsoft Access jest zminimalizowana.

Ustawienia

Dla właściwości Visible używane są następujące ustawienia.

Ustawienie	Opis
True (–1)	Aplikacja jest widoczna.
False (0)	Aplikacja nie jest widoczna.
Właściwość Visible obiektu Application można określić tylko za pomocą języka Visual Basic. Można ustawić wartość domyślną dla tej właściwości używając domyślnego stylu formantu lub metody DefaultControl w języku Visual Basic.

Uwagi

Gdy aplikacja jest uruchamiana przez użytkownika, właściwości Visible i UserControl obiektu Application są ustawiane na wartość True. Gdy właściwość UserControl jest ustawiona na wartość True, nie można ustawić właściwości Visible tego obiektu na wartość False.

Gdy obiekt Application jest tworzony za pomocą mechanizmu automatyzacji, (nazywanej poprzednio automatyzacją OLE), właściwości Visible i UserControl tego obiektu są ustawiane na wartość False.

Uwaga   Gdy właściwość Visible obiektu Application jest ustawiona na wartość False, aplikacja jest zminimalizowana, ale nie jest ukryta przed użytkownikiem.


CodeContextObject, właściwość

Właściwości CodeContextObject można użyć, aby określić obiekt, w którym wykonywane jest makro lub kod języka Visual Basic.

Ustawienia

Właściwość CodeContextObject jest ustawiana przez program Microsoft Access i we wszystkich widokach jest tylko do odczytu.

Uwagi

Właściwości ActiveForm i ActiveReport obiektu Screen zawsze zwracają obiekt, który ma aktualnie fokus. Obiekt mający fokus może, ale nie musi być obiektem, w którym aktualnie wykonywane jest makro lub kod języka Visual Basic – na przykład, gdy kod języka Visual Basic uruchamiany jest w zdarzeniu Timer na ukrytym formularzu.


CodeContextObject, właściwość - przykład
CodeContextObject, właściwość – przykład

W poniższym przykładzie właściwość CodeContextObject została użyta w funkcji do zidentyfikowania nazwy obiektu, w którym wystąpił błąd. Nazwa tego obiektu jest następnie używana w tytule okna komunikatu oraz w samym komunikacie o błędzie. Instrukcja Error została użyta w zdarzeniu Command1_Click() do wygenerowania błędu.

Private Sub Command1_Click()

On Error GoTo Command1_Err

Error 11	' Generate divide-by-zero error.

Exit Sub

Command1_Err:

If ErrorMessage("Command1_Click() Event", vbYesNo + _

vbInformation, Err) = vbYes Then

Exit Sub

Else

Resume

End If

End Sub

Function ErrorMessage(strText As String, intType As Integer, _

intErrVal As Integer) As Integer

Dim objCurrent As Object

Dim strMsgboxTitle As String

Set objCurrent = CodeContextObject

strMsgboxTitle = "Error in " & objCurrent.Name

strText = strText & "Error #" & intErrVal _

& " occured in " & objCurrent.Name

ErrorMessage = MsgBox(strText, intType, strMsgboxTitle)

Err = 0

End Function


DisplayType, właściwość

Właściwości DisplayType (TrybWyświetlania) można użyć do określenia, czy w programie Microsoft Access ma być wyświetlana zawartość obiektu OLE czy jego ikona. Na przykład, jeśli obiektem OLE jest dokument programu Microsoft Word, to ustawienie tej właściwości na wartość "Zawartość" powoduje, że formant wyświetla dokument; ustawienie tej właściwości na wartość "Ikona" powoduje, że formant wyświetla ikonę programu Microsoft Word.

Ustawienia

Dla właściwości DisplayType używane są następujące ustawienia.

Ustawienie	Opis	Visual Basic
Zawartość	(Ustawienie domyślne) Gdy formant zawiera obiekt OLE, wyświetlane są dane obiektu, na przykład dokument lub arkusz danych.	AcOLEDisplayContent (0)
Ikona	Gdy formant zawiera obiekt OLE, wyświetlana jest ikona obiektu.	AcOLEDisplayIcon (1)
Właściwość DisplayType można ustawiać w arkuszu właściwości, w makrze lub w kodzie języka Visual Basic. Można również ustawić wartość domyślną dla tej właściwości używając domyślnego stylu formantu lub metody DefaultControl w kodzie języka Visual Basic.

Dla związanej ramki obiektu właściwość DisplayType można ustawić tylko w widoku "Projekt", a w pozostałych widokach można ją odczytać. Dla niezwiązanej ramki obiektu i wykresu właściwość ta może być ustawiona w oknie dialogowym Wstaw obiekt podczas tworzenia obiektu (domyślnym ustawieniem jest "Zawartość" lub, jeśli zostanie zaznaczone pole wyboru Wyświetl jako ikonę, "Ikona").

Uwagi

Właściwość DisplayType określa domyślne ustawienie pola wyboru Wyświetl jako ikonę w oknie dialogowym Wklej specjalnie, dostępnym przez kliknięcie polecenia Wklej specjalnie w menu Edycja, oraz w oknie dialogowym Wstaw obiekt, wyświetlanym podczas wstawiania niezwiązanej ramki obiektu. Gdy te okna dialogowe zostaną wyświetlone w widoku "Formularz", w widoku "Arkusz danych" lub w widoku "Projekt", pole wyboru Wyświetl jako ikonę będzie automatycznie zaznaczone, jeśli właściwość DisplayType jest ustawiona na wartość "Ikona". Na przykład, pole to będzie zaznaczone, jeśli w kodzie języka Visual Basic właściwość Action formantu zostanie ustawiona na wartość acOLEInsertObjDlg lub acOLEPasteSpecialDlg.

Ustawienie właściwości DisplayType nie ma wpływu na stan pola wyboru Wyświetl jako ikonę w oknie dialogowym Obiekt, jeśli obiekt zostanie wstawiony do niezwiązanej ramki obiektu. Jeśli obiekt zostanie wklejony ze Schowka pole wyboru Wyświetl jako ikonę odpowiada stanowi obiektu w Schowku.

Zmiana właściwości DisplayType dla związanej ramki obiektu nie wpływa na sposób wyświetlania obiektów istniejących w formancie. Wpłynie ona tylko na nowe obiekty dodane do formantu za pomocą polecenia Obiekt w menu Wstaw.


SizeMode, właściwość

Właściwości SizeMode (TrybWymiarowania) można użyć do określenia sposobu dopasowania rysunku lub innego obiektu do związanej ramki obiektu, do niezwiązanej ramki obiektu lub do formantu obrazu.

Ustawienia

Dla właściwości SizeMode używane są następujące ustawienia.

Ustawienia	Opis	Visual Basic
Obetnij	(Ustawienie domyślne) Wyświetla obiekt w jego faktycznych rozmiarach. Jeśli obiekt jest większy od formantu, zostanie on obcięty przez prawą i dolną krawędź formantu.	acOLESizeClip (0)
Rozciągnij	Rozmiary obiektu są zmieniane, tak aby w całości mieścił się on w formancie. Ustawienie to może zniekształcić proporcje obiektu.	acOLESizeStretch (1)
Powiększ	Wyświetla cały obiekt zmieniając jego rozmiary bez zniekształcania proporcji. Ustawienie to może pozostawiać puste miejsca w formancie, jeśli rozmiar formantu ulegnie zmianie.	acOLESizeZoom (3)
Właściwość SizeMode można ustawić w arkuszu właściwości, w makrze lub w kodzie języka Visual Basic. Można również ustawić wartość domyślną dla tej właściwości używając domyślnego stylu formantu lub metody DefaultControl w kodzie języka Visual Basic.

Wskazówka   Ustawienie właściwości na wartość "Obetnij" zapewnia najszybsze wyświetlanie. Dla wykresów słupkowych i liniowych ustawienie na wartość "Rozciągnij" zwalnia z konieczności samodzielnego dopasowania ich rozmiarów, ale w wypadku okręgów i fotografii może powodować zniekształcenia.


SourceDoc, właściwość

Właściwości SourceDoc (DokumentŹródłowy) można użyć do określenia pliku, z którym ma być utworzone łącze lub który ma być osadzony, podczas tworzenia obiektu połączonego lub osadzonego za pomocą właściwości Action w kodzie języka Visual Basic.

Ustawienia

Dla obiektu osadzonego należy podać pełną ścieżkę i nazwę pliku, który ma być użyty jako szablon oraz ustawić właściwość Action na wartość acOLECreateEmbed.

Dla obiektu połączonego należy podać pełną ścieżkę i nazwę pliku, z którym ma być utworzone łącze oraz ustawić właściwość Action na wartość acOLECreateLink.

Właściwość tę można ustawiać w arkuszu właściwości, w makrze lub w kodzie języka Visual Basic.

Uwaga   Mimo iż właściwość ta pojawia się w arkuszu właściwości, ma ona znaczenie tylko wówczas, gdy zostanie ustawiona właściwość Action w makrze lub w kodzie języka Visual Basic.

Uwagi

Właściwości SourceDoc można użyć do określenia pliku, z którym ma być utworzone łącze, a właściwości SourceItem (ŹródłoElementu) formantu do określenia danych w tym pliku. Tworząc łącze z całym obiektem, nie należy ustawiać właściwości SourceItem.

Podczas tworzenia niezwiązanego obiektu połączonego ustawienie właściwości SourceItem formantu jest łączone z ustawieniem jego właściwości SourceDoc (DokumentŹródłowy). W widoku "Formularz", widoku "Arkusz danych" i widoku "Podgląd wydruku ustawieniem właściwości SourceItem formantu jest ciąg znaków zerowej długości (" "), a ustawieniem jego właściwości SourceDoc jest pełna ścieżka do połączonego pliku, po której następuje wykrzyknik (!) lub znak odwrotnej kreski ukośnej (\) i ustawienie właściwości SourceItem, jak w poniższym przykładzie:

"C:\Work\Qtr1\Revenue.xls!R1C1:R30C15"


Właściwości obiektów OLE - przykład
Właściwości obiektów OLE – przykład

W poniższym przykładzie zostaje utworzony połączony obiekt OLE za pomocą niezwiązanej ramki obiektu OLE1. Po kliknięciu przez użytkownika przycisku polecenia rozmiar formantu jest zmieniany, tak aby wyświetlana była cała zawartość obiektu.

Sub Command1_Click

OLE1.Class = "Excel.Sheet"	' Set class name.

OLE1.OLETypeAllowed = acOLELinked	' Specify type of object.

OLE1.SourceDoc = "C:\Excel\Oletext.xls"	' Specify source file.

OLE1.SourceItem = "R1C1:R5C5"	' Specify data to create link to.

OLE1.Action = acOLECreateLink	' Create linked object.

OLE1.SizeMode = acOLESizeZoom	' Adjust control size.

End Sub


UpdateOptions, właściwość

Właściwości UpdateOptions (OpcjeAktualizacji) można użyć do określenia sposobu aktualizacji połączonego obiektu OLE.

Ustawienia

Dla właściwości UpdateOptions używane są następujące ustawienia.

Ustawienie	Opis	Visual Basic
Automatyczna	(Ustawienie domyślne) Obiekt jest aktualizowany po każdej zmianie połączonych danych.	acOLEUpdateAutomatic (0)
Ręczna	Obiekt jest aktualizowany tylko wtedy, gdy właściwość Action formantu jest ustawiona na wartość acOLEUpdate lub podczas aktualizacji łącza za pomocą polecenia Łącza OLE/DDE w menu Edycja.	acOLEUpdateManual (2)
Właściwość UpdateOptions można ustawić w arkuszu właściwości, w makrze lub w kodzie języka Visual Basic. Można również ustawić wartość domyślną dla tej właściwości używając domyślnego stylu formantu lub metody DefaultControl w kodzie języka Visual Basic.

Ustawienie właściwości UpdateOptions jest dostępne również poprzez polecenie Łącza OLE/DDE w menu Edycja.

Uwagi

Obiekt jest zazwyczaj aktualizowany automatycznie po każdej zmianie połączonych danych, ale można ustawić program Microsoft Access na aktualizację tylko po otrzymaniu konkretnej instrukcji. Na przykład, jeśli inni użytkownicy lub aplikacje mogą zmienić dołączone dane arkusza kalkulacyjnego w formularzu, można tak ustawić tę właściwość, że dołączone dane będą aktualizowane tylko po otwarciu bazy danych w trybie dostępu wyłącznego.

Po ustawieniu właściwości UpdateOptions na wartość "Ręczna" dane nie są aktualizowane zgodnie z ustawieniem pola Okres odświeżania na karcie Zaawansowane okna dialogowego Opcje, dostępnego przez kliknięcie polecenia Opcje w menu Narzędzia.

Uwaga   Gdy dane obiektu ulegają zmianie, występuje zdarzenie Updated.

W poniższym przykładzie właściwość UpdateOptions dla ramki obiektu niezwiązanego o nazwie OLE1 zostaje ustawiona na aktualizację ręczną, a następnie używana jest właściwości Action do wymuszenia aktualizacji obiektu OLE w formancie.

OLE1.UpdateOptions = acOLEUpdateManual

OLE1.Action = acOLEUpdate


Action, właściwość

Właściwości Action można użyć w kodzie języka Visual Basic do określenia operacji wykonywanej na obiekcie OLE.

Ustawienia

Dla właściwości Action używane są następujące ustawienia.

Stała	Opis
acOLECreateEmbed	Tworzy obiekt osadzony. Aby użyć tego ustawienia, należy najpierw ustawić właściwość OLETypeAllowed (DozwolonyTypOLE) formantu na wartość acOLEEmbedded lub acOLEEither. Właściwość Class (Klasa) należy ustawić na typ tworzonego obiektu OLE. Można użyć właściwości SourceDoc (DokumentŹródłowy), aby wykorzystać istniejący plik jako szablon.
AcOLECreateLink	Tworzy połączony obiekt OLE na podstawie zawartości pliku. Aby użyć tego ustawienia, należy najpierw ustawić właściwości OLETypeAllowed i SourceDoc formantu. Właściwość OLETypeAllowed należy ustawić na wartość acOLELinked lub acOLEEither. Właściwość SourceDoc określa plik użyty do utworzenia obiektu OLE. Można również ustawić właściwość SourceItem (ŹródłoElementu) formantu (na przykład, aby określić zakres wierszy i kolumn, jeśli tworzonym obiektem jest arkusz programu Microsoft Excel). Po utworzeniu obiektu OLE z tym ustawieniem formant wyświetla obraz graficzny metapliku określonego przez ustawienie właściwości SourceDoc formantu. Po zapisaniu obiektu OLE zawiera on tylko informacje o połączeniu (nazwę aplikacji macierzystej obiektu oraz nazwę pliku z danymi), ponieważ formant nie przechowuje danych źródłowych, a tylko ich obraz.
acOLECopy	Kopiuje obiekt do Schowka. Wraz z obiektem OLE do Schowka kopiowane są wszystkie jego dane i informacje o połączeniu. Do Schowka można kopiować zarówno obiekty połączone, jak i osadzone. Ustawienie to jest równoważne kliknięciu polecenia Kopiuj w menu Edycja.
acOLEPaste	Wkleja dane ze Schowka do formantu. Jeśli operacja wklejania powiedzie się, to właściwość OLEType (TypOLE) formantu zostanie ustawiona na wartość acOLELinked lub acOLEEmbedded, a jeśli nie – na acOLENone. Ustawienie to jest równoważne kliknięciu polecenia Wklej w menu Edycja.
acOLEUpdate	Pobiera bieżące dane z aplikacji macierzystej obiektu i wyświetla je w formancie w postaci grafiki metapliku.
acOLEActivate	Otwiera obiekt OLE do operacji, np. takiej jak edycja. Aby użyć tej właściwości, należy najpierw ustawić właściwość Verb (Zlecenie) formantu. Właściwość Verb określa operację wykonywaną po aktywacji obiektu OLE.
acOLEClose	Zamyka obiekt OLE i kończy połączenie z jego aplikacją macierzystą. Ustawienie to dotyczy tylko obiektów osadzonych. Ustawienie to jest równoważne kliknięciu polecenia Zamknij w menu sterowania obiektu.
acOLEDelete	Usuwa określony obiekt OLE i zwalnia przydzieloną mu pamięć. Ustawienie to pozwala samodzielnie usunąć obiekt OLE. Obiekty są usuwane automatycznie podczas zamykania formularza lub zastępowania starego obiektu nowym. Nie można użyć właściwości Action do usunięcia związanego obiektu OLE z jego tabeli lub kwerendy odnośnej.
acOLEInsertObjDlg	Wyświetla okno dialogowe Wstaw obiekt. W widoku "Formularz" lub widoku "Arkusz danych" okno to umożliwia użytkownikowi utworzenie nowego obiektu OLE albo połączenie lub osadzenie obiektu istniejącego. Można użyć właściwości OLETypeAllowed formantu, aby określić typ obiektu, który wolno użytkownikowi wkleić za pomocą tego okna dialogowego (ustawiając ją na acOLELinked, acOLEEmbedded lub acOLEEither).
acOLEPasteSpecialDlg	Wyświetla okno dialogowe Wklej specjalnie. W widoku "Formularz" lub "Arkusz danych" okno to umożliwia użytkownikowi wklejenie obiektu ze Schowka. Okno to ma szereg opcji pozwalających między innymi wybrać wklejenie obiektu połączonego lub osadzonego. Można użyć właściwości OLETypeAllowed formantu, aby określić typ obiektu, który wolno użytkownikowi wkleić za pomocą tego okna dialogowego (ustawiając ją na wartość acOLELinked, acOLEEmbedded lub acOLEEither).
acOLEFetchVerbs	Aktualizuje listę zleceń obsługiwanych przez obiekt OLE. Aby wyświetlić listę zleceń, należy użyć właściwości ObjectVerbs i ObjectVerbsCount.
Właściwość Action można ustawić tylko w kodzie języka Visual Basic. Ustawieniem właściwości Action jest wartość typu Liczba całkowita.

Właściwość Action nie jest dostępna w widoku "Projekt", ale może być czytana i ustawiana w innych widokach.

Uwagi

Jeśli właściwość Enabled (Włączony) formantu jest ustawiona na wartość "Nie" lub jego właściwość Locked (Zablokowany) jest ustawiona na wartość "Tak", pewnych ustawień właściwości Action nie można użyć. W poniższej tabeli zostały podane dozwolone i niedozwolone ustawienia właściwości w tej sytuacji.

Ustawienie	Enabled = Nie	Locked = Tak
acOLECreateEmbed	Niedozwolone	Niedozwolone
acOLECreateLink	Niedozwolone	Niedozwolone
acOLECopy	Dozwolone	Dozwolone
acOLEPaste	Niedozwolone	Niedozwolone
acOLEUpdate	Niedozwolone	Niedozwolone
acOLEActivate	Dozwolone	Dozwolone
acOLEClose	Niedozwolone	Dozwolone
acOLEDelete	Niedozwolone	Niedozwolone
acOLEInsertObjDlg	Niedozwolone	Niedozwolone
acOLEPasteSpecialDlg	Niedozwolone	Niedozwolone
acOLEFetchVerbs	Niedozwolone	Dozwolone


AutoActivate, właściwość

Właściwości AutoActivate (Autoaktywowanie) można użyć do określenia sposobu aktywacji obiektu OLE przez użytkownika.

Ustawienia

Dla właściwości AutoActivate używane są następujące ustawienia.

Ustawienie	Opis	Stała
Ręczne	Obiekt OLE nie jest aktywowany, gdy otrzyma fokus lub gdy użytkownik kliknie dwukrotnie formant. Obiekt OLE można aktywować tylko w kodzie języka Visual Basic ustawiając właściwość Action formantu na wartość acOLEActivate.	acOLEActivateManual
Przy uzyskaniu fokusu	(Tylko dla formantów typu  niezwiązana ramka obiektu i wykres) Jeśli formant zawiera obiekt OLE, po otrzymaniu fokusu przez ten formant aktywowana jest aplikacja macierzysta obiektu.	acOLEActivateGetFocus
Dwukrotne kliknięcie	(Ustawienie domyślne) Jeśli formant zawiera obiekt OLE, to aktywowana jest aplikacja macierzysta, gdy użytkownik kliknie dwukrotnie formant lub gdy naciśnie klawisze CTRL+ENTER, o ile formant ma fokus.	acOLEActivateDoubleClick
Właściwość tę można ustawić w arkuszu właściwości, w makrze i w kodzie języka Visual Basic.

Właściwość AutoActivate można ustawiać tylko w widoku "Projekt".

Uwagi

Niektóre obiekty OLE można aktywować z formantu. Po aktywowaniu takiego obiektu można go poddać edycji (lub wykonać na nim inną operację) w ramach formantu. Funkcja ta jest nazywana aktywowaniem miejscowym. Jeśli obiekt obsługuje aktywowanie miejscowe, należy zajrzeć do dokumentacji jego aplikacji macierzystej, aby dowiedzieć się, jak korzystać z tej funkcji.

Aby w kodzie języka Visual Basic sprawdzić, czy formant zawiera obiekt, należy odczytać ustawienie jego właściwości OLEType (TypOLE).

Uwaga   Jeśli użytkownik ustawi właściwość AutoActivate formantu na wartość "Dwukrotne kliknięcie" i określi zdarzenie DblClick dla tego formantu, zdarzenie DblClick występuje przed aktywacją obiektu.


Class, właściwość

Właściwości Class (Klasa) można użyć do określenia nazwy klasy osadzonego obiektu OLE.

Ustawienia

Ustawieniem właściwości Class jest wyrażenie typu ciąg znaków określane przez użytkownika lub program Microsoft Access podczas tworzenia lub wklejania obiektu OLE.

Właściwość Class można ustawić w arkuszu właściwości formantu, w makrze lub w kodzie języka Visual Basic.

Uwagi

Nazwa klasy określa typ obiektu OLE. Na przykład, program Microsoft Excel obsługuje takie typy obiektów OLE jak arkusze i wykresy. Odpowiadają im nazwy klas "Excel.Sheet" i "Excel.Chart". Podczas tworzenia obiektu OLE w widoku "Projekt" za pomocą polecenia Wklej specjalnie w menu Edycja lub polecenia Obiekt w menu Wstaw, nazwa klasy nowego obiektu jest wprowadzana do arkusza właściwości.

Uwaga   Aby określić nazwę klasy obiektu OLE, należy zajrzeć do dokumentacji aplikacji macierzystej obiektu.

Ustawienie właściwości Class jest aktualizowane podczas kopiowania obiektu ze Schowka. Na przykład, jeśli użytkownik wklei wykres programu Microsoft Excel ze Schowka do obiektu OLE, który zawierał już arkusz programu Microsoft Excel, ustawienie właściwości Class zmienia się z "Excel.Sheet" na "Excel.Chart". Można wkleić obiekt ze Schowka używając kodu języka Visual Basic do ustawienia właściwości Action formantu na wartość acOLEPaste lub acOLEPasteSpecialDlg.

Uwaga   Właściwości OLEClass (KlasaOLE) i Class są podobne, ale nie identyczne. Ustawienie właściwości OLEClass jest ogólnym opisem obiektu OLE, podczas gdy ustawienie właściwości Class jest nazwą używaną przy odwoływaniu się do obiektu OLE w kodzie języka Visual Basic. Przykładowymi ustawieniami właściwości OLEClass są "Microsoft Excel Chart", "Microsoft Word Document" i "Paintbrush Picture".


Item, właściwość (formant Ramka obiektu)

Właściwości Item można użyć, aby pobrać opis danych połączonych wyświetlanych w formancie typu wykres lub w niezwiązanej ramce obiektu.

Ustawienia

Ustawieniem właściwości Item jest wyrażenie typu ciąg znaków i jest ono we wszystkich widokach tylko do odczytu.

Uwaga   Jeśli używany jest mechanizm automatyzacji (nazywany poprzednio automatyzacją OLE) i zachodzi potrzeba określenia zakresu danych, należy użyć właściwości SourceItem (ŹródłoElementu).

Uwagi

Opis ramki obiektu połączonego zależy od rodzaju zawartego w niej obiektu OLE. Jeśli na przykład są nim komórki arkusza programu Microsoft Excel, w ramce wyświetlane są dane tych komórek, a właściwość Item zawiera połączone komórki w formacie wierszowo-kolumnowym. Dla wykresu ustawieniem właściwości Item jest "Chart", a dla grafiki, współrzędne połączonego obszaru graficznego.

Uwaga   Dane połączonego obiektu OLE są wyświetlane w ramce, ale przechowywane są przez aplikację macierzystą obiektu. Aby zmienić dane, trzeba użyć tej aplikacji.

Podczas łączenia obiektu OLE z niezwiązaną ramką obiektu za pomocą polecenia Wklej specjalnie w menu Edycja, program Microsoft Access ustawia właściwości SourceObject (ObiektŹródłowy), OLEClass (KlasaOLE) i Item. W poniższej tabeli zostały podane typowe ustawienia tych właściwości dla różnych obiektów OLE.

Obiekt	Właściwość SourceObject	Właściwość OLEClass	Właściwość Item
Arkusz kalkulacyjny	C:\Excel\Xls\Mywrksht.xls	Microsoft Excel Worksheet	R1C1:R7C4
Wykres	C:\Excel\Xls\Mychart.xlc	Microsoft Excel Chart	Chart
Grafika	C:\Windows\Mybitmap.bmp	Paintbrush Picture	0 0 72 71


lpOLEObject, właściwość

Właściwości lpOLEObject można użyć w kodzie języka Visual Basic, aby sprawdzić adres obiektu OLE w pamięci. Właściwość lpOLEObject zwraca wskaźnik do obiektu IOLEObject.

Ustawienia

Właściwości lpOLEObject można użyć, aby odwołać się do adresu aktywnego obiektu OLE. Jeśli nie jest wyświetlony żaden obiekt, jej ustawieniem jest 0. Typem danych ustawienia właściwości lpOLEObject jest Liczba całkowita długa określona przez program Microsoft Access.

Ustawienie tej właściwości nie jest dostępne w widoku "Projekt" i jest we wszystkich widokach tylko do odczytu.

Uwagi

Wiele funkcji OLE zawartych w bibliotekach dołączanych dynamicznie (DLL) wymaga jako argumentu adresu obiektu OLE. Podczas wywoływania funkcji OLE zawartej w bibliotece DLL z poziomu interfejsu programowania aplikacji (API) można użyć wartości określonej przez właściwość lpOLEObject.

Uwaga   Jeśli z poziomu API użytkownik wywołuje funkcję odwołującą się wstecznie do formantu, wynik będzie nieokreślony.


Object, właściwość

Właściwości Object można użyć w kodzie języka Visual Basic, aby zwrócić odwołanie do obiektu automatyzacji skojarzonego z połączonym lub osadzonym obiektem OLE w formancie. Korzystając z tego odwołania można użyć właściwości lub wywołać metody tego obiektu OLE.

Ustawienia

Właściwość Object zwraca odwołanie od obiektu automatyzacji. Można użyć instrukcji Set, aby przypisać ten obiekt automatyzacji zmiennej obiektowej. Typ zwracanego odwołania do obiektu zależy od aplikacji, w której został utworzony obiekt OLE.

Właściwość Object jest we wszystkich widokach tylko do odczytu.

Uwagi

Osadzając lub łącząc obiekt OLE w formularzu programu Microsoft Access można ustawić właściwości określające typ obiektu i działanie formantu kontenera. Nie można jednak bezpośrednio ustawiać ani odczytywać właściwości obiektu OLE, czy też używać jego metod, w procesie automatyzacji. Właściwość Object zwraca odwołanie do obiektu automatyzacji, który reprezentuje połączony lub osadzony obiekt OLE. Korzystając z tego odwołania można zmienić ten obiekt OLE ustawiając lub odczytując jego właściwości albo stosując jego metody. Na przykład, program Microsoft Excel jest składnikiem ActiveX, który obsługuje automatyzację. Jeśli arkusz programu Microsoft Excel zostanie osadzony w formularzu programu Microsoft Access, można użyć właściwości Object, aby ustawić odwołanie do obiektu Worksheet skojarzonego z tym arkuszem. Można następnie używać wszelkich właściwości i metod obiektu Worksheet.

Aby dowiedzieć się, które właściwości i metody są obsługiwane przez konkretny obiekt automatyzacji, należy zajrzeć do dokumentacji aplikacji macierzystej obiektu OLE.


Object, właściwość - przykład
Object, właściwość – przykład

W poniższym przykładzie została użyta właściwość Object niezwiązanej ramki obiektu o nazwie OLE1. Nazwa i adres klienta zostaje wstawiona do osadzonego dokumentu programu Microsoft Word sformatowanego jako formularz listowy z symbolem zastępczym reprezentującym nazwę i adres klienta i ze stałym tekstem w treści listu. Procedura zastępuje symbol zastępczy dla każdego rekordu i drukuje formularz listu. Nie zapisuje ona kopii wydrukowanego listu.

Sub PrintFormLetter_Click()

Dim objWord As Object

Dim strCustomer As String, strAddress As String

Dim strCity As String, strRegion As String

' Assign object property of control to variable.

Set objWord = Me!OLE1.Object.Application.Wordbasic

' Assign customer address to variables.

strCustomer = Me!CompanyName

strAddress = Me!Address

strCity = Me!City & ", "

If Not IsNull(Me!Region) Then

strRegion = Me!Region

Else

strRegion = Me!Country

End If

' Activate ActiveX control.

Me!OLE1.Action = acOLEActivate

With objWord

.StartOfDocument

' Go to first placeholder.

.LineDown 2

' Highlight placeholder text.

.EndOfLine 1

' Insert customer name.

.Insert strCustomer

' Go to next placeholder.

.LineDown

.StartOfLine

' Highlight placeholder text.

.EndOfLine 1

' Insert address.

.Insert strAddress

' Go to last placeholder.

.LineDown

.StartOfLine

' Highlight placeholder text.

.EndOfLine 1

' Insert City and Region.

.Insert strCity & strRegion

.FilePrint

.FileClose

End With

Set objWord = Nothing

End Sub


ObjectVerbs, właściwość

Właściwości ObjectVerbs można użyć w kodzie języka Visual Basic do określenia listy zleceń obsługiwanych przez obiekt OLE.

Ustawienia

Ustawieniem właściwości ObjectVerbs jest tablica ciągów znaków o indeksie rozpoczynającym się od wartości 0.

Ustawienie tej właściwości nie jest dostępne w widoku "Projekt" i jest we wszystkich widokach tylko do odczytu.

Uwagi

Właściwości ObjectVerbs wraz z właściwością ObjectVerbsCount można użyć do wyświetlenia listy zleceń obsługiwanych przez obiekt OLE. Właściwość Verb (Zlecenie) korzysta z tej listy zleceń przy określaniu rodzaju wykonywanej operacji po aktywowaniu obiektu OLE (gdy właściwość Action jest ustawiona na acOLEActivate).

Ustawieniem właściwości Verb jest numer porządkowy zlecenia na liście zwracanej przez właściwość ObjectVerbs. Na przykład, ustawienie na wartość 1 określa pierwsze zlecenie na liście (polecenie języka Visual Basic ObjectVerbs(0)albo pierwsze zlecenie w tablicy właściwości ObjectVerbs), ustawienie na wartość 2 określa drugie zlecenie na liście (polecenie języka Visual Basic ObjectVerbs(0)albo drugie zlecenie w tablicy właściwości ObjectVerbs) itd.

Zleceniem domyślnym jest pierwsze zlecenie w tablicy określonej przez właściwość ObjectVerbs, wywoływane przez polecenie języka Visual Basic ObjectVerbs(0). Jeśli właściwość Verb nie została ustawiona, zlecenie te określa operację wykonywaną po aktywacji obiektu OLE.

Aplikacje udostępniające obiekty OLE na ogół zawierają w menu Edycja polecenie Obiekt. Po wskazaniu tego polecenia pojawia się podmenu z listą zleceń obiektu. Aby wyświetlić identyczną listę w formularzu lub raporcie, należy użyć właściwości ObjectVerbs i ObjectVerbsCount.

Lista zleceń obsługiwanych przez obiekt może się zmieniać w zależności od stanu obiektu. Aby aktualizować listę zleceń obsługiwanych przez obiekt, należy ustawić właściwość Action formantu na wartość acOLEFetchVerbs. Listę zleceń należy aktualizować przed każdym pokazaniem jej użytkownikowi.


ObjectVerbs, ObjectVerbsCount, właściwości - przykład
ObjectVerbs, ObjectVerbsCount, właściwości – przykład

W poniższym przykładzie zwracane są zlecenia obsługiwane przez obiekt OLE w formancie OLE1 i każde z nich jest wyświetlane w oknie komunikatu.

Sub GetVerbList(frm As Form, OLE1 As Control)

Dim intX As Integer, intNumVerbs As Integer

Dim strVerbList As String

' Update verb list.

With frm!OLE1

.Action = acOLEFetchVerbs

intNumVerbs = .ObjectVerbsCount

For intX = 0 To intNumVerbs - 1

strVerbList = strVerbList & .ObjectVerbs(intX) & "; "

Next intX

End With

' Display verbs in message box.

MsgBox Left(strVerbList, Len(strVerbList) - 2)

End Sub


ObjectVerbsCount, właściwość

Właściwości ObjectVerbsCount można użyć w kodzie języka Visual Basic do określenia liczby zleceń obsługiwanych przez obiekt OLE.

Ustawienia

Ustawieniem właściwości ObjectVerbsCount jest wartość typu Liczba całkowita określająca liczbę elementów w tablicy określonej przez właściwość ObjectVerbs.

Ustawienie tej właściwości nie jest dostępne w widoku "Projekt" i jest we wszystkich widokach tylko do odczytu.

Uwagi

Lista zleceń obsługiwanych przez obiekt może się zmieniać w zależności od stanu obiektu. Aby aktualizować listę zleceń obsługiwanych przez obiekt, należy ustawić właściwość Action formantu na wartość acOLEFetchVerbs.


OLEClass, właściwość

Właściwość OLEClass (KlasaOLE) przechowuje opis typu obiektu OLE zawartego w formancie typu wykres lub w niezwiązanej ramce obiektu.

Ustawienia

Właściwość ta jest ustawiana automatycznie w arkuszu właściwości formantu na wyrażenie typu ciąg znaków po kliknięciu polecenia Obiekt w menu Wstaw podczas wstawiania obiektu OLE do formularza. Właściwość OLEClass jest we wszystkich widokach tylko do odczytu.

Uwaga   Jeśli używany jest mechanizm automatyzacji (nazywany poprzednio automatyzacją OLE) i zachodzi potrzeba określenia nazwy przy odwoływaniu się do obiektu OLE, należy użyć właściwości Class (Klasa).

Uwagi

Właściwości OLEClass i Class są podobne, ale nie identyczne. Ustawienie właściwości OLEClass jest ogólnym opisem obiektu OLE, podczas gdy ustawienie właściwości Class jest nazwą używaną przy odwoływaniu się do obiektu OLE w kodzie języka Visual Basic. Przykładowymi ustawieniami właściwości OLEClass są: "Microsoft Excel Chart", "Microsoft Word Document" i "Paintbrush Picture"


OLEType, właściwość

Właściwości OLEType (TypOLE) można użyć do określenia, czy formant zawiera obiekt OLE, a jeśli tak to, czy obiekt ten jest połączony czy osadzony.

Ustawienia

Dla właściwości OLEType używane są następujące ustawienia.

Ustawienia	Opis	Stała
Połączony	Formant zawiera obiekt połączony. Wszystkimi danymi obiektu zarządza jego aplikacja macierzysta.	acOLELinked
Osadzony	Formant zawiera obiekt osadzony. Wszystkimi danymi obiektu zarządza program Microsoft Access.	acOLEEmbedded
Żaden	Formant nie zawiera obiektu OLE.	acOLENone
Właściwość OLEType jest we wszystkich widokach tylko do odczytu.

Uwagi

Podczas tworzenia obiektu OLE należy użyć właściwości OLETypeAllowed (DozwolonyTypOLE), aby określić typ obiektu, który można wstawić do formantu.


OLEType, właściwość - przykład
OLEType, właściwość – przykład

W poniższym przykładzie zostało pokazane, jak wyświetlić okno dialogowe Wstaw obiekt oraz komunikat o błędzie po kliknięciu przycisku Anuluj w tym oknie.

Sub InsertObject_Click()

Dim conUserCancelled Integer

' Error message returned when user cancels.

conUserCancelled = 2001

On Error GoTo ButtonErr

If OLE1.OLEType = acOLENone Then

' No OLE object created.

' Display Insert Object dialog box.

OLE1.Action = acOLEInsertObjDlg

End If

Exit Sub

ButtonErr:

If Err = conUserCancelled Then ' Display message.

MsgBox "You clicked the Cancel button; no object was created."

End If

Resume Next

End Sub


OLETypeAllowed, właściwość

Właściwości OLETypeAllowed (DozwolonyTypOLE) można użyć do określenia typu obiektu OLE, który może być umieszczony w formancie.

Ustawienia

Dla właściwości OLETypeAllowed używane są następujące ustawienia.

Ustawienia	Opis	Stała
Połączony	Formant może zawierać tylko obiekt połączony.	acOLELinked
Osadzony	Formant może zawierać tylko obiekt osadzony.	acOLEEmbedded
Każdy	(Ustawienie domyślne) Formant może zawierać zarówno obiekt połączony, jak i osadzony.	acOLEEither
Właściwość OLETypeAllowed można ustawić w arkuszu właściwości formantu, w makrze i w kodzie języka Visual Basic. Można również ustawić wartość domyślną dla tej właściwości używając domyślnego stylu formantu lub metody DefaultControl w kodzie języka Visual Basic.

Uwaga   Dla niezwiązanych ramek obiektu i wykresów nie można zmienić ustawienia właściwości OLETypeAllowed po utworzeniu obiektu. Dla związanych ramek obiektu ustawienie tej właściwości można zmienić po utworzeniu obiektu. Zmiana ustawienia właściwości OLETypeAllowed wpływa tylko na nowe obiekty dodawane do formantu.

Uwagi

Aby określić typ obiektu OLE zawartego w formancie, należy użyć właściwości OLEType (TypOLE).


SourceItem, właściwość

Właściwości SourceItem (ŹródłoElementu) można użyć do określenia danych zawartych w pliku, który ma być połączony, podczas tworzenia połączonego obiektu OLE.

Ustawienia

Właściwość SourceItem można ustawić podając dane w jednostkach rozpoznawanych przez aplikację macierzystą obiektu. Jeśli na przykład aplikacją macierzystą jest program Microsoft Excel, ustawieniem właściwości SourceItem może być adres komórki lub ich zakresu, na przykład R1C1 lub R3C4:R9C22, albo ich nazwany zakres, na przykład "Przychody".

Uwaga   Aby poznać składnię jednostki danych dla konkretnego obiektu, należy zajrzeć do dokumentacji aplikacji macierzystej obiektu.

Właściwość tę można ustawić w arkuszu właściwości formantu, w makrze i w kodzie języka Visual Basic.

W kodzie języka Visual Basic ustawieniem tej właściwości jest wyrażenie typu ciąg znaków.

Uwagi

Gdy używa się tej właściwości, właściwość OLETypeAllowed (DozwolonyTypOle) formantu musi być ustawiona na wartość "Połączony" lub "Osadzony". Należy użyć właściwości SourceDoc (DokumentŹródłowy), aby określić plik, który ma być połączony.


Verb, właściwość

Właściwości Verb (Zlecenie) można użyć do określenia operacji wykonywanej po aktywacji obiektu OLE, która jest dozwolona, jeśli właściwość Action formantu jest ustawiona na wartość acOLEActivate.

Ustawienia

Ustawieniem właściwości Verb jest wartość typu Liczba całkowita określająca numer porządkowy zlecenia na liście zleceń zwracanej przez właściwość ObjectVerbs. Można ustawić właściwość Verb na wartość 1, aby określić pierwsze zlecenie z listy, na wartość 2, aby określić drugie zlecenie itd.

Właściwość tę można ustawiać w arkuszu właściwości formantu, w makrze i w kodzie języka Visual Basic. Można również ustawić wartość domyślną dla tej właściwości używając domyślnego stylu formantu lub metody DefaultControl w kodzie języka Visual Basic.

Jeśli właściwość ObjectVerbs nie jest ustawiona, właściwość Verb można ustawić na jedną z poniższych wartości, określających operacje, które mają być wykonane. Wartości te określają standardowe zlecenia obsługiwane przez wszystkie obiekty.

Stała	Wartość	Opis
acOLEVerbPrimary	0	Wykonuje na obiekcie operację domyślną.
acOLEVerbShow	–1	Aktywuje obiekt do edycji.
acOLEVerbOpen	–2	Otwiera obiekt w odrębnym oknie aplikacji.
acOLEVerbHide	–3	Dla obiektów osadzonych ukrywa aplikację macierzystą obiektu.
Dla obiektów niektórych aplikacji można używać następujących wartości dodatkowych.

Stała	Wartość	Opis
acOLEVerbInPlaceUIActivate	–4	Aktywuje obiekt do edycji w ramach formantu. Menu i paski narzędzi serwera OLE stają się dostępne w kontenerze OLE.
acOLEVerbInPlaceActivate	–5	Aktywuje obiekt w ramach formantu. Menu i paski narzędzi serwera OLE nie są dostępne w kontenerze OLE.
Uwagi

Każdy obiekt obsługuje własny zestaw zleceń. Na przykład, wiele obiektów obsługuje zlecenia "Edytuj" i "Odtwarzaj". Aby dowiedzieć się, które zlecenia są obsługiwane przez dany obiekt, należy użyć właściwości ObjectVerbs i ObjectVerbsCount.

Program Microsoft Access automatycznie stosuje domyślne zlecenie obiektu, jeśli użytkownik kliknie dwukrotnie obiekt, którego właściwość AutoActivate (Autoaktywowanie) została ustawiona na wartość "Dwukrotne kliknięcie".


ForceNewPage, właściwość

Właściwości ForceNewPage (WymuszajNowąStronę) można użyć do określenia, czy sekcje formularza (nagłówka, szczegółów lub stopki) albo sekcje raportu (nagłówka, szczegółów lub stopki) mają być drukowane na osobnej stronie zamiast na bieżącej. Można na przykład zaprojektować ostatnią stronę raportu jako formularz zamówienia. Jeśli właściwość ForceNewPage stopki raportu zostanie ustawiona na wartość "Przed sekcją", formularz zamówienia będzie zawsze drukowany na nowej stronie.

Uwaga   Właściwość ForceNewPage nie odnosi się do nagłówków stron i do stopek stron.

Ustawienia

Dla właściwości ForceNewPage używane są następujące ustawienia.

Ustawienie	Opis	Visual Basic
Nie	(Ustawienie domyślne) Sekcja bieżąca (sekcja ustawianej właściwości) jest drukowana na bieżącej stronie.	0
Przed sekcją	Sekcja bieżąca jest drukowana na początku nowej strony.	1
Po sekcji	Sekcja następująca po bieżącej jest drukowana na początku nowej strony.	2
Przed i po	Zarówno sekcja bieżąca, jak i następująca po bieżącej są drukowane na początku nowej strony.	3
Właściwość tę można ustawić w arkuszu właściwości sekcji, w makrze lub w kodzie języka Visual Basic.

Uwagi

Poniżej zostały podane przykłady ustawień właściwości ForceNewPage.

Sekcja	Przykładowe ustawienie	Opis
Nagłówek grupy wyświetlający rok	Przed sekcją	Na początku strony jest drukowany nagłówek grupy, a po nim sekcja szczegółów, stopka grupy i stopka strony.
Sekcja szczegółów raportu	Po sekcji	Stopka grupy jest drukowana na początku nowej strony.
Nagłówek raportu zawierający jego tytuł i logo firmy.	Po sekcji	Tytuł raportu wraz z logo firmy jest drukowany na osobnej stronie na początku raportu.


ForceNewPage, wlaściwość - przykład
ForceNewPage, wlaściwość – przykład

W poniższym przykładzie zwracane jest ustawienie właściwości ForceNewPage (WymuszajNowąStronę) dla sekcji szczegółów raportu "Sales By Date". Ustawienie to zostaje przypisane zmiennej intGetVal.

Dim intGetVal As Integer

intGetVal = Reports![Sales By Year].Section(acDetail).ForceNewPage


HideDuplicates, właściwość

Właściwości HideDuplicates (UkryjDuplikaty) można użyć do ukrycia formantu, jeśli jego wartość jest taka sama, jak w poprzednim rekordzie. Na przykład, w raporcie podającym dostawców i ich wyroby, nazwa dostawcy może występować tylko raz na liście jego wyrobów zamiast pojawiać się przy każdym wyrobie.

Uwaga   Właściwość HideDuplicates odnosi się tylko do formantów (pól wyboru, pól kombi, pól listy, przycisków opcji, grup opcji, pól tekstowych, przełączników) w raporcie.

Właściwość ta nie odnosi się do pól wyboru, przycisków opcji i przycisków przełącznika, jeśli pojawiają się one w grupie opcji. Ma ona zastosowanie w stosunku do samej grupy opcji.

Ustawienia

Dla właściwości HideDuplicates używane są następujące ustawienia.

Ustawienie	Opis	Visual Basic
Tak	Jeśli wartość formantu lub jego dane są takie same, jak w rekordzie poprzednim, formant zostaje ukryty.	True (–1)
Nie	(Ustawienie domyślne) Formant jest widoczny niezależnie od wartości w poprzednim rekordzie.	False (0)
Właściwość tę można ustawić w arkuszu właściwości formantu, w makrze i w kodzie języka Visual Basic.

Właściwość HideDuplicates można ustawić tylko w widoku "Projekt" raportu.

Uwagi

Właściwości HideDuplicates można użyć do utworzenia raportu z grupą zawierającą tylko sekcję szczegółów, bez nagłówka grupy.


HideDuplicates, właściwość - przykład
HideDuplicates, właściwość – przykład

W poniższym przykładzie zwracane jest ustawienie właściwości HideDuplicates (UkryjDuplikaty) pola tekstowego "CategoryName". Ustawienie to zostaje przypisane zmiennej intCurVal.

Dim intCurVal As Integer

intCurVal = Me!CategoryName.HideDuplicates


KeepTogether, właściwość - sekcje
KeepTogether, właściwość – sekcje

Właściwości KeepTogether (TrzymajRazem) można użyć do wydrukowania całej sekcji formularza lub raportu na jednej stronie. Może na przykład istnieć grupa pokrewnych danych, które nie powinny być drukowane na dwóch stronach.

Uwaga   Właściwość KeepTogether odnosi się tylko do sekcji formularzy i raportów (z wyjątkiem nagłówków stron i stopek stron).

Ustawienia

Dla właściwości KeepTogether sekcji używane są następujące ustawienia.

Ustawienie	Opis	Visual Basic
Tak	Sekcja jest drukowana od początku nowej strony, o ile nie może być w całości wydrukowana na stronie bieżącej.	True (–1)
Nie	(Ustawienie domyślne) Sekcja jest drukowana na stronie bieżącej i w miarę potrzeb na kolejnych stronach.	False (0)
Właściwość tę można ustawić w arkuszu właściwości sekcji, w makrze i w kodzie języka Visual Basic.

Właściwość KeepTogether dla sekcji można ustawić tylko w widoku "Projekt" formularza lub w widoku "Projekt" raportu.

Uwagi

Po napotkaniu końca strony podczas drukowania sekcji, drukowanie zazwyczaj jest kontynuowane na następnej stronie. Używając właściwości sekcji KeepTogether można drukować całą sekcję na jednej stronie. Jeśli sekcja jest dłuższa od strony, drukowanie rozpoczyna się na nowej stronie i jest kontynuowane na kolejnych.

Jeśli właściwość KeepTogether dla grupy jest ustawiona na wartość "Całą grupę" lub "Z pierwszym szczegółem", a właściwość KeepTogether dla sekcji jest ustawiona na wartość "Nie", ustawienie właściwości KeepTogether dla sekcji jest ignorowane.


KeepTogether, właściwość (sekcje) - przykład
KeepTogether, właściwość (sekcje) – przykład

W poniższym przykładzie zwracane jest ustawienie właściwości KeepTogether (TrzymajRazem) sekcji szczegółów raportu. Ustawienie to zostaje przypisane zmiennej intGetVal.

Dim intGetVal As Integer

intGetVal = Me.Section(acDetail).KeepTogether


NewRowOrCol, właściwość

Właściwości NewRowOrCol (NowyWierszLubKolumna) można użyć do określenia, czy sekcja i związane z nią dane mają być drukowane w nowym wierszu lub kolumnie raportu wielokolumnowego lub formularza wielokolumnowego. Można jej na przykład użyć do drukowania każdego nagłówka grupy na początku nowej kolumny w raporcie wielokolumnowym.

Uwaga   Właściwość NewRowOrCol nie odnosi się do nagłówków stron i stopek stron.

Ustawienia

Dla właściwości NewRowOrCol używane są następujące ustawienia.

Ustawienia	Opis	Visual Basic
Nie	(Ustawienie domyślne) Położenia znaków nowego wiersza lub kolumny są określone przez ustawienia w oknie dialogowym Ustawienia strony (dostępnym przez kliknięcie polecenia Ustawienia strony w menu Plik) i ilość wolnego miejsca na stronie.	0
Przed sekcją	Drukowanie sekcji bieżącej (sekcji, której właściwość jest ustawiana, np. sekcji nagłówka) rozpoczyna się w nowym wierszu lub kolumnie. Kolejna sekcja, np. sekcja szczegółów, jest drukowana w tym samym wierszu lub kolumnie.	1
Po sekcji	Drukowanie sekcji bieżącej, np. sekcji nagłówka grupy, rozpoczyna się w bieżącym wierszu lub kolumnie. Kolejna sekcja, np. sekcja szczegółów, jest drukowana w następnym wierszu lub kolumnie.	2
Przed i po	Drukowanie sekcji bieżącej rozpoczyna się w nowym wierszu lub kolumnie. Drukowanie następnej sekcji rozpoczyna się w następnym wierszu lub kolumnie.	3
Właściwość tę można ustawić w arkuszu właściwości sekcji, w makrze i w języku Visual Basic.

Właściwość NewRowOrCol można ustawić tylko w widoku "Projekt" formularza lub w widoku "Projekt" raportu.

Uwagi

Poniżej zostały podane przykładowe ustawienia sekcji nagłówka grupy w raporcie wielokolumnowym. Należy się upewnić, że została zaznaczona opcja W dół i w poprzek w polu Układ kolumn na karcie Kolumny okna dialogowego Ustawienia strony.

Przykładowe ustawienie	Wynik
Przed sekcją	Nagłówek grupy jest drukowany na początku nowej kolumny.
Po sekcji	Sekcja szczegółów jest drukowana na początku nowej kolumny.
Przed i po	Nagłówek grupy jest drukowany we własnej kolumnie, a sekcja szczegółów jest drukowana na początku nowej kolumny.
Sekcje raportu w formularzu lub raporcie normalnie są drukowane pionowo w dół strony. Domyślnym ustawieniem w grupie opcji Układ kolumn jest W poprzek i w dół. Aby drukować sekcje w wielu kolumnach w poprzek strony, należy kliknąć opcję W dół i w poprzek w polu Układ kolumn na karcie Kolumny okna dialogowego Ustawienia strony.

Jeśli właściwość NewRowOrCol jest ustawiona na wartość "Przed sekcją", pionowe bądź poziome ustawienie orientacji strony ma wpływ na wygląd sekcji po jej wydrukowaniu. Jeśli zostanie zaznaczona opcja W poprzek i w dół w polu Układ kolumn na karcie Kolumny okna dialogowego Ustawienia strony, program Microsoft Access rozpoczyna drukowanie sekcji od początku nowego wiersza; jeśli zostanie zaznaczona opcja W dół i w poprzek, program Microsoft Access rozpoczyna drukowanie sekcji od początku nowej kolumny.


NewRowOrCol, właściwość - przykład
NewRowOrCol, właściwość – przykład

W poniższym przykładzie zwracane jest ustawienie właściwości NewRowOrCol (NowyWierszLubKolumna). Ustawienie to zostaje przypisane zmiennej intGetVal.

Dim intGetVal As Integer

intGetVal = Me.Section(1).NewRowOrCol

W kolejnym przykładzie zostały przedstawione dwa układy raportu, którego dane są podzielone na cztery grupy (od Head1 do Head4). Każda grupa zawiera od trzech do sześciu rekordów o polach "a" i "b". Układy różnią się tylko ustawieniami w polu Układ kolumn na karcie Kolumny okna dialogowego Ustawienia strony oraz wartością właściwości NewRowOrCol. Należy zauważyć, że w polu Szerokość pola Rozmiar kolumn na karcie Kolumny musi być ustawiona faktyczna szerokość pola. Przy ustawionej wartości "Przed sekcją" właściwości NewRowOrCol wymagane jest również ustawienie sekcji nagłówka strony na wartość większą od zera, aby opcja W dół i w poprzek działała poprawnie.

• Układ kolumn – W poprzek i w dół • Ustawienia siatki – Liczba kolumn ustawiona na 4 • Ustawienie właściwości NewRowOrCol dla sekcji nagłówka grupy – Przed i po Head1 1a 1b 2a 2b 3a 3b 4a 4b 5a 5b Head2 1a 1b 2a 2b 3a 3b 4a 4b Head3 1a 1b 2a 2b 3a 3b Head4 1a 1b 2a 2b 3a 3b 4a 4b 5a 5b 6a 6b	• Układ kolumn – W dół i w poprzek • Ustawienia siatki – Liczba kolumn ustawiona na 4 • Ustawienie właściwości NewRowOrCol dla sekcji nagłówka grupy – Przed sekcją Head1 Head2 Head3 Head4 1a 1b 1a 1b 1a 1b 1a 1b 2a 2b 2a 2b 2a 2b 2a 2b 3a 3b 3a 3b 3a 3b 3a 3b 4a 4b 4a 4b 4a 4b 5a 5b 5a 5b 6a 6b


Page, Pages, właściwości

Właściwości Page (Strona) i Pages (Strony) można użyć do zwrócenia informacji potrzebnych przy drukowaniu numerów stron w formularzu i raporcie. Można ich na przykład użyć do drukowania w stopce strony raportu informacji "Strona n z nn".

•	Właściwość Page określa numer bieżącej strony podczas drukowania formularza lub raportu.

•	Właściwość Pages określa całkowitą liczbę stron formularza lub raportu.

Ustawienia

Mimo iż można ustawić właściwość Page na wartość typu Liczba całkowita, najczęściej używa się jej do zwracania informacji o numerach stron. Obie właściwości, jeśli używane są w wyrażeniach, zwracają wartość typu Liczba całkowita.

Właściwości Page i Pages można użyć w wyrażeniu, w makrze lub w kodzie języka Visual Basic.

Właściwości te są dostępne tylko w trybie podglądu wydruku lub podczas drukowania.

Właściwość Pages jest zawsze tylko do odczytu.

Uwagi

Aby odwołać się do właściwości Pages w makrze lub w języku Visual Basic, formularz lub raport musi zawierać pole tekstowe, którego właściwość ControlSource (ŹródłoFormantu) ustawiona jest na wyrażenie korzystające z właściwości Pages. Można na przykład użyć poniższych wyrażeń jako ustawień właściwości ControlSource dla pola tekstowego w stopce strony.

Wyrażenie	Drukuje
=Page	Numer strony (na przykład 1, 2, 3) w stopce strony.
="Page " & Page & " of " & Pages	"Strona n z nn" (na przykład "Strona 1 z 5", "Strona 2 z 5") w stopce strony.
=Pages	Całkowitą liczbę stron w formularzu lub raporcie (na przykład 5).


Page, Pages, właściwości - przykład
Page, Pages, właściwości – przykład

W poniższym przykładzie wyświetlany jest komunikat informujący o liczbie stron w raporcie. Aby przykład ten działał, raport musi zawierać pole tekstowe, którego właściwość ControlSource (ŹródłoFormantu) jest ustawiona na wyrażenie =Pages. Aby przetestować ten przykład, należy wkleić poniższy kod do zdarzenia Page dla pola "Alphabetical List" na formularzu "Products".

Dim intTotalPages As Integer, strMsg As String

intTotalPages = Me.Pages

strMsg = "This report contains " & intTotalPages & " pages."

MsgBox strMsg


PageHeader, PageFooter, właściwości

Właściwości PageHeader (NagłówekStrony) i PageFooter (StopkaStrony) można użyć do określenia, czy nagłówek strony lub stopka strony raportu są drukowane na tej samej stronie co nagłówek raportu lub stopka raportu. Nie trzeba na przykład drukować nagłówka strony zawierającego numer strony na pierwszej stronie raportu, jeśli nagłówek raportu jest stroną tytułową.

Ustawienia

Dla właściwości PageHeader i PageFooter używane są następujące ustawienia.

Ustawienia	Opis	Visual Basic
Wszystkie strony	(Ustawienie domyślne) Nagłówek lub stopka strony są drukowane na wszystkich stronach raportu.	0
Nie z nagłówkiem raportu	Nagłówek lub stopka strony nie są drukowane na tej samej stronie co nagłówek raportu. Nagłówek raportu jest drukowany na nowej stronie.	1
Nie ze stopką raportu	Nagłówek lub stopka strony nie są drukowane na tej samej stronie co stopka raportu. Stopka raportu jest drukowana na nowej stronie.	2
Nie z nagł/stopką raportu	Nagłówek lub stopka strony nie są drukowane na tej samej stronie co nagłówek lub stopka raportu. Nagłówek lub stopka raportu są drukowane na nowej stronie.	3
Właściwości te można ustawić w arkuszu właściwości raportu, w makrze i w języku Visual Basic.

Właściwości PageHeader i PageFooter można ustawić tylko w widoku "Projekt" raportu.

Uwagi

Normalnie nagłówki stron lub stopki stron są drukowane na każdej stronie raportu, łącznie z pierwszą i ostatnią.

Aby wyświetlić sekcje nagłówka i stopki strony w widoku "Projekt" raportu, należy kliknąć polecenie Nagłówek/stopka strony w menu Widok.

Uwaga   Podczas drukowania formularzy, nagłówki i stopki stron są zawsze drukowane na wszystkich stronach.


PageHeader (NagłówekStrony), PageFooter (StopkaStrony), właściwości - przykład
PageHeader, PageFooter, właściwości – przykład

W poniższym przykładzie właściwość PageHeader (NagłówekStrony) raportu zostaje ustawiona na "Nie z nagłówkiem raportu". Aby uruchomić ten przykład dla raportu o nazwie "Report1", należy wpisać poniższy wiersz kodu w oknie analizy programu.

Reports!Report1.PageHeader = 1


FastLaserPrinting, właściwość

Właściwości FastLaserPrinting (SzybkiWydrukLaserowy) można użyć do określenia, czy linie pionowe i poziome mają być zastępowane liniami znaków tekstowych zbliżonymi do znaków kreski poziomej (_) i pionowej (|), podczas drukowania formularza lub raportu na drukarkach laserowych. Takie zastąpienie może przyspieszyć proces drukowania.

Ustawienia

Dla właściwości FastLaserPrinting używane są następujące ustawienia.

Ustawienie	Opis	Visual Basic
Tak	(Ustawienie domyślne) Linie graficzne są zastępowane znakowymi.	True (–1)
Nie	Linie graficzne nie są zastępowane znakowymi.	False (0)
Właściwość tę można ustawić w arkuszu właściwości formularza lub raportu, w makrze lub w kodzie języka Visual Basic.

Uwagi

Ustawienie właściwości FastLaserPrinting wpływa na wszystkie linie w formularzu lub raporcie, łącznie z liniami zawartymi w formantach (na przykład obramowania pól tekstowych).

Uwaga   Właściwość ta nie ma wpływu na drukarki typu PostScript, drukarki igłowe i drukarki laserowe starszego typu, które nie obsługują linii znaków tekstowych.

Gdy właściwość ta jest ustawiona na wartość "Tak", a drukowany formularz lub raport zawiera linie lub prostokąty zachodzące na siebie, linie lub prostokąty znajdujące się na wierzchu nie zasłaniają linii i prostokątów znajdujących się pod spodem. Jeśli jest to niepożądane, należy użyć trybu graficznego i ustawić właściwość FastLaserPrinting na wartość "Nie".


FastLaserPrinting, właściwość - przykład
FastLaserPrinting, właściwość – przykład

W poniższym przykładzie zostało pokazane, jak w widoku "Projekt" ustawić właściwość FastLaserPrinting (SzybkiWydrukLaserowy) dla raportu "Invoice":

DoCmd.OpenReport "Invoice", acDesign

Reports!Invoice.FastLaserPrinting = True

DoCmd.Close acReport, "Invoice", acSaveYes


FormatCount, właściwość

Właściwości FormatCount można użyć do określenia liczby wyliczeń właściwości OnFormat (PrzyFormatowaniu) dla bieżącej sekcji raportu.

Ustawienia

Właściwości tej można użyć tylko w makrze lub w procedurze zdarzenia określonej przez ustawienie właściwości OnFormat sekcji.

Ustawienie właściwości FormatCount jest wartością typu Liczba całkowita długa.

Właściwość ta nie jest dostępna w widoku "Projekt", a we wszystkich innych widokach jest tylko do odczytu.

Uwagi

Właściwość FormatCount jest zwiększana o 1 za każdym razem, gdy dla bieżącej sekcji jest wyliczana właściwość OnFormat. Przy formatowaniu kolejnej sekcji właściwość FormatCount jest ustawiana na wartość 1.

W pewnych okolicznościach sekcja może być formatowana kilka razy. Jeśli na przykład w raporcie istnieje sekcja szczegółów z właściwością KeepTogether (TrzymajRazem) ustawioną na wartość "Tak", po osiągnięciu końca strony sekcja ta jest formatowana po raz pierwszy w celu sprawdzenia, czy zmieści się na stronie. Jeśli nie, jest formatowana ponownie na nowej stronie. W tej sytuacji ustawienie właściwości FormatCount dla tej sekcji wyniesie 2, ponieważ przed wydrukowaniem została ona sformatowana dwukrotnie.

Właściwości FormatCount można użyć, aby zapewnić, że operacje wpływające na formatowanie będą wykonywane tylko raz dla danej sekcji. W poniższym przykładzie funkcja DLookup jest obliczana tylko wtedy, gdy właściwość FormatCount jest ustawiona na wartość 1:

Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)

Const conBold = 700

Const conNormal = 400

If FormatCount = 1 Then

If DLookup("CompanyName", _

"Customers", "CustomerID = Reports!" _

& "[Customer Labels]!CustomerID") _

Like "B*" Then

CompanyNameLine.FontWeight = conBold

Else

CompanyNameLine.FontWeight = conNormal

End If

End If

End Sub


MoveLayout, NextRecord, PrintSection, właściwości

Kombinacji ustawień tych właściwości można używać w języku Visual Basic do tworzenia lub zmiany układu raportu podczas jego drukowania, oglądania i zapisywania do pliku:

•	Właściwość MoveLayout określa, czy program Microsoft Access ma przejść do następnego miejsca drukowania na stronie.

•	Właściwość NextRecord określa, czy ma nastąpić przejście do następnego rekordu w sekcji.

•	Właściwość PrintSection określa, czy sekcja ma być wydrukowana.

Ustawienia

Dla właściwości MoveLayout używane są następujące ustawienia.

Ustawienia	Opis
True (–1)	(Ustawienie domyślne) Właściwości Left (Lewy) i Top (Górny) sekcji są ustawiane na następne miejsce drukowania.
False (0)	Właściwości Left i Top sekcji pozostają niezmienione.
Dla właściwości NextRecord używane są następujące ustawienia.

Ustawienia	Opis
True	(Ustawienie domyślne) W sekcji następuje przejście do następnego rekordu.
False	W sekcji nie następuje przejście do następnego rekordu.
Dla właściwości PrintSection używane są następujące ustawienia.

Ustawienia	Opis
True	(Ustawienie domyślne) Sekcja jest drukowana.
False	Sekcja nie jest drukowana.
Aby ustawić te właściwości, należy określić makro lub procedurę zdarzenia dla właściwości OnFormat (PrzyFormatowaniu) sekcji.

Program Microsoft Access ustawia te właściwości na wartość True przed każdym zdarzeniem Format dla sekcji.

Uwagi

Właściwości te są użyteczne, gdy raport jest używany jako szablon, do którego podczas drukowania są wpisywane dane za pomocą makra lub kodu języka Visual Basic.

W poniższej tabeli zostały podane wyniki różnych kombinacji ustawień tych właściwości.

MoveLayout	NextRecord	PrintSection	Opis
True	True	True	(Ustawienie domyślne) Przejdź do następnego miejsca drukowania, pobierz rekord i drukuj dane.
True	False	True	Przejdź do następnego miejsca drukowania, nie pobieraj kolejnego rekordu, ale drukuj dane. Typowym zastosowaniem tej kombinacji jest sytuacja, gdy dane sekcji wymagają więcej miejsca, niż zezwala na to układ i dane mają zostać wydrukowane w miejscu, które w przeciwnym wypadku zostałoby zajęte przez następną sekcję.
False	True	False	Pomiń rekord bez pozostawienia pustego miejsca na stronie.
True	True	False	Pomiń rekord pozostawiając puste miejsce na stronie.
True	False	False	Pozostaw puste miejsce bez pomijania rekordu.
False	True	True	Drukuj kolejny rekord na poprzednim (nałożenie).
False	False	True	Niedozwolona.
False	False	False	Niedozwolona.


PrintCount, właściwość

Właściwości PrintCount można użyć do określenia liczby wyliczeń właściwości OnPrint (PrzyWydruku) dla bieżącej sekcji raportu.

Ustawienia

Właściwości tej można używać tylko w makrze lub w procedurze zdarzenia określonej przez ustawienie właściwości OnPrint sekcji.

Ustawienie właściwości PrintCount jest wartością typu Liczba całkowita długa.

Właściwość ta nie jest dostępna w widoku "Projekt", a we wszystkich innych widokach jest tylko do odczytu.

Uwagi

Właściwość FormatCount jest zwiększana o 1 za każdym razem, gdy program Microsoft Access wylicza właściwość OnPrint dla bieżącej sekcji. Przy drukowaniu następnej sekcji właściwość PrintCount jest ustawiana na wartość 0.

Na przykład, właściwość PrintCount jest zwiększana, gdy właściwość KeepTogether (TrzymajRazem) bieżącej sekcji jest ustawiona na wartość "Nie", a sekcja jest drukowana na kilku stronach. Załóżmy, że podczas drukowania raportu dotyczącego zamówień korzysta się z bieżącej sumy wartości zamówień. W poniższym przykładzie został pokazany sposób użycia właściwości PrintCount zapewniający, że wartość formantu "OrderAmount" jest dodawana tylko raz do sumy bieżącej:

Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)

If PrintCount = 1 Then

RunningTotal = RunningTotal + OrderAmount

End If

End Sub

W tym przykładzie "RunningTotal" może być zmienną globalną lub nazwą formantu niezwiązanego. Zmienna ta jest zwiększana za każdym razem, gdy sekcja jest drukowana.


PrtDevMode, właściwość

Właściwości PrtDevMode można użyć do ustawienia lub zwrócenia informacji o trybie urządzenia drukującego określonego dla formularza lub raportu w oknie dialogowym Drukuj.

Uwaga   Zaleca się skorzystanie z dokumentacji pakietu Win32 Software Development Kit zawierającego pełne informacje na temat właściwości PrtDevMode, PrtDevNames i PrtMip.

Ustawienia

Ustawienie właściwości PrtDevMode jest 94-bajtową strukturą, będącą kopią struktury DEVMODE zdefiniowanej w pakiecie Win32 Software Development Kit. Aby uzyskać więcej informacji o składnikach właściwości PrtDevMode, należy skorzystać z dokumentacji pakietu Win32 Software Development Kit.

Właściwość PrtDevMode używa następujących składników.

Składnik	Opis
DeviceName	Ciąg znaków o rozmiarze do 32 bajtów, który określa nazwę urządzenia obsługiwanego przez sterownik – na przykład "HP LaserJet IIISi", jeśli drukarką jest Hewlett-Packard LaserJet IIISi. Każdemu sterownikowi drukarki odpowiada unikatowy ciąg znaków.
SpecVersion	Wartość typu Liczba całkowita, określająca numer wersji struktury DEVMODE w pakiecie Win32 Software Development Kit.
DriverVersion	Wartość typu Liczba całkowita określająca numer wersji sterownika drukarki nadany przez producenta sterownika.
Size	Wartość typu Liczba całkowita określająca rozmiar struktury DEVMODE w bajtach. (Wartość ta nie uwzględnia opcjonalnego składnika dmDriverData zawierającego dane właściwe dla urządzenia, który może wystąpić po tej strukturze.) Jeśli aplikacja korzysta tylko z części danych niezależnej od rodzaju sterownika, składnika tego można użyć, aby dowiedzieć się, jaki jest rozmiar tej struktury, bez określania wersji.
DriverExtra	Wartość typu Liczba całkowita określająca rozmiar w bajtach opcjonalnego składnika dmDriverData zawierającego dane właściwe dla urządzenia, który może wystąpić po tej strukturze. Jeśli aplikacja nie korzysta z informacji właściwych dla urządzenia, można ustawić ten składnik na wartość 0.
Fields	Wartość typu Liczba całkowita długa określająca, które z pozostałych składników struktury DEVMODE zostały zainicjowane. Może to być dowolna kombinacja określonych stałych lub żadna z tych stałych. Listę dostępnych stałych można znaleźć w temacie Stałe składnika Fields.
Orientation	Wartość typu Liczba całkowita określająca orientację papieru. Dozwolone wartości to 1 (pionowa) i 2 (pozioma).
PaperSize	Wartość typu Liczba całkowita określająca rozmiar papieru. Jeśli wartość ta zostanie ustawiona na 0 lub 256, długość i szerokość papieru są określone odpowiednio przez ustawienia składników PaperLength i PaperWidth. W przeciwnym razie można ustawić składnik PaperSize na wartość predefiniowaną. Listę dostępnych wartości można znaleźć w temacie Wartości składnika PaperSize.
PaperLength	Wartość typu Liczba całkowita określająca długość papieru w  jednostkach 1/10 millimetra. Ustawienie to ma wyższy priorytet od długości ustawionej dla składnika PaperSize w przypadku niestandardowych rozmiarów papieru lub dla urządzeń, np. drukarek igłowych, akceptujących różne rozmiary papieru.
PaperWidth	Wartość typu Liczba całkowita określająca szerokość papieru w  jednostkach 1/10 millimetra. Ustawienie to ma wyższy priorytet od szerokości ustawionej dla składnika PaperSize.
Scale	Wartość typu Liczba całkowita określająca współczynnik skalowania wydruku. Podczas drukowania rozmiar fizyczny strony zostanie przeskalowany przez czynnik scale/100. Na przykład, kartka o rozmiarze 8.5 na 11 cali (format A4) dla czynnika Scale o wartości 50 pomieści tyle samo danych, co kartka o rozmiarze 17 na 22 cale, ponieważ tekst i grafika zostaną zmniejszone dwukrotnie.
Copies	Wartość typu Liczba całkowita określająca liczbę drukowanych kopii, o ile urządzenie drukujące obsługuje kopie wielostronicowe.
DefaultSource	Wartość typu Liczba całkowita określająca domyślny podajnik papieru. Listę dostępnych wartości można znaleźć w temacie Wartości składnika DefaultSource.
PrintQuality	Wartość typu Liczba całkowita określająca rozdzielczość drukarki. Dostępnymi wartościami są: –4 (wysoka), –3 (średnia), –2 (niska) i –1 (robocza).
Color	Wartość typu Liczba całkowita. W przypadku drukarek kolorowych, określa, czy dane wyjściowe są drukowane w kolorze. Dostępnymi wartościami są: 1 (kolorowy) i 2 (monochromatyczny).
Duplex	Wartość typu Liczba całkowita. W przypadku drukarek kolorowych z możliwością drukowania dwustronnego, określa, czy dane wyjściowe są drukowane po obu stronach papieru. Dostępnymi wartościami są: 1 (jednostronny), 2 (poziomy) i 3 (pionowy).
YResolution	Wartość typu Liczba całkowita określająca pionową rozdzielczość drukarki w punktach na cal (dpi). Jeśli składnik ten zostanie zainicjowany przez drukarkę, składnik PrintQuality określa poziomą rozdzielczość drukarki w dpi.
TTOption	Wartość typu Liczba całkowita określająca sposób drukowania czcionek typu TrueType. Listę dostępnych wartości można znaleźć w temacie Wartości składnika TTOption.
Collate	Wartość typu Liczba całkowita określająca, czy podczas drukowania wielu kopii są one sortowane. Rezygnacja z sortowania przyspiesza wydruk, ponieważ dane są wysyłane do drukarki tylko raz.
FormName	Ciąg znaków, składający się z co najwyżej 16 znaków, określający nazwę używanego formatu papieru, na przykład "Letter" lub "Legal".
Pad	Wartość typu Liczba całkowita długa używana do zarezerwowania miejsca na spacje, znaki lub wartości dla przyszłych wersji.
Bits	Wartość typu Liczba całkowita długa określająca rozdzielczość (w bitach na piksel) koloru urządzenia wyświetlającego.
PW	Wartość typu Liczba całkowita długa określająca w pikselach szerokość widocznej powierzchni dla danego urządzenia (ekranu lub drukarki).
PH	Wartość typu Liczba całkowita długa określająca w pikselach wysokość widocznej powierzchni dla danego urządzenia (ekranu lub drukarki).
DFI	Wartość typu Liczba całkowita długa określająca tryb pracy urządzenia wyświetlającego.
DFR	Wartość typu Liczba całkowita długa określająca w hercach (cyklach na sekundę) częstotliwość urządzenia wyświetlającego w danym trybie pracy.
Właściwość PrtDevMode można ustawić w kodzie języka Visual Basic.

Właściwość ta ma atrybut zapis/odczyt w widoku "Projekt" i tylko-do-odczytu w pozostałych widokach.

Ostrzeżenie   Sterowniki drukarki mogą bezpośrednio po strukturze DEVMODE dodawać własne dane właściwe dla urządzenia. Dlatego ważne jest, aby dane struktury DEVMODE nie przekroczyły 94 bajtów.

Uwagi

Ze struktury DEVMODE korzystają tylko sterowniki drukarek eksportujące funkcję ExtDeviceMode.

Aplikacje mogą pobierać obsługiwane przez drukarkę rozmiary i nazwy papieru, wywołując funkcję DeviceCapabilities z argumentami DC_PAPERS, DC_PAPERSIZE i DC_PAPERNAMES.

Przed ustawieniem wartości składnika dmTTOption aplikacja powinna sprawdzić sposób obsługi przez drukarkę czcionek typu TrueType, wywołując funkcję DeviceCapabilities z argumentem DC_TRUETYPE.


Stałe składnika Fields

Sterownik drukarki obsługuje tylko te składniki, które są zgodne z technologią drukarki.

Stała	Wartość
DM_ORIENTATION	&H0000001
DM_PAPERSIZE	&H0000002
DM_PAPERLENGTH	&H0000004
DM_PAPERWIDTH	&H0000008
DM_SCALE	&H0000010
DM_COPIES	&H0000100
DM_DEFAULTSOURCE	&H0000200
DM_PRINTQUALITY	&H0000400
DM_COLOR	&H0000800
DM_DUPLEX	&H0001000
DM_YRESOLUTION	&H0002000
DM_TTOPTION	&H0004000
DM_COLLATE	&H0008000
DM_FORMNAME	&H0010000


Wartości składnika PaperSize

Wartość	Rozmiar papieru
1	Letter (8.5 x 11 cali)
2	Letter Small (8.5 x 11 cali)
3	Tabloid (11 x 17 cali)
4	Ledger (17 x 11 cali)
5	Legal (8.5 x 14 cali)
6	Statement (5.5 x 8.5 cala)
7	Executive (7.25 x 10.5 cala)
8	A3 (297 x 420 mm)
9	A4 (210 x 297 mm)
10	A4 Small (210 x 297 mm)
11	A5 (148 x 210 mm)
12	B4 (250 x 354 mm)
13	B5 (182 x 257 mm)
14	Folio (8.5 x 13 cali)
15	Quarto (215 x 275 mm)
16	11 x 17 cali
18	Note (8.5 x 11 cali)
19	Envelope #9 (3.875 x 8.875 cala)
20	Envelope #10 (4.125 x 9.5 cala)
21	Envelope #11 (4.5 x 10.375 cala)
22	Envelope #12 (4.25 x 11 cali)
23	Envelope #14 (5 x 11.5 cala)
24	C size sheet (17 x 22 cale)
25	D size sheet (22 x 34 cale)
26	E size sheet (34 x 44 cale)
27	Envelope DL (110 x 220 mm)
28	Envelope C5 (162 x 229 mm)
29	Envelope C3 (324 x 458 mm)
30	Envelope C4 (229 x 324 mm)
31	Envelope C6 (114 x 162 mm)
32	Envelope C65 (114 x 229 mm)
33	Envelope B4 (250 x 353 mm)
34	Envelope B5 (176 x 250 mm
35	Envelope B6 (176 x 125 mm)
36	Envelope (110 x 230 mm)
37	Envelope Monarch (3.875 x 7.5 cala)
38	6-3/4 Envelope (3.625 x 6.5 cala)
39	US Std Fanfold (14.875 x 11 cali)
40	German Std Fanfold (8.5 x 12 cali)
41	German Legal Fanfold (8.5 x 13 cali)
256	Zdefiniowany przez użytkownika


Wartości składnika DefaultSource

Wartość	Znaczenie
1	Podajnik górny lub jedyny istniejący
2	Podajnik dolny
3	Podajnik środkowy
4	Podajnik ręczny
5	Podajnik kopert
6	Ręczny podajnik kopert
7	Podajnik automatyczny
8	Traktor
9	Podajnik małego formatu
10	Podajnik dużego formatu
11	Podajnik dużej pojemności
14	Podajnik kasetowy
256	Własny podajnik urządzenia


Wartości składnika TTOption

Wartość	Znaczenie
1	Drukuj czcionki TrueType jako grafikę. Ustawienie domyślne dla drukarek igłowych.
2	Wyślij czcionki TrueType jako czcionki ładowalne (czcionki ładowane do pamięci drukarki). Ustawienie domyślne dla drukarek Hewlett-Packard używających języka Printer Control Language (PCL).
3	Podstaw czcionki urządzenia zamiast czcionek TrueType. Ustawienie domyślne dla drukarek typu PostScript.


PrtDevMode, właściwość - przykład
PrtDevMode, właściwość – przykład

W poniższym przykładzie została użyta właściwość PrtDevMode do sprawdzenia zdefiniowanego przez użytkownika rozmiaru strony dla raportu:

Type str_DEVMODE

RGB As String * 94

End Type

Type type_DEVMODE

strDeviceName As String * 16

intSpecVersion As Integer

intDriverVersion As Integer

intSize As Integer

intDriverExtra As Integer

lngFields As Long

intOrientation As Integer

intPaperSize As Integer

intPaperLength As Integer

intPaperWidth As Integer

intScale As Integer

intCopies As Integer

intDefaultSource As Integer

intPrintQuality As Integer

intColor As Integer

intDuplex As Integer

intResolution As Integer

intTTOption As Integer

intCollate As Integer

strFormName As String * 16

lngPad As Long

lngBits As Long

lngPW As Long

lngPH As Long

lngDFI As Long

lngDFr As Long

End Type

Sub CheckCustomPage(rptName As String)

Dim DevString As str_DEVMODE

Dim DM As type_DEVMODE

Dim strDevModeExtra As String

Dim rpt As Report

Dim intResponse As Integer

' Opens report in Design view.

DoCmd.OpenReport rptName, acDesign

Set rpt = Reports(rptName)

If Not IsNull(rpt.PrtDevMode) Then

strDevModeExtra = rpt.PrtDevMode   ' Gets current DEVMODE structure.

DevString.RGB = strDevModeExtra

LSet DM = DevString

If DM.intPaperSize = 256 Then

' Display user-defined size.

intResponse = MsgBox("The current custom page size is " _

& DM.intPaperWidth / 254 & " inches wide by " _

& DM.intPaperLength / 254 & " inches long. Do you want " _

& "to change the settings?", 4)

Else

' Currently not user-defined.

intResponse = MsgBox("The report does not have a custom page size. " _

& "Do you want to define one?", 4)

End If

If intResponse = 6 Then

' User wants to change settings.

' Initialize fields.

DM.lngFields = DM.lngFields Or DM.intPaperSize Or DM.intPaperLength _

Or DM.intPaperWidth

DM.intPaperSize = 256	' Set custom page.

' Prompt for length and width.

DM.intPaperLength = InputBox("Please enter page length " _

& "in inches.") * 254

DM.intPaperWidth = InputBox("Please enter page width " _

& "in inches.") * 254

LSet DevString = DM	' Update property.

Mid(strDevModeExtra, 1, 94) = DevString.RGB

rpt.PrtDevMode = strDevModeExtra

End If

End If

End Sub

W następnym przykładzie zostało pokazane, jak zmienić orientację raportu. Orientacja zostaje zmieniona z pionowej na poziomą lub odwrotnie w zależności od bieżącej orientacji raportu.

Sub SwitchOrient(strName As String)

Const DM_PORTRAIT = 1

Const DM_LANDSCAPE = 2

Dim DevString As str_DEVMODE

Dim DM As type_DEVMODE

Dim strDevModeExtra As String

Dim rpt As Report

DoCmd.OpenReport strName, acDesign	' Opens report in Design view.

Set rpt = Reports(strName)

If Not IsNull(rpt.PrtDevMode) Then

strDevModeExtra = rpt.PrtDevMode

DevString.RGB = strDevModeExtra

LSet DM = DevString

DM.lngFields = DM.lngFields Or DM.intOrientation	' Initialize fields.

If DM.intOrientation = DM_PORTRAIT Then

DM.intOrientation = DM_LANDSCAPE

Else

DM.intOrientation = DM_PORTRAIT

End If

LSet DevString = DM	' Update property.

Mid(strDevModeExtra, 1, 94) = DevString.RGB

rpt.PrtDevMode = strDevModeExtra

End If

End Sub


PrtDevNames, właściwość

Właściwości PrtDevNames można użyć do ustawienia lub zwrócenia informacji o drukarce wybranej w oknie dialogowym Drukuj dla formularza lub raportu.

Uwaga   Zaleca się skorzystanie z dokumentacji pakietu Win32 Software Development Kit zawierającej pełne informacje na temat właściwości PrtDevMode, PrtDevNames i PrtMip.

Ustawienia

Właściwość PrtDevNames jest strukturą o zmiennej długości, będącą kopią struktury DEVNAMES zdefiniowanej w pakiecie Win32 Software Development Kit.

Właściwość PrtDevNames używa następujących składników.

Składnik	Opis
DriverOffset	Określa odległość od początku struktury do ciągu znaków zakończonego wartością Null, będącego nazwą pliku (bez rozszerzenia) sterownika drukarki. Ten ciąg znaków jest używany do określenia, jaka drukarka jest początkowo wyświetlana w oknie dialogowym Drukuj.
DeviceOffset	Określa odległość od początku struktury do ciągu znaków zakończonego wartością Null, będącego nazwą urządzenia. Ten ciąg znaków nie może być dłuższy niż 32 bajty (wraz ze znakiem null) i musi być taki sam, jak składnik DeviceName struktury DEVMODE.
OutputOffset	Określa odległość od początku struktury do ciągu znaków zakończonego wartością Null, będącego nazwą urządzenia MS-DOS dla fizycznego nośnika wyjściowego (portu wyjścia), na przykład "LPT1:".
Default	Określa, czy ciągi znaków określone w strukturze DEVNAMES identyfikują drukarkę domyślną. Jeśli przed wyświetleniem okna dialogowego Drukuj składnik Default jest ustawiony na wartość 1, a wszystkie wartości struktury DEVNAMES odpowiadają bieżącej drukarce domyślnej, zaznaczona drukarka jest ustawiana jako domyślna. Po wybraniu drukarki domyślnej składnik Default jest ustawiany na wartość 1.
Właściwość PrtDevNames jest ustawiana przez program Microsoft Access, gdy użytkownik wybiera opcje w sekcji "Drukarka" okna dialogowego Drukuj. Właściwość tę można również ustawić w kodzie języka Visual Basic.

Uwagi

Program Microsoft Access używa struktury DEVNAMES do inicjacji okna dialogowego Drukuj. Gdy użytkownik wybierze przycisk OK, aby zamknąć to okno dialogowe, informacje o wybranej drukarce są zwracane przez właściwość PrtDevNames.


PrtMip, właściwość

Właściwości PrtMip można użyć w kodzie języka Visual Basic do ustawienia lub zwrócenia informacji dotyczących trybu urządzenia określonych dla formularza lub raportu w oknie dialogowym Drukuj.

Ustawienia

Ustawienie właściwości PrtMip jest 28-bajtową strukturą odwzorowującą ustawienia karty Marginesy dla formularza lub raportu w oknie dialogowym Ustawienia strony.

Właściwość PrtMip ma następujące składniki.

Składnik	Opis
LeftMargin, RightMargin, TopMargin, BottomMargin	Wartość typu Liczba całkowita określająca odległość od krawędzi strony do drukowanego elementu w twipach.
DataOnly	Wartość typu Liczba całkowita określająca elementy, które mają być wydrukowane. Ustawienia wartości True (–1), powoduje wydrukowanie tylko danych tabeli lub kwerendy w widoku "Arkusz danych" formularza lub raportu, z pominięciem etykiet, obramowań formantów, linii siatki i elementów graficznych, takich jak linie i prostokąty. Ustawienie wartości False (0) powoduje wydrukowanie danych, etykiet i grafiki.
ItemsAcross	Wartość typu Liczba całkowita określająca liczbę kolumn w raportach lub etykietach wielokolumnowych. Ustawienie tego składnika jest równoważne wartości pola Liczba kolumn w grupie Ustawienia siatki na karcie Kolumny okna dialogowego Ustawienia strony.
RowSpacing	Wartość typu Liczba całkowita określająca odstęp poziomy między sekcjami szczegółów w jednostkach 1/20 punktu.
ColumnSpacing	Wartość typu Liczba całkowita określająca odstęp pionowy między sekcjami szczegółów w twipach.
DefaultSize	Wartość typu Liczba całkowita. Przy ustawieniu na wartość True używany jest rozmiar sekcji szczegółów w widoku "Projekt". Przy ustawieniu na wartość False używane są wartości określone przez składniki ItemSizeWidth i ItemSizeHeight.
ItemSizeWidth	Wartość typu Liczba całkowita określająca szerokość sekcji szczegółów w twipach. Ustawienie tego składnika jest równoważne wartości pola Szerokość w grupie Rozmiar kolumn na karcie Kolumny okna dialogowego Ustawienia strony.
ItemSizeHeight	Wartość typu Liczba całkowita określająca wysokość sekcji szczegółów w twipach. Ustawienie tego składnika jest równoważne wartości pola Wysokość w grupie Rozmiar kolumn na karcie Kolumny okna dialogowego Ustawienia strony.
ItemLayout	Wartość typu Liczba całkowita określająca poziomy (1953) lub pionowy (1954) układ kolumn. Ustawienie tego składnika jest równoważne zaznaczeniu odpowiednio opcji W poprzek i w dół lub W dół i w poprzek w grupie Układ kolumn na karcie Kolumny okna dialogowego Ustawienia strony.
FastPrint	Zarezerwowany.
Datasheet	Zarezerwowany.
Właściwość PrtMip ma atrybut zapis/odczyt w widoku "Projekt" oraz tylko-do-odczytu w pozostałych widokach.


PrtMip, właściwość - przykład
PrtMip, właściwość – przykład

W poniższym przykładzie zostało pokazane, jak użyć właściwości PrtMip do ustawienia raportu z dwoma poziomymi kolumnami.

Type str_PRTMIP

strRGB As String * 28

End Type

Type type_PRTMIP

intLeftMargin As Integer

intTopMargin As Integer

intRightMargin As Integer

intBotMargin As Integer

intDataOnly As Integer

intWidth As Integer

intHeight As Integer

intDefaultSize As Integer

intColumns As Integer

intColumnSpacing As Integer

intRowSpacing As Integer

intItemLayout As Integer

intFastPrint As Integer

intDatasheet As Integer

End Type

Sub PrtMipCols(strName As String)

Dim PrtMipString As str_PRTMIP

Dim PM As type_PRTMIP

Dim rpt As Report

Const PM_HORIZONTALCOLS = 1953

Const PM_VERTICALCOLS = 1954

DoCmd.OpenReport strName, acDesign

Set rpt = Reports(strName)

PrtMipString.strRGB = rpt.PrtMip

LSet PM = PrtMipString

PM.intColumns = 2	' Create two columns.

PM.intRowSpacing = 0.25 * 1440	' Set 0.25 inch between rows.

PM.intColumnSpacing = 0.5 * 1440	' Set 0.5 inch between columns.

PM.intItemLayout = PM_HORIZONTALCOLS

LSet PrtMipString = PM	' Update property.

rpt.PrtMip = PrtMipString.strRGB

End Sub

W następnym przykładzie zostało pokazane, jak użyć właściwości PrtMip do ustawienia wszystkich marginesów na 1 cal.

Sub SetMarginsToDefault(strName As String)

Dim PrtMipString As str_PRTMIP

Dim PM As type_PRTMIP

Dim rpt As Report

DoCmd.OpenReport strName, acDesign

Set rpt = Reports(strName)

PrtMipString.strRGB = rpt.PrtMip

LSet PM = PrtMipString

PM.intLeftMargin = 1 * 1440	' Set margins.

PM.intTopMargin = 1 * 1440

PM.intRightMargin = 1 * 1440

PM.intBotMargin = 1 * 1440

LSet PrtMipString = PM	' Update property.

rpt.PrtMip = PrtMipString.strRGB

End Sub


Alias, właściwość

Właściwości Alias można użyć do określenia niestandardowej nazwy dla tabeli lub kwerendy źródłowej, jeśli ta sama tabela lub kwerenda jest używana w tej samej kwerendzie więcej niż raz.

Uwaga   Właściwość Alias odnosi się tylko do tabel lub kwerend używanych jako źródła danych w kwerendzie.

Ustawienia

Można użyć wyrażenia typu ciąg znaków, aby ustawić właściwość Alias na dowolną nazwę nie używaną aktualnie w bazie danych. Właściwość tę można ustawić w widoku "Projekt" kwerendy klikając prawym przyciskiem myszy listę pól w siatce projektu kwerendy, a następnie klikając polecenie Właściwości.

Właściwość Alias można ustawić w widoku SQL okna kwerendy używając klauzuli AS w instrukcji SQL.

Uwagi

Trzeba użyć aliasu tworząc samosprzężenie w instrukcji SQL.

Gdy użytkownik dodaje tabelę lub kwerendę do kwerendy, właściwość Alias jest automatycznie ustawiana przez program Microsoft Access na nazwę tabeli lub kwerendy. Jeśli dodaje on drugą instancję tej samej tabeli lub kwerendy, właściwość Alias jest ustawiana na nazwę obiektu z dodaną poziomą kreską i liczbą 1 ("_1").

Utworzenie aliasu nie zmienia nazwy danej tabeli lub kwerendy – określa jedynie jej drugą nazwę, której można używać odwołując się do tabeli lub kwerendy. Na przykład w kwerendzie zawierającej samosprzężenie, która pokazuje pracowników (employees) i ich kierowników (managers), tabela "Emplooyees" może wystąpić dwukrotnie. Jej duplikat otrzyma automatycznie nazwę " Emplooyees_1". Aby nazwa duplikatu była bardziej opisowa, można ustawić właściwość Alias na "Managers".


Alias, właściwość - przykład
Alias, właściwość – przykład

W poniższym przykładzie właściwość RecordSource formularza zostaje ustawiona na instrukcję SQL używającą klauzuli AS do określenia nazwy "Managers" jako aliasu dla tabeli "Employees".

Dim strGetSQL AS String

strGetSQL = "SELECT Employees.FirstName, Employees.LastName, " _

& "Employees.Title, Managers.FirstName, Managers.LastName FROM Employees " _

& "INNER JOIN Employees AS Managers " _

& "ON Employees.ReportsTo = Managers.EmployeeID; "

Forms!Form1.RecordSource = strGetSQL

W następnym przykładzie zostało użyte samosprzężenie do pokazania pracowników (employees) i ich kierowników (managers), a klauzula AS do ustawienia właściwości Alias duplikatu tabeli "Employees" na nazwę "Managers". Poniższe wyrażenie można wpisać w widoku SQL okna kwerendy.

SELECT Employees.FirstName, Employees.LastName, Employees.Title, Managers.FirstName, Managers.LastName

FROM Employees INNER JOIN Employees AS Managers

ON Employees.ReportsTo = Managers.EmployeeID;


ColumnHeadings, właściwość

Właściwości ColumnHeadings (NagłówkiKolumn) można użyć do określenia kolejności kolumn lub ograniczenia liczby kolumn wyświetlanych w kwerendzie krzyżowej. Jeśli na przykład kwerenda wyświetla nazwy różnych krajów, można określić ich kolejność – najpierw Stany Zjednoczone, potem Kanada i Wielka Brytania.

Ustawienia

Wartości danych z pola nagłówka kolumny kwerendy krzyżowej należy wprowadzić jako wyrażenie typu ciąg znaków, w takiej kolejności, w jakiej nagłówki mają się pojawić w arkuszu danych kwerendy krzyżowej, oddzielone przecinkiem (lub separatorem listy ustawionym w oknie dialogowym Właściwości: Ustawienia regionalne w Panelu sterowania systemu Windows). W poniższej tabeli zostały pokazane przykładowe ustawienia właściwości ColumnHeadings i odpowiadające im wyniki w arkuszu danych kwerendy krzyżowej.

Przykładowe ustawienie	Wynik
"I Kwartał", "II Kwartał ", "III Kwartał ", "IV Kwartał"	W nagłówkach kolumn pojawiają się kwartały.
"Meksyk", "Kanada", "USA"	W nagłówkach kolumn pojawiają się kraje.
Właściwość tę można ustawić w arkuszu właściwości kwerendy. Można ją również ustawić w widoku SQL okna kwerendy lub w kodzie języka Visual Basic za pomocą klauzuli PIVOT w instrukcji SQL.

Uwaga   Nagłówki kolumn określone we właściwości ColumnHeadings muszą dokładnie odpowiadać wartościom danych w polu nagłówka kolumny w siatce projektu kwerendy. W przeciwnym razie dane nie pojawią się w kolumnach.

Uwagi

Właściwość ColumnHeadings pozwala określić wygląd nagłówków kolumn w kwerendzie krzyżowej. Wartości danych w polu nagłówka kolumny domyślnie porządkowane są rosnąco. Jeśli na przykład polem tym jest "Miesiąc", domyślnymi nagłówkami kolumn będą Czerwiec, Grudzień, Kwiecień, Lipiec, Listopad itd. Aby je uporządkować w poprawny sposób, należy odpowiednio ustawić właściwość ColumnHeadings na "Styczeń", "Luty", "Marzec" itd.

Po podaniu nagłówka kolumny w ustawieniu właściwości ColumnHeadings kolumna ta jest zawsze wyświetlana w widoku "Arkusz danych", nawet jeśli kolumna nie zawiera danych. Jest to użyteczne na przykład w raporcie opartym na kwerendzie krzyżowej, gdy mają być w nim wyświetlane zawsze te same nagłówki kolumn.

Wskazówka   Właściwości ColumnHeadings można użyć również do przyspieszenia wykonywania pewnych kwerend krzyżowych przez ograniczenie liczby uwzględnianych kolumn.


ColumnHeadings, właściwość - przykład
ColumnHeadings, właściwość – przykład

W poniższym przykładzie tworzone są cztery nagłówki kolumn (Qtr 1, Qtr 2, Qtr 3, Qtr 4) w widoku "Arkusz danych" kwerendy krzyżowej zestawiającej zamówienia kwartalne według produktów. Poniższą instrukcję można wpisać w widoku SQL okna kwerendy.

TRANSFORM Sum(CCur([Order Details].UnitPrice * [Order Details].Quantity * (1-[Discount])/100) * 100)

AS ProductAmount SELECT Products.ProductName FROM Products

INNER JOIN (Orders INNER JOIN [Order Details] ON Orders.OrderID = [Order Details].OrderID)

ON Products.ProductID = [Order Details].ProductID

WHERE (((Orders.ShippedDate) Between #1/1/94# And #12/31/94#))

GROUP BY Products.ProductName PIVOT "Qtr " & DatePart("q",[ShippedDate],1,0);


OutputAllFields, właściwość

Właściwości OutputAllFields (WyprowadźWszystkiePola) można użyć do pokazania wszystkich pól odnośnego źródła danych kwerendy i listy pól formularza lub raportu. Ustawienie tej właściwości umożliwia szybkie pokazanie wszystkich pól bez potrzeby klikania dla każdego z nich pola Pokaż w siatce projektu kwerendy.

Uwaga   Właściwość OutputAllFields odnosi się tylko do kwerend dołączających, tworzących tabelę i wybierających.

Ustawienia

Dla właściwości OutputAllFields używane są następujące ustawienia.

Ustawienie	Opis
Tak	Wyświetla wszystkie pola z tabel odnośnych i z listy pól formularza lub raportu.
Nie	(Ustawienie domyślne) Wyświetla tylko pola z zaznaczonym polem Pokaż w siatce projektu kwerendy.
Właściwość tę można ustawić tylko w arkuszu właściwości kwerendy.

Uwaga   Umieszczenie w instrukcji SQL gwiazdki (*) w miejscu nazwy pola jest równoważne ustawieniu właściwości OutputAllFields na wartość "Tak".

Uwagi

Po ustawieniu właściwości OutputAllFields na wartość "Tak" jedynymi polami, które trzeba uwzględnić w siatce projektu kwerendy są pola, według których ma być przeprowadzone sortowanie lub dla których będą określane kryteria.

Przy zapisywaniu filtru jako kwerendy właściwość OutputAllFields jest ustawiana na wartość "Tak".


OutputAllFields, właściwość - przykład
OutputAllFields, właściwość – przykład

W poniższym przykładzie w instrukcji SQL została użyta gwiazdka do wybrania wszystkich pól tabeli "Shippers". Następnie wyświetlane są pola kwerendy w polach tekstowych formularza poprzez ustawienie właściwości ControlSource (ŹródłoFormantu) pól tekstowych na nazwy poszczególnych pól kwerendy.

Dim strGetSQL AS String

strGetSQL = "SELECT * FROM Shippers"

Forms!Form1.RecordSource = strGetSQL

Text1.ControlSource = "ShipperID"

Text2.ControlSource = "CompanyName"

Dla danych wyprowadzanych przez następną instrukcję SQL, wartości w polach "CompanyName" i "ProductName" są sortowane rosnąco, a wszystkie pola tabel "Suppliers" i "Products" są wyświetlane na liście pól w widoku "Arkusz danych". Poniższą instrukcję SQL można wpisać w widoku SQL okna kwerendy.

SELECT * FROM Suppliers INNER JOIN Products

ON Suppliers.[SupplierID] = Products.[SupplierID]

ORDER BY Suppliers.[CompanyName], Products.[ProductName];


ReturnsRecords, właściwość (Microsoft Access)

Właściwości ReturnsRecords (ZwracaRekordy) można użyć w kwerendzie przekazującej SQL do określenia, czy kwerenda zwraca rekordy. Na przykład, jeśli kwerenda przekazująca jest określona przez instrukcję SELECT * FROM EMPLOYEES, można ustawić właściwość ReturnsRecords na wartość "Tak", aby zostały wyświetlone rekordy wszystkich pracowników (employees) w arkuszu danych kwerendy.

Uwaga   Właściwość ReturnsRecords odnosi się tylko do kwerend przekazujących.

Ustawienia

Dla właściwości ReturnsRecords używane są następujące ustawienia.

Ustawienie	Opis	Visual Basic
Tak	(Ustawienie domyślne) Kwerenda zwraca rekordy (jak kwerenda wybierająca).	True (–1)
Nie	Kwerenda nie zwraca rekordów (jak kwerenda funkcjonalna).	False (0)
Właściwość tę można ustawić w arkuszu właściwości kwerendy lub w kodzie języka Visual Basic.

Wskazówka   Właściwość ReturnsRecords kwerendy przekazującej jest dostępna w języku Visual Basic, ale zalecane jest używanie właściwości ReturnsRecords obiektów dostępu do danych (DAO).

Uwagi

Kwerenda przekazująca może zwracać rekordy, ale można jej również użyć do modyfikacji danych, utworzenia obiektu bazy danych lub do wykonania akcji, tak jak kwerendy funkcjonalnej.

Po ustawieniu właściwości ReturnsRecords na wartość "Tak" można użyć kwerendy przekazującej w innej kwerendzie lub jako podstawy dla pola kombi, pola listy, formularza lub raportu. Po ustawieniu właściwości ReturnsRecords na wartość "Nie", nie można użyć kwerendy przekazującej jako podstawy dla obiektu lub formantu, ponieważ nie są zwracane żadne rekordy.


RunPermissions, właściwość

Właściwości RunPermissions (UaktywnijUprawnienia) można użyć w środowisku sieciowym dla zabezpieczonej grupy roboczej do rozszerzenia istniejących uprawnień użytkownika. Umożliwia to użytkownikowi odczytanie kwerendy lub uruchomienie kwerendy dołączającej, usuwającej tworzącej tabelę albo aktualizującej, do czego normalnie nie ma on uprawnień. Na przykład, użytkownik może być uprawniony tylko do czytania kwerend, podczas gdy ich właściciel ma uprawnienie  do zapisu i odczytu. Jeśli właściciel ustawi właściwość RunPermissions na wartość "Właściciela", umożliwi użytkownikowi wykonanie kwerendy dołączającej, która wstawia rekordy do tabeli.

Ustawienia

Dla właściwości RunPermissions używane są następujące ustawienia.

Ustawienia	Opis
Właściciela	Wszystkim użytkownikom przyznawane są uprawnienia właściciela do oglądania i wykonywania kwerendy.
Użytkownika	(Ustawienie domyślne) Użytkownicy mają tylko własne uprawnienia do oglądania i wykonywania kwerendy.
Właściwość tę można ustawić w arkuszu właściwości kwerendy.

Właściwość RunPermissions można również ustawić w widoku SQL okna kwerendy za pomocą deklaracji WITH OWNERACCESS OPTION w instrukcji SQL.


RunPermissions, właściwość - przykład
RunPermissions, właściwość – przykład

W poniższym przykładzie użytkownikom zostają przyznane uprawnienia właściciela do kwerendy wybierającej opartej na tabeli "Categories". Poniższą instrukcję SQL można wpisać w widoku SQL okna kwerendy.

SELECT Categories.CategoryID, Categories.CategoryName, Categories.Description

FROM Categories WITH OWNERACCESS OPTION;


Source, właściwość

Właściwości Source (Źródło) można użyć do określenia ciągu znaków połączenia i źródłowej bazy danych dla tabeli lub kwerendy źródłowej danej kwerendy. Jest to konieczne, gdy użytkownik chce uzyskać dostęp do danych tabeli zewnętrznej bez przyłączania tej tabeli.

Wskazówka   Dostęp do tabel ODBC za pomocą właściwości Source i SourceConnectStr (ŹródłowyCiągPołączenia) jest znacznie wolniejszy niż przy użyciu tabel połączonych.

Ustawienia

Właściwość Source można ustawić używając wyrażenia typu ciąg znaków. Nie można ustawić tej właściwości bezpośrednio w kodzie. Jest ona ustawiana podczas tworzenia nowej kwerendy za pomocą instrukcji SQL. Klauzula FROM w instrukcji SQL odpowiada ustawieniu właściwości Source.

W poniższych przykładach zostało pokazane, w jaki sposób można użyć właściwości Source przy połączeniach z różnymi typami zewnętrznych baz danych.

Typ bazy danych	Należy określić	Przykładowe ustawienie
Microsoft Access	Ścieżkę i nazwę bazy danych. Rozszerzenie nazwy pliku jest dodawane automatycznie przez program Microsoft Access.	C:\Accts\Customers
dBASE	Typ i ścieżkę bazy danych. Listę określników można znaleźć w opisie właściwości Connect obiektów dostępu do danych (DAO).	dBASE IV;DatabaseTable=C:\DBDATA
SQL Server (ODBC)	Nazwę źródłowej bazy danych oraz wszelkie dodatkowe informacje wymagane przez ten produkt, na przykład identyfikator logowania (ID) i hasło. Można również użyć Konstruktora ciągów znaków połączenia ODBC do utworzenia ciągu znaków połączenia.	ODBC;DSN=salessrv;UID=jace; PWD=password;DATABASE=sales;
Właściwość tę można ustawić w arkuszu właściwości listy pól kwerendy.

Można ją również ustawić w widoku SQL okna kwerendy za pomocą klauzul FROM i IN w instrukcji SQL.

Uwagi

Jeśli wszystkie tabele źródłowe kwerendy pochodzą z tej samej zewnętrznej bazy danych, należy użyć właściwości SourceConnectStr i SourceDatabase (ŹródłowaBazaDanych) kwerendy zamiast ustawiać właściwość Source dla każdej tabeli lub kwerendy źródłowej.


Source, właściwość - przykład

W poniższym przykładzie właściwość ControlSource (ŹródłoFormantów) dla pola tekstowego "lstContact" zostaje ustawiona na pole tabeli programu dBASE IV.

Dim strGetSQL AS String

strGetSQL = "SELECT Customer.COMPANYNAM, Customer.PHONE FROM Customer IN 'c:\dbdata'[dBASE IV;];"

Me.lstContact.RowSource = strGetSQL

W następnym przykładzie źródłem danych kwerendy jest tabela programu dBASE IV o nazwie "Customer" w folderze C:\Dbdata. Poniższą instrukcję SQL można wpisać w widoku SQL okna kwerendy.

SELECT Customer.COMPANYNAM, Customer.PHONE

FROM Customer IN 'c:\dbdata'[dBASE IV;];


TopValues, właściwość

Właściwości TopValues (NajwyższeWartości) można użyć do określania liczby lub procentu rekordów spełniających zadane kryteria. Można na przykład zwracać 10 największych wartości lub pierwszych 25% wartości w polu.

Uwaga   Właściwość TopValue odnosi się do kwerend dołączających, tworzących tabelę i wybierających.

Ustawienia

Ustawieniem właściwości TopValues jest wartość typu Liczba całkowita reprezentująca dokładną liczbę zwracanych wartości lub liczba ze znakiem procentu (%) reprezentująca procent zwracanych rekordów. Na przykład, aby zwrócić 10 największych wartości, należy ustawić właściwość TopValues na wartość 10; aby zwrócić 10 procent wszystkich wartości, poczynając od największej, należy ustawić właściwość TopValues na wartość 10%.

Właściwości tej nie można ustawić bezpośrednio w kodzie. Można ją ustawić w widoku SQL okna kwerendy za pomocą klauzuli TOP n lub TOP n PERCENT w instrukcji SQL.

Właściwość TopValues można również ustawić w arkuszu właściwości kwerendy lub za pomocą pola Największe wartości  [image]  na pasku narzędzi Projekt kwerendy.

Uwaga   Właściwość TopValues w arkuszu właściwości kwerendy i na pasku narzędzi Projekt kwerendy jest polem kombi zawierającym listę wartości bezwzględnych i wartości procentowych. Można wybrać jedną z tych wartości, albo wprowadzić dowolną prawidłową wartość w części tekstowej tego formantu.

Uwagi

Właściwości TopValues używa się na ogół dla pól posortowanych. Pole, dla którego mają być wyświetlone największe wartości powinno być pierwszym od lewej strony polem z zaznaczonym polem Sortuj w siatce projektu kwerendy. Przy sortowaniu rosnącym zwracane są rekordy końcowe, a przy sortowaniu malejącym, rekordy początkowe. Jeśli zostanie określona konkretna liczba zwracanych rekordów, wszystkie rekordy, których wartości pasują do wartości ostatniego rekordu, są również zwracane.

Załóżmy na przykład, że zespół pracowników działu sprzedaży ma następujące obroty.

Obrót	Pracownik
90 000	Leverling
80 000	Peacock
70 000	Davolio
70 000	King
60 000	Suyama
50 000	Buchanan
Po ustawieniu właściwości TopValues na wartość 3 oraz sortowania malejącego dla pola "Obrót" zostaną zwrócone poniższe 4 rekordy:

Obrót	Pracownik
90 000	Leverling
80 000	Peacock
70 000	Davolio
70 000	King
Uwaga   Aby zwrócić wartości najmniejsze lub największe bez powtórzeń, należy ustawić właściwość UniqueValues (WartościUnikatowe) w arkuszu właściwości kwerendy na wartość "Tak".


TopValues, właściwość - przykład

W poniższym przykładzie właściwość RecordSource (ŹródłoRekordów) formularza zostaje ustawiona na instrukcję SQL zwracającą 10 najdroższych produktów.

Dim strGetSQL As String

strGetSQL = "SELECT TOP 10 Products.[ProductName] " _

& "AS TenMostExpensiveProducts, Products.UnitPrice FROM Products " _

& "ORDER BY Products.[UnitPrice] DESC;"

Me.RecordSource = strGetSQL


DestConnectStr, DestinationDB, DestinationTable, właściwości

•	Właściwość DestinationDB (DocelowaBazaDanych) określa typ aplikacji użytej do utworzenia zewnętrznej bazy danych.

•	Właściwość DestConnectStr (CiągDocelowegoPołączenia) określa ciąg znaków połączenia dla bazy danych zawierającej nowo tworzoną tabelę (dla kwerendy tworzącej tabelę) lub zawierającej tabelę, do której będą dołączane dane (dla kwerendy dołączającej).

•	Właściwość DestinationTable (TabelaDocelowa) określa nazwę tabeli, w której będą przechowywane wyniki kwerendy tworzącej tabelę lub dołączającej.

Uwaga   Właściwości DestConnectStr, DestinationDB i DestinationTable odnoszą się tylko do kwerend tworzących tabelę i dołączających.

Ustawienia

Właściwości DestConnectStr, DestinationDB i DestinationTable ustawia się za pomocą wyrażenia typu ciąg znaków.

Ustawieniem domyślnym właściwości DestinationDB jest ustawienie "(bieżąca)", odwołujące się do aktywnej bazy danych.

Właściwości te można ustawić w arkuszu właściwości kwerendy lub w widoku SQL okna kwerendy.

W instrukcji SQL dla kwerendy dołączającej nazwa tabeli w instrukcji INSERT INTO odpowiada ustawieniu właściwości DestinationTable. Klauzula IN odpowiada ustawieniom właściwości DestinationDB i DestConnectStr.

W instrukcji SQL dla kwerendy tworzącej tabelę, nazwa tabeli w klauzuli INTO odpowiada ustawieniu właściwości DestinationTable. Klauzula IN odpowiada ustawieniom właściwości DestinationDB i DestConnectStr.

Uwaga   Właściwości te są ustawiane automatycznie przez program Microsoft Access na podstawie danych wprowadzonych do arkusza właściwości kwerendy lub w widoku SQL okna kwerendy.

Uwagi

Gdy użytkownik kliknie polecenie Kwerenda tworząca tabel lub Kwerenda dołączająca w menu Kwerenda, program Microsoft Access monituje o podanie informacji potrzebnych do ustawienia tych właściwości. Program Microsoft Access używa wartości wprowadzonej w polu Nazwa tabeli do ustawienia właściwości DestinationTable, a informacji wpisanych w polu Nazwa pliku do ustawienia właściwości DestConnectStr i DestinationDB.

Aby użyć arkusza właściwości kwerendy do określenia tabeli w bazie danych programu Microsoft Access, należy wprowadzić nazwę tej tabeli w polu właściwości DestinationTable (np. "Clients"). W polu właściwości DestinationDB należy wpisać ścieżkę i nazwę bazy danych bez rozszerzenia nazwy pliku (np. C:\Accounts\Customers). Program Microsoft Access automatycznie dodaje rozszerzenie. Nie trzeba ustawiać właściwości DestConnectStr.

Aby określić tabelę w bazie danych utworzonej w innym programie, na przykład Paradox, należy wpisać nazwę tabeli w polu właściwości DestinationTable. W polu właściwości DestinationDB należy wpisać ścieżkę (np. C:\Pdoxdata). W polu właściwości DestConnectStr należy wpisać określnik typu bazy danych (np. Paradox 3.x). Listę określników można znaleźć w opisie właściwości Connect obiektów dostępu do danych (DAO).

Aby określić bazę danych standardu Open Database Connectivity (ODBC), należy w polu właściwości DestConnectStr wpisać nazwę bazy danych wraz z dodatkowymi informacjami wymaganymi przez konkretny rodzaj bazy danych, takimi jak identyfikator logowania (ID) i hasło. Dla bazy danych programu Microsoft SQL Server może to być przykładowo:

ODBC;DSN=salessrv;UID=jace;PWD=password;DATABASE=sales;

Więcej informacji o sterownikach ODBC, takich jak Microsoft SQL Server, można znaleźć w Pomocy dostarczonej wraz ze sterownikiem.

Dla baz danych ODBC nie trzeba ustawiać właściwości DestinationDB.

Więcej informacji na temat dostępu do baz danych ODBC, można znaleźć w rozdziale 18, "Dostęp do danych zewnętrznych" podręcznika Tworzenie aplikacji Microsoft Access 97.


DestConnectStr, DestinationDB, DestinationTable, właściwości - przykład
DestConnectStr, DestinationDB, DestinationTable, właściwości – przykład

W poniższym przykładzie rekordy z tabeli "Customer" zostają dołączone do tabeli "Clients" w bazie danych programu Microsoft Access o nazwie "Clients" znajdującej się w katalogu C:\Data. Poniższe wyrażenie SQL można wpisać w widoku SQL okna kwerendy.

INSERT INTO Clients IN 'C:\Data\Clients.mdb'

SELECT Customer.[CompanyName], Customer.Phone

FROM Customer;

W następnym przykładzie zostaje utworzona nowa tabela o nazwie "Contacts" w bazie danych programu Paradox wersji 3.x znajdującej się w katalogu C:\Pdoxdata.

SELECT Customer.CompanyName, Customer.Phone

INTO Contacts IN 'C:\Pdoxdata' [Paradox 3.x;] FROM Customer;


LogMessages, właściwość

Właściwości LogMessages (RejestrowanieKomunikatów) można użyć w kwerendzie przekazującej SQL do określenia, czy komunikaty zwrócone przez bazę danych SQL mają być przechowywane w tabeli komunikatów bieżącej bazy danych programu Microsoft Access.

Uwaga   Właściwość LogMessages odnosi się tylko do kwerend przekazujących.

Ustawienia

Dla właściwości LogMessages używane są następujące ustawienia.

Ustawienie	Opis	Visual Basic
Tak	Program Microsoft Access przechowuje komunikaty zwrócone przez bazę danych SQL w tabeli komunikatów.	True (–1)
Nie	(Ustawienie domyślne) Program Microsoft Access nie przechowuje komunikatów zwróconych przez bazę danych SQL.	False (0)
Właściwość tę można ustawić w arkuszu właściwości kwerendy lub w kodzie języka Visual Basic.

Uwagi

Nazwa tabeli komunikatów przechowująca zwrócone komunikaty ma postać nazwa_użytkownika - nn, gdzie nazwa_użytkownika jest nazwą logowania użytkownika wykonującego kwerendę przekazującą, a nn jest liczbą całkowitą zwiększaną o 1 poczynając od 00. Załóżmy na przykład, że użytkownik JoanW ustawia właściwość LogMessages na wartość "Tak" i otrzymuje komunikaty z bazy danych SQL. Zostanie utworzona tabela komunikatów o nazwie "JoanW - 00". Jeśli użytkownik JoanW otrzyma jakieś komunikaty podczas kolejnej sesji programu Microsoft Access (a pierwsza tabela nie zostanie usunięta), to zostanie utworzona tabela komunikatów o nazwie "JoanW - 01".

Uwaga   W tabeli komunikatów nie są przechowywane komunikaty o błędach z serwera SQL.


ODBCConnectStr, właściwość

Właściwości ODBCConnectStr (CiągPołączeniaODBC) można użyć w kwerendzie przekazującej SQL do określenia ciągu znaków połączenia ODBC (Open Database Connectivity) dla kwerendy.

Uwaga   Właściwość ODBCConnectStr odnosi się tylko do kwerend przekazujących.

Ustawienia

Należy podać ciąg znaków połączenia ODBC definiujący połączenie z żądaną bazą danych SQL.

Właściwość tę można ustawić w arkuszu właściwości kwerendy lub w kodzie języka Visual Basic.

Aby ustawić ciąg znaków połączenia dla tej właściwości, można również użyć Konstruktora ciągów połączenia ODBC. Konstruktor ten ustanawia połączenie z serwerem bazy danych SQL i przerywa je po utworzeniu ciągu znaków połączenia ODBC.

Uwagi

Ustawieniem domyślnym tej właściwości jest ciąg znakow "ODBC;" przywracany po usunięciu istniejącego ustawienia. Jeśli właściwość ODBCConnectStr jest ustawiona na wartość "ODBC;", program Microsoft Access monituje o podanie ciągu znaków połączenia, ilekroć wykonywana jest kwerenda, ale podany ciąg nie jest przechowywany. Aby ciąg znaków połączenia został zapamiętany, należy wpisać go w polu właściwości ODBCConnectStr.

Wskazówka   Jeśli znany jest pełny ciąg znaków połączenia dla bazy danych SQL, należy go wpisać w polu właściwości ODBCConnectStr. Uniknie się wtedy konieczności każdorazowego wpisywania go w oknie dialogowym połączenia ODBC podczas wykonywania kwerendy.

Ciąg znaków połączenia zależy od typu źródła danych ODBC. Aby na przykład połączyć się ze źródłem danych "Human Resources" na serwerze HRSRVR (Microsoft SQL Server) za pomocą identyfikatora logowania (ID) "Smith" oraz hasła "Sesame", należy użyć poniższego ciągu znaków połączenia.

ODBC;DSN=Human Resources;SERVER=HRSRVR;UID=Smith;PWD=Sesame

Więcej informacji na temat dostępu do baz danych ODBC, można znaleźć w rozdziale 18, "Dostęp do danych zewnętrznych" podręcznika Tworzenie aplikacji Microsoft Access 97.


ODBCTimeout, właściwość

Właściwości ODBCTimeout (CzasOczekiwaniaODBC) można użyć do określenia liczby sekund oczekiwania przez program Microsoft Access na połączenie z bazą danych standardu Open Database Connectivity (ODBC) podczas wykonywania kwerendy, zanim wystąpi błąd przekroczenia limitu czasu oczekiwania.

Ustawienia

Ustawieniem właściwości ODBCTimeout jest wartość typu Liczba całkowita reprezentująca liczbę sekund oczekiwania. Wartością domyślną jest 60 sekund. Gdy wartość ta jest ustawiona na wartość 0, nie występuje błąd przekroczenia limitu czasu oczekiwania.

Właściwość tę można ustawić w arkuszu właściwości lub w kodzie języka Visual Basic.

Uwagi

Podczas używania bazy danych ODBC, takiej jak Microsoft SQL Server, mogą występować opóźnienia spowodowane przeciążeniem sieci lub serwera ODBC. Właściwość ODBCTimeout pozwala określić czas oczekiwania przez program Microsoft Access na połączenie sieciowe, zanim wystąpi błąd przekroczenia limitu czasu.

Więcej informacji na temat dostępu do baz danych ODBC, można znaleźć w rozdziale 18, "Dostęp do danych zewnętrznych" podręcznika Tworzenie aplikacji Microsoft Access 97.


SourceConnectStr, SourceDatabase, właściwości

Właściwości tych można użyć chcąc uzyskać dostęp do danych zewnętrznych, gdy nie jest możliwe połączenie tabeli zewnętrznej z bazą danych.

•	Właściwość SourceConnectStr (ŹródłowyCiągPołączenia) określa nazwę aplikacji użytej do utworzenia zewnętrznej bazy danych.

•	Właściwość SourceDatabase (ŹródłowaBazaDanych) określa zewnętrzną bazę danych zawierającą tabele lub kwerendy źródłowe dla danej kwerendy.

Uwaga   Właściwości SourceConnectStr i SourceDatabase odnoszą się do wszystkich kwerend z wyjątkiem kwerend definiujących dane, przekazujących i składających.

Ustawienia

Właściwości SourceConnectStr i SourceDatabase ustawia się za pomocą wyrażenia typu ciąg znaków.

Właściwość tę można ustawić w arkuszu właściwości kwerendy lub w widoku SQL okna kwerendy. W instrukcji SQL ustawieniu tej właściwości odpowiada klauzula IN.

Uwaga   Korzystając z kilku źródłowych baz danych, należy użyć właściwości Source (Źródło) zamiast właściwości SourceConnectStr i SourceDatabase.

Uwagi

Właściwości SourceConnectStr i SourceDatabase trzeba użyć, aby uzyskać dostęp do tabel zewnętrznych baz danych utworzonych przez aplikacje, które nie używają tabel połączonych.

Poniżej zostały podane przykłady ustawień tych właściwości:

•	Dla bazy danych programu Microsoft Access ustawieniem właściwości SourceDatabase jest ścieżka i nazwa bazy danych (np. C:\Accounts\Customers). Rozszerzenie nazwy pliku zostaje dodane automatycznie przez program Microsoft Access. Dla bazy danych programu Microsoft Access właściwość SourceConnectStr nie ma wartości.

•	Dla bazy danych utworzonej w innym programie, takim jak Paradox, ustawieniem właściwości SourceDatabase jest ścieżka (np. C:\Pdoxdata). Ustawieniem właściwości SourceConnectStr jest określnik typu bazy danych (np. Paradox 3.x;). Listę określników można znaleźć w opisie właściwości Connect obiektów dostępu do danych (DAO).

•	W poniższym przykładzie jako źródło danych kwerendy zostały użyte tabele programu dBASE IV z katalogu C:\Dbdata.

SELECT Customer.COMPANYNAM, Orders.ORDERID, Orders.ORDERDATE

FROM Customer INNER JOIN Orders

ON Customer.CUSTOMERID = Orders.CUSTOMERID

IN 'C:\Dbdata'[dBASE IV;];

•	Dla bazy danych standardu Open Database Connectivity (ODBC) ustawieniem właściwości SourceConnectStr jest nazwa źródłowej bazy danych i wszelkie informacje dodatkowe wymagane przez dany program, na przykład identyfikator logowania (ID) i hasło. Dla bazy danych programu Microsoft SQL Server może to być przykładowo:

ODBC;DSN=salessrv;UID=jace;PWD=password;DATABASE=sales;

Dla baz danych ODBC właściwość SourceDatabase nie ma wartości.

Więcej informacji na temat dostępu do baz danych ODBC, można znaleźć w rozdziale 18, "Dostęp do danych zewnętrznych" podręcznika Tworzenie aplikacji Microsoft Access 97.


UniqueRecords, właściwość

Właściwości UniqueRecords (RekordyUnikatowe) można użyć do określenia, czy mają być zwracane unikatowe rekordy oparte na wszystkich polach odnośnego źródła danych, a nie tylko na polach znajdujących się w samej kwerendzie.

Uwaga   Właściwość UniqueRecords odnosi się tylko do kwerend funkcjonalnych – dołączających i tworzących tabelę oraz do kwerend wybierających.

Ustawienia

Dla właściwości UniqueRecords używane są następujące ustawienia.

Ustawienia	Opis
Tak	Nie zwraca rekordów powtarzających się (duplikatów).
Nie	(Ustawienie domyślne) Zwraca rekordy powtarzające się.
Właściwość UniqueRecords można ustawić w arkuszu właściwości kwerendy lub w widoku SQL okna kwerendy.

Uwaga   Właściwość tę ustawia się podczas tworzenia nowej kwerendy za pomocą instrukcji SQL. Ustawieniu właściwości UniqueRecords odpowiada predykat DISTINCTROW. Predykat DISTINCT odpowiada ustawieniu właściwości UniqueValues.

Uwagi

Właściwości UniqueRecords można użyć chcąc pominąć całe powtarzające się rekordy, a nie tylko powtarzające się pola. Rekord jest uważany za unikatowy wtedy, gdy wartość jakiegoś pola tego rekordu różni się od wartości tego samego pola w pozostałych rekordach.

Właściwość UniqueRecords ma znaczenie tylko dla kwerendy korzystającej z kilku tabel i pobierającej pola z tabel użytych w kwerendzie. Właściwość UniqueRecords jest ignorowana, gdy kwerenda zawiera tylko jedną tabelę.

Właściwości UniqueRecords i UniqueValues (WartościUnikatowe) są wzajemnie zależne od siebie w taki sposób, że jednocześnie tylko jedna z nich może być ustawiona na wartość "Tak". Po ustawieniu na przykład właściwości UniqueRecords na wartość "Tak", właściwość UniqueValues zostanie automatycznie ustawiona na wartość "Nie". Można jednak ustawić je jednocześnie na wartość "Nie", a wtedy zwracane są wszystkie rekordy.


UniqueRecords, właściwość - przykład
UniqueRecords, właściwość – przykład

W poniższym przykładzie kwerenda zwraca listę tych klientów z tabeli "Customers" (Klienci), którzy mają co najmniej jedno zamówienie w tabeli "Orders" (Zamówienia).

Tabela "Customers"

Company name	Customer ID
Ernst Handel	ERNSH
Familia Arquibaldo	FAMIA
FISSA Fabrica Inter. Salchichas S.A.	FISSA
Folies gourmandes	FOLIG
Tabela "Orders"

Customer ID	Order ID
ERNSH	10698
FAMIA	10512
FAMIA	10725
FOLIG	10763
FOLIG	10408
Poniższa instrukcja SQL zwraca nazwy klientów pokazane w tabeli poniżej:

SELECT DISTINCTROW Customers.CompanyName, Customers.CustomerID

FROM Customers INNER JOIN Orders

ON Customers.CustomerID = Orders.CustomerID;

Customers returned	Customer ID
Ernst Handel	ERNSH
Familia Arquibaldo	FAMIA
Folies gourmandes	FOLIG


UniqueValues, właściwość

Właściwości UniqueValues (WartościUnikatowe) można użyć, aby pominąć rekordy zawierające powtarzające się wartości w polach wyświetlanych w widoku "Arkusz danych". Jeśli na przykład dane wyjściowe kwerendy obejmują kilka pól, to aby dany rekord wystąpił w wynikach kwerendy, kombinacja wartości wszystkich jego pól musi być unikatowa.

Uwaga   Właściwość UniqueValues odnosi się tylko do kwerend funkcjonalnych – dołączających i tworzących tabelę oraz do kwerend wybierających.

Ustawienia

Dla właściwości UniqueValues używane są następujące ustawienia.

Ustawienia	Opis
Tak	Wyświetla tylko te rekordy, w których wartości wszystkich pól występujących w widoku "Arkusz danych" są unikatowe.
Nie	(Ustawienie domyślne) Wyświetla wszystkie rekordy.
Właściwość UniqueValues można ustawić w arkuszu właściwości kwerendy lub w widoku SQL okna kwerendy.

Uwaga   Właściwość tę ustawia się podczas tworzenia nowej kwerendy za pomocą instrukcji SQL. Ustawieniu właściwości UniqueValues odpowiada predykat DISTINCT. Predykat DISTINCTROW odpowiada ustawieniu właściwości UniqueRecords.

Uwagi

Po ustawieniu właściwości UniqueValues na wartość "Tak" wyniki kwerendy są nieaktualizowalne i nie uwzględnią późniejszych zmian dokonanych przez innych użytkowników.

Właściwości UniqueValues i UniqueRecords (RekordyUnikatowe) są wzajemnie zależne od siebie w taki sposób, że jednocześnie tylko jedna z nich może być ustawiona na wartość "Tak". Po ustawieniu na przykład właściwości UniqueValues na wartość "Tak", właściwość UniqueRecords zostanie automatycznie ustawiona na wartość "Nie". Można jednak ustawić je jednocześnie na wartość "Nie", a wtedy zwracane są wszystkie rekordy.

Wskazówka   Aby zliczyć liczbę wystąpień danej wartości w polu, należy utworzyć kwerendę podsumowującą.


UniqueValues, właściwość - przykład

W poniższym przykładzie instrukcja SELECT zwraca listę krajów (country), z których pochodzą klienci. Ponieważ w każdym kraju może być wielu klientów, w tabeli "Customers" (Klienci) może być wiele rekordów zawierających ten sam kraj. Jednak w wynikach kwerendy każdy kraj wystąpi tylko jeden raz.

W przykładzie tym używana jest tabela "Customers" zawierająca następujące dane.

Country	Company name
Brazil	Familia Arquibaldo
Brazil	Gourmet Lanchonetes
Brazil	Hanari Carnes
France	Du monde entier
France	Folies gourmandes
Germany	Frankenversand
Ireland	Hungry Owl All-Night Grocers
Poniższa instrukcja SQL zwraca kraje pokazane w tabeli poniżej:

SELECT DISTINCT Customers.Country

FROM Customers;

Countries returned

Brazil

France

Germany

Ireland


Form, Report, właściwości

Właściwości Form i Report można użyć, aby odwołać się do formularza lub raportu albo do formularza lub raportu związanego z formantem podformularza lub podraportu.

Ustawienia

Właściwości te odnoszą się do obiektu typu formularz lub raport. Są one we wszystkich widokach tylko do odczytu.

Właściwości te są dostępne w makrze lub w kodzie języka Visual Basic.

Uwagi

Właściwości te są zazwyczaj używane, aby odwołać się do formularza lub raportu zawartego w formancie podformularza lub podraportu. W poniższym kodzie przykładowym właściwość Form zostaje użyta w celu uzyskania dostępu do formantu "OrderID" podformularza zawartego w formancie podformularza "OrderDetails".

Dim intOrderID As Integer

intOrderID = Forms!Orders!OrderDetails.Form!OrderID

W następnym przykładzie w arkuszu właściwości wywoływana jest funkcja korzystająca z właściwości Form przy odwołaniu się do aktywnego formularza zawierającego formant o nazwie "CustomerID".

=MyFunction(Form!CustomerID)

Ten sposób użycia właściwości Form odwołuje się do formularza aktywnego i dlatego nazwa formularza jest zbędna.

Kolejny przykład jest odpowiednikiem powyższego, ale w języku Visual Basic.

X = MyFunction(Forms!Customers!CustomerID)

Uwaga   Jeśli używana jest kolekcja Forms lub Reports, konieczne jest określenie nazwy formularza lub raportu.


Form, Report, właściwości - przykład
Form, Report, właściwości – przykład

W poniższym przykładzie właściwości Form i Report zostały użyte, aby odwołać się do formantu w podformularzu i podraporcie.

Dim curTotalAmount As Currency

Dim curTotalSales As Currency

curTotalAmount = Forms!Orders!OrderDetails.Form!TotalAmount

curTotalSales = Reports!Sales!Employees.Report!TotalSales


LinkChildFields, LinkMasterFields, właściwości

Właściwości LinkChildFields (PodrzędnePolaŁączące) i LinkMasterFields (NadrzędnePolaŁączące) można użyć do określenia sposobu połączenia rekordów formularza lub raportu z rekordami podformularza, podraportu lub obiektu osadzonego, takiego jak wykres. Po ustawieniu tych właściwości powiązane rekordy podformularza są aktualizowane automatycznie, gdy użytkownik przechodzi do nowego rekordu w formularzu głównym.

Ustawienia

Właściwości LinkChildFields i LinkMasterFields dla podformularza, podraportu lub obiektu osadzonego ustawia się następująco:

•	Właściwość LinkChildFields: należy wpisać nazwę co najmniej jednego połączonego pola w podformularzu, podraporcie lub obiekcie osadzonym.

•	Właściwość LinkMasterFields: należy wpisać nazwę co najmniej jednego połączonego pola lub formantu w formularzu lub raporcie głównym.

Właściwości te można również ustawić za pomocą Konstruktora połączeń pól podformularza/podraportu uruchamianego przez kliknięcie przycisku Buduj  [image]  z prawej strony pola właściwości w arkuszu właściwości.

Właściwości te można również ustawić za pomocą wyrażenia typu ciąg znaków w makrze lub w kodzie języka Visual Basic.

Właściwości te można ustawić tylko w widoku "Projekt" lub podczas zdarzenia Open formularza lub raportu.

Uwagi

Pola i formanty służące do ustawienia tych właściwości nie muszą mieć tych samych nazw, lecz muszą zawierać dane tego samego typu i muszą mieć określony ten sam lub zgodny typ danych oraz rozmiar. Na przykład, pole typu Autonumer jest zgodne z polem typu Liczba, o ile właściwość FieldSize pola typu Liczba jest ustawiona na wartość Liczba całkowita długa.

Właściwość LinkMasterFields można ustawić na nazwę formantu (również formantu obliczeniowego), ale nie można tego zrobić dla właściwości LinkChildFields. Chcąc użyć wartości wyliczanej jako łącza dla podformularza, podraportu lub obiektu osadzonego, należy w kwerendzie obiektu potomnego zdefiniować pole obliczeniowe. i ustawić właściwość LinkChildFields na to pole.

Liczba nazw pól lub formantów w ustawieniach obu właściwości musi być identyczna, a jako separatora nazw należy użyć średnika (;).

Podczas tworzenia podformularza lub podraportu przez przeciągnięcie formularza lub raportu z okna bazy danych do innego formularza lub raportu lub za pomocą Kreatora formularzy, właściwości LinkChildFields i LinkMasterFields są ustawiane automatycznie przez program Microsoft Access, o ile:

•	Zarówno formularz lub raport główny, jak i potomny są oparte na tabelach powiązanych relacją utworzoną za pomocą polecenia Relacje. Program Microsoft Access używa wtedy powiązanych pól z obu tabel jako pól łączących.

•	Formularz lub raport główny jest oparty na tabeli z kluczem podstawowym, a podformularz lub podraport na tabeli lub kwerendzie zawierającej pole o tej samej nazwie i o tym samym lub zgodnym typie danych co klucz podstawowy. Program Microsoft Access używa wówczas klucza podstawowego z tabeli obiektu głównego oraz pola o tej samej nazwie w tabeli lub kwerendzie obiektu potomnego jako pól łączących.

Uwaga   Pola łączące nie muszą wchodzić w skład obiektu głównego ani potomnego. Wystarczy, że będą zawarte w tabelach lub kwerendach tych obiektów. Podczas korzystania z kreatora, pola łączące są wstawiane automatycznie przez program Microsoft Access.


Name, właściwość

Właściwość Name (Nazwa) przechowuje wyrażenie typu ciąg znaków identyfikujące nazwę formularza, raportu, sekcji, formantu lub obiektu Reference.

Ustawienia

Prawidłowa nazwa musi być zgodna z zasadami nazywania obiektów dla programu Microsoft Access. Dla formularzy i raportów nazwa może mieć długość do 64 znaków. Dla formantów nazwa może mieć 255 znaków.

Dla formularzy i raportów właściwość Name ustawia się klikając polecenie Zapisz w menu Plik w widoku "Projekt" i wpisując poprawną nazwę. Aby zmienić nazwę istniejącego formularza lub raportu w oknie bazy danych, należy kliknąć jego nazwę, a następnie kliknąć polecenie Zmień nazwę w menu Edycja albo kliknąć nazwę ponownie. Można również zmienić nazwę przez kliknięcie jej prawym przyciskiem myszy i kliknięcie polecenia Zmień nazwę w menu podręcznym. Aby zmienić nazwę istniejącego formularza lub raportu, gdy obiekt jest otwarty, należy kliknąć polecenie Zapisz jako/Eksportuj z menu Plik.

Dla sekcji lub formantu właściwość tę można ustawić w arkuszu właściwości, w makrze lub w kodzie języka Visual Basic. Właściwości Name można użyć w wyrażeniach dla formularzy i raportów.

Właściwość tę można ustawić tylko w widoku "Projekt".

Uwaga   Dla obiektu Reference właściwość jest we wszystkich widokach tylko do odczytu.

Uwagi

Domyślną nazwą nowego formularza lub raportu jest nazwa typu obiektu i unikatowy numer. Na przykład, pierwszemu z nowych formularzy zostanie nadana nazwa "Formularz1", drugiemu – "Formularz2" itd. Formularz może nosić taką samą nazwę, jak inny obiekt systemowy, taki jak obiekt Screen.

Dla formantu niezwiązanego nazwą domyślną jest nazwa typu obiektu i unikatowy numer. Na przykład, jeśli pierwszy formant dodany do formularza jest polem tekstowym, jego ustawieniem właściwości Name będzie "Tekst1".

Dla formantu związanego nazwą domyślną jest nazwa pola w źródle danych. Jeśli użytkownik tworzy formant przez przeciągnięcie pola z listy pól, ustawienie właściwości FieldName (NazwaPola) tego pola jest kopiowane do właściwości Name danego formantu.

Jako nazwy formantu lub sekcji nie można użyć nazwy "Formularz" ani "Raport".

Formanty tego samego formularza lub raportu muszą mieć różne nazwy. Formanty różnych formularzy lub raportów mogą mieć tę samą nazwę. Ponadto nazwa sekcji formularza nie może być taka sama, jak nazwa formantu tego samego formularza.


Parent, właściwość

Właściwości Parent można użyć, aby odwołać się do obiektu nadrzędnego formantu, sekcji lub formantu zawierającego inne formanty. Właściwość Parent zwraca obiekt typu formant, jeśli obiektem nadrzędnym jest formant; właściwość ta zwraca obiekt typu formularz lub raport, jeśli obiektem nadrzędnym jest formularz lub raport.

Ustawienia

Właściwość Parent odnosi się do obiektu typu formularz, raport lub formant i we wszystkich widokach jest tylko do odczytu.

Uwagi

Właściwości Parent można użyć do sprawdzenia, który formularz lub raport jest obiektem nadrzędnym danego podformularza lub podraportu wstawionego do wielu formularzy lub raportów.

Na przykład podformularz "OrderDetails" może wchodzić w skład zarówno raportu, jak i formularza. W poniższym przykładzie została użyta właściwość Parent, aby odwołać się do pola "OrderID" w formularzu głównym lub raporcie. Wyrażenie to można wprowadzić do formantu związanego na podformularzu.

=Parent!OrderID

Właściwością Parent dla formantu etykiety jest formant, z którym etykieta jest połączona. Właściwością Parent dla pola wyboru, przycisku opcji lub przełącznika w grupie opcji jest nazwa formantu tej grupy opcji. Właściwością Parent dla formantu grupy opcji jest nazwa formularza.


Parent, właściwość - przykład
Parent, właściwość – przykład

W poniższym przykładzie właściwość Parent została użyta do sprawdzenia, jakie obiekty są obiektami nadrzędnymi etykiety "Speedy Label", pola wyboru "Speedy" i grupy opcji "ShipVia".

Dim frm As Form

Dim ctl As Control

Set frm = Forms!Orders

Set ctl = frm.[Speedy Label]

' Returns name of control attached to label.

MsgBox "The parent control is " & ctl.Parent.Name

Set ctl = frm.Speedy

' Returns name of control containing control.

MsgBox "The parent control is " & ctl.Parent.Name

Set ctl = frm.ShipVia

' Returns name of form containing option group control.

MsgBox "The parent control is " & ctl.Parent.Name

Następny kod przykładowy zwraca również nazwę formularza zawierającego formant grupy opcji.

MsgBox Forms!Orders! _

[Speedy Label].Parent.Parent.Parent.Name


Section, właściwość

Właściwość Section służy do identyfikacji sekcji formularza lub raportu i umożliwia dostęp do właściwości tej sekcji. Można również identyfikować formanty poprzez sekcję formularza lub raportu, w której pojawia się dany formant.

Ustawienia

Ustawieniem właściwości Section jest wartość typu Liczba całkowita odpowiadająca określonej sekcji. Można używać wartości typu Liczba całkowita lub stałych wymienionych poniżej. Zalecane jest używanie poniższych stałych, aby kod był łatwiejszy do czytania.

Ustawienie	Stała	Opis
0	acDetail	Sekcja szczegółów formularza lub raportu
1	acHeader	Sekcja nagłówka formularza lub raportu
2	acFooter	Sekcja stopki formularza lub raportu
3	acPageHeader	Sekcja nagłówka strony formularza lub raportu
4	acPageFooter	Sekcja stopki strony formularza lub raportu
5	acGroupLevel1Header	Sekcja nagłówka poziomu grupowania 1 (tylko raporty)
6	acGroupLevel1Footer	Sekcja stopki poziomu grupowania 1 (tylko raporty)
7	acGroupLevel2Header	Sekcja nagłówka poziomu grupowania 2 (tylko raporty)
8	acGroupLevel2Footer	Sekcja stopki poziomu grupowania 2 (tylko raporty)
Jeśli raport ma sekcje kolejnych poziomów grupowania, ich pary nagłówkek/stopka mają kolejne numery poczynając od 9.

Właściwość Section jest we wszystkich widokach tylko do odczytu.

Dla formularzy i raportów właściwość Section jest tablicą wszystkich istniejących sekcji formularza lub raportu indeksowaną numerem sekcji. Na przykład Section(0) odnosi się do sekcji szczegółów formularza, a Section(3) do sekcji nagłówka strony formularza.

Można również odwoływać się do sekcji poprzez jej nazwę. Poniższe instrukcje odwołują się do sekcji "Detail0" formularza "Customers" i są równoważne.

Forms!Customers.Section(acDetail).Visible

Forms!Customers.Section(0).Visible

Forms!Customers.Detail0.Visible

Uwagi

Dla formularzy i raportów właściwości Section trzeba używać wraz z innymi właściwościami dotyczącymi formularzy i raportów. W poniższym przykładzie zostało pokazane, jak odwołać się do właściwości Visible (Widoczny) sekcji nagłówka strony w formularzu "Customers".

Forms!Customers.Section(acPageHeader).Visible

Forms!Customers.Section(3).Visible

Dla formantów właściwości Section można użyć do sprawdzenia, w której sekcji formularza lub raportu, znajduje się dany formant. W poniższym przykładzie właściwość Section została użyta do określenia, w której sekcji znajduje się formant "CustomerID".

Dim intSectionNumber As Integer

intSectionNumber = Forms!Customers!CustomerID.Section


SourceObject, właściwość

Właściwość SourceObject (ObiektŹródłowy) służy do identyfikacji formularza lub raportu będącego źródłem podformularza lub podraportu. Właściwości tej można również użyć dla połączonych niezwiązanych ramek obiektu do określenia pełnej ścieżki i nazwy pliku zawierającego dane połączone z ramką obiektu.

Ustawienia

W arkuszu właściwości formantu należy wpisać nazwę formularza lub raportu będącego źródłem podformularza lub podraportu. Podczas wstawiania podformularza lub podraportu do formularza lub raportu metodą przeciągania z okna bazy danych właściwość SourceObject jest ustawiana automatycznie w arkuszu właściwości.

Dla niezwiązanych ramek obiektu właściwość SourceObject jest ustawiana automatycznie podczas wykonywania polecenia Obiekt w menu Wstaw w celu wstawienia połączonego obiektu OLE.

Dla podformularza lub podraportu właściwość tę można ustawić w arkuszu właściwości formantu, w makrze lub w kodzie języka Visual Basic.

W kodzie języka Visual Basic właściwość tę ustawia się za pomocą wyrażenia typu ciąg znaków będącego nazwą formularza lub raportu.

Dla połączonych niezwiązanych ramek obiektu właściwości SourceObject nie można ustawić w żadnym widoku.

Uwaga   Właściwości SourceObject nie można ustawić ani zmienić w zdarzeniu Open ani Format raportu.

Uwagi

Po usunięciu ustawienia właściwości SourceObject z arkusza właściwości podformularza lub podraportu formant pozostaje w formularzu, ale nie jest już związany z formularzem lub raportem źródłowym.


SourceObject, właściwość - przykład
SourceObject, właściwość – przykład

W poniższym przykładzie w oknie analizy programu zostaje wyświetlona nazwa formularza będącego źródłem podformularza "ProductList".

Debug.Print Forms!Categories! _

[Product List].SourceObject


ActiveControl, właściwość

Właściwości ActiveControl można użyć wraz z obiektem Screen do identyfikacji lub odwołania się do formantu mającego fokus.

Ustawienia

Ustawienie tej właściwości zawiera odwołanie do obiektu Control, który ma fokus w czasie wykonywania.

Właściwość ta jest dostępna w makrze lub w kodzie języka Visual Basic i jest we wszystkich widokach tylko do odczytu.

Uwagi

Właściwości ActiveControl można użyć, aby odwołać się do formantu, który w czasie wykonywania ma fokus, i do jednej z jego metod lub właściwości. W poniższym przykładzie zmiennej strControlName zostaje przypisana nazwa formantu mającego fokus:

Dim ctlCurrentControl As Control

Dim strControlName As String

Set ctlCurrentControl = Screen.ActiveControl

strControlName = ctlCurrentControl.Name

Jeśli podczas używania właściwości ActiveControl żaden formant nie ma fokusu lub jeśli wszystkie aktywne formanty formularza są ukryte albo wyłączone, wystąpi błąd.


ActiveControl, właściwość - przykład
ActiveControl, właściwość – przykład

W poniższym przykładzie aktywny formant zostaje przypisany zmiennej ctlCurrentControl, a następnie zostają podjęte działania uzależnione od wartości właściwości Name (Nazwa) formantu.

Dim ctlCurrentControl As Control

Set ctlCurrentControl = Screen.ActiveControl

If ctlCurrentControl.Name = "txtCustomerID" Then

.	' Do this.

.

.

ElseIf ctlCurrentControl.Name = "btnCustomerDetails" Then

.	' Do this.

.

.

End If


ActiveForm, właściwość

Właściwości ActiveForm można użyć wraz z obiektem Screen do identyfikacji lub odwołania się do formularza mającego fokus.

Ustawienia

Ustawienie tej właściwości zawiera odwołanie do obiektu Form, który ma fokus w czasie wykonywania.

Właściwość ta jest dostępna w makrze lub w kodzie języka Visual Basic i jest we wszystkich widokach tylko do odczytu.

Uwagi

Właściwości ActiveForm można użyć, aby odwołać się do aktywnego formularza i do jednej z jego metod lub właściwości. W poniższym przykładzie zostaje wyświetlone ustawienie właściwości Name (Nazwa) aktywnego formularza:

Dim frmCurrentForm As Form

Set frmCurrentForm = Screen.ActiveForm

MsgBox "Current form is " & frmCurrentForm.Name

Jeśli podformularz ma fokus, właściwość ActiveForm odwołuje się do formularza głównego. Jeśli podczas używania właściwości ActiveForm żaden formularz ani podformularz nie ma fokusu, wystąpi błąd.


ActiveReport, właściwość

Właściwości ActiveReport można użyć wraz z obiektem Screen, do identyfikacji lub odwołania się do raportu mającego fokus.

Ustawienia

Ustawienie tej właściwości zawiera odwołanie do obiektu Report, który ma fokus w czasie wykonywania.

Właściwość ta jest dostępna tylko w makrze lub w kodzie języka Visual Basic i jest we wszystkich widokach tylko do odczytu.

Uwagi

Właściwości ActiveReport można użyć, aby odwołać się do aktywnego raportu i do jednej z jego metod lub właściwości. W poniższym przykładzie zostaje wyświetlone ustawienie właściwości Name (Nazwa) aktywnego raportu:

Dim rptCurrentReport As Report

Set rptCurrentReport = Screen.ActiveReport

MsgBox "Current report is " & rptCurrentReport.Name

Jeśli podczas używania właściwości ActiveReport żaden raport nie ma fokusu, wystąpi błąd.


Bookmark, właściwość

Właściwości Bookmark można użyć w formularzu do ustawienia zakładki jednoznacznie identyfikującej określony rekord w tabeli, kwerendzie lub instrukcji SQL, na których został oparty formularz.

Ustawienia

Ustawienie właściwości Bookmark zawiera wyrażenie typu ciąg znaków tworzone przez program Microsoft Access.

Właściwość tę można ustawić w makrze lub w kodzie języka Visual Basic.

Uwaga   Właściwość Bookmark formularza jest niezależna od właściwości Bookmark obiektów dostępu do danych (DAO) dla tabeli lub kwerendy, na której został oparty formularz.

Uwagi

Gdy formularz związany jest otwarty w widoku "Formularz", każdemu rekordowi zostaje przypisana unikatowa zakładka. W języku Visual Basic można zapisać zakładkę dla bieżącego rekordu przypisując zmiennej typu ciąg znaków wartość właściwości Bookmark formularza. Aby po przejściu do innego rekordu powrócić do zapisanego rekordu, należy ustawić właściwość Bookmark formularza na wartość zapisanej zmiennej typu ciąg znaków. Można użyć funkcji StrComp, aby porównać zmienną typu Variant albo typu ciąg znaków z zakładką lub aby porównać zakładkę z inną zakładką. Trzeci argument funkcji StrComp musi być ustawiony na wartość zero.

Uwaga   Zakładki nie są zapisywane w reprezentowanych przez nie rekordach i obowiązują tylko wtedy, gdy formularz jest otwarty. Program Microsoft Access tworzy je na nowo przy każdym otwarciu formularza związanego.

Nie ma ograniczenia liczby zapisywanych zakładek, jeśli każda jest zapisywana przy użyciu unikatowej zmiennej typu ciąg znaków.

Właściwość Bookmark jest dostępna tylko dla bieżącego rekordu formularza. Aby zapisać zakładkę dla innego rekordu, należy najpierw przejść do tego rekordu, a następnie przypisać wartość właściwości Bookmark zmiennej typu ciąg znaków identyfikującej ten rekord.

Zakładek można użyć w każdym formularzu opartym wyłącznie na tabelach programu Microsoft Access. Jednak inne systemy baz danych nie muszą obsługiwać zakładek. Nie można na przykład użyć zakładek w formularzu opartym na tabeli połączonej, która nie ma indeksu podstawowego.

Ponowienie kwerendy formularza unieważnia wszystkie zakładki ustawione dla jego rekordów. Natomiast kliknięcie polecenia Odśwież w menu Rekordy nie wpływa na zakładki.

Ponieważ program Microsoft Access tworzy unikatową zakładkę dla każdego rekordu w zestawie rekordów formularza w momencie jego otwarcia, zakładki jednego zestawu rekordów nie będą obowiązywać w innym zestawie, nawet opartym na tej samej tabeli, kwerendzie lub instrukcji SQL. Załóżmy na przykład że użytkownik otworzył formularz związany z tabelą "Customers". Jeśli następnie otworzy on tabelę "Customers" za pomocą kodu języka Visual Basic i użyje metody Seek, aby zlokalizować określony rekord w tabeli, nie będzie mógł ustawić właściwości Bookmark formularza na bieżący rekord tabeli. Aby przeprowadzić taką operację można użyć metody FindFirst z właściwością RecordsetClone formularza.

Jeśli użytkownik ustawi właściwość Bookmark dla rekordu na zmienną typu ciąg znaków, a następnie próbuje wrócić do tego rekordu po jego usunięciu, wystąpi błąd.

Wartość właściwości Bookmark nie jest tym samym, co numer rekordu.


Bookmark, właściwość - przykład
Bookmark, właściwość – przykład

Aby przetestować poniższy przykład z przykładową bazą danych "Northwind", trzeba dodać przycisk polecenia o nazwie cmdFindContactName do formularza "Suppliers" (Dostawcy), a następnie dodać poniższy kod do zdarzenia Click tego przycisku. Po kliknięciu przycisku użytkownik jest monitowany o podanie części nazwy kontaktu, który ma być znaleziony. Jeśli nazwa zostanie znaleziona, właściwość Bookmark formularza jest ustawiana na właściwość Bookmark DAO obiektu Recordset, co powoduje ustawienie rekordu bieżącego na znalezionej nazwie.

Private Sub cmdFindContactName_Click()

Dim rst As Recordset, strCriteria As String

strCriteria = "[ContactName] Like '*" & InputBox("Enter the " _

& "first few letters of the name to find") & "*'"

Set rst = Me.RecordsetClone

rst.FindFirst strCriteria

If rst.NoMatch Then

MsgBox "No entry found"

Else

Me.Bookmark = rst.Bookmark

End If

End Sub


CurrentObjectType, CurrentObjectName, właściwości

Właściwości CurrentObjectType i CurrentObjectName można użyć wraz z obiektem Application do określenia typu aktywnego obiektu bazy danych (tabela, kwerenda, formularz, raport, makro lub moduł) i nazwy tego obiektu. Aktywnym obiektem bazy danych jest obiekt, który ma fokus lub w którym jest wykonywany kod.

Ustawienia

Właściwość CurrentObjectType jest ustawiana przez program Microsoft Access na jedną z poniższych stałych wewnętrznych programu Microsoft Access.

Ustawienie	Opis
acTable	Obiektem aktywnym jest tabela.
acQuery	Obiektem aktywnym jest kwerenda.
acForm	Obiektem aktywnym jest formularz.
acReport	Obiektem aktywnym jest raport.
acMacro	Obiektem aktywnym jest makro.
acModule	Obiektem aktywnym jest moduł.
Właściwość CurrentObjectName jest ustawiana przez program Microsoft Access na wyrażenie typu ciąg znaków zawierające nazwę aktywnego obiektu.

Właściwości te są dostępne tylko w kodzie języka Visual Basic i we wszystkich widokach są tylko do odczytu.

Uwagi

Na podstawie poniższych warunków można stwierdzić, który obiekt jest uważany za aktywny:

•	Jeśli obiektem aktywnym jest arkusz właściwości, pasek poleceń, menu, paleta lub lista pól obiektu, to właściwości CurrentObjectType i CurrentObjectName zwracają typ i nazwę obiektu odnośnego.

•	Jeśli obiektem aktywnym jest formularz podręczny, to właściwości CurrentObjectType i CurrentObjectName dotyczą tego właśnie formularza, a nie formularza, w którym został on otwarty.

•	Jeśli obiektem aktywnym jest okno bazy danych, to właściwości CurrentObjectType i CurrentObjectName zwracają element zaznaczony w tym oknie.

•	Jeśli żaden obiekt nie jest zaznaczony, właściwość CurrentObjectType zwraca wartość True (-1), a właściwość CurrentObjectName zwraca ciąg znaków zerowej długości (" ").

•	Jeśli bieżący stan nie jest jednoznaczny (obiekt aktywny nie jest tabelą, kwerendą, formularzem, raportem, makrem ani modułem) – na przykład, gdy fokus jest w oknie dialogowym – właściwość CurrentObjectType zwraca wartość True, a właściwość CurrentObjectName zwraca nazwę okna dialogowego.

Właściwości tych można użyć wraz z funkcją SysCmd do określenia obiektu aktywnego i jego stanu (na przykład, czy obiekt jest otwarty, nowy lub czy został zmieniony, ale nie zapisany).


CurrentObjectType, CurrentObjectName, właściwości - przykład

W poniższym przykładzie używane są właściwości CurrentObjectType i CurrentObjectName oraz funkcja SysCmd do sprawdzenia, czy obiektem aktywnym jest formularz "Products", czy jest on otwarty i czy został zmieniony, ale nie zapisany. Jeśli warunki te są spełnione, formularz zostaje zapisany, a następnie zamknięty.

Sub CheckProducts()

Dim intState As Integer

Dim intCurrentType As Integer

Dim strCurrentName As String

intCurrentType = Application.CurrentObjectType

strCurrentName = Application.CurrentObjectName

If intCurrentType = acForm And strCurrentName = "Products" Then

intState = SysCmd(acSysCmdGetObjectState, intCurrentType, strCurrentName)

' Products form changed but not saved.

If intState = acObjStateDirty + _

acObjStateOpen Then

' Close Products form and save changes.

DoCmd.Close intCurrentType, _

strCurrentName, acSaveYes

End If

End If

End Sub


Me, właściwość

Właściwości Me można użyć w kodzie języka Visual Basic, aby odwołać się do formularza, raportu (albo formularza lub raportu związanego z podformularzem lub podraportem) lub modułu klasy, w którym jest aktualnie wykonywany kod języka Visual Basic.

Ustawienia

Właściwość Me jest dostępna tylko w kodzie języka Visual Basic i jest we wszystkich widokach tylko do odczytu.

Uwagi

Właściwość Me zawiera odwołanie do bieżącego formularza lub raportu i działa szybciej niż pełne odwołanie do obiektu. Na przykład, poniższe dwa fragmenty kodu odwołują się do wartości formantu "LastName" dla bieżącego rekordu formularza "Employees":

strLastName = Forms!Employees.LastName

strLastName = Me!LastName

Zazwyczaj formularz lub raport, do którego odwołuje się właściwość Me jest tym samym formularzem lub raportem, do którego odwołują się właściwości ActiveForm lub ActiveReport obiektu Screen. Jednak te właściwości dotyczą formularza lub raportu mającego fokus, podczas gdy właściwość Me zawsze dotyczy formularza lub raportu, w którym wykonywany jest kod. Na przykład zdarzenie Timer może wystąpić w formularzu bez fokusu. W takiej sytuacji wyrażenie Screen.ActiveForm odwołuje się do formularza z fokusem, natomiast właściwość Me odwołuje się do formularza, w którym wystąpiło zdarzenie Timer. Z tego powodu, podczas tworzenia ogólnych procedur operujących na formularzu bieżącym, preferowaną metodą jest przekazywanie nazwy formularza do procedury raczej za pomocą właściwości Me niż ActiveForm.

Słowa kluczowego Me można użyć w module klasy, aby odwołać się do bieżącej instancji tej klasy. Tak jak używa się właściwości Me w module klasy formularza lub raportu, aby odwołać się do bieżącego formularza lub raportu, można użyć właściwości Me w module klasy, aby odwołać się do bieżącego obiektu modułu klasy.


Me, właściwość - przykład
Me, właściwość – przykład

W poniższym przykładzie zostało pokazane, jak zmienić tytuł formularza "Customers" na nazwę podaną przez użytkownika. Procedura ChangeCaption przekazuje właściwość Me (reprezentującą obiekt Form), aby określić formularz aktywny. Ponieważ procedura ChangeCaption zmienia tytuł aktywnego formularza (a nie konkretnego), można ją wywoływać z innych procedur w aplikacji.

ChangeCaption Me, InputBox("Enter new caption "

& "for form")

Sub ChangeCaption(frmCurrentForm As _

Form, strCaption As String)

' Change caption.

If TypeName(frmCurrentForm.Caption) = "Null" Then

frmCurrentForm.Caption = strCaption

Exit Sub

End If

If UCase(strCaption) _

<> UCase(frmCurrentForm.Caption) Then

frmCurrentForm.Caption = strCaption

End If

End Sub


Module, właściwość

Właściwości Module można użyć do określenia modułu formularza lub modułu raportu.

Ustawienia

Właściwość Module jest dostępna tylko w kodzie języka Visual Basic i jest we wszystkich widokach tylko do odczytu.

Uwaga   Właściwość Module zwraca również odwołanie do określonego obiektu Module.

Uwagi

Właściwości Module można użyć, aby uzyskać dostęp do właściwości i metod obiektu Module związanego z obiektem Form lub Report.

Ustawienie właściwości HasModule (MaModuł) formularza lub raportu określa, czy jest z nimi związany jakiś moduł. Jeśli wartością właściwości HasModule jest False, z formularzem lub raportem nie jest związany żaden moduł. Jeśli użytkownik odwoła się do właściwości Module takiego formularza lub raportu w widoku "Projekt", program Microsoft Access tworzy moduł związany z formularzem lub raportem i ustawia właściwość HasModule na wartość True. Jeśli użytkownik odwoła się do właściwości Module formularza lub raportu w czasie wykonywania, a właściwość HasModule danego obiektu jest ustawiona na wartość False, wystąpi błąd.

Właściwości tej można używać z dowolnymi właściwościami i metodami obiektu typu moduł.


Module, właściwość - przykład
Module, właściwość – przykład

W poniższym przykładzie właściwość Module została użyta do wstawienia metody Beep do zdarzenia Open formularza.

Dim strFormOpenCode As String

Dim mdl As Module

Set mdl = Forms!MyForm.Module

strFormOpenCode = "Sub Form_Open(Cancel As Integer)" _

& vbCrLf & "Beep" & vbCrLf & "End Sub"

With mdl

.InsertText strFormOpenCode

End With


RecordsetClone, właściwość

Właściwości RecordsetClone można użyć, aby odwołać się do obiektu Recordset formularza określonego przez właściwość RecordSource (ŹródłoRekordów) formularza.

Ustawienia

Ustawienie właściwości RecordsetClone jest kopią kwerendy, na której został oparty formularz lub tabeli określonej przez właściwość RecordSource formularza. Jeśli na przykład formularz został oparty na kwerendzie, to odwołanie się do właściwości RecordsetClone jest równoważne klonowaniu obiektu Recordset za pomocą tej samej kwerendy. Jeśli następnie w formularzu zostanie zastosowany filtr, to filtrowanie zostanie uwzględnione w obiekcie Recordset.

Właściwość ta jest dostępna tylko w języku Visual Basic i jest we wszystkich widokach tylko do odczytu.

Uwagi

Właściwości RecordsetClone można użyć do nawigacji i operowania na rekordach formularza niezależnie od tego formularza. Na przykład, właściwości RecordsetClone można użyć wraz z metodą, której nie można stosować w formularzu, taką jak metoda FindFirst.

Po otwarciu nowego obiektu Recordset jego pierwszym rekordem jest rekord bieżący. Jeśli użytkownik użyje jednej z metod Find lub Move przenosząc wskaźnik bieżącego rekordu w obiekcie Recordset, musi on zsynchronizować rekord bieżący w obiekcie Recordset z rekordem bieżącym formularza przez przypisanie wartości właściwości Bookmark DAO właściwości Bookmark formularza.

Można użyć właściwości RecordCount do zliczenia rekordów w obiekcie Recordset. W poniższym przykładzie zostało pokazane, jak za pomocą właściwości RecordCount i RecordsetClone policzyć rekordy formularza:

Forms!Orders.RecordsetClone.MoveLast

MsgBox "My form contains " _

& Forms!Orders.RecordsetClone.RecordCount _

& " records.", vbInformation, "Record Count"

Uwaga   Po zamknięciu formularza lub zmianie jego właściwość RecordSource obiekt Recordset traci aktualność. Jeśli mimo to nastąpi odwołanie do obiektu Recordset lub uprzednio zapisanych zakładek formularza lub obiektu Recordset, wystąpi błąd.


RecordsetClone, właściwość - przykład
RecordsetClone, właściwość – przykład

W poniższym przykładzie właściwość RecordsetClone zostaje użyta do utworzenia nowej kopii obiektu Recordset z formularza "Orders", a następnie w oknie analizy programu wyświetlane są nazwy pól.

Sub Print_Field_Names()

Dim rst As Recordset, intI As Integer

Dim fld As Field

Set rst = Me.RecordsetClone

For Each fld in rst.Fields

' Print field names.

Debug.Print fld.Name

Next

End Sub

W następnym przykładzie właściwości RecordsetClone i obiekt Recordset zostają użyte do synchronizacji rekordu obiektu Recordset z rekordem bieżącym formularza. Po wybraniu w polu kombi nazwy firmy metoda FindFirst używana jest do znalezienia rekordu firmy, a następnie właściwość Bookmark DAO obiektu Recordset zostaje przypisana właściwości Bookmark formularza, co powoduje wyświetlenie znalezionego rekordu w formularzu.

Sub SupplierID_AfterUpdate()

Dim rst As Recordset

Dim strSearchName As String

Set rst = Me.RecordsetClone

strSearchName = Str(Me!SupplierID)

rst.FindFirst "SupplierID = " & strSearchName

If rst.NoMatch Then

MsgBox "Record not found"

Else

Me.Bookmark = rst.Bookmark

End If

rst.Close

End Sub


GrpKeepTogether, właściwość

Właściwości GrpKeepTogether (TrzymajGrupęRazem) można użyć do określenia, czy grupy w raporcie wielokolumnowym mające właściwość KeepTogether (TrzymajRazem) ustawioną na "Całą grupę" lub "Z pierwszym szczegółem" będą umieszczone w jednej kolumnie lub na jednej stronie.

Ustawienia

Dla właściwości GrpKeepTogether używane są następujące ustawienia.

Ustawienie	Opis	Visual Basic
Na stronie	Grupy są umieszczane na jednej stronie.	0
W kolumnie	(Ustawienie domyślne) Grupy są umieszczane w jednej kolumnie.	1
Właściwość GrpKeepTogether można ustawiać w arkuszu właściwości raportu, w makrze lub w kodzie języka Visual Basic.

Właściwość tę można ustawić tylko w widoku "Projekt" raportu.

Uwagi

Właściwości tej można użyć do określenia, czy wszystkie dane należące do grupy pojawią się w tej samej kolumnie. Jeśli na przykład istnieje lista pracowników zgrupowanych według wydziałów w układzie wielokolumnowym, można użyć tej właściwości do pokazania pracowników każdego wydziału w odrębnej kolumnie.

Ustawienie właściwości GrpKeepTogether nie ma znaczenia, jeśli właściwość KeepTogether grupy jest ustawiona na wartość "Nie".


HasContinued, właściwość

Właściwości HasContinued można użyć do sprawdzenia, czy bieżąca sekcja rozpoczęła się na poprzedniej stronie.

Ustawienia

Właściwość HasContinued jest ustawiana przez program Microsoft Access i jest we wszystkich widokach tylko do odczytu.

Wartość	Opis
True (–1)	Część bieżącej sekcji została wydrukowana na poprzedniej stronie.
False (0)	Żadna część bieżącej sekcji nie została wydrukowana na poprzedniej stronie.
Wartość właściwości HasContinued można pobrać używając makra lub kodu języka Visual Basic.

Uwagi

Można użyć tej właściwości do określenia, czy pewne formanty mają być pokazane czy ukryte, w zależności od ustawienia tej właściwości. Załóżmy na przykład, że w nagłówku strony istnieje ukryta etykieta o treści "Ciąg dalszy z poprzedniej strony". Jeśli wartością właściwości HasContinued jest True, można pokazać tę ukrytą etykietę.


HasData, właściwość

Właściwości HasData można użyć do określenia, czy formularz lub raport jest związany z pustym zestawem rekordów.

Ustawienia

Właściwość HasData jest ustawiana przez program Microsoft Access. Wartość tej właściwości można odczytać tylko podczas drukowania lub w widoku "Podgląd wydruku".

Wartość	Opis
–1	Obiekt zawiera dane.
0	Obiekt nie zawiera danych.
1	Obiekt jest niezwiązany.
Wartość właściwości HasData można pobrać używając makra lub kodu języka Visual Basic.

Uwagi

Właściwości HasData można użyć do sprawdzenia, czy podraport zawiera dane, a jeśli nie – ukryć go. Poniższe wyrażenie przykładowe ukrywa podraport, gdy jego raport nie zawiera danych.

Me!SubReportControl.Visible = Me!SubReportControl.Report.HasData


RepeatSection, właściwość

Właściwości RepeatSection (PowtórzSekcję) można użyć do określenia, czy nagłówek grupy ma być powtarzany na następnej stronie lub kolumnie, gdy grupa zajmuje więcej niż jedną stronę lub kolumnę.

Uwaga   Właściwość RepeatSection odnosi się tylko do nagłówków grup w raportach.

Ustawienia

Dla właściwości RepeatSection używane są następujące ustawienia.

Ustawienie	Opis	Visual Basic
Tak	Nagłówek grupy jest powtarzany.	True (–1)
Nie	(Ustawienie domyślne) Nagłówek grupy nie jest powtarzany.	False (0)
Właściwość RepeatSection można ustawić w arkuszu właściwości sekcji nagłówka grupy, w makrze lub w kodzie języka Visual Basic.

Uwagi

Podczas drukowania raportu zawierającego podraport właściwość RepeatSection podraportu określa, czy nagłówki grup podraportu są powtarzane na kolejnych stronach lub kolumnach.


WillContinue, właściwość

Właściwości WillContinue można użyć do określenia, czy bieżąca sekcja będzie kontynuowana na następnej stronie.

Ustawienia

Właściwość WillContinue jest ustawiana przez program Microsoft Access i jest we wszystkich widokach atrybut tylko do odczytu.

Wartość	Opis
True (–1)	Bieżąca sekcja jest kontynuowana na następnej stronie.
False (0)	Bieżąca sekcja nie jest kontynuowana na następnej stronie.
Wartość właściwości WillContinue można pobrać używając makra lub kodu języka Visual Basic.

Uwagi

Właściwości WillContinue można użyć do określenia, czy pewne formanty mają być pokazane czy ukryte, w zależności od ustawienia tej właściwości. Załóżmy na przykład, że w nagłówku strony istnieje ukryta etykieta o treści "Ciąg dalszy na następnej stronie". Jeśli wartością właściwości WillContinue jest True, można pokazać tę ukrytą etykietę.


ColumnHidden, właściwość

Właściwość ColumnHidden decyduje o pokazywaniu lub ukrywaniu konkretnej kolumny w widoku "Arkusz danych”. Można jej na przykład użyć do ukrycia zbyt szerokiego pola "Adres klienta", aby stały się widoczne pola "Nazwa klienta" i "Numer telefonu".

Uwaga   Właściwość ColumnHidden dotyczy wszystkich pól w widoku "Arkusz danych" i formantów formularza, gdy formularz jest w widoku "Arkusz danych".

Ustawienia

Właściwość ColumnHidden można ustawić klikając polecenie Ukryj kolumny lub Odkryj kolumny w menu Format w widoku "Arkusz danych".

Można też ustawić tę właściwość w kodzie języka Visual Basic za pomocą wartości typu Liczba całkowita długa. Możliwe ustawienia to:

Ustawienie	Opis
True (–1)	Kolumna jest ukryta.
False (0)	(Ustawienie domyślne) Kolumna jest widoczna.
Aby ustawić lub zmienić tę właściwość dla tabeli lub kwerendy przy użyciu języka Visual Basic, należy użyć kolekcji Properties pola. Szczegółowe informacje na temat użycia kolekcji Properties można znaleźć w temacie Podsumowanie informacji o obiekcie Property i kolekcji Properties.

Uwaga   Właściwość ColumnHidden nie jest dostępna w widoku "Projekt".

Uwagi

Ukrycie kolumny za pomocą właściwości ColumnHidden w widoku "Arkusz danych" nie powoduje ukrycia pól z tej samej kolumny w widoku "Formularz". W podobny sposób ustawienie właściwości Visible (Widoczny) na wartość False w widoku "Formularz" nie powoduje ukrycia odpowiedniej kolumny w widoku "Arkuksz danych".

Pole może zostać pokazane w kwerendzie, nawet jeśli kolumna tego pola została ukryta w widoku "Arkusz danych" tabeli.

Pola ukrytej kolumny można również użyć w kryteriach filtru, nawet jeśli po użyciu filtru kolumna pozostaje ukryta.

Kolumny ukryte są niewidoczne dla poleceń Kopiuj, Wklej, Znajdź i Zamień w menu Edycja.

Ustawienie właściwości ColumnWidth pola na wartość 0 lub nadanie mu szerokości zerowej w widoku "Arkusz danych", powoduje, że program Microsoft Access ustawia odpowiednią właściwość ColumnHidden na wartość True. Odkrycie kolumny ustawia właściwość ColumnWidth na wartość, jaką miała przed ukryciem pola.


ColumnHidden, właściwość - przykład

W poniższym przykładzie zostaje ukryte pole "ProductID" w widoku "Arkusz danych" formularza "Products":

Forms!Products!ProductID.ColumnHidden = -1

W następnym przykładzie również zostaje ukryte pole "ProductID" w widoku "Arkusz danych" tabeli "Products". Do ustawienia właściwości ColumnHidden użyto procedur ShowColumn i SetFieldProperty znajdujących się w module standardowym bazy danych.

Dim dbs As Database

Set dbs = CurrentDb

ShowColumn dbs.TableDefs!Products.Fields!ProductID, False

Sub ShowColumn(fldObject As Field, intShow As Integer)

' Set ColumnHidden property.

SetFieldProperty fldObject, "ColumnHidden", dbLong, Not intShow

End Sub

Sub SetFieldProperty(fldField As Field, strPropertyName As String, _

intPropertyType As Integer, varPropertyValue As Variant)

' Set field property without producing nonrecoverable run-time error.

Const conErrPropertyNotFound = 3270

Dim prpProperty As Property

On Error Resume Next	' Don't trap errors.

fldField.Properties(strPropertyName) = varPropertyValue

If Err <> 0 Then	' Error occurred when value set.

If Err <> conErrPropertyNotFound Then

On Error GoTo 0

MsgBox "Couldn't set property '" & strPropertyName _

& "' on field '" & fldField.name & "'", 48, "SetFieldProperty"

Else

On Error GoTo 0

Set prpProperty = fldField.CreateProperty(strPropertyName, _

intPropertyType, varPropertyValue)

fldField.Properties.Append prpProperty

End If

End If

End Sub


ColumnOrder, właściwość

Właściwości można użyć ColumnOrder do określenia kolejności kolumn w widoku "Arkusz danych".

Uwaga   Właściwość ColumnOrder stosuje się do wszystkich pól w widoku "Arkusz danych" i do formantów formularza, gdy formularz jest w widoku "Arkusz danych".

Ustawienia

Właściwość tę można ustawić przez wybranie kolumny w widoku "Arkusz danych" i przeciągnięcie jej do nowej pozycji.

Właściwość tę można również ustawić za pomocą wartości typu Liczba calkowita dluga w kodzie języka  Visual Basic.

Aby ustawić lub zmienić tę właściwość dla tabeli lub kwerendy przy użyciu języka Visual Basic, należy użyć kolekcji Properties pola. Szczegółowe informacje na temat użycia kolekcji Properties można znaleźć w temacie Podsumowanie informacji o obiekcie Property i kolekcji Properties.

Uwaga   Właściwość ColumnOrder nie jest dostępna w widoku "Projekt".

Uwagi

Ustawienie właściwości ColumnOrder pola jest określone przez jego położenie w widoku "Arkusz danych". Jeśli na przykład pole znajdujące się w pierwszej kolumnie z lewej strony akusza danych ma właściwość ColumnOrder ustawioną na wartość 1, to pole następne – na 2, itd. Zmiana właściwości ColumnOrder dla jednego z pól resetuje wartość tej właściwości dla tego pola oraz wszystkich pól po lewej stronie jego pierwotnego położenia w widoku "Arkusz danych".

W innych widokach właściwość ta ustawiona jest na wartość 0, chyba że jawnie zmieni się kolejność pól w widoku "Arkusz danych" (przeciągając pola w nowe położenie lub zmieniając ustawienie ich właściwości ColumnOrder. Pola po prawej stronie nowego położenia pola przeniesionego będą miały tę właściwość ustawioną na wartość 0 w widokach innych niż widok "Arkusz danych".

Kolejność pól w widoku "Arkusz danych" nie wpływa na kolejność pól w  widoku "Projekt" tabeli ani w widoku "Formularz".


ColumnOrder, właściwość - przykład

W poniższym przykładzie pola "ProductName" i "QuantityPerUnit" zostają umieszczone w pierwszych dwóch kolumnach w widoku "Arkusz danych" formularza "Products".

Forms!Products!ProductName.ColumnOrder = 1

Forms!Products!QuantityPerUnit.ColumnOrder = 2

W kolejnym przykładzie pola "ProductName" i "QuantityPerUnit" wyświetlane są w pierwszych dwóch kolumnach tabeli "Products" w widoku "Arkusz danych". Do ustawienia właściwości ColumnOrder użyto procedury SetFieldProperty. Jeżeli procedura ta zostanie uruchomiona, gdy tabela jest otwarta, zmiany nie będą widoczne do czasu, aż zostanie ona zamknięta i ponownie otwarta.

Dim dbs As Database, tdfProducts As TableDef

Set dbs = CurrentDb

Set tdfProducts = dbs!Products

SetFieldProperty tdfProducts!ProductName, "ColumnOrder", dbLong, 2

SetFieldProperty tdfProducts!QuantityPerUnit, "ColumnOrder", dbLong, 3

Sub SetFieldProperty(fldField As Field, strPropertyName As String, _

intPropertyType As Integer, varPropertyValue As Variant)

' Set field property without producing nonrecoverable run-time error.

Const conErrPropertyNotFound = 3270

Dim prpProperty As Property

On Error Resume Next	' Don't trap errors.

fldField.Properties(strPropertyName) = varPropertyValue

If Err <> 0 Then	' Error occurred when value set.

If Err <> conErrPropertyNotFound Then

On Error GoTo 0

MsgBox "Couldn't set property '" & strPropertyName _

& "' on field '" & fldField.name & "'", 48, "SetFieldProperty"

Else

On Error GoTo 0

Set prpProperty = fldField.CreateProperty(strPropertyName, _

intPropertyType, varPropertyValue)

fldField.Properties.Append prpProperty

End If

End If

End Sub


ColumnWidth, właściwość

Właściwości ColumnWidth można użyć do określenia szerokości kolumny w widoku "Arkusz danych".

Uwaga   Właściwość ColumnWidth odnosi się do wszystkich pól w widoku "Arkusz danych" i do formantów formularza w widoku "Arkusz danych".

Ustawienia

Właściwość tę można ustawić przeciągając prawą krawędź selektora kolumny albo klikając polecenie Szerokość kolumny w menu  Format w widoku "Arkusz danych" i wprowadzając żądaną wartość. Po ustawieniu właściwości ColumnWidth za pomocą polecenia  Szerokość kolumny, wartość wyrażona jest w punktach.

W kodzie języka Visual Basic, ustawienie właściwości ColumnWidth jest wartością typu Liczba całkowita reprezentującą szerokość kolumny w jednostkach twip. Można podać szerokość albo użyć jednej z poniższych stałych.

Ustawienie	Opis
0	Ukrywa kolumnę.
–1	(Ustawienie domyślne) Ustawia szerokość domyślną.
Uwagi

Ustawienie tej właściwości na wartość 0 albo zmiana szerokości pola na zerową w widoku "Arkusz danych" ustawia właściwość ColumnHidden pola na wartość True (–1) i ukrywa pole w widoku "Arkusz danych".

Ustawienie właściwości ColumnHidden pola na wartość False (0) przywraca właściwości ColumnWidth pola wartości, jakie miała przed ukryciem pola. Na przykład, jeśli przed ukryciem pola przez ustawienie jego właściwości ColumnWidth na wartość 0, właściwość ColumnWidth wynosiła -1, to zmiana właściwości ColumnHidden pola na wartość False ustawia ponownie właściwość ColumnWidth na wartość -1.

Właściwość ColumnWidth pola jest niedostępna, jeśli właściwość ColumnHidden pola została ustawiona na wartość True.


DatasheetFontItalic, DatasheetFontUnderline, właściwości

Właściwości DatasheetFontItalic i DatasheetFontUnderline służą do określenia pochylenia lub podkreślenia czcionek w nazwach pól i danych w widoku "Arkusz danych".

Uwaga   Właściwości DatasheetFontItalic i DatasheetFontUnderline odnoszą się do wszystkich pól w widoku "Arkusz danych" i do formantów formularza w widoku "Arkusz danych".

Ustawienia

Właściwości te można ustawić klikając przycisk Kursywa  [image]  lub Podkreślenie  [image] na pasku narzędzi Formatowanie (arkusz danych).

Można również ustawić te właściwości w oknie dialogowym Czcionka dostępnym po kliknięciu polecenia Czcionka w menu Format w widoku "Arkusz danych".

W kodzie języka Visual Basic właściwość DatasheetFontItalic może mieć następujące ustawienia.

Ustawienie	Opis
True (–1)	Tekst będzie napisany kursywą.
False (0)	(Ustawienie domyślne) Tekst nie będzie napisany kursywą.
W kodzie języka Visual Basic właściwość DatasheetFontUnderline może mieć następujące ustawienia.

Ustawienie	Opis
True	Tekst jest podkreślony.
False	(Ustawienie domyślne) Tekst nie jest podkreślony.
W kodzie języka Visual Basic właściwości te są typu Boolean.

Uwagi

W poniższej tabeli zostały podane właściwości, których nie ma w kolekcji Properties dla obiektów TableDef lub QueryDef, dopóki nie zostaną one dodane za pomocą metody CreateProperty lub ustawione na pasku narzędzi Formatowanie (arkusz danych).

DatasheetFontItalic*	DatasheetForeColor*
DatasheetFontHeight*	DatasheetBackColor
DatasheetFontName*	DatasheetGridlinesColor
DatasheetFontUnderline*	DatasheetGridlinesBehavior
DatasheetFontWeight*	DatasheetCellsEffect
Uwaga   Program Microsoft Access automatycznie doda do kolekcji Properties wszystkie dodawane lub ustawiane właściwości, które zostały zaznaczone gwiazdką.


DatasheetFontItalic, DatasheetFontUnderline, właściwości - przykład
DatasheetFontItalic, DatasheetFontUnderline, właściwości – przykład

W poniższym przykładzie zostają wyświetlone dane i nazwy pól napisane kursywą i podkreślone w widoku "Arkusz danych" formularza "Products".

Forms![Products].DatasheetFontItalic = True

Forms![Products].DatasheetFontUnderline = True

W kolejnym przykładzie zostają wyświetlone dane i nazwy pól napisane kursywą i podkreślone w widoku "Arkusz danych" tabeli "Products".

Aby ustawić właściwości DatasheetFontItalic i DatasheetFontUnderline, w przykładzie użyto procedury SetTableProperty, która znajduje się w module standardowym bazy danych.

Dim dbs As Database, tdfProducts As TableDef

Set dbs = CurrentDb

Set tdfProducts = dbs![Products]

SetTableProperty tdfProducts, "DatasheetFontItalic", dbBoolean, True

SetTableProperty tdfProducts, "DatasheetFontUnderline", dbBoolean, True

Sub SetTableProperty(tdfTableObj As TableDef, strPropertyName As String, _

intPropertyType As Integer, varPropertyValue As Variant)

' Set Microsoft Access-defined table property without causing

' nonrecoverable run-time error.

Const conErrPropertyNotFound = 3270

Dim prpProperty As Property

On Error Resume Next	' Don't trap errors.

tdfTableObj.Properties(strPropertyName) = varPropertyValue

If Err <> 0 Then	' Error occurred when value set.

If Err <> conErrPropertyNotFound Then

On Error GoTo 0

MsgBox "Couldn't set property '" & strPropertyName _

& "' on table '" & tdfTableObj.Name & "'", 48, "SetTableProperty"

Else

On Error GoTo 0

Set prpProperty = tdfTableObj.CreateProperty(strPropertyName, _

intPropertyType, varPropertyValue)

tdfTableObj.Properties.Append prpProperty

End If

End If

tdfTableObj.Properties.Refresh

End Sub


DatasheetFontName, DatasheetFontHeight, właściwości

Właściwości DatasheetFontName i DatasheetFontHeight określają czcionkę i rozmiar punktowy czcionki używanej do wyświetlania i drukowania nazw pól i danych w widoku "Arkusz danych".

Uwaga   Właściwości DatasheetFontName i DatasheetFontHeight odnoszą się do wszystkich pól w widoku "Arkusz danych" i do formantów formularza w widoku "Arkusz danych".

Ustawienia

•	Właściwość DatasheetFontName. W kodzie języka Visual Basic jest to wyrażenie typu ciąg znaków określające nazwę czcionki.

•	Właściwość DatasheetFontHeight. W kodzie języka Visual Basic jest to wartość typu Liczba całkowita z przedziału od 1 do 127 reprezentująca rozmiar czcionki w punktach.

Właściwości te można ustawić wybierając nazwę czcionki z pola Czcionka  [image]  lub rozmiar czcionki z pola Rozmiar czcionki  [image]  na pasku narzędzi Formatowanie (arkusz danych).

Można również ustawić te właściwości za pomocą pól Czcionka i Rozmiar w oknie dialogowym Czcionka dostępnym po kliknięciu polecenia Czcionka z menu Format w widoku "Arkusz danych".

Uwagi

Nazwy czcionek, które można określić we właściwości DatasheetFontName zależą od czcionek zainstalowanych w systemie i drukarce. Jeśli zostanie określona czcionka niezainstalowana lub taka, której system nie może wyświetlić, system Microsoft Windows podstawi czcionkę podobną.

Ustawienie właściwości DatasheetFontHeight musi określać dozwolony rozmiar czcionki podanej we właściwości DatasheetFontName. Na przykład, dozwolonymi rozmiarami dla czcionki MS Sans Serif są 8, 10, 12, 14, 18 i 24 punkty.

Domyślne ustawienia właściwości DatasheetFontName i DatasheetFontHeight można okreslić używając ustawień znajdujących się w polu Czcionka domyślna na karcie Arkusz danych okna dialogowego Opcje dostępnego po kliknięciu polecenia Opcje w menu Narzędzia.

W poniższej tabeli zostały podane właściwości, których nie ma w kolekcji Properties dla obiektów TableDef lub QueryDef, dopóki nie zostaną one dodane za pomocą metody CreateProperty lub ustawione na pasku narzędzi Formatowanie (arkusz danych).

DatasheetFontItalic*	DatasheetForeColor*
DatasheetFontHeight*	DatasheetBackColor
DatasheetFontName*	DatasheetGridlinesColor
DatasheetFontUnderline*	DatasheetGridlinesBehavior
DatasheetFontWeight*	DatasheetCellsEffect
Uwaga   Program Microsoft Access automatycznie doda do kolekcji Properties wszystkie dodawane lub ustawiane właściwości, które zostały zaznaczone gwiazdką.


DatasheetFontName, DatasheetFontHeight, DatasheetFontWeight, właściwości - przykład
DatasheetFontName, DatasheetFontHeight, DatasheetFontWeight, właściwości – przykład

W poniższym przykładzie czcionka zostaje ustawiona na MS Serif, jej rozmiar na 10 punktów, a grubość na średnią (500) w widoku "Arkusz danych" tabeli "Products".

Do ustawienia tych właściwości w przykładzie użyto procedury SetTableProperty, występującej również w przykładzie dla właściwości DatasheetFontItalic i DatasheetFontUnderline.

Dim dbs As Database, tdfProducts As TableDef

Set dbs = CurrentDb

Set tdfProducts = dbs!Products

SetTableProperty tdfProducts, "DatasheetFontName", dbText, "MS Serif"

SetTableProperty tdfProducts, "DatasheetFontHeight", dbInteger, 10

SetTableProperty tdfProducts, "DatasheetFontWeight", dbInteger, 500

W kolejnym przykładzie w widoku "Arkusz danych" otwartej tabeli "Products" dokonywane są te same zmiany co w przykładzie poprzednim.

Forms!Products.DatasheetFontName = "MS Serif"

Forms!Products.DatasheetFontHeight = 10

Forms!Products.DatasheetFontWeight = 500


DatasheetFontWeight, właściwość

Właściwość DatasheetFontWeight określa grubość linii czcionki używanej do wyświetlania i drukowania nazw pól i danych w widoku "Arkusz danych".

Uwaga   Właściwość DatasheetFontWeight odnosi się do wszystkich pól w widoku "Arkusz danych" i do formantów formularza w widoku "Arkusz danych".

Ustawienie

W kodzie języka Visual Basic ustawieniem właściwości DatasheetFontHeight mogą być poniższe wartości typu Liczba całkowita.

Ustawienie	Opis
100	Cienka
200	Bardzo wąska
300	Wąska
400	(Ustawienie domyślne) Normalna
500	Średnia
600	Półgruba
700	Pogrubiona
800	Bardzo gruba
900	Ciężka
Dla tej właściwości można też ustawić czcionkę normalną i pogrubioną w oknie dialogowym Czcionka dostępnym po kliknięciu polecenia Czcionka w menu Format w widoku "Arkusz danych". W polu Styl czcionki okna dialogowego Czcionka jedynymi dostępnymi stylami określającymi grubość czcionki są: "Normalny" i "Pogrubiony".

Inną metodą wyboru jedynie ustawień "Normalny" i "Pogrubiony" jest kliknięcie przycisku Pogrubienie  [image] na pasku narzędzi Formatowanie (arkusz danych).

Domyślne wartość właściwości DatasheetFontWeight można ustawić w polu Czcionka domyślna na karcie Arkusz danych okna dialogowego Opcje dostępnego po kliknięciu polecenia Opcje w menu Narzędzia.

W poniższej tabeli zostały podane właściwości, których nie ma w kolekcji Properties dla obiektów TableDef lub QueryDef, dopóki nie zostaną one dodane za pomocą metody CreateProperty lub ustawione na pasku narzędzi Formatowanie (arkusz danych).

DatasheetFontItalic*	DatasheetForeColor*
DatasheetFontHeight*	DatasheetBackColor
DatasheetFontName*	DatasheetGridlinesColor
DatasheetFontUnderline*	DatasheetGridlinesBehavior
DatasheetFontWeight*	DatasheetCellsEffect
Uwaga   Program Microsoft Access automatycznie doda do kolekcji Properties wszystkie dodawane lub ustawiane właściwości, które zostały zaznaczone gwiazdką.


FrozenColumns, właściwość

Właściwość FrozenColumns służy do określenia liczby zablokowanych kolumn w arkuszu danych. Kolumny zablokowane znajdują się w lewej części arkusza danych i są nieruchome podczas jego poziomego przewijania.

Uwaga   Właściwość FrozenColumns odnosi się jedynie do tabel, formularzy i kwerend w widoku "Arkusz danych".

Ustawienia

Właściwość FrozenColumns ustawiana jest automatycznie po kliknięciu polecenia Zablokuj kolumny w menu Format.

W kodzie języka Visual Basic, ustawieniem tej właściwości jest wartość typu  Liczba całkowita reprezentująca liczbę kolumn zablokowanych w arkuszu danych za pomocą polecenia Zablokuj kolumny. Ponieważ kolumna selektora rekordu jest zawsze zablokowana, wartością domyślną tej właściwości jest 1. Po zablokowaniu jednej kolumny ustawieniem właściwości FrozenColumns będzie 2, po zablokowaniu dwóch - 3 itd.

Ustawienie tej właściwości jest we wszystkich widokach tylko do odczytu.

Uwagi

Podczas blokowania kolumn za pomocą polecenia Zablokuj kolumny są one automatycznie przenoszone do lewej części arkusza danych, gdzie występują w tej kolejności, w której zostały zablokowane. Na przykład, po zablokowaniu trzech kolumn stają się one pierwszą, drugą i trzecią kolumną w arkuszu danych. Ze względu na stałe zablokowanie kolumny selektora rekordów, ustawieniem właściwości FrozenColumns będzie wartość 4. Trzy zablokowane kolumny będą miały swoje właściwości ColumnOrder ustawione na wartości 1, 2 i 3 (w kolejności zablokowania).

Kliknięcie polecenia Odblokuj wszystkie kolumny w menu Format odblokowuje wszystkie kolumny i ustawia właściwość FrozenColumns na wartość 1.

Uwaga   Polecenie Odblokuj wszystkie kolumny nie przywróci początkowej kolejności kolumn w przypadku, gdy polecenie Zablokuj kolumny spowodowało jej zmianę.


FrozenColumns, właściwość - przykład

W poniższym przykładzie właściwośći FrozenColumns została użyta do sprawdzenia liczby kolumn zablokowanych w widoku "Arkusz danych". Jeśli przekracza ona trzy, zostaje zwiększony rozmiar okna umożliwiając oglądanie jak największej liczny kolumn nie zablokowanych.

Sub CheckFrozen(strTableName As String)

Dim dbs As Database

Dim tdf As TableDef

Dim prp As Property

Const conPropertyNotFound = 3270  ' Property not found error.

Set dbs = CurrentDb	  ' Get current database.

Set tdf = dbs.TableDefs(strTableName)	  ' Get object for table.

DoCmd.OpenTable strTableName, acNormal  ' Open table.

tdf.Properties.Refresh

On Error GoTo Frozen_Err

If tdf.Properties("FrozenColumns") > 3 Then   ' Check property.

DoCmd.Maximize

End If

Frozen_Bye:

Exit Sub

Frozen_Err:

If Err = conPropertyNotFound Then	  ' Property not in collection.

Set prp = tdf.CreateProperty("FrozenColumns", dbInteger, 1)

tdf.Properties.Append prp

Resume Frozen_Bye

End If

End Sub


RowHeight, właściwość

Właściwość RowHeight służy do określenia wysokości wszystkich wierszy w widoku "Arkusz danych".

Uwaga   Właściwość RowHeight (WysokośćWiersza) odnosi się do wszystkich pól w widoku "Arkusz danych" i do formantów formularza w widoku "Arkusz danych".

Ustawienia

Właściwość RowHeight można ustawić w widoku "Arkusz danych" przeciągając dolną krawędź selektora rekordu lub klikając polecenie Wysokość wiersza w menu Format. W przypadku ustawienia tej właściwości za pomocą polecenia Wysokość wiersza, wartość wyrażona będzie w punktach.

W kodzie języka Visual Basic ustawieniem właściwości RowHeight jest wartość typu Liczba całkowita długa określająca wysokość wiersza arkusza danych w  twipach. Aby określić domyślną wysokość dla bieżącej czcionki, można ustawić właściwość RowHeight na wartość True (–1).


RowHeight, ColumnWidth, właściwości - przykład
RowHeight, ColumnWidth, właściwości – przykład

W poniższym przykładzie zostaje zmieniona wysokość wiersza w widoku "Arkusz danych" tabeli "Customers", aby wyświetlane były dwa wiersze danych (450 twipów), a szerokość kolumny "Address" zostaje ustawiona na 1.5 cala (2160 twipów). Zmiany tych właściwości będą widoczne dopiero przy następnym otwarciu tabeli "Customers" w widoku "Arkusz danych".

Do ustawienia właściwości RowHeight i ColumnWidth użyto procedury SetTableProperty występującej również w przykładzie dla właściwości DatasheetFontItalic i DatasheetFontUnderline i procedury SetFieldProperty występującej w  przykładzie dla właściwości ColumnHidden.

Dim dbs As Database, tdfCustomers As TableDef

Set dbs = CurrentDb

Set tdfCustomers = dbs![Customers]

SetTableProperty tdfCustomers, "RowHeight", dbLong, 450

SetFieldProperty tdfCustomers![Address], "ColumnWidth", dbInteger, 2160

Kolejny przykład odnosi się do widoku "Arkusz danych" otwartego formularza "Customers". Wysokość wiersza określona została na 450 twipów, a szerokość kolumny tak ustawiona, aby dopasować rozmiar do widocznego tekstu.

Forms![Customers].RowHeight = 450

Forms![Customers]![Address].ColumnWidth = -2


CanGrow, CanShrink, właściwości

Właściwości CanGrow (MożnaPowiększać) i CanShrink (MożnaZmniejszać) można użyć do sterowania wyglądem sekcji lub formantów w formularzach i raportach, które są drukowane lub są w trybie podglądu wydruku. Jeśli na przykład obu tym właściwościom zostanie nadana wartość "Tak", sekcja lub formant automatycznie dostosowują swój wymiar pionowy tak, aby zostały wydrukowane lub wyświetlone wszystkie dane zawarte w sekcji czy formancie.

Uwagi

•	Właściwości CanGrow i CanShrink nie odnoszą się do nagłówka i stopki strony formularza i raportu, chociaż odnoszą się do tych sekcji w przypadku formantów.

•	Właściwości te mają wpływ na wyświetlany formularz lub formant tylko wtedy, gdy jest on drukowany lub jest w trybie podglądu wydruku, a nie wtedy gdy jest wyświetlany w widoku "Formularz", "Arkusz danych" lub "Projekt".

Ustawienia

Dla właściwość CanGrow używane są następujące ustawienia.

Ustawienie	Opis	Visual Basic
Tak	Sekcja lub formant ulegają pionowemu powiększeniu, aby można było przejrzeć lub wydrukować wszystkie dane.	True (–1)
Nie	(Ustawienie domyślne) Sekcja lub formant nie ulegają powiększeniu. Dane, które nie mieszczą się w określonym rozmiarze, nie będą wydrukowane ani przeglądane.	False (0)
Dla właściwości CanShrink używane sa następujące ustawienia.

Ustawienie	Opis	Visual Basic
Tak	Sekcja lub formant ulegają pionowemu pomniejszeniu, tak że dane można przeglądać lub drukować bez pozostawiania pustych miejsc.	True
Nie	(Ustawienie domyślne) Sekcja lub formant nie ulegają pomniejszeniu.	False
Właściwości te można ustawić jedynie za pomocą arkusza właściwości sekcji lub formantu.

Dla formantów można nadać tym właściwościom wartości domyślne używając domyślnego stylu formantu lub metody DefaultControl w kodzie języka Visual Basic.

Ustawienia tych właściwości są tylko do odczytu w makrze lub kodzie języka Visual Basic w każdym widoku z wyjątkiem widoku "Projekt".

Uwagi

Właściwości te służą do sterowania wyglądem drukowanych formularzy i raportów. Gdy obie te właściwości zostaną ustawione na wartość "Tak", obiekt automatycznie dostosowuje swe rozmiary, tak aby każda ilość danych została wydrukowana. Kiedy formant ulega powiększeniu lub pomniejszeniu, formant znajdujący się poniżej przesuwa się w górę lub w dół.

Jeśli właściwości CanGrow dla formantu zostanie nadana wartość "Tak", program Microsoft Access automatycznie nada wartość "Tak" właściwości CanGrow dla sekcji zawierającej ten formant. (Jednak jeśli właściwości CanShrink dla formantu zostanie nadana wartość "Tak", program Microsoft Access nie nada wartości "Tak" właściwości CanShrink dla sekcji zawierającej ten format.)

Sekcje ulegają pionowemu powiększeniu lub pomniejszeniu na całej swojej szerokości. Załóżmy, na przykład, że formularz ma dwa pola tekstowe obok siebie w sekcji, a każdy formant ma swoją właściwość CanShrink ustawioną na wartość "Tak". Jeśli jedno pole tekstowe zawiera jeden wiersz z danymi, a drugie pole dwa wiersze , oba pola tekstowe będą miały rozmiar dwóch wierszy, ponieważ rozmiar jest zmieniany na całej szerokości sekcji. Aby niezależnie zwiększyć lub zmniejszyć dane, można umieścić obok siebie dwa formanty podformularza lub podraportu  i ustawić ich właściwości CanGrow i CanShrink na wartość "Tak".

Używając właściwości CanGrow i CanShrink należy pamiętać, że:

•	Wartości tych właściwości nie wpływają na poziome odległości między formantami; wpływają one jedynie na wielkość przestrzeni w kierunku pionowym zajmowanej przez same formanty.

•	Formanty zachodzące na siebie nie mogą ulegać powiększeniu ani zmniejszeniu.

•	Rozmiar dużego formantu może uniemożliwić zmniejszenie formantów leżących obok niego. Jeśli na przykład kilka małych formantów znajduje się po lewej stronie sekcji szczegółowej raportu, a jeden duży formant, taki jak niezwiązana ramka obiektu, po prawej, formanty po lewej stronie nie ulegną zmniejszeniu, nawet jeśli nie zawierają danych.


Height, Width, właściwości

Właściwości Height (Wysokość) i Width (Szerokość) można użyć do nadania obiektowi określonych rozmiarów. Mogą one być przydatne, na przykład, do utworzenia obiektów o dokładnie takich samych rozmiarach albo mających taką samą szerokość lub wysokość.

Uwagi

•	Właściwość Height odnosi się tylko do sekcji formularza i sekcji raportu, a nie do formularzy i raportów.

•	Właściwość Width odnosi się tylko do formularzy i raportów, a nie do ich sekcji.

•	Obie właściwości odnoszą się do formantów na formularzach i raportach.

Ustawienia

Każda liczba służąca do określenia wysokości i szerokości musi być wprowadzona w bieżącej jednostce miary. Aby użyć jednostki miary innej niż ustawiona w oknie dialogowym Właściwości: Ustawienia regionalne w Panelu sterowania systemu Windows, należy określić jednostkę, taką jak cm lub cale (np. 5 cm lub 3 cale). Ustawienie właściwości Width (Szerokość) musi być liczbą z przedziału od 0 do 22 cali (55,87 cm).

Właściwości te można ustawić za pomocą arkusza właściwości obiektu, makra lub języka  Visual Basic.

Dla formantów można nadać tym właściwościom wartości domyślne używając domyślnego stylu formantu lub metody DefaultControl w kodzie języka Visual Basic.

W kodzie języka Visual Basic, aby nadać wartość każdej właściwości, należy użyć wyrażenia numerycznego. Wartości są wyrażone w  twipach.

Aby ustawić właściwość Height dla sekcji raportów podczas drukowania lub przeglądania raportów nie można używać makra, ani języka Visual Basic. Dla formantów raportu właściwości Height i Width można ustawić używając makra lub procedury zdarzenia określonej przez ustawienie właściwości zdarzenia OnFormat (PrzyFormatowaniu) sekcji.

Nie można ustawić tych właściwości dla obiektu po rozpoczęciu procesu drukowania. Na przykład, przy próbie ustawienia właściwości Height w zdarzeniu Print raportu generowany jest błąd.

Uwagi

Program Microsoft Access automatycznie ustawia właściwości Height i  Width podczas tworzenia lub określania rozmiaru formantu lub podczas określania rozmiaru okna w  widoku "Projekt" formularza lub raportu.

Wysokość sekcji i szerokość formularzy i raportów mierzone są od wewnątrz ich obramowań. Wysokość i szerokość formantów mierzone są od środka ich obramowań, tak że formanty z obramowaniami o różnych szerokościach wyrównywane są poprawnie. Marginesy formularzy i raportów ustawiane są w oknie dialogowym Ustawienia strony dostępnym po kliknięciu polecenia Ustawienia strony w menu Plik.

Uwaga   Aby ustawić lewe i górne położenie obiektu, należy użyć właściwości Left (Lewy) i Top (Górny).


Height, Width,  właściwości - przykład

Przedstawiony poniżej kod określa rozmiar przycisku polecenia jako 1 cal na 1 cal (domyślną jednostką miary w języku Visual Basic jest twip; 1440 twipów równa się jednemu calowi):

Me!cmdSizeButton.Height = 1440	' 1440 twips = 1 inch.

Me!cmdSizeButton.Width = 1440


Height, Width, właściwości - Dotyczy
Height, Width, właściwości – dotyczy

Height (Wysokość), właściwość

Width (Szerokość), właściwość


LabelX, LabelY, właściwości

Właściwości LabelX (EtykietaX) i LabelY (EtykietaY) można użyć, aby zmienić położenie etykiet dołączonych do nowych formantów. Można na przykład spowodować, że dołączona etykieta będzie się pojawiać z prawej strony formantu zamiast z lewej.

Ustawienia

Należy wprowadzić dodatnią lub ujemną liczbę, która określi odległość tekstu etykiety od lewego górnego rogu dołączonego formantu. Aby użyć jednostki miary innej niż określona w oknie dialogowym Właściwości: Ustawienia regionalne w Panelu sterowania systemu Windows, należy jawnie podać jednostkę, taką jak cm lub cale (np. 2 cm lub 1,5 cal).

Właściwości te można ustawić jedynie za pomocą domyślnego stylu formantu lub metody DefaultControl w kodzie języka Visual Basic.

Uwagi

Właściwość LabelX określa odległość wzdłuż osi poziomej, a LabelY wzdłuż osi pionowej. Ujemna wartość właściwości LabelX powoduje, że lewy górny róg etykiety zostaje umieszczony na lewo od formantu. Ujemna wartość właściwości LabelY powoduje, że lewy górny róg etykiety zostaje umieszczony powyżej formantu. Dodatnie wartości obu właściwości powodują, że etykieta zostaje umieszczona na prawo od lewego górnego rogu formantu i poniżej niego.

Jeśli właściwość LabelAlign (WyrównanieEtykiet) jest ustawiona na wartość "Do prawej" lub "Do lewej", właściwości LabelX (EtykietaX) i LabelY określają odległość pomiędzy prawą lub lewą krawędzią etykiety a lewym górnym rogiem formantu. Jeśli wartością właściwości LabelAlign jest "Wyśrodkowane", właściwości LabelX i LabelY określają odległość między środkiem etykiety i lewym górnym rogiem formantu.

Wyniki różnych kombinacji wartości właściwości LabelX, LabelY i LabelAlign:

LabelX	LabelY	LabelAlign	Wynik
–1 cm	0 cm	Ogólne	Lewy górny róg etykiety znajduje się w odległości 1 cm od lewego górnego rogu formantu.
–.5 cm	0 cm	Do prawej	Prawy górny róg etykiety znajduje się w odległości 0,5 cm od lewego górnego rogu formantu.
.5 cm	–.5 cm	Wyśrodkowane	Środek górnej krawędzi etykiety znajduje się w odległości 0,5 cm na prawo i 0,5 cm powyżej lewego górnego rogu formantu.


Left, Top, właściwości

Właściwości Left (Lewy) i Top (Górny) można użyć, aby określić położenie obiektu w formularzu lub raporcie. Można na przykład spowodować, że formant będzie zawsze położony w górnym prawym rogu sekcji.

Ustawienie

Położenie formantu określa odległość jego lewej lub górnej krawędzi od lewej lub górnej krawędzi sekcji zawierającej ten formant. Nadanie właściwości Left lub Top wartości 0, powoduje, że krawędź formantu pokrywa się z górną lub lewą krawędzią sekcji. Aby użyć jednostki miary innej niż określona w oknie dialogowym Właściwości: Ustawienia regionalne w Panelu sterowania systemu Windows, należy jawnie podać jednostkę, taką jak cm lub cale (na przykład 3 cm lub 2 cale).

Aby ustawić tę właściwość w kodzie języka Visual Basic, należy użyć wyrażenia numerycznego. Wartości są wyrażone w twipach.

Dla formantów można ustawić te właściwości używając arkusza właściwości formantu, makra lub kodu języka Visual Basic.

Dla raportów, właściwości te można ustawić tylko używając makra lub procedury zdarzenia w kodzie języka Visual Basic, gdy raport znajduje się w podglądzie wydruku lub jest drukowany.

Uwagi

Gdy przesuwa się formant, nowe ustawienia jego właściwości Left i Top są automatycznie wprowadzane do arkusza właściwości. Podczas oglądania formularza lub raportu w podglądzie wydruku lub podczas drukowania formularza, położenie formantu jest określone przez ustawienia właściwości Left i Top oraz ustawienie marginesu w oknie dialogowym Ustawienia strony dostępnym po kliknięciu polecenia Ustawienia strony w menu Plik.

Dla raportów, wartość ustawienia właściwości Top jest równa odległości bieżącej sekcji od górnej krawędzi strony; wartość ustawienia właściwości Left jest równa odległości bieżącej sekcji od lewej krawędzi strony. Wartości ustawień obu właściwości są wyrażone w twipach. Można tych właściwości użyć do określenia, w którym miejscu strony ma być wydrukowana bieżąca sekcja w procedurze zdarzenia Format.


Left, Top, właściwości - przykład
Left, Top, właściwości – przykład

W poniższym przykładzie sprawdzane są ustawienia właściwości Left (Lewy) dla bieżącego raportu. Jeżeli wartość ta jest mniejsza  od minimalnej szerokości marginesu, właściwości NextRecord i PrintSection ustawione są na wartość False (0). Sekcja nie obejmuje następnego rekordu i następna sekcja nie jest drukowana.

Sub Detail1_Format(Cancel As Integer, FormatCount As Integer)

Const conLeftMargin = 1880

' Don't advance to next record or print next section

' if Left property setting is less than 1880 twips.

If Me.Left < conLeftMargin Then

Me.NextRecord = False

Me.PrintSection = False

End If

End Sub


AutoCenter, właściwość

Właściwości AutoCenter (Autośrodkowanie) można użyć do określenia, czy formularz będzie przy otwieraniu automatycznie środkowany w oknie aplikacji.

Ustawienie

Właściwość AutoCenter ma następujące ustawienia:

Ustawienie	Opis	Visual Basic
Tak	Formularz będzie automatycznie środkowany przy otwieraniu.	True (–1)
Nie	(Ustawienia domyślne) Lewy górny róg formularza będzie w tym samym miejscu, co podczas ostatniego zapisywania.	False (0)
Właściwość tę można ustawić za pomocą arkusza właściwości formularza, makra lub kodu języka Visual Basic.

Właściwość tę można ustawić jedynie w widoku "Projekt".

Uwagi

W zależności od rozmiaru i położenia okna aplikacji, formularze mogą pojawiać się po jednej ze stron okna aplikacji, częściowo przez nie zasłonięte. Automatyczne wyśrodkowanie otwartego formularza sprawia, że łatwiej jest go oglądać i używać.

Jeżeli widoku "Projekt" zostaną wprowadzone jakieś zmiany w formularzu, którego właściwość AutoResize (Autowymiarowanie) jest ustawiona na wartość "Nie" i którego właściwość AutoCenter ustawiona jest na wartość "Tak", przed zapisaniem formularza należy przełączyć się na widok "Formularz". Jeśli się tego nie zrobi, program Microsoft Access obetnie prawą i dolną część formularza przy następnym jego otwieraniu.


CurrentSectionLeft, CurrentSectionTop, właściwości

Właściwości tych można użyć do określenia odległości w twipach od górnej i lewej krawędzi bieżącej sekcji do odpowiednio górnej i lewej krawędzi formularza.

Ustawienia

•	Właściwość CurrentSectionLeft. Wartość typu Liczba całkowita reprezentująca odległość od lewej krawędzi bieżącej sekcji do lewej krawędzi formularza.

•	Właściwość CurrentSectionTop. Wartość typu Liczba całkowita reprezentująca odległość od górnej krawędzi bieżącej sekcji do górnej krawędzi formularza.

Właściwości te są tylko do odczytu i są dostępne tylko w makrze lub w kodzie języka Visual Basic.

Uwagi

Wartości właściwości CurrentSectionLeft i CurrentSectionTop zmieniają się za każdym razem, gdy użytkownik przewija formularz.

Dla formularzy, których właściwość DefaultView (WidokDomyślny) ustawiona jest na wartość "Formularz pojedynczy", gdy użytkownik wyjdzie podczas przewijania poza lewy górny róg sekcji albo na prawo od lewej krawędzi formularza, właściwości te przyjmują wartości ujemne.

Dla formularzy, których właściwość DefaultView ustawiona jest na wartość "Formularze ciągłe", jeżeli sekcja nie jest widoczna, właściwość CurrentSectionTop jest równa co do wartośći właściwości InsideHeight formularza.

Właściwości CurrentSectionLeft i CurrentSectionTop są użyteczne do wyszukiwania położeń sekcji szczegółów wyświetlanych w widoku "Formularz" jako formularze ciągłe lub w widoku "Arkusz danych". Każda sekcja szczegółów ma inne ustawienie właściwości CurrentSectionTop, w zależności od położenia sekcji w formularzu.


CurrentSectionLeft, CurrentSectionTop, właściwości - przykład

W poniższym przykładzie zostają wyświetlone ustawienia właściwości CurrentSectionLeft i CurrentSectionTop dla formantu formularza ciągłego. Ilekroć użytkownik przechodzi do nowego rekordu, ustawienia tych właściwości dla bieżącej sekcji wyświetlane są w etykiecie lblStatus lw nagłówku formularza.

Private Sub Form_Current()

Dim intCurTop As Integer, intCurLeft As Integer

intCurTop = Me.CurrentSectionTop

intCurLeft = Me.CurrentSectionLeft

Me!lblStatus.Caption = intCurLeft & " , " & intCurTop

End Sub


WindowHeight, WindowWidth, właściwości

Właściwości te zwracają wysokość i szerokość formularza w twipach.

Ustawienie

Ustawienia właściwości WindowHeight i WindowWidth są wartościami typu Liczba całkowita.

Ustawienia tej wartości są tylko do odczytu i są dostępnę jedynie w makrze lub w kodzie języka Visual Basic.

Uwagi

Wartość właściwości WindowHeight jest mierzona od lewego górnego do lewego dolnego rogu formularza. Wartość właściwości WindowWidth jest mierzona od lewego górnego do prawego górnego rogu formularza.


ControlSource, właściwość

Właściwości ControlSource (ŹródłoFormantu) można użyć do określenia jakie dane mają pojawiać się w formancie. Można wyświetlać i edytować dane związane z polem w tabeli, kwerendą lub instrukcją SQL. Można również wyświetlić wynik wyrażenia. Dla poziomu grupowania raportu właściwość ControlSource określa pole lub wyrażenie, według którego ma być przeprowadzone grupowanie.

Uwaga   Właściwość ControlSource nie dotyczy pola wyboru, przycisku opcji ani przycisku przełącznika w  grupie opcji. Dotyczy ona tylko samej grupy opcji.

Dla raportów, właściwość ControlSource dotyczy tylko poziomów grupowania raportu.

Ustawienia

Dla właściwości ControlSource używane są następujące ustawienia:

Ustawienie	Opis
Nazwa pola	Formant jest związany z polem w tabeli, kwerendą lub instrukcją języka SQL. Dane zawarte w polu są wyświetlane w formancie. Zmiany danych wewnątrz formantu powodują zmiany odpowiednich danych pola. (Formant będzie tylko do odczytu, jeśli właściwość Locked (Zablokowany) zostanie ustawiona na wartość "Tak"). Kliknięcie formantu związanego z polem, w którym są dane typu Hiperłącze, powoduje skok do położenia określenogo w adresie hiperłącza.
Wyrażenie	Wyrażenie generuje dane dla formantu. Dane te mogą być zmieniane przez użytkownika, ale nie są zapisywane w bazie danych.
Właściwość ControlSource można ustawić używając arkusza właściwości formantu, makra lub języka Visual Basic.

Można również ustawić właściwość ControlSource dla pola tekstowego przez wpisanie nazwy pola lub wyrażenia bezpośrednio do pola tekstowego w widoku "Projekt" formularza lub widoku "Projekt" raportu.

Dla raportu można ustawić tę właściwość przez wybranie pola lub wpisanie wyrażenia w kolumnie Pole/Wyrażenie okna dialogowego Sortowanie i grupowanie. Więcej szczegółów można znaleźć w opisie właściwości GroupLevel.

Aby ustawić tę właściwość w języku Visual Basic, należy użyć wyrażenia typu ciąg znaków.

Uwagi

Formularze i raporty działają jak "okna" w bazie danych. Podstawowe źródło danych dla formularza lub raportu określa się przypisując jego właściwości RecordSource (ŹródłoRekordów) tabelę, kwerendę lub instrukcję języka SQL. Następnie można właściwości Control Source przypisać pole w źródle danych lub wyrażenie. Jeśli właściwość ControlSource jest wyrażeniem, wyświetlana wartość jest tylko do odczytu i nie jest zapisywana w bazie danych. Na przykład:

Przykładowa wartość	Opis
Nazwisko	Dla formantu dane z pola "Nazwisko" są wyświetlane w formancie. Dla poziomu grupowania raportu, program Microsoft Access grupuje dane według nazwiska.
=Date( ) + 7	Dla formantu wyrażenie to wyświetla w formancie datę, jaka będzie za siedem dni.
=DatePart("q",ShippedDate)	Dla formantu wyrażenie to wyświetla jedną czwartą część załadowanej daty. Dla poziomu grupowania raportu program Microsoft Access grupuje dane według jednej czwartej części załadowanej daty.


ControlSource, właściwość - przykład
ControlSource, właściwość – przykład

Kod przedstawiony w poniższym przykładzie ustawia właściowość ControlSource (ŹródłoFormantu) pola tekstowego o nazwie "AddressPart" na pole o nazwie "City":

Forms!Customers!AddressPart.ControlSource = "City"

W następnym kodzie przykładowym właściwość ControlSource pola tekstowego o nazwie "Expected" jest ustawiana na wyrażenie =Date() + 7.

Me!Expected.ControlSource = "=Date() + 7"


OptionValue, właściwość

Każdemu formantowi w grupie opcji przypisana jest wartość numereyczna, którą można określić za pomocą właściwości OptionValue (WartośćOpcji). Po wybraniu formantu liczba ta jest przydzielana grupie opcji. Jeśli grupa opcji jest związana z polem, wartość właściwości OptionValue wybranego formantu jest przechowywana w polu.

Na przykład, grupa opcji Region jest związana z polem "Region" w tabeli. Wartością właściwości OptionValue przycisku Europa jest 1, wartością przycisku Azja jest 2, a wartością przycisku Afryka 3. Gdy jeden z tych przycisków zostanie wybrany, wartość grupy opcji Region będzie taka sama jak wartość właściwości OptionValue wybranego formantu. W tym wypadku, ponieważ grupa opcji Region jest związana z polem Region, wartość tego pola w tabeli jest zawsze równa 2.

Uwaga   Właściwość OptionValue dotyczy tylko pola wyboru, przycisku opcji i przycisku przełącznika w grupie opcji.

Ustawienia

Wartością właściwości OptionValue może być liczba typu Liczba calkowita dluga lub wyrażenie numeryczne przypisane formantowi w obrębie formantu grupy opcji.

Właściwość OptionValue można ustawić używając arkusza właściwości formantu, makra lub języka Visual Basic.

Uwagi

Jeśli użytkownik sam nie zmieni właściwości OptionValue, pierwszy formant umieszczony w grupie opcji ma wartość 1, drugi formant ma wartość 2, i tak dalej.

Właściwość OptionValue jest dostępna tylko wtedy, gdy formant jest umieszczony w formancie grupy opcji. Jeśli pole wyboru, przełącznik lub przycisk opcji nie znajdują się w grupie opcji, formant nie ma właściwości OptionValue. Zamiast niej, każdy taki formant ma właściwość ControlSource (ŹródłoFormantu) i wartością każdego formantu będzie albo True (-1), jeśli zostanie wybrany, albo False (0), jeśli nie zostanie wybrany.


RecordSource, właściwość

Właściwości RecordSource (ŹródłoRekordów) można użyć do określenia źródła danych dla formularza lub raportu. Można wyświetlać dane z tabeli, kwerendy lub instrukcji SQL. Aby na przykład wyświetlić i edytować dane z tabeli "Pracownicy" należącej do formularza, należy właściwość RecordSource formularza ustawić na wartość "Pracownicy". Następnie można związać formanty na formularzu lub raport z określonymi polami w tabeli "Pracownicy", przez przypisanie właściwości ControlSource (ŹródłoFormantu) formantu nazwy pola w tabeli. Można na przykład związać formant z polem "Nazwisko" tabeli "Pracownicy" ustawiając właściwość ControlSource formantu na wartość "Nazwisko".

Ustawienia

Ustawieniem właściwości RecordSource może być nazwa tabeli, nazwa kwerendy lub instrukcja SQL. Można na przykład użyć następujących wartości.

Przykładowa wartość	Opis
Pracownicy	Nazwa tabeli określająca tabelę "Pracownicy" jako źródło danych.
SELECT Orders!OrderDate FROM Orders;	Instrukcja SQL określająca pole "OrderDate" w tabeli "Orders" jako źródle danych. Można związać na formularzu lub raporcie pole "OrderDate" w tabeli "Orders" ustawiając właściwość ControlSource na wartość "OrderDate".
Właściwość RecordSource można ustawić używając arkusza właściwości formularza lub raportu, makra lub języka Visual Basic.

Aby ustawić tę właściwość w języku Visual Basic, należy użyć wyrażenia typu ciąg znaków.

Uwaga   Zmiana źródła rekordów otwartego formularza lub raportu automatycznie powoduje wykonanie kwerendy na nowych danych.

Uwagi

Po utworzeniu formularza lub raportu można zmienić źródło danych przez zmianę właściwości RecordSource. Właściwość RecordSource jest również użyteczna, gdy trzeba utworzyć formularz lub raport nadający się do wielokrotnego użycia. Można na przykład utworzyć formularz zawierający projekt standardowy, następnie skopiować go i zmienić wartość właściwości RecordSource, aby wyświetlić dane z innej tabeli, kwerendy lub instrukcji języka SQL.

Ograniczenie liczby rekordów zawartych w źródle danych formularza może polepszyć wydajność, szczególnie gdy aplikacja pracuje w sieci. Można na przykład właściwości RecordSource formularza przypisać pojedynczy rekord i zmienić źródło danych formularza w zależności od kryteriów wybranych przez użytkownika.


RecordSource, właściwość - przykład
RecordSource, właściwość – przykład

Kod przedstawiony w poniższym przykładzie ustawia właściwość RecordSource (ŹródłoRekordów) formularza na tabelę "Customers":

Forms!frmCustomers.RecordSource = "Customers"

Kod przedstawiony w następnym przykładzie zmienia źródło danych formularza na pojedynczy rekord w tabeli "Customers", zależnie od nazwy firmy wybranej w formancie pola kombi cmboCompanyName. Pole kombi jest wypełniane przez instrukcję języka SQL, która zwraca identyfikator "CustomerID" w kolumnie związanej i nazwę firmy.

Sub cmboCompanyName_AfterUpdate()

Dim strNewRecord As String

strNewRecord = "SELECT * FROM Customers " _

& " WHERE CustomerID = '" _

& Me!cmboCompanyName.Value & "'"

Me.RecordSource = strNewRecord

End Sub


RowSourceType, RowSource, właściwości

Właściwości RowSourceType (TypŹródłaWierszy) i RowSource (ŹródłoWierszy) można użyć razem, aby określić, w jaki sposób program Microsoft Access ma dostarczać danych dla pola listy, pola kombi lub niezwiązanego obiektu OLE, takiego jak wykres. Na przykład, aby wyświetlić w liście wiersze danych z kwerendy o nazwie "CustomerList", należy przypisać właściwości RowSourceType listy wartość "Tabela/Kwerenda", a jego właściwości RowSource kwerendę o nazwie "CustomerList".

Ustawienie

Dla właściwości RowSourceType używane są następujące ustawienia:

Ustawienie	Opis
Tabela/Kwerenda	(Ustawienie domyślne) Dane pochodzą z tabeli, kwerendy lub instrukcji SQL, zależnie od wartości właściwości RowSource.
Lista wartości	Dane stanowi lista elementów określonych przez wartość właściwości RowSource.
Lista pól	Dane stanowi lista nazw pól z tabeli, kwerendy lub instrukcji języka SQL określonych przez wartość właściwości RowSource.
Uwaga   Właściwość RowSourceType można również ustawić za pomocą funkcji zdefiniowanej przez użytkownika. W tym przypadku dane stanowi tablica wartości zdefiniowana przez użytkownika. Nazwę funkcji wprowadza się bez poprzedzającego znaku równości (=) i bez nawiasów na końcu. Aby poinformować program Microsoft Access, jak ma być wypełniany formant, należy dostarczyć określone argumenty kodowania.

Wartość właściwości RowSource zależy od wartości właściwości RowSourceType.

Dla takiej wartości RowSourceType	Należy wprowadzić taką wartość RowSource
Tabela/Kwerenda	Należy wprowadzić nazwę tabeli, nazwę kwerendy lub instrukcję języka SQL.
Lista wartości	Należy wprowadzić listę elementów używając średnika jako separatora.
Lista pól	Należy wprowadzić nazwę tabeli lub kwerendy albo instrukcję języka SQL.
Uwaga   Jeśli wartością właściwości RowSourceType jest funkcja zdefiniowana przez użytkownika, wartość właściwości RowSource może pozostać nieokreślona.

Właściwości RowSourceType i RowSource można ustawić używając arkusza właściwości formantu, makra lub języka Visual Basic.

Dla pól tabeli, właściwości te można ustawić na karcie Odnośnik w sekcji "Właściwości pól" w widoku "Projekt" tabeli dla pól z właściwością DisplayControl (TypFormantu) ustawioną na pole kombi lub pole listy.

Uwaga   Program Microsoft Access automatycznie nadaje wartość tym właściwościom, jeśli jako typ danych dla pola w widoku "Projekt" tabeli zostanie wybrany typ Kreator odnośników.

W języku Visual Basic, wartość właściwości RowSourceType nadaje się przy użyciu jednego z następujących wyrażeń typu ciąg znaków: "Table/Query", "Value List" lub "Field List". Używa się również wyrażenia typu ciąg znaków, aby nadać wartość właściwości RowSource. Aby przypisać właściwości RowSourceType funkcję zdefiniowaną przez użytkownika, należy wprowadzić nazwę funkcji.

Uwagi

W przypadku ograniczonej liczby wartości niezmiennych, można ustawić właściwość RowSourceType na wartość "Lista wartości", a następnie wprowadzić wartości, które tworzą listę we właściwości RowSource.

Po utworzeniu funkcji zdefiniowanej przez użytkownika służącej do wstawiania elementów w liście lub polu kombi, program Microsoft Access częstokroć wywołuje tę funkcję, aby otrzymać niezbędne informacje. Zdefiniowane przez użytkownika funkcje dla właściwości RowSoutceType muszą być napisane w ściśle określonym formacie funkcji.


RowSourceType, RowSource, wartości właściwości - przykłady
RowSourceType, RowSource, ustawienia właściwości - przykłady

Poniżej zostały pokazane przykładowe ustawienia właściwości RowSource (ŹródłoWierszy) dla każdej wartości właściwości Row SourceType (TypŹródłaWierszy).

Gdy wartością właściwości RowSourceType jest "Lista wartości"

W poniższej tabeli zostały pokazane prawidłowe ustawienia właściwości RowSource i ColumnCount (LiczbaKolumn) oraz rodzaje otrzymywanych list, jeśli właściwość RowSourceType jest ustawiona na wartość "Lista wartości".

Ustawienie właściwości RowSource	Lista
Pn;Wt;Śr (ColumnCount = 1)	Lista jednokolumnowa z trzema wierszami
1;Poniedziałek;2;Wtorek;3;Środa;4;Czwartek (ColumnCount = 2)	Lista dwukolumnowa z czterema wierszami
Kraj;Stolica;Chiny;Pekin;Brazylia;Brasilia (ColumnCount = 2, ColumnHeads = Tak)	Lista dwukolumnowa z jednym wierszem nagłówków kolumn i dwoma wierszami danych
Gdy ustawieniem właściwości RowSourceType jest wartość "Tabela/Kwerenda"

Jeśli ustawieniem właściwości RowSourceType jest wartość "Tabela/Kwerenda", właściwości RowSource można przypisać nazwę tabeli lub kwerendy – na przykład "ListaKategorii".

Poniżej została pokazana prawidłowa instrukcja języka SQL dla dwukolumnowej listy wyciągniętej z tabeli "Kategorie":

SELECT CategoryID, CategoryName FROM Categories ORDER BY CategoryName;

Jeśli kwerenda "CategoryList" i instrukcja języka SQL definiują ten sam zestaw rekordów, lista dla każdej z dwóch wartości właściwości wygląda następująco:

Gdy ustawieniem właściwości RowSourceType jest wartość "Lista pól"

Jeśli ustawieniem właściwości RowSourceType jest wartość "Lista pól", a właściwości RowSource "ListaKategorii" (kwerenda opisana w poprzednim przykładzie), otrzymana lista wygląda następująco:

Gdy właściwość RowSourceType jest ustawiona na funkcję zdefiniowaną przez użytkownika

Jeśli ustawieniem właściwości RowSourceType jest nazwa funkcji zdefiniowanej przez użytkownika, wartość właściwości RowSource może pozostać nieokreślona. Na przykład, zdefiniowana przez użytkownika funkcja o nazwie ListaMDB wypełniająca pole kombi nazwami wszystkich baz danych w bieżącym katalogu, wprowadzona jest do arkusza właściwości w następujący sposób:


RowSourceType, RowSource, właściwości - przykład kodu języka Visual Basic
RowSourceType, RowSource, właściwości – przykład kodu języka Visual Basic

Kod przedstawiony w poniższym przykładzie ustawia właściwość RowSourceType (TypŹródłaWierszy) pola kombi na wartość "Tabela/Kwerenda", właściwość RowSource (ŹródłoWierszy) na kwerendę o nazwie "EmployeeList".

Forms!Employees!cmboNames.RowSourceType = "Table/Query"

Forms!Employees!cmboNames.RowSource = "EmployeeList"


RowSourceType, właściwość (funkcja zdefiniowana przez użytkownika) - wartości argumentu kodowania

Tworzone przez użytkownika funkcje języka Visual Basic muszą akceptować pięć argumentów. Pierwszy argument musi być zadeklarowany jako formant, a pozostałe jako Variant. Sama funkcja musi zwracać wartość typu Variant.

Składnia

Function nazwafunkcji(pole As Control, id As Variant, wiersz As Variant, kol As Variant, kod As Variant) As Variant

Procedura Function wymaga pięciu następujących argumentów:

Argument	Opis
pole	Zmienna typu formant odwołująca się do wypełnianego pola listy lub pola kombi.
id	Unikatowa wartość określająca wypełniany formant; jest ona użyteczna, gdy używa się tej samej funkcji dla kilku list lub pól kombi i trzeba je rozróżnić. (W przykładzie została nadana tej zmiennej wartość funkcji Timer.)
wiersz	Wypełniany wiersz (początkowo wyzerowany).
kol	Wypełniana kolumna (początkowo wyzerowany).
kod	Stała wewnętrzna określająca rodzaj żądanych informacji.
Uwaga   Ponieważ program Microsoft Access wywołuje funkcję kilka razy, aby wstawić pozycje do listy, często trzeba zachowywać informacje między wywołaniami. Dlatego najlepiej jest używać zmiennych typu Static.

Program Microsoft Access powtarza wywoływanie funkcji zdefiniowanej przez użytkownika używając różnych wartości w argumencie kod, aby określić potrzebne informacje. Argument kod może używać następujących stałych wewnętrznych.

Stała	Znaczenie	Funkcja zwraca
acLBInitialize	Inicjacja	Wartość różną od zera, jeśli funkcja może wypełnić listę; wartość False lub Null w przeciwnym wypadku.
acLBOpen	Otwarcie	Różną od zera wartość ID, jeśli funkcja może wypełnić listę; wartość False lub Null w przeciwnym wypadku.
acLBGetRowCount	Liczba wierszy	Liczbę wierszy w liście (może być zerem); -1 jeśli jest nieznana..
acLBGetColumnCount	Liczba kolumn	Liczbę kolumn w liście (nie może być zerem); musi być zgodna z wartością w arkuszu właściwości.
acLBGetColumnWidth	Szerokość kolumny	Szerokość (w twipach) kolumny określonej przez argument kol ; lub -1, jeśli używana jest szerokość domyślna.
acLBGetValue	Element listy	Element listy, który ma być wyświetlony w wierszu i kolumnie określonych przez argumenty wiersz i kol.
acLBGetFormat	Formatujący ciąg znaków	Ciąg znaków używany do sformatowania elementu listy wyświetlanego w wierszu i kolumnie określonych przez argumenty wiersz i kol; –1, gdy używany jest format domyślny.
acLBEnd	Koniec (ostatnie wywołanie funkcji zdefiniowanej przez użytkownika zawsze używa tej wartości)	Nic.
acLBClose	(Nie używana)	(Nie używana)
Program Microsoft Access wywołuje funkcję zdefiniowaną przez użytkownika jednokrotnie dla stałych acLBInitialize, acLBOpen, acLBGetRowCount i acLBGetColumnCount. Inicjuje on funkcję zdefiniowaną przez użytkownika, otwiera kwerendę oraz określa liczbę wierszy i kolumn.

Program Microsoft Access wywołuje funkcję zdefiniowaną przez użytkownika dwa razy dla stałej acLBGetColumnWidth – raz, aby określić całkowitą szerokość listy lub pola kombi i drugi raz, aby określić szerokość kolumny.

Liczba wywołań funkcji zdefiniowanej przez użytkownika dla stałych acLBGetValue i acLBGetFormat (aby otrzymać elementy listy i sformatować ciągi znaków) jest zmienna; zależy ona od liczby elementów, przewinięć dokonywanych przez użytkownika i innych czynników.

Program Microsoft Access wywołuje funkcję zdefiniowaną przez użytkownika dla stałej acLBEnd, gdy formularz jest zamknięty lub za każdym razem, gdy wykonywana jest kwerenda na liście lub polu kombi.

Ilekroć wymagana jest określona wartość (taka jak liczba kolumn), zwrócenie wartości Null lub innej nieprawidłowej wartości powoduje, że program Microsoft Access przestaje wywoływać funkcję listy z tym kodem.

Wskazówka   Można użyć struktury kodu Select Case z przykładu jako szablonu dla własnych zdefiniowanych przez użytkownika funkcji dla właściwości RowSourceType.


RowSourceType, właściwość (funkcja zdefiniowana przez użytkownika) - wartości argumentu kodowania; przykład
RowSourceType, właściwość (funkcja zdefiniowana przez użytkownika) – wartości argumentu kodowania; przykład

Poniższa funkcja zdefiniowana przez użytkownika zwraca listę czterech poniedziałków następujących po dzisiejszej dacie. Aby wywołać tę funkcję z formantu listy, należy wprowadzić ciąg znaków ListMondays jako wartość właściwości RowSourceType (TypŹródłaWierszy) i pozostawić nieokreśloną właściwość RowSource (ŹródłoWierszy).

Function ListMondays(fld As Control,id As Variant,row As Variant,col As Variant,code As Variant) As Variant

Dim intOffset As Integer

Select Case code

Case acLBInitialize	' Initialize.

ListMondays = True

Case acLBOpen	' Open.

ListMondays = Timer	' Unique ID.

Case acLBGetRowCount	' Get rows.

ListMondays = 4

Case acLBGetColumnCount	' Get columns.

ListMondays = 1

Case acLBGetColumnWidth	' Get column width.

ListMondays = -1	' Use default width.

Case acLBGetValue	' Get the data.

intOffset = Abs((9 - Weekday(Now))Mod 7)

ListMondays = Format(Now() + intOffset + 7 * row,"mmmm d")

End Select

End Function

W następnym przykładzie została użyta statyczna tablica do przechowania nazw baz danych z bieżącego katalogu. Aby wywołać tę funkcję należy wprowadzić ciąg znaków ListaMDB jako wartość właściwości RowSourceType i pozostawić wartość właściwości RowSource nieokreśloną.

Function ListMDBs(fld As Control, id As Variant, row As Variant, col As Variant, code As Variant) As Variant

Static dbs(127) As String, Entries As Integer

Dim ReturnVal As Variant

ReturnVal = Null

Select Case code

Case acLBInitialize	' Initialize.

Entries = 0

dbs(Entries ) = Dir("*.MDB")

Do Until dbs(Entries) = "" Or Entries >= 127

Entries = Entries+1

dbs(Entries) = Dir

Loop

ReturnVal = Entries

Case acLBOpen	' Open.

ReturnVal = Timer	' Generate unique ID for control.

Case acLBGetRowCount	' Get number of rows.

ReturnVal = Entries

Case acLBGetColumnCount	' Get number of columns.

ReturnVal = 1

Case acLBGetColumnWidth	' Column width.

ReturnVal = -1	' -1 forces use of default width.

Case acLBGetValue	' Get data.

ReturnVal = dbs(row)

Case acLBEnd	' End.

Erase dbs

End Select

ListMDBs = ReturnVal

End Function


RunningSum, właściwość

Właściwości RunningSum (SumaBieżąca) można użyć, aby wyliczyć rekord po rekordzie lub grupa po grupie podsumowania w raporcie. Właściwość RunningSum określa, czy pole tekstowe w raporcie wyświetla bieżące podsumowania i pozwala ustalić zakres, w jakim wartości będą gromadzone. Jeśli na przykład grupuje się dane według miesięcy i pokazuje sumę sprzedaży w każdym miesiącu w stopce grupy, można pokazać sumę bieżącą sprzedaży biorąc pod uwagę cały raport (sprzedaż w styczniu w stopce dla stycznia, sprzedaż w styczniu i lutym w stopce dla lutego i tak dalej) przez dodanie pola tekstowego do stopki pokazującej sumę sprzedaży i ustawienie właściwości RunningSum na wartość "Wszędzie".

Uwaga   Właściwość RunningSum dotyczy tylko pola tekstowego raportu.

Ustawienie

Dla właściwości RunningSum używane są następujące ustawienia:

Ustawienie	Opis	Visual Basic
Nie	(Ustawienie domyślne) Pole tekstowe wyświetla dane z pola odnośnego dla rekordu bieżącego.	0
W grupie	Pole tekstowe wyświetla sumę bieżącą wartości w tym samym poziomie grupowania. Wartość kumuluje się, dopóki nie zostanie napotkana inna sekcja poziomu grupowania.	1
Wszędzie	Pole tekstowe wyświetla sumę bieżącą wartości w tym samym poziomie grupowania. Wartość kumuluje się, dopóki nie zostanie osiągnięty koniec raportu.	2
Właściwość RunningSum można ustawić używając arkusza właściwości pola tekstowego, makra lub języka Visual Basic. Wartość właściwości RunningSum można ustawić tylko w widoku "Projekt".

Uwagi

Aby wyliczyć podsumowanie rekord po rekordzie, należy umieścić pole tekstowe w sekcji szczegółów. Na przykład, aby ponumerować rekordy pojawiające się w sekcji szczegółów raportu, należy właściwość ControlSource (Źródło formantu) pola tekstowego ustawić na wartość 1, a właściwość RunningSum na wartość "W grupie".

Aby wyliczyć podsumowanie grupa po grupie, należy umieścić pole tekstowe w nagłówku grupy lub stopce grupy.

W raporcie może być do dziesięciu zagnieżdżonych poziomów grupowania.


RunningSum, właściwość - przykład (raport ze sprzedaży)
RunningSum, właściwość – przykład (raport ze sprzedaży)

W poniższym przykładzie został pokazany raport ze sprzedaży z dwoma poziomami grupowania – "Month" (Miesiąc) i "Type of Food" (Rodzaj Żywności). Każde pole tekstowe w stopce grupy "Type of Food" (January Chocolates, January Meat i tak dalej) zawiera następujące wyrażenie:

= Sum([Sales])

Właściwości RunningSum każdego pola tekstowego można nadać jedną z trzech różnych wartości: "Nie", "W grupie" i "Wszędzie".

Poziomy grupowania	Nie	W grupie	Wszędzie

Month: January

Type of Food: Chocolates

02-Jan	25
22-Jan	75
January Chocolates	100	Jan Food 100	YTD Sales 100

Type of Food: Meat

03-Jan	90
20-Jan	60
January Meat	150	Jan Food 250	YTD Sales 250

Month: February

Type of Food: Chocolates
05-Feb	70
19-Feb	80
February Chocolates	150	Feb Food 150	YTD Sales 400

Type of Food: Meat

12-Feb	150
22-Feb	100
February Meat	250	Feb Food 400	YTD Sales 650


RunningSum, właściwość - przykład kodu języka Visual Basic
RunningSum, właściwość – przykład kodu języka Visual Basic

Kod przedstawiony w poniższym przykładzie ustawia właściwości RunningSum (SumaBieżąca) pola tekstowego o nazwie "SalesTotal" na wartość 2 ("Wszędzie").

Reports!rptSales!SalesTotal.RunningSum = 2


Dirty, właściwość

Właściwości Dirty można użyć, aby sprawdzić, czy rekord bieżący był modyfikowany od ostatniego zapisania. Można na przykład zapytać użytkownika, czy zmiany dokonane w rekordzie były zamierzone i, jeśli nie, zezwolić użytkownikowi na przejście do innego rekordu bez zapisania zmian.

Ustawienia

Dla właściwości Dirty używane są następujące ustawienia:

Ustawienie	Opis	Visual Basic
Prawda	Bieżący rekord był zmieniany.	True (–1)
Fałsz	Bieżący rekord nie był zmieniany.	False (0)
Właściwość ta jest dostępna w widoku "Formularz" i w widoku "Arkusz danych".

Właściwość ta jest tylko do odczytu i jest dostępna tylko w makrze lub w kodzie języka Visual Basic.

Uwagi

Gdy rekord jest zapisywany, właściwość Dirty automatycznie jast ustawiana na wartość False. Gdy użytkownik dokonuje zmian w rekordzie, właściwość jest ustawiana na wartość True.


Dirty, właściwość - przykład
Dirty, właściwość – przykład

W poniższym przykładzie zostaje włączony przycisk btnUndo za każdym razem, gdy dane ulegają zmianie. Podprogram "UndoEdits( )" jest wywoływany ze zdarzenia AfterUpdate formantów pól tekstowych. Kliknięcie włączonego przycisku btnUndo przywraca pierwotną wartość formantu poprzez użycie właściwości OldValue.

Sub UndoEdits()

If Me.Dirty Then

Me!btnUndo.Enabled = True	' Enable button.

Else

Me!btnUndo.Enabled = False	' Disable button.

End If

End Sub

Sub btnUndo_Click()

Dim ctlC As Control

' For each control.

For Each ctlC in Me.Controls

If ctlC.ControlType = acTextBox Then

' Restore Old Value.

ctlC.Value = ctlC.OldValue

End If

Next ctlC

End Sub


AllowZeroLength Property, właściwość

Właściwości AllowZeroLength (ZerowaDługośćDozwolona) można użyć do określenia, czy ciąg znaków zerowej długości (" ") jest poprawną pozycją w polu tabeli.

Uwaga   Właściwość AllowZeroLength odnosi się w tabelach tylko do pól typu Tekst, Memo i Hiperłącze.

Ustawienia

Dla właściwości AllowZeroLength używane są następujące ustawienia

Ustawienie	Opis	Visual Basic
Tak	Ciąg znaków zerowej długości jest poprawną pozycją.	True (–1)
Nie	(Ustawienie domyślne) Ciąg znaków o zerowej długości nie jest poprawną pozycją.	False (0)
Właściwość tę można ustawić w arkuszu właściwości tabeli lub za pomocą kodu języka Visual Basic.

Uwaga   Aby uzyskać dostęp do właściwości AllowZeroLength pola przy użyciu języka Visual Basic, należy użyć właściwości AllowZeroLength obiektów dostępu do danych (DAO).

Uwagi

Aby program Microsoft Access przechowywał w polu ciąg znaków zerowej długości zamiast wartości Null przy pozostawianiu pustego pola, należy ustawić zarówno właściwość AllowZeroLength, jak i właściwość Required (Wymagane) na wartość "Tak".

W poniższej tabeli zostały pokazane efekty różnych kombinacji ustawień właściwości AllowZeroLength i Required.

AllowZeroLength	Required	Działanie użytkownika	Przechowywana wartość
Nie	Nie	Naciśnięcie klawisza ENTER Naciśnięcie klawisza spacji Wprowadzenie ciągu znaków zerowej długości	Null Null (nie dozwolone)
Tak	Nie	Naciśnięcie klawisza ENTER Naciśnięcie klawisza spacji  Wprowadzenie ciągu znaków zerowej długości	Null Null Łańcuch zerowej długości
Nie	Tak	Naciśnięcie klawisza ENTER Naciśnięcie klawisza spacji  Wprowadzenie ciągu znaków zerowej długości	(nie dozwolone) (nie dozwolone) (nie dozwolone)
Tak	Tak	Naciśnięcie klawisza ENTER Naciśnięcie klawisza spacji  Wprowadzenie ciągu znaków zerowej długości	(nie dozwolone) Łańcuch zerowej długości Łańcuch zerowej długości
Wskazówka   Do rozróżniania wyświetlania wartości Null i ciągu znaków zerowej długości można użyć właściwości Format. Na przykład, ciąg znaków "Brak" będzie wyświetlony, jeśli wprowadzony zostanie ciąg znaków zerowej długości.

Właściwość AllowZeroLength działa niezależnie od właściwości Required. Właściwość Required określa tylko, czy wartość Null jest poprawna dla danego pola. Jeżeli właściwość AllowZeroLength ustawiona jest na wartość "Tak", to ciąg znaków zerowej długości będzie poprawną wartością dla pola, niezależnie od ustawienia właściwości Required.


Caption, właściwość

Właściwości Caption (Tytuł) można użyć, aby dostarczyć użytkownikowi pomocnych informacji przez nadanie tytułów obiektom w różnych widokach:

•	Tytuły pól określają tekst etykiet przyłączanych do formantów utworzonych przez przeciągnięcie pola z listy pól i służą jako nagłówki kolumn dla pola w tabeli lub kwerendzie w widoku "Arkusz danych".

•	Tytuły formularzy określają tekst, który pojawia się na pasku tytułu w widoku "Formularz".

•	Tytuły raportów określają tytuł raportu w podglądzie wydruku.

•	Tytuły przycisków i etykiet określają tekst, który pojawi się w formancie.

Ustawienia

Właściwość Caption jest wyrażeniem typu ciąg znaków, które może się składać maksymalnie z 2048 znaków. Tytuły dla formularzy i raportów, które są zbyt długie, aby je wyświetlić na pasku tytułu, są obcinane.

Dla formantów, można ustawić tę właściwość przy pomocy arkusza właściwości. Dla pól, można ustawić tę właściwość przy pomocy arkusza właściwości w widoku "Projekt" tabeli lub w oknie kwerendy (w arkuszu właściwości "Właściwości pola"). Można też ustawić tę właściwość za pomocą makra lub kodu języka Visual Basic.

Uwagi

Jeśli nie zostanie określony tytuł pola tabeli, to wartość ustawienia właściwości pola FieldName (NazwaPola) zostanie użyta jako tytuł etykiety dołączonej do formantu lub jako nagłówek kolumny w widoku "Arkusz danych". Jeśli nie zostanie określony tytuł pola kwerendy, zostanie użyty tytuł jej odnośnej tabeli. Jeśli zostanie określony tytuł formularza, przycisku lub etykiety, program Microsoft Access przypisze obiektowi unikatową nazwę, w zależności od obiektu, np. "Formularz1".

Jeśli formant zostanie utworzony przez przeciągnięcie pola z listy pól i nie zostanie ustawiona właściwość Caption dla pola, ustawienie właściwości FieldName zostanie skopiowane do pola właściwości Name (Nazwa) formantu i pojawi się również w etykiecie utworzonego formantu.

Uwaga   Tekst właściwości Caption etykiety lub przycisku polecenia formantu jest tekstem wyświetlanym w hiperłączu, jeśli  dla formantu ustawiona jest  właściwość HyperlinkAddress (AdresHiperłącza) lub HyperlinkSubAddress (PodadresHiperłącza).

Można użyć właściwości Caption, aby przypisać etykiecie lub przyciskowi polecenia klawisz dostępu. W tym celu należy umieścić w tytule znak "&", bezpośrednio przed znakiem, który ma być klawiszem dostępu. Znak ten zostanie podkreślony. Podczas przeglądania formularza wystarczy nacisnąć klawisz ALT wraz z klawiszem podkreślonego znaku, aby przenieść fokus do tego formantu formularza.

Wskazówka   Aby znak "&" był wyświetlany w tekście tytułu, należy umieścić dwa znaki "&&" w tytule nadawanym formantowi. Na przykład, aby był wyświetlany napis "Zachowaj & Wyjdź", należy wpisać Zachowaj && Wyjdź w polu właściwości Caption.


DataType, właściwość

Właściwości DataType (TypDanych) można użyć, aby określić typ danych zapisywanych w polu tabeli. Każde pole może zawierać dane tylko jednego typu.

Ustawienia

Dla właściwości DataType używane są następujące ustawienia:

Ustawienie	Typ danych	Rozmiar
Tekst	(Ustawienie domyślne) Tekst lub kombinacja tekstu i liczb, a także liczby, na których nie przeprowadza się obliczeń, takie jak numery telefonów.	Nie więcej niż 255 znaków lub długość określona przez ustawienie właściwości FieldSize (RozmiarPola), jeśli jest mniejsza. Program Microsoft Access nie rezerwuje miejsca dla nieużywanych części pola tekstowego.
Memo	Długie teksty lub kombinacje tekstu i liczb.	Nie więcej niż 65 535 znaków. (Jeśli pole Memo jest sterowane przez obiekty dostępu do danych DAO i będą w nim przechowywane jedynie tekst i liczby [nie dane binarne], wtedy rozmiar pola Memo ograniczony będzie rozmiarem bazy danych.)
Liczba	Dane liczbowe używane w obliczeniach matematycznych. Więcej informacji na temat ustawiania określonego typu Liczba można znaleźć w temacie poświęconym właściwości FieldSize.	1, 2, 4 lub 8 bajtów (16 bajtów, jeśli właściwość FieldSize zostanie ustawiona na wartość "ID replikacji").
Data/Godzina	Wartości dat i godzin dla lat od 100 do 9999.	8 bajtów.
Walutowy	Wartości monetarne i dane liczbowe używane w obliczeniach matematycznych, mające od jednego do czterech miejsc po przecinku. Określone z dokładnością do 15 cyfr po lewej stronie przecinka i 4 po prawej stronie.	8 bajtów.
Autonumer	Unikatowy, kolejny (zwiększany o 1) lub przypadkowy numer przypisywany przez program Microsoft Access każdemu nowemu rekordowi dodawanemu do tabeli. Pola typu Autonumer nie mogą być aktualizowane. Więcej informacji można znaleźć w temacie poświęconym właściwości NewValues (NoweWartości).	4 bajty (16 bajtów jeżeli właściwość FieldSize zostanie ustawiona na wartość "ID replikacji").
Tak/Nie	Wartości "Tak" i "Nie" oraz pola zawierające tylko dwie wartości (Tak/Nie, Prawda/Fałsz lub Wł/Wył).	1 bit.
Obiekt OLE	Obiekt (taki jak arkusz kalkulacyjny programu Microsoft Excel, dokument programu Microsoft Word, grafika, dźwięki lub inne dane binarne) połączony z tabelą programu Microsoft Access lub osadzony w niej.	Nie więcej niż 1 gigabajt (rozmiar ograniczony przez dostępne miejsce na dysku)
Hiperłącze	Tekst lub kombinacja tekstu i liczb zapisanych jako tekst, używane jako  adres hiperłącza. Adres hiperłącza może się składać z trzech części: wyświetlanytekst – tekst, który pojawia się w polu lub formancie. adres – ścieżka dostępu do pliku (ścieżka UNC) lub strony (URL). podadres — położenie w pliku lub na stronie. Najprostszym sposobem wstawienia adresu hiperłącza do pola lub formantu jest kliknięcie polecenia Hiperłącze w menu Wstaw. Więcej informacji można znaleźć w temacie Adresy hiperłączy w polach hiperłączy i formantach.	Każda z trzech części danej typu Hiperłącze może zawierać do 2048 znaków.
Kreator odnośników	Tworzy pole, które pozwala wybrać wartość z innej tabeli lub z listy wartości przy użyciu pola listy lub pola kombi. Kliknięcie tej opcji powoduje rozpoczęcie działania Kreatora odnośników, co tworzy pole odnośnika. Po skończeniu pracy z kreatorem Microsoft Access ustawia typ danych w oparciu o wartości wybrane w kreatorze.	Taki sam rozmiar jak pole klucza podstawowego używanego do utworzenia odnośnika, zazwyczaj 4 bajty.
Właściwość tę można ustawić tylko w górnej części widoku "Projekt" tabeli.

W kodzie języka Visual Basic można użyć właściwości Type obiektów dostępu do danych (DAO), aby ustawić typ danych pola przed jego dołączeniem do kolekcji Fields.

Uwagi

Pola typu Memo, Hiperłącze i Obiekt OLE nie mogą być indeksowane.

Wskazówka   Należy używać typu danych Walutowy dla pól wymagających wielu obliczeń na liczbach mających od jednego do czterech miejsc po przecinku. Typy Pojedyncza precyzja i Podwójna precyzja wymagają obliczeń zmiennoprzecinkowych. Typ danych Walutowy używa szybszych obliczeń stałoprzecinkowych.

Ostrzeżenie Zmiana typu danych dla pola po wprowadzeniu danych do tabeli spowoduje potencjalnie długi proces konwersji danych podczas zapisywania tabeli. Jeśli typ danych w polu nie odpowiada zmienionej wartości właściwości DataType (TypDanych), niektóre dane można utracić.

Należy ustawić właściwość Format, aby określić predefiniowany format wyświetlania dla typów Liczba, Data/Godzina, Walutowy oraz Tak/Nie.

Więcej informacji na temat wyboru typu danych można znaleźć w rozdziale 4, "Zmienne, stałe i typy danych", podręcznika Budowanie aplikacji Microsoft Access 97.


DecimalPlaces, właściwość

Właściwości DecimalPlaces (MiejscaDziesiętne) można użyć, aby określić liczbę miejsc po przecinku dla liczb wyświetlanych przez program Microsoft Access.

Ustawienie

Dla właściwości DecimalPlaces używane są następujące ustawienia:

Ustawienie	Opis	Visual Basic
Auto	(Ustawienie domyślne) Liczby pojawiają się zgodnie z ustawieniem właściwości Format.	255
Od 0 do 15	Cyfry po prawej stronie przecinka pojawiają się zgodnie z określoną liczbą miejsc po przecinku; cyfry po lewej stronie przecinka pojawiają się zgodnie z ustawieniem właściwości Format.	Od 0 do 15
Dla pól tekstowych i pól kombi właściwość tę można ustawić w arkuszu właściwości formantu, a dla pól tabeli w arkuszu właściwości tabeli. Właściwość tę można również ustawić w arkuszu właściwości "Właściwości pola" w widoku "Projekt" kwerendy.

Wskazówka   Właściwość DecimalPlaces należy ustawiać w arkuszu właściwości tabeli. Formant związany utworzony na formularzu lub raporcie dziedziczy ustawienie właściwości DecimalPlaces określone w polu odnośnej tabeli lub kwerendy, tak więc nie trzeba ustawiać tej właściwości osobno dla każdego nowo utworzonego formatu związanego.

Dla formantów można również ustawić tę właściwość za pomocą makra lub kodu języka Visual Basic.

Uwaga   Ustawienie właściwości DecimalPlaces nie ma znaczenia, jeśli właściwość Format jest nieokreślona lub jest ustawiona na wartość "Liczba ogólna".

Uwagi

Właściwość DecimalPlaces wpływa tylko na liczbę wyświetlanych, a nie przechowywanych miejsc dziesiętnych. Aby zmienić sposób przechowywania liczb należy zmienić właściwość FieldSize (RozmiarPola) w widoku "Projekt" tabeli.

Właściwości DecimalPlaces można użyć do wyświetlenia liczb inaczej niż to wynika z ustawienia właściwości Format lub ze sposobu, w jaki są przechowywane. Na przykład, wartość Walutowy właściwości Format powoduje wyświetlanie tylko dwóch liczb po przecinku (5,35 zł.). Aby wyświetlić liczby typu Walutowy z czterema liczbami po przecinku (np. 5,3523 zł.), należy ustawić właściwość DecimalPlaces na wartość 4.


Description, właściwość

Właściwości Description (Opis) można użyć, aby dostarczyć informacji na temat obiektów zawartych w oknie bazy danych, jak również na temat pojedynczych pól tabeli lub kwerendy.

Ustawienia

Dla obiektu bazy danych należy kliknąć polecenie Właściwości z menu Widok i wprowadzić tekst opisu w polu Opis. Dla tabel i kwerend można również wprowadzić opis w arkuszu właściwości tabeli lub kwerendy. Opis obiektu pojawia się obok jego nazwy w oknie bazy danych po kliknięciu polecenia Szczegóły w menu Widok.

Dla pojedynczej tabeli lub pól kwerendy opis pola wprowadza się w górnej części widoku "Projekt" tabeli lub w arkuszu właściwości "Właściwości pola" w oknie kwerendy. Maksymalna długość wynosi 255 znaków.

W kodzie języka Visual Basic, aby ustawić tę właściwość po raz pierwszy, trzeba utworzyć właściwośc zdefiniowaną przez aplikację używając metody CreateProperty.

Uwagi

Opis obiektu wyświetlany jest w kolumnie "Opis" w widoku szczegółów okna bazy danych.

Jeśli formant zostanie utworzony przez przeciągnięcie pola z listy pól, program Microsoft Access kopiuje właściwość Description pola do właściwości StatusBarText (TekstPaskaStanu) formantu.

Uwaga   Dla tabeli połączonej program Microsoft Access wyświetla we właściwości Description informacje o połączeniu.


FieldSize, właściwość

Właściwości FieldSize (RozmiarPola) można użyć do określenia maksymalnego rozmiaru danych, które mogą być zapamiętane w polu o typie danych Tekst, Liczba lub Autonumer.

Ustawienia

Jeśli właściwość DataType(TypDanych) ustawiona jest na wartość "Tekst", należy wprowadzić liczbę z zakresu od 0 do 255. Wartością domyślną jest 50.

Jeśli właściwość DataType ustawiona jest na wartość "Autonumer", właściwość FieldSize można ustawić na wartość "Liczba całkowita długa" lub "ID replikacji".

Jeśli właściwość DataType ustawiona jest na "Liczba", ustawienia właściwości FieldSize i ich wartości są powiązane w następujący sposób:

Ustawienie	Opis	Dokładność dziesiętna	Rozmiar zajmowanej pamięci
Bajt	Przechowuje liczby od 0 do 255 (bez ułamków).	Żadna	1 bajt
Liczba całkowita	Przechowuje liczby od -32.768 do 32.767 (bez ułamków).	Żadna	2 bajty
Liczba całkowita długa	(Ustawienie domyślne) Przechowuje liczby od -2.147.483.648 do 2.147.483.647 (bez ułamków).	Żadna	4 bajty
Pojedyncza precyzja	Przechowuje liczby od –3.402823E38 do –1.401298E–45 dla wartości ujemnych i od 1.401298E–45 do 3.402823E38 dla wartości dodatnich.	7	4 bajty
Podwójna precyzja	Przechowuje liczby od –1.79769313486231E308 do –4.94065645841247E–324 dla wartości ujemnych i od 1.79769313486231E308 do 4.94065645841247E–324 dla wartości dodatnich.	15	8 bajtów
ID replikacji	globalnie unikatowy Identyfikator (GUID)	N/A	16 bajtów
Właściwość tę można ustawić tylko w arkuszu właściwości tabeli.

W języku Visual Basic należy użyć właściwości Size obiektów dostępu do danych (DAO), aby odczytać lub ustawić maksymalny rozmiar pól typu Tekst (dla danych typu innego niż Tekst, ustawienie właściwości Type automatycznie określa ustawienie właściwości Size).

Uwaga   Można określić domyślne rozmiary pól dla pól typu Tekst i Liczba zmieniając wartości opcji w polu Domyślne rozmiary pól na karcie Tabele/Kwerendy dostępnej przez kliknięcie polecenia Opcje z menu Narzędzia.

Uwagi

Należy używać możliwie najmniejszej wartości właściwości FieldSize, ponieważ dane o mniejszych rozmiarach są szybciej przetwarzane i wymagają mniej pamięci.

Ostrzeżenie Jeśli zmieni się większą wartość właściwości FieldSize na mniejszą w polu, które już zawiera dane, można utracić dane zawarte w polu. Na przykład, jeśli zmieni się wartość właściwości FieldSize dla pola o typie danych Tekst z 255 na 50, dane powyżej 50 znaków zostaną utracone.

Jeśli dane dla pola o typie danych Liczba nie pasują do nowego ustawienia właściwości FieldSize, liczby ułamkowe mogą być zaokrąglane lub można otrzymywać wartości Null. Na przykład, jeśli zmieni się typ ustawienia rozmiaru pola z typu Pojedyncza precyzja na typ Liczba całkowita, wartości ułamkowe będą zaokrąglane do najbliższej liczby całkowitej, a wartości większe od 32 767 i mniejsze od -32 768 dadzą w wyniku pola Null.

Nie można cofnąć zmian danych, które są wynikiem zmiany ustawienia właściwości FieldSize po zapisaniu tych zmian w widoku "Projekt" tabeli.

Wskazówka   Można użyc typu danych Walutowy, jeśli planuje się przeprowadzanie wielu obliczeń na polach zawierających dane mające od jednego do czterech miejsc po przecinku. Pola z typami danych Pojedyncza precyzja i Podwójna precyzja wymagają obliczeń zmiennoprzecinkowych. Pola typu Walutowy używają szybszych obliczeń stałoprzecinkowych.


IgnoreNulls, właściwość

Właściwości IgnoreNulls (IgnorujNull) można użyć, aby określić, że rekordy z wartościami Null w polach indeksowanych nie będą uwzględniane w indeksie.

Ustawienia

Dla właściwości IgnoreNulls używane są następujące ustawienia:

Ustawienie	Opis	Visual Basic
Tak	Rekordy zawierające wartości Null w polach indeksowanych nie są uwzględniane w indeksie.	True (–1)
Nie	(Ustawienie domyślne) Rekordy zawierające wartości Null w polach indeksowanych są uwzględniane w indeksie.	False (0)
Właściwość tę można ustawić za pomocą okna indeksów widoku "Projekt" tabeli lub w kodzie języka Visual Basic.

Aby uzyskać dostęp do właściwości IgnoreNulls indeksu przy użyciu języka Visual Basic, należy użyć właściwości IgnoreNulls obiektów dostępu do danych (DAO).

Uwagi

Można zdefiniować indeks dla pola, aby ułatwić szybkie wyszukiwanie rekordów używających tego pola. Jeśli dopuszczalne są pozycje Null w polu indeksowanym, to przewidując, że będzie ich dużo, należy ustawić właściwość IgnoreNulls na wartość "Tak", aby ograniczyć rozmiar pamięci używanej przez indeks.


Indexed, właściwość

Właściwości Indexed (Indeksowane) można użyć, aby utworzyć jednopolowy indeks. Indeks przyspiesza wykonywanie kwerend na plikach indeksowanych, a także operacje sortowania i grupowania. Jeśli na przykład szuka się nazwiska określonego pracownika w polu "Nazwiska", można utworzyć indeks dla tego pola, aby przyspieszyć wyszukiwanie.

Ustawienia

Dla właściwości Indexed używane są następujące ustawienia:

Ustwienie	Opis
Nie	(Ustawienie domyślne) Brak indeksu.
Tak (Powtórzenia OK)	Indeks dopuszcza powtórzenia wartości.
Tak (Bez powtórzeń)	Indeks nie dopuszcza powtórzeń wartości.
Właściwość tę można ustawić jedynie w sekcji "Właściwości pola" w widoku "Projekt" tabeli. Można ustawić jednopolowy indeks przez ustawienie właściwości Indexed w sekcji "Właściwości pola" w widoku "Projekt" tabeli. Wielopolowe indeksy można ustawić w oknie indeksów klikając polecenie Indeksy w menu Widok.

Jeśli jednopolowy indeks zostanie dodany do okna indeksów, program Microsoft Access ustawi właściwość Indexed pola na wartość "Tak".

W języku Visual Basic, aby utworzyć indeks dla pola, należy użyć metody CreateIndex obiektów dostępu do danych (DAO).

Uwagi

Właściwości Indexed należy używać do znajdowania i sortowania rekordów przy użyciu użyciu pojedynczego pola w tabeli. W polu mogą znajdować się albo wartości unikatowe, albo nieunikatowe. Można na przykład utworzyć indeks dla pola "IDPracowników" w tabeli pracowników, w którym każdy identyfikator ID pracownika jest unikatowy albo można utworzyć indeks dla pola "Nazwisko", w którym niektóre nazwiska mogą się powtarzać.

Uwaga   Nie można indeksować pól o typie danych Memo, Hiperłącze i ObiektOLE.

Można utworzyć tyle indeksów ile potrzeba. Indeksy są tworzone podczas zapisywania projektu tabeli i są automatycznie aktualizowane, gdy zmienia się lub dodaje rekordy. Indeksy można w dowolnej chwili dodawać lub usuwać w widoku "Projekt" tabeli.

Wskazówka   Można określić tekst, który jest powszechnie używany na początku lub końcu nazwy pola (taki jak "ID", "kod" czy "num") dla opcji Autoindeksowanie przy imporcie/tworzeniu na karcie Tabele/Kwerendy dostępnej po kliknięciu polecenia Opcje z menu Narzędzia. Podczas importu plików danych, zawierających ten tekst w swojej nazwie, program Microsoft Access utworzy indeks dla tych pól.

Jeśli klucz podstawowy dla tabeli jest pojedynczym polem, program Microsoft Access automatycznie ustawi właściwość Indexed pola na wartość "Tak (Bez powtórzeń).

Aby utworzyć indeksy wielopolowe, należy użyć okna indeksów.


Primary, właściwość

Właściwości Primary (Podstawowy) można użyć do określenia pola klucza podstawowego tabeli. W polu klucza podstawowego przechowywane są dane, które w sposób unikatowy identyfikują każdy rekord w tabeli.

Ustawienie

Dla właściwości Primary używane są następujące ustawienia:

Ustawienie	Opis	Visual Basic
Tak	Wybrany indeks jest kluczem podstawowym.	True (–1)
Nie	Wybrany indeks nie jest kluczem podstawowym.	False (0)
Właściwość Primary można ustawić na trzy sposoby:

•	W widoku "Projekt" tabeli należy wybrać pole lub pola w porządku, jaki ma być ustalony dla klucza podstawowego, a potem kliknąć przycisk Klucz podstawowy  [image]  na pasku narzędzi.

•	W oknie indeksów należy wybrać lub wprowadzić nazwę indeksu w kolumnie Nazwa indeksu i nadać właściwości Primary wartość "Tak" w sekcji "Właściwości indeksu".

•	W języku Visual Basic, aby uzyskać dostęp do właściwości Primary indeksu, należy użyć właściwości Primary obiektów dostępu do danych (DAO).

Uwagi

Program Microsoft Access automatycznie tworzy indeks na polu klucza podstawowego tabeli i wykorzystuje go do odnajdywania rekordów i tworzenia sprzężeń pomiędzy tabelami. Indeks klucza podstawowego wymaga istnienia pozycji w każdym polu klucza podstawowego i nie dopuszcza powtórzeń. Kolejność pól w wielopolowym kluczu podstawowym określa domyślny porządek sortowania tabeli.

Jeśli nie ma klucza podstawowego podczas zapisywania projektu tabeli, program Microsoft Access wyświetli okno dialogowe z pytaniem, czy użytkownik chce, aby klucz podstawowy został utworzony. Po kliknięciu przycisku Tak do tabeli dodane zostanie pole z danymi typu Autonumer (z właściwością NewValues (NoweWartości) ustawioną na wartość "Przyrostowy"; pole to będzie kluczem podstawowym. Po kliknięciu przycisku Nie klucz podstawowy nie zostanie utworzony.

Tabela bez klucza podstawowego nie może być używana w relacji, a poza tym może być wolniej sortowana i przeszukiwana.


Required, właściwość

Właściwości Required (Wymagane) można użyć do określenia, czy w polu będzie wymagane umieszczenie wartości. Jeśli wartością tej właściwości jest "Tak", to podczas wprowadzania danych do rekordu trzeba wprowadzić wartość do pola lub do dowolnego formantu związanego z polem i wartość ta nie może być równa Null. Użytkownik może na przykład wymagać, aby formant "Nazwisko" miał wartość w każdym rekordzie. Chcąc dopuścić wartości Null w polu należy nie tylko ustawić właściwość Required na wartość "Nie", ale jeśli ustawiona jest właściwość ValidationRule (RegułaPoprawności), musi ona być jawnie ustawiona na "regułapoprawności lub Is Null".

Uwaga   Właściwość Required nie odnosi się do pól typu Autonumer.

Ustawienie

Dla właściwości  Required używane są następujące ustawienia:

Ustawienie	Opis	Visual Basic
Tak	Pole wymaga wartości.	True (–1)
Nie	(Ustawienie domyślne) Pole nie wymaga wartości.	False (0)
Właściwośc tę można ustawić dla wszystkich pól tabeli (z wyjątkiem pól z danymi typu Autonumer) za pomocą arkusza właściwości tabeli lub kodu języka Visual Basic.

Uwaga   Aby uzyskać dostęp do właściwości Required pola w języku Visual Basic, należy użyć właściwości Required obiektów dostępu do danych (DAO).

Uwagi

Właściwość Required jest wymuszona na poziomie tabeli przez aparat bazy danych Microsoft Jet. Jeśli zostanie ona ustawiona na wartość "Tak", pole musi otrzymywać albo już zawierać wartość, gdy ma fokus – gdy użytkownik wprowadza dane do tabeli (albo do formularza lub arkusza danych opartego na tabeli), gdy makro lub kod języka Visual Basic nadaje wartość polu lub gdy dana jest importowana do tabeli.

Właściwości Required i AllowZeroLength (ZerowaDługośćDozwolona) można użyć do odróżnienia informacji, która nie istnieje (zapamiętanej w polu jako ciąg znaków zerowej długości (" ")) od informacji, która może istnieć, ale jest nieznana (zapamiętanej w polu jako wartość Null). Jeśli właściwość AllowZeroLength zostanie ustawiona na wartość "Tak", ciąg znaków zerowej długości będzie poprawną pozycją w polu, niezależnie od ustawienia właściwości Required. Jeśli właściwość Required zostanie ustawiona na wartość "Tak", a właściwość AllowZeroLength na wartość "Nie", trzeba wprowadzić wartość do pola i ciąg znaków zerowej długości nie będzie poprawną pozycją.

Wskazówka   Aby odróżnić wyświetlaną wartość Null od ciągu znaków zerowej długości, trzeba użyć maski wprowadzania podczas wprowadzania danych do pola. Na przykład, gdy zostanie wprowadzony ciąg znaków zerowej długości, może być wyświetlany napis "Brak".

W poniższej tabeli zostało pokazane, jakich wyników można się spodziewać w przypadku różnych kombinacji ustawień właściwości Required i AllowZeroLength.

Required	AllowZeroLength	Działanie użytkownika	Zapamiętana wartość
Nie	Nie	Naciska klawisz ENTER Naciska klawisz spacji  Wprowadza ciąg znaków zerowej długości	Null Null (nie dozwolona)
Nie	Tak	Naciska klawisz ENTER Naciska klawisz spacji Wprowadza ciąg znaków zerowej długości	Null Null Ciąg znaków zerowej długości
Tak	Nie	Naciska klawisz ENTER Naciska klawisz spacji Wprowadza ciąg znaków zerowej długości	(nie dozwolona) (nie dozwolona) (nie dozwolona)
Tak	Tak	Naciska klawisz ENTER Naciska klawisz spacji Wprowadza ciąg znaków zerowej długości	(nie dozwolona) Ciąg znaków zerowej długości Ciąg znaków zerowej długości
Jeśli właściwość Required zostanie ustawiona na wartość "Tak" dla pola tabeli, które zawiera już dane, program Microsoft Access umożliwia sprawdzenie, czy pole ma wartość we wszystkich istniejących rekordach. Można jednak zażądać, aby wartość była wprowadzona w tym polu we wszystkich nowych rekordach, nawet jeśli istnieją rekordy z wartością Null w polu.

Uwaga   Aby wymusić relację pomiędzy powiązanymi tabelami, które nie dopuszczają wartości Null, należy ustawić właściwość Required pola klucza obcego w powiązanej tabeli na wartość "Tak". Aparat bazy danych Microsoft Jet zapewnia wtedy, że powiązany rekord istnieje w tabeli nadrzędnej zanim będzie można utworzyć rekord w tabeli podrzędnej. Jeśli pole klucza obcego jest częścią klucza podstawowego tabeli podrzędnej, nie jest to konieczne, ponieważ pole klucza podstawowego nie może zawierać wartości Null.


FieldName, właściwość

Właściwości FieldName (NazwaPola) można użyć, aby określić nazwę pola w tabeli. Można na przykład nadać nazwę "Nazwisko" polu zawierającemu nazwiska pracowników, należącemu do tabeli o nazwie "Pracownicy".

Ustawienie

Nazwę wprowadza się zgodnie z regułami nazywania obiektów programu Microsoft Access. Nazwa pola nie może być taka sama, jak nazwa innego pola w tej samej tabeli.

Uwaga   Nie należy nadawać polu nazwy, która może kolidować z nazwami funkcji wbudowanych programu Microsoft Access lub z nazwami właściwości, jak np. właściwości Name (Nazwa).

Wartość tej właściwości można ustawić w górnej części widoku "Projekt" tabeli lub przy pomocy języka Visual Basic.

W języku Visual Basic, aby nadać nazwę polu tabeli lub odczytać ją, należy użyć właściwości Name, obiektów dostępu do danych (DAO).

Uwagi

Program Microsoft Access identyfikuje pole na podstawie jego nazwy. Po określeniu nazwy pola w widoku "Projekt" tabeli można tej nazwy używać w wyrażeniach, procedurach języka Visual Basic i instrukcjach SQL.


Unique, właściwość

Właściwości Unique (Unikatowy) można użyć do zażądania, aby indeks wymuszał unikatowość danych w indeksie kluczowym tabeli.

Ustawienie

Dla właściwości Unique używane są następujące ustawienia:

Wartość	Opis	Język Visual Basic
Tak	Indeks jest indeksem kluczowym (unikatowym).	True (-1)
Nie	Indeks nie jest indeksem kluczowym.	False (0)
Wartość tej właściwości można ustawić w oknie indeksów widoku "Projekt" tabeli lub przy użyciu języka Visual Basic.

Uwaga   Aby uzyskać dostęp do właściwości Unique indeksu w języku Visual Basic, należy użyć właściwości Unique obiektów dostępu do danych (DAO).

Uwagi

Indeks kluczowy optymalizuje znajdowanie rekordów. Zawiera on jedno pole (lub więcej), które jednoznacznie rozmieszcza rekordy w tabeli w predefiniowanym porządku. Jeśli indeks składa się z jednego pola, wartości w tym polu muszą być unikatowe. Jeśli indeks zawiera większą liczbę pól, w każdym polu mogą się pojawiać wartości powtarzające się, ale każda kombinacja wartości ze wszystkich pól indeksowanych musi być unikatowa. Indeks, który nie jest indeksem kluczowym, może zawierać pola z wartościami nieunikatowymi.

Indeks jest indeksem podstawowym dla tabeli, jeśli wartością jego właściwości Primary (Podstawowy) jest "Tak". Każda tabela może mieć tylko jeden indeks podstawowy.


DisplayControl, właściwość

Właściwości DisplayControl (TypFormantu) można użyć w widoku "Projekt" tabeli do określenia domyślnego formantu, który ma być użyty do wyświetlenia pola.

Ustawienia

Właściwość DisplayControl można ustawić w arkuszu właściwości tabeli w widoku "Projekt" przez kliknięcie karty Odnośnik w sekcji "Właściwości pola".

Właściwość ta zawiera rozwijaną listę dostępnych formantów dla wybranego pola. Dla pól o typie danych Tekst lub Liczba właściwość ta może być ustawiona na wartość "Pole tekstowe", "Pole listy" lub "Pole kombi". Dla pól o typie danych Tak/Nie właściwość ta może być ustawiona na wartość "Pole wyboru", "Pole tekstowe" lub "Pole kombi".

Uwagi

Po wybraniu formantu dla tej właściwości wszelkie dodatkowe właściwości potrzebne do skonfigurowania tego formantu będą również wyświetlone na karcie Odnośnik.

Wskazówka   Można pozwolić, aby program Microsoft Access ustawił właściwość DisplayControl i związane z nią właściwości. Należy w tym celu wybrać typ "Kreator odnośników" jako typ danych dla pola.

Ustawienie tej właściwości i związanych z nią właściwości formantu wpływa na sposób wyświetlania danego pola zarówno w widoku "Arkusz danych", jak i w widoku "Formularz". Pole jest wyświetlane przy użyciu formantu i właściwości formantu ustawionych w widoku "Projekt" tabeli Jeśli pole, którego właściwość DisplayControl została ustawiona w widoku "Projekt" tabeli, zostanie przeciągnięte z listy pól w widoku "Projekt" formularza, program Microsoft Access skopiuje odpowiednie właściwości do arkusza właściwości danego formantu.


DatasheetCellsEffect, właściwość

Właściwości DatasheetCellsEffect można użyć, aby określić, czy dla komórek w arkuszu danych mają być stosowane efekty specjalne.

Uwaga   Właściwość DatasheetCellsEffect odnosi się tylko do obiektów w widoku "Arkusz danych".

Ustawienie

Dla właściwości DatasheetCellsEffect używane są następujące ustawienia.

Ustawienie	Opis	Visual Basic	Wartość
Płaski	(Ustawienie domyślne) Żadne efekty specjalne nie są stosowane do komórek w arkuszu danych.	acEffectNormal	0
Wypukły	Komórki w arkuszu danych mają wygląd wypukły.	acEffectRaised	1
Wklęsły	Komórki w arkuszu danych mają wygląd wklęsły.	acEffectSunken	2
Właściwośc tę można ustawić używając przycisku Efekt specjalny na pasku narzędzi Formatowanie (arkusz danych), makra lub języka Visual Basic.

Właściwość tę można również ustawić wybierając typ komórki w polu Efekt komórek okna dialogowego Komórki dostępnego po kliknięciu polecenia Komórki z menu Format.

Domyślne ustawienie właściwości DatasheetCellsEffect można ustawić przy za pomocą opcji w sekcji Domyślny efekt komórek na karcie Arkusz danych okna dialogowego Opcje dostępnego po kliknięciu polecenia Opcje w menu Narzędzia.

Uwagi

Właściwość ta stosuje wybrany efekt do całego arkusza danych.

Gdy właściwość ta jest ustawiona na wartość "Wypukły" lub "Wklęsły", linie siatki będą widoczne w arkuszu danych niezależnie od ustawienia właściwości DatasheetGridLinesBehavior.

W poniższej tabeli zostały przedstawione właściwości, których nie ma w kolekcji Properties dla obiektów TableDef lub QueryDef, dopóki nie zostaną one dodane za pomocą metody CreateProperty lub ustawione za pomocą paska narzędzi Formatowanie (arkusz danych).

DatasheetFontItalic*	DatasheetForeColor*
DatasheetFontHeight*	DatasheetBackColor
DatasheetFontName*	DatasheetGridlinesColor
DatasheetFontUnderline*	DatasheetGridlinesBehavior
DatasheetFontWeight*	DatasheetCellsEffect
Uwaga   Kiedy dodaje się lub ustawia dowolną właściwość zaznaczoną gwiazdką, program Microsoft Access automatycznie doda wszystkie właściwości oznaczone gwiazdką do kolekcji Properties.


DatasheetGridlinesColor, właściwość

Właściwości DatasheetGridLinesColor można użyć, aby określić kolor linii siatki w arkuszu danych.

Uwaga   Właściwość DatasheetGridLinesColor odnosi się tylko do obiektów w widoku "Arkusz danych".

Ustawienia

Właściwość DatasheetGridLinesColor jest wartością typu Liczba całkowita długa. W języku Visual Basic, aby ustawić tę właściwosć, można również użyć funkcji RGB lub QBColor.

Właściwość tę można ustawić używając przycisku Kolor linii/obramowania  [image]  na pasku narzędzi Formatowanie (arkusz danych), makra lub języka Visual Basic.

Właściwość tę można również ustawić klikając polecenie Komórki z menu Format i wyświetlając okno dialogowe Komórki. Można wtedy wybrać dostępny kolor z rozwijalnej listy Kolor siatki.

Aby ustawić domyślną właściwość DatasheetGridLinesColor, można użyć ustawień z pola Kolory domyślne na karcie Arkusz danych okna dialogowego Opcje dostępnego po kliknięciu polecenia Opcje z menu Narzędzia.

Uwagi

Ustawienie tej właściwości decyduje o kolorze linii siatki dla całego arkusza danych. W widoku "Arkusz danych" nie jest możliwe ustawianie koloru linii siatki pojedynczych komórek.

W poniższej tabeli zostały przedstawione właściwości, których nie ma w kolekcji Properties dla obiektów TableDef lub QueryDef, dopóki nie zostaną one dodane za pomocą metody CreateProperty lub ustawione za pomocą paska narzędzi Formatowanie (arkusz danych).

DatasheetFontItalic*	DatasheetForeColor*
DatasheetFontHeight*	DatasheetBackColor
DatasheetFontName*	DatasheetGridlinesColor
DatasheetFontUnderline*	DatasheetGridlinesBehavior
DatasheetFontWeight*	DatasheetCellsEffect
Uwaga   Kiedy dodaje się lub ustawia dowolną właściwość zaznaczoną gwiazdką, program Microsoft Access automatycznie doda wszystkie właściwości oznaczone gwiazdką do kolekcji Properties.


DatasheetGridlinesBehavior, właściwość

Właściwości DatasheetGridLinesBehavior można użyć, aby określić, które linie siatki będą widoczne w widoku "Arkusz danych".

Uwaga   Właściwość DatasheetGridLinesBehavior odnosi się tylko do obiektów w widoku "Arkusz danych".

Ustawienie

Dla właściwości DatasheetGridLinesBehavior używane są następujące ustawienia.

Ustawienie	Opis	Visual Basic	Wartość
Brak	Linie siatki nie są wyświetlane.	acGridlinesNone	0
Poziome	Wyświetlane są tylko poziome linie siatki.	acGridlinesHoriz	1
Pionowe	Wyświetlane są tylko pionowe linie siatki.	acGridlinesVert	2
Obie	(Ustawienie domyślne) Wyświetlane są poziome i pionowe linie siatki.	acGridlinesBoth	3
Właściwość tę można ustawić używając przycisku Linie siatki na pasku narzędzi Formatowanie (arkusz danych), makra lub języka Visual Basic.

Właściwość tę można również ustawić wybierając ustawienie z sekcji Pokazane linie siatki w oknie dialogowym Komórki dostępnym po kliknięciu polecenia Komórki z menu Format.

Domyślne ustawienie właściwości DatasheetGridlinesBehavior można ustawić za pomocą opcji w sekcji Domyślne ustawienie linii siatki na karcie Arkusz danych w oknie dialogowym Opcje dostępnym po kliknięciu Opcje z menu Narzędzia.

Uwagi

Zmiany ustawień tej właściwości będą widoczne tylko wtedy, gdy właściwość ,DatasheetCellsEffect będzie ustawiona na wartość "Płaski".

W poniższej tabeli zostały przedstawione właściwości, których nie ma w kolekcji Properties dla obiektów TableDef lub QueryDef, dopóki nie zostaną one dodane za pomocą metody CreateProperty lub ustawione za pomocą paska narzędzi Formatowanie (arkusz danych).

DatasheetFontItalic*	DatasheetForeColor*
DatasheetFontHeight*	DatasheetBackColor
DatasheetFontName*	DatasheetGridlinesColor
DatasheetFontUnderline*	DatasheetGridlinesBehavior
DatasheetFontWeight*	DatasheetCellsEffect
Uwaga   Kiedy dodaje się lub ustawia dowolną właściwość zaznaczoną gwiazdką, program Microsoft Access automatycznie doda wszystkie właściwości oznaczone gwiazdką do kolekcji Properties.


NewValues, właściwość

Właściwości NewValues (NoweWartości) można użyć, aby określić, jak mają wzrastać pola typu Autonumer, gdy do tabeli dodawane są nowe rekordy.

Uwaga   Właściwość NewValues odnosi się tylko do pól typu Autonumer.

Ustawienia

Dla właściwości NewValues używane są następujące ustawienia.

Ustawienie	Opis
Przyrostowy	(Ustawienie domyślne) Wartości pól typu Autonumer są zwiększane o 1 dla nowych rekordów.
Losowy	Jako wartości pól typu Autonumer dla nowych rekordów używane są losowe liczby typu Liczba całkowita długa.
Właściwość tę można ustawić w arkuszu właściwości tabeli w widoku "Projekt" tabeli klikając kartę Ogólne w sekcji "Właściwości pola".

Uwagi

Gdy replikuje się bazę danych, wartości pól typu Autonumer są ustawiane na wartość "Losowy", aby nowe rekordy wprowadzane w różnych replikach miały unikatowe wartości.


AddColon, AutoLabel, właściwości

•	Właściwość AddColon (DodawajDwukropek) określa, czy wstawiać dwukropek po tekście etykiet dla nowych formantów.

•	Właściwość AutoLabel (Autoetykieta) określa, czy automatycznie przyłączać etykiety do nowych formantów.

Ustawienie

Właściwość AddColon (DodawajDwukropek) wykorzystuje poniższe ustawienia.

Ustawienie	Opis
Tak	Po tekście etykiet dla nowych formantów następuje dwukropek.
Nie	Po tekście etykiet dla nowych formantów nie następuje dwukropek.
Właściwość AutoLabel (Autoetykieta) wykorzystuje poniższe ustawienia.

Ustawienie	Opis
Tak	Etykieta jest przyłączana do nowych formantów.
Nie	Etykieta nie jest przyłączana do nowych formantów.
Właściwości te można ustawić jedynie przy użyciu domyślnego stylu formantu lub metody DefaultControl w kodzie języka Visual Basic.

Uwagi

Zmiany ustawienia domyślnego stylu formantu wpływają tylko na formanty utworzone na bieżącym formularzu lub raporcie Informację o tym jak zmienić domyślny styl formantów dla wszystkich nowych formularzy i raportów, bez użycia kreatora Microsoft Access, można znaleźć w paragrafie Określenie nowego szablonu dla formularzy i raportów.


FontItalic, FontUnderline, właściwości

Właściwości FontItalic (CzcionkaKursywa) i FontUnderline (PodkreślenieCzcionki) można użyć do określenia czy tekst ma być pisany kursywą lub czy ma być podkreślony uwzględniając poniższe sytuacje:

•	Podczas wyświetlania lub drukowania formantów na formularzach i raportach.

•	Podczas używania metody Print w raporcie.

Ustawienie

Właściwośc FontItalic (CzcionkaKursywa) wykorzystuje poniższe ustawienia.

Ustawienie	Opis	Visual Basic
Tak	Tekst jest pisany kursywą.	Prawda (–1)
Nie	(Domyślne) Tekst nie jest pisany kursywą.	Fałsz (0)
Właściwośc FontUnderline (PodkreślenieCzcionki) wykorzystuje poniższe ustawienia.

Ustawienie	Opis	Visual Basic
Tak	Tekst jest podkreślony.	Prawda
Nie	(Domyślne) Tekst nie jest podkreślony.	Fałsz
Dla formantów na formularzach i raportach, właściwości te można ustawić za pomocą arkusza właściwości formantu, makra lub języka Visual Basic.

Dla raportów, właściwości te można ustawić jedynie yza pomocą  procedury zdarzeń lub makra określonego przez ustawienie właściwości zdarzenia OnPrint (PrzyWydruku).

Właściwości te można również ustawić klikając przyciski Kursywa  [image]  i Podkreślenie  [image]  na pasku narzędzi Formatowanie (Formularz/Raport).

Domyślne wartości można ustawić tym właściwościom przy użyciu domyślnego stylu formantu lub metody DefaultControl w języku Visual Basic.

Uwagi

Dla pola tekstowego, pola kombi, etykiety lub przycisku polecenia, które zawierają hiperłącze, program Microsoft Access automatycznie ustawi właściwość FontUnderline (PodkreślenieCzcionki) na "Tak", pod warunkiem, że zaznaczone będzie pole Podkreślaj hiperłącza na karcie Hiperłącza/HTML w oknie dialogowym Opcje, dostępnym po kliknięciu polecenia Opcje z menu Narzędzia. Jeśli usunie się hiperłącze z formantu (na przykład, poprzez zmianę właściwości ControlSource (ŹródłoFormantu) pola tekstowego związanego ze źródłem, którym nie jest pole hiperłącza), program Microsoft Access ustawi właściwość FontUnderline (PodkreślenieCzcionki) z powrotem na domyślny styl formantu. Dla przycisków poleceń, ustawienie właściwości FontUnderline (PodkreślenieCzcionki) daje jakiś efekt, tylko jeśli przycisk polecenia zawiera tekst, nie rysunek.


FontName, FontSize, właściwości

Właściwości FontName (NazwaCzcionki) i FontSize (RozmiarCzcionki) można użyć do określenia czcionki i rozmiaru w punktach tekstu w następujących sytuacjach:

•	Podczas wyświetlania lub drukowania formantów na formularzach i raportach.

•	Podczas używania metody Print w raporcie.

Ustawienie

Ustawienie właściwości FontName (NazwaCzcionki) jest nazwą czcionki, którą wyświetlany jest tekst.

Właściwość FontSize (NazwaCzcionki) wykorzystuje poniższe ustawienia.

Ustawienie	Opis
8	(Wartość domyślna dla wszystkich raportów i formantów z wyjątkiem przycisków poleceń) Tekst pisany czcionką 8-punktową.
10	(Wartość domyślna dla przycisków poleceń) Tekst pisany czcionką 10-punktową.
Inne rozmiary	Tekst pisany czcionką o podanej wielkości.
W przypadku formantów na formularzach i raportach właściwości te można ustawić przy pomocy arkusza właściwości, makra, lub języka Visual Basic.

Właściwości te można również ustawić klikając pole Czcionka  [image]  i pole Rozmiar czcionki  [image] na pasku narzędzi Formatowanie (Formularz/Raport).

Wartości domyślne tych właściwości można ustawić przy użyciu domyślnego stylu formantu lub metody DefaultControl w języku Visual Basic.

W przypadku raportów właściwości te można ustawić jedynie w procedurze zdarzeń lub za pomoca makra określonego przez ustawienie właściwości zdarzenia OnPrint (PrzyWydruku).

W języku Visual Basic właściwość  FontName (NazwaCzcionki) można ustawić przy pomocy ciągu znaków, który jest nazwą żądanej czcionki, a właściwość FontSize (RozmiarCzcionki) przy pomocy wyrażenia numerycznego o wartości równej żądanemu rozmiarowi czcionki. Ustawienie właściwości FontSize (RozmiarCzcionki) może zawierać się w przedziale od 1 do 127 włącznie.

Uwagi

Dostępność czcionki zależy od konfiguracji systemu i drukarki. Jeśli zostanie wybrana czcionka, której system nie może wyświetlić lub, która nie jest zainstalowana, system Windows zastąpi ją czcionką podobną.


FontWeight, właściwość

Właściwości FontWeight (GrubośćCzcionki) można użyć do określenia szerokości linii, której system Windows używa do wyświetlania i drukowania znaków w formancie.

Ustawienie

Właściwość FontWeight (GrubośćCzcionki) wykorzystuje poniższe ustawienia.

Ustawienie	Visual Basic
Najcieńsza	100
Bardzo cienka	200
Cienka	300
Normalna	400
Średnia	500
Półgruba	600
Pogrubiona	700
Bardzo gruba	800
Najgrubsza	900
Właściwość tę można ustawić przy użuciu arkusza właściwości formantu, makra lub języka Visual Basic. Można też kliknąć przycisk Pogrubiona   [image] na pasku narzędzi Formatowanie (Formularz/Raport). Ustawia to właściwość FontWeight (GrubośćCzcionki) na Pogrubioną (700).

Wartości domyślne dla tej właściwości można ustawić za pomocą domyślnego stylu formantu lub metody DefaultControl w języku Visual Basic.

Uwagi

Wygląd czcionki na ekranie i na wydruku może się różnić w zależności od komputera i drukarki. Na przykład, ustawienie "Najcieńsza" właściwości FontWeight (GrubośćCzcionki) może wyglądać na ekranie identycznie jak "Normalna" ale po wydrukowaniu będzie cieńsza.

Właściwość FontBold (CzcionkaPogrubiona), która dostępna jest jedynie w języku Visual Basic i w makrach, może zostać również użyta do pogrubienia tekstu formantu lub raportu. Właściwość FontBold (CzcionjkaPogrubiona) jest szybkim sposobem pogrubienia tekstu; właściwość FontWeight (GrubośćCzcionki) umożliwia dokładniejszą kontrolę nad grubością tekstu. Poniższa tabela pokazuje zależność pomiędzy ustawieniami tych właściwości.

Jeżeli	To
FontBold = Fałsz (0)	FontWeight = Normalna (400)
FontBold = Prawda (–1)	FontWeight = Pogrubiona (700)
FontWeight < 700	FontBold = Fałsz
FontWeight > = 700	FontBold = Prawda


LabelAlign, TextAlign, właściwości

•	Właściwość LabelAlign (WyrównanieEtykiet) określa sposób wyrównywania tekstu w przyłączonych etykietach w nowych formantach.

•	Właściwość TextAlign (WyrównanieTekstu) określa sposób wyrównywania tekstu w nowuch formantach.

Ustawienie

Właściwość LabelAlign (WyrównanieEtykiet) wykorzystuje poniższe ustawienia.

Ustawienie	Opis
Ogólne	(Domyślne) Tekst etykiety wyrównany do lewej.
Do lewej	Tekst etykiety wyrównany do lewej.
Wyśrodkowane	Tekst etykiety wyśrodkowany.
Do prawej	Tekst etykiety wyrównany do prawej.
Właściwość LabelAlign (WyrównanieEtykiet) można ustawić przy pomocy domyślnego stylu formantu lub metody DefaultControl w języku Visual Basic.

Właściwość TextAlign (WyrównanieTekstu) wykorzystuje poniższe ustawienia.

Ustawienie	Opis	Visual Basic
Ogólne	(Domyślne) Tekst wyrównywany do lewej; liczby i daty wyrównywane do prawej.	0
Do lewej	Tekst, liczby i daty wyrównywane do lewej.	1
Wyśrodkowane	Tekst, liczby i daty wyśrodkowane.	2
Do prawej	Tekst, liczby i daty wyrównywane do prawej.	3
Właściwość TextAlign (WyrównanieTekstu) można ustawić za pomocą arkusza właściwości formantu, makra lub języka Visual Basic.

Właściwość TextAlign (WyrównanieTekstu) można również ustawić klikając przyciski Wyrównaj do lewej  [image], Wyśrodkuj  [image] i Wyrównaj do prawej  [image]  na pasku narzędzi Formatowanie (Formularz/Raport).

Domyślną wartość właściwości TextAlign (WyrównanieTekstu) można ustawić przy pomocy domyślnego stylu formantu lub metody DefaultControl w języku Visual Basic.

Uwagi

Podczas tworzenia formantów, przyłączana jest do nich etykieta (jeżeli właściwość AutoLabel (Autoetykieta) ustawiona jest na "Tak"). Zmiany ustawień domyślnego stylu formantu LabelAlign (WyrównanieEtykiet) mają wpływ tylko na formanty utworzone bieżącym formularzu lub raporcie. Informacje o tym, jak zmienić domyślny styl formantu dla wszystkich nowych formularzy lub raportów, które tworzy się bez użycia kreatora Microsoft Access można znaleźć w paragrafie Określanie nowego szablonu dla formularzy i raportów.


LabelAlign, TextAlign, właściwości - Dotyczy
LabelAlign, TextAlign, właściwości — Dotyczy

LabelAlign (WyrównanieEtykiet), właściwość

TextAlign (WyrównanieTekstu), właściwość


FontBold, właściwość

Właściwości FontBold (CzcionkaPogrubiona) można użyć, aby ustalić czy tekst będzie pogrubiony w następujących sytuacjach:

•	Podczas wyświetlania lub drukowania formantów w formularzach i raportach.

•	Podczas używania w raporcie metody Print .

Ustawienie

Wartość FontBold (CzcionkaPogrubiona) wykorzystuje poniższe ustawienia.

Ustawienie	Opis
Prawda (–1)	Tekst jest pogrubiony.
Fałsz (0)	(Domyślne) Tekst nie jest pogrubiony.
Właściwość FontBold (CzcionkaPogrubiona) można ustawić jedynie przy pomocy makra lub języka Visual Basic.

Uwagi

Aby użyć metody FontBold (CzcionkaPogrubiona) do raportu, należy najpierw utworzyć procedurę zdarzenia Print(Drukuj), która drukuje wybrany tekst.

Wygląd czcionek na ekranie i na wydruku może się różnić, w zależności od komputera i drukarki.

Właściwość FontWeight (GrubośćCzcionki), która dostępna jest w  arkuszu właściwości formantu, rónież może zostać użyta do ustawienia grubości tekstu w formancie. Właściwość FontBold (CzcionkaPogrubiona) jest szybkim sposobem pogrubienia tekstu; właściwość FontWeight (GrubośćCzcionki) umożliwia dokładniejszą kontrolę nad ustawieniem grubości tekstu. Poniższa tabela pokazuje związek pomiędzy ustawieniami tych wartości.

Jeżeli	To
FontBold = Fałsz	FontWeight = Normalna (400)
FontBold = Prawda	FontWeight = Pogrubiona (700)
FontWeight < 700	FontBold = Fałsz
FontWeight > = 700	FontBold = Prawda


FontBold (CzcionkaPogrubiona), właściwość - przykład

Przedstawiona poniżej procedura zdarzenia Print(Drukuj) drukuje tytuł raportu i bieżącą datę pogrubioną czcionką w miejscu o współrzędnych określonych przez wartości właściwości CurrentX (BieżącyX) i CurrentY (BieżącyY).

Private Sub ReportHeader0_Print(Cancel As Integer, PrintCount As Integer)

Dim MyDate

MyDate = Date

Me.FontBold = True

Me.Print("Sales Management Report")	' Print report title in bold.

Me.Print(MyDate)

End Sub


CountOfLines, właściwość

Właściwość CountOfLines (LiczbaWierszy) podaje wartość typu Liczba całkowita długa wskazującą liczbę wierszy kodu w module standardowym lub module klasy.

Ustawienie

Właściwość CountOfLines (LiczbaWierszy) dostępna jest tylko w języku Visual Basic i jest tylko do odczytu.

Uwagi

Wiersze w module są numerowane od 1.

Numer ostatniego wiersza jest wartością właściwości CountOfLines (LiczbaWierszy).


CountOfLines, CountOfDeclarationLines, właściwości - przykład

Poniższy przykład zlicza wiersze kodu i wiersze deklaracji w każdym module standardowym w kolekcji Modules(Moduły). Warto zauważyć, że kolekcja Modules(Moduły) zawiera tylko takie moduły, które zostały otwarte w edytorze modułów.

Function ModuleLineTotal(strModuleName As String)

Dim mdl As Module

' Open module to include in Modules collection.

DoCmd.OpenModule strModuleName

' Return reference to Module object.

Set mdl = Modules(strModuleName)

' Print number of lines in module.

Debug.Print "Number of lines: ", mdl.CountOfLines

' Print number of declaration lines.

Debug.Print "Number of declaration lines: ", _

mdl.CountOfDeclarationLines

End Function


CountOfDeclarationLines, właściwość

Właściwość CountOfDeclarationLines (LiczbaWierszyDeklaracji) podaje wartość typu Liczba całkowita długa wskazującą liczbę wierszy kodu w sekcji deklaracji w module standardowym lub module klasy.

Ustawienie

Właściwość CountOfDeclarationLines (LiczbaWierszyDeklaracji) dostępna jest tylko w języku Visual Basic i jest tylko do odczytu.

Uwagi

Wiersze w module numerowane są od 1.

Wartość właściwości CountOfDeclarationLines (LiczbaWierszyDeklaracji) równa się numerowi ostatniego wiersza w sekcji deklaracji. Właściwości tej można użyć do określenia, w którym miejscu kończy się sekcja deklaracji, a zaczyna właściwy moduł.


GUID, właściwość

Właściwość GUID obiektu Reference podaje GUID, która identyfikuje bibliotekę typów w Rejestrze Windows.

Ustawienie

Właściwość GUID dostępna jest tylko w języku Visual Basic i jest tylko do odczytu.

Uwagi

Każda biblioteka typów posiada stowarzyszony GUID, który jest zapamiętany w Rejestrze. Podczas ustawiania odwołania na bibliotece typów program Microsoft Access używa GUID biblioteki typów do rozpoznania tej biblioteki.

Do utworzenia obiektu typu Reference z GUIDa biblioteki typów można użyć metody AddFromGUID.


IsBroken, właściwość

Właściwość IsBroken zwraca wartość typu Boolean wskazującą, czy obiekt typu Reference wskazuje na poprawny punkt odwołania w Rejestrze Windows.

Ustawienie

Właściwość IsBroken dostępna jest tylko w języku Visual Basic i jest tylko do odczytu.

Domyślną wartością właściwości IsBroken jest  Fałsz (0). Włąściwość IsBroken przyjmuje wartość Prawda (–1) tylko jeśli obiekt typu Reference  nie wskazuje na poprawny punkt odwołania w Rejestrze.

Uwagi

Oceniając wartość właściwości IsBroken, można określić, czy plik stowarzyszony z pewnym obiektem typu Reference został przeniesiony do innego katalogu lub usunięty.

Jeżeli właściwość IsBroken ma wartość Prawda, program Microsoft Access generuje błąd, gdy próbuje się odczytać właściwości Name (Nazwa) lub FullPath.


IsCompiled, właściwość

Właściwość IsCompiled  zwraca wartość typu Boolean, wskazującą, czy projekt Visual Basic jest skompilowany.

Ustawienie

Właściwość IsCompiled  dostępna jest tylko w języku Visual Basic i jest tylko do odczytu.

Właściwość IsCompiled  przyjmuje wartość Prawda (–1) jeśli projekt jest skompilowany.

Uwagi

Można zmusić Visual Basic do skompilowania projektu z poziomu interfejsu użytkownika w widoku "Projekt" modułu przez kliknięcie polecenia Kompiluj wszystkie moduły lub Kompiluj i zachowaj wszystkie moduły z menu Analiza programu.

Właściwość IsCompiled obiektu typu Application ma wartość Fałsz (0), jeśli projekt nie został w całości skompilowany, jeśli jakiś moduł został po kompilacji dodany, zmieniony lub usunięty lub jeśli moduł nie został zapisany po kompilacji.


BuiltIn, właściwość

Właściwość BuiltIn zwraca wartość typu Boolean wskazującą, czy obiekt typu Reference wskazuje na domyślny punkt odwołania, który jest niezbędny do poprawnego działania programu Microsoft Access.

Ustawienie

Właściwość BuiltIn dostępna jest tylko w języku Visual Basic i jest tylko do odczytu.

Właściwość BuiltIn zwraca następujące wartości:

Wartość	Opis
Prawda (–1)	Obiekt typu Reference odnosi się do domyślnego odwołania, którego nie można usunąć.
Fałsz (0)	Obiekt typu Reference odnosi się do odwołania, które nie jest konieczne do prawidłowego działania programu Microsoft Access.
Uwagi

Domyślne odwołania w programie Microsoft Access zawierają bibliotekę obiektów Microsoft Access 8.0 i bibliotekę Visual Basic dla aplikacji.


BuiltIn, właściwość - przykład

W poniższym przykładzie drukuje się domyślne odwołania w kolekcji Odwołania:

Sub ReferenceBuiltInOnly()

Dim ref As Reference

' Enumerate through References collection.

For Each ref In References

' Check BuiltIn property.

If ref.BuiltIn = True Then

Debug.Print ref.Name

End If

Next ref

End Sub


FullPath, właściwość

Właściwość FullPath zwraca ciąg znaków zawierający ścieżkę dostępu i nazwę pliku biblioteki typów, do której się odwołujemy.

Ustawienie

Wartość FullPath dostępna jest tylko w języku Visual Basic i jest tylko do odczytu.

Uwagi

Biblioteki typów mieszczą się w plikach. Poniższa tabela pokazuje rozszerzenia plików, w których zwyczajowo znajdują się biblioteki typów.

Rozszerzenie pliku	Typ pliku
.olb, .tlb	Plik biblioteki typów
.mdb, .mda, .mde	Baza danych
.exe, .dll	Plik wykonywalny
.ocx	Formant ActiveX
Jeżeli ustawienie właściwości IsBroken obiektu typu Reference wynosi Prawda (–1), odczyt właściwości FullPath generuje błąd.


FullPath, GUID, IsBroken, Major, Minor, właściwości - przykład

W poniższym przykładzie drukuje się wartości właściwości FullPath, GUID, IsBroken, Major i Minor dla każdego obiektu typu Reference w kolekcji References:

Sub ReferenceProperties()

Dim ref As Reference

' Enumerate through References collection.

For Each ref In References

' Check IsBroken property.

If ref.IsBroken = False Then

Debug.Print "Name: ", ref.Name

Debug.Print "FullPath: ", ref.FullPath

Debug.Print "Version: ", ref.Major & "." & ref.Minor

Else

Debug.Print "GUIDs of broken references:"

Debug.Print ref.GUID

EndIf

Next ref

End Sub


Lines, właściwość

Właściwość Lines zwraca ciąg znaków z zawartością określonego wiersza lub wierszy z modułu standardowego lub modułu klasy.

Ustawienie

obiekt.Lines(wiersz, liczbawierszy)

Właściwość Lines wykorzystuje poniższe ustawienia.

Ustawienie	Opis
obiekt	Obiekt typu Moduł.
wiersz	Wartość typu Liczba całkowita długa określająca numer pierwszego wiersza do odczytu.
liczbawierszy	Wartość typu Liczba człkowita długa określająca liczbę wierszy do odczytu.
Właściwość Lines dostępna jest tylko w języku Visual Basic i jest tylko do odczytu.

Uwagi

Wiersze w module numerowane są od 1. Na przykład, jeżeli odczyta się właściwość Lines z argumentem wiersz równym 1 i argumentem liczbawierszy równym 1, właściwość Lines zwróci ciąg znaków zawierający tekst pierwszego wiersza w module.

Aby wstawić wiersz tekstu do modułu, należy użyćmetody InsertLines.


Major, właściwość

Właściwość Major obiektu typu Reference zwraca wartość typu Liczba całkowita długa wskazującą główny numer wersji aplikacji, do której ustawi się odwołanie.

Ustawienie

Właściwość Major dostępna jest tylko w języku Visual Basic i jest tylko do odczytu.

Uwagi

Właściwość Major zwraca wartość będącą numerem wersji po lewej stronie od przecinka. Na przykład, jeżeli ustawi się odwołanie do aplikacji, której numerem wersji jest 2,5, to właściwość Major zwróci 2.


Minor, właściwość

Właściwość Minor obiektu typu Reference zwraca wartość typu Liczba całkowita długa wskazującą poboczny numer wersji aplikacji, do której ustawi się odwołanie.

Ustawienie

Właściwość Minor dostępna jest tylko w języku Visual Basic i jest tylko do odczytu.

Uwagi

Właściwość Minor zwraca wartość będącą numerem wersji po prawej stronie od przecinka. Na przykład, jeżeli ustawi się odwołanie do aplikacji, której numerem wersji jest 2,5, to właściwość  Minor zwróci 5.


ProcStartLine, właściwość

Właściwość ProcStartLine zwraca wartość typu Liczba całkowita długa przedstawiającą wiersz, od którego określona procedura zaczyna się w module standardowym lub w module klasy. Procedura zaczyna się od komentarzy i parametrów kompilacji, które występują bezpośrednio przed definicją procedury, oznaczonej następującymi rzeczami:

•	Instrukcją Sub.

•	Instrukcją Function.

•	Instrukcją Property Get.

•	Instrukcją Property Let.

•	Instrukcją Property Set.

Ustawienie

obiekt.ProcStartLine(procnazwa, procrodzaj )

Właściwość ProcStartLine wykorzystuje poniższe ustawienia.

Ustawienie	Opis
obiekt	Obiekt typu Moduł.
procnazwa	Wyrażenie typu ciąg znaków odpowiadające nazwie procedury w module.
procrodzaj	Stała wewnętrzna określająca typ procedury. Stałą może być jedna z poniższych wartości.
	Stała	Opis
	vbext_pk_Get	Procedura Property Get.
	vbext_pk_Let	Procedura Property Let.
	vbext_pk_Proc	Procedura Sub lub Function.
	vbext_pk_Set	Procedura Property Set.
Właściwość ProcStartLine dostępna jest tylko w języku Visual Basic i jest tylko do odczytu.

Uwagi

Właściwość ProcStartLine zwraca numer wiersza, od którego zaczyna się określona procedura. Na początek procedury mogą się składać komentarze lub parametry kompilacji, które poprzedzają definicję procedury.

Aby określić wiersz, od którego zaczyna się definicja procedury, należy użyć właściwości ProcBodyLine. Właściwość ta zwraca numer wiersza, który zaczyna się instrukcją Sub, Function, Property Get, Property Let lub Property Set.

Właściwości ProcStartLine i ProcBodyLine mogą mieć takie same wartości, jeśli definicja procedury zaczyna się w pierwszym wierszu procedury. Jeśli definicja procedury nie zaczyna się w pierwszym wierszu procedury, właściwość ProcBodyLine będzie miała większą wartość niż właściwość ProcStartLine.

Uwagi

•	Określenie, gdzie zaczyna się procedura może być łatwiejsze, jeśli wybrana zostanie opcja Separator Procedur. Jeżeli zostanie wybrana ta opcja, pomiędzy końcem jednej procedury a początkiem następnej pojawi się linia. Pierwszy wiersz kodu (albo pusty wiersz) pod separatorem procedur jest pierwszym wierszem następnej procedury, czyli wierszem, który jest zwracany przez wartość właściwości ProcStartLine. Opcja Separator Procedur znajduje się na karcie Moduł w oknie dialogowym Opcje, dostępnym po kliknięciu polecenia Opcje z menu Narzędzia. Aby zaznaczyć pole wyboru Separator Procedur, wpierw zaznacz pole wyboru Widok całego modułu.

•	Właściwość ProcStartLine traktuje procedury Sub i Function podobnie, ale rozróżnia różne typy procedury Właściwości.


ProcStartLine, ProcBodyLine, ProcCountLines, właściwości - przykład

Poniższa funkcja przesyła do okna "Analiza programu" informację o określonej procedurze w  module:

Function ProcLineInfo(strModuleName As String, strProcName As String)

Dim mdl As Module

Dim lngStartLine As Long, lngBodyLine As Long

Dim lngCount As Long, lngEndProc As Long

' Open specified Module object.

DoCmd.OpenModule strModuleName

' Return reference to Module object.

Set mdl = Modules(strModuleName)

' Count lines in procedure.

lngCount = mdl.ProcCountLines(strProcName, vbext_pk_Proc)

' Determine start line.

lngStartLine = mdl.ProcStartLine(strProcName, vbext_pk_Proc)

' Determine body line.

lngBodyLine = mdl.ProcBodyLine(strProcName, vbext_pk_Proc)

Debug.Print

' Print all lines in procedure preceding body line.

Debug.Print "Lines preceding procedure " & strProcName & ": "

Debug.Print mdl.Lines(lngStartLine, lngBodyLine - lngStartLine)

' Determine line number of last line in procedure.

lngEndProc = (lngBodyLine + lngCount - 1) - Abs(lngBodyLine - lngStartLine)

' Print all lines in body of procedure.

Debug.Print "Body lines: "

Debug.Print mdl.Lines(lngBodyLine, (lngEndProc - lngBodyLine) + 1)

End Function

Można przywołać tę funkcję z przykładu bazy danych Northwind za pomocą procedury jak poniżej:

Sub GetProcInfo()

ProcLineInfo "Utility Functions", "IsLoaded"

End Sub


ProcCountLines, właściwość

Właściwość ProcCountLines zwraca wartość typu Liczba całkowita długa zawierającą liczbę wierszy w określonej procedurze w module standardowym lub module klasy. Procedura zaczyna się od komentarzy i parametrów kompilacji, które występują bezpośrednio przed definicją procedury, oznaczonej następującymi rzeczami:

•	Instrukcja Sub.

•	Instrukcja Function.

•	Instrukcja Property Get.

•	Instrukcja Property Let.

•	Instrukcja Property Set.

Ustawienie

obiekt.ProcCountLines(procnazwa, procrodzaj )

Właściwość ProcCountLines wykorzystuje poniższe ustawienia.

Ustawienie	Opis
obiekt	Obiekt typu Moduł.
procnazwa	Wyrażenie typu ciąg znaków odpowiadające nazwie procedury w module.
procrodzaj	Stała wewnętrzna określająca typ procedury. Stałą może być jedna z poniższych wartości.
	Stała	Opis
	vbext_pk_Get	Procedura Property Get.
	vbext_pk_Let	Procedura Property Let.
	vbext_pk_Proc	Procedura Sub lub Function.
	vbext_pk_Set	Procedura Property Set.
Właściwość ProcCountLines dostępna jest tylko w języku Visual Basic i jest tylko do odczytu.

Uwagi

Właściwość ProcCountLines zwraca liczbę wierszy w procedurze, zaczynając od numeru wiersza zwróconego przez właściwość ProcStartLine, a kończąc na wierszu kończącym procedurę. Procedura może się kończyć instrukcjami End Sub, End Function lub End Property.

Uwaga   Właściwość ProcCountLines traktuje procedury Sub i Function podobnie, ale rozróżnia różne typy procedury Właściwości.


ProcBodyLine, właściwość

Właściwość ProcBodyLine zwraca wartość typu Liczba całkowita długa zawierającą numer wiersza, od którego zaczyna się właściwa część określonej procedury w module standardowym lub module klasy. Właściwa część procedury zaczyna się od definicji procedury, oznaczonej jedną z następujących rzeczy:

•	Instrukcją Sub.

•	Instrukcją Function.

•	Instrukcją Property Get.

•	Instrukcją Property Let.

•	Instrukcją Property Set.

Ustawienie

obiekt.ProcBodyLine(procnazwa, procrodzaj )

Właściwość ProcBodyLine wykorzystuje poniższe ustawienia.

Ustawienie	Opis
obiekt	Obiekt typu Moduł.
procnazwa	Wyrażenie typu ciąg znaków odpowiadające nazwie procedury w module.
procrodzaj	Stała wewnętrzna określająca typ procedury. Stałą może być jedna z poniższych wartości.
	Stała	Opis
	vbext_pk_Get	Procedura Property Get.
	vbext_pk_Let	Procedura Property Let.
	vbext_pk_Proc	Procedura Sub lub Function.
	vbext_pk_Set	Procedura Property Set.
Właściwość ProcBodyLine dostępna jest tylko w języku Visual Basic i jest tylko do odczytu.

Uwagi

Właściwość ProcBodyLine zwraca liczbę będącą numerem wiersza, w którym zaczyna się definicja procedury. Właściwość ProcStartLine zwraca zaś numer wiersza, w którym procedura jest oddzielona od poprzedniej w module. Każde komentarze i parametry kompilacji, które poprzedzają definicję procedury (właściwą część procedury) są jej częścią, ale właściwość ProcBodyLine ignoruje je.

Uwaga   Właściwość ProcBodyLine traktuje procedury Sub i Function podobnie, ale rozróżnia różne typy procedury Właściwości.


ProcOfLine, właściwość

Właściwość ProcOfLine zwraca ciąg znaków zawierający nazwę procedury, która zawiera określony wiersz z modułu standardowego lub modułu klasy. Właściwa część procedury zaczyna się od definicji procedury, oznaczonej jedną z następujących rzeczy:

•	Instrukcją Sub.

•	Instrukcją Function.

•	Instrukcją Property Get.

•	Instrukcją Property Let.

•	Instrukcją Property Set.

Ustawienie

obiekt.ProcOfLine(wiersz, pprocrodzaj )

Właściwość ProcOfLine wykorzystuje poniższe ustawienia.

Ustawienie	Opis
obiekt	Obiekt typu Module.
wiersz	Wartość typu Liczba całkowita długa określająca numer wiersza w module.
pprocrodzaj	Wartość typu Liczba całkowita długa wskazująca typ procedury zawierającej wiersz określony przez argument wiersz. Po otrzymaniu wartości właściwości ProcOfLine, wartość argumentu pprocrodzaj ustawiona jest na stałą własną, która określa typ procedury, do jakiej należy wiersz. Stała może przyjmować jedną z poniższych wartości.
	Stała	Wartość	Opis
	vbext_pk_Get	3	Procedura Property Get.
	vbext_pk_Let	1	Procedura Property Let.
	vbext_pk_Proc	0	Procedura Sub lub Function.
	vbext_pk_Set	2	Procedura Property Set.
Właściwość ProcOfLine dostępna jest tylko w języku Visual Basic i jest tylko do odczytu.

Uwagi

Dla każdego numeru wiersza, właściwość ProcOfLine zwróci nazwę procedury zawierającej ten wiersz. Skoro komentarze i parametry kompilacji bezpośrednio poprzedzające definicję procedury uważane są za jej część, właściwość ProcOfLine może zwrócić nazwę procedury dla wiersza, którego nie ma we właściwej części procedury. Właściwość ProcStartLine wskazuje wiersz, w którym procedura się zaczyna; właściwość ProcBodyLine wskazuje wiersz, w którym zaczyna się definicja procedury (Właściwa część procedury).

Warto zauważyć, że argument pprocrodzaj wskazuje, czy wiersz należy do procedury typu Sub lub Function,  Property Get, Property Let czy do Property Set. Aby określić, w jakiego typu procedurze znajduje się dany wiersz, należy przekazać zmienną typu Liczba całkowita długa do właściwości ProcOfLine, a potem sprawdzić wartość tej zmiennej.

Uwaga   Właściwość ProcBodyLine traktuje procedury Sub i Function podobnie, ale rozróżnia różne typy procedury Właściwość.


ProcOfLine, właściwość - przykład

Poniższa procedura wypisuje nazwy wszystkich procedur w określonym module:

Function AllProcs(strModuleName As String)

Dim mdl As Module

Dim lngCount As Long, lngCountDecl As Long, lngI As Long

Dim strProcName As String, astrProcNames() As String

Dim intI As Integer, strMsg As String

Dim lngR As Long

' Open specified Module object.

DoCmd.OpenModule strModuleName

' Return reference to Module object.

Set mdl = Modules(strModuleName)

' Count lines in module.

lngCount = mdl.CountOfLines

' Count lines in Declaration section in module.

lngCountDecl = mdl.CountOfDeclarationLines

' Determine name of first procedure.

strProcName = mdl.ProcOfLine(lngCountDecl + 1, lngR)

' Initialize counter variable.

intI = 0

' Redimension array.

ReDim Preserve astrProcNames(intI)

' Store name of first procedure in array.

astrProcNames(intI) = strProcName

' Determine procedure name for each line after declarations.

For lngI = lngCountDecl + 1 To lngCount

' Compare procedure name with ProcOfLine property value.

If strProcName <> mdl.ProcOfLine(lngI, lngR) Then

' Increment counter.

intI = intI + 1

strProcName = mdl.ProcOfLine(lngI, lngR)

ReDim Preserve astrProcNames(intI)

' Assign unique procedure names to array.

astrProcNames(intI) = strProcName

End If

Next lngI

strMsg = "Procedures in module '" & strModuleName & "': " _

& vbCrLf & vbCrLf

For intI = 0 To UBound(astrProcNames)

strMsg = strMsg & astrProcNames(intI) & vbCrLf

Next intI

' Dialog box listing all procedures in module.

MsgBox strMsg

End Function

Można wywołać tę funkcję następującą procedurą:

Sub GetAllProcs()

AllProcs "Utility Functions"

End Sub


Collection, właściwość

Właściwość Collection  zwraca odwołanie do kolekcji zawierającej obiekt.

Ustawienie

Właściwość Collection  dostępna jest tylko w języku Visual Basic i jest tylko do odczytu.

Uwagi

Właściwości Collection można użyć w celu uzyskania dostępu do kolekcji, do której należy obiekt. Na przykład, właściwość Collection obiektu typu Reference zwraca odwołanie obiektu do kolekcji References.

Właściwość Collection  jest podobna do właściwości Parent (Nadrzędny).


Type, właściwość

Właściwość Type wskazuje, czy moduł jest modułem standardowym czy też modułem klasy.

Ustawienie

Właściwość Type dostępna jest tylko w języku Visual Basic i jest tylko do odczytu.

Jeśli moduł jest modułem standardowym, wartością właściwości Type  jest acStandardModule lub 0. Jeśli moduł jest  modułem klasy, wartością właściwości Type jest  acClassModule lub 1.


Type, właściwość - przykład

Poniższy przykład określa, czy obiekt typu Moduł reprezentuje moduł standardowy czy moduł klasy:

Function CheckModuleType(strModuleName As String) As Integer

Dim mdl As Module

' Open module to include in Modules collection.

DoCmd.OpenModule strModuleName

' Return reference to Module object.

Set mdl = Modules(strModuleName)

' Check Type property.

If mdl.Type = acClassModule Then

' Insert comment.

mdl.InsertLines 1, "' Class module."

CheckModuleType = acClassModule

Else

' Insert comment.

mdl.InsertLines 1, "' Standard module."

CheckModuleType = acStandardModule

End If

End Function


PictureAlignment, właściwość

Właściwości PictureAlignment (WyrównanieRysunku) można użyć do określenia, gdzie rysunek tła pojawi się w formancie obrazu albo na formularzu lub raporcie.

Ustawienia

Dla właściwości PictureAlignment używane są następujące ustawienia.

Ustawienie	Opis	Visual Basic
Lewe górne	Rysunek jest wyświetlany w lewym górnym rogu formantu obrazu, okna formularza lub strony raportu.	0
Prawe górne	Rysunek jest wyświetlany w prawym górnym rogu formantu obrazu, okna formularza lub strony raportu.	1
Środkowe	(Ustawienie domyślne) Rysunek jest wyświetlany pośrodku formantu obrazu, okna formularza lub strony raportu.	2
Lewe dolne	Rysunek jest wyświetlany w lewym dolnym rogu formantu obrazu, okna formularza lub strony raportu	3
Prawe dolne	Rysunek jest wyświetlany w prawym dolnym rogu formantu obrazu, okna formularza lub strony raportu	4
Środek formularza	(Dotyczy tylko formularzy) Rysunek formularza jest wyśrodkowany w poziomie względem szerokości formularza i w pionie względem jego wysokości.	5
Właściwość PictureAlignment można ustawić za pomocą arkusza właściwości formularza lub raportu, makra lub języka Visual Basic.

Wartość domyślną dla tej właściwości można ustawić za pomocą domyślnego stylu formantu lub metody DefaultControl języka Visual Basic.

Właściwość tę można ustawiać w każdym widoku.

Uwagi

Ustawienie "Środek formularza" wyrównuje rysunek na formularzu pośrodku samego formularza . Wszystkie pozostałe ustawienia właściwości PictureAlignment wyrównują rysunek na formularzu względem okna formularza. Aby rysunek był wyświetlany tylko na formularzu, należy ustawić właściwość PictureAlignment na wartość "Środek formularza".

W przypadku raportów rysunek jest ustawiany względem całej strony, a nie względem rozmiarów samego raportu. Jeśli raport jest mniejszy niż cała strona i rysunek powinien znaleźć się w miejscu niedostępnym dla właściwości PictureAlignment, to należy użyć formantu obrazu.

Gdy właściwość PictureTiling (KaskadaRysunków) jest ustawiona na wartość "Tak", to kaskada rysunków zacznie się od miejsca określonego przez ustawienie właściwości PictureAlignment.


PictureData, właściwość

Właściwości PictureData można użyć, aby skopiować rysunek z jednego formularza, raportu lub formantu do innego obiektu obsługującego właściwość Picture (Rysunek).

Ustawienia

Ustawieniem właściwości PictureData jest właściwość PictureData innego formantu obrazu, przycisku polecenia, przycisku przełącznika, formularza lub raportu.

Właściwość tę ustawia się używając języka Visual Basic.

Uwagi

Właściwości tej można użyć, aby wyświetlać różne rysunki tła w formularzu, zależnie od działań użytkownika. Można na przykład otwierać formularz "Customers" używając różnych rysunków tła, zależnie od tego, czy jest on otwierany do wprowadzania danych, czy do przeglądania.

Właściwość PictureData można użyć razem ze zdarzeniem Timer i właściwością TimerInterval (OkresCzasomierza), aby wykonać na formularzu prostą animację.


PictureData, właściwość - przykład
PictureData, właściwość – przykład

W poniższym przykładzie wykorzystano trzy formanty obrazu do animacji obrazu motyla na formularzu. Formant obrazu "Hidden1" zawiera rysunek motyla ze skrzydłami uniesionymi w górę, a formant obrazu "Hidden2" rysunek motyla ze skrzydłami opuszczonymi w dół. Oba formanty obrazów mają właściwość Visible (Widoczny) ustawioną na wartość False (0). Właściwość TimerInterval (OkresCzasomierza) została ustawiona na wartość  200. Za każdym razem, gdy następuje zdarzenie Timer, rysunek w formancie obrazu "Visible1" jest zmieniany przy użyciu właściwości PictureData ukrytych formantów obrazu, a widoczny formant obrazu jest przesuwany o 200 twipów w prawo. Widoczny formant obrazu jest przesuwany z powrotem na lewą stronę formularza, gdy wartość jego właściwości Left (Lewy) staje się większa od szerokości formularza przechowywanej w zmiennej publicznej gfrmWidth. Zmiennej gfrmWidth jest przypisywana wartość Me.Width w zdarzeniu Open formularza.

Private Sub Form_Timer()

Static intPic As Integer

Select Case intPic

Case Is = 1

Me!Visible1.PictureData = Me!Hidden1.PictureData

Case Is = 2

Me!Visible1.PictureData = Me!Hidden2.PictureData

Case Else

End Select

If intPic = 2 Then intPic = 0

intPic = intPic + 1

If (Me!Visible1.Left > gfrmWidth) Then Me!Visible1.Left = 0

Me!Visible1.Left = Me!Visible1.Left + 200

End Sub


PicturePages, właściwość

Właściwości PicturePages (StronyRysunku) można użyć, aby określić, na której stronie lub stronach raport będzie wyświetlany rysunek.

Ustawienia

Dla właściwości PicturePages używane są następujące ustawienia.

Ustawienie	Opis	Visual Basic
Wszystkie strony	(Ustawienie domyślne) Rysunek pojawia się na wszystkich stronach raportu.	0
Pierwsza strona	Rysunek pojawia się tylko na pierwszej stronie raportu.	1
Bez stron	Rysunek nie pojawia się w raporcie.	2
Właściwość PicturePages można ustawić za pomocą arkusza właściwości raportu, makra lub języka Visual Basic.


PictureSizeMode, właściwość

Właściwości PictureSizeMode (TrybWymiarowaniaRysunku) można użyć, aby określić sposób dopasowywania rysunku do formularza lub raportu.

Ustawienia

Dla właściwości PictureSizeMode używane są następujące ustawienia.

Ustawienie	Opis	Visual Basic
Obetnij	(Ustawienie domyślne) Rysunek jest wyświetlany w swoich rzeczywistych rozmiarach. Jeśli jest on większy niż formularz lub raport, to rysunek jest obcinany.	0
Rozciągnij	Rysunek jest rozciągany w poziomie i w pionie, aby wypełnić cały formularz, nawet jeśli przez to zmieniony zostanie jego pierwotny stosunek wysokości do szerokości.	1
Powiększ	Rysunek jest maksymalnie powiększany przy zachowaniu jego pierwotnego stosunku wysokości do szerokości.	3
Właściwość PictureSizeMode można ustawić przy pomocy arkusza właściwości formularza lub raportu, makra lub języka Visual Basic.

Uwagi

Jeśli dla właściwość Picture (Rysunek) formularza lub raportu używany jest mały rysunek, to ustawienie właściwości PictureSizeMode na wartość "Rozciągnij " lub "Powiększ" może spowodować znaczne pogorszenie rozdzielczości. Małe rysunki można powielać wypełniając nimi cały formularz lub raport. Służy do tego właściwość PictureTiling (KaskadaRysunków).


PictureTiling, właściwość

Właściwości PictureTiling (KaskadaRysunków) można użyć, aby określić, czy rysunek tła ma być układany kaskadowo na całej powierzchni formantu obrazu, okna formularza, formularza lub strony raportu.

Ustawienia

Dla właściwości PictureTiling używane są następujące ustawienia.

Ustawienie	Opis	Visual Basic
Tak	Rysunek jest układany kaskadowo.	True (-1)
Nie	(Ustawienie domyślne) Rysunek nie jest układany kaskadowo.	False (0)
Właściwość PictureTiling można ustawić przy pomocy arkusza właściwości obiektu, makra lub języka Visual Basic.

Domyślną wartość tej właściwości można ustawić za pomocą domyślnego stylu formantu lub metody DefaultControl języka Visual Basic.

Uwagi

Umieszczając rysunek w formularzu lub raporcie i ustawiając właściwość PictureTiling na wartość "Tak" można uzyskać interesujące efekty. Na kaskadowe ułożenie rysunków ma wpływ ustawienie właściwości PictureAlignment (WyrównanieRysunku). Na przykład, jeśli właściwość PictureAlignment jest ustawiona na wartość "Lewe górne", to kaskada zaczyna się od lewego górnego rogu formantu obrazu, okna formularza lub strony raportu.

Uwaga   Jeśli właściwość PictureAlignment jest ustawiona na wartość "Środek formularza", a właściwość PictureTiling na wartość "Tak", to kopie rysunku wypełnią formularz, a nie okno formularza.


Co to jest wyrażenie?

Wyrażenia są integralną częścią wielu operacji wykonywanych w programie Microsoft Access. Wyrażenie jest taką kombinacją symboli – identyfikatorów, operatorów i wartości, której zastosowanie daje określony wynik.

Na przykład, następującego wyrażenia można użyć w formancie na formularzu lub raporcie, aby wyświetlić sumę wartości formantów "Subtotal" i "Freight":

= [Subtotal] + [Freight]

Oto kilka przykładów typowych operacji, w których używane są wyrażenia:

•	Ustawianie właściwości definiującej formant obliczeniowy, ustanawiającej regułę poprawności lub określającej domyślną wartość pola.

•	Wprowadzanie wyrażenia kryteriów, tworzenie pola obliczeniowego lub aktualizacja rekordów w kwerendzie lub filtrze.

•	Określanie warunku wykonania akcji lub serii akcji w makrze lub określanie argumentów dla wielu akcji.

•	Określanie argumentów dla wielu funkcji, instrukcji i metod w procedurach języka Visual Basic for Applications.

•	Edycja kwerendy SQL w widoku SQL okna kwerendy lub używanie instrukcji SQL w ustawieniu właściwości lub w argumencie.

Aby uzyskać informacje dotyczące tworzenia wyrażeń, kliknij  [image].

Aby obejrzeć przykłady wyrażeń, kliknij  [image].


Tworzenie wyrażenia

Wyrażenie tworzy się łącząc identyfikatory, wartości i operatory w jednostkę, której użycie daje określony wynik. Wyrażenia mogą być prostymi działaniami arytmetycznymi, takimi jak (1 + 1), które daje wynik numeryczny, (2). Mogą one również przeprowadzać złożone operacje na danych, tak jak na przykład poniższe wyrażenie sprawdzające poprawność, które generuje błąd, jeśli wartością w polu "Country" jest "France", "Italy" lub "Spain", a pole "PostalCode" zawiera mniej lub więcej niż pięć znaków:

= [Country] In ("France", "Italy", "Spain") And Len([PostalCode])<>5

Wyrażenia można tworzyć za pomocą Konstruktora wyrażeń lub łącząc poszczególne elementy wyrażenia w taki sposób, aby otrzymać żądany efekt.

Co chcesz zrobić?

Utworzyć wyrażenie za pomocą Konstruktora wyrażeń

Utworzyć wyrażenie samodzielnie

Dowiedzieć się więcej na temat wyrażeń

Zobaczyć przykłady wyrażeń


Tworzenie wyrażenia za pomocą Konstruktora wyrażeń

1	Uruchom Konstruktora wyrażeń.

Jak?

2	W lewym dolnym polu Konstruktora wyrażeń kliknij dwukrotnie lub jednokrotnie folder zawierający żądany element.

3	W środkowym dolnym folderze, kliknij dwukrotnie element, aby wkleić go do pola wyrażenia, albo kliknij kategorię elementów.

4	Po wybraniu kategorii w środkowym dolnym polu wartości są wyświetlane w prawym dolnym polu. Kliknij dwukrotnie wartość, aby wkleić ją do pola wyrażenia.

Wskazówka   Można również wpisać dowolną część wyrażenia bezpośrednio w polu wyrażenia.

5	Wklej wszelkie operatory, które mają się znaleźć w wyrażeniu, przez umieszczenie punktu wstawiania w odpowiednim miejscu pola wyrażenia i kliknięcie jednego z przycisków operatorów znajdujących się w środkowej części konstruktora.

6	Po wprowadzeniu wszystkich elementów wyrażenia, kliknij przycisk OK.

Program Microsoft Access kopiuje wyrażenie do miejsca, w którym został uruchomiony Konstruktor wyrażeń. Jeśli to miejsce już zawiera jakąś wartość lub jeśli konstruktor został uruchomiony w oknie modułu, w którym był zaznaczony tekst, nowe wyrażenie zastępuje tę wartość lub tekst.

Aby uzyskać więcej informacji na temat Konstruktora wyrażeń, kliknij  [image].


Uruchamianie Konstruktora wyrażeń

Konstruktor wyrażeń może zostać uruchomiony z większości miejsc, w których wpisuje się wyrażenia, takich jak arkusz właściwości, komórka Kryteria w siatce projektu kwerendy, okno makra lub okno modułu.

Co chcesz zrobić?

Uruchomić Konstruktora wyrażeń w arkuszu właściwości lub w dolnym panelu okna makra

Uruchomić Konstruktora wyrażeń w siatce projektu kwerendy, w warunku makra lub w module


Uruchamianie Konstruktora wyrażeń w arkuszu właściwości lub w oknie makra

1	Kliknij pole właściwości lub argumentu, które ma zawierać wyrażenie.

2	Kliknij przycisk Buduj  [image]  obok pola właściwości lub argumentu.

Jeśli właściwość jest skojarzona z wieloma konstruktorami, pojawia się okno dialogowe Wybierz konstruktora. Kliknij opcję Konstruktor wyrażeń, a następnie przycisk OK.

Uwaga   Jeśli pole właściwości lub pole argumentu, w którym został uruchomiony Konstruktor wyrażeń zawiera już jakąś wartość, wartość ta jest automatycznie kopiowana do pola wyrażenia.


Uruchamianie Konstruktora wyrażeń w siatce kwerendy, w warunku makra lub w module

Konstruktor wyrażeń może zostać uruchomiony w komórce Pole lub Kryteria w widoku "Projekt" kwerendy, w kolumnie Warunek okna makra lub w oknie modułu.

1	Kliknij prawym przyciskiem w miejscu, w którym ma się znaleźć wyrażenie.

2	W menu podręcznym kliknij polecenie Buduj.

Uwaga   Jeśli komórka siatki projektu kwerendy lub kolumna Warunek, w której został uruchomiony Konstruktor wyrażeń zawiera już jakąś wartość, wartość ta jest automatycznie kopiowana do pola wyrażenia. Aby skopiować tekst z okna modułu do Konstruktora wyrażeń, należy go zaznaczyć przed uruchomieniem Konstruktora wyrażeń.


Tworzenie wyrażenia bez pomocy Konstruktora wyrażeń

Wyrażenie tworzy się łącząc identyfikatory, operatory i wartości w taki sposób, aby otrzymać żądany wynik. Na przykład, następujące wyrażenie zwiększa wartość wyświetlaną w formancie "Freight" formularza "Orders" o 10 procent:

= [Forms]![Orders]![Freight] * 1.1

W tym wyrażeniu:

•	Forms![Orders]![Freight] jest identyfikatorem odwołującym się do wartości formantu "Freight" na formularzu "Orders".

•	* jest operatorem mnożenia.

•	1.1 jest wartością, przez którą program Microsoft Access mnoży wartość formantu "Freight".

W zależności od żądanego wyniku można łączyć identyfikatory, operatory i wartości na wiele różnych sposobów. Wyrażenia mogą zawierać ciągi znaków, dodawać lub mnożyć wartości liczbowe, wywoływać funkcje, odwoływać się do obiektów i ich wartości oraz wykonywać wiele innych operacji.

Niektóre wyrażenia dają wynik "Prawda" lub "Fałsz". Na przykład, jeśli wyrażenie zostanie wprowadzone do kolumny Warunek makra, określona akcja jest wykonywana tylko wtedy, gdy wartością wyrażenia jest "Prawda". Poniższe wyrażenie jest prawdziwe tylko wtedy, gdy wartością wyświetlaną w formancie "Country" formularza "Employees" jest "UK":

Forms![Employees]![Country] = "UK"

Aby uzyskać więcej informacji na temat używania identyfikatorów w wyrażeniach, kliknij  [image].

Aby uzyskać więcej informacji na temat operatorów, kliknij  [image].

Aby uzyskać więcej informacji na temat używania wartości w wyrażeniach, kliknij  [image].


Odwoływanie się w wyrażeniach do obiektów i ich właściwości

Aby odwołać się do obiektu lub jego właściwości, używa się w wyrażeniu identyfikatora. Można na przykład odwołać się do otwartego formularza, otwartego raportu, formantu otwartego formularza lub raportu, bądź dowolnych właściwości formularza, raportu lub formantu. Poniższy identyfikator odwołuje się do właściwości Visible (Widoczny) formantu:

Reports![Invoice]![ShipName].Visible

Pełny identyfikator obiektu lub właściwości pokazuje zależności między poszczególnymi swoimi elementami. W tym identyfikatorze:

•	Słowo "Reports" odwołuje się do kolekcji otwartych raportów w bazie danych. Program Microsoft Access automatycznie tworzy kolekcje Forms i Reports dla każdej bazy danych. Kolekcja Forms zawiera wszystkie otwarte formularze, a kolekcja Reports zawiera wszystkie otwarte raporty.

•	Element [Invoice] odwołuje się do raportu "Invoice" w kolekcji Reports.

•	Element [ShipName] odwołuje się do formantu "ShipName" w raporcie "Invoice".

•	Słowo "Visible" odwołuje się do właściwości Visible formantu "ShipName".

Często warto jest odwoływać się do obiektu lub właściwości za pomocą pełnego identyfikatora. W niektórych przypadkach pełny identyfikator jest wymagany. Na przykład, aby odwołać się do formantu formularza lub raportu, który nie jest bieżącym formularzem lub raportem, trzeba wpisać jego pełny identyfikator. Poniższe wyrażenie powoduje wyświetlenie sumy wartości formantów "Subtotal" i "Freight" formularza "Orders" w formancie innego formularza:

= Forms![Orders]![Subtotal] + Forms![Orders]![Freight]

Czasami można odwoływać się do formantów lub ich właściwości bez podawania pełnego identyfikatora:

•	Przy odwoływaniu się do formantu bieżącego formularza lub raportu nie trzeba określać identyfikatora formularza lub raportu. Na przykład, aby wyświetlić sumę wartości formantów "Subtotal" i "Freight" w innym formancie tego samego formularza, należy ustawić właściwość ControlSource (ŹródłoFormantu) na wyrażenie:

= [Subtotal] + [Freight]

•	Przy odwoływaniu się do formantu podformularza lub podraportu, nie trzeba podawać pełnego identyfikatora dla formularza lub raportu używającego właściwości Form lub Report. Na przykład, poniższego identyfikatora można użyć, aby odwołać się do formantu "Quantity" podformularza "Orders Subform":

Forms![Orders]![Orders Subform]![Quantity]

Pełny identyfikator formantu "Quantity" wyglądałby następująco:

Forms![Orders]![Orders Subform].Form![Quantity]

•	W makrze lub argumencie akcji nie trzeba określać identyfikatora formularza lub raportu, w którym makro jest wykonywane. Na przykład, jeśli jako właściwość zdarzenia formularza zostanie określona nazwa makra, można odwoływać się do formantów formularza w kolumnie Warunek makra oraz odwoływać się do argumentów akcji bez konieczności podawania identyfikatora formularza.

•	Przy odwoływaniu się do formantów bieżącego formularza lub raportu w procedurze języka Visual Basic for Applications zamiast pełnego identyfikatora można użyć słowa kluczowego Me. Na przykład, aby przypisać sumę wartości formantów "Subtotal" i "Freight" formularza zmiennej "OrderTotal" w procedurach zdarzenia formularza, należy dodać następującą instrukcję do procedury zdarzenia:

OrderTotal = Me![Subtotal] + Me![Freight]

Uwagi

•	Jeśli uruchamiane jest makro lub kod języka Visual Basic for Applications zawierający wyrażenie, które odwołuje się do formularza lub raportu, dany formularz lub raport musi być otwarty.

•	W procedurach języka Visual Basic można odwoływać się do obiektów umieszczając ich nazwy w nawiasach i w cudzysłowie ("") zamiast używania operatora !. Składnia wykorzystująca nawiasy jest wymagana, jeśli w identyfikatorze ma być użyta zmienna. Na przykład, poniższe identyfikatory są równoważne:

Forms![Orders]![OrderDate]

Forms("Orders")("OrderDate")

Aby uzyskać informacje dotyczące stosowania operatorów ! i . (kropka) w wyrażeniach, kliknij  [image].

Aby uzyskać więcej informacji na temat odwoływania się w wyrażeniach do formularzy, raportów, podformularzy i podraportów, kliknij  [image].

Aby uzyskać więcej informacji na temat odwoływania się w wyrażeniach do wartości formantów lub właściwości, kliknij  [image].


Używanie wartości w wyrażeniach

Wartości w wyrażeniach mogą być określane za pomocą literałów, stałych, funkcji lub identyfikatorów:

•	Literał reprezentuje wartość, taką jak liczba, ciąg znaków lub data, które program Microsoft Access interpretuje dokładnie tak, jak zostały napisane. "Nowy Jork", 100, i #1-I-94# to przykłady literałów. Daty podaje się między znakami "#", a ciągi znaków w podwójnym cudzysłowie (").

•	Stała reprezentuje wartość, która nie ulega zmianie. True, False i Null są przykładami stałych, które program Microsoft Access definiuje automatycznie. Można również definiować własne stałe w języku Visual Basic for Applications. Stałe te mogą być następnie używane w procedurach języka Visual Basic.

•	Funkcja zwraca wartość na podstawie wyników obliczenia lub innej operacji. Program Microsoft Access zawiera wiele wbudowanych funkcji, takich jak na przykład:

•	Funkcja Date, która zwraca bieżącą datę.

•	Funkcja Sum, która zwraca sumę zestawu wartości pól.

•	Funkcja DLookup, która zwraca określoną wartość pola.

W języku Visual Basic można również tworzyć własne funkcje.

•	Identyfikator odwołuje się do wartości pola, formantu lub właściwości. Na przykład, poniższy identyfikator odwołuje się do wartości właściwości DefaultValue (WratośćDomyślna) formantu "OrderDate" formularza "Orders":

Forms![Orders]![OrderDate].DefaultValue

Wartość pola, formantu lub właściwości można połączyć z ciągiem znaków za pomocą operatora &. Na przykład, poniższe wyrażenie łączy ciąg znaków "[CategoryID] = " z wartością formantu "CategoryID" formularza "Products":

"[CategoryID] = " & Forms![Products]![CategoryID]

W niektórych sytuacjach – na przykład w funkcjach agregujących domen, takich jak DLookup – wartość pola, formantu lub właściwości musi być podana w pojedynczym (') lub podwójnym (") cudzysłowie. Najłatwiej można to osiągnąć przez dodanie pojedynczego cudzysłowu do ciągu znaków, a następnie połączenie wyrażenia z innym ciągiem znaków utworzonym z pojedynczego cudzysłowu umieszczonego po wartości pola, formantu lub właściwości w następujący sposób:

"[CategoryID] = ' " & Forms![Products]![CategoryID] & " ' "

Istniejące aplikacje programu Microsoft Access mogą używać operatorów w postaci kresek pionowych (| |) zamiast otwierającej i zamykającej kombinacji podwójnych cudzysłowów (") i operatorów &. Wygląda to następująco:

"[CategoryID] = '|Forms![Products]![CategoryID]|' "

Użycie kresek pionowych nie jest jednak wskazane, ponieważ w niektórych sytuacjach może powodować niespodziewane wyniki.

Jeśli wyrażenie ma zwracać ciąg ujęty w cudzysłów, należy umieścić zagnieżdżony ciąg w pojedynczym cudzysłowie (') lub w trzech zestawach podwójnych cudzysłowów ("). Na przykład, poniższe wyrażenia są równoważne:

Forms![Contacts]![City].DefaultValue = ' "Paris" '

Forms![Contacts]![City].DefaultValue = " " "Paris" " "

Aby uzyskać więcej informacji na temat stałych, kliknij  [image].

Aby uzyskać więcej informacji na temat tworzenia własnych funkcji, kliknij  [image].

Aby uzyskać więcej informacji na temat używania identyfikatorów w wyrażeniach, kliknij  [image].


Przykłady wyrażeń

W programie Microsoft Access wyrażenia są używane w wielu operacjach, na przykład przy tworzeniu formantów obliczeniowych, kryteriów kwerend i filtrów, wartości domyślnych, reguł poprawności i warunków makr. Często najłatwiejszym sposobem utworzenia wyrażenia jest zmodyfikowanie wyrażenia przykładowego.

Jakie przykłady chcesz zobaczyć?

Przykłady wyrażeń używanych w formularzach i raportach

Przykłady wyrażeń używanych w kwerendach i filtrach

Przykłady wyrażeń wartości domyślnych

Przykłady wyrażeń określających reguły poprawności dla pola

Przykłady wyrażeń używanych w warunkach makra

Więcej informacji o wyrażeniach


Używanie operatorów ! (wykrzyknik) i . (kropka) w wyrażeniach

Operatory ! (wykrzyknik) i .(kropka) są używane w identyfikatorach do określenia typu elementu, który po nich następuje.

Operator ! wskazuje, że występuje po nim element zdefiniowany przez użytkownika (element kolekcji). Na przykład, operatora ! należy użyć odwołując się do otwartego formularza, otwartego raportu lub formantu otwartego formularza lub raportu.

Identyfikator	Odwołuje się do
Forms![Orders]	Otwartego formularza "Orders"
Reports![Invoice]	Otwartego raportu "Invoice"
Forms![Orders]![OrderID]	Formantu "OrderID" otwartego formularza "Orders"
Operator . (kropka) wskazuje zwykle, że element po nim występujący jest zdefiniowany przez program Microsoft Access. Na przykład, operatora . (kropka) należy użyć przy odwoływaniu się do właściwości, formularza, raportu lub formantu.

Uwaga   Operatora . (kropka) można również użyć, aby odwołać się do wartości pola w instrukcji SQL, metody języka Visual Basic for Applications lub do kolekcji. Na przykład, identyfikator Forms![Orders].Controls odwołuje się do kolekcji Controls formularza "Orders". Ponieważ jednak kolekcja Controls jest kolekcją domyślną dla formularzy i raportów, zazwyczaj nie ma potrzeby odwoływać się do niej w sposób jawny.


Wprowadzanie wyrażeń w arkuszu właściwości, siatce projektu lub argumencie akcji

Jeśli użytkownik wprowadza wyrażenie, które jest dłuższe niż standardowy obszar dla danych wejściowych w arkuszu właściwości, siatce projektu lub argumencie akcji, może je wpisać w oknie Powiększ. Aby otworzyć okno Powiększ, należy nacisnąć klawisze SHIFT+F2, gdy fokus znajduje się w miejscu, gdzie ma być wprowadzone wyrażenie.

Przy wprowadzaniu wyrażenia do arkusza właściwości, siatki projektu lub argumentu akcji, program Microsoft Access:

•	Rozpoznaje nazwy funkcji i właściwości dla danego regionu oraz separatory list dla wersji lokalnych.

•	Wstawia pewne znaki przy zmianie fokusu. W zależności od miejsca wprowadzania wyrażenia, program Microsoft Access automatycznie wstawia:

•	Nawiasy kwadratowe ([ ]) wokół nazw formularzy, raportów, pól i formantów.

•	Znaki "#" wokół dat.

•	Cudzysłów (") wokół tekstu.

Uwaga   Wyrażenia formantów obliczeniowych są zawsze poprzedzane znakiem równości (=).

Używanie funkcji i właściwości w lokalnych wersjach programu Microsoft Access

Przy wprowadzaniu funkcji lub właściwości do wyrażenia, w większości wersji lokalnych programu Microsoft Access:

•	Można wpisać ich zlokalizowaną nazwę (we własnym języku) w arkuszu właściwości, siatce projektu lub argumencie akcji.

•	Przy określaniu kilku argumentów dla funkcji można używać separatora listy zdefiniowanego w ustawieniach regionalnych dla danego kraju. Separator listy jest określany na karcie Liczba okna dialogowego Właściwości: Ustawienia regionalne w Panelu sterowania systemu Windows. W większości wersji lokalnych domyślnym separatorem listy jest średnik (;).

W kodzie języka Visual Basic for Applications trzeba podawać angielskie nazwy funkcji lub właściwości i używać przecinka (,) jako separatora listy.

Wprowadzanie nazw obiektów

Nawiasy kwadratowe ([ ]) wokół pola, formantu lub właściwości w identyfikatorze oznaczają, że element ten jest nazwą tabeli, kwerendy, formularza, raportu, pola lub formantu.

Przy wpisywaniu nazwy obiektu w identyfikatorze, należy umieścić ją w nawiasie kwadratowym, jeśli zawiera spację lub znak specjalny, taki jak na przykład znak podkreślenia. Jeśli nazwa nie zawiera spacji ani znaków specjalnych, można ją wpisać bez nawiasu. Program Microsoft Access wstawia nawias automatycznie we wszystkich przypadkach z wyjątkiem dwóch opisanych dalej.

Na przykład, aby obliczyć sumę wartości w polach "Freight" i "OredrAmount", można wpisać następujące wyrażenie jako ustawienie właściwości ControlSource (ŹródłoFormantu):

= Freight + OrderAmount

Program Microsoft Access wyświetla to wyrażenie w następujący sposób:

= [Freight] + [OrderAmount]

Uwaga   Program Microsoft Access nie wstawia automatycznie nawiasów kwadratowych wokół nazwy w ustawieniach właściwości ValidationRule (RegułaPoprawności) ani w komórce Kryteria siatki projektu kwerendy. Przy wprowadzaniu nazw obiektów, należy koniecznie umieścić je w nawiasach. W przeciwnym razie program Microsoft Access może przyjąć, że jest wprowadzany tekst i wstawić cudzysłów.

Wprowadzanie wartości daty/godziny

Znaki "#" wokół elementu wyrażenia wskazują na to, że element jest wartością typu Data/Godzina. Program Microsoft Access automatycznie interpretuje wartość umieszczoną między tymi znakami jako wartość typu Data/Godzina i pozwala na wprowadzenie wartości w dowolnym typowym formacie daty lub godziny.

Nie ma potrzeby wpisywania znaków "#" wokół wartości daty lub godziny w wyrażeniach sprawdzających poprawność ani kryteriów w polu, którego typem danych jest Data/Godzina. Można wpisać wartość w dowolnym typowym formacie daty lub godziny – program Microsoft Access automatycznie wstawia znaki "#" wokół tej wartości.

Wartość jest wyświetlana zgodnie z ustawieniami w oknie dialogowym Właściwości: Ustawienia regionalne w Panelu sterowania systemu Windows. Wyjściowy format daty można zmienić używając właściwości Format.

Wprowadzanie tekstu

Podwójny cudzysłów (") wokół elementu wyrażenia oznacza, że element ten jest tekstem.

Przy wprowadzaniu tekstu do wyrażenia sprawdzającego poprawność lub wyrażenia kryteriów można wpisać tekst bez podwójnego cudzysłowu. Program Microsoft Access wstawi go automatycznie.

Na przykład, jeśli użytkownik wpisze wyrażenie Paris, program Microsoft Access wyświetli je w postaci:

"Paris"


Odwoływanie się w wyrażeniu do formularza, raportu, podformularza lub podraportu

Do otwartego formularza lub raportu albo podformularza lub podraportu otwartego formularza lub raportu można odwoływać się w wyrażeniu wpisując odpowiedni identyfikator.

Aby odwołać się do otwartego formularza lub raportu

•	Należy podać nazwę kolekcji Forms lub Reports, a następnie wpisać operator ! i nazwę formularza lub raportu. Na przykład, do formularza "Orders" odwołuje się następujący identyfikator:

Forms![Orders]

Aby odwołać się do podformularza lub podraportu

Należy odwołać się do formantu podformularza lub podraportu w formularzu lub raporcie, w którym znajduje się podformularz lub podraport, a następnie za pomocą właściwości Form lub Report odwołać się do odpowiedniego podformularza lub podraportu.

•	Należy wpisać identyfikator dla formularza, w którym znajduje się podformularz, następnie wpisać nazwę formantu podformularza, wpisać operator . (kropka) i właściwość Form. Na przykład do podformularza "Orders Subform" w formularzu "Orders" odwołuje się następujący identyfikator:

Forms![Orders]![Orders Subform].Form

Uwagi

•	Do utworzenia identyfikatora dla formularza, raportu, podformularza lub podraportu można użyć Konstruktora wyrażeń.

•	Jeśli uruchamiane jest makro lub kod języka Visual Basic for Applications zawierający wyrażenie, które odwołuje się do formularza lub raportu, dany formularz lub raport musi być otwarty.

Aby uzyskać więcej informacji na temat tworzenia wyrażeń za pomocą Konstruktora wyrażeń, kliknij  [image].

Aby uzyskać więcej informacji na temat używania identyfikatorów w wyrażeniach, kliknij  [image].

Aby uzyskać więcej informacji na temat odwoływania się w wyrażeniu do wartości formantu lub właściwości, kliknij  [image].


Odwoływanie się w wyrażeniu do wartości formantu lub właściwości

Aby odwołać się w wyrażeniu do wartości formantu lub właściwości, należy wpisać odpowiedni identyfikator.

Aby odwołać się do wartości formantu

•	Należy wpisać identyfikator formularza lub raportu, w którym znajduje się formant, następnie wpisać operator ! i nazwę formantu. Na przykład, do wartości formantu "OrderID" w formularzu "Orders" odwołuje się następujący identyfikator:

Forms![Orders]![OrderID]

Wskazówka   Przy odwoływaniu się do formantu podformularza lub podraportu, nie trzeba podawać pełnego identyfikatora dla formularza lub raportu używającego właściwości Form lub Report. Na przykład, poniższego identyfikatora można użyć, aby odwołać się do formantu "Quantity" podformularza "Orders Subform":

Forms![Orders]![Orders Subform]![Quantity]

Aby odwołać się do wartości właściwości

•	Należy wpisać identyfikator formularza, raportu lub formantu, do którego odnosi się dana właściwość, następnie wpisać operator . (kropka) i nazwę właściwości. Na przykład do właściwości DefaultValue (WartośćDomyślna) formantu "OrderDate" formularza "Orders" odwołuje się następujący identyfikator:

Forms![Orders]![OrderDate].DefaultValue

Uwagi

•	Do tworzenia identyfikatorów dla formantów i właściwości można użyć Konstruktora wyrażeń.

•	Jeśli uruchamiane jest makro lub kod języka Visual Basic for Applications zawierający wyrażenie, które odwołuje się do formularza lub raportu, dany formularz lub raport musi być otwarty.

Aby uzyskać więcej informacji na temat tworzenia wyrażeń za pomocą Konstruktora wyrażeń, kliknij  [image].

Aby uzyskać więcej informacji na temat używania identyfikatorów w wyrażeniach, kliknij  [image].

Aby uzyskać więcej informacji na temat używania wartości w wyrażeniach, kliknij  [image].

Aby uzyskać więcej informacji na temat odwoływania się w wyrażeniach do formularzy, raportów, podformularzy i podraportów, kliknij  [image].


Odwoływanie się w wyrażeniu do sekcji formularza lub raportu bądź do poziomu grupowania raportu

•	Należy wpisać identyfikator formularza lub raportu, a następnie wpisać operator . (kropka) i nazwę sekcji lub poziomu grupowania. Na przykład do sekcji "Detail" formularza "Orders" odwołuje się następujący identyfikator:

[Forms]![Orders].Detail

Uwaga

•	Jeśli uruchamiane jest makro lub kod języka Visual Basic for Applications zawierający wyrażenie, które odwołuje się do formularza lub raportu, dany formularz lub raport musi być otwarty.

•	Do sekcji formularza lub raportu można się również odwołać za pomocą numerów indeksu korzystając z właściwości Section (Sekcja). Aby uzyskać więcej informacji na temat tej właściwości, kliknij  [image].

Aby uzyskać więcej informacji na temat używania identyfikatorów w wyrażeniach, kliknij  [image].


Odwoływanie się w wyrażeniu do kolumny listy

Do kolumny w wielokolumnowym polu listy lub polu kombi można się odwołać za pomocą właściwości Column (Kolumna) formantu typu pole listy lub pole kombi.

•	Należy wpisać identyfikator dla właściwości Column (Kolumna), a następnie wpisać w nawiasie numer indeksu wybranej kolumny. W odniesieniu do pierwszej kolumny należy użyć 0, do drugiej 1 itd. Na przykład, do drugiej kolumny listy "Country" formularza "Customers" odwołuje się następujący identyfikator:

[Forms]![Customers]![Country].[Column](1)

Uwaga   Jeśli uruchamiane jest makro lub kod języka Visual Basic for Applications zawierający wyrażenie, które odwołuje się do formularza lub raportu, dany formularz lub raport musi być otwarty.

Aby uzyskać więcej informacji na temat tworzenia wielokolumnowych pól listy i pól kombi, kliknij  [image].

Aby uzyskać więcej informacji na temat odwoływania się w wyrażeniu do wartości formantu lub właściwości, kliknij  [image].


Zasady nazewnictwa pól, formantów i obiektów

Nazwy pól, formantów i obiektów w programie Microsoft Access:

•	Mogą zawierać do 64 znaków.

•	Mogą zawierać dowolną kombinację liter, cyfr, spacji i znaków specjalnych z wyjątkiem kropki (.), wykrzyknika (!), znaku akcentu (`) i nawiasu kwadratowego ([ ]).

•	Nie mogą zaczynać się spacją.

•	Nie mogą zawierać znaków sterujących (wartości kodu ASCII 0 do 31).

Mimo iż jest możliwe używanie spacji w nazwach pól, formantów i obiektów, w większości przykładów w dokumentacji programu Microsoft Access zostały użyte nazwy pól i formantów nie zawierające spacji, ponieważ spacje użyte w nazwach mogą w niektórych przypadkach powodować konflikty nazewnictwa w języku Visual Basic for Applications.

Przy nazywaniu pola, formantu lub obiektu warto upewnić się, że dana nazwa nie jest identyczna z nazwą właściwości lub innego elementu używanego w programie Microsoft Access. W przeciwnym razie w niektórych warunkach baza danych może działać nieprawidłowo. Na przykład, jeśli przy odwoływaniu się do wartości pola o nazwie "Name" w tabeli "NameInfo" zostanie użyta składnia NameInfo.Name, to zamiast wartości pola Name program Microsoft Access wyświetli wartość właściwości Name (Nazwa) tabeli.

Innym sposobem uniknięcia niespodziewanych wyników jest używanie operatora ! zamiast operatora . (kropka) przy odwoływaniu się do wartości pola, formantu lub obiektu. Na przykład, poniższy identyfikator odwołuje się do pola "Name", nie zaś do właściwości Name (Nazwa):

[NameInfo]![Name]

Aby uzyskać więcej informacji na temat używania operatorów ! i . (kropka) w wyrażeniach, kliknij  [image].


Zasady nazewnictwa procedur, zmiennych i stałych języka Visual Basic

Nazwy procedur, zmiennych i stałych w kodzie języka Visual Basic for Applications:

•	Mogą zawierać do 255 znaków.

•	Muszą zaczynać się literą.

•	Mogą zawierać litery, cyfry i znak podkreślenia (_).

•	Nie mogą zawierać znaków przestankowych ani spacji.

•	Nie mogą być słowami kluczowymi języka Visual Basic.

Słowo kluczowe jest to słowo, które stanowi część języka Visual Basic. Słowa kluczowe obejmują predefiniowane instrukcje (takie jak If i Loop), funkcje (takie jak Len i Abs) i operatory (takie jak Or i Mod).


Konstruktor wyrażeń - informacje
Konstruktor wyrażeń – informacje

Konstruktor wyrażeń składa się z trzech sekcji:

•	W górnej sekcji konstruktora znajduje się pole wyrażenia, które służy do budowania wyrażenia. Dolna sekcja konstruktora jest używana do tworzenia elementów wyrażenia, które następnie wkleja się w polu wyrażenia. Można również bezpośrednio wpisywać poszczególne części wyrażenia w polu wyrażenia.

•	W środkowej sekcji konstruktora znajdują się przyciski odpowiadające często używanym operatorom. Po kliknięciu jednego z tych przycisków, Konstruktor wyrażeń wstawia odpowiedni operator w punkcie wstawiania w polu wyrażenia. Aby obejrzeć pełną listę operatorów używanych w wyrażeniach, należy kliknąć folder Operators w lewym dolnym polu i odpowiednią kategorię w polu środkowym. W prawym polu zostaną wyświetlone wszystkie operatory należące do wybranej kategorii.

•	W dolnej sekcji konstruktora znajdują się trzy pola:

•	Lewe pole zawiera foldery z listami obiektów bazy danych, takich jak tabele, kwerendy, formularze i raporty, funkcji wbudowanych i zdefiniowanych przez użytkownika, stałych, operatorów i typowych wyrażeń.

•	Środkowe pole zawiera listę określonych elementów lub kategorii elementów dla foldera zaznaczonego w lewym polu. Na przykład, jeśli użytkownik kliknie folder Funkcje wbudowane w lewym polu, w środkowym polu wyświetlana jest lista kategorii funkcji programu Microsoft Access.

•	W prawym polu wyświetlana jest lista wartości, jeśli jakieś istnieją, dla elementów zaznaczonych w polu lewym i środkowym. Na przykład, jeśli użytkownik kliknie folder Funkcje wbudowane w lewym polu i kategorię funkcji w środkowym polu, w prawym polu wyświetlana jest lista wbudowanych funkcji dla zaznaczonej kategorii.

Uwagi

•	Aby zobaczyć nowe nazwy pól w Konstruktorze wyrażeń, trzeba najpierw zapisać tabelę lub kwerendę, która zawiera nowe pola.

•	Jeśli jakiś obiekt lub funkcja nie są wyświetlane w dolnej sekcji Konstruktora wyrażeń, oznacza to, że nie są one prawidłowe w miejscu, gdzie został uruchomiony konstruktor. Na przykład, nie można odwoływać się do innych pól i formantów w regule poprawności dla pola w widoku "Projekt" tabeli, w związku z czym foldery Tables, Queries, Forms i Reports nie są dostępne, jeśli Konstruktor wyrażeń zostanie uruchomiony z właściwości ValidationRule (RegułaPoprawności) w widoku "Projekt" tabeli.

•	Gdy użytkownik wkleja do wyrażenia identyfikator, Konstruktor wyrażeń wkleja tylko te części identyfikatora, które są wymagane w bieżącym kontekście. Na przykład, jeśli użytkownik uruchomi Konstruktora wyrażeń w arkuszu właściwości formularza "Customers", a następnie wklei w wyrażeniu identyfikator dla właściwości Visible (Widoczny) tego formularza, Konstruktor wyrażeń wklei tylko nazwę właściwości: Visible. Jeśli wyrażenie to jest używane poza kontekstem formularza, trzeba podać pełny identyfikator: Forms![Customers].Visible.


Korzystanie z Konstruktora wyrażeń

Co chcesz zrobić?

Przeczytać na temat Konstruktora wyrażeń

Uruchomić Konstruktora wyrażeń

Utworzyć wyrażenie za pomocą Konstruktora wyrażeń

Zobaczyć przykłady wyrażeń

Dowiedzieć się więcej na temat wyrażeń


Rozwiązywanie problemów związanych z wyrażeniami

W czym chcesz uzyskać Pomoc?

Nie rozumiem, jak działają wyrażenia.

Użycie argumentu criteria w funkcji DLookup lub innej funkcji agregującej domen daje wynik inny niż spodziewany.

Przy próbie połączenia w wyrażeniu wartości formantów lub pól, zmiennych bądź tekstu wyniki są inne od spodziewanych.

Wykonywanie operacji na polach pustych daje wyniki inne od spodziewanych.

Przy wprowadzaniu w wyrażeniu wartości dat wyniki są inne od spodziewanych.

Przy odwoływaniu się do właściwości lub formantu podformularza lub podraportu wyniki są inne od spodziewanych.

Przy odwoływaniu się do kolumny w polu listy lub polu kombi wyniki są inne od spodziewanych.

Jak przekształcić tekst, tak aby pierwsza litera była wielka, a pozostałe małe?


Przy próbie połączenia w wyrażeniu wartości formantów lub pól, zmiennych bądź tekstu wyniki są inne od spodziewanych.

Nieoczekiwane wyniki otrzymywane przy łączeniu wartości formantów lub pól bądź tekstu w wyrażeniu mogą mieć następujące przyczyny:

•	W wyrażeniu występuje odwołanie do formantu lub pola, którego nazwa jest taka sama, jak nazwa bieżącego formantu, w wyniku czego tworzy się pętla odwołań. Należy zmienić nazwę pola lub formantu.

•	W wyrażeniu występuje odwołanie do formantu lub pola z użyciem nazwy, która jest wpisana niewłaściwie. Należy sprawdzić, czy nazwa została wpisana poprawnie.

•	W wyrażeniu występuje odwołanie do formantu lub pola, którego nazwa jest taka sama, jak nazwa właściwości. Należy użyć pełnego identyfikatora formantu lub pola. Aby uzyskać więcej informacji na temat użycia identyfikatorów w wyrażeniach, kliknij  [image].

•	Program Microsoft Access nie wylicza wyrażenia poprawnie, ponieważ część wyrażenia powinna znajdować się w nawiasach kwadratowych ( [ ), pojedynczym (') lub podwójnym (") cudzysłowie. Należy sprawdzić, czy w danym przypadku nie są wymagane któreś z tych znaków.

Aby uzyskać więcej informacji na temat łączenia wartości w wyrażeniach tekstowych, kliknij  [image].


Wykonywanie operacji na polach pustych daje wyniki inne od spodziewanych.

Wiele operacji może dawać niespodziewane wyniki, jeśli występują w nich wyrażenia odwołujące się do pól zawierających wartości puste (Null). Na przykład, niewłaściwe wyniki mogą pojawiać się w przypadku użycia funkcji DCount lub DSum wykorzystujących wyrażenia kryteriów odwołujące się do pól zawierających wartości Null.

Aby rozwiązać ten problem, można:

•	Przekazać wartości pól do funkcji Nz w wyrażeniu. Funkcja Nz, po wykonaniu operacji na wartości Null zwraca zero lub ciąg znaków zerowej długości. Aby uzyskać więcej informacji na temat funkcji Nz, kliknij  [image].

•	Użyć funkcji IIf i IsNull do sprawdzenia, czy wartością jest Null i zwrócenia odpowiedniej wartości. Aby uzyskać więcej informacji na temat funkcji Iif, kliknij  [image]. Aby uzyskać więcej informacji na temat funkcji IsNull, kliknij  [image].

Aby uzyskać więcej informacji na temat ustawiania właściwości pól, określających sposób obsługi pól pustych, kliknij


Przy wprowadzaniu w wyrażeniu wartości dat wyniki są inne od spodziewanych.

W programie Microsoft Access mogą w takiej sytuacji pojawiać się niespodziewane wyniki, jeśli wartość daty zostanie wprowadzona do wyrażenia bez otaczających ją znaków "#". Aby uzyskać więcej informacji na temat wprowadzania wyrażeń, kliknij  [image].


Przy odwoływaniu się do właściwości lub formantu podformularza lub podraportu wyniki są inne od spodziewanych.

W programie Microsoft Access mogą w takiej sytuacji pojawiać się niespodziewane wyniki, jeśli przy odwoływaniu się do właściwości lub formantu podformularza lub podraportu zostanie użyty niepoprawny identyfikator.

Aby odwołać się do właściwości podformularza lub podraportu, trzeba podać pełny identyfikator formularza lub raportu używając właściwości Form lub Report formantu podformularza lub podraportu. Na przykład, do właściwości Visible (Widoczny) podformularza "Orders Subform" odwołuje się następujący identyfikator:

Forms![Orders]![OrdersSubformControl].Form.Visible

W tym przykładzie:

•	Forms![Orders]![OrdersSubformControl] odwołuje się do formantu podformularza, który zawiera podformularz.

•	Forms![Orders]![OrdersSubformControl].Form odwołuje się do samego podformularza. Trzeba określić właściwość Form, aby odwołać się do samego podformularza lub jednej z jego właściwości.

Z drugiej strony, aby odwołać się do formantu podformularza lub podraportu albo jednej z jego właściwości, nie trzeba używać właściwości Form i Report. Na przykład, do właściwości Visible (Widoczny) formantu "Discount" podformularza "Orders Subform" odwołuje się następujący identyfikator:

Forms![Orders]![OrdersSubformControl]![Discount].Visible

Aby uzyskać więcej informacji na temat odwoływania się w wyrażeniach do formularzy, raportów, podformularzy i podraportów, kliknij  [image].

Aby uzyskać więcej informacji na temat odwoływania się w wyrażeniu do wartości formantu lub właściwości, kliknij  [image].

Aby uzyskać więcej informacji na temat użycia identyfikatorów w wyrażeniach, kliknij  [image].


Przy odwoływaniu się do kolumny w polu listy lub polu kombi wyniki są inne od spodziewanych.

Aby odwołać się do kolumny w polu listy lub polu kombi, należy użyć właściwości Column (Kolumna). Właściwość Column może dawać nieoczekiwane wyniki z następujących powodów:

•	We właściwości Column nie został podany numer indeksu. Numer indeksu określa kolumnę, do której następuje odwołanie. Na przykład, identyfikator Column(0) odwołuje się do pierwszej kolumny w polu listy lub polu kombi.

•	Został określony numer indeksu dla niewłaściwej kolumny. Należy pamiętać, że numery indeksu dla właściwości Column zaczynają się od zera. Identyfikator Column(0) odwołuje się do pierwszej kolumny, Column(1) do drugiej itd.

•	Obliczenia są przeprowadzane bezpośrednio na wartości zwróconej przez właściwość Column. Ponieważ właściwość Column zwraca wartość tekstową, przed wykonaniem obliczeń trzeba ja konwertować na wartość liczbową. Na przykład, w poniższym wyrażeniu używana jest funkcja CCur do konwersji wartości zwróconej przez właściwość Column na wartość typu Walutowy, przed przemnożeniem jej przez wartość w polu "Quantity":

[Quantity] * CCur([PriceListBox].Column(1))

Aby uzyskać więcej informacji na temat odwoływania się do kolumny listy, kliknij  [image].


Jak przekształcić tekst, tak aby pierwsza litera była wielka, a pozostałe małe?

Tekst można przekształcić, tak aby pierwsza litera była wielka, a pozostałe małe, używając funkcji StrConv.


Używanie klawiszy skrótów w programie Microsoft Access

Z klawiszy skrótów można korzystać chcąc uzyskać szybki dostęp do często używanych poleceń lub operacji. W poniższych tematach zostały opisane klawisze skrótów dostępne we wszystkich produktach pakietu Microsoft Office oraz używane tylko w programie Microsoft Access.

Co chcesz zrobić?

Użyć globalnych klawiszy skrótów w menu

Użyć globalnych klawiszy skrótów dla pasków narzędzi

Użyć globalnych klawiszy skrótów dla okien lub okien dialogowym

Użyć globalnych klawiszy skrótów  Asystenta pakietu Office

Użyć globalnych klawiszy skrótów programu Microsoft Access

Użyć klawiszy skrótów w oknie bazy danych

Użyć klawiszy skrótów do zaznaczenia tekstu lub danych

Użyć klawiszy skrótów do edycji tekstu lub danych

Użyć klawiszy skrótów do nawigacji w widoku "Arkusz danych"

Użyć klawiszy skrótów do nawigacji w widoku "Formularz"

Użyć klawiszy skrótów w widokach "Podgląd wydruku" i "Podgląd układu"

Użyć klawiszy skrótów w oknie modułu i w oknie analizy programu


Używanie globalnych klawiszy skrótów programu Microsoft Access

Wyświetlanie Pomocy	Naciśnij klawisze
Aby wyświetlić Asystenta pakietu Office, spis treści i indeks Pomocy programu Microsoft Access; pomoc kontekstową dotyczącą zaznaczonej właściwości, formantu, akcji makra lub słowa kluczowego języka Visual Basic; ostrzeżenia przycisku Pomocy.	F1
Aby wyświetlić Pomoc Co to jest; po naciśnięciu klawiszy SHIFT+F1 umieść wskaźnik myszy na poleceniu menu, przycisku paska narzędzi, opcji okna dialogowego lub obszarze ekranu, a następnie	SHIFT+F1
Otwieranie baz danych	Naciśnij klawisze
Otworzyć nową bazę danych	CTRL+N
Otworzyć istniejącą bazę danych	CTRL+O
Drukowanie i zapisywanie	Naciśnij klawisze
Aby wydrukować zaznaczony lub bieżący obiekt	CTRL+P
Aby zapisać obiekt bazy danych	CTRL+S lub SHIFT+F12 lub ALT+SHIFT+F2
Aby otworzyć okno dialogowe Zapisz jako	F12 lub ALT+F2
Używanie pola kombi i pola listy	Naciśnij klawisze
Aby otworzyć pole kombi	F4 lub  ALT+STRZAŁKA W DÓŁ
Aby odświeżyć zawartość pola odnośnika dla pola listy lub pola kombi	F9
Aby przesunąć się o jeden wiersz w dół	STRZAŁKA W DÓŁ
Aby przesunąć się o jedną stronę w dół	PAGE DOWN
Aby przesunąć się o jeden wiersz w górę	STRZAŁKA W GÓRĘ
Aby przesunąć się o jedną stronę w górę	PAGE UP
Wyjść z pola kombi lub pola listy	TAB
Znajdowanie i zamienianie tekstu lub danych	Naciśnij klawisze
Aby otworzyć okno dialogowe Znajdź (tylko w widoku "Arkusz danych", w widoku "Formularz" i w oknie modułu)	CTRL+F
Aby otworzyć okno dialogowe Zamień (tylko w widoku "Arkusz danych", w widoku "Formularz" i w oknie modułu)	CTRL+H
Aby znaleźć następne wystąpienie tekstu określonego w oknie dialogowym Znajdź lub Zamień, gdy to okno dialogowe jest zamknięte (tylko w widoku "Arkusz danych" i w widoku "Formularz")	SHIFT+F4
Praca w widoku "Projekt"	Naciśnij klawisze
Aby przełączyć się między trybem edycji (z wyświetlonym punktem wstawiania) a trybem nawigacji	F2
Zaznaczyć formularz lub raport	CTRL+R
Aby przełączyć się do widoku "Formularz" z projektu formularza lub modułu formularza	F5
Aby przełączyć się między dolną i górną częścią okna (tylko w widoku "Projekt" tabeli, makra i kwerendy oraz w oknie "Zaawansowany filtr/sortowanie")	F6
Aby dodać formant do sekcji (tylko w widoku "Projekt" formularza lub raportu) Aby uzyskać więcej informacji, kliknij	SHIFT+ENTER
Operacje na oknach	Naciśnij klawisze
Aby przenieść okno bazy danych  na pierwszy plan	F11 lub ALT+F1
Aby poruszać się między otwartymi oknami	CTRL+F6
Aby przywrócić rozmiar zminimalizowanego okna, gdy wszystkie okna są zminimalizowane	ENTER
Aby wyświetlić menu sterowania	ALT+SPACJA
Aby zamknąć aktywne okno	CTRL+W lub CTRL+F4
Różne	Naciśnij klawisze
Aby wyświetlić pełny adres hiperłącza dla zaznaczonego hiperłącza	F2
Aby sprawdzić pisownię	F7
Aby otworzyć okno Powiększ służące do wygodnego wprowadzania wyrażeń  i innego tekstu w miejscach o niedużej powierzchni	SHIFT+F2
Aby wyświetlić arkusz właściwości	ALT+ENTER
Aby zakończyć pracę programu Microsoft Access, zamknąć okno dialogowe lub arkusz właściwości	ALT+F4
Aby wywołać konstruktora	CTRL+F2
Aby przełączyć się między niestandardowym paskiem menu a wbudowanym paskiem menu	CTRL+F11


Używanie klawiszy skrótów w oknie bazy danych

Edycja listy obiektów i poruszanie się po niej	Naciśnij klawisze
Aby zmienić nazwę zaznaczonego obiektu	F2
Aby przesunąć się o jeden wiersz w dół	STRZAŁKA W DÓŁ
Aby przesunąć się o jedno okno w dół	PAGE DOWN
Aby przejść do ostatniego obiektu	END
Aby przesunąć się o jeden wiersz w górę	STRZAŁKA W GÓRĘ
Aby przesunąć się o jedno okno w górę	PAGE UP
Aby przejść do pierwszego obiektu	HOME
Otwieranie obiektów i poruszanie się miedzy nimi	Naciśnij klawisze
Aby poruszać się między typami obiektów	CTRL+TAB
Aby poruszać się między typami obiektów od strony prawej do lewej	SHIFT+CTRL+TAB
Aby otworzyć zaznaczoną tabelę lub kwerendę w widoku "Arkusz danych" lub formularz w widoku "Formularz"	ENTER
Aby otworzyć zaznaczony raport w widoku "Podgląd wydruku"	ENTER
Aby wykonać zaznaczone makro	ENTER
Aby otworzyć zaznaczoną tabelę, kwerendę, raport, makro lub moduł w widoku "Projekt"	CTRL+ENTER lub ALT+D


Używanie klawiszy skrótów do zaznaczania tekstu lub danych

Zaznaczanie tekstu w polu	Naciśnij klawisze
Aby rozszerzyć zaznaczenie na jeden znak z prawej strony	SHIFT+STRZAŁKA W PRAWO
Aby rozszerzyć zaznaczenie na jedno słowo z prawej strony	CTRL+SHIFT+STRZAŁKA W PRAWO
Aby rozszerzyć zaznaczenie na jeden znak z lewej strony	SHIFT+STRZAŁKA W LEWO
Aby rozszerzyć zaznaczenie na jedno słowo z lewej strony	CTRL+SHIFT+STRZAŁKA W LEWO
Uwaga   Aby anulować zaznaczenie, należy użyć odwrotnych klawiszy strzałek.

Zaznaczanie pola lub rekordu	Naciśnij klawisze
Aby zaznaczyć następne pole	TAB
Aby przełączyć się między trybem edycji (z wyświetlonym punktem wstawiania) a trybem nawigacji	F2
Aby przełączyć się między zaznaczaniem bieżącego rekordu a pierwszego pola bieżącego rekordu w trybie nawigacji	SHIFT+SPACJA
Aby rozszerzyć zaznaczenie na poprzedni rekord, jeśli rekord bieżący jest zaznaczony	SHIFT+STRZAŁKA W GÓRĘ
Aby rozszerzyć zaznaczenie na następny rekord, jeśli rekord bieżący jest zaznaczony	SHIFT+STRZAŁKA W DÓŁ
Aby zaznaczyć wszystkie rekordy	CTRL+A lub CTRL+SHIFT+SPACJA
Aby uzyskać więcej informacji na temat zaznaczania pól i rekordów, kliknij

Rozszerzanie zaznaczenia	Naciśnij klawisze
Aby włączyć tryb rozszerzania (w prawym dolnym rogu okna pojawia się napis WYB); kolejne naciśnięcia klawisza F8 rozszerzają zaznaczenie na całe słowo, pole, rekord (tylko w widoku "Arkusz danych") i wszystkie rekordy	F8
Rozszerzyć zaznaczenie na przyległe pola w tym samym wierszu w widoku "Arkusz danych"	STRZAŁKA W LEWO lub STRZAŁKA W PRAWO
Rozszerzyć zaznaczenie na przyległe wiersze w widoku "Arkusz danych"	STRZAŁKA W GÓRĘ lub STRZAŁKA W DÓŁ
Aby cofnąć poprzednie rozszerzenie	SHIFT+F8
Aby wyłączyć tryb rozszerzania	ESC
Zaznaczanie kolumny w widoku "Arkusz danych"	Naciśnij klawisze
Aby zaznaczyć bieżącą kolumnę lub usunąć zaznaczenie kolumny (tylko w trybie nawigacji)	CTRL+SPACJA
Aby zaznaczyć kolumnę z prawej strony, jeśli bieżąca kolumna jest zaznaczona	STRZAŁKA W PRAWO
Aby zaznaczyć kolumnę z lewej strony, jeśli bieżąca kolumna jest zaznaczona	STRZAŁKA W LEWO


Używanie klawiszy skrótów do edycji tekstu lub danych

Uwaga:   Jeśli punkt wstawiania nie jest widoczny, należy nacisnąć klawisz F2, aby go wyświetlić.

Przesuwanie punktu wstawiania w polu	Naciśnij klawisze
Aby przesunąć punkt wstawiania o jeden znak w prawo	STRZAŁKA W PRAWO
Aby przesunąć punkt wstawiania o jedno słowo w prawo	CTRL+STRZAŁKA W PRAWO
Aby przesunąć punkt wstawiania o jeden znak w lewo	STRZAŁKA W LEWO
Aby przesunąć punkt wstawiania o jedno słowo w lewo	CTRL+STRZAŁKA W LEWO
Aby przesunąć punkt wstawiania do końca pola, w polach o jednym wierszu	END
Aby przesunąć punkt wstawiania do końca pola, w polach o wielu wierszach	CTRL+END
Aby przesunąć punkt wstawiania do początku pola, w polach o jednym wierszu	HOME
Aby przesunąć punkt wstawiania do początku pola, w polach o wielu wierszach	CTRL+HOME
Kopiowanie, przenoszenie i usuwanie tekstu	Naciśnij klawisze
Aby skopiować zaznaczony fragment tekstu do Schowka	CTRL+C
Aby wyciąć zaznaczony fragment tekstu i skopiować go do Schowka	CTRL+X
Aby wkleić zawartość Schowka w punkcie wstawiania	CTRL+V
Aby usunąć zaznaczony fragment tekstu lub znak z lewej strony punktu wstawiania	BACKSPACE
Aby usunąć zaznaczony fragment tekstu lub znak z prawej strony punktu wstawiania	DEL
Cofanie zmian	Naciśnij klawisze
Aby cofnąć wpisanie tekstu	CTRL+Z lub ALT+BACKSPACE
Aby cofnąć zmiany w bieżącym polu lub rekordzie. Jeśli zarówno pole, jak i rekord zostały zmienione, naciśnij klawisz ESC dwukrotnie. Zmiany zostaną cofnięte najpierw w bieżącym polu, a następnie w bieżącym rekordzie	ESC
Wprowadzanie danych w widoku "Arkusz danych" lub "Formularz"	Naciśnij klawisze
Aby wstawić bieżącą datę	CTRL+ ŚREDNIK (;)
Aby wstawić bieżącą godzinę	CTRL+ DWUKROPEK (:)
Aby wstawić wartość domyślną dla pola	CTRL+ALT+SPACJA
Aby wstawić wartość z tego samego pola poprzedniego rekordu	CTRL+APOSTROF (')
Aby dodać nowy rekord	CTRL+ ZNAK PLUS (+)
Aby usunąć bieżący rekord	CTRL+ ZNAK MINUS (-)
Aby zapisać zmiany w bieżącym rekordzie	SHIFT+ENTER
Aby przełączyć się między wartościami w polu wyboru lub przycisku opcji	SPACJA
Aby wstawić nowy wiersz	CTRL+ENTER
Odświeżanie pól przez wprowadzenie bieżących danych	Naciśnij klawisze
Aby ponownie wyliczyć pola w oknie	F9
Aby ponownie zastosować kwerendę do tabel podstawowych. W przypadku  kwerendy podformularza, kwerenda dotyczy tylko tabeli podstawowej podformularza	SHIFT+F9
Aby odświeżyć zawartość pola odnośnika dla pola listy lub pola kombi	F9


Używanie klawiszy skrótów do nawigacji w widoku "Arkusz danych"

Przechodzenie do określonego rekordu	Naciśnij klawisze
Aby przejść do pola numeru rekordu; następnie wpisz numer rekordu i naciśnij klawisz ENTER	F5
Poruszanie się między polami i rekordami	Naciśnij klawisze
Aby przejść do następnego pola	TAB, ENTER, lub  STRZAŁKA W PRAWO
Aby przejść do ostatniego pola bieżącego rekordu w trybie nawigacji	END
Aby przejść do poprzedniego pola	SHIFT+TAB, lub  STRZAŁKA W LEWO
Aby przejść do pierwszego pola bieżącego rekordu w trybie nawigacji	HOME
Aby przejść do bieżącego pola następnego rekordu	STRZAŁKA W DÓŁ
Aby przejść do bieżącego pola ostatniego rekordu rekordzie w trybie nawigacji	CTRL+STRZAŁKA W DÓŁ
Aby przejść do ostatniego pola ostatniego rekordu w trybie nawigacji	CTRL+END
Aby przejść do bieżącego pola poprzedniego rekordu	STRZAŁKA W GÓRĘ
Aby przejść do bieżącego pola pierwszego rekordu w trybie nawigacji	CTRL+STRZAŁKA W GÓRĘ
Aby przejść do pierwszego pola pierwszego rekordu w trybie nawigacji	CTRL+HOME
Przesuwanie się do innego ekranu danych	Naciśnij klawisze
Aby przesunąć się o jeden ekran w dół	PAGE DOWN
Aby przesunąć się o jeden ekran w górę	PAGE UP
Aby przesunąć się o jeden ekran w prawo	CTRL+PAGE DOWN
Aby przesunąć się o jeden ekran w lewo	CTRL+PAGE UP
Przesuwanie kolumn	Naciśnij klawisze
Aby włączyć tryb przenoszenia (napis MOV pojawia się w prawym dolnym rogu okna)	CTRL+F8
Aby przesunąć zaznaczoną kolumnę o jedną kolumnę w prawo w trybie przenoszenia	STRZAŁKA W PRAWO
Aby przesunąć zaznaczoną kolumnę o jedną kolumnę w lewo w trybie przenoszenia	STRZAŁKA W LEWO
Aby wyłączyć tryb przenoszenia	ESC
Aby uzyskać więcej informacji na temat zmieniania porządku kolumn, kliknij


Używanie klawiszy skrótów do nawigacji w widoku "Formularz"

Przechodzenie do określonego rekordu	Naciśnij klawisze
Aby przejść do pola numeru rekordu; następnie wpisz numer rekordu i naciśnij klawisz ENTER	F5
Poruszanie się między polami i rekordami	Naciśnij klawisze
Aby przejść do następnego pola	TAB
Aby przejść do poprzedniego pola	SHIFT+TAB
Aby przejść do ostatniego pola bieżącego rekordu w trybie nawigacji	END
Aby przejść do ostatniego pola ostatniego rekordu w trybie nawigacji	CTRL+END
Aby przejść do pierwszego pola bieżącego rekordu w trybie nawigacji	HOME
Aby przejść do pierwszego pola pierwszego rekordu w trybie nawigacji	CTRL+HOME
Aby przejść do bieżącego pola następnego rekordu	CTRL+PAGE DOWN
Aby przejść do bieżącego pola poprzedniego rekordu	CTRL+PAGE UP
Poruszanie się między sekcjami rekordu	Naciśnij klawisze
Aby poruszać się do przodu przez kolejne sekcje	F6
Aby poruszać się do tyłu przez kolejne sekcje	SHIFT+F6
Poruszanie się po formularzach składających się z kilku stron	Naciśnij klawisze
Aby przesunąć się o jedną stronę w dół; na końcu rekordu następuje przesunięcie do równoważnej strony następnego rekordu	PAGE DOWN
Aby przesunąć się o jedną stronę w górę; na końcu rekordu następuje przesunięcie do równoważnej strony poprzedniego rekordu	PAGE UP
Przechodzenie między formularzem głównym a podformularzem	Naciśnij klawisze
Aby wprowadzić podformularz z poprzedniego pola do formularza głównego	TAB
Aby wprowadzić podformularz z następnego pola do formularza głównego	SHIFT+TAB
Aby wyjść z podformularza i przejść do następnego pola w formularzu głównym lub w następnym rekordzie	CTRL+TAB
Aby wyjść z podformularza i przejść do następnego pola w formularzu głównym lub w poprzednim rekordzie	CTRL+SHIFT+TAB


Używanie klawiszy skrótów w widokach "Podgląd wydruku" i "Podgląd układu"

Operacje na oknach i oknach dialogowych	Naciśnij klawisze
Aby otworzyć okno dialogowe Drukuj	P lub CTRL+P
Aby otworzyć okno dialogowe Ustawienia strony	S
Aby powiększyć lub pomniejszyć część strony	Z
Aby anulować widok "Podgląd wydruku" lub "Podgląd układu"	C lub ESC
Oglądanie różnych stron	Naciśnij klawisze
Aby przejść do pola numeru strony; następnie należy wpisać numer strony i nacisnąć klawisz ENTER	F5
Aby zobaczyć następną stronę (gdy opcja Dopasuj do okna jest zaznaczona)	PAGE DOWN lub  STRZAŁKA W DÓŁ
Aby zobaczyć poprzednią stronę (gdy opcja Dopasuj do okna jest zaznaczona)	PAGE UP lub STRZAŁKA W GÓRĘ
Nawigacja w widoku "Podgląd wydruku" i "Podgląd układu"	Naciśnij klawisze
Aby przewijać w dół powoli	STRZAŁKA W DÓŁ
Aby przewinąć w dół o cały ekran	PAGE DOWN
Aby przenieść się na dół strony	CTRL+STRZAŁKA W DÓŁ
Aby przewijać w górę powoli	STRZAŁKA W GÓRĘ
Aby przewinąć w górę o cały ekran	PAGE UP
Aby przenieść się na górę strony	CTRL+STRZAŁKA W GÓRĘ
Aby przewijać w prawo powoli	STRZAŁKA W PRAWO
Aby przesunąć się do prawej krawędzi strony	END lub CTRL+STRZAŁKA W PRAWO
Aby przesunąć się do prawego dolnego rogu strony	CTRL+END
Aby przewijać w lewo powoli	STRZAŁKA W LEWO
Aby przesunąć się do lewej krawędzi strony	HOME lub CTRL+STRZAŁKA W LEWO
Aby przesunąć się do lewego górnego rogu strony	CTRL+HOME


Używanie klawiszy skrótów w oknie modułu i w oknie analizy programu

Oglądanie kodu języka Visual Basic	Naciśnij klawisze
Aby wyświetlić Przeglądarkę obiektów	F2
Aby wyświetlić okno dialogowe "Wywołania"	CTRL+L
Aby zobaczyć definicję procedury, zmienną lub słowo kluczowe	SHIFT+F2
Aby wrócić do ostatniego wiersza poprzednio oglądanej procedury	CTRL+SHIFT+F2
Aby wyświetlić poprzednią procedurę	CTRL+STRZAŁKA W GÓRĘ
Aby wyświetlić następną procedurę	CTRL+STRZAŁKA W DÓŁ
Wyświetlić pomoc kontekstową na temat  słowa kluczowego, na którym znajduje się punkt wstawiania	F1
Aby umieścić fokus w Przeglądarce obiektów	CTRL+F2
Aby umieścić fokus w polu procedury	CTRL+F2 (następnie naciśnij klawisz TAB)
Aby wyświetlić właściwości i metody	CTRL+J
Aby wyświetlić stałe	CTRL+SHIFT+J
Aby wprowadzić element wybrany z listy	CTRL-ENTER lub TAB
Aby wprowadzić zaznaczony element i przenieść kursor do następnego wiersza	ENTER
Aby ukryć listę	ESC
Aby wyświetlić szybkie informacje	CTRL+I
Aby wyświetlić informacje o parametrach	CTRL+SHIFT+I
Aby dokończyć wpisywanie słowa kluczowego języka Visual Basic	CTRL+SPACJA
Edycja kodu języka Visual Basic	Naciśnij klawisze
Aby zaznaczyć cały kod widoczny w oknie modułu	CTRL+A
Aby znaleźć następne wystąpienie tekstu określonego w oknie dialogowym Znajdź lub Zamień, gdy to okno dialogowe jest zamknięte	F3
Aby znaleźć poprzednie wystąpienie tekstu określonego w oknie dialogowym Znajdź lub Zamień, gdy to okno dialogowe jest zamknięte	SHIFT+F3
Aby znaleźć następne wystąpienie zaznaczonego tekstu	CTRL+F3
Aby zastosować wcięcie w zaznaczonych wierszach	TAB lub CTRL+M
Aby usunąć wcięcie zaznaczonych wierszy	SHIFT+TAB lub CTRL+SHIFT+M
Aby wyciąć bieżący wiersz i skopiować go do Schowka	CTRL+Y
Uruchamianie i analiza kodu języka Visual Basic	Naciśnij klawisze
Aby wyświetlić okno analizy programu	CTRL+G
Aby uruchomić z okna modułu bezparametryczną procedurę zawierającą punkt wstawiania	F5
Aby przełączyć się między górnym a dolnym panelem	F6
Aby wykonywać procedurę krokowo	F8
Aby wykonywać procedurę krokowo z pomijaniem	SHIFT+F8
Aby wyjść poza procedurę	CTRL+SHIFT+F8
Aby wykonać kod do bieżącej pozycji punktu wstawiania i wstrzymać wykonywanie	CTRL+F8
Aby utworzyć szybką czujkę dla podanego wyrażenia	SHIFT+F9
Aby ustawić punkt przerwania w zaznaczonym wierszu	F9
Aby usunąć wszystkie punkty przerwania	CTRL+SHIFT+F9
Aby ustawić następną instrukcję	CTRL+F9
Aby wstrzymać wykonanie kodu lub makra	CTRL+BREAK
Aby wznowić wykonanie kodu lub makra	F5
Aby ponownie rozpocząć wykonanie kodu lub makra	SHIFT+F5
Aby przełączyć się między przerywaniem a nie przerywaniem wykonywania kodu w przypadku wystąpienia nieobsługiwanego błędu, a następnie przejść do następnej instrukcji	ALT+F5
Aby przełączyć się między przerywaniem a nie przerywaniem wykonywania kodu w modułach klas, a następnie kontynuować wykonywanie	ALT+F8


Office 97 ValuPack - informacje
Office 97 ValuPack – informacje

Jeśli program Microsoft Access jest instalowany z dysku CD-ROM Microsoft Office Professional Edition 97, poza Instalatorem zawiera on pakiet Office 97 ValuPack. Pakiet ValuPack zawiera dodatkowe oprogramowanie, takie jak sterowniki, pliki Pomocy, książki online oraz inne programy i pliki, które mogą być użyteczne.

Więcej informacji na temat pakietu ValuPack można znaleźć w pliku Pomocy Office 97 ValuPack (Valupk8.hlp) znajdującym się w folderze ValuPack na dyskach CD pakietu Office 97 lub Microsoft Access 97 albo w sieci, w której odbywa się instalacja. Ten plik Pomocy zawiera informacje przeglądowe i określone instrukcje dotyczące instalacji każdego składnika.

Uwaga    Jeśli program Microsoft Access nie jest instalowany z dysku CD-ROM, pakiet ValuPack można otrzymać poprzez sieć World Wide Web przez wskazanie polecenia Microsoft w sieci WWW w menu Pomoc i kliknięcie polecenia Bezpłatne produkty.

W poniższej tabeli zostały opisane niektóre składniki pakietu ValuPack, które są szczególnie użyteczne w programie Microsoft Access 97.

Składnik	Lokalizacja
Data Access Pak Uwaga   Zawiera trzy sterowniki niedostępne poprzez Instalatora: Lotus 1-2-3, Paradox i Microsoft Exchange/OutLook	\ValuPack\DataAcc
Wersja online dokumentu Tworzenie aplikacji Microsoft Access 97	http://www.microsoft.com/accessdev/buildapp/bapp.htm
Pliki Pomocy dla formantu WebBrowser ActiveX (dostarczanego z programem Microsoft Internet Explorer w wersji 3.0)	\ValuPack\Access\WebHelp
Microsoft Internet Explorer w wersji 3.0	\ValuPack\Iexplore
Personal Web Server	\ValuPack\PWebSrv
Web Publishing Wizard	\ValuPack\WebPost


Zdarzenia: Współdziałanie obiektów bazy danych

Co to jest zdarzenie?

Zdarzenie jest określoną akcją, która występuje dla pewnego obiektu lub w związku z nim. Program Microsoft Access może odpowiedzieć na wiele różnych zdarzeń: kliknięcie przyciskiem myszy, zmianę danych, otwarcie lub zamknięcie formularza i inne. Zdarzenia są zazwyczaj wynikiem akcji użytkownika.

Używając procedury zdarzenia lub makra można dodać własną, niestandardową odpowiedź na zdarzenie zachodzące dla formularza, raportu lub formantu.

Przypuśćmy, że użytkownik chce, aby formularz "Product Details" (OpisyProduktów) otwierał się po kliknięciu przycisku polecenia "Product Details" na formularzu "Orders" (Zamówienia). W poniższych przykładach zostało pokazane, jak to zrobić za pomocą procedury zdarzenia lub makra.

Odpowiadanie na zdarzenie Click za pomocą procedury zdarzenia

Gdy użytkownik tworzy procedurę zdarzenia dla obiektu, program Microsoft Access dodaje szablon procedury zdarzenia określony dla danego zdarzenia i obiektu do modułu formularza lub modułu raportu. Wszystko, co musi zrobić użytkownik, to dodać kod odpowiadający w określony sposób, gdy dane zdarzenie występuje dla formularza lub raportu.

Odpowiadanie na zdarzenie Click za pomocą makra

Aby w odpowiedzi na zdarzenie uruchamiane było makro, należy otworzyć arkusz właściwości dla formularza, raportu lub formantu, znaleźć właściwość odpowiadającą zdarzeniu i ustawić ją na makro, które ma być uruchamiane.

Aby zobaczyć pełną listę zdarzeń, należy kliknąć  [image].

Aby uzyskać informacje na temat uruchamiania makra lub procedury zdarzenia w odpowiedzi na zdarzenie formularza, raportu lub formantu, należy kliknąć  [image].


Makra: Czym są i jak działają

Co to jest makro?

Makro jest akcją lub zestawem akcji, z których każda wykonuje określoną operację, taką jak otwarcie formularza lub wydrukowanie raportu. Makra pomagają zautomatyzować często wykonywane zadania. Można na przykład uruchamiać makro drukujące raport, gdy użytkownik klika przycisk polecenia.

Makro może być jednym makrem złożonym z sekwencji akcji lub może być grupą makr. Można również użyć wyrażenia warunkowego, aby określić, czy w pewnych sytuacjach akcja będzie wykonywana podczas wykonywania makra.

Sekwencja makr

Poniższe makro składa się z serii akcji. Program Microsoft Access wykonuje te akcje za każdym razem, gdy wykonywane jest makro. Aby uruchomić to makro należy się odwołać do nazwy makra "Review Products" (PrzeglądProduktów).

Grupa makr

Mając wiele makr, pogrupowanie powiązanych ze sobą makr w grupy makr może pomóc w zarządzaniu bazą danych. Aby wyświetlić nazwy makr dla grupy makr, należy kliknąć polecenie Nazwy makr w menu Widok okna "Makro".

Na przykład, poniższa grupa makr o nazwie "Buttons" (Przyciski) składa się z trzech powiązanych ze sobą makr: "Employees" (Pracownicy), "Products" (Produkty) i "Reps". Każde z makr wykonuje akcję OtwórzFormularz (OpenForm), a makro "Products" (Produkty) wykonuje dodatkowo akcję RuchRozmiar (MoveSize).

Nazwa w kolumnie Nazwa makra identyfikuje każde makro. Gdy makro jest wykonywane w grupie makr, program Microsoft Access wykonuje odpowiadającą temu makru akcję z kolumny akcji, a następnie kolejne akcje, dla których kolumna Nazwa makra jest pusta.

Aby uruchomić makro z grupy makr, należy podać nazwę grupy i po kropce nazwę makra. Aby odwołać się do makra "Employees" z grupy makr "Buttons" z poprzedniego przykładu, należy wpisać Buttons.Employees (Przyciski.Pracownicy)

Akcje warunkowe

Aby wyświetlić kolumnę Warunek, należy kliknąć polecenie Warunki z menu Widok w oknie "Makro". Poniższe makro uruchamia akcje OknoKomunikatu (MsgBox) i ZatrzymajMakro (StopMacro) tylko wtedy, gdy warunek z kolumny Warunek jest prawdziwy (gdy wartością w polu "SupplierID" (Iddostawcy) jest Null).

Aby uzyskać informacje dotyczące tworzenia makr, należy kliknąć  [image]. Aby uzyskać informacje dotyczące uruchamiania makr, należy kliknąć  [image].


Moduły: Czym są i jak działają

Co to jest moduł?

Moduł jest zbiorem deklaracji i procedur języka Visual Basic for Applications przechowywanych razem jako jedna całość.

Istnieją dwa podstawowe typy modułów: moduły klasy i moduły standardowe. Każda procedura w module może być procedurą typu Function lub procedurą typu Sub.

Moduły klasy

Moduły formularza i moduły raportu są modułami klasy związanymi z określonym formularzem lub raportem. Moduły formularza i raportu często zawierają procedury zdarzeń, które są uruchamiane w odpowiedzi na zdarzenie formularza lub raportu. Procedur zdarzeń można używać do sterowania działaniem formularzy i raportów oraz ich odpowiedziami na akcje użytkownika, takie jak np. kliknięcie przyciskiem myszy przycisku polecenia.

Gdy użytkownik po raz pierwszy tworzy procedurę zdarzenia dla formularza lub raportu, program Microsoft Access automatycznie tworzy związany z nią moduł formularza lub raportu. Aby zobaczyć kod modułu dla formularza lub raportu, należy kliknąć przycisk Kod  [image]  na pasku narzędzi w widoku "Projekt" formularza lub raportu.

Procedury w modułach formularza i raportu mogą wywoływać procedury dodane do modułów standardowych.

W programie Microsoft Access 95 moduły klasy istnieją tylko w powiązaniu z formularzem lub raportem. W programie Microsoft Access 97 moduły klasy mogą również istnieć niezależnie od formularza lub raportu. Ten rodzaj modułu klasy jest wyświetlony na karcie Moduły w oknie bazy danych. Modułu klasy z karty Moduły można użyć do utworzenia definicji obiektu niestandardowego. Aby dowiedzieć się więcej na temat programowania przy użyciu tych modułów klasy, należy kliknąć  [image].

Moduły standardowe

Moduły standardowe zawierają ogólne procedury, które nie są związane z żadnym innym obiektem, oraz często używane procedury, które można uruchamiać z dowolnego miejsca w bazie danych

Listę modułów standardowych w bazie danych można obejrzeć klikając kartę Moduły w oknie bazy danych. Lista modułów formularzy, raportów oraz modułów standardowych jest również wyświetlana w Przeglądarce obiektów.

Aby uzyskać więcej informacji na temat procedur, należy kliknąć  [image].


Wykonywanie makra lub procedury zdarzenia w reakcji na zdarzenie formularza, raportu lub formantu

Program Microsoft Access reaguje na wiele typów zdarzeń zachodzących w formularzach, raportach i formantach, takich jak kliknięcie myszą, zmiana danych czy otwarcie lub zamknięcie formularza lub raportu.

1	Otwórz formularz lub raport w widoku "Projekt".

2	Utwórz makro lub procedurę zdarzenia. Można na przykład utworzyć makro lub procedurę zdarzenia, która wyświetla komunikat po kliknięciu przycisku polecenia.

3	Ustaw odpowiednią właściwość zdarzenia formularza, raportu lub formantu na nazwę makra lub na wartość [Procedura zdarzenia], jeśli używasz procedury zdarzenia.

Na przykład, aby użyć makra do wyświetlenia komunikatu po kliknięciu przycisku polecenia, należy ustawić właściwość OnClick (PrzyKliknięciu) przycisku polecenia na nazwę makra wyświetlającego komunikat. Aby użyć procedury zdarzenia, należy utworzyć procedurę zdarzenia Click dla przycisku polecenia, a następnie ustawić jego właściwość OnClick  (PrzyKliknięciu) na wartość [Procedura zdarzenia].

Uwagi

•	Aby uzyskać informacje na temat tworzenia makra, kliknij

•	Aby uzyskać informacje na temat tworzenia procedury zdarzenia, kliknij  [image].

•	Aby uzyskać informacje dotyczące momentów i kolejności występowania zdarzeń, kliknij  [image].


Kiedy występują określone zdarzenia

Pojedyncza akcja, na przykład przejście z jednego formantu do drugiego, może wyzwolić szereg różnych zdarzeń zachodzących w określonej kolejności. Znajomość momentów występowania zdarzeń oraz ich kolejności jest istotna, ponieważ ma wpływ na wykonywanie makr i procedur zdarzeń. Jeśli na przykład istnieją dwie procedury zdarzeń, które powinny zostać wykonane w określonej kolejności, trzeba mieć pewność, że zdarzenia, z którymi są one związane, wystąpią w tej właśnie kolejności.

Co chcesz zrobić?

Dowiedzieć się, jaka jest kolejność zdarzeń dla formantów  formularzy

Dowiedzieć się, jaka jest kolejność zdarzeń dla rekordów formularzy

Dowiedzieć się, jaka jest kolejność zdarzeń dla formularzy i podformularzy

Dowiedzieć się, jaka jest kolejność zdarzeń dla naciśnięć klawiszy i kliknięć myszą

Dowiedzieć się, jaka jest kolejność zdarzeń dla raportów i ich sekcji

Uwaga   Aby zobaczyć, jaka jest kolejność występowania zdarzeń w formularzu, należy otworzyć formularz "PokażZdarzenia" w przykładowej aplikacji "Zamówienia". Gdy w formularzu "PokażZdarzenia" występuje zdarzenie – na przykład podczas otwierania formularza lub przechodzenia do nowego rekordu – w formularzu "HistoriaZdarzeń" wyświetlana jest lista zdarzeń w takim porządku, w jakim one występują. Aby uzyskać informacje dotyczące otwierania aplikacji "Zamówienia", kliknij  [image].


Kolejność zdarzeń dla formantów formularzy

Zdarzenia występują dla formantu formularza podczas przenoszenia fokusu do i z formantu oraz modyfikacji i aktualizacji danych w formancie.

Przeniesienie fokusu do formantu

Przy przeniesieniu fokusu do formantu formularza – na przykład podczas otwierania formularza zawierającego co najmniej jeden aktywny formant lub przechodzenia z innego formantu tego samego formularza – zdarzenia Enter i GotFocus zachodzą w następującej kolejności:

Enter ⇒ GotFocus

Podczas otwierania formularza zdarzenia te występują po zdarzeniach związanych z samym otwarciem formularza (takich jak Open, Activate i Current), w następującej kolejności:

Open (formularz) ⇒ Activate (formularz) ⇒ Current (formularz) ⇒ Enter (formant) ⇒ GotFocus (formant)

Przy przeniesieniu fokusu z formantu formularza – na przykład podczas zamykania formularza z co najmniej jednym aktywnym formantem lub przechodzenia do innego formantu tego samego formularza – zdarzenia Exit i LostFocus zachodzą w następującej kolejności:

Exit ⇒ LostFocus

Podczas zamykania formularza zdarzenia te występują przed zdarzeniami związanymi z samym zamknięciem formularza (takimi jak Unload, Deactivate i Close), w następującej kolejności:

Exit (formant) ⇒ LostFocus (formant) ⇒ Unload (formularz) ⇒ Deactivate (formularz) ⇒ Close (formularz)

Zmiana danych w formancie

Podczas wprowadzania lub zmiany danych w formancie formularza i następującego potem przeniesienia fokusu do innego formantu zachodzą zdarzenia BeforeUpdate i AfterUpdate:

BeforeUpdate ⇒ AfterUpdate

Zdarzenia Exit i LostFocus dla zmienionego formantu zachodzą po zdarzeniach BeforeUpdate i AfterUpdate:

BeforeUpdate ⇒ AfterUpdate ⇒ Exit ⇒ LostFocus

Podczas modyfikacji tekstu w polu tekstowym lub w części tekstowej pola kombi zachodzi zdarzenie Change. Zdarzenie to zachodzi przy każdej zmianie zawartości formantu, ale przed przejściem do innego formantu lub rekordu (czyli przed zdarzeniami BeforeUpdate i AfterUpdate). Przy każdym naciśnięciu klawisza w polu tekstowym lub w części tekstowej pola kombi występuje poniższa sekwencja zdarzeń:

KeyDown ⇒ KeyPress ⇒ Change ⇒ KeyUp

Jeśli w polu kombi zostanie wpisana wartość spoza listy tego pola, po czym nastąpi próba przejścia do innego formantu lub rekordu, wystąpi zdarzenie NotInList. Wystąpi ono po zdarzeniach klawiatury i zdarzeniu Change dla pola kombi, ale przed pozostałymi zdarzeniami formantu lub formularza. Jeśli właściwość LimitToList (OgraniczDoListy) pola kombi jest ustawiona na wartość Tak, bezpośrednio po zdarzeniu NotInList wystąpi zdarzenie Error:

KeyDown ⇒ KeyPress ⇒ Change ⇒ KeyUp ⇒ NotInList ⇒ Error

Aby uzyskać więcej informacji na temat zdarzeń, kliknij  [image].


Kolejność zdarzeń dla rekordów formularzy

Zdarzenia występują dla rekordu formularza podczas przenoszenia fokusu do i z rekordu, aktualizacji danych rekordu, usuwania rekordu istniejącego lub tworzenia nowego.

Przeniesienie fokusu do rekordu i aktualizacja jego danych

Przy przenoszeniu fokusu do istniejącego rekordu formularza, wprowadzaniu danych do rekordu lub ich zmianie, a następnie przenoszeniu fokusu do innego rekordu w formularzu, występuje poniższa sekwencja zdarzeń dla formularza:

Current (formularz) ⇒ BeforeUpdate (formularz) ⇒ AfterUpdate (formularz) ⇒ Current (formularz)

W momencie opuszczania rekordu, którego dane zostały zmienione, ale przed wejściem do kolejnego rekordu, dla formantu z fokusem zachodzą zdarzenia Exit i LostFocus. Zdarzenia te zachodzą po zdarzeniach BeforeUpdate i AfterUpdate dla formularza, w następującej kolejności:

BeforeUpdate (formularz) ⇒ AfterUpdate (formularz) ⇒ Exit (formant) ⇒ LostFocus (formant) ⇒ Current (formularz)

W trakcie przenoszenia fokusu między formantami formularza, zdarzenia zachodzą dla każdego formantu. Na przykład, dla wymienionych operacji występują poniższe sekwencje zdarzeń:

•	Otwarcie formularza i zmiana danych w formancie:

Current (formularz) ⇒ Enter (formant) ⇒ GotFocus (formant) ⇒ BeforeUpdate (formant) ⇒ AfterUpdate (formant)

•	Przeniesienie fokusu do innego formantu:

Exit (formant1) ⇒ LostFocus (formant1) ⇒ Enter (formant2) ⇒ GotFocus (formant2)

•	Przeniesienie fokusu do innego rekordu:

BeforeUpdate (formularz) ⇒ AfterUpdate (formularz) ⇒ Exit (formant2) ⇒ LostFocus (formant2) ⇒ Current (formularz)

Aby uzyskać więcej informacji na temat kolejności zdarzeń dla formantów formularzy, kliknij  [image].

Usuwanie rekordów

Podczas usuwania rekordu formularza zachodzą poniższe zdarzenia dla formularza, a program Microsoft Access wyświetla okno dialogowe z prośbą o potwierdzenie usunięcia:

Delete ⇒ BeforeDelConfirm ⇒ AfterDelConfirm

Anulowanie zdarzenia Delete powoduje, że zdarzenia BeforeDelConfirm i AfterDelConfirm nie zachodzą, a okno dialogowe nie jest wyświetlane.

Tworzenie nowego rekordu

Podczas przenoszenia fokusu do nowego (pustego) rekordu formularza, a następnie tworzenia nowego rekordu poprzez wpisanie tekstu w formancie, występuje poniższa sekwencja zdarzeń:

Current (formularz) ⇒ Enter (formant) ⇒ GotFocus (formant) ⇒ BeforeInsert (formularz) ⇒ AfterInsert (formularz)

Zdarzenia BeforeUpdate i AfterUpdate dla formantów formularza i dla nowego rekordu zachodzą po zdarzeniu BeforeInsert i przed zdarzeniem AfterInsert.

Aby uzyskać więcej informacji na temat zdarzeń, kliknij  [image].


Kolejność zdarzeń dla formularzy i podformularzy

Zdarzenia występują dla formularzy podczas otwierania i zamykania formularza, pracy z jego danymi i przechodzenia między formularzami.

Otwieranie i zamykanie formularza

Podczas otwierania formularza występuje poniższa sekwencja zdarzeń dla formularza:

Open ⇒ Load ⇒ Resize ⇒ Activate ⇒ Current

Jeśli formularz nie zawiera aktywnych formantów, zdarzenie GotFocus dla formularza zachodzi po zdarzeniu Activate, ale przed zdarzeniem Current.

Podczas zamykania formularza występuje poniższa sekwencja zdarzeń dla formularza:

Unload ⇒ Deactivate ⇒ Close

Jeśli formularz nie zawiera aktywnych formantów, zdarzenie LostFocus dla formularza zachodzi po zdarzeniu Unload, ale przed zdarzeniem Deactivate.

Przechodzenie między formularzami

Podczas przełączania między dwoma otwartymi formularzami zachodzi zdarzenie Deactivate dla pierwszego formularza i zdarzenie Activate dla drugiego:

Deactivate (formularz1) ⇒ Activate (formularz2)

Zdarzenie Deactivate dla formularza zachodzi również podczas przełączania się z formularza do innego okna programu Microsoft Access, nie zachodzi ono jednak podczas przełączania się do okna dialogowego, do formularza o właściwości PopUp (Podręczny) ustawionej na wartość Tak ani do okna w innej aplikacji.

Uwaga   Zdarzenie Open nie zachodzi podczas przechodzenia do już otwartego formularza, nawet jeśli przejście następuje na skutek akcji OtwórzFormularz (OpenForm).

Praca z danymi formularza

Podczas przechodzenia między rekordami formularza oraz dokonywania zmian danych zachodzą zdarzenia formularza i formantów. Na przykład, przy pierwszym otwarciu formularza występuje poniższa sekwencja zdarzeń:

Open (formularz) ⇒ Load (formularz) ⇒ Resize (formularz) ⇒ Activate (formularz) ⇒ Current (formularz) ⇒ Enter (formant) ⇒ GotFocus (formant)

Podobnie, podczas zamykania formularza, występuje poniższa sekwencja zdarzeń:

Exit (formant) ⇒ LostFocus (formant) ⇒ Unload (formularz) ⇒ Deactivate (formularz) ⇒ Close (formularz)

Jeśli ulegną zmianie dane w formancie, zdarzenia BeforeUpdate i AfterUpdate dla formantu i dla formularza zachodzą przed zdarzeniem Exit dla formantu. Aby uzyskać więcej informacji na temat kolejności zdarzeń dla formantów formularzy, kliknij  [image].

Praca z podformularzami

Podczas otwierania formularza zawierającego podformularz, podformularz wraz ze swymi rekordami jest  ładowany przed formularzem głównym. Dlatego zdarzenia dla podformularza i jego formantów (takie jak Open, Current, Enter i GotFocus) zachodzą przed zdarzeniami formularza. Dla podformularza nie zachodzi jednak zdarzenie Activate, które wyzwalane jest tylko dla formularza głównego.

Podobnie, podczas zamykania formularza zawierającego podformularz, podformularz wraz ze swymi rekordami jest zwalniany po formularzu głównym. Dla podformularza nie zachodzi jednak zdarzenie Deactivate, które wyzwalane jest tylko dla formularza głównego. Zdarzenia formantów, formularza i podformularza zachodzą w następującej kolejności:

1. Zdarzenia formantów podformularza (takie jak Exit i LostFocus)

2. Zdarzenia formantów formularza (także dla formantu typu podformularz)

3. Zdarzenia formularza (takie jak Deactivate i Close)

4. Zdarzenia podformularza

Aby uzyskać więcej informacji na temat zdarzeń, kliknij  [image].


Kolejność zdarzeń dla naciśnięć klawiszy i kliknięć myszą

Zdarzenia klawiatury występują dla formularzy i formantów podczas naciskania klawiszy lub wysyłania klawiszy, gdy formularz lub formant ma fokus. Zdarzenia myszy występują dla formularzy, sekcji formularzy i formantów podczas naciskania przycisków myszy, gdy jej wskaźnik znajduje się na formularzu, sekcji lub formancie albo jest po nich przesuwany.

Zdarzenia klawiatury

Przy naciśnięciu i zwolnieniu klawisza, gdy formant formularza ma fokus (albo użycia akcji WyślijKlawisze (SendKeys) lub instrukcji wysyłającej klawisz), występuje poniższa sekwencja zdarzeń:

KeyDown ⇒ KeyPress ⇒ KeyUp

Podczas naciśnięcia i zwolnienia klawisza lub wysłania klawisza z zestawu znaków ANSI zachodzi każde ze zdarzeń KeyDown, KeyPress i KeyUp. Jeśli klawisz ANSI zostanie naciśnięty i przytrzymany, zdarzenia KeyDown i KeyPress występują na przemian (KeyDown, KeyPress, KeyDown, KeyPress itd.), dopóki klawisz nie zostanie zwolniony; następnie zachodzi zdarzenie KeyUp. Aby wyświetlić listę znaków zestawu ANSI, kliknij  [image]  i  [image].

Po naciśnięciu i zwolnieniu klawisza nie należącego do zestawu znaków ANSI, zachodzą zdarzenia KeyDown i KeyUp. Po naciśnięciu i przytrzymaniu klawisza nie należącego do zestawu znaków ANSI, powtarza się występowanie zdarzenia KeyDown, dopóki klawisz nie zostanie zwolniony; następnie zachodzi zdarzenie KeyUp.

Jeśli naciśnięcie klawisza wyzwala inne zdarzenie formantu, zdarzenie to nastąpi po zdarzeniu KeyPress, ale przed zdarzeniem KeyUp. Na przykład, jeśli naciśnięcie klawisza zmienia tekst w polu tekstowym wyzwalając zdarzenie Change, to wystąpi poniższa sekwencja zdarzeń:

KeyDown ⇒ KeyPress ⇒ Change ⇒ KeyUp

Jeśli naciśnięcie klawisza powoduje przeniesienie fokusu do innego formantu, dla pierwszego formantu zachodzi zdarzenie KeyDown, a dla drugiego – zdarzenia KeyPress i KeyUp. Na przykład, po zmianie danych w formancie i naciśnięciu klawisza TAB w celu przejścia do następnego formantu, wystąpi poniższa sekwencja zdarzeń:

•	Pierwszy formant:

KeyDown ⇒ BeforeUpdate ⇒ AfterUpdate ⇒ Exit ⇒ LostFocus

•	Drugi formant:

Enter ⇒ GotFocus ⇒ KeyPress ⇒ KeyUp

Zdarzenia myszy

Przy naciśnięciu i zwolnieniu przycisku myszy, gdy jej wskaźnik znajduje się na formancie formularza, występuje poniższa sekwencja zdarzeń dla formantu:

MouseDown ⇒ MouseUp ⇒ Click

Jeśli formant ma fokus, a kliknięcie innego formantu powoduje przeniesienie fokusu do tego formantu, to występuje poniższa sekwencja zdarzeń:

•	Pierwszy formant:

Exit ⇒ LostFocus

•	Drugi formant:

Enter ⇒ GotFocus ⇒ MouseDown ⇒ MouseUp ⇒ Click

Po przejściu do innego rekordu i kliknięciu formantu, przed zdarzeniem Enter dla formantu zachodzi ponadto zdarzenie Current dla formularza.

Dwukrotne kliknięcie formantu powoduje zarówno wystąpienie zdarzenia DblClick, jak i Click. Na przykład, dwukrotne kliknięcie formantu nie będącego przyciskiem polecenia wyzwoli następującą sekwencję zdarzeń dla formantu:

MouseDown ⇒ MouseUp ⇒ Click ⇒ DblClick ⇒ MouseUp

Po dwukrotnym kliknięciu przycisku polecenia zdarzenia te wystąpią po drugim zdarzeniu Click.

Podczas przesuwania wskaźnika myszy nad formularzem, sekcją formularza lub formantem występuje zdarzenie MouseMove dla formularza, sekcji lub formantu. Zdarzenie to jest niezależne od pozostałych zdarzeń myszy.

Aby uzyskać więcej informacji na temat zdarzeń klawiatury, kliknij  [image].

Aby uzyskać więcej informacji na temat zdarzeń myszy, kliknij  [image].


Kolejność zdarzeń dla raportów i ich sekcji

Zdarzenia występują dla raportu i sekcji raportu podczas otwierania raportu w celu jego wydrukowania lub obejrzenia i podczas zamykania raportu.

Zdarzenia raportów

Podczas otwierania raportu w celu jego wydrukowania lub obejrzenia, a następnie zamykania raportu lub przechodzenia do innego okna programu Microsoft Access, występuje poniższa sekwencja zdarzeń dla raportu:

Open ⇒ Activate ⇒ Close ⇒ Deactivate

Podczas przełączania między dwoma otwartymi raportami, dla pierwszego raportu zachodzi zdarzenie Deactivate, a dla drugiego – zdarzenie Activate:

Deactivate (raport1) ⇒ Activate (raport2)

Zdarzenie Deactivate dla raportu zachodzi również podczas przełączania się z raportu do innego okna programu Microsoft Access, nie zachodzi ono jednak podczas przełączania się do okna dialogowego, do formularza o właściwości PopUp (Podręczny) ustawionej na wartość Tak ani do okna w innej aplikacji.

Podczas otwierania raportu opartego na kwerendzie, przed wykonaniem kwerendy zachodzi zdarzenie Open. Umożliwia to określenie kryteriów dla raportu za pomocą makra lub procedury zdarzenia reagujących na zdarzenie Open. Na przykład, makro lub procedura zdarzenia może otwierać okno dialogowe, służące do wprowadzania kryteriów dla raportu.

Zdarzenia sekcji raportu

Podczas drukowania lub oglądania raportu zdarzenia Format i Print dla sekcji raportu zachodzą po zdarzeniach Open i Activate dla raportu i przed zdarzeniami Close lub Deactivate raportu:

Open (raport) ⇒ Activate (raport) ⇒ Format (sekcja raportu) ⇒ Print (sekcja raportu) ⇒ Close (raport) ⇒ Deactivate (raport)

Ponadto, podczas formatowania lub po jego zakończeniu, ale przed zdarzeniem Print, mogą wystąpić poniższe zdarzenia:

•	Zdarzenie Retreat występuje, gdy program Microsoft Access powraca podczas formatowania raportu do poprzedniej sekcji.

•	Zdarzenie NoData występuje, jeśli w raporcie nie są wyświetlane żadne rekordy.

•	Zdarzenie Page występuje po formatowaniu ale przed drukowaniem. Zdarzenia tego można użyć, aby dostosować wygląd drukowanego raportu.

Aby uzyskać więcej informacji na temat zdarzeń, kliknij  [image].


Tworzenie i modyfikacja makr

Co chcesz zrobić?

Obejrzeć przegląd informacji na temat makr i ich działania

Utworzyć makro

Utworzyć grupę makr


Tworzenie makr

Co chcesz zrobić?

Utworzyć makro

Utworzyć grupę makr

Dodać akcję do makra

Przenieść akcję w makrze

Wprowadzić wyrażenie w argumencie akcji makra

Dowiedzieć się dlaczego w makrze używane są warunki

Pokazać lub ukryć nazwy makr i warunki w oknie makra


Analiza makr

Co chcesz zrobić?

Znaleźć problemy występujące w makrze przez jego analizę krok po kroku

Rozwiązywanie problemów z makrami


Tworzenie i modyfikacja procedur w modułach

Co chcesz zrobić?

Obejrzeć przegląd informacji na temat modułów i ich działania

Uzyskać informacje na temat procedur


Tworzenie procedur

Co chcesz zrobić?

Utworzyć niestandardową procedurę Function

Utworzyć niestandardową procedurę Sub

Utworzyć procedurę zdarzenia

Określić argumenty procedury, instrukcji lub metody w kodzie języka Visual Basic


Dostosować okno modułu

Co chcesz zrobić?

Zmienić sposób wyświetlania kodu języka Visual Basic w oknie modułu

Wyłączyć sprawdzanie składni dla kodu języka Visual Basic

Ignorować obsługę błędów dla kodu języka Visual Basic

Określić, aby wymagana była deklaracja zmiennych dla kodu języka Visual Basic


Analiza kodu języka Visual Basic

Co chcesz zrobić?

Przeczytać informacje na temat usuwania błędów

Użyć punktu przerwania do wstrzymania wykonywania kodu

Wykonać kod języka Visual Basic wiersz po wierszu

Sprawdzić wartości wyrażeń i zmiennych używając okna analizy programu

Ustawić wyrażenie czujki w kodzie języka Visual Basic

Śledzić wywoływania procedur języka Visual Basic, podczas analizy kodu języka Visual Basic

Użyć okienka bezpośredniego w oknie analizy, podczas pracy z programem Visual Basic


Uzyskiwanie Pomocy w oknie modułu

Co chcesz zrobić?

Uzyskać Pomoc na temat języka Visual Basic

Skopiować przykład kodu języka Visual Basic z Pomocy do okna modułu


Informacje na temat modułów języka Visual Basic

Co chcesz zrobić?

Obejrzeć przegląd informacji na temat modułów i ich działania

Uzyskać informacje na temat procedur

Uruchomić kod języka Visual Basic

Pracować z danymi i obiektami bzy danych przy użyciu kodu języka Visual Basic


Praca z makrami w programie Visual Basic

Co chcesz zrobić?

Konwertować makra na kod języka Visual Basic

Wykonać akcję makra w procedurze języka Visual Basic

Zobaczyć listę akcji makr, która nie mają odpowiadających im metod obiektu DoCmd


Praca z obiektami języka Visual Basic przy użyciu Przeglądarki obiektów

Co chcesz zrobić?

Znaleźć metodę lub właściwość w Przeglądarce obiektów

Użyć Przeglądarki obiektów do wklejenia składni metody lub właściwości do modułu


Kiedy użyć makra, a kiedy języka Visual Basic?

W programie Microsoft Access można wykonać wiele zadań używając makr lub poprzez interfejs użytkownika. W wielu innych programach baz danych wykonanie tych samych zadań wymaga programowania. Decyzja, czy użyć makra czy języka Visual Basic for Applications zależy często od rodzaju zadania.

Kiedy użyć makra?

Makra zapewniają wygodną obsługę takich prostych zadań, jak otwieranie i zamykanie formularzy, ukrywanie i wyświetlanie pasków narzędzi czy wykonywanie raportów. Można łatwo i szybko wiązać ze sobą tworzone obiekty bazy danych, ponieważ niewiele jest do zapamiętania, jeśli chodzi o składnię; argumenty każdej akcji są wyświetlane w dolnej części okna makra.

Poza łatwością użycia makr, istnieją zadania, które można wykonać tylko za ich pomocą:

•	Tworzenie globalnych przypisań klawiszy.

•	Wykonywanie akcji lub ich serii podczas otwierania bazy danych. Można jednak użyć okna dialogowego Autostart do określenia niektórych zadań, które mają być wykonywane podczas otwierania bazy danych, np. otwarcie formularza.

Kiedy użyć języka Visual Basic?

Należy używać języka Visual Basic zamiast makr, aby:

•	Ułatwić obsługę bazy danych. Ponieważ makra są obiektami zewnętrznymi w stosunku do formularzy i raportów, które z nich korzystają, baza danych zawierająca dużą liczbę makr reagujących na zdarzenia występujące w formularzach i raportach staje się kłopotliwa w obsłudze. W przeciwieństwie do makr, procedury zdarzeń języka Visual Basic są wbudowane w definicję formularza lub raportu. Przy przenoszeniu formularza lub raportu z jednej bazy do innej, wbudowane procedury zdarzeń przenoszone są wraz z formularzem lub raportem.

•	Tworzyć własne funkcje. Program Microsoft Access zawiera wiele funkcji wbudowanych ,  jak np. funkcja IPmt obliczająca raty odsetkowe. Funkcji tych można używać bez konieczności tworzenia skomplikowanych wyrażeń. Używając języka Visual Basic, można również tworzyć funkcje własne do wykonywania obliczeń przekraczających możliwości pojedynczego wyrażenia lub zastępujących skomplikowane wyrażenia. Ponadto, utworzonych przez siebie funkcji można używać w wyrażeniach, chcąc zastosować często wykonywane operacje w stosunku do wielu obiektów.

•	Obsługiwać błędy. Gdy podczas pracy w bazie danych zdarzy się coś nieoczekiwanego i pojawi się komunikat o błędzie, może on brzmieć dosyć tajemniczo, szczególnie dla niezbyt doświadczonego użytkownika. Używając języka Visual Basic można wykryć błąd w chwili jego wystąpienia i albo wyświetlić własny komunikat, albo podjąć inną akcję.

•	Tworzyć obiekty lub manipulować nimi. Z reguły najłatwiej tworzyć i modyfikować obiekty w ich widoku "Projekt". Czasem jednak może zaistnieć potrzeba modyfikacji definicji obiektu w kodzie. Używając języka Visual Basic można manipulować wszystkimi obiektami bazy, łącznie z samą bazą.

•	Wykonywać działania na poziomie systemu. Wykonując akcję UruchomAplikację (RunApp) można z bieżącej aplikacji wywołać inną aplikację opartą na systemie Windows lub MS-DOS, ale niewiele więcej można zrobić za pomocą makra na zewnątrz programu Microsoft Access. Używając języka Visual Basic można sprawdzić, czy plik istnieje w systemie, użyć automatyzacji lub dynamicznej wymiany danych (DDE), do komunikacji z innymi aplikacjami pracującymi w systemie Windows, jak np. Microsoft Excel, i wywoływać funkcje z bibliotek dołączanych dynamicznie (DLL).

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

•	Przekazywać argumenty do własnych procedur języka Visual Basic. W czasie tworzenia makra można ustawiać argumenty dla akcji makr w dolnej części okna makra, ale nie można ich modyfikować w trakcie wykonywania makra. Natomiast w języku Visual Basic istnieje możliwość przekazania argumentu do kodu w trakcie jego wykonania lub użycia zmiennej jako argumentu, czego nie da się zrobić w makrze. Zapewnia to znaczną elastyczność wykonywania własnych procedur języka Visual Basic.


Tworzenie przycisku polecenia drukującego bieżący rekord

1	Otwórz formularz w widoku "Projekt".

2	Kliknij przycisk Kreatorzy formantów  [image]  w przyborniku, jeśli jeszcze nie jest wciśnięty.

3	W przyborniku kliknij przycisk Przycisk polecenia  [image].

4	Kliknij w miejscu formularza, w którym ma być umieszczony przycisk polecenia.

5	W pierwszym oknie dialogowym kreatora kliknij opcję Operacje na rekordach w polu Kategorie, a następnie kliknij opcję Drukuj rekord w polu Akcje.

6	Postępuj według wskazówek w oknach dialogowych kreatora. W ostatnim oknie dialogowym kliknij przycisk Utwórz, aby wyświetlić przycisk polecenia w widoku "Projekt".

Aby obejrzeć procedurę zdarzenia, dzięki której przycisk działa, należy otworzyć arkusz właściwości przycisku, a następnie kliknąć przycisk Buduj  [image]  obok pola właściwości OnClick (PrzyKliknięciu).

Wskazówka   Aby wydrukować bieżący rekord formularza w raporcie, można wywołać akcję OtwórzRaport (OpenReport) w procedurze zdarzenia Click dla przycisku polecenia. Na przykład, wstawienie poniższego kodu języka Visual Basic for Applications do procedury zdarzenia Click dla przycisku polecenia na formularzu "Orders"(Zamówienia) umożliwia wydrukowanie bieżącego rekordu w raporcie "Invoice"(Faktura):

Dim strDocName As String

Dim strFilter As String

strDocName = "Invoice"

strFilter = "OrderID = Forms!Orders!OrderID"

DoCmd.OpenReport DocName, acViewNormal, , strFilter


Ustawianie wartości formantu lub właściwości w reakcji na zdarzenia

Przypisując formantom i właściwościom nowe wartości w reakcji na zdarzenia zachodzące w formularzu lub raporcie można zapewnić elastyczną współpracę utworzonych obiektów.

Poniżej zostały podane przykłady częstych sytuacji wymagających ustawienia wartości za pomocą makra lub procedury zdarzenia.

Ustawianie wartości formantu jednego formularza na wartość formantu innego formularza

Można na przykład umieścić na formularzu "Customers" (Klienci) przycisk polecenia otwierający formularz "Orders" (Zamówienia) i automatycznie wypełniający go informacjami o kliencie z formularza "Customers".

Aktualizowanie wartości formantu zależnego od wartości innego formantu

Można na przykład utworzyć formant "PaymentDate" (DataPłatności) o wartości domyślnej ustawionej na datę wysyłki (wartość formantu "ShipDate" (DataWysyłki)). Można użyć makra lub procedury zdarzenia do automatycznej zmiany wartości formantu "PaymentDate"(DataPłatności), gdy ulega zmianie wartość formantu "ShipDate".

Aby uzyskać więcej informacji na temat ustawiania wartości formantu zależnego od wartości innego formantu, kliknij  [image].

Ustawianie właściwości formularza lub formantu w reakcji na wybór lub inne zdarzenie

Można użyć makra lub procedury zdarzenia do ustawienia właściwości formularza lub formantu, aby:

•	Ukryć lub wyświetlić formant w zależności od wartości innego formantu. Można na przykład, ukryć formant "DateDue" (DataFakturowania) w formularzu "Orders" (Zamówienia), jeśli klient już zapłacił za zamówienie (jeśli wartością formantu "Paid" (Zapłacono) jest "Yes" (Tak)) lub wyświetlić go, jeśli klient jeszcze nie zapłacił.

•	Wyłączyć lub zablokować formant w zależności od wartości innego formantu. Można na przykład, wyłączyć formant "DriversLicense" (PrawoJazdy), jeśli wartość formantu "Age" (Wiek) jest mniejsza od minimalnego wieku wymaganego od kandydata na prawo jazdy.

•	Wyświetlać różne zestawy rekordów w zależności od wyboru dokonanego przez użytkownika. Można na przykład sterować wyświetlaniem rekordów na formularzu "Customers", w zależności od opcji zaznaczonej w grupie opcji "Customer Type". Należy w tym celu ustawić właściwość RecordSource (ŹródłoRekordów) formularza na jedną z kilku kwerend zawierających rekordy dla różnych grup klientów.

Aby uzyskać więcej informacji na temat ustawienia wartości właściwości w reakcji na zdarzenie, kliknij  [image].


Ustawianie wartości formantu na podstawie wartości innego formantu

Aby ustawić wartość formantu na podstawie wartości innego formantu, należy dodać do makra akcję UstawWartość (SetValue) lub użyć instrukcji przypisania w procedurze języka Visual Basic.

Co chcesz zrobić?

Ustawić wartość formantu na podstawie wartości innego formantu za pomocą makra

Ustawić wartość formantu na podstawie wartości innego formantu za pomocą języka Visual Basic for Applications


Ustawianie wartości formantu na podstawie wartości innego formantu za pomocą makra

1	Utwórz makro.

Jak?

2	W pustym wierszu akcji kliknij akcję UstawWartość (SetValue) na liście akcji.

3	Ustaw argument Element na identyfikator formantu, którego wartość chcesz ustawić, a następnie ustaw argument Wyrażenie na identyfikator formantu, którego wartość chcesz przypisać pierwszemu formantowi.

4	Kliknij przycisk Zapisz  [image]  aby zapisać makro.

5	Uruchom makro.

Jak?

Uwaga   W zależności od kontekstu może zachodzić potrzeba użycia pełnych identyfikatorów dla formantów. Aby uzyskać więcej informacji na temat używania identyfikatorów w wyrażeniach, kliknij  [image].


Ustawianie wartości formantu na podstawie wartości innego formantu za pomocą języka Visual Basic

1	Utwórz procedurę języka Visual Basic.

Jak?

2	Dodaj do procedury instrukcję przypisania wpisując identyfikator formantu, którego wartość chcesz ustawić, znak równości (=), a następnie identyfikator formantu, którego wartość chcesz przypisać pierwszemu formantowi.

•	Aby odwołać się do wartości formantu w bieżącym formularzu, należy wpisać słowo kluczowe Me przed operatorem ! i nazwą formantu. Na przykład, poniższa instrukcja przypisuje wartość formantu "City" w bieżącym formularzu formantowi "ShipCity" w tym formularzu:

Me![ShipCity] = Me![City]

•	Aby odwołać się do wartości formantu w innym formularzu, należy wpisać pełny identyfikator formantu. Na przykład, poniższy identyfikator odwołuje się do formantu "ShipCity" na formularzu "ShipForm":

Forms![ShipForm]![ShipCity]

3	Wykonaj procedurę.

Jak?

Aby uzyskać więcej informacji na temat odwoływania się do wartości formantu, kliknij  [image].


Ustawianie wartości właściwości w reakcji na zdarzenie

Aby ustawić wartość właściwości w reakcji na zdarzenie, np. kliknięcie przycisku polecenia, należy dodać do makra akcję UstawWartość (SetValue) lub użyć instrukcji przypisania w procedurze języka Visual Basic.

Co chcesz zrobić?

Ustawić wartość właściwości w reakcji na zdarzenie za pomocą makra

Ustawić wartość właściwości w reakcji na zdarzenie za pomocą języka Visual Basic for Applications


Ustawianie wartości właściwości w reakcji na zdarzenie za pomocą makra

1	Utwórz makro.

Jak?

2	W pustym wierszu akcji kliknij akcję UstawWartość (SetValue) na liście akcji.

3	Ustaw argument Element na identyfikator właściwości, której wartość chcesz ustawić, a następnie ustaw argument Wyrażenie na wartość, która ma być przypisana właściwości.

4	Kliknij przycisk Zapisz  [image]  aby zapisać makro.

5	Przejdź do formularza lub raportu, otwórz arkusz właściwości obiektu, którego zdarzenie będzie uruchamiać makro i ustaw właściwość zdarzenia na nazwę tego makra.

Aby zobaczyć przykład ustawiania wartości właściwości w reakcji na zdarzenie, kliknij  [image].


Ustawianie wartości właściwości w reakcji na zdarzenie za pomocą języka Visual Basic

1	Utwórz procedurę zdarzenia dla danego zdarzenia.

Jak?

2	Dodaj do procedury instrukcję przypisania wpisując identyfikator właściwości, której wartość chcesz ustawić, znak równości (=), a następnie wartość, która ma być przypisana właściwości.

•	Aby odwołać się do właściwości formantu w bieżącym formularzu, należy wpisać słowo kluczowe Me przed operatorem !, nazwą formantu, operatorem . (kropka) i nazwą właściwości. Na przykład, poniższa instrukcja przypisuje wartość False właściwości Visible (Widoczny) formantu "DateDue" na bieżącym formularzu:

Me![DateDue].Visible = False

•	Aby odwołać się do właściwości formantu w innym formularzu, należy wpisać pełny identyfikator formantu. Na przykład, poniższy identyfikator odwołuje się do właściwości Visible formantu "DateDue" na formularzu "ShipForm":

Forms![ShipForm]![DateDue].Visible

Aby uzyskać więcej informacji na temat odwoływania się do właściwości, kliknij  [image].

Aby zobaczyć przykład ustawiania wartości właściwości w reakcji na zdarzenie, kliknij  [image].


Przykład ustawiania wartości właściwości w reakcji na zdarzenie

Można ustawić wartość właściwości na podstawie wartości w bieżącym rekordzie uruchamiając makro lub procedurę zdarzenia w reakcji na zdarzenie Current formularza. Można na przykład, ukryć formant "DateDue" (DataFakturowania) w formularzu "Orders" (Zamówienia), jeśli klient już zapłacił za zamówienie (jeśli wartością formantu "Paid" (Zapłacono115) jest Yes (Tak) lub True).

Aby wykonać makro, należy ustawić właściwość zdarzenia OnCurrent (PrzyBieżącym) formularza na nazwę makra ustawiającego właściwość Visible (Widoczny) formantu "DataDue" na wartość Nie, jeśli wartością formantu "Paid" jest Tak.

Aby użyć procedury zdarzenia, należy wstawić poniższy kod języka Visual Basic do procedury zdarzenia Form_Current:

If Me![Paid] = True Then

Me![DateDue].Visible = False

Else

Me![DateDue].Visible = True

End If


Synchronizacja rekordów między dwoma formularzami

Często zachodzi potrzeba jednoczesnego wyświetlenia w dwóch formularzach rekordów powiązanych. Na przykład, oglądając w formularzu "Customers" (Klienci) dane klienta, można jednocześnie otworzyć formularz "Orders" (Zamówienia), aby zobaczyć jego zamówienia.

Pożądane jest ponadto, aby przechodzenie między rekordami w pierwszym formularzu powodowało automatycznie wyświetlanie powiązanych rekordów w drugim. Na przykład, zmiana rekordu dostawcy w formularzu "Suppliers" (Dostawcy) powinna powodować wyświetlenie dostarczanych przez niego produktów w formularzu "Products" (Produkty).

Synchronizację rekordów między dwoma formularzami można zrealizować przez utworzenie przycisku polecenia otwierającego drugi formularz i synchronizującego jego dane lub za pomocą zdarzenia Current powodującego wyświetlanie powiązanych rekordów w drugim formularzu podczas poruszania się między rekordami w pierwszym formularzu.

Wskazówka   Można również użyć Kreatora formularzy do utworzenia dwóch powiązanych formularzy od początku. Na pierwszym ekranie kreatora, należy wybrać pola z dwóch różnych tabel. Na drugim ekranie, należy kliknąć opcję Połączone formularze. Kreator tworzy dwa powiązane formularze; każdy formularz zawiera pola z jednej tabeli. Jeden z formularzy ma także przycisk polecenia, który otwiera drugi formularz i synchronizuje rekordy między formularzami.

Co chcesz zrobić?

Utworzyć przycisk polecenia, który otwiera i synchronizuje formularz

Wyświetlać powiązane rekordy w jednym formularzu podczas poruszania się między rekordami innego formularza


Wyświetlanie powiązanych rekordów w jednym formularzu podczas poruszania się między rekordami innego formularza

Podczas poruszania się między rekordami jednego formularza, można wyświetlać powiązane rekordy na drugim formularzu uruchamiając makro lub procedurę zdarzenia w reakcji na zdarzenie Current pierwszego formularza.

Co chcesz zrobić?

Użyć makra do wyświetlania powiązanych rekordów podczas poruszania się między rekordami formularza

Użyć języka Visual Basic for Applications do wyświetlania powiązanych rekordów podczas poruszania się między rekordami formularza


Użycie makra do wyświetlania powiązanych rekordów podczas poruszania się między rekordami formularza

1	Otwórz pierwszy formularz w widoku "Projekt".

2	Utwórz makro.

Jak?

3	W pustym wierszu akcji kliknij akcję OtwórzFormularz (OpenForm) na liście akcji.

4	Ustaw argument Nazwa formularza na nazwę drugiego formularza, a następnie ustaw argument Warunek WHERE na wyświetlanie żądanych rekordów powiązanych w drugim formularzu. Aby zobaczyć przykład, kliknij  [image].

5	W widoku "Projekt" formularza ustaw właściwość zdarzenia OnCurrent (PrzyBieżącym) pierwszego formularza na nazwę makra.


Przykład użycia makra do wyświetlania powiązanych rekordów podczas poruszania się między rekordami formularza

Można pokazywać produkty dostarczane przez dostawcę na formularzu "Product List" (Lista produktów) podczas poruszania się między rekordami dostawców w formularzu "Suppliers" (Dostawcy). Można w tym celu wykonać akcję OtwórzFormularz (OpenForm) w makrze uruchamianym w reakcji na zdarzenie Current formularza "Suppliers". Można np. wyświetlać w formularzu "Product List"(Lista produktów) rekordy, których wartość w polu "SupplierID" tabeli podstawowej tego formularza pasuje do wartości w polu "SupplierID" na formularzu "Suppliers". Argument "Warunek WHERE" akcji należy ustawić następująco:

[SupplierID]=Forms![Suppliers]![SupplierID]

Wskazówka   Aby formularz "Product List" nie był otwierany za każdym razem przy przechodzeniu od rekordu do rekordu w formularzu "Suppliers", można dołączyć do makra wyrażenie warunkowe sprawdzające, czy formularz "Product List" nie jest już otwarty.

Po utworzeniu makra należy ustawić właściwość zdarzenia OnCurrent formularza "Suppliers" na nazwę tego makra.


Użycie języka Visual Basic do wyświetlania powiązanych rekordów podczas poruszania się między rekordami formularza

1	Otwórz pierwszy formularz w widoku "Projekt".

2	Otwórz procedurę zdarzenia Form_Current formularza.

Jak?

3	Dodaj do procedury zdarzenia kod języka Visual Basic wyświetlający rekordy w drugim formularzu o wartościach pól odpowiadających wartościom odpowiednich pól w pierwszym formularzu.

Aby zobaczyć przykład użycia języka Visual Basic do wyświetlania powiązanych rekordów podczas poruszania się między rekordami formularza, kliknij  [image].


Przykład użycia języka Visual Basic do wyświetlania powiązanych rekordów podczas poruszania się między rekordami formularza

Można pokazywać produkty dostarczane przez dostawcę na formularzu "Products" (Produkty) podczas poruszania się między rekordami dostawców w formularzu "Suppliers" (Dostawcy). w procedurze zdarzenia Form_Current formularza "Suppliers" należy ustawić właściwości FilterOn (FiltrWłączony) i Filter (Filtr) formularza "Products":

Private Sub Form_Current()

' Declare and set a variable to store the WHERE

' clause that describes the records you want to

' display.

Dim strCond As String

strCond = "SupplierID = Forms!Suppliers!SupplierID"

' Use the IsLoaded function from the Northwind

' sample database to check whether the Products

' form is open, then set the properties.

If IsLoaded("Products") Then

Forms![Products].FilterOn = True

Forms![Products].Filter = strCond

End If

End Sub


Szukanie rekordu poprzez wybranie wartości z listy

Na formularzu można utworzyć pole listy lub pole kombi, które posłuży do wyszukania rekordu po wybraniu wartości z listy.

1	Otwórz formularz w widoku "Projekt".

2	Kliknij przycisk Kreatorzy formantów  [image]  w przyborniku, jeśli jeszcze nie jest wciśnięty.

3	W przyborniku kliknij przycisk Pole listy  [image]  lub Pole kombi  [image].

4	Kliknij w tym miejscu formularza, w którym ma być umieszczone pole listy lub pole kombi.

5	W pierwszym oknie dialogowym kreatora kliknij opcję szukania rekordu na podstawie wybranej wartości w polu listy lub w polu kombi.

6	Postępuj według wskazówek w oknach dialogowych kreatora. W ostatnim oknie dialogowym kliknij przycisk Utwórz, aby wyświetlić pole listy lub pole kombi w widoku "Projekt".

Aby zobaczyć procedurę zdarzenia, dzięki której działa pole kombi lub pole listy, otwórz arkusz właściwości pola, a następnie kliknij przycisk Buduj  [image]  obok pola właściwości AfterUpdate (PoAktualizacji).


Dlaczego do sprawdzania poprawności danych należy używać makra lub procedury zdarzenia?

W większości przypadków można sprawdzać poprawność danych wprowadzanych do formantu formularza przez ustawienie właściwości ValidationRule (RegułaPoprawności) formantu lub ustawienie reguł poprawności dla rekordu lub pola w tabeli źródłowej, z którymi formant jest związany. Makra i procedury zdarzeń umożliwiają tworzenie bardziej złożonych reguł poprawności.

Do sprawdzania poprawności danych należy użyć makra lub procedury zdarzenia, jeśli:

•	Reguła poprawności zawiera warunki dla kilku wartości w formularzu. Na przykład, przed zapisaniem rekordu może zachodzić potrzeba sprawdzenia, czy zostały wypełnione dowolne dwa z trzech pól formularza.

•	Trzeba wyświetlać różne komunikaty o błędach dla różnych błędów w polu. Jeśli na przykład wprowadzona wartość jest większa od dopuszczalnego przedziału wartości, można wyświetlać jeden komunikat, a jeśli jest mniejsza – drugi.

•	Trzeba dać użytkownikowi możliwość ominięcia reguły poprawności. W tym przypadku można pokazać komunikat ostrzeżenia proszący użytkownika o potwierdzenie danych.

•	Reguła poprawności zawiera odwołania do formantów w innych formularzach lub zawiera funkcję.

•	Reguła poprawności ma zastosowanie w kilku formularzach, a dla wygody chcemy ją zdefiniować tylko raz zamiast odwoływać się do niej w każdym formularzu.

Aby uzyskać więcej informacji na temat tworzenia makr, kliknij  [image].

Aby uzyskać więcej informacji na temat dostosowania procedury zdarzenia, kliknij  [image].


Sprawdzanie poprawności danych przy użyciu makra lub procedury zdarzenia

Można użyć makra lub procedury zdarzenia do sprawdzania poprawności danych wprowadzanych do formularza, przez utworzenie makra reagującego na zdarzenie formularza lub utworzenie procedury zdarzenia.

Co chcesz zrobić?

Sprawdzić poprawność danych za pomocą makra

Sprawdzić poprawność danych za pomocą procedury zdarzenia

Dowiedzieć się więcej na temat użycia makra lub procedury zdarzenia do sprawdzania poprawności danych


Sprawdzanie poprawności danych za pomocą makra

1	Utwórz makro.

Jak?

2	W oknie makra upewnij się, czy przycisk Warunki  [image]  na pasku narzędzi jest wciśnięty.

3	W kolumnie Warunek pustego wiersza akcji wpisz warunek poprawności.

4	W kolumnie Akcja kliknij na liście akcji akcję, która ma zostać wykonana, jeśli warunek poprawności jest prawdziwy.

5	Dla każdej kolejnej akcji, która ma zostać wykonana, jeśli warunek poprawności jest prawdziwy, w kolumnie Warunek wpisz wielokropek (...), a w kolumnie Akcja podaj akcję. Na przykład, dla każdego warunku poprawności zazwyczaj warto wykonać akcję AnulujZdarzenie (CancelEvent) po wykonaniu innej akcji.

6	Kliknij przycisk Zapisz  [image],  aby zapisać makro.

7	Otwórz formularz w widoku "Projekt".

8	Dla każdego zdarzenia wyzwalającego sprawdzanie poprawności ustaw właściwość zdarzenia na nazwę makra. Aby na przykład wyzwalać sprawdzanie przy aktualizacji danych formantu, należy ustawić właściwość zdarzenia BeforeUpdate (PrzedAktualizacją) na nazwę makra.

Wskazówka   Aby sprawdzić poprawność danych zanim rekord jako całość zostanie zaktualizowany, należy dołączyć makro sprawdzające poprawność do zdarzenia BeforeUpdate formularza, a nie zdarzenia BeforeUpdate formantu.

Aby zobaczyć przykład sprawdzania poprawności danych za pomocą makra, kliknij  [image].

Aby uzyskać informacje na temat zdarzeń używanych do sprawdzania poprawności danych, kliknij  [image].

Aby uzyskać informacje na temat kolejności sprawdzania poprawności danych w formantach i polach, kliknij  [image].


Przykład sprawdzania poprawności danych za pomocą makra

W pewnych sytuacjach istnieje potrzeba zastosowania reguły poprawności, która zależy od złożonych warunków, a następnie podjęcia różnych akcji w zależności od tych warunków. Na przykład, ponieważ kody pocztowe w różnych krajach mają różną postać, nie można użyć jednej reguły poprawności sprawdzającej poprawność wprowadzonego kodu pocztowego.

Można jednak utworzyć makro sprawdzające, jaki kraj został wprowadzony w formancie "Country" (Kraj), a następnie sprawdzające, czy kod pocztowy wprowadzony w formancie "PostalCode" (KodPocztowy) ma postać odpowiednią dla danego kraju.

Najpierw należy utworzyć makro wyświetlające różne komunikaty w zależności od wartości formantu "Country" i długości pozycji wprowadzonej w formancie "PostalCode".

Następnie należy otworzyć formularz zawierający te formanty w widoku "Projekt" i ustawić właściwość zdarzenia BeforeUpdate formularza na nazwę tego makra. Należy użyć właściwości formularza a nie formantu, ponieważ sprawdzanie poprawności obejmuje dwa różne formanty formularza.

Jeśli teraz formularz zostanie użyty do dodania nowego dostawcy, program Microsoft Access uruchomi makro sprawdzania poprawności po wprowadzeniu nowego rekordu, ale przed zapisaniem rekordu w tabeli "Suppliers" (Dostawcy). Jeśli któryś z warunków makra będzie spełniony, program Microsoft Access wyświetli odpowiedni komunikat i rekord nie zostanie zapisany w tabeli "Suppliers".


Sprawdzanie poprawności danych za pomocą procedury zdarzenia

1	Otwórz formularz w widoku "Projekt".

2	Utwórz procedurę zdarzenia dla zdarzenia, które ma wyzwalać sprawdzanie poprawności.

Jak?

Aby na przykład wyzwolić sprawdzanie poprawności podczas modyfikacji danych formantu, należy utworzyć procedurę zdarzenia dla zdarzenia BeforeUpdate formantu.

3	Dodaj do procedury zdarzenia kod języka Visual Basic for Applications określający warunek poprawności i operacje, które mają być wykonywane, jeśli warunek jest spełniony.

Wskazówki

•	Po wykonaniu operacji zazwyczaj warto jest anulować zdarzenie, które wyzwoliło sprawdzanie poprawności. W tym celu należy ustawić argument "Cancel" procedury zdarzenia na wartość True.

•	Aby sprawdzić poprawność danych zanim rekord jako całość zostanie zaktualizowany, należy dodać kod sprawdzający poprawność do zdarzenia BeforeUpdate formularza, a nie zdarzenia BeforeUpdate formantu.

Aby zobaczyć przykład sprawdzania poprawności za pomocą procedury zdarzenia, kliknij  [image].

Aby uzyskać informacje na temat zdarzeń używanych do sprawdzania poprawności danych, kliknij  [image].

Aby uzyskać informacje na temat kolejności sprawdzania poprawności danych w formantach i polach, kliknij  [image].


Przykład sprawdzania poprawności danych za pomocą procedury zdarzenia

W pewnych sytuacjach istnieje potrzeba zastosowania reguły poprawności, która zależy od złożonych warunków, a następnie podjęcia różnych akcji w zależności od tych warunków. Na przykład, ponieważ kody pocztowe w różnych krajach mają różną postać, nie można użyć jednej reguły poprawności sprawdzającej poprawność wprowadzonego kodu pocztowego.

Można jednak utworzyć procedurę zdarzenia sprawdzającą, jaki kraj został wprowadzony w formancie "Country" (Kraj), a następnie sprawdzającą, czy kod pocztowy wprowadzony w formancie "PostalCode" (KodPocztowy) ma postać odpowiednią dla danego kraju.

Najpierw należy otworzyć formularz zawierający te formanty w widoku "Projekt". Następnie należy dodać poniższy kod języka Visual Basic do procedury zdarzenia BeforeUpdate formularza, który wyświetla różne komunikaty w zależności od wartości formantu "Country" i długości pozycji wprowadzonej w formancie "PostalCode".

Private Sub Form_BeforeUpdate(Cancel As Integer)

Select Case Me![Country]

Case "France", "Italy", "Spain"

If Len(Me![PostalCode]) <> 5 Then

MsgBox "PostalCode must be 5 characters."

Cancel = True

End If

Case "Australia", "Singapore"

If Len(Me![PostalCode]) <> 4 Then

MsgBox "PostalCode must be 4 characters."

Cancel = True

End If

End Select

End Sub

Uwaga   Kod języka Visual Basic dodawany jest do procedury zdarzenia BeforeUpdate dla formularza a nie formantu, ponieważ sprawdzanie poprawności obejmuje dwa różne formanty formularza.

Jeśli teraz formularz zostanie użyty do dodania nowego dostawcy, program Microsoft Access uruchomi procedurę sprawdzania poprawności po wprowadzeniu nowego rekordu, ale przed zapisaniem rekordu w tabeli "Suppliers" (Dostawcy). Jeśli któryś z warunków procedury będzie spełniony, program Microsoft Access wyświetli odpowiedni komunikat i rekord nie zostanie zapisany w tabeli "Suppliers".


Zdarzenia używane do sprawdzania poprawności danych

W poniższej tabeli zostały podane zdarzenia zazwyczaj używane do określenia, kiedy program Microsoft Access uruchamia w formularzu makro lub procedurę zdarzenia do sprawdzania poprawności danych.

Użyj zdarzenia formularza	Do sprawdzenia poprawności
BeforeUpdate	Przed zapisaniem nowych lub zmienionych danych rekordu
OnDelete	Przed usunięciem rekordu
Użyj zdarzenia formantu	Do sprawdzenia poprawności
BeforeUpdate	Przed zapisaniem nowych lub zmienionych danych formantu
OnExit	Przed opuszczeniem formantu


Kolejność sprawdzania poprawności danych w formantach i polach

Reguły poprawności dla formantów i pól są sprawdzane w następującej kolejności:

1.	Sprawdzanie poprawności za pomocą makra lub procedury zdarzenia (np. makra lub procedury zdarzenia reagujących na zdarzenie BeforeUpdate formantu lub formularza zawierającego formant)

2.	Właściwość ValidationRule (RegułaPoprawności) formantu

3.	Reguły poprawności dla pola tabeli źródłowej (ustawione we właściwościach ValidationRule (RegułaPoprawności), Required (Wymagany) i AllowZeroLength (ZerowaDługośćDozwolona) pola)

4.	Właściwość ValidationRule (RegułaPoprawności) dla tabeli źródłowej (właściwość ta sprawdza poprawność całych rekordów)


Drukowanie raportu z formularza

Wykonując w makrze lub procedurze zdarzenia akcje OtwórzRaport (OpenReport) i Wydruk (PrintOut) można zautomatyzować drukowanie raportu przez użytkownika. Na przykład, można umożliwić użytkownikowi wydrukowanie raportu, przez kliknięcie przycisku formularza, wybranie polecenia z niestandardowego menu lub naciśnięcie kombinacji klawiszy.

Akcji OtwórzRaport należy użyć, aby wydrukować tylko podzbiór rekordów lub aby otworzyć raport w widoku "Podgląd wydruku". Gdy do wydrukowania raportu używana jest akcja OtwórzRaport (OpenReport), program Microsoft Access drukuje raport korzystając z ustawień domyślnych w oknie dialogowym Drukuj.

Akcji Wydruk należy użyć, aby ustawić opcje wydruku przed wydrukowaniem raportu. Akcja Wydruk przyjmuje argumenty określające każdą opcję okna dialogowego Drukuj.

Co chcesz zrobić?

Utworzyć przycisk polecenia drukujący raport

Dodać do makra akcję Wydruk lub OtwórzRaport

Wykonać akcję Wydruk lub OtwórzRaport w procedurze języka Visual Basic

Przeczytać na temat akcji OtwórzRaport

Przeczytać na temat akcji Wydruk


Wymuszanie nowej strony w raporcie po spełnieniu warunku

Aby wymusić nową stronę w raporcie po spełnieniu warunku, można ustawić właściwość Visible (Widoczny) formantu typu nowa strona w makrze lub w procedurze zdarzenia.

Co chcesz zrobić?

Użyć makra do wymuszenia nowej strony w raporcie po spełnieniu warunku

Użyć języka Visual Basic for Applications do wymuszenia nowej strony w raporcie po spełnieniu warunku


Użycie makra do wymuszenia nowej strony w raporcie po spełnieniu warunku

1	Otwórz raport w widoku "Projekt".

2	W przyborniku kliknij przycisk Nowa strona  [image], a następnie kliknij sekcję raportu w miejscu, w którym ma być umieszczony warunkowy znak nowej strony.

3	Kliknij przycisk Właściwości  [image]  na pasku narzędzi i określ nazwą formantu typu nowa strona w polu Nazwa.

4	Utwórz makro.

Jak?

5	W pustym wierszu akcji kliknij akcję UstawWartość (SetValue) na liście akcji.

6	Ustaw argument Element na identyfikator właściwości Visible (Widoczny) formantu typu nowa strona. Na przykład, jeśli nazwą formantu jest "CondPgBreak", należy ustawić argument Element na [CondPgBreak].[Visible].

7	Ustaw argument Wyrażenie na wartość Nie.

8	Kliknij przycisk Zapisz  [image],  aby zapisać makro.

9	W widoku "Projekt" raportu ustaw właściwość OnFormat (PrzyFormatowaniu) sekcji nagłówka strony raportu na nazwę makra.

Powoduje to ukrycie formantu podczas formatowania stron, czyli brak nowej strony.

10	Utwórz drugie makro ustawiające właściwość Visible formantu typu nowa strona na wartość Tak, gdy spełnione jest wyrażenie warunkowe.

11	Kliknij przycisk Zapisz  [image],  aby zapisać makro.

12	Zaznacz sekcję, w której chcesz umieścić nową stronę i ustaw jej właściwość OnFormat (PrzyFormatowaniu) na nazwę drugiego makra. Aby w poprzednim przykładzie wstawić nową stronę, gdy wartością formantu "Counter" w sekcji szczegółów jest 10, należy ustawić właściwość OnFormat sekcji szczegółów na nazwę drugiego makra.

Po spełnieniu warunku pojawia się nowa strona. Po przejściu do nowej strony makro dołączone do nagłówka strony ukrywa formant nowej strony, do momentu ponownego spełnienia warunku.


Użycie języka Visual Basic do wymuszenia nowej strony w raporcie po spełnieniu warunku

1	Otwórz raport w widoku "Projekt".

2	W przyborniku kliknij przycisk Nowa strona  [image], a następnie kliknij sekcję raportu w miejscu, w którym ma być umieszczony warunkowy znak nowej strony.

3	Otwórz procedurę zdarzenia PageHeader_Format raportu.

Jak?

4	W procedurze zdarzenia dodaj instrukcję przypisania ustawiającą właściwość Visible (Widoczny) formantu typu nowa strona na wartość Nie. Na przykład, jeśli nazwą formantu jest "CondPgBreak", należy dodać następującą instrukcję przypisania:

Me![CondPgBreak].Visible = False

Powoduje to ukrycie formantu podczas formatowania stron raportu , czyli brak nowej strony.

5	W procedurze zdarzenia Format dla sekcji, w której ma być umieszczony warunkowy znak nowej strony, dodaj kod języka Visual Basic ustawiający właściwość Visible (Widoczny) na wartość Tak po spełnieniu warunku. Przypuśćmy na przykład, że nowa strona ma wystąpić w sekcji szczegółów raportu, gdy wartością formantu "Counter" jest 10, tak że 10 pierwszych rekordów zostanie wydrukowanych na pierwszej stronie. Należy dodać poniższy kod do procedury zdarzenia Detail_Format:

If Me![Counter] = 10 Then

Me![CondPgBreak].Visible = True

End If

Po spełnieniu warunku pojawia się nowa strona. Po przejściu do nowej strony procedura zdarzenia dołączona do nagłówka strony ukrywa formant nowej strony, do momentu ponownego spełnienia warunku.


Ukrywanie i pokazywanie komunikatów ostrzeżeń

Można czasowo wyłączyć wyświetlanie przez program Microsoft Access modalnych komunikatów ostrzeżeń, podczas wykonywania makra lub procedury języka Visual Basic lub włączyć je ponownie wykonując akcję UstawOstrzeżenia (SetWarnings) w makrze lub w procedurze.

Co chcesz zrobić?

Włączyć lub wyłączyć wyświetlanie komunikatów ostrzeżeń za pomocą makra

Włączyć lub wyłączyć wyświetlanie komunikatów ostrzeżeń za pomocą języka Visual Basic for Applications


Ukrywanie i pokazywanie komunikatów ostrzeżeń za pomocą makra

1	Otwórz istniejące makro w oknie makra.

Jak?

2	Dodaj akcję UstawOstrzeżenia (SetWarnings) w tym miejscu makra, w którym wyświetlanie modalnych komunikatów ostrzeżeń ma być włączone lub wyłączone.

Jak?

3	Aby czasowo wyłączyć wyświetlanie komunikatów ostrzeżeń, ustaw argument Ostrzeżenia włączone na wartość Nie. Aby wznowić ich wyświetlanie, ustaw argument Ostrzeżenia włączone na wartość Tak.

4	Kliknij przycisk Zapisz  [image],  aby zapisać makro.

5	Wykonaj makro.

Jak?

Po wykonaniu makra, wyświetlanie komunikatów ostrzeżeń zostanie automatycznie przywrócone.


Ukrywanie i pokazywanie komunikatów ostrzeżeń za pomocą języka Visual Basic

1	Otwórz procedurę typu Function lub Sub w oknie modułu.

2	W tym miejscu makra, w którym wyświetlanie modalnych komunikatów ostrzeżeń ma być włączone lub wyłączone, użyj metody SetWarnings do wykonania akcji UstawOstrzeżenia (SetWarnings).

Jak?

3	Aby czasowo wyłączyć wyświetlanie komunikatów ostrzeżeń, ustaw argument ostrzeżeniew na wartość False. Aby wznowić ich wyświetlanie, ustaw argument ostrzeżeniew na wartość True.

4	Uruchom procedurę.

Jak?

Po wykonaniu kodu, wyświetlanie komunikatów ostrzeżeń zostanie automatycznie przywrócone.

Aby uzyskać więcej informacji na temat metody SetWarnings, kliknij  [image].


Nawigacja między formantami, rekordami i stronami formularza

Można automatycznie przechodzić do formantu, rekordu lub strony formularza w reakcji na zdarzenie zachodzące w formularzu, przez wykonanie w makrze lub procedurze zdarzenia akcji IdźDoFormantu (GoToControl), IdźDoStrony (GoToPage) lub IdźDoRekordu (GoToRecord).

Co chcesz zrobić?

Nawigować między formantami, rekordami i stronami formularza za pomocą makra

Nawigować między formantami, rekordami i stronami formularza za pomocą kodu języka Visual Basic for Applications


Nawigacja między formantami, rekordami i stronami formularza za pomocą makra

1	Utwórz makro.

Jak?

2	Wykonaj jedną z poniższych czynności:

•	Aby przenieść fokus do określonego formantu lub pola w bieżącym rekordzie, kliknij akcję IdźDoFormantu (GoToControl) na liście akcji w pustym wierszu akcji, a następnie ustaw argument Nazwa formantu na nazwę formantu, do którego chcesz przejść.

•	Aby określony rekord stał się rekordem bieżącym, kliknij akcję IdźDoRekordu (GoToRecord) na liście akcji w pustym wierszu akcji, a następnie ustaw argumenty.

•	Aby przenieść fokus w aktywnym formularzu do pierwszego formantu na określonej stronie formularza, kliknij akcję IdźDoStrony (GoToPage) na liście akcji w pustym wierszu akcji, a następnie ustaw argumenty.

3	Kliknij przycisk Zapisz  [image],  aby zapisać makro.

4	Wykonaj makro.

Jak?

Aby uzyskać więcej informacji na temat akcji IdźDoFormantu (GoToControl), kliknij  [image].

Aby uzyskać więcej informacji na temat akcji IdźDoRekordu (GoToRecord), kliknij  [image].

Aby uzyskać więcej informacji na temat akcji IdźDoStrony (GoToPage), kliknij  [image].


Nawigacja między formantami, rekordami i stronami formularza za pomocą języka Visual Basic

1	Otwórz procedurę odpowiedniego zdarzenia w oknie modułu.

Jak?

Aby na przykład reagować na kliknięcie myszą przycisku polecenia, otwórz procedurę zdarzenia Click przycisku.

2	Wykonaj jedną z poniższych czynności:

•	Aby przenieść fokus do określonego formantu lub pola w bieżącym rekordzie, wykonaj w procedurze metodę GoToControl ustawiając argument "Nazwa formantu" na nazwę formantu, do którego chcesz przejść.

  Jak?

•	Aby określony rekord stał się rekordem bieżącym, użyj metody GoToRecord do wykonania w procedurze akcji IdźDoRekordu (GoToRecord).

•	Aby przenieść fokus w aktywnym formularzu do pierwszego formantu na określonej stronie formularza, użyj metody GoToPage do wykonania w procedurze akcji IdźDoStrony (GoToPage).

3	Wykonaj procedurę.

Jak?

Wskazówka   Można również użyć języka Visual Basic for Applications, aby zlokalizować rekord albo przejść do rekordu za pomocą obiektu Recordset i metody Seek lub dowolnej z metod typu Move lub Find.

Aby uzyskać więcej informacji na temat akcji IdźDoFormantu (GoToControl), kliknij  [image].

by uzyskać więcej informacji na temat akcji IdźDoRekordu (GoToRecord), kliknij   [image].

Aby uzyskać więcej informacji na temat akcji IdźDoStrony (GoToPage), kliknij  [image].

Aby uzyskać więcej informacji na temat obiektu Recordset i jego metod, kliknij  [image].


Automatyczne importowanie, eksportowanie i łączenie danych

W zależności od typu używanych danych można zautomatyzować import, eksport i łączenie danych wykonując w makrze lub w procedurze języka Visual Basic akcję TransportBazyDanych (TransferDatabase), TransportArkusza (TransferSpreadsheet) lub TransportTekstu (TransferText).

Co chcesz zrobić?

Automatyczne importowanie, eksportowanie i łączenie danych za pomocą makra

Automatyczne importowanie, eksportowanie i łączenie danych za pomocą języka Visual Basic for Applications


Automatyczne importowanie, eksportowanie i łączenie danych za pomocą makra

1	Utwórz makro.

Jak?

2	Wykonaj jedną z poniższych czynności:

•	Aby importować, eksportować lub połączyć dane między bieżącą bazą danych programu Microsoft Access i inną bazą danych, kliknij akcję TransportBazyDanych (TransferDatabase) na liście akcji w pustym wierszu akcji.

•	Aby importować, eksportować lub połączyć dane między bieżącą bazą danych programu Microsoft Access i plikiem arkusza kalkulacyjnego, kliknij akcję TransportArkusza (TransferSpreadsheet) na liście akcji w pustym wierszu akcji.

•	Aby importować, eksportować lub połączyć dane między bieżącą bazą danych programu Microsoft Access i plikiem tekstowym, kliknij akcję TransportTekstu (TransferText) na liście akcji w pustym wierszu akcji.

3	Ustaw argumenty akcji.

4	Kliknij przycisk Zapisz  [image],  aby zapisać makro.

5	Wykonaj makro.

Jak?

Aby uzyskać więcej informacji na temat akcji TransportBazyDanych (TransferDatabase), kliknij  [image].

Aby uzyskać więcej informacji na temat akcji TransportArkusza (TransferSpreadsheet), kliknij  [image].

Aby uzyskać więcej informacji na temat akcji TransportTekstu (TransferText), kliknij  [image].


Automatyczne importowanie, eksportowanie i łączenie danych za pomocą języka Visual Basic

1	Utwórz procedurę języka Visual Basic.

Jak?

2	Wykonaj jedną z poniższych czynności:

•	Aby importować, eksportować lub połączyć dane między bieżącą bazą danych programu Microsoft Access i inną bazą danych, użyj metody TransferDatabase do wykonania w procedurze akcji TransportBazyDanych (TransferDatabase).

  Jak?

•	Aby importować, eksportować lub połączyć dane między bieżącą bazą danych programu Microsoft Access i plikiem arkusza kalkulacyjnego, użyj metody TransferSpreadsheet do wykonania w procedurze akcji TransportArkusza (TransferSpreadsheet).

•	Aby importować, eksportować lub połączyć dane między bieżącą bazą danych programu Microsoft Access i plikiem tekstowym, użyj metody TransferText do wykonania w procedurze akcji TransportTekstu (TransferText).

3	Wykonaj procedurę.

Jak?

Aby uzyskać więcej informacji na temat metody TransferDatabase, kliknij  [image].

Aby uzyskać więcej informacji na temat metody TransferSpreadsheet, kliknij  [image].

Aby uzyskać więcej informacji na temat metody TransferText, kliknij  [image].


Automatyczne pokazywanie w formularzu najświeższych rekordów

Aby automatycznie pokazywać w formularzu najświeższe dane, można odświeżać rekordy i ponawiać kwerendę rekordów.

Jeśli użytkownik korzysta z bazy danych udostępnianej w sieci, pokazywanie ostatniej wersji istniejących rekordów może zrealizować przez utworzenie przycisku polecenia aktualizującego dane formularza.

Aby wyświetlić w formularzu najświeższy zestaw rekordów, łącznie z nowymi rekordami, można ponowić kwerendę rekordów dodając w makrze akcję PonówKwerendę (Requery) lub w procedurze języka Visual Basic metodę Requery.

Co chcesz zrobić?

Utworzyć przycisk polecenia aktualizujący dane formularza

Automatycznie pokazać w formularzu najświeższe rekordy przy użyciu makra

Automatycznie pokazać w formularzu najświeższe rekordy przy użyciu języka Visual Basic for Applications


Automatyczne pokazywanie w formularzu najświeższych rekordów przy użyciu makra

1	Utwórz makro.

Jak?

2	W pustym wierszu akcji kliknij akcję PonówKwerendę (Requery) na liście akcji.

Aby zaktualizować rekordy dla formantu opartego na tabeli lub kwerendzie, ustaw argument Nazwa formantu na nazwę tego formantu. Aby zaktualizować rekordy dla całego formularza, należy pozostawić argument Nazwa formantu pusty.

3	Kliknij przycisk Zapisz  [image],  aby zapisać makro.

4	Wykonaj makro.

Jak?

Aby uzyskać więcej informacji na temat akcji PonówKwerendę(Requery), kliknij  [image].


Automatyczne pokazywanie w formularzu najświeższych rekordów przy użyciu języka Visual Basic

1	Utwórz procedurę języka Visual Basic.

Jak?

2	Dodaj metodę Requery do procedury dla formularza lub formantu, którego rekordy chcesz zaktualizować. Aby na przykład obejrzeć najświeższe rekordy w polu kombi o nazwie "CategoryID", można dodać do procedury poniższą metodę:

CategoryID.Requery

3	Wykonaj procedurę.

Jak?

Aby uzyskać więcej informacji na temat metody Requery, kliknij  [image].

Aby zobaczyć przykład aktualizacji (ponownej kwerendy) listy, tak aby wyświetlane były najbardziej aktualne dane, kliknij


Wyświetlanie okna komunikatu

Aby wyświetlić krótki komunikat, taki jak np. ostrzeżenie, można użyć predefiniowanego okna dialogowego nazywanego oknem komunikatu. Można je wyświetlić dodając akcję OknoKomunikatu (MsgBox) do makra albo funkcję MsgBox do procedury języka Visual Basic.

Co chcesz zrobić?

Wyświetlić okno komunikatu za pomocą makra

Wyświetlić okno komunikatu za pomocą języka Visual Basic for Applications


Wyświetlanie okna komunikatu za pomocą makra

1	Utwórz makro.

Jak?

2	W pustym wierszu akcji kliknij akcję OknoKomunikatu (MsgBox) na liście akcji, a następnie ustaw argumenty akcji.

3	Kliknij przycisk Zapisz  [image],  aby zapisać makro.

4	Wykonaj makro.

Jak?

Aby uzyskać więcej informacji na temat akcji OknoKomunikatu (MsgBox), kliknij  [image].


Wyświetlanie okna komunikatu za pomocą języka Visual Basic

1	Utwórz procedurę języka Visual Basic.

Jak?

2	Dodaj instrukcję przypisania do procedury, która przypisuje zmiennej wartość zwracaną przez funkcję MsgBox. Funkcja ta zwraca różne wartości w zależności od przycisku klikniętego przez użytkownika w oknie komunikatu. Wartości tej można użyć następnie w procedurze do wykonania różnych operacji.

Na przykład, w poniższej instrukcji przypisania wykonywana jest funkcja MsgBox, wyświetlany jest komunikat oraz przypisywana jest zmiennej RetValue wartość zwracana przez tę funkcję:

RetValue = MsgBox("Continue?", vbOKCancel)

3	Wykonaj procedurę.

Jak?

Aby uzyskać informacje na temat funkcji MsgBox, kliknij  [image].


Zapisywanie obiektu bazy danych za pomocą makra lub procedury zdarzenia

Aby zautomatyzować zapisywanie obiektu bazy danych, można w makrze lub w procedurze zdarzenia wykonać akcję Zapisz (Save).

Co chcesz zrobić?

Zapisać obiekt bazy danych za pomocą makra

Zapisać obiekt bazy danych za pomocą procedury zdarzenia


Zapisywanie obiektu bazy danych za pomocą makra

1	Utwórz makro.

Jak?

2	W pustym wierszu akcji kliknij akcję Zapisz (Save) na liście akcji, a następnie ustaw argument Typ obiektu na typ zapisywanego obiektu, a argument Nazwa obiektu na nazwę obiektu.

3	Kliknij przycisk Zapisz  [image],  aby zapisać makro.

4	Wykonaj makro.

Jak?

Aby na przykład zapisywać formularz klikając przycisk polecenia na formularzu, należy ustawić właściwość OnClick (PrzyKliknięciu) przycisku na nazwę makra.

Aby uzyskać więcej informacji na temat akcji Zapisz (Save), kliknij  [image].


Zapisywanie obiektu bazy danych za pomocą procedury zdarzenia

1	Otwórz procedurę odpowiedniego zdarzenia w oknie modułu.

Jak?

Aby na przykład zapisywać formularz klikając przycisk polecenia na formularzu, otwórz procedurę zdarzenia Click przycisku.

2	Użyj metody Save do wykonania w procedurze akcji Zapisz (Save) ustawiając argument typobiektu na typ zapisywanego obiektu, a argument typobiektu na nazwę tego obiektu.

Jak?

3	Wykonaj procedurę.

Jak?

Aby uzyskać więcej informacji na temat akcji Zapisz (Save), kliknij  [image].


Wykonywanie akcji podczas otwierania bazy danych

Można użyć specjalnego makra o nazwie "AutoExec" wykonującego akcję lub ich zestaw w momencie otwierania bazy danych. Podczas otwierania bazy danych program Microsoft Access szuka makra o tej nazwie i, jeśli ono istnieje, uruchamia je automatycznie.

1	Utwórz makro zawierające akcje, które mają być wykonane w momencie otwierania bazy.

Jak?

2	Zapisz makro pod nazwą "AutoExec".

Przy kolejnym otwarciu bazy danych, program Microsoft Access wykona to makro automatycznie.

Uwagi

•	Aby zapobiec wykonaniu makra "AutoExec" podczas otwierania bazy, należy przytrzymać klawisz SHIFT w momencie jej otwierania.

•	Można również sterować sposobem uruchamiania bazy danych lub aplikacji ustawiając opcje w oknie dialogowym Autostart (menu Narzędzia). Aby uzyskać więcej informacji, kliknij  [image].


Przypisywanie akcji lub zestawu akcji do klawisza

Istnieje możliwość przypisania akcji lub  zestawu akcji do konkretnego klawisza lub ich kombinacji przez utworzenie grupy makr "AutoKlawisze" (AutoKeys). Po naciśnięciu klawisza lub ich kombinacji, program Microsoft Access wykonuje określoną akcję.

1	W oknie bazy danych kliknij kartę Makra.

2	Kliknij przycisk Nowe.

3	Kliknij przycisk Nazwy makr  [image]  na pasku narzędzi.

4	W kolumnie Nazwa makra wpisz klawisz lub kombinację klawiszy, której chcesz przypisać akcję lub zestaw akcji.

Aby uzyskać informacje na temat kombinacji klawiszy, których można użyć do przypisania klawiszy, kliknij  [image].

5	Dodaj akcję lub zestaw akcji, który ma być wywoływany naciśnięciem klawisza lub ich kombinacji. Na przykład, można dodać akcję WykonajMakro (RunMacro) wykonującą makro "Print Current Record" po naciśnięciu klawisza CTRL+P.

6	Powtórz kroki 4 i 5 dla kolejnych przypisań klawiszy.

7	Zapisz grupę makr pod nazwą "AutoKlawisze" (AutoKeys).

Nowe przypisania klawiszy obowiązują zaraz po zapisaniu grupy makr i po każdym otwarciu bazy danych.

Uwaga   Jeśli zestaw akcji zostanie przypisany do kombinacji klawiszy już używanej w programie Microsoft Access (na przykład CTRL+C dla polecenia "Kopiuj"), akcja przypisana przez użytkownika ma wyższy priorytet i zastąpi przypisanie programu Microsoft Access.


Kombinacje klawiszy AutoKeys

W poniższej tabeli zostały podane kombinacje klawiszy, które można przypisać do grupy makr "AutoKlawisze" (Autokeys). Kombinacje te są częścią składni używanej w instrukcji SendKeys języka Visual Basic. Aby uzyskać więcej informacji na temat składni instrukcji SendKeys, kliknij  [image].

Składnia instrukcji SendKeys	Kombinacja klawiszy
^A lub ^4	CTRL+dowolny klawisz litery lub cyfry
{F1}	Dowolny klawisz funkcyjny
^{F1}	CTRL+dowolny klawisz funkcyjny
+{F1}	SHIFT+dowolny klawisz funkcyjny
{INSERT}	INS
^{INSERT}	CTRL+INS
+{INSERT}	SHIFT+INS
{DELETE} lub {DEL}	DEL
^{DELETE} lub ^{DEL}	CTRL+DEL
+{DELETE} lub +{DEL}	SHIFT+DEL


Co to jest procedura?

Procedura jest jednostką kodu języka Visual Basic for Applications. Procedura zawiera szereg instrukcji i metod, które wykonują określone operacje lub służą do obliczania wartości. Na przykład następująca procedura zdarzenia używa metody OpenForm do otwarcia formularza "Orders":

Private Sub OpenOrders_Click()

DoCmd.OpenForm "Orders"

End Sub

Istnieją dwa rodzaje procedur:

•	Procedury typu Sub wykonują operację lub serię operacji, lecz nie zwracają żadnej wartości. Można tworzyć własne procedury Sub lub wykorzystywać szablony procedur zdarzeń zdefiniowane w programie Microsoft Access.

Każdy formularz i raport w bazie danych posiada wbudowany moduł formularza lub moduł raportu, który zawiera szablony procedur. Można dodać kod uruchamiany w odpowiedzi na zdarzenia występujące w formularzu, raporcie lub formantach formularza czy raportu. Kiedy program Microsoft Access rozpoznaje wystąpienie zdarzenia w formularzu, raporcie lub formancie, automatycznie uruchamia procedurę zdarzenia dla danego obiektu lub zdarzenia. Można na przykład napisać procedurę ustawiającą fokus w polu tekstowym "Nazwisko żony/męża" uruchamianą w momencie zaznaczenia przez użytkownika pola wyboru "Żonaty/zamężna".

Wskazówka   Wiele kreatorów (na przykład Kreator przycisków poleceń) tworzących obiekty tworzy również procedury zdarzeń dla tych obiektów. Zapoznanie się z tymi procedurami zdarzeń ułatwia zrozumienie sposobu działania procedur.

•	Procedury typu Function (często zwane po prostu funkcjami) są to takie procedury, które zwracają jakąś wartość, na przykład wynik obliczenia. Język Visual Basic zawiera wiele wbudowanych funkcji. Na przykład funkcja Now zwraca bieżącą datę i godzinę. Istnieje również możliwość tworzenia własnych funkcji niestandardowych.

Ponieważ funkcje zwracają wartości, są używane w wyrażeniach. Wyrażenia zawierające funkcje są często wykorzystywane w programie Microsoft Access, na przykład w instrukcjach i metodach języka Visual Basic, w wielu ustawieniach właściwości czy w wyrażeniach kryteriów w filtrach i kwerendach.

Oto przykładowa procedura typu Function, FirstOfNextMonth, która zwraca datę pierwszego dnia kolejnego miesiąca (po dacie bieżącej):

Function FirstOfNextMonth()

FirstOfNextMonth = _

DateSerial(Year(Now), Month(Now) + 1, 1)

End Function

Ta funkcja niestandardowa składa się z jednej instrukcji przypisującej wyniki wyrażenia (po prawej stronie znaku równości [=]) nawie funkcji FirstOfNextMonth (po lewej stronie znaku równości). Wynik jest obliczany za pomocą wbudowanych funkcji języka Visual Basic: DateSerial, Year, Now i Month.

Po utworzeniu tej funkcji, można jej używać w dowolnych wyrażeniach w programie Microsoft Access. Na przykład, aby określić datę pierwszego dnia kolejnego miesiąca jako wartość domyślną dla pola tekstowego, w arkuszu właściwości należy ustawić właściwość DefaultValue pola tekstowego w następujący sposób:

=FirstOfNextMonth()

Uwaga   Aby użyć funkcji jako ustawienia właściwości, ta funkcja musi znajdować się w mudule formularza lub raportu lub w module standardowym. Nie można użyć funkcji w module klasy, która nie jest związana z formularzem lub raportem, jako ustawienia właściwości formularza lub raportu.

Zarówno procedury typu Sub, jak i procedury typu Function mogą akceptować argumenty. Aby uzyskać więcej informacji na temat użycia argumentów w języku Visual Basic, należy kliknąć [image].


Tworzenie procedur niestandardowych w języku Visual Basic

Przez rozszerzenie bazy danych, aby akceptowała procedury języka Visual Basic for Applications, można dostosować sposób, w jaki współdziałają tabele, formularze, raporty i kwerendy w bazie danych. Istnieje kilka typów procedur. Można utworzyć procedurę zdarzenia przez dodanie kodu do predefiniowanych szablonów w module formularza lub module raportu. Można również tworzyć własne procedury typu Function lub procedury typu Sub w modułach standardowych lub w modułach klasy (które obejmują moduły formularzy i raportów.)

W module standardowym lub module klasy można wywoływać procedury z wyrażeń, innych procedur, procedur zdarzeń, procedur w innych modułach i makr. Procedury zdarzeń są wykonywane automatycznie w odpowiedzi na określone zdarzenia (takie jak kliknięcia myszą) występujące w formularzu, raporcie lub formancie.

Co chcesz zrobić?

Utworzyć funkcję niestandardową

Utworzyć niestandardową procedurę Sub

Utworzyć procedurę zdarzenia


Tworzenie funkcji niestandardowych

1	Otwórz nowy moduł.

•	Aby otworzyć nowy moduł standardowy, kliknij kartę Moduły w oknie bazy danych, a następnie kliknij przycisk Nowy. Aby otworzyć istniejący moduł standardowy, kliknij kartę Moduły, zaznacz moduł, który ma być otwarty, a następnie kliknij przycisk Projekt.

•	Aby otworzyć moduł formularza lub moduł raportu, otwórz odpowiedni formularz lub raport w widoku Projekt, a następnie kliknij przycisk Kod  [image]  na pasku narzędzi.

•	Aby otworzyć nowy moduł klasy, który nie jest związany z formularzem lub raportem, w oknie bazy danych kliknij polecenie Moduł klasy w menu Wstaw. Aby otworzyć istniejący moduł klasy, w oknie bazy danych kliknij kartę Moduły, zaznacz moduł, który ma być otwarty, a następnie kliknij przycisk Projekt.

2	Zadeklaruj funkcję, wpisując instrukcję Function.

3	Wpisz nazwę funkcji i bezpośrednio po niej wszelkie argumenty funkcji ujęte w nawias. Na przykład w następującej deklaracji funkcji IsLoaded argumentem jest strFormName:

Function IsLoaded(strFormName As String) As Boolean

4	Dodaj kod języka Visual Basic for Applications uruchamiający operację lub obliczenie, które ma wykonywać funkcja.

Aby uzyskać dodatkowe informacje na temat instrukcji Function, należy kliknąć  [image].


Tworzenie niestandardowych procedur typu Sub

1	Otwórz nowy moduł.

•	Aby otworzyć nowy moduł standardowy, kliknij kartę Moduły w oknie bazy danych, a następnie kliknij przycisk Nowy. Aby otworzyć istniejący moduł standardowy, kliknij kartę Moduły, zaznacz moduł, który ma być otwarty, a następnie kliknij przycisk Projekt.

•	Aby otworzyć moduł formularza lub moduł raportu, otwórz odpowiedni formularz lub raport w widoku Projekt, a następnie kliknij przycisk Kod  [image]  na pasku narzędzi.

•	Aby otworzyć nowy moduł klasy, który nie jest związany z formularzem lub raportem, w oknie bazy danych kliknij polecenie Moduł klasy w menu Wstaw. Aby otworzyć istniejący moduł klasy, w oknie bazy danych kliknij kartę Moduły, zaznacz moduł, który ma być otwarty, a następnie kliknij przycisk Projekt.

2	Zadeklaruj funkcję, wpisując instrukcję Sub.

3	Wpisz nazwę procedury i bezpośrednio po niej wszelkie argumenty funkcji ujęte w nawias. Na przykład, w następującej deklaracji procedury Sub ShowEvent argumentem jest (EventName As String):

Sub ShowEvent(EventName As String)

4	Dodaj kod języka Visual Basic for Applications uruchamiający operację, którą ma wykonywać funkcja.

Aby uzyskać dodatkowe informacje na temat instrukcji Sub, należy kliknąć  [image]. Aby uzyskać dodatkowe informacje dotyczące pisania procedur Sub, należy kliknąć  [image].


Tworzenie procedur zdarzeń

W programie Microsoft Access łatwo jest uruchomić kod w odpowiedzi na akcję wykonaną przez użytkownika. Jeśli właściwość zdarzenia dla formularza, raportu lub formantu zostanie ustawiona na wartość [Procedure zdarzenia], program Microsoft Access tworzy szablon procedury zdarzenia. Wszystko co musi zrobić użytkownik to dodać kod, który ma być uruchamiany w odpowiedzi na określone zdarzenie formularza, raportu lub formantu. Można na przykład dodać kod uruchamiany, gdy użytkownik kliknie przycisk polecenia lub zmieni dane.

1	Otwórz formularz w widoku "Projekt" formularza lub w widoku "Projekt" raportu.

2	Wyświetl arkusz właściwości dla formularza lub raportu, bądź sekcji czy formantu formularza lub raportu.

3	Kliknij kartę Zdarzenie.

4	Kliknij właściwość zdarzenia która ma uruchamiać procedurę. Na przykład, aby wyświetlić procedurę zdarzenia Change, kliknij właściwość OnChange (Przy zmianie).

5	Kliknij przycisk Buduj  [image]  obok pola właściwości, aby wyświetlić okno dialogowe Wybierz konstruktora.

6	Kliknij dwukrotnie ikonę Konstruktor kodu, aby wyświetlić instrukcje Sub i End Sub procedury zdarzenia w module formularza lub module raportu. Instrukcje te definiują lub deklarują procedurę zdarzenia.

Program Microsoft Access automatycznie deklaruje procedury zdarzeń dla każdego obiektu i zdarzenia w module formularza lub raportu, używając słowa kluczowego Private oznaczającego, że procedura może być dostępna tylko dla innych procedur tego samego modułu.

7	Dodaj kod do procedury zdarzenia, która ma być wykonana w przypadku wystąpienia zdarzenia. Na przykład, aby przy zmianie danych w polu tekstowym "CompanyName" komputer wydawał sygnał dźwiękowy, do procedury CompanyName_Change należy dodać instrukcję Beep w następujący sposób:

Private Sub CompanyName_Change()

Beep

End Sub

Procedura zdarzenia wykonywana jest przy każdym wystąpieniu zdarzenia Change dla tego obiektu.


Wykonywanie kodu języka Visual Basic

Kod języka Visual Basic for Applications jest uruchamiany w programie Microsoft Access przez wykonanie procedury typu Sub lub procedury typu Function. Procedury zawierają szereg instrukcji i metod, które wykonują operacje lub obliczają wartości.

Procedury są przechowywane w modułach. Moduł nie jest jednak uruchamiany bezpośrednio; procedury są wywoływane w wyrażeniach, innych procedurach lub makrach. Procedury zdarzeń w modułach formularza lub raportu są również uruchamiane w odpowiedzi na akcje użytkownika.

Aby w  programie Microsoft Access uruchomić kod języka Visual Basic, można:

•	Utworzyć procedurę zdarzenia. Gdy użytkownik wykonuje akcję wywołując określone zdarzenie, procedura zdarzenia jest uruchamiana.

Można na przykład dodać kod do procedury zdarzenia Click przycisku polecenia, powodujący otwarcie formularza po kliknięciu przycisku przez użytkownika. Aby uzyskać więcej informacji na temat tworzenia procedur zdarzeń, należy klinąć  [image].

•	Użyć funkcji w wyrażeniu lub w okienku bezpośrednim okna analizy programu.

Można na przykład użyć funkcji w wyrażeniu definiującym pole obliczeniowe formularza, raportu lub kwerendy. Wyrażenia mogą być wykorzystywane jako ustawienia właściwości w kwerendach i filtrach, w makrach i akcjach, w instrukcjach i metodach języka Visual Basic lub w instrukcjach SQL. Aby uzyskać więcej informacji na temat tworzenia funkcji niestandardowych, należy kliknąć  [image].

•	Wywoływać procedurę typu Sub w innej procedurze lub w okienku bezpośrednim okna analizy programu.

Jeśli jakiś kod jest często wykonywany, można umieścić go w procedurze Sub. Zamiast w każdej procedurze powtarzać kod języka Visual Basic, uruchamiający wykonanie danej operacji, wystarczy raz utworzyć wspólną procedurę i wywoływać ją za każdym razem, kiedy operacja ma być wykonana. Aby uzyskać więcej informacji na temat tworzenia procedur typu Sub, należy kliknąć  [image].

•	Kliknąć polecenie Idź/Kontynuuj z menu Uruchom w oknie modułu, aby wykonać procedurę, która nie pobiera argumentów.

W oknie modułu należy umieścić kursor na procedurze, która ma być uruchomiona, a następnie kliknąć polecenie Idź/Kontynuuj z menu Uruchom.

•	Wykonać akcję UruchomKod (RunCode) w makrze.

Akcji UruchomKod (RunCode) można użyć do uruchomienia wbudowanej funkcji języka Visual Basic lub funkcji utworzonej przez użytkownika. Aby wykonać procedurę typu Sub  lub procedurę zdarzenia, należy utworzyć funkcję, która wywołuje procedurę Sub lub procedurę zdarzenia, a następnie użyć akcji UruchomKod do uruchomienia tej funkcji. Aby uzyskać więcej informacji na temat akcji UruchomKod, należy kliknąć  [image].


Wykonywanie akcji makra w procedurze języka Visual Basic

W programie Microsoft Access zdefiniowano specjalny obiekt, DoCmd, który jest używany do wykonywania akcji w procedurach języka Visual Basic for Applications. Akcja jest wykonywana przez dodanie metody obiektu DoCmd do odpowiedniej procedury. Większość akcji posiada odpowiadającą im metodę obiektu DoCmd.

•	W procedurze należy dodać metodę DoCmd odpowiadającą danej akcji, używając następującej składni:

DoCmd.metoda [argumenty]

Metoda jest nazwą metody. Argumenty są argumentami tej metody, o ile takie istnieją.

Na przykład, aby utworzyć procedurę wykonującą akcję OtwórzFormularz, należy dodać do procedury metodę OpenForm obiektu DoCmd. Użycie tej metody jest równoważne zastosowaniu akcji OtwórzFormularz. Zostaje otwarty formularz "Add Products":

DoCmd.OpenForm "Add Products"

Kilka akcji nie posiada odpowiadających im metod obiektu DoCmd, choć część z nich ma równoważne instrukcje lub funkcje języka Visual Basic. Aby obejrzeć listę tych akcji i dowiedzieć się, jakie mają odpowiedniki w języku Visual Basic, należy kliknąć  [image].


Akcje makr nie mające odpowiadających im metod obiektu DoCmd

Akcja	Odpowiednik w języku Visual Basic for Applications
DodajMenu (AddMenu)	Brak odpowiednika
OknoKomunikatu (MsgBox)	Funkcja MsgBox
UruchomAplikację (RunApp)	Funkcja Shell
UruchomKod (RunCode)	Wywołanie procedury (instrukcja Call)
WyślijKlawisze (SendKeys)	Instrukcja SendKeys
UstawWartość (SetValue)	Instrukcja przypisująca (instrukcja Let)
ZatrzymajWszystkieMakra (StopAllMacros)	Instrukcja Stop lub End
ZatrzymajMakro (StopMacro)	Instrukcja Exit Sub lub Exit Function


Uzyskiwanie Pomocy na temat języka Visual Basic

Istnieje wiele sposobów uzyskiwania Pomocy, dzięki której można znaleźć odpowiedzi na pytania związane z językiem Visual Basic for Applications oraz uzyskać informacje na temat słów kluczowych tego języka. Poniżej podano opisy najbardziej typowych i wygodnych sposobów uruchamiania Pomocy.

Uwaga   Jeśli przy instalacji programu Microsoft Access została wybrana opcja Instalacja standardowa, tematy Pomocy związane z językiem dla elementów programu Microsoft Access używanych również przez inne aplikacje nie są instalowane. Nie są na przykład instalowane tematy Pomocy dotyczące niektórych funkcji i instrukcji języka Visual Basic. Aby zainstalować wszystkie tematy związane z językiem, należy ponownie uruchomić Instalatora i kliknąć przycisk Dodaj/Usuń. W oknie dialogowym Dostosuj należy kliknąć opcję Tematy Pomocy, kliknąć przycisk Zmień opcję, a następnie kliknąć opcję Opis języka.

Aby uruchomić Pomoc, można:

•	Nacisnąć klawisz F1 w module języka Visual Basic. W trakcie pracy w module można bezpośrednio uzyskać Pomoc na temat metody, właściwości, funkcji, instrukcji lub obiektu, klikając odpowiednie słowo kluczowe w wierszu kodu i naciskając klawisz F1.

•	Nacisnąć klawisz F1 w Przeglądarce obiektów. Do wyświetlenia informacji na temat obiektów, właściwości, metod i stałych można użyć Przeglądarki obiektów. Aby uzyskać informacje na temat użycia Przeglądarki obiektów, należy kliknąć  [image].

•	Zapytać Asystenta Office. Aby wyświetlić chmurkę asystenta i wpisać pozycję, należy kliknąć przycisk Asystent pakietu Office na pasku narzędzi lub, jeśli asystent jest już wyświetlany bez chmurki, należy kliknąć asystenta. Za pomocą asystenta można łatwo znaleźć żądane tematy. Należy tylko wpisać zadanie dla asystenta, a następnie wybrać jeden z zaproponowanych przez niego tematów. Im ściślej określone jest zadanie dla asystenta, tym węższy będzie zakres proponowanych tematów. Przykładem zadania dla asystenta jest "Zaprogramuj formularz, aby automatycznie aktualizował dane".

Uwagi

•	Gdy aktywne jest okno Moduł, Asystent Office domyślnie szuka tylko tematów w plikach programowania Pomocy. Aby zmienić to ustawienie domyślne tak, aby były przeszukiwane zarówno pliki programowania Pomocy, jak i wynikowe pliki Pomocy, prawym przyciskiem myszy należy kliknąć Asystenta Office, kliknąć przycisk Opcje, a następnie zaznaczyć pole wyboru Przy programowaniu szukaj zarówno w plikach wynikowych, jak i w plikach programowania.

•	Jeśli aktywne jest jakiekolwiek okno inne niż okno Moduł, Asystent Office przeszukuje tylko wynikowe pliki Pomocy. Pomoc na temat akcji i właściwości programu Microsoft Access jest dostępna zarówno z Pomocy wynikowej, jak i z  Pomocy programowania.

•	Użyć kart Spis treści, Indeks i Znajdź. W oknie dialogowym Tematy Pomocy znajduje się szereg kart, umożliwiających korzystanie z informacji zawartych w Pomocy na kilka sposobów: Aby wyświetlić to okno dialogowe, należy kliknąć polecenie Spis treści i indeks w menu Pomoc.

•	Kliknij kartę Spis treści, a następnie kliknij dwukrotnie książkę Programowanie w Microsoft Access i opis języka lub Visual Basic for Applications, aby wyświetlić kategorie informacji (akcje, zdarzenia, funkcje, obiekty i kolekcje, metody, właściwości czy instrukcje). Kliknij dwukrotnie książkę kategorii, aby obejrzeć listę tematów dla każdej kategorii.

Aby wydrukować temat lub książkę tematów, zaznacz temat lub książkę, a następnie kliknij polecenie Drukuj.

•	Kliknij kartę Indeks, aby wyświetlić listę haseł indeksu dla tematów Pomocy. W pierwszym polu wpisz pierwszych kilka liter poszukiwanego słowa. W drugim polu kliknij odpowiednie hasło, a następnie kliknij przycisk Wyświetl.

Uwaga Jeśli kilka haseł ma tę samą nazwę, dla rozróżnienia tych haseł w indeksie podawany jest produkt lub obszar produktu, do którego odnoszą się kolejne tematy. Pierwszy temat nie będzie zidentyfikowany przez produkt lub obszar produktu.

•	Kliknij kartę Znajdź, aby znaleźć w Pomocy żądane słowo lub wyrażenie.

Wskazówki

•	Aby przełączyć się między aktywną aplikacją i Pomocą, należy nacisnąć klawisze  ALT+TAB lub użyć paska zadań systemu Windows. Jeśli Pomoc pozostanie aktywna, można natychmiast powrócić do ostatnio sprawdzanego hasła.

•	Aby skopiować wybrany tekst, zmienić rozmiar czcionki, wydrukować, wstawić adnotację lub zostawić na wierzchu okno Pomocy, należy użyć menu podręcznego.


Kopiowanie przykładów kodu języka Visual Basic z Pomocy do okna modułu

1	Wybierz przykład kodu, który ma być skopiowany, a następnie kliknij go prawym przyciskiem myszy.

2	W menu podręcznym kliknij polecenie Kopiuj.

3	Przełącz się do programu Microsoft Access.

4	Wklej przykład do modułu.


Praca z obiektami języka Visual Basic przy użyciu Przeglądarki obiektów

Można użyć Przeglądarki obiektów do oglądania i poruszania się między obiektami dostępnymi w programie Microsoft Access i innymi aplikacjami obsługującymi język Visual Basic for Applications, jak również między metodami i właściwościami każdego obiektu. Jeśli metoda lub właściwość zostanie znaleziona za pomocą Przeglądarki obiektów, można wkleić jej składnię do aktywnego modułu.

Co chcesz zrobić?

Znaleźć metodę lub właściwość w Przeglądarce obiektów

Użyć Przeglądarki obiektów, aby wkleić składnię metody lub właściwości do modułu języka Visual Basic


Znajdowanie metody lub właściwości za pomocą Przeglądarki obiektów

1	Otwórz dowolny moduł.

2	Kliknij przycisk Przeglądarka obiektów  [image]  na  pasku narzędzi.

3	W polu Projekt/Biblioteka (górne pole po lewej stronie) kliknij nazwę Access lub nazwę innej biblioteki.

4	W polu Klasy kliknij żądany obiekt.

5	W polu Składowe kliknij wybraną metodę lub właściwość.

Uwaga

•	Aby uzyskać Pomoc na temat wybranej klasy, metody, zdarzenia lub właściwości należy kliknąć przycisk Pomoc  [image]  w Przeglądarce obiektów.

•	Aby obejrzeć obiekty znajdujące się w bibliotece obiektów Microsoft Office 8.0 takie, jak paski poleceń, należy ustawić odwołanie do tej biblioteki. W oknie Moduł należy kliknąć polecenie Odwołania w menu Narzędzia, a następnie zaznaczyć pole wyboru Biblioteka obiektów Microsoft Office 8.0.


Używanie Przeglądarki obiektów do wklejania składni metody lub właściwości do modułu

1	Zaznacz metodę lub właściwość w Przeglądarce obiektów.

2	W dolnej części Przeglądarki obiektów zaznacz składnię, która ma być wklejona.

3	Kliknij przycisk Kopiuj do Schowka  [image]  w Przeglądarce obiektów.

4	Kliknij moduł, w którym ma być wklejona składnia.

5	Kliknij przycisk Wklej  [image]  na pasku narzędzi.

Program Microsoft Access wkleja składnię metody lub właściwości do modułu.

Uwaga   Po wklejeniu składni dla procedur Sub należy usunąć wszelkie nawiasy obejmujące znaki rezerwacji miejsca.


Zmiana sposobu wyświetlania kodu języka Visual Basic w oknie modułu

1	W menu Narzędzia kliknij polecenie Opcje.

Pokaż

2	Kliknij kartę Moduł.

3	Ustaw odpowiednie opcje.

Ustawiając opcje w oknie dialogowym Opcje można zmieniać kolor, czcionkę, rozmiar czcionki i szerokość karty używanej przy wpisywaniu kodu języka Visual Basic for Applications w oknie modułu. Można również określić, czy ma być wyświetlany cały moduł (ustawienie domyślne) czy procedury mają być wyświetlane w oknie modułu pojedynczo, a także ustawić różne dodatkowe opcje pracy w oknie modułu.

Aby uzyskać dodatkowe informacje na temat żądanej opcji, należy kliknąć przycisk Co to jest?    na pasku tytułu okna dialogowego Opcje,  a następnie kliknąć wybraną opcję.


Wyłączanie funkcji sprawdzania składni kodu Visual Basic

Program Visual Basic for Applications automatycznie sprawdza składnię kodu wpisywanego w oknie modułu. Aby wyłączyć tę funkcję:

1	W menu Narzędzia kliknij polecenie Opcje.

Pokaż

2	Kliknij kartę Moduł.

3	W polu Opcje kodowania zaznacz pole wyboru Automatyczne sprawdzanie składni.


Ignorowanie obsługi błędów w kodzie języka Visual Basic

Po dodaniu instrukcji On Error do procedury języka Visual Basic for Applications, program Visual Basic automatycznie włącza funkcję obsługi błędów w momencie wystąpienia błędu. W niektórych sytuacjach, na przykład podczas analizy procedur, może być przydatne zignorowanie kodu obsługi błędów w procedurze.

1	W menu Narzędzia kliknij polecenie Opcje.

Pokaż

2	Kliknij kartę Zaawansowane.

3	W polu Przechwytywanie błędów zaznacz pole wyboru Przerywanie przy każdym błędzie.

Po zaznaczeniu tych opcji tryb przerwania będzie wprowadzany automatycznie, gdy wystąpi błąd, niezależnie od funkcji obsługi błędów.


Wymaganie deklaracji zmiennych w kodzie języka Visual Basic

Język Visual Basic for Applications nie wymaga automatycznie jawnego deklarowania zmiennej przed użyciem jej w procedurze. Jeśli zostanie użyta zmienna, która nie była zadeklarowana w sposób jawny, w języku Visual Basic jest ona deklarowana niejawnie jako zmienna typu Variant.

Mimo, że takie niejawne deklarowanie jest wygodne, może prowadzić do powstawania błędów w kodzie. Aby była wymagana deklaracja zmiennych przed użyciem ich w procedurze:

1	W menu Narzędzia kliknij polecenie Opcje.

Pokaż

2	Kliknij kartę Moduł.

3	W polu Opcje kodowania zaznacz pole wyboru Żądanie deklaracji zmiennych.

Jeśli pole wyboru Żądanie deklaracji zmiennych jest zaznaczone, program  Microsoft Access automatycznie dołącza instrukcję Option Explicit w sekcji Deklaracje wszystkich nowych modułów w bazie danych, łącznie z modułami formularzy lub raportów związanych z nowymi formularzami lub raportami. Aby uzyskać więcej informacji na temat instrukcji Option Explicit, należy kliknąć  [image].


Określanie argumentu wiersza polecenia, który może być użyty w kodzie języka Visual Basic

Przy uruchamianiu programu Microsoft Access z wiersza poleceń można użyć opcji polecenia /cmd, aby określić argument wiersza poleceń który może być użyty w kodzie języka Visual Basic for Applications. Aby określić ten argument po otwarciu bazy danych:

1	W menu Narzędzia kliknij polecenie Opcje.

Pokaż

2	Kliknij kartę Zaawansowane.

3	W obszarze Tylko bieżąca baza danych wpisz argument w polu Argumenty polecenia.

Aby uzyskać więcej informacji na temat opcji wiersza polecenia /cmd, należy kliknąć [image].


Analiza kodu języka Visual Basic

Co chcesz zrobić?

Przeczytać więcej na temat usuwania błędów

Użyć punktu przerwania do wstrzymania wykonywania kodu

Wykonać kod wiersz po wierszu

Sprawdzić wartości wyrażeń i zmiennych używając okna analizy programu

Monitorować wartości wyrażeń i zmiennych przez określanie wyrażenia czujki

Śledzić wywoływania procedur języka Visual Basic

Wyświetlać wartość zmiennej w okienku zmiennych lokalnych okna analizy

Wyświetlać wartość zmiennej lub wyrażenia w oknie modułu, gdy wykonywanie kodu jest zawieszone


Używanie punktu przerwania do wstrzymania wykonywania kodu języka Visual Basic

Po zawieszeniu wykonywania kodu języka Visual Basic for Applications, kod jest wciąż uruchomiony, lecz jest wstrzymane wykonywanie kolejnej instrukcji. Gdy wykonywanie kodu jest wstrzymane, można przeprowadzać zadań analizy, takie jak sprawdzanie aktualnych wartości zmiennych czy wykonywanie kodu wiersz po wierszu. Aby wstrzymać wykonywanie kodu języka Visual Basic, można wstawić punkt przerwania.

1	W oknie modułu ustaw kursor w wierszu kodu, który nie zawiera punktu przerwania ani deklaracji.

2	Kliknij przycisk Przełącz punkt przerwania  [image]  na pasku narzędzi.

Aby usunąć punkt przerwania, ustaw kursor w wierszu, w którym znajduje się punkt przerwania, a następnie kliknij przycisk Przełącz punkt przerwania  [image]  na pasku narzędzi. Aby wznowić wykonywanie kodu, należy kliknąć polecenie Idź/Kontynuuj w menu Uruchom.

Uwaga   Wykonywanie kodu można również wstrzymać przez dodanie do procedury instrukcji Stop lub przez naciśnięcie klawiszy CTRL+BREAK podczas wykonywania kodu.


Krokowa analiza kodu języka Visual Basic

Analiza programu napisanego w języku Visual Basic krok po kroku pomaga znaleźć miejsce wystąpienia błędu. Można sprawdzić, czy wykonanie każdego wiersza programu daje oczekiwane wyniki.

1	Wstrzymaj wykonywanie kodu.

Jak?

Program Microsoft Access wyświetla wiersz, przy którym wstrzymano wykonywanie kodu.

2	Wykonaj jedno z poniższych działań:

•	Aby przeglądać każdy wiersz kodu łącznie z wierszami zawartymi w procedurze wywoływanej przez inną procedurę, kliknij przycisk Krokowo  [image]  na pasku narzędzi.

•	Aby przeglądać kolejno każdy wiersz kodu, ale uruchamiać wywoływane procedury w całości, kliknij przycisk Krokowo z pomijaniem  [image]  na pasku narzędzi.

•	Aby wykonać kod poprzedzający bieżący wiersz, a następnie wstrzymać wykonywanie i dalszy ciąg kodu analizować krokowo, kliknij polecenie Uruchom do kursora w menu Analizuj program.

•	Aby wykonać dalszy ciąg bieżącej procedury, a następnie wrócić do następnego wiersza kodu procedury poprzedzającej bieżącą procedurę w drzewie wywołań, kliknij przycisk Step Out  [image]  na pasku narzędzi.

Uwaga   Przycisk Krokowo może być używany bez potrzeby zawieszania wykonywania kodu. W oknie Moduł należy umieścić kursor na procedurze, która ma być wykonywana krokowo, a następnie kliknąć przycisk Krokowo [image] na pasku narzędzi.

Można używać wszystkich podanych wyżej sposobów analizy krokowej. Wybranie właściwej metody zależy od tego, które fragmenty kodu mają być analizowane.


Użycie okienka bezpośredniego w oknie analizy programu podczas pracy w języku Visual Basic

Okienko bezpośrednie w oknie analizy programu jest używane do sprawdzania wyników działania jednego wiersza kodu języka Visual Basic for Applications. Można go użyć do sprawdzenia wartości formantu, pola lub właściwości, do wyświetlenia wyniku wyrażenia lub do przypisania nowej wartości zmiennej, polu lub właściwości. Okienko bezpośrednie jest rodzajem brudnopisu, w którym instrukcje, metody i procedury Sub są wyliczane bezpośrednio.

1	Jeśli chcesz użyć okienka bezpośredniego na określonym etapie wykonywania kodu, wstrzymaj wykonywanie kodu w tym właśnie momencie.

Jak?

2	Kliknij przycisk Okno analizy programu  [image]  na pasku narzędzi.

3	Wpisz wywołanie instrukcji, metody, procedury Function lub Sub w oknie, a następnie naciśnij klawisz ENTER.

Wskazówki

•	Można obejrzeć wyniki wyrażenia w okienku bezpośrednim wprowadzając metodę Print do obiektu Debug i podając odpowiednie wyrażenie. Jako skrótu metody Print można użyć znaku zapytania (?). Na przykład, po wpisaniu w okienku bezpośrednim jednego z poniższych wierszy kodu, wyświetlona zostanie wartość zwracana przez funkcję niestandardową FirstOfNextMonth:

Debug.Print FirstOfNextMonth()

? FirstOfNextMonth()

Można również dodać metodę Print obiektu Debug do kodu języka Visual Basic, aby wyświetlić w okienku bezpośrednim wartości lub wyniki wyrażeń podczas wykonywania kodu. Po zakończeniu wykonywania kodu można obejrzeć otrzymane wyniki.

•	Można wyświetlić okienko bezpośrednie w dowolnym oknie programu Microsoft Access naciskając klawisze CTRL+G.


Ustawianie wyrażenia czujki w kodzie języka Visual Basic

Po wstrzymaniu wykonywania kodu języka Visual Basic for Applications można obserwować wartości wyrażeń czujki w okienku czujki okna analizy programu. Można również uruchomić szybką czujkę, pozwalającą obejrzeć wartość wyrażenia, które nie zostało określone jako wyrażenie czujki.

Co chcesz zrobić?

Dodać wyrażenie czujki w okienku czujki okna analizy programu

Uruchomić szybką czujkę


Dodawanie wyrażenia czujki w okienku czujki okna analizy programu

1	Otwórz procedurę w oknie Moduł.

2	W menu Narzędzia kliknij polecenie Dodaj czujkę.

3	Jeśli wyrażenie zostało wcześniej zaznaczone w oknie modułu, jest ono automatycznie wyświetlane w oknie dialogowym. Jeśli nie jest wyświetlone żadne wyrażenie, wpisz wyrażenie, które ma zostać sprawdzone. Można podać zmienną, właściwość, wywołanie funkcji lub jakiekolwiek inne poprawne wyrażenie.

Zamiast wpisywać wyrażenie można je zaznaczyć w oknie modułu i przeciągnąć do okienka czujki.

4	Aby określić zakres, w jakim wyrażenie ma być sprawdzane, wybierz kontekst modułu i procedury w polu Kontekst.

Uwaga   Należy zaznaczyć możliwie najwęższy przedział odpowiadający potrzebom. Zaznaczenie wszystkich procedur lub wszystkich modułów może spowolnić wykonywanie kodu.

5	Aby określić, w jaki sposób system ma odpowiadać na wyrażenie czujki, wybierz jedną z opcji w polu Typ czujki.

•	Aby wyświetlić wartość wyrażenia czujki, kliknij opcję Wyrażenie czujki.

•	Aby wstrzymać wykonywanie kodu, jeśli wyrażenie ma wartość Prawda, kliknij opcję Przerwij, gdy wartość jest prawdziwa.

•	Aby wstrzymać wykonywanie kodu, jeśli wartość wyrażenia ulegnie zmianie, kliknij opcję Przerwij, gdy wartość się zmienia.

Podczas wykonywania kodu okienko czujki pokazuje wartość ustawionego wyrażenia. Aby zmodyfikować wyrażenie czujki, zaznacz wyrażenie w okienku czujki, a następnie kliknij polecenie Edytuj czujkę w menu Narzędzia. Aby usunąć wyrażenie czujki, kliknij przycisk Usuń w oknie dialogowym Edytuj czujkę.


Uruchamianie szybkiej czujki w trakcie analizy kodu języka Visual Basic

1	Wstrzymaj wykonywanie kodu języka Visual Basic for Applications.

Jak?

2	Zaznacz wyrażenie, którego wartość chcesz obejrzeć.

3	Kliknij przycisk Szybka czujka  [image]  na pasku narzędzi.

Program Microsoft Access wyświetla okno dialogowe Szybka czujka, w którym można obejrzeć wyrażenie i jego aktualną wartość. Kliknij przycisk Dodaj w tym oknie dialogowym, aby dodać wyrażenie do listy wyrażeń czujki w okienku czujki okna analizy programu.


Śledzenie wywoływania procedur w trakcie analizy kodu języka Visual Basic

Po wstrzymaniu wykonywania kodu języka Visual Basic for Applications w trakcie analizy programu, można użyć okna dialogowego Wywołania, aby obejrzeć listę procedur, które zostały uruchomione, lecz ich wykonanie nie zostało zakończone.

1	Wstrzymaj wykonywanie kodu języka Visual Basic.

Jak?

2	Kliknij przycisk Wywołanie stosu [image]  na pasku narzędzi.

Program Microsoft Access wyświetla ostatnio wywoływaną procedurę na szczycie listy. Po niej pojawia się poprzednia procedura itd. Aby wyświetlić instrukcję wywołującą kolejną procedurę z listy, kliknij przycisk Pokaż.


Praca z danymi i obiektami bazy danych przy użyciu kodu języka Visual Basic

Oprócz możliwości pracy z danymi i obiektami, takimi jak formularze i raporty, w interfejsie programu Microsoft Access do pisania procedur, które dynamicznie tworzą, usuwają i modyfikują dane oraz obiekty, można również używać języka Visual Basic for Applications. Można na przykład napisać procedurę umieszczającą tytuł na formularzu lub zmieniającą kolor pola w formularzu, gdy użytkownik wykonuje określoną akcję.

Można bezpośrednio w kodzie odwoływać się do danych i obiektów lub deklarować zmienne obiektowe, które będą je reprezentować. Po zadeklarowaniu zmiennej obiektowej i przypisaniu jej do obiektu, może być ona używana w taki sam sposób, jak nazwa obiektu, który reprezentuje. Jej wartość można zmieniać tak, jak wartość każdej zmiennej.

Na przykład, poniższa procedura Sub tworzy tabelę "Old Invoices" zawierającą tylko jedno pole OrderID:

Sub CreateTable ()

' Declare variables.

Dim dbs As Database, tbl As TableDef, fld As Field

' Assign the current database to the database

' variable.

Set dbs = CurrentDB

' Create a new table and field, and assign them

' to the table and field variables.

Set tbl = dbs.CreateTableDef("Old Invoices")

Set fld = tbl.CreateField("OrderID", dbText)

' Add the field to the table, then add the table

' to the database.

tbl.Fields.Append fld

dbs.TableDefs.Append tbl

dbs.TableDefs.Refresh

End Sub

Do obiektów Microsoft DAO należą tabele, kwerendy, relacje i indeksy, które pozwalają na zarządzanie danymi w bazie danych programu Microsoft Access. Obiekty takie nazywają się obiektami dostępu do danych (data access objects). Kod języka Visual Basic, używający obiektów dostępu do danych możne być udostępniany innym aplikacjom (takim jak program Microsoft Excel), które korzystają z obiektów Microsoft DAO.

Ponadto program  Microsoft Access definiuje cały szereg obiektów, które są używane do obróbki danych, takich jak formularze, raporty czy formanty.

Aby uzyskać więcej informacji na temat pracy z obiektami dostępu do danych, należy kliknąć  [image]  lub przeczytać rozdział 5 "Working with Objects and Collections" podręcznika Building Applications with Microsoft Access 97.


Konwersja makr na kod języka Visual Basic

Program Microsoft Access może automatycznie konwertować makra na procedury zdarzeń lub moduły języka Visual Basic for Applications, które wykonują równoważne akcje używając kodu języka Visual Basic. Można konwertować makra używane w formularzu lub raporcie, bądź makra globalne, które nie są dołączone do konkretnego formularza lub raportu.

Co chcesz zrobić?

Konwertować makra w formularzu lub raporcie

Konwertować makra globalne


Konwersja makr w formularzu lub raporcie na kod języka Visual Basic

1	Otwórz formularz lub raport w widoku "Projekt" formularza lub w widoku "Projekt" raportu.

2	Wskaż polecenie Makro w menu Narzędzia, a następnie kliknij polecenie Konwertuj makra formularzy na język Visual Basic lub Konwertuj makra raportów na język Visual Basic.


Konwersja makr globalnych na kod języka Visual Basic

1	W oknie bazy danych kliknij kartę Makra.

2	Kliknij nazwę makra, które ma być konwertowane.

3	W menu Plik kliknij polecenie Zapisz jako/Eksportuj.

4	W oknie dialogowym Zapisz jako wybierz opcję Zapisz jako moduł języka Visual Basic.


Używanie argumentów w języku Visual Basic

Argument dostarcza dodatkowych informacji procedurze, instrukcji lub metodzie. Przy tworzeniu procedury typu Function lub procedury typu Sub, deklarowane są argumenty, dzięki którym procedura przy wywoływaniu otrzymuje odpowiednie informacje.

Przy wywoływaniu procedury posiadającej argumenty, należy określić argumenty, które mają zostać jej przekazane. Argumenty określa się również dla wielu instrukcji i metod.

Co chcesz zrobić?

Utworzyć funkcję niestandardową

Utworzyć procedurę typu Sub

Określić argumenty procedury, instrukcji lub metody


Określanie argumentów procedury, instrukcji lub metody w kodzie języka Visual Basic

•	Argumenty należy określić bezpośrednio po nazwie procedury, instrukcji lub metody. W przypadku procedury typu Function lub metody zwracającej wartość, argumenty muszą być podane w nawiasie. Przy określaniu kilku argumentów, należy je oddzielić przecinkami.

Na przykład, użycie poniższej metody Close obiektu DoCmd powoduje zamknięcie formularza "Add Products". Metoda ta akceptuje dwa argumenty: acForm i "Add Products":

DoCmd.Close acForm, "Add Products"

Ponieważ metoda Close ta nie zwraca wartości, argumenty nie są ujęte w nawias.

Wskazówka   Można użyć Przeglądarki obiektów, aby wkleić składnię metody lub właściwości, łącznie z argumentami, do kodu języka Visual Basic for Applications. Przeglądarka obiektów wkleja nazwane argumenty, które mogą być określone w dowolnej kolejności. Można użyć tych argumentów lub zastąpić je argumentami standardowymi. Aby uzyskać dodatkowe informacje na temat używania Przeglądarki obiektów, należy kliknąć  [image]. Aby uzyskać dodatkowe informacje na temat użycia nazwanych argumentów, należy kliknąć  [image] .


Usuwanie błędów w kodzie języka Visual Basic

Analiza jest procesem używanym do znajdowania i usuwania błędów w kodzie języka Visual Basic for Applications. Podczas wykonywania kodu mogą wystąpić trzy rodzaje błędów:

•	Błędy czasu kompilacji występują, gdy kod jest niepoprawnie skonstruowany. Mogło się zdarzyć, że użytkownik zapomniał uzupełnić daną instrukcję instrukcją, która występuje z nią w parze (np. If i End If lub For i Next), albo omyłkowo naruszył w kodzie zasady języka Visual Basic (np. błąd literowy w słowie, brakujący separator, niezgodność typów).

Błędy czasu kompilacji obejmują również błędy składni, które są błędami gramatycznymi lub interpunkcyjnymi (np. niewłaściwe nawiasy lub niewłaściwa liczba argumentów przekazanych do funkcji).

•	Błędy wykonywania występują po uruchomieniu aplikacji. Przykładami błędów wykonywania są niedopuszczalne operacje, takie jak dzielenie przez zero lub zapisywanie do pliku, który nie istnieje.

•	Błędy logiczne występują wtedy, gdy aplikacja nie działa zgodnie z oczekiwaniami jej projektantów i dostarcza niewłaściwych wyników.

Aby pomóc w wyodrębnieniu wszystkich trzech rodzajów błędów i umożliwić monitorowanie wykonywania kodu, program Visual Basic został wyposażony w narzędzia analizy, które pozwalają wykonywać kod wiersz po wierszu, badać lub monitorować wartości wyrażeń i zmiennych i śledzić wywołania procedur.

Uwaga   W przypadku większości narzędzi analizy programu Microsoft Access ich użycie wymaga wstrzymania wykonywania kodu. Aby uzyskać więcej informacji, należy kliknąć  [image].


Korzystanie z okna modułu, okna analizy programu i Przeglądarki obiektów

Co chcesz zrobić?

Dowiedzieć się więcej na temat okna modułu

Dowiedzieć się więcej na temat okna analizy programu

Dowiedzieć się więcej na temat Przeglądarki obiektów


Tworzenie modułu klasy, który nie jest związany z formularzem lub raportem

1	W oknie bazy danych lub w oknie modułu kliknij polecenie Moduł klasy w menu Wstaw.

Pojawia się pusty moduł klasy.

2	Dodaj wszelkie deklaracje i procedury, które mają się znaleźć w module.

3	Aby zapisać moduł, kliknij przycisk Zapisz  [image]  na pasku narzędzi i podaj nazwę dla modułu klasy w oknie dialogowym Zapisz jako.

Po pierwszym zapisaniu modułu klasy jego nazwa jest wyświetlana na karcie Moduły w oknie bazy danych i można otworzyć ten moduł klasy klikając przycisk Projekt.

Aby uzyskać informacje dotyczące używania modułów klasy, należy kliknąć  [image]. Można je również znaleźć w rozdziale 2, "Wprowadzenie do języka Visual Basic", i w rozdziale 5, "Praca z obiektami i kolekcjami", podręcznika Tworzenie aplikacji Microsoft Access 97.


Wyświetlanie informacji o składni w oknie modułu

1	W menu Narzędzia kliknij polecenie Opcje.

2	Kliknij kartę Moduł.

3	Upewnij się, czy w polu Opcje kodowania zaznaczona jest opcja Automatycznie pokazuj składnię.

Jeśli opcja Automatycznie pokazuj składnię jest zaznaczona, program Microsoft Access wyświetla informacje o składni w oknie modułu. Jeśli użytkownik wpisze nazwę metody lub istniejącej procedury, a po niej spację lub otwarty nawias, automatycznie pojawia się wskazówka podająca informacje o metodzie lub procedurze, takie jak np. akceptowane argumenty.


Wyświetlanie wartości zmiennej lub wyrażenia w oknie modułu, gdy wykonywanie kodu jest wstrzymane

1	W menu Narzędzia kliknij polecenie Opcje.

2	Kliknij kartę Moduł.

3	Upewnij się, czy w polu Opcje kodowania zaznaczona jest opcja Automatycznie pokazuj wartości zmiennych.

Jeśli opcja Automatycznie pokazuj wartości zmiennych jest zaznaczona, można sprawdzić wartość zmiennej lub wyrażenia, gdy wykonywanie kodu jest wstrzymane. Należy przytrzymać wskaźnik myszy na zmiennej lub wyrażeniu, aby wyświetlić ich bieżącą wartość.


Wyświetlanie wartości zmiennych w okienku zmiennych lokalnych okna analizy programu

1	Wstrzymaj wykonywanie kodu języka Visual Basic for Applications.

Jak?

2	Kliknij przycisk Okno analizy programu  [image]  na pasku narzędzi.

W górnej połowie okna Analiza programu, na karcie Zmienne lokalne program Microsoft Access automatycznie wyświetla nazwy, bieżące wartości i typy wszystkich zmiennych i obiektów w bieżącej procedurze. Wartości w okienku wartości lokalnych są aktualizowane za każdym razem, gdy wstrzymywane jest wykonywanie kodu. Wartość zmiennej w okienku wartości lokalnych można zmienić zaznaczając istniejącą wartość i wprowadzając nową.


Wyświetlanie listy odpowiednich obiektów, właściwości i metod w oknie modułu

1	W menu Narzędzia kliknij polecenie Opcje.

2	Kliknij kartę Moduł.

3	Upewnij się, czy w polu Opcje kodowania zaznaczona jest opcja Automatycznie pokazuj listę składników.

Jeśli opcja Automatycznie pokazuj listę składników jest zaznaczona, program Microsoft Access pomaga użytkownikowi w dokończeniu instrukcji podczas pisania kodu języka Visual Basic for Applications. Jeśli użytkownik wpisze nazwę obiektu, a po niej spację lub otwarty nawias, program Microsoft Access wyświetla listę odpowiednich obiektów, właściwości i metod, które można wpisać po nazwie obiektu. Można używać kilku klawiszy, aby wprowadzić pozycję z listy do bieżącego wiersza kodu.

Klawisz	Efekt
TAB	Wprowadza pozycję
Klawisz spacji	Wprowadza pozycję, a po niej spację
ENTER	Wprowadza pozycję i przenosi kursor do następnego wiersza
Uwaga   Aby ukryć tę listę, należy nacisnąć klawisz ESC.


Rozwiązywanie problemów związanych z modułami języka Visual Basic

W czym chcesz uzyskać Pomoc?

Jak znaleźć błędy w kodzie języka Visual Basic for Applications?

Użycie argumentu criteria w funkcji DLookup lub innej funkcji agregującej domen daje wynik inny niż spodziewany.

Co zrobić, aby podczas wykonywaniu programu na ekranie nie były wyświetlane komunikaty?

Jak w języku Visual Basic for Applications dodać nowy rekord do tabeli?

Użycie w procedurze jednej z metod typu Find nie daje spodziewanych wyników.

Chcę przetestować działanie procedury typu Function lub Sub.

Przy próbie użycia funkcji IsLoaded wyświetlany jest komunikat "Nie zdefiniowano procedury typu Function lub Sub".

Przy próbie odwołania się w kodzie do pola tabeli wyświetlany jest komunikat "Metoda lub element danych nie został znaleziony".

Jak za pomocą języka Visual Basic for Applications zmienić podstawową instrukcję SQL kwerendy?


Co zrobić, aby przy wykonywaniu programu na ekranie nie były wyświetlane komunikaty?

Aby czasowo wstrzymać wyświetlanie ostrzeżeń i innych komunikatów podczas wykonywania kodu języka Visual Basic for Applications, należy użyć metody SetWarnings do wykonania akcji UstawOstrzeżenia (SetWarnings). Można również użyć metody SetWarnings, aby ponownie włączyć wyświetlanie komunikatów. Aby uzyskać więcej informacji, kliknij  [image].


Jak w języku Visual Basic for Applications dodać nowy rekord do tabeli?

Nowy rekord można programowo dodać do tabeli lub zestawu wyników przy użyciu metody AddNew i Update obiektu RecordSet. Aby uzyskać więcej informacji, kliknij  [image]  albo zajrzyj do rozdziału 9, "Operowanie polami i rekordami", podręcznika Tworzenie aplikacji  Microsoft Access 97.


Użycie w procedurze jednej z metod typu Find nie daje spodziewanych wyników.

Użycie metod FindFirst, FindLast, FindNext i FindPrevious może nie dać spodziewanych wyników w następujących sytuacjach:

•	W argumencie criteria została użyta nieprawidłowa składnia przy odwoływaniu się do wartości formantu lub właściwości. Aby uzyskać więcej informacji na temat odwoływania się do wartości formantu, kliknij  [image].

•	W argumencie criteria została użyta niepoprawna składnia przy łączeniu wartości pola, formantu lub właściwości z literałowym ciągiem znaków. Aby uzyskać więcej informacji na temat wartości używanych w wyrażeniach, kliknij  [image].

Użycie metod FindRecord i FindNext może nie dać spodziewanych wyników, jeśli argument onlycurrentfield metody FindRecord jest ustawiony na wartość acCurrent. Przed użyciem metody FindRecord lub FindNext należy za pomocą metody GoToControl przenieść fokus do formantu zawierającego poszukiwane dane.


Jak przetestować działanie procedury typu Function lub Sub?

Można użyć okienka bezpośredniego okna analizy programu do sprawdzenia wyników działania procedury typu Function lub Sub. Na przykład, aby zobaczyć, jaką wartość zwraca niestandardowa funkcja FirstOfNextMonth, należy wpisać znak zapytania, spację, nazwę funkcji, a następnie argumenty ujęte w nawias:

? FirstOfNextMonth(Now)

Aby uzyskać więcej informacji, kliknij  [image].


Przy próbie użycia funkcji IsLoaded wyświetlany jest komunikat "Nie zdefiniowano procedury typu Function lub Sub".
Przy próbie użycia funkcji IsLoaded wyświetlany jest komunikat o tym, że procedura typu Function lub Sub nie została zdefiniowana.

Funkcja IsLoaded jest przykładową procedurą typu Function dołączoną do bazy danych "Northwind", nie zaś wbudowaną funkcją języka Visual Basic for Applications. Aby użyć jej w bazie danych, należy najpierw otworzyć przykładową bazę danych "Northwind", następnie skopiować funkcję IsLoaded i wkleić ją do modułu we własnej bazie danych.

Aby uzyskać informacje na temat otwierania przykładowej bazy danych "Northwind", kliknij  [image].


Przy próbie odwołania się w kodzie do pola tabeli wyświetlany jest komunikat "Metoda lub element danych nie został znaleziony".
Przy próbie odwołania się w kodzie do pola tabeli wyświetlany jest komunikat o tym, że nie można odnaleźć metody lub składowej danych.

Komunikat ten jest wyświetlany w programie Microsoft Access, jeśli przy odwoływaniu się bezpośrednio do pola tabeli zamiast operatora ! zostanie użyty operator . (kropka). Błąd ten wystąpi na przykład w ostatnim wierszu poniższego fragmentu kodu języka Visual Basic for Applications:

Dim dbsCurrent As Database

Dim tblTest As TableDef

Dim fldTest As Field

Set dbsCurrent = CurrentDb

Set tblTest = dbsCurrent.TableDefs("Categories")

Set fldTest = tblTest.CategoryID

Aby usunąć ten problem, należy zastąpić operator . (kropka) operatorem ! lub odwołać się do pola jako do elementu kolekcji Fields. Można użyć jednego z dwóch następujących wierszy kodu, choć pierwszy może działać szybciej:

Set fldTest = tblTest!CategoryID

Set fldTest = tblTest.Fields("CategoryID")

Aby uzyskać więcej informacji na temat użycia operatorów . (kropka) i !, kliknij [image].


Jak za pomocą języka Visual Basic for Applications zmienić podstawową instrukcję SQL kwerendy?

Podstawową instrukcję SQL kwerendy można zmienić za pomocą właściwości SQL obiektu QueryDef. Na przykład, w poniższym fragmencie kodu języka Visual Basic for Applications zostaje zmieniona podstawowa instrukcja SQL kwerendy "Employee List", co powoduje, że kwerenda wybiera wszystkie rekordy tabeli "Employees":

Dim dbsCurrent As Database

Dim qryTest As QueryDef

Set dbsCurrent = CurrentDb

Set qryTest = dbsCurrent.QueryDefs("Employee List")

qryTest.SQL = "SELECT * FROM Employees;"

Aby uzyskać więcej informacji na temat właściwości SQL, kliknij  [image].


Optymalizacja działania kodu języka Visual Basic

Często najlepszym sposobem zwiększenia szybkości wykonywania kodu języka Visual Basic jest wybranie skuteczniejszego podejścia do pewnych zagadnień. Jednak istnieją również pewne techniki przyspieszające wykonywanie kodu.

•	Należy się upewnić, czy kod w bazie danych jest skompilowany. W oknie modułu należy kliknąć polecenie Skompiluj i zapisz wszystkie moduły z menu Analiza programu.

Uwaga   Po zmianie nazwy pliku bazy danych należy ponownie skompilować kod. Zmiana nazwy bazy danych powoduje dekompilację kodu znajdującego się w tej bazie danych.

•	Należy zawsze jawnie deklarować zmienne. Aby wymagane było jawne deklarowanie zmiennych przed ich użyciem w procedurze, należy zaznaczyć opcję Żądanie deklaracji zmiennych na karcie Moduł okna dialogowego Opcje. Aby uzyskać więcej informacji, kliknij  [image].

•	Przy deklarowaniu zmiennych należy używać jak najściślej określonego typu. Na przykład, przy deklarowaniu zmiennej, która ma reprezentować formularz, należy raczej określić typ Form niż Object czy Variant.

•	Należy używać zmiennych przy odwoływaniu się do właściwości, formantów i obiektów dostępu do danych. Jeśli odwołanie do wartości właściwości lub formantu formularza bądź do obiektu dostępu do danych lub jego właściwości następuje wielokrotnie, należy utworzyć zmienne obiektowe i odwoływać się do tych zmiennych zamiast używać pełnych identyfikatorów.

•	Przy odwoływaniu się do formularza w procedurze zdarzenia należy używać słowa kluczowego Me.

•	Nie należy nadużywać funkcji Ilf. Należy unikać funkcji Ilf, jeśli wyliczenie któregokolwiek ze zwracanych wyrażeń zajmuje dużo czasu.

•	Należy właściwie używać funkcji związanych z ciągami znaków. Należy używać funkcji typu $ (na przykład funkcji Str$) podczas pracy z ciągami znaków i funkcji nie zawierających symbolu $ przy pracy z danymi typu Variant lub innymi typami danych.

•	Jeśli to możliwe, w działaniach matematycznych należy używać typów danych Liczba całkowita lub Liczba całkowita długa.

•	Należy używać tablic dynamicznych oraz instrukcji Erase lub ReDim do zwalniania pamięci.

•	Należy używać stałych, ilekroć jest to możliwe.

•	Należy używać zakładek do szybkiej zmiany bieżącego położenia. Zakładki powinny być używane zamiast metody FindNext lub innych sposobów przechodzenia do określonego rekordu.

•	Należy używać metod FindRecord i FindNext dla pól indeksowanych. Metody te są znacznie wydajniejsze dla pól poindeksowanych.

•	Należy uporządkować moduły. Program Visual Basic ładuje moduły na żądanie – moduły są ładowane do pamięci tylko wtedy, gdy w kodzie znajduje się wywołanie jednej z procedur w module. Umieszczenie powiązanych procedur w tym samym module powoduje, że program Visual Basic ładuje dodatkowe moduły tylko wtedy, gdy jest to konieczne.

•	Należy usuwać bezużyteczne fragmenty kodu i nie używane zmienne. Przy rozszerzaniu i modyfikowaniu aplikacji, w niektórych miejscach pozostają procedury, do których nie ma odwołań w kodzie, lub zadeklarowane zmienne, które nie są już używane. Warto przejrzeć kod i usunąć nieużywane procedury i zmienne.

Więcej informacji można znaleźć w rozdziale 13, "Optymalizacja aplikacji", dokumentu Tworzenie aplikacji Microsoft Access 97.


Microsoft Office 97, wersja Developer - spis treści

Pakiet Microsoft Office 97, Developer Edition (ODE) zawiera zaawansowane narzędzia, których projektanci aplikacji mogą używać do tworzenia i dystrybucji aplikacji niestandardowych.

W skład pakietu ODE wchodzą:

Dysk CD Microsoft Office 97, wersja Professional

Dysk CD Microsoft Office 97, Developer Edition Tools

•	Wolna od opłat licencja na dystrybucję i narzędzia (łącznie z aplikacją czasu wykonywania Microsoft Graph), które umożliwiają dystrybucję kopii niestandardowych aplikacji Microsoft Office wśród wszystkich użytkowników.

•	Udoskonalony Kreator instalacji, którego można użyć do automatycznego utworzenia dysku dystrybucyjnego i kompresji plików wchodzących w skład aplikacji.

•	Nowa wersja programu Menadżer replikacji, którego można użyć do zaplanowania aktualizacji replik, określenia, które obiekty w bazie danych mają być replikowane, wyświetlenia wszystkich replik należących do zestawu i zarządzania wieloma zestawami replik jednocześnie.

•	Składnik Microsoft Access Source Code Control do obsługi projektowania zespołowego. (Program Microsoft Visual SourceSafe jest sprzedawany osobno.)

•	Formanty ActiveX, dzięki którym tworzone aplikacje mogą być bardziej uniwersalne i które pozwalają na powielanie funkcji systemu Microsoft Windows 95. Obejmują one między innymi nowe formanty dla aplikacji związanych z Internetem.

•	Program Windows API Viewer zawierający deklaracje i stałe używane przez interfejs programowania aplikacji (API) Windows 95. Można kopiować i wklejać te deklaracje i stałe do modułów języka Visual Basic.

•	Program Windows Help Workshop do projektowania Pomocy dla tworzonych aplikacji.

•	Program Microsoft Office Developer Sampler z ukierunkowaną na pakiet Office zawartością z sieci Microsoft Developer'.

Dokumentacja drukowana

•	Microsoft Office 97 Programmer's Guide

•	Tworzenie aplikacji Microsoft Access 97


Ograniczanie danych do podzbioru rekordów

Podczas pracy z danymi często zachodzi potrzeba ograniczenia danych do określonego zestawu rekordów. Niektóre procedury posiadają argument kryteria, który pozwala określić, jakie dane mają być zwrócone. Na przykład, argument kryteria określa się, aby ograniczyć rekordy zwracane przez funkcje agregujące domen. Można również określić kryteria, gdy używa się metod typu Find obiektu Recordset, ustawia właściwość Filter (Filtr) formularza lub konstruuje instrukcję SQL. Mimo iż każda z tych operacji wymaga innej składni, dla każdej z nich w podobny sposób konstruuje się wyrażenia kryteriów.

Na przykład, można użyć funkcji agregującej domen, Dsum, do znalezienia sumy kosztów transportu (freight) w tabeli "Orders" (Zamówienia). Można utworzyć formant wyliczany przez wprowadzenie poniższego wyrażenia we właściwości ControlSource (ŹródłoFormantu):

=DSum("[Freight]", "Orders")

Jeśli zostanie określony opcjonalny argument kryteria, to funkcja DSum będzie wykonywana na podzbiorze domeny. Na przykład, można znaleźć sumę kosztów transportu w tabeli "Orders" (Zamówienia) tylko dla tych zamówień, które są wysyłane do Kaliforni:

=DSum("[Freight]", "Orders", "[ShipRegion] = 'CA'")

Gdy argument kryteria jest używany, program Microsoft Access najpierw przekształca wszystkie wyrażenia występujące w tym argumencie na wyrażenie typu ciąg znaków. Następnie wyrażenie typu ciąg znaków jest przekazywane funkcji domen. Wyrażenie typu ciąg znaków jest równoważne klauzuli SQL WHERE, bez słowa WHERE.

Można określać kryteria liczbowe, tekstowe lub oparte na typie data/godzina. Niezależnie od rodzaju kryteriów, argument kryteria zawsze jest przekształcany na ciąg znaków, zanim zostanie przekazany funkcji agregującej domen. Dlatego należy upewnić się, czy po wyliczeniu każdego wyrażenia, wszystkie części argumentu łączą się w jeden ciąg znaków, zawarty między znakami podwójnego cudzysłowu (").

Konstruując kryteria należy zwrócić uwagę, aby ciąg znaków określający kryteria był połączony prawidłowo.

Poniższa lista zawiera listę tematów, w których zostały opisane różne sposoby określania kryteriów:

Wyrażenia kryteriów liczbowych

Wyrażenia kryteriów tekstowych

Wyrażenia kryteriów typu data/godzina

Zmiana kryteriów liczbowych w formancie na formularzu

Zmiana kryteriów tekstowych w formancie na formularzu

Zmiana kryteriów typu data/godzina w formancie na formularzu

Wiele pól w wyrażeniach kryteriów


Wyrażenia kryteriów liczbowych

Aby określić kryteria liczbowe dla operacji, trzeba podać wartość liczbową jako część wyrażenia typu ciąg znaków tworzącego argument kryteria.

Przypuśćmy, że w tabeli "Employees" (Pracownicy) wykonywana jest funkcja DLookup w celu znalezienia nazwiska konkretnego pracownika, a jako argument kryteria tej funkcji używana jest wartość pola "EmployeeID". Argument kryteria można skonstruować podobnie, jak w poniższym kodzie przykładowym, który zwraca nazwisko pracownika, dla którego wartością w polu "EmployeeID" jest 7:

=DLookup("[LastName]", "Employees", "[EmployeeID] = 7")


Wyrażenia kryteriów tekstowych

Aby określić kryteria tekstowe dla operacji, trzeba podać ciąg tekstowy jako część wyrażenia typu ciąg znaków tworzącego argument kryteria. Ten ciąg tekstowy musi być zawarty między znakami pojedynczego cudzysłowu (').

Uwaga   Znaki pojedynczego cudzysłowu oznaczają ciąg znaków wewnątrz ciągu znaków w argumencie kryteria.

Przypuśćmy, że metoda dostępu do danych (DAO) FindFirst jest używana do znalezienia pierwszego wystąpienia określonego nazwiska w tabeli "Employees" (Pracownicy). Argument kryteria można skonstruować podobnie, jak w poniższym kodzie przykładowym, który przenosi wskaźnik bieżącego rekordu do pierwszego rekordu, w którym nazwiskiem pracownika jest "Buchanan". Należy zauważyć, że ciąg znaków Buchanan jest zawarty między znakami pojedynczego cudzysłowu, a cały ciąg znaków stanowiący argument kryteria musi być zawarty między znakami podwójnego cudzysłowu (").

Dim dbs As Database, rst As Recordset

Set dbs = CurrentDb

Set rst = dbs.OpenRecordset("Employees", dbOpenDynaset)

rst.FindFirst "[LastName] = 'Buchanan'"


Wyrażenia kryteriów typu data/godzina

Aby określić kryteria typu data/godzina dla operacji, trzeba podać wartość daty lub godziny jako część wyrażenia typu ciąg znaków tworzącego argument kryteria. Wartość ta musi być zawarta między znakami "#".

Uwaga   Znaki "#" oznaczają wartość daty lub godziny wewnątrz ciągu znaków w argumencie kryteria.

Przypuśćmy, że tworzony jest filtr dla formularza "Employees" (Pracownicy) wyświetlający rekordy wszystkich pracowników urodzonych po 1 stycznia 1960 roku. Argument kryteria dla właściwości Filter (Filtr) formularza można skonstruować podobnie, jak w poniższym kodzie przykładowym. Należy zwrócić uwagę na umieszczenie znaków "#".

Forms!Employees.Filter = "[BirthDate] >= #1-1-60#"


Zmiana kryteriów liczbowych w formancie na formularzu

Aby umożliwić zmianę argumentu kryteria dla operacji opartej na decyzji użytkownika, można określić, że kryteria pochodzą z formantu na formularzu. Można na przykład określić, że argument kryteria pochodzi z pola tekstowego zawierającego wartość "EmployeeID".

Aby określić kryteria liczbowe pochodzące z formantu na formularzu, można w argumencie kryteria umieścić wyrażenie z odwołaniem do tego formantu. Wyrażenie to powinno być oddzielone od wyrażenia typu ciąg znaków, aby było wyliczane wcześniej przez program Microsoft Access, a następnie łączone z resztą wyrażenia typu ciąg znaków, przed wykonaniem właściwej operacji.

Przypuśćmy, że w tabeli "Employees" (Pracownicy) wykonywana jest funkcja DLookup w celu znalezienia nazwiska konkretnego pracownika w oparciu o wartość "EmployeeID". W poniższym przykładzie kryteria są określone przez bieżącą wartość formantu "EmployeeID" na formularzu "Orders". Wyrażenie odwołujące się do tego formantu jest wyliczane za każdym razem, gdy wywoływana jest funkcja, jeśli więc wartość formantu zmieni się, to zmiana ta zostanie odzwierciedlona w argumencie kryteria.

=DLookup("[LastName]", "Employees", "[EmployeeID] = " & Forms!Orders!EmployeeID)

Jeśli bieżącą wartością pola "EmployeeID" jest 7, to argument kryteria przekazywany funkcji DLookup jest równy:

"[EmployeeID] = 7"

Wskazówka   Aby rozwiązać problemy związane z wyrażeniem w argumencie kryteria, należy podzielić to wyrażenie na mniejsze składniki i przetestować je pojedynczo w oknie analizy programu. Gdy wszystkie składniki będą działać poprawnie, należy je dołączać pojedynczo, aż całe wyrażenie będzie działało poprawnie.

Można również umieścić w argumencie kryteria zmienną reprezentującą wartość liczbową. Zmienna ta powinna być oddzielona od wyrażenia typu ciąg znaków, aby była ona wyliczana wcześniej przez program Microsoft Access, a następnie łączona z resztą wyrażenia typu ciąg znaków.

W poniższym przykładzie zostało pokazane, jak skonstruować argument kryteria zawierający zmienną reprezentującą wartość liczbową:

Dim intNum As Integer, varResult As Variant

intNum = 7

varResult = DLookup("[LastName]", "Employees", _

"[EmployeeID] = " & intNum)


Zmiana kryteriów tekstowych w formancie na formularzu

Aby umożliwić zmianę argumentu kryteria dla operacji opartej na decyzji użytkownika, można określić, że kryteria pochodzą z formantu na formularzu. Można na przykład określić, że argument kryteria pochodzi z pola listy zawierającego nazwiska wszystkich pracowników w tabeli "Employees" (Pracownicy).

Aby określić kryteria tekstowe pochodzące z formantu na formularzu, można w argumencie kryteria umieścić wyrażenie z odwołaniem do tego formantu. Wyrażenie to powinno być oddzielone od wyrażenia typu ciąg znaków, aby było wyliczane wcześniej przez program Microsoft Access, a następnie łączone z resztą wyrażenia typu ciąg znaków, przed wykonaniem właściwej operacji.

Oprócz umieszczenia całego wyrażenia typu ciąg znaków w podwójnym cudzysłowie ("), należy upewnić się, że kryteria tekstowe w wyrażeniu typu ciąg znaków są zawarte między znakami pojedynczego cudzysłowu ('). Znaki pojedynczego cudzysłowu muszą ograniczać wyrażenie odwołujące się do formantu na formularzu.

Uwaga   Znaki pojedynczego cudzysłowu oznaczają ciąg znaków wewnątrz ciągu znaków w argumencie kryteria.

W poniższym przykładzie przeszukiwana jest tabela "Employees" (Pracownicy) i na podstawie nazwiska pracownika zostaje zwrócony region, w którym mieszka ten pracownik. Kryteria są określone przez bieżącą wartość formantu typu pole listy o nazwie "LastName" (Nazwisko) na formularzu "Employees". Należy zwrócić uwagę na umieszczenie znaków pojedynczego cudzysłowu.

=DLookup("[Region]", "Employees", "[LastName] = '" & Forms!Employees!LastName & "'")

Jeśli bieżącą wartością formantu jest King, to poniższy argument kryteria jest przekazywany funkcji DLookup, po wyliczeniu przez program Microsoft Access wyrażenia i połączeniu ciągów znaków:

"[LastName] = 'King'"

Należy pamiętać, że po połączeniu ciągów znaków cały ciąg znaków stanowiący argument kryteria musi być zawarty między znakami podwójnego cudzysłowu.

Wskazówka   Aby rozwiązać problemy związane z wyrażeniem w argumencie kryteria, należy podzielić to wyrażenie na mniejsze składniki i przetestować je pojedynczo w oknie analizy programu. Gdy wszystkie składniki będą działać poprawnie, należy je dołączać pojedynczo, aż całe wyrażenie będzie działało poprawnie.

Można również umieścić w argumencie kryteria zmienną reprezentującą ciąg tekstowy. Zmienna ta powinna być oddzielona od wyrażenia typu ciąg znaków, aby była ona wyliczana wcześniej przez program Microsoft Access, a następnie łączona z resztą wyrażenia typu ciąg znaków. Ten ciąg tekstowy musi być zawarty między znakami pojedynczego lub podwójnego cudzysłowu.

W poniższym przykładzie zostało pokazane, jak skonstruować argument kryteria zawierający zmienną reprezentującą ciąg tekstowy:

Dim strLastName As String, varResult As Variant

strLastName = "King"

varResult = DLookup("[EmployeeID]", "Employees", "[LastName] = '" & strLastName & "'")


Zmiana kryteriów typu data/godzina w formancie na formularzu

Aby umożliwić zmianę argumentu kryteria dla operacji opartej na decyzji użytkownika, można określić, że kryteria pochodzą z formantu na formularzu. Można na przykład określić, że argument kryteria pochodzi z pola listy zawierającego daty zamówień w tabeli "Orders".

Aby określić kryteria typu data/godzina pochodzące z formantu na formularzu, można w argumencie kryteria umieścić wyrażenie z odwołaniem do tego formantu. Wyrażenie to powinno być oddzielone od wyrażenia typu ciąg znaków, aby było wyliczane wcześniej przez program Microsoft Access, a następnie łączone z resztą wyrażenia typu ciąg znaków, przed wykonaniem właściwej operacji.

Oprócz umieszczenia całego wyrażenia typu ciąg znaków w podwójnym cudzysłowie ("), należy upewnić się, że kryteria oparte na dacie lub godzinie w wyrażeniu typu ciąg znaków są zawarte między znakami "#". Znaki "#" muszą ograniczać wyrażenie odwołujące się do formantu na formularzu

Uwaga   Znaki "#" oznaczają wartość daty lub godziny wewnątrz ciągu znaków w argumencie kryteria.

Poniższy kod przykładowy ustawia właściwość Filter (Filtr) formularza w oparciu o kryteria pochodzące z formantu o nazwie "HireDate" na formularzu. Należy zwrócić uwagę na umieszczenie znaków "#".

Forms!Employees.Filter = "[HireDate] >= #" & 	Forms!Employees!HireDate & "#"

Forms!Employees.FilterOn = True

Jeśli bieżącą wartością formantu "HireDate" jest 5-1-92, właściwość Filter będzie miała następujący argument kryteria:

"[HireDate] >= #5-1-92#"

Wskazówka   Aby rozwiązać problemy związane z wyrażeniem w argumencie kryteria, należy podzielić to wyrażenie na mniejsze składniki i przetestować je pojedynczo w oknie analizy programu. Gdy wszystkie składniki będą działać poprawnie, należy je dołączać pojedynczo, aż całe wyrażenie będzie działało poprawnie.

Można również umieścić w argumencie kryteria zmienną reprezentującą datę lub godzinę. Zmienna ta powinna być oddzielona od wyrażenia typu ciąg znaków, aby była ona wyliczana wcześniej przez program Microsoft Access, a następnie łączona z resztą wyrażenia typu ciąg znaków. Kryteria oparte na dacie lub godzinie muszą być zawarte między znakami "#"..

W poniższym przykładzie zostało pokazane, jak skonstruować argument kryteria zawierający zmienną reprezentującą datę lub godzinę:

Dim datHireDate As Date

datHireDate = #5-1-92#

Forms!Employees.Filter = "[HireDate] >= #" & _

datHireDate & "#"


Wiele pól w wyrażeniach kryteriów

Argument kryteria można określić w oparciu o wiele pól.

Aby określić wiele pól w argumencie kryteria, trzeba się upewnić, czy wiele wyrażeń typu ciąg znaków zostało właściwie połączonych w prawidłową klauzulę SQL WHERE. W klauzuli SQL WHERE z wieloma polami, pola mogą być połączone jednym z trzech słów kluczowych: AND, OR lub NOT. Wyrażenie musi zostać przekształcone na ciąg znaków zawierający jedno z tych słów kluczowych.

Przypuśćmy na przykład, że poprzez ustawienie właściwości Filter (Filtr) formularza "Employees" (Pracownicy) ma być ustawiony filtr wyświetlający rekordy ograniczone przez dwa zestawy kryteriów. Poniższy kod przykładowy filtruje formularz, tak że wyświetlane są rekordy tych pracowników, którzy mają tytuł "Sales Representative" i którzy zostali zatrudnieni po 1 stycznia 1993 roku:

Dim datHireDate As Date, strTitle As String

datHireDate = #1/1/93#

strTitle = "Sales Representative"

Forms!Employees.Filter = "[HireDate] >= #" & _

datHireDate & "# AND [Title] = '" & strTitle & "'"

Forms!Employees.FilterOn = True

Argument kryteria jest przekształcany na następujący ciąg znaków:

"[HireDate] >= #1-1-93# AND [Title] = 'Sales Representative'"

Wskazówka   Aby rozwiązać problemy związane z wyrażeniem w argumencie kryteria, należy podzielić to wyrażenie na mniejsze składniki i przetestować je pojedynczo w oknie analizy programu. Gdy wszystkie składniki będą działać poprawnie, należy je dołączać pojedynczo, aż całe wyrażenie będzie działało poprawnie.


Znaki cudzysłowu w ciągach znaków

W sytuacjach, gdy konstruowane są ciągi znaków, które mają być połączone, może zachodzić potrzeba osadzenia ciągu znaków wewnątrz innego ciągu znaków. Oto niektóre sytuacje, które mogą wymagać zagnieżdżenia ciągu znaków wewnątrz innego ciągu znaków:

•	Podczas określania kryteriów dla funkcji agregujących domen.

•	Podczas określania kryteriów dla metod Find.

•	Podczas określania kryteriów dla właściwości Filter (Filtr) formularza.

•	Podczas budowania ciągów znaków SQL.

We wszystkich tych przypadkach, program Microsoft Access musi przekazać ciąg znaków do aparatu bazy danych Microsoft Jet. Gdy argument kryteria jest określany np. dla funkcji agregującej domen, program Microsoft Access musi wyliczyć wszystkie zmienne, połączyć je w ciąg znaków, a następnie przekazać cały ciąg znaków do aparatu bazy danych Jet.

Jeśli osadzana jest wartość liczbowa, program Microsoft Access wylicza zmienną i po prostu wstawia jej wartość do ciągu znaków. Jeśli jednak zmienna jest ciągiem znaków, to powstałe kryteria zawierają ciąg znaków wewnątrz ciągu znaków. Ciąg znaków umieszczony wewnątrz innego ciągu znaków musi być wyróżniony przez ograniczniki ciągu znaków. W przeciwnym razie aparat bazy danych Jet nie będzie mógł określić, która część ciągu znaków ma być użyta jako wartość.

Ograniczniki ciągu znaków nie są częścią zmiennej, ale muszą być włączone do ciągu znaków kryteria. Można używać zarówno pojedynczego ('), jak i podwójnego (") cudzysłowu. Istnieją trzy różne sposoby konstruowania ciągu znaków w argumencie kryteria. Każda metoda tworzy argument kryteria wyglądający tak, jak jeden z poniższych przykładów.

"[LastName] = 'Smith'"

– lub –

"[LastName] = "Smith""

Używanie znaków pojedynczego cudzysłowu

Znaki pojedynczego cudzysłowu powinny być umieszczone w argumencie kryteria w taki sposób, aby po dołączeniu wartości zmiennej do ciągu znaków, była ona zawarta w pojedynczym cudzysłowie. Na przykład, przypuśćmy, że argument kryteria ma zawierać zmienną typu ciąg znaków strName. Można skonstruować argument kryteria tak, jak w poniższym przykładzie:

"[LastName] = '" & strName & "'"

Po wyliczeniu zmiennej strName i dołączeniu jej do ciągu znaków kryteria, ciąg znaków kryteria będzie wyglądał następująco:

"[LastName] = 'Smith'"

Uwaga   Ta składnia nie dopuszcza używania apostrofów (') w wartości zmiennej. Jeśli wartość zmiennej typu ciąg znaków zawiera apostrof, program Microsoft Access generuje błąd  wykonania. Jeżeli zmienna może reprezentować wartości zawierające apostrofy, należy rozważyć zastosowanie jednej z form składniowych, opisanych w poniższych paragrafach.

Używanie znaków podwójnego cudzysłowu

Znaki podwójnego cudzysłowu powinny być umieszczone w argumencie kryteria w taki sposób, aby po wyliczeniu wartości zmiennej, była ona zawarta w podwójnym cudzysłowie. W obrębie ciągu znaków trzeba użyć dwóch zestawów podwójnych znaków cudzysłowu, chcąc określić jeden zestaw podwójnych znaków cudzysłowu. Można skonstruować argument kryteria tak, jak w poniższym przykładzie:

"[LastName] = """ & strName & """"

Po wyliczeniu zmiennej strName i dołączeniu jej do argumentu kryteria, każdy zestaw dwóch podwójnych znaków cudzysłowu zostaje zastąpiony przez jeden znak pojedynczego cudzysłowu. Argument kryteria będzie wyglądał następująco:

"[LastName] = 'Smith'"

Taka składnia może być bardziej skomplikowana, niż składnia z pojedynczym cudzysłowem, ale pozwala na osadzenie w argumencie kryteria ciągu znaków zawierającego apostrof. Pozwala także na zagnieżdżanie jednego lub kilku ciągów znaków wewnątrz osadzanego ciągu znaków.

Używanie zmiennej reprezentującej znaki cudzysłowu

Można utworzyć zmienną typu ciąg znaków reprezentującą podwójny znak cudzysłowu i dołączyć tą zmienną do argumentu kryteria. Znak podwójnego cudzysłowu jest reprezentowany w kodzie ANSI przez Chr$(34); można tę wartość przypisać zmiennej typu ciąg znaków o nazwie strQuote. Argument kryteria można wtedy skonstruować tak, jak w poniższym przykładzie:

"[LastName] = " & strQuote & strName & strQuote

Po wyliczeniu zmiennych i dołączeniu ich do argumentu kryteria, argument kryteria będzie wyglądał następująco:

"[LastName] = "Smith""


Specyfikacje programu Microsoft Access

Co chcesz zrobić?

Przeczytać na temat specyfikacji bazy danych

Przeczytać na temat specyfikacji tabeli

Przeczytać na temat specyfikacji kwerendy

Przeczytać na temat specyfikacji formularza i raportu

Przeczytać na temat specyfikacji makra


Specyfikacje bazy danych

Atrybut	Wartość maksymalna
Rozmiar pliku bazy danych (.mdb)	1 gigabajt. Ponieważ baza danych może zawierać połączone tabele w innych plikach, całkowity rozmiar bazy danych jest ograniczony jedynie dostępnym miejscem do przechowywania danych.
Liczba obiektów w bazie danych	32 768
Liczba modułów (łącznie z formularzami i raportami z właściwością HasModule (MaModuł) ustawioną na wartość True)	1024
Liczba znaków w nazwie obiektu	64
Liczba znaków w haśle	14
Liczba znaków w nazwie użytkownika lub grupy	20
Liczba jednocześnie  pracujących użytkowników	255


Specyfikacje tabeli

Atrybut	Wartość maksymalna
Liczba znaków w nazwie tabeli	64
Liczba znaków w nazwie pola	64
Liczba pól w tabeli	255
Liczba otwartych tabel	1 024. Faktyczna liczba może być mniejsza, z powodu tabel otwieranych niezależnie przez program Microsoft Access.
Rozmiar tabeli	1 gigabajt
Liczba znaków w polu tekstowym	255
Liczba znaków w polu Memo	65 535, jeśli dane są wprowadzane poprzez interfejs użytkownika;  1 gigabajt, jeśli dane są wprowadzane programowo.
Rozmiar pola Obiekt OLE	1 gigabajt
Liczba indeksów w tabeli	32
Liczba pól w indeksie	10
Liczba znaków w komunikacie o błędzie	255
Liczba znaków w regule poprawności	2 048
Liczba znaków w opisie tabeli lub pola	255
Liczba znaków w rekordzie (z wyjątkiem pól Memo i Obiekt OLE)	2 000
Liczba znaków w ustawieniu właściwości pola	255


Specyfikacje kwerendy

Atrybut	Wartość maksymalna
Liczba wymuszonych relacji	32 na tabelę minus liczba istniejących w tabeli indeksów dla pól lub kombinacji pól, które nie są objęte relacjami
Liczba tabel w kwerendzie	32
Liczba pól w zestawie rekordów	255
Rozmiar zestawu rekordów	1 gigabajt
Ograniczenia sortowania	255 znaków w jednym lub kilku polach
Liczba poziomów zagnieżdżonych kwerend	50
Liczba znaków w komórce w siatce projektu kwerendy	1024
Liczba znaków dla parametru w kwerendzie parametrycznej	255
Liczba operatorów AND w klauzuli WHERE lub HAVING	40
Liczba znaków instrukcji SQL	około 64 000


Specyfikacje formularza i raportu

Atrybut	Wartość maksymalna
Liczba znaków w etykiecie	2 048
Liczba znaków w polu tekstowym	65 535
Szerokość formularza lub raportu	55,87 cm (22 cale)
Wysokość sekcji	55,87 cm (22 cale)
Wysokość wszystkich sekcji razem z nagłówkami sekcji (w widoku "Projekt")	508 cm (200 cali)
Liczba poziomów zagnieżdżonych formularzy lub raportów	3
Liczba pól lub wyrażeń, w oparciu o które można sortować lub grupować w raporcie	10
Liczba nagłówków i stopek w raporcie	1 nagłówek lub stopka raportu; 1 nagłówek lub stopka strony; 10 nagłówków lub stopek grup
Liczba drukowanych stron w raporcie	65 536
Liczba formantów i sekcji, które mogą być dodane do formularza lub raportu	754


Specyfikacje makra

Atrybut	Wartość maksymalna
Liczba akcji w makrze	999
Liczba znaków w warunku	255
Liczba znaków w komentarzu	255
Liczba znaków w argumencie akcji	255


DDE, funkcja

Funkcji DDE można użyć, aby zainicjować konwersację dynamicznej wymiany danych (DDE) z inną aplikacją, zażądać elementu informacji z tej aplikacji i wyświetlić tę informację w formancie na formularzu lub raporcie.

Można na przykład użyć funkcji DDE we właściwości ControlSource (ŹródłoFormantu) pola tekstowego, aby wyświetlić dane z określonej komórki arkusza programu Microsoft Excel.

Składnia

DDE(aplikacja, temat, element)

Funkcja DDE ma następujące argumenty.

Argument	Opis
aplikacja	Wyrażenie typu ciąg znaków identyfikujące aplikację, która ma brać udział w konwersacji DDE. Argument aplikacja jest zwykle nazwą pliku .exe (bez rozszerzenia .exe) aplikacji systemu Microsoft Windows, takiej jak np. Microsoft Excel. Na przykład, aby zainicjować konwersację DDE z programem Microsoft Excel, należy jako argument aplikacja wpisać "Excel".
temat	Wyrażenie typu ciąg znaków będące nazwą tematu rozpoznawanego przez aplikację określoną w argumencie aplikacja. Argument temat jest często plikiem dokumentu lub danych. Listę możliwych tematów można znaleźć w opisie danej aplikacji.
element	Wyrażenie typu ciąg znaków będące nazwą elementu danych rozpoznawanego przez aplikację określoną w argumencie aplikacja. Listę możliwych elementów można znaleźć w opisie danej aplikacji.
Uwagi

Funkcja DDE próbuje zainicjować konwersację DDE z aplikacją i tematem określonymi przez argumenty aplikacja i temat oraz żąda danych zawartych w elemencie określonym przez argument element. W razie sukcesu, funkcja DDE zwraca napis zawierający żądane informacje.

Jeśli użytkownik żąda danych z programu Microsoft Excel, argument element może być identyfikatorem wiersza i kolumny, jak np. "R1C1", albo nazwą zakresu komórek. W poniższym przykładzie funkcja DDE żąda informacji z komórki w 1 wierszu i 1 kolumnie arkusza programu Microsoft Excel. Poniższe wyrażenie można wprowadzić dla formantu typu pole tekstowe, w polu właściwości ControlSource (ŹródłoFormantu), w arkuszu właściwości formantu:

=DDE("Excel", "Sheet1", "R1C1")

Funkcji DDE można używać tylko we właściwości ControlSource (ŹródłoFormantu) pola tekstowego, grupy opcji, pola wyboru lub pola kombi. Nie można wywoływać funkcji DDE w języku Visual Basic.

Jeśli używana jest funkcja DDE, formant staje się tylko-do-odczytu w widoku "Formularz" i w widoku "Podgląd wydruku". Jeśli na przykład funkcja DDE używana jest w polu tekstowym, to tekst w polu tekstowym nie może być edytowany. Trzeba edytować ten tekst w innej aplikacji. Ponieważ właściwość ControlSource (ŹródłoFormantu) ma atrybut tylko-do-odczytu w widoku "Formularz" i "Podgląd wydruku", zmiany w formancie muszą być dokonywane w widoku "Projekt".

Maksymalna liczba konwersacji DDE, które mogą być jednocześnie otworzone jest określona przez system Microsoft Windows oraz pamięć i zasoby komputera. Jeśli konwersacja nie może być zainicjowana, ponieważ nie jest uruchomiona aplikacja, nie jest rozpoznawany temat albo została osiągnięta maksymalna liczba konwersacji, funkcja DDE zwraca wartość Null.

Uwaga   Inna aplikacja może być skonfigurowana tak, aby ignorować żądania konwersacji DDE. W takim przypadku, funkcja DDE zwraca wartość Null. Podobnie, można ustawić program Microsoft Access tak, aby ignorował żądania z innych aplikacji: należy kliknąć polecenie Opcje w menu Narzędzia i na karcie Zaawansowane okna dialogowego Opcje, w polu Operacje DDE zaznaczyć pole wyboru Ignoruj żądania DDE.

Wskazówka   Jeśli w programie Microsoft Access zachodzi potrzeba operowania obiektami z innej aplikacji, można użyć mechanizmu automatyzacji.

W poniższej tabeli zostało zilustrowane działanie funkcji DDE używanej z różnymi formantami.

Formant	Uwagi
Pole tekstowe	Argument element może odwoływać się do tekstu lub liczb. Jeśli argument element odwołuje się do więcej niż jednej informacji, jak np. nazwany zakres w arkuszu programu Microsoft Excel zawierający wiele komórek, to funkcja DDE zwraca pierwszą pozycję. Można użyć tej funkcji w polu tekstowym, aby wyświetlić dane zawarte w komórce arkusza.
Pole kombi	Funkcja DDE wypełnia pole kombi informacjami, do których odwołuje się argument element. Nie można wprowadzać danych do tekstowej części pola. Funkcji DDE z polem kombi można np. użyć do wyświetlenia listy regionów lub krajów zapisanych w arkuszu programu Microsoft Excel.
Grupa opcji	Właściwość OptionValue (WartośćOpcji) każdego przycisku w grupie opcji jest ustawiana na liczbę. Zwykle wartość pierwszego przycisku jest równa 1, drugiego jest równa 2 i tak dalej. Liczba zwracana przez funkcję DDE określa, który przycisk opcji będzie zaznaczony. Jeśli na przykład funkcja DDE zwraca wartość 2, to zostanie zaznaczony drugi przycisk. Jeśli funkcja DDE zwraca wartość, która nie odpowiada żadnemu ustawieniu właściwości OptionValue (WartośćOpcji), żaden przycisk nie zostanie zaznaczony. Jeśli argument element odwołuje się do więcej niż jednej informacji, jak np. nazwany zakres w arkuszu programu Microsoft Excel zawierający wiele komórek, to funkcja DDE zwraca pierwszą pozycję.
Pole wyboru	Jeśli funkcja DDE zwraca wartość 0, pole wyboru będzie wyczyszczone. Jeśli funkcja DDE zwraca liczbę różną od zera, jak np. 1 czy -1, pole wyboru będzie zaznaczone. Jeśli argument element odwołuje się do więcej niż jednej informacji, jak np. nazwany zakres w arkuszu programu Microsoft Excel zawierający wiele komórek, to pole wyboru będzie niedostępne.


DDESend, funkcja

Funkcji DDESend można użyć, aby zainicjować konwersację dynamicznej wymiany danych (DDE) z inną aplikacją i wysłać element informacji do tej aplikacji z formantu na formularzu lub raporcie.

Można na przykład użyć funkcji DDE we właściwości ControlSource (ŹródłoFormantu) pola tekstowego, aby wysłać dane wyświetlane w tym polu do określonej komórki arkusza programu Microsoft Excel.

Składnia

DDESend(aplikacja, temat, element, dane)

Funkcja DDESend ma następujące argumenty.

Argument	Opis
aplikacja	Wyrażenie typu ciąg znaków identyfikujące aplikację, która ma brać udział w konwersacji DDE. Argument aplikacja jest zwykle nazwą pliku .exe (bez rozszerzenia .exe) aplikacji systemu Microsoft Windows, takiej jak np. Microsoft Excel. Na przykład, aby zainicjować konwersację DDE z programem Microsoft Excel, należy jako argument aplikacja wpisać "Excel".
temat	Wyrażenie typu ciąg znaków będące nazwą tematu rozpoznawanego przez aplikację określoną w argumencie aplikacja. Argument temat jest często plikiem dokumentu lub danych. Listę możliwych tematów można znaleźć w opisie danej aplikacji..
element	Wyrażenie typu ciąg znaków będące nazwą elementu danych rozpoznawanego przez aplikację określoną w argumencie aplikacja. Listę możliwych elementów można znaleźć w opisie danej aplikacji.
dane	Ciąg znaków lub wyrażenie zawierające dane, które mają być wysłane do aplikacji określonej w argumencie aplikacja.
Uwagi

Funkcja DDESend inicjuje konwersację DDE z aplikacją i tematem określonymi przez argumenty aplikacja i temat oraz identyfikuje argument element, jako element danych, który otrzyma dane. Na przykład, jeśli argumentem aplikacja jest program Microsoft Excel, argumentem temat może być "Sheet1", a argumentem element może być identyfikator wiersza i kolumny, jak np. "R1C1", lub nazwa zakresu komórek.

Argument dane określa informacje, które mają być wysłane. Może to być ciąg znaków, taki jak np. "Report prepared by John". Może to być także wyrażenie zawierające wynik działania funkcji tworzącej ciąg znaków, jak np. "Prepared on " & Date(). Jeśli argument element odwołuje się do więcej niż jednej informacji, jak np. nazwany zakres w arkuszu programu Microsoft Excel zawierający wiele komórek, to funkcja DDESend wysyła dane do pierwszej pozycji.

W poniższym przykładzie, funkcja DDESend wysyła napis "Some text" do komórki w 1 rzędzie i 1 kolumnie arkusza programu Microsoft Excel. Poniższe wyrażenie można wprowadzić dla formantu typu pole tekstowe, w polu właściwości ControlSource (ŹródłoFormantu), w arkuszu właściwości formantu:

=DDESend("Excel", "Sheet1", "R1C1", "Some text")

Przypuśćmy, że użytkownik chce wysłać dane z formantu związanego na formularzu programu Microsoft Access do komórki w arkuszu Microsoft Excel. Właściwość ControlSource (ŹródłoFormantu) formantu związanego zawiera już nazwę pola albo wyrażenie. Można utworzyć jeszcze jedno pole tekstowe lub pole kombi i ustawić właściwość ControlSource (ŹródłoFormantu) na wyrażenie zawierające funkcję DDESend, której argument dane jest nazwą formantu związanego. Na przykład, jeśli istnieje związane pole tekstowe o nazwie “LastName”, można utworzyć jeszcze jedno pole tekstowe i ustawić właściwość ControlSource (ŹródłoFormantu) tego pola następująco:

=DDESend("Excel", "Sheet1", "R1C1", [LastName])

Tym pośrednim formantem musi być pole tekstowe albo pole kombi. Nie można używać nazwy formantu związanego jako argumentu dane dla pola wyboru ani grupy opcji.

Funkcji DDESend można używać tylko we właściwości ControlSource (ŹródłoFormantu) pola tekstowego, grupy opcji, pola wyboru lub pola kombi. Nie można wywoływać funkcji DDESend w języku Visual Basic.

Jeśli używana jest funkcja DDESend, formant staje się tylko-do-odczytu w widoku "Formularz" i w widoku "Podgląd wydruku". Ponieważ właściwość ControlSource (ŹródłoFormantu) ma atrybut tylko-do-odczytu w widoku "Formularz" i "Podgląd wydruku", zmiany w formancie muszą być wykonywane w widoku "Projekt".

Maksymalna liczba konwersacji DDE, które mogą być jednocześnie otworzone jest określona przez system Microsoft Windows oraz pamięć i zasoby komputera. Jeśli konwersacja nie może być zainicjowana, ponieważ nie jest uruchomiona aplikacja, nie jest rozpoznawany temat albo została osiągnięta maksymalna liczba konwersacji, funkcja DDESend zwraca wartość Null.

Uwaga   Inna aplikacja może być skonfigurowana tak, aby ignorować żądania konwersacji DDE. W takim przypadku, funkcja DDESend zwraca wartość Null. Podobnie, można ustawić program Microsoft Access tak, aby ignorował żądania z innych aplikacji: należy kliknąć polecenie Opcje w menu Narzędzia i na karcie Zaawansowane okna dialogowego Opcje, w polu Operacje DDE zaznaczyć pole wyboru Ignoruj żądania DDE.

Wskazówka   Jeśli w programie Microsoft Access zachodzi potrzeba operowania obiektami z innej aplikacji, można użyć mechanizmu automatyzacji.

W poniższej tabeli zostało zilustrowane działanie funkcji DDESend używanej z różnymi formantami.

Formant	Uwagi
Pole tekstowe lub pole kombi	Ponieważ pole tekstowe i pole kombi pojawiają się jako pola puste w widoku "Formularz" i "Podgląd wydruku", można ustawić ich właściwość Visible (Widoczny) na wartość False. Argument dane może odwoływać się do innego formantu. W poniższym przykładzie zostało pokazane, jak można wysłać zawartość formantu “LastName” do arkusza programu Microsoft Excel: =DDESend("Excel", "Sheet1", "R1C1", [LastName])
Grupa opcji	Żaden z przycisków opcji w grupie opcji nie jest zaznaczony w widoku "Formularz" i "Podgląd wydruku". Można uczynić grupę opcji (i jej przyciski) niewidocznymi przez ustawienie jej właściwości Visible (Widoczny) na wartość False. Argument dane musi zawierać dane liczbowe, jak np. "2". Jeśli argument ten nie jest liczbą, funkcja DDESend nie wysyła informacji i element nie ulega zmianie.
Pole wyboru	Pole wyboru jest przyciemnione w widoku "Formularz" i "Podgląd wydruku". Można uczynić pole wyboru niewidocznym przez ustawienie jego właściwości Visible (Widoczny) na wartość False. Argument dane musi zawierać dane liczbowe, jak np. "2". Jeśli argument ten nie jest liczbą, funkcja DDESend nie wysyła informacji i element nie ulega zmianie.


Wykorzystanie programu Microsoft Access jako serwera DDE

Program Microsoft Access obsługuje dynamiczną wymianę danych (DDE) zarówno jako aplikacja docelowa (klient), jak i aplikacja źródłowa (serwer). Na przykład, aplikacja Microsoft Word uruchamiana jako klient może, poprzez mechanizm DDE, zażądać danych z bazy danych programu Microsoft Access działającej jako serwer.

Wskazówka   Jeśli w programie Microsoft Access zachodzi potrzeba operowania obiektami z innej aplikacji, można użyć mechanizmu automatyzacji.

Konwersacja DDE pomiędzy klientem i serwerem dotyczy ustalonego tematu. Tematem może być plik danych w formacie obsługiwanym przez aplikację serwera albo może to być temat "System" dostarczający informacji na temat samej aplikacji serwera. Po rozpoczęciu konwersacji o ustalonym temacie może zostać przesłany tylko element danych związany z tym tematem.

Przypuśćmy na przykład, że użytkownik uruchomił program Microsoft Word i chce wstawić do dokumentu dane z określonej bazy danych programu Microsoft Access. Powinien on rozpocząć konwersację DDE z programem Microsoft Access przez otworzenie kanału DDE za pomocą funkcji DDEInitiate i podanie nazwy pliku bazy danych jako tematu. Następnie będzie mógł przez ten kanał przesyłać dane z bazy danych do programu Microsoft Word.

Jako serwer DDE, program Microsoft Access obsługuje następujące tematy:

•	Temat "System"

•	Nazwa bazy danych (temat baza_danych)

•	Nazwa tabeli (temat nazwa_tabeli)

•	Nazwa kwerendy (temat nazwa_kwerendy)

•	Ciąg znaków SQL w programie Microsoft Access (temat ciąg_sql)

Po ustanowieniu konwersacji DDE, można użyć instrukcji DDEExecute, aby wysłać polecenie z aplikacji klienta do aplikacji serwera. Program Microsoft Access używany jako serwer DDE rozpoznaje następujące polecenia:

•	Nazwa makra w bieżącej bazie danych.

•	Dowolna akcja, którą można wykonać w języku Visual Basic używając jednej z metod obiektu DoCmd.

•	Akcje OtwórzBazęDanych (OpenDatabase) i ZamknijBazęDanych (CloseDatabase), które są używane tylko w operacjach DDE. (Przykład użycia tych akcji znajduje się w dalszej części niniejszego tematu.)

Uwaga   Jeśli akcja makra zostanie określona jako instrukcja DDEExecute, akcja ta i wszystkie argumenty występują po składni obiektu DoCmd i muszą być zawarte w nawiasach ([ ]). Jednak aplikacje obsługujące mechanizm DDE nie rozpoznają stałych wewnętrznych w operacjach DDE. Również argumenty w postaci ciągów znaków muszą być zawarte w cudzysłowie (" "), jeśli ciąg znaków zawiera przecinek. W innym wypadku cudzysłów nie jest wymagany.

Aplikacja klienta może użyć funkcji DDERequest, aby zażądać danych tekstowych z aplikacji serwera przez otwarty kanał DDE. Aplikacja klienta może także użyć instrukcji DDEPoke, aby wysłać dane do aplikacji serwera. Po zakończeniu przesyłania danych, aplikacja klienta może użyć instrukcji DDETerminate, aby zamknąć kanał DDE albo instrukcji DDETerminateAll, aby zamknąć wszystkie otwarte kanały.

Uwaga   Gdy aplikacja klienta zakończy odbieranie danych przez kanał DDE, powinna ona zamknąć ten kanał, aby zwolnić zasoby pamięci.

W poniższym przykładzie zostało pokazane, jak utworzyć w programie Microsoft Word procedurę języka Visual Basic, która używa programu Microsoft Access jako serwera DDE. (Aby ten przykład działał, program Microsoft Access musi być uruchomiony.)

Sub AccessDDE()

Dim intChan1 As Integer, intChan2 As Integer

Dim strQueryData As String

' Use System topic to open Northwind sample database.

' Database must be open before using other DDE topics.

intChan1 = DDEInitiate("MSAccess", "System")

' You may need to change this path to point to actual location

' of Northwind sample database.

DDEExecute intChan1, "[OpenDatabase C:\Access\Samples\Northwind.mdb]"

' Get all data from Ten Most Expensive Products query.

intChan2 = DDEInitiate("MSAccess", "Northwind.mdb;" _

& "QUERY Ten Most Expensive Products")

strQueryData = DDERequest(intChan2, "All")

DDETerminate intChan2

' Close database.

DDEExecute intChan1, "[CloseDatabase]"

DDETerminate intChan1

' Print retrieved data to Debug Window.

Debug.Print strQueryData

End Sub

Informacje dotyczące używania programu Microsoft Access jako klienta DDE można znaleźć w rozdziale 11, "Komunikacja z innymi aplikacjami", podręcznika  Tworzenie aplikacji Microsoft Access 97.

W poniższych paragrafach opisane zostały prawidłowe tematy DDE obsługiwane przez program Microsoft Access.

Temat "System"

Temat "System" jest standardowym tematem dla wszystkich aplikacji opartych na systemie Microsoft Windows. Temat ten dostarcza informacji o innych tematach obsługiwanych przez aplikację. Aby otrzymać te informacje, musi być najpierw wywołana funkcja DDEInitiate z ciągiem znaków "System" jako argumentem temat, a następnie wykonane polecenie DDERequest z jedną z poniższych wartości argumentu element.

Element	Zwraca
SysItems	Listę elementów obsługiwanych przez temat "System" w programie Microsoft Access.
Formats	Listę formatów, w jakich program Microsoft Access może kopiować dane do Schowka.
Status	Stan "Busy" lub "Ready".
Topics	Listę wszystkich otwartych baz danych.
W poniższym przykładzie zostało pokazane, jak użyć funkcji DDEInitiate i DDERequest z tematem "System":

' In Visual Basic, initiate DDE conversation with Microsoft Access.

Dim intChan1 As Integer, strResults As String

intChan1 = DDEInitiate("MSAccess", "System")

' Request list of topics supported by System topic.

strResults = DDERequest(intChan1, "SysItems")

' Run OpenDatabase action to open Northwind.mdb.

' You may need to change this path to point to actual location

' of Northwind sample database.

DDEExecute intChan1, "[OpenDatabase C:\Access\Samples\Northwind.mdb]"

Temat baza_danych

Temat baza_danych jest nazwą pliku istniejącej bazy danych. Można wpisać tylko nazwę bazy (Northwind) albo pełną ścieżkę z rozszerzeniem .mdb (C:\Access\Samples\Northwind.mdb). Po rozpoczęciu konwersacji DDE z bazą danych, można zażądać listy obiektów tej bazy danych.

Uwaga   Nie można użyć mechanizmu DDE do wykonania kwerendy na pliku informacyjnym grupy roboczej programu Microsoft Access

Temat baza_danych obsługuje następujące elementy.

Element	Zwraca
TableList	Listę tabel.
QueryList	Listę kwerend.
FormList	Listę formularzy.
ReportList	Listę raportów.
MacroList	Listę makr.
ModuleList	Listę modułów.
W poniższym przykładzie zostało pokazane, jak można otworzyć formularz "Employees" przykładowej bazy danych ”Northwind" z procedury języka Visual Basic:

' In Visual Basic, initiate DDE conversation with

' Northwind sample database.

' Make sure database is open.

intChan2 = DDEInitiate("MSAccess", "Northwind")

' Request list of forms in Northwind sample database.

strResponse = DDERequest(intChan2, "FormList")

' Run OpenForm action and arguments to open Employees form.

DDEExecute intChan2, "[OpenForm Employees,0,,,1,0]"

Tematy TABLE nazwa_tabeli, QUERY nazwa_kwerendy i SQL ciąg_sql

Tematy te mają następującą składnię:

nazwa_bazy_danych; TABLE nazwa_tabeli

nazwa_bazy_danych; QUERY nazwa_kwerendy

nazwa_bazy_danych; SQL [ciąg_sql]

Część składni	Opis
nazwa_bazy_danych	Nazwa bazy danych, w której znajduje się tabela lub kwerenda albo do której odnosi się instrukcja SQL. Po tej nazwie następuje średnik (;). Nazwa bazy danych może być zarówno samą nazwą (Northwind), jak i pełną ścieżką do bazy danych z rozszerzeniem .mdb (C:\Access\Samples\Northwind.mdb).
nazwa_tabeli	Nazwa istniejącej tabeli.
nazwa_kwerendy	Nazwa istniejącej kwerendy.
ciąg_sql	Prawidłowa instrukcja SQL o długości do 256 znaków zakończona średnikiem. Aby wymienić więcej niż 256 znaków należy pominąć ten argument i użyć zamiast niego kolejnych instrukcji DDEPoke do zbudowania instrukcji SQL. Na przykład, w poniższym kodzie języka Visual Basic zostaje użyta instrukcja DDEPoke do zbudowanie instrukcji SQL, a następnie żądane są wyniki kwerendy.
	intChan1 = DDEInitiate("MSAccess", "Northwind;SQL") DDEPoke intChan1, "SQLText", "SELECT *" DDEPoke intChan1, "SQLText", " FROM Orders" DDEPoke intChan1, "SQLText", " WHERE [Freight] > 100;" strResponse = DDERequest(intChan1, "NextRow") DDETerminate intChan1
W poniższej tabeli zostały przedstawione wszystkie prawidłowe elementy dla tematów TABLE nazwa_tabeli, QUERY nazwa_kwerendy i SQL ciąg_sql.

Element	Zwraca
All	Wszystkie dane tabeli, łącznie z nazwami pól.
Data	Wszystkie wiersze danych, bez nazw pól.
FieldNames	Jednowierszową listę nazw pól.
FieldNames;T	Dwuwierszową listę nazw pól (pierwszy wiersz) i ich typów danych (drugi wiersz).
	Zwracane wartości i reprezentowane przez nie typy danych:
	Wartość	Typ danych
	0	Niepoprawny
	1	True/False (nie Null)
	2	Bajt bez znaku
	3	2-bajtowa liczba całkowita ze znakiem (Integer)
	4	4-bajtowa liczba całkowita ze znakiem (Long)
	5	8-bajtowa liczba całkowita ze znakiem (Currency)
	6	4-bajtowa liczba zmiennopozycyjna pojedynczej precyzji (Single)
	7	8-bajtowa liczba zmiennopozycyjna podwójnej precyzji (Double)
	8	Data/Godzina
	9	Dane binarne, maksymalnie 256 bajtów
	10	Tekst ANSI, w którym nie są rozróżniane małe i wielkie litery, maksymalnie 256 bajtów (Text)
	11	Długie dane binarne (Obiekt OLE)
	12	Długi tekst (Memo)
NextRow	Dane z następnego wierszu tabeli lub kwerendy. Po otwarciu kanału element "NextRow" zwraca dane z pierwszego wiersza. Jeśli wiersz bieżący jest ostatnim rekordem i uruchomione zostanie żądanie z elementem "NextRow", żądanie to nie powiedzie się.
PrevRow	Dane z poprzedniego wiersza tabeli lub kwerendy. Jeśli żądanie z elementem "PrevRow" jest pierwszym żądaniem dla nowego kanału, zwracane są dane z ostatniego wiersza tabeli lub kwerendy. Jeśli pierwszy rekord jest wierszem bieżącym, żądanie "PrevRow" nie powiedzie się.
FirstRow	Dane z pierwszego wiersza tabeli lub kwerendy.
LastRow	Dane z ostatniego wiersza tabeli lub kwerendy.
FieldCount	Liczbę pól w tabeli lub kwerendzie.
SQLText	Instrukcję SQL reprezentującą tabelę lub kwerendę. Dla tabel zwracana jest instrukcja SQL w postaci "SELECT * FROM tabela;".
SQLText;n	Instrukcję SQL, w n-znakowych kawałkach, reprezentującą tabelę lub kwerendę, gdzie n jest liczbą całkowitą o wartości do 256. Przypuśćmy na przykład, że kwerenda jest reprezentowana przez następującą instrukcję SQL: "SELECT * FROM Orders;" Element "SQLText;7" zwraca następujące kawałki ograniczone znakami tabulacji: "SELECT " "* FROM " "Orders;"
W poniższym przykładzie zostało pokazane, jak można użyć mechanizmu DDE w procedurze języka Visual Basic, aby zażądać danych z tabeli w przykładowej bazie danych "Northwind", a następnie wstawić te dane do pliku tekstowego:

Sub NorthwindDDE

Dim intChan1 As Integer, intChan2 As Integer, intChan3 As Integer

Dim strResp1 As Variant, strResp2 As Variant, strResp3 As Variant

' In a Visual Basic module, get data from Categories table,

' Catalog query, and Orders table in Northwind.mdb.

' Make sure database is open first.

intChan1 = DDEInitiate("MSAccess", "Northwind;TABLE Shippers")

intChan2 = DDEInitiate("MSAccess", "Northwind;QUERY Catalog")

intChan3 = DDEInitiate("MSAccess", "Northwind;SQL SELECT * " _

& "FROM Orders " _

& "WHERE OrderID > 10050;")

strResp1 = DDERequest(intChan1, "All")

strResp2 = DDERequest(intChan2, "FieldNames;T")

strResp3 = DDERequest(intChan3, "FieldNames;T")

DDETerminate intChan1

DDETerminate intChan2

DDETerminate intChan3

' Insert data into text file.

Open "C:\DATA.TXT" For Append As #1

Print #1, strResp1

Print #1, strResp2

Print #1, strResp3

Close #1

End Sub


Funkcje i instrukcje DDE

DDE, funkcja

DDEExecute, instrukcja

DDEInitiate, funkcja

DDEPoke, instrukcja

DDERequest, funkcja

DDESend, funkcja

DDETerminate, instrukcja

DDETerminateAll, instrukcja


DDEExecute, instrukcja

Instrukcji DDEExecute można użyć do wysłania polecenia z aplikacji klienta do aplikacji serwera przez otwarty kanał dynamicznej wymiany danych (DDE).

Przypuśćmy na przykład, że użytkownik otworzył w programie Microsoft Access kanał DDE do przesłania danych tekstowych z arkusza kalkulacyjnego programu Microsoft Excel do bazy danych programu Microsoft Access. Powinien on użyć instrukcji DDEExecute, aby wysłać do programu Microsoft Excel polecenie New określające że ma zostać otwarty nowy arkusz. W przykładzie tym program Microsoft Access działa jako aplikacja klienta, a program Microsoft Excel jako aplikacja serwera.

Składnia

DDEExecute numer_kanału, polecenie

Instrukcja DDEExecute ma następujące argumenty.

Argument	Opis
numer_kanału	Numer kanału, liczba całkowita długa zwracana przez funkcję DDEInitiate.
polecenie	Wyrażenie typu ciąg znaków określające polecenie rozpoznawane przez aplikację serwera. Lista tych poleceń znajduje się w dokumentacji danej aplikacji serwera.
Uwagi

Wartość argumentu polecenie zależy od aplikacji i od tematu określonego przy otwieraniu kanału numer_kanału. Wystąpi błąd, jeśli argument numer_kanału nie jest liczbą całkowitą odpowiadającą otwartemu kanałowi albo jeśli w innej aplikacji nie może być wykonane określone polecenie.

W języku Visual Basic instrukcji DDEExecute można używać tylko przy wysyłaniu poleceń do innych aplikacji. Informacje dotyczące wysyłania poleceń z innych aplikacji do programu Microsoft Access można znaleźć w temacie Wykorzystanie programu Microsoft Access jako serwera DDE.

Wskazówka   Jeśli w programie Microsoft Access zachodzi potrzeba operowania obiektami z innej aplikacji, można użyć mechanizmu automatyzacji.


Dynamiczna wymiana danych (DDE) - przykład
Dynamiczna wymiana danych (DDE) – przykład

W poniższym przykładzie zostaje ustanowione łącze DDE z programem Microsoft Excel, pewne wartości są umieszczane w komórkach w pierwszym wierszu nowego arkusza i tworzony jest wykres na podstawie tych wartości. Najpierw funkcja DDEInitiate otwiera kanał do rozpoczęcia konwersacji DDE. Następnie instrukcja DDEExecute wysyła do programu Microsoft Excel polecenie otwarcia nowego arkusza, a funkcja DDERequest pyta program Microsoft Excel o nazwę nowo tworzonego arkusza. Otwierany jest nowy kanał, a instrukcja DDEPoke wysyła do programu Microsoft Excel dane, z których będzie tworzony wykres. Na koniec, instrukcja DDETerminate przerywa łącze DDE z programem Microsoft Excel, a instrukcja DDETerminateAll przerywa wszystkie aktywne łącza DDE.

Sub ExcelDDE()

Dim intI As Integer, intChan1 As Integer

Dim strTopics As String, strResp As String, strSheetName As String

On Error Resume Next	' Set up error handling.

intChan1 = DDEInitiate("Excel", "System")	' Establish link.

If Err Then	' If error occurs, Excel may

Err = 0	' not be running. Reset error

Shell "C:\Excel\Excel.exe", 1	' and start spreadsheet.

If Err Then Exit Sub	' If another error, exit.

' Establish Spreadsheet link.

intChan1 = DDEInitiate("Excel", "System")

End If

' Create new worksheet.

DDEExecute intChan1, "[New(1)]"

' Get topic list, worksheet name.

strTopics = DDERequest(intChan1, "Selection")

strSheetName = Left(strTopics, InStr(1, strTopics, "!") - 1)

' Terminate DDE link.

DDETerminate intChan1

' Establish link with new worksheet.

intChan1 = DDEInitiate("Excel", strSheetName)

For intI = 1 To 10	' Put some values into

DDEPoke intChan1, "R1C" & intI, intI	' first row.

Next intI

' Make chart.

DDEExecute intChan1, "[Select(""R1C1:R1C10"")][New(2,2)]"

' Terminate all links.

DDETerminateAll

End Sub


DDEInitiate, funkcja

Funkcji DDEInitiate można użyć do rozpoczęcia konwersacji dynamicznej wymiany danych (DDE) z inną aplikacją. Funkcja DDEInitiate otwiera kanał DDE do przesyłania danych między serwerem DDE a aplikacją klienta.

Jeśli na przykład użytkownik chce przesłać dane z arkusza programu Microsoft Excel do bazy danych programu Microsoft Access, może użyć funkcji DDEInitiate do otwarcia kanału między tymi aplikacjami. W przykładzie tym program Microsoft Access działa jako aplikacja klienta, a program Microsoft Excel jako aplikacja serwera.

Składnia

DDEInitiate(aplikacja, temat)

Funkcja DDEInitiate ma następujące argumenty.

Argument	Opis
aplikacja	Wyrażenie typu ciąg znaków identyfikujące aplikację, która ma brać udział w konwersacji DDE. Argument aplikacja jest zwykle nazwą pliku .exe (bez rozszerzenia .exe) aplikacji systemu Microsoft Windows, takiej jak np. Microsoft Excel.
temat	Wyrażenie typu ciąg znaków będące nazwą tematu rozpoznawanego przez aplikację określoną w argumencie aplikacja. Listę możliwych tematów można znaleźć w opisie danej aplikacji.
Uwagi

W przypadku sukcesu, funkcja DDEInitiate rozpoczyna konwersację DDE z aplikacją i tematem określonymi przez argumenty aplikacja i temat, a następnie zwraca wartość typu Liczba całkowita długa. Wartość ta reprezentuje unikatowy numer kanału identyfikujący kanał, przez który można przesyłać dane. Ten numer kanału jest następnie używany w innych funkcjach i instrukcjach DDE.

Jeśli aplikacja jeszcze nie jest uruchomiona lub jeśli jest uruchomiona, ale nie jest rozpoznawany argument temat albo aplikacja nie obsługuje mechanizmu DDE, funkcja DDEInitiate zwraca błąd  wykonania.

Wartość argumentu temat zależy od aplikacji określonej przez argument aplikacja. Dla aplikacji używających dokumentów lub plików danych prawidłowe nazwy tematów często zawierają nazwy tych plików.

Uwaga   Maksymalna liczba kanałów, które mogą być jednocześnie otwarte jest określona przez system Microsoft Windows oraz pamięć i zasoby komputera. Jeśli kanał nie jest używany, należy zwolnić zasoby przez zamknięcie tego kanału za pomocą instrukcji DDETerminate lub DDETerminateAll.

Wskazówka   Jeśli w programie Microsoft Access zachodzi potrzeba operowania obiektami z innej aplikacji, można użyć mechanizmu automatyzacji.


DDEPoke, instrukcja

Instrukcji DDEPoke można użyć do przesłania danych tekstowych z aplikacji klienta do aplikacji serwera przez otwarty kanał dynamicznej wymiany danych (DDE).

Jeśli na przykład otwarty jest kanał DDE między programem Microsoft Access a programem Microsoft Excel, można użyć instrukcji DDEPoke do przesłania tekstu z bazy danych programu Microsoft Access do arkusza programu Microsoft Excel. W przykładzie tym program Microsoft Access działa jako aplikacja klienta, a program Microsoft Excel jako aplikacja serwera.

Składnia

DDEPoke numer_kanału, element, dane

Instrukcja DDEPoke ma następujące argumenty.

Argument	Opis
numer_kanału	Numer kanału, liczba całkowita długa zwracana przez funkcję DDEInitiate.
element	Wyrażenie typu ciąg znaków będące nazwą elementu danych rozpoznawanego przez aplikację określoną przez funkcję DDEInitiate. Listę możliwych elementów można znaleźć w opisie danej aplikacji.
dane	Ciąg znaków zawierający dane, które mają być dostarczone do innej aplikacji.
Uwagi

Wartość argumentu element zależy od aplikacji i tematu określonych przy otwieraniu kanału numer_kanału. Argument element może być na przykład zakresem komórek w arkuszu programu Microsoft Excel.

Ciąg znaków zawarty w argumencie dane musi być ciągiem znaków alfanumerycznych. Nie są obsługiwane żadne inne formaty. Argument dane może być na przykład liczbą, która ma zostać umieszczona w komórkach określonego zakresu arkusza programu Excel.

Jeśli argument numer_kanału nie jest liczbą całkowitą odpowiadającą otwartemu kanałowi albo jeśli inna aplikacja nie rozpoznaje lub nie akceptuje określonych danych, wystąpi błąd  wykonania.

Wskazówka   Jeśli w programie Microsoft Access zachodzi potrzeba operowania obiektami z innej aplikacji, można użyć mechanizmu automatyzacji.


DDERequest, funkcja

Funkcji DDERequest można użyć przy otwartym kanale dynamicznej wymiany danych (DDE) do zażądania elementu informacji od aplikacji serwera DDE.

Jeśli na przykład otwarty jest kanał DDE między programem Microsoft Access a programem Microsoft Excel, można użyć funkcji DDERequest do przesłania tekstu z arkusza programu Microsoft Excel do bazy danych programu Microsoft Access. W przykładzie tym program Microsoft Access działa jako aplikacja klienta, a program Microsoft Excel jako aplikacja serwera.

Składnia

DDERequest(numer_kanału, element)

Funkcja DDERequest ma następujące argumenty.

Argument	Opis
numer_kanału	Numer kanału, liczba całkowita długa zwracana przez funkcję DDEInitiate.
element	Wyrażenie typu ciąg znaków będące nazwą elementu danych rozpoznawanego przez aplikację określoną przez funkcję DDEInitiate. Listę możliwych elementów można znaleźć w opisie danej aplikacji.
Uwagi

Argument numer_kanału określa numer kanału żądanej konwersacji DDE, a argument element identyfikuje dane, które powinny być otrzymane z aplikacji serwer. Wartość argumentu element zależy od aplikacji i tematu określonych przy otwieraniu kanału numer_kanału. Argument element może być na przykład zakresem komórek w arkuszu programu Microsoft Excel.

Funkcja DDERequest zwraca wartość typu Variant jako ciąg znaków zawierający żądane informacje, jeśli żądanie powiodło się.

Dane są żądane w formacie tekstu alfanumerycznego. Nie może być przesłana grafika ani tekst w żadnym innym formacie.

Jeśli argument numer_kanału nie jest liczbą całkowitą odpowiadającą otwartemu kanałowi albo jeśli żądane dane nie mogą być przesłane, wystąpi błąd  wykonania.

Wskazówka   Jeśli w programie Microsoft Access zachodzi potrzeba operowania obiektami z innej aplikacji, można użyć mechanizmu automatyzacji.


DDETerminate, instrukcja

Instrukcji DDETerminate można użyć do zamknięcia określonego kanału dynamicznej wymiany danych (DDE).

Jeśli na przykład otwarty jest kanał DDE do przesyłania danych między programem Microsoft Access a programem Microsoft Excel, można użyć funkcji DDETerminate, aby zamknąć ten kanał po zakończeniu przesyłania.

Składnia

DDETerminate numer_kanału

Uwagi

Argument numer_kanału określa numer kanału, który ma być zamknięty. Argument ten odnosi się do kanału otwartego przez funkcję DDEInitiate. Jeśli argument numer_kanału nie jest liczbą całkowitą odpowiadającą otwartemu kanałowi, wystąpi błąd  wykonania.

Po zamknięciu kanału, wszystkie następne funkcje i instrukcje DDE wykonywane z użyciem tego kanału powodują wystąpienie błędu czasu wykonania.

Instrukcja DDETerminate nie wpływa na aktywne wyrażenia łącz DDE w polach formularzy i raportów.

Wskazówka   Jeśli w programie Microsoft Access zachodzi potrzeba operowania obiektami z innej aplikacji, można użyć mechanizmu automatyzacji.


DDETerminateAll, instrukcja

Instrukcji DDETerminateAll można użyć do zamknięcia wszystkich otwartych kanałów dynamicznej wymiany danych (DDE).

Przypuśćmy na przykład, że są otwarte dwa kanały DDE między programem Microsoft Excel a Microsoft Access, jeden do odbierania informacji systemowych o programie Microsoft Excel i jeden do przesyłania danych. Można użyć instrukcji DDETerminateAll, aby jednocześnie zamknąć oba kanały.

Składnia

DDETerminateAll

Uwagi

Użycie instrukcji DDETerminateAll jest równoważne wykonaniu instrukcji DDETerminate dla każdego otwartego numeru kanału. Podobnie jak instrukcja DDETerminate, instrukcja DDETerminateAll nie wpływa na aktywne wyrażenia łącz DDE w polach formularzy i raportów.

Jeśli nie jest otwarty żaden kanał DDE, wykonanie instrukcji DDETerminateAll nie powoduje wystąpienia błędu wykonania.

Wskazówki

•	Jeśli zostanie przerwana procedura wykonująca DDE, można niechcący zostawić kanały otwarte. Aby uniknąć wyczerpania się zasobów systemu, należy użyć instrukcji DDETerminateAll w kodzie lub w okienku bezpośrednim okna analizy programu, podczas analizy kodu wykonującego DDE.

•	Jeśli w programie Microsoft Access zachodzi potrzeba operowania obiektami z innej aplikacji, można użyć mechanizmu automatyzacji.


Funkcje agregujące domen

Funkcje agregujące dostarczają informacji statystycznej o zestawach rekordów (domenie). Na przykład, można użyć funkcji agregującej do wyliczenia liczby rekordów w pewnym zestawie rekordów albo do określenia średniej wartości pewnego pola.

Dwa typy funkcji agregujących, funkcje agregujące domen i funkcje agregujące SQL działają podobnie, ale są używane w innych sytuacjach. Funkcje agregujące SQL mogą wystąpić w instrukcji SQL, ale nie mogą być wywoływane bezpośrednio z programu Visual Basic. W przeciwieństwie do nich, funkcje agregujące domen mogą być wywoływane bezpośrednio z programu Visual Basic. Mogą one również wystąpić w instrukcji SQL, ale używanie funkcji agregujących SQL jest na ogół bardziej efektywne.

Chcąc w kodzie programu wykonywać obliczenia statystyczne, trzeba użyć funkcji agregujących domen. Można również używać funkcji agregujących domen do określania kryteriów, aktualizacji wartości albo tworzenia pól obliczeniowych w wyrażeniu kwerendy. Można używać zarówno funkcji agregujących SQL, jak i funkcji agregujących domen w formantach obliczeniowych formularza lub raportu.

Do funkcji agregujących domen należą:

DAvg, funkcja

DCount, funkcja

DLookup, funkcja

DFirst, DLast, funkcje

DMin, DMax, funkcje

DStDev, DStDevP, funkcje

DSum, funkcja

DVar, DVarP, funkcje


DAvg, funkcja

Funkcji DAvg można użyć do obliczenia średniej ze zbioru wartości w określonym zestawie rekordów (domenie). Funkcji DAvg można użyć w kodzie języka Visual Basic, w  makrze, w wyrażeniu kwerendy i w formancie obliczeniowym.

Na przykład, można użyć funkcji DAvg w wierszu kryteriów kwerendy wybierającej, w stosunku do kosztów transportu, aby ograniczyć wyniki tylko do tych rekordów, dla których koszty transportu przewyższają średni koszt transportu. Można też użyć wyrażenia zawierającego funkcję DAvg w formancie obliczeniowym, aby wyświetlić średnią wartość poprzednich zamówień obok wartości nowego zamówienia.

Składnia

DAvg(wyr, domena[, kryteria])

Funkcja DAvg ma następujące argumenty.

Argument	Opis
wyr	Wyrażenie identyfikujące pole zawierające dane liczbowe, które będą uśredniane. Może to być wyrażenie typu ciąg znaków identyfikujące pole w tabeli lub kwerendzie, albo wyrażenie wykonujące obliczenia na danych w tym polu. Argument wyr może zawierać nazwy pól tabeli, formantów formularza, stałe i funkcje. Jeśli argument wyr zawiera funkcję, to może być ona zarówno funkcją wbudowaną jak i zdefiniowaną przez użytkownika, ale nie może być inną funkcją agregującą domen ani funkcją agregującą SQL.
domena	Wyrażenie typu ciąg znaków identyfikujące zestaw rekordów tworzących domenę. Może to być nazwa tabeli albo kwerendy.
kryteria	Opcjonalny ciąg znaków używany do ograniczenia zakresu danych, na których wykonywana jest funkcja DAvg. Na przykład, argument kryteria jest często równoważny klauzuli WHERE w wyrażeniu SQL, bez słowa WHERE. Jeśli argument kryteria zostanie pominięty, funkcja DAvg oblicza wyrażenie określone przez argument wyr dla całej domeny. Każde pole uwzględnione w argumencie kryteria musi także być polem domeny; w przeciwnym razie funkcja DAvg zwraca wartość Null.
Uwagi

Rekordy zawierające wartości Null nie są uwzględniane przy obliczaniu średniej.

Niezależnie od tego, czy funkcja DAvg jest używana w makrze, w module, w wyrażeniu kwerendy czy w formancie obliczeniowym, należy konstruować argument kryteria uważnie, aby mieć pewność, że będzie on wyliczony poprawnie.

Funkcji DAvg można użyć do określenia kryteriów w wierszu Kryteria kwerendy. Przypuśćmy na przykład, że użytkownik chce obejrzeć listę wszystkich produktów zamówionych w ilościach przewyższających średnią wielkość zamówienia. Może on utworzyć kwerendę z tabel "Orders" (Zamówienia), "Order Details" (Szczegóły zamówień) i "Products" (Produkty), włączyć do niej pola "Product Name" (Nazwa produktu) oraz "Quantity" (Ilość) i umieścić następujące wyrażenie w wierszu Kryteria poniżej pola "Quantity":

>DAvg("[Quantity]", "Orders")

Można również użyć funkcji DAvg w wyrażeniu pola wyliczanego w kwerendzie albo w wierszu Zamiana na kwerendy aktualizującej.

Uwaga   Można użyć zarówno funkcji Davg, jak i Avg w wyrażeniu pola wyliczanego kwerendy podsumowującej. Jeśli używana jest funkcja Davg, wartości są uśredniane przed pogrupowaniem danych. Jeśli używana jest funkcja Avg, dane są grupowane przed uśrednieniem wartości wyrażenia pola.

Należy użyć funkcji DAvg w formancie obliczeniowym, kiedy trzeba określić kryteria ograniczające zakres danych, na których będzie wykonywana funkcja. Na przykład, aby wyświetlić średni koszt transportu zamówień wysłanych do Kalifornii, należy ustawić właściwość ControlSource (Źródło formantu) pola tekstowego na następujące wyrażenie:

=DAvg("[Freight]", "Orders", "[ShipRegion] = 'CA'")

Aby po prostu uśrednić wszystkie rekordy domeny, należy użyć funkcji Avg.

Można użyć funkcji DAvg w module, w makrze lub w formancie obliczeniowym na formularzu, jeśli pole, które ma być wyświetlone, nie występuje w podstawowym źródle rekordów formularza. Przypuśćmy na przykład, że formularz jest oparty na tabeli "Orders", a użytkownik chce w nim umieścić pole "Quantity" z tabeli "Order Details", aby wyświetlać średnie liczby produktów zamówionych przez poszczególnych klientów. Może on użyć funkcji DAvg, aby wykonać te obliczenia i wyświetlić wyniki w formularzu.

Wskazówki

•	Jeśli funkcja DAvg jest używana w formancie obliczeniowym, można umieścić ten formant w nagłówku lub stopce formularza, aby wartość formantu nie była wyliczana przy każdym przechodzeniu do nowego rekordu.

•	Jeśli typem danych pola występującego w argumencie wyr jest liczba, funkcja DAvg zwraca wartość typu Podwójna precyzja. Jeśli funkcja DAvg jest używana w formancie obliczeniowym, należy użyć w wyrażeniu funkcji konwersji typu danych, aby usprawnić wykonywanie funkcji.

•	Chociaż można użyć funkcji DAvg do obliczenia średniej wartości z pola tabeli obcej, bardziej efektywne może być utworzenie kwerendy zawierającej wszystkie potrzebne pola i oparcie na niej formularza albo raportu.

Uwaga   Nie zapisane zmiany dokonane w rekordach domeny nie są uwzględniane przy wykonywaniu funkcji. Aby funkcja DAvg uwzględniała wartości zmienione, trzeba najpierw zapisać zmiany klikając polecenie Zapisz rekord w menu Plik, przenosząc fokus do innego rekordu albo używając metody Update.


DAvg, funkcja - przykład
DAvg, funkcja – przykład

W poniższym przykładzie zwracany jest średni koszt frachtu (freight) zamówień wysłanych do Wielkiej Brytanii (UK) przed 1 stycznia 1996. Domeną jest tabela "Orders" (Zamówienia). Argument kryteria ogranicza wynikowy zestaw rekordów do tych, dla których wartością pola "ShipCountry" (KrajOdbiorcy) jest UK, a wartość pola "ShippedDate" (DataWysyłki) jest większa lub równa 1-1-96. Należy zwrócić uwagę na użycie słowa kluczowego AND w ciągu znaków, oddzielającego pola w argumencie kryteria. Wszystkie rekordy uwzględniane przy obliczaniu funkcji DAvg będą spełniały oba kryteria.

Dim dblX As Double

dblX = DAvg("[Freight]", "Orders", _

"[ShipCountry] = 'UK' AND [ShippedDate] >= #1-1-96#")

W następnym przykładzie obliczana jest średnia przy użyciu zmiennej strCountry w argumencie kryteria. Należy zwrócić uwagę na umieszczenie znaków pojedynczego cudzysłowu (') w wyrażeniu typu ciąg znaków, aby po połączeniu wszystkich ciągów znaków literał UK był zawarty w pojedynczym cudzysłowie. W przykładzie tym do oddzielenia pól używane jest słowo kluczowe OR. W obliczeniach będą uwzględniane wszystkie rekordy spełniające przynajmniej jeden warunek.

Dim dblX As Double, strCountry As String

strCountry = "UK"

dblX = DAvg("[Freight]", "Orders", _

"[ShipCountry] = '" & strCountry & "'OR [ShippedDate] >= #1-1-96#")


DCount, funkcja

Funkcji DCount można użyć do obliczenia liczby rekordów w określonym zestawie rekordów (domenie). Funkcji DCount można użyć w kodzie języka Visual Basic lub w  makrze, w wyrażeniu kwerendy i w formancie obliczeniowym.

Można na przykład użyć funkcji DCount w module, aby zwrócić liczbę rekordów w tabeli "Orders" (Zamówienia) odpowiadających zamówieniom złożonym w określonym dniu.

Składnia

DCount(wyr, domena[, kryteria])

Funkcja DCount ma następujące argumenty.

Argument	Opis
wyr	Wyrażenie identyfikujące pole, dla którego będzie obliczona liczba rekordów. Może to być wyrażenie typu ciąg znaków identyfikujące pole w tabeli lub kwerendzie, albo wyrażenie wykonujące obliczenia na danych w tym polu. Argument wyr może zawierać nazwy pól tabeli, formantów formularza, stałe i funkcje. Jeśli argument wyr zawiera funkcję, to może być ona zarówno funkcją wbudowaną jak i zdefiniowaną przez użytkownika, ale nie może być inną funkcją agregującą domen ani funkcją agregującą SQL.
domena	Wyrażenie typu ciąg znaków identyfikujące zestaw rekordów tworzących domenę. Może to być nazwa tabeli albo kwerendy.
kryteria	Opcjonalny ciąg znaków używany do ograniczenia zakresu danych, na których wykonywana jest funkcja DCount. Na przykład, argument kryteria jest często równoważny klauzuli WHERE w wyrażeniu SQL, bez słowa WHERE. Jeśli argument kryteria zostanie pominięty, funkcja DCount oblicza wyrażenie określone przez argument wyr dla całej domeny. Każde pole uwzględnione w argumencie kryteria musi także być polem domeny; w przeciwnym razie funkcja DCount zwraca wartość Null.
Uwagi

Funkcji DCount można użyć do obliczenia liczby rekordów w domenie, gdy nie są potrzebne ich wartości. Chociaż w argumencie wyr mogą być wykonywane obliczenia na wartości pola, funkcja DCount po prostu oblicza liczbę rekordów. Wyniki jakichkolwiek obliczeń wykonywanych w argumencie wyr są niedostępne.

Niezależnie od tego, czy funkcja DCount jest używana w makrze, w module, w wyrażeniu kwerendy czy w formancie obliczeniowym, należy konstruować argument kryteria uważnie, aby mieć pewność, że będzie on wyliczony poprawnie.

Należy użyć funkcji DAvg w formancie obliczeniowym, kiedy trzeba określić kryteria ograniczające zakres danych, na których będzie wykonywana funkcja. Na przykład, aby wyświetlić liczbę zamówień, które mają być wysłane do Kalifornii, należy ustawić właściwość ControlSource (Źródło formantu) pola tekstowego na następujące wyrażenie:

=DCount("[OrderID]", "Orders", "[ShipRegion] = 'CA'")

Aby po prostu obliczyć liczbę wszystkich rekordów domeny, bez określania żadnych ograniczeń, należy użyć funkcji Count.

Wskazówka   Funkcja Count została zoptymalizowana do szybkiego liczenia rekordów w kwerendach. W wyrażeniu kwerendy należy użyć funkcji Count zamiast funkcji DCount i ustawić opcjonalne kryteria, aby wymusić ograniczenia na wynikach. Należy użyć funkcji DCount, gdy trzeba policzyć rekordy w domenie korzystając z kodu makra lub modułu albo formantu obliczeniowego.

Można użyć funkcji DCount do obliczenia liczby rekordów zawierających pole, które nie występuje w podstawowym źródle rekordów formularza lub raportu. Można na przykład wyświetlić liczbę zamówień z tabeli "Orders" (Zamówienia) w formancie obliczeniowym w formularzu opartym na tabeli "Products".

Funkcja DCount nie zlicza rekordów zawierających wartość Null w polu, do którego odwołuje się argument wyr, chyba że w argumencie wyr występuje symbol wieloznaczny (*). Jeśli używany jest znak gwiazdki, funkcja DCount oblicza całkowitą liczbę rekordów, włączając rekordy zawierające pola z wartością Null. W poniższym przykładzie obliczana jest liczba rekordów w tabeli "Orders".

intX = DCount("*", "Orders")

Jeśli argument domena określa tabelę z kluczem podstawowym, można również obliczyć całkowitą liczbę rekordów ustawiając argument wyr na pole klucza podstawowego, ponieważ w polu klucza podstawowego nigdy nie będzie wartości Null.

Jeśli argument wyr identyfikuje wiele pól, należy oddzielić nazwy pól operatorem konkatenacji, –znakiem ampersand (&) albo operatorem dodawania (+). Jeśli do oddzielania pól używany jest znak "&", funkcja DCount zwraca liczbę rekordów zawierających dane w dowolnym z wymienionych pól. Jeśli używany jest operator dodawania (+), funkcja DCount zwraca liczbę rekordów zawierających dane we wszystkich wymienionych polach. W poniższym przykładzie zostało pokazane działanie każdego operatora używanego z polem zawierającym dane we wszystkich rekordach (ShipName) i z polem nie zawierającym danych (ShipRegion).

intW = DCount("[ShipName]", "Orders")	  ' Returns 831.

intX = DCount("[ShipRegion]", "Orders")	  ' Returns 323.

intY = DCount("[ShipName] + [ShipRegion]", "Orders")	  ' Returns 323.

intZ = DCount("[ShipName] & [ShipRegion]", "Orders")	  ' Returns 831.

Uwaga   Znak "&" jest zalecanym operatorem przy operacji łączenia (konkatenacji) ciągów znaków. Należy unikać używania operatora dodawania w przypadku operacji innych niż dodawanie liczb, chyba że w wyjątkowych sytuacjach pożądana jest propagacja wartości Null przez wyrażenie.

Nie zapisane zmiany dokonane w rekordach domeny nie są uwzględniane przy wykonywaniu funkcji. Aby funkcja DCount uwzględniała wartości zmienione, trzeba najpierw zapisać zmiany klikając polecenie Zapisz rekord w menu Plik, przenosząc fokus do innego rekordu albo używając metody Update.


DCount, funkcja - przykład
DCount, funkcja – przykład

W poniższym przykładzie zwracana jest liczba zamówień wysłanych do Wielkiej Brytanii (UK) po 1 stycznia 1995. Domeną jest tabela "Orders" (Zamówienia). Argument kryteria ogranicza wynikowy zestaw rekordów do tych, dla których wartością pola "ShipCountry" (KrajOdbiorcy) jest UK, a wartość pola "ShippedDate" (DataWysyłki) jest większa lub równa 1-1-95.

intX = DCount("[ShippedDate]", "Orders", _

"[ShipCountry] = 'UK' AND [ShippedDate] > #1-1-95#")

W następnym przykładzie, argument kryteria zawiera bieżącą wartość pola kombi o nazwie "ShipCountry". Wartości pola kombi "ShipCountry" pochodzą z pola "ShipCountry" w tabeli "Orders". Należy zwrócić uwagę, że odwołanie do tego formantu nie jest umieszczone w cudzysłowie (") oznaczającym ciąg znaków. Zapewnia to, że za każdym razem kiedy wywoływana jest funkcja DCount, program Microsoft Access otrzymuje bieżącą wartość z tego formantu.

intX = DCount("[ShippedDate]", "Orders", "[ShipCountry] = '" _

& Forms!Orders![ShipCountry] & "'AND [ShippedDate] > #1-1-95#")


DFirst, DLast, funkcje

Funkcji DFirst i DLast można użyć, aby zwrócić przypadkowy rekord z określonego pola tabeli lub kwerendy, kiedy potrzebna jest po prostu jakakolwiek wartość z tego pola. Funkcji DFirst i DLast można użyć w makrze, w module, w wyrażeniu kwerendy i w formancie obliczeniowym..

Składnia

DFirst(wyr, domena[, kryteria])

DLast(wyr, domena[, kryteria])

Funkcje DFirst i DLast mają następujące argumenty.

Argument	Opis
wyr	Wyrażenie identyfikujące pole, w którym ma być znaleziona pierwsza lub ostatnia wartość. Może to być wyrażenie typu ciąg znaków identyfikujące pole w tabeli lub kwerendzie, albo wyrażenie wykonujące obliczenia na danych w tym polu. Argument wyr może zawierać nazwy pól tabeli, formantów formularza, stałe i funkcje. Jeśli argument wyr zawiera funkcję, to może być ona zarówno funkcją wbudowaną jak i zdefiniowaną przez użytkownika, ale nie może być inną funkcją agregującą domen ani funkcją agregującą SQL.
domena	Wyrażenie typu ciąg znaków identyfikujące zestaw rekordów tworzących domenę.
kryteria	Opcjonalny ciąg znaków używany do ograniczenia zakresu danych, na których wykonywane są funkcje DFirst i DLast. Na przykład, argument kryteria jest często równoważny klauzuli WHERE w wyrażeniu SQL, bez słowa WHERE. Jeśli argument kryteria zostanie pominięty, funkcje DFirst i DLast obliczają wyrażenie określone przez argument wyr dla całej domeny. Każde pole uwzględnione w argumencie kryteria musi także być polem domeny; w przeciwnym razie funkcje DFirst i DLast zwracają wartość Null.
Uwagi

Uwaga   Chcąc zwrócić pierwszy lub ostatni rekord w zestawie rekordów (domenie), należy utworzyć kwerendę posortowaną rosnąco lub malejąco i ustawić właściwość TopValues (NajwiększeWratości) na wartość 1. Więcej informacji można znaleźć w temacie poświęconym właściwości TopValues. Za pomocą języka Visual Basic, można również utworzyć obiekt Recordset i użyć metody MoveFirst lub MoveLast, aby zwrócić pierwszy lub ostatni rekord w zestawie rekordów.


DLookup, funkcja

Funkcji DLookup można użyć do pobrania wartości pewnego pola z określonego zestawu rekordów (domeny). Funkcji DLookup można użyć w kodzie języka Visual Basic, w  makrze, w wyrażeniu kwerendy i w formancie obliczeniowym formularza lub raportu.

Można użyć funkcji DLookup do wyświetlenia wartości pola, które nie występuje w źródle rekordów formularza lub raportu. Przypuśćmy na przykład, że istnieje formularz oparty na tabeli "Order Details". W formularzu tym wyświetlane są pola: "OrderID", "ProductID", "UnitPrice", "Quantity" i "Discount". Niech w innej tabeli (tabeli "Products") występuje pole "ProductName". Aby wyświetlić pole "ProductName" w tym formularzu, można użyć funkcji DLookup w formancie obliczeniowym.

Składnia

DLookup(wyr, domena[, kryteria])

Funkcja DLookup ma następujące argumenty.

Argument	Opis
wyr	Wyrażenie identyfikujące pole, którego wartość ma być zwracana. Może to być wyrażenie typu ciąg znaków identyfikujące pole w tabeli lub kwerendzie, albo wyrażenie wykonujące obliczenia na danych w tym polu. Argument wyr może zawierać nazwy pól tabeli, formantów formularza, stałe i funkcje. Jeśli argument wyr zawiera funkcję, to może być ona zarówno funkcją wbudowaną jak i zdefiniowaną przez użytkownika, ale nie może być inną funkcją agregującą domen ani funkcją agregującą SQL.
domena	Wyrażenie typu ciąg znaków identyfikujące zestaw rekordów tworzących domenę. Może to być nazwa tabeli albo kwerendy.
kryteria	Opcjonalny ciąg znaków używany do ograniczenia zakresu danych, na których wykonywana jest funkcja DLookup. Na przykład, argument kryteria jest często równoważny klauzuli WHERE w wyrażeniu SQL, bez słowa WHERE. Jeśli argument kryteria zostanie pominięty, funkcja DLookup oblicza wyrażenie określone przez argument wyr dla całej domeny. Każde pole uwzględnione w argumencie kryteria musi także być polem domeny; w przeciwnym razie funkcja DLookup zwraca wartość Null.
Uwagi

Funkcja DLookup zwraca wartość jednego pola w oparciu o informacje określone w argumencie kryteria. Argument kryteria jest opcjonalny. Jeśli wartość argumentu kryteria nie zostanie określona, funkcja DLookup zwraca przypadkową wartość w domenie.

Jeśli żaden rekord nie spełnia kryteriów lub jeśli domena nie zawiera rekordów, funkcja DLookup zwraca wartość Null.

Jeśli kryteria spełnia wiele rekordów, funkcja DLookup zwraca pierwszy z tych rekordów. Kryteria powinny być określone tak, aby wartość zwracana przez funkcję DLookup była unikatowa. Można użyć w kryteriach wartości klucza podstawowego, jak np. [EmployeeID] w poniższym przykładzie, aby mieć pewność że funkcja DLookup zwraca wartość unikatową:

Dim varX As Variant

varX = DLookup("[LastName]", "Employees", "[EmployeeID] = 1")

Niezależnie od tego, czy funkcja DLookup jest używana w makrze, w module, w wyrażeniu kwerendy czy w formancie obliczeniowym, należy konstruować argument kryteria uważnie, aby mieć pewność, że będzie on wyliczony poprawnie.

Funkcji DLookup można użyć do określenia kryteriów w wierszu Kryteria kwerendy, w wyrażeniu pola wyliczanego w kwerendzie albo w wierszu Zamiana na kwerendy aktualizującej.

Funkcji DLookup można również użyć w wyrażeniu w formancie obliczeniowym formularza lub raportu, jeśli pole, które ma być wyświetlane nie występuje w podstawowym źródle rekordów formularza lub raportu. Przypuśćmy na przykład, że istnieje formularz "Order Details" oparty na tabeli "Order Details" z polem tekstowym o nazwie "ProductID", na którym wyświetlane jest pole "ProductID". Aby wyszukać wartość pola "ProductName" z tabeli "Products" w oparciu o wartość w tym polu tekstowym, można utworzyć nowe pole tekstowe i ustawić jego właściwość ControlSource (Źródło formantu) na następujące wyrażenie:

=DLookup("[ProductName]", "Products", "[ProductID] =" & Forms![Order Details]!ProductID)

Wskazówki

•	Chociaż można użyć funkcji DLookup do wyświetlania wartości pola tabeli obcej, bardziej efektywne może być utworzenie kwerendy zawierającej potrzebne pola z obu tabel i oparcie na niej formularza albo raportu.

•	Do znalezienia wartości w tabeli obcej można również użyć Kreatora odnośników.

Uwaga   Nie zapisane zmiany dokonane w rekordach domeny nie są uwzględniane przy wykonywaniu funkcji. Aby funkcja DLookup uwzględniała wartości zmienione, trzeba najpierw zapisać zmiany klikając polecenie Zapisz rekord w menu Plik, przenosząc fokus do innego rekordu albo używając metody Update.


DLookup, funkcja - przykład
DLookup, funkcja – przykład

W poniższym przykładzie zwracana są informacje z pola "CompanyName" rekordu spełniającego kryteria. Domeną jest tabela "Shippers". Argument kryteria ogranicza wynikowy zestaw rekordów do tych, dla których wartością pola "ShipperID" jest 1.

Dim varX As Variant

varX = DLookup("[CompanyName]", "Shippers", "[ShipperID] = 1")

W następnym przykładzie w argumencie kryteria funkcji DLookup używany jest formant "ShipperID" formularza opartego na tabeli "Shippers". Należy zwrócić uwagę, że odwołanie do tego formantu nie jest umieszczone w cudzysłowie (") oznaczającym ciąg znaków. Zapewnia to, że za każdym razem kiedy wywoływana jest funkcja DLookup, program Microsoft Access otrzymuje bieżącą wartość z tego formantu.

Dim varX As Variant

varX = DLookup("[CompanyName]", "Shippers", "[ShipperID] = " _

& Forms!Shippers!ShipperID)

W następnym przykładzie używana jest zmienna intSearch, aby pobrać wartość.

Dim intSearch As Integer, varX As Variant

intSearch = 1

varX = DLookup("[CompanyName]", "Shippers", _

"[ShipperID] = " & intSearch)


DMin, DMax, funkcje

Funkcji DMin i DMax można użyć do określenia najmniejszej i największej wartości w określonym zestawie rekordów (domenie). Funkcji DMin i DMax można użyć w kodzie języka Visual Basic, w  makrze,, w wyrażeniu kwerendy i w formancie obliczeniowym.

Można na przykład użyć funkcji DMin i DMax w formancie obliczeniowym raportu, aby wyświetlić największe i najmniejsze zamówienie dla pewnego klienta. Można również użyć funkcji DMin w wyrażeniu kwerendy, aby wyświetlić wszystkie zamówienia z rabatem większym niż najmniejszy z możliwych.

Składnia

DMin(wyr, domena[, kryteria])

DMax(wyr, domena[, kryteria])

Funkcje DMin i DMax mają następujące argumenty.

Argument	Opis
wyr	Wyrażenie identyfikujące pole, dla którego ma być znaleziona wartość najmniejsza i największa. Może to być wyrażenie typu ciąg znaków identyfikujące pole w tabeli lub kwerendzie, albo wyrażenie wykonujące obliczenia na danych w tym polu. Argument wyr może zawierać nazwy pól tabeli, formantów formularza, stałe i funkcje. Jeśli argument wyr zawiera funkcję, to może być ona zarówno funkcją wbudowaną jak i zdefiniowaną przez użytkownika, ale nie może być inną funkcją agregującą domen ani funkcją agregującą SQL.
domena	Wyrażenie typu ciąg znaków identyfikujące zestaw rekordów tworzących domenę. Może to być nazwa tabeli albo kwerendy.
kryteria	Opcjonalny ciąg znaków używany do ograniczenia zakresu danych, na których wykonywane są funkcje DMin i DMax. Na przykład, argument kryteria jest często równoważny klauzuli WHERE w wyrażeniu SQL, bez słowa WHERE. Jeśli argument kryteria zostanie pominięty, funkcje DMin i DMax obliczają wyrażenie określone przez argument wyr dla całej domeny. Każde pole uwzględnione w argumencie kryteria musi także być polem domeny; w przeciwnym razie funkcje DMin i DMax zwracają wartość Null.
Uwagi

Funkcje DMin i DMax zwracają najmniejszą i największą wartość spełniającą kryteria. Jeśli argument wyr identyfikuje dane liczbowe, funkcje DMin i DMax zwracają wartości liczbowe. Jeśli argument wyr identyfikuje dane typu ciąg znaków, zwracają odpowiednio pierwszy i ostatni, w kolejności alfabetycznej, ciąg znaków.

Funkcje DMin i DMax ignorują wartości Null w polu określonym przez argument wyr. Jeśli jednak żaden rekord nie spełnia kryteriów albo domena nie zawiera rekordów, funkcje DMin i DMax zwracają wartość Null.

Niezależnie od tego, czy funkcja DMin lub DMax jest używana w makrze, w module, w wyrażeniu kwerendy czy w formancie obliczeniowym, należy konstruować argument kryteria uważnie, aby mieć pewność, że będzie on wyliczony poprawnie.

Funkcji DMin lub DMax można użyć do określenia kryteriów w wierszu Kryteria kwerendy, w wyrażeniu pola wyliczanego w kwerendzie albo w wierszu Zamiana na kwerendy aktualizującej.

Uwaga   Można użyć zarówno funkcji DMin i DMax, jak i funkcji Min i Max w wyrażeniu pola wyliczanego kwerendy podsumowującej. Jeśli używana jest funkcja DMin albo DMax, wartości są obliczane przed pogrupowaniem danych. Jeśli używana jest funkcja Min albo Max, dane są grupowane przed obliczeniem wartości wyrażenia pola.

Należy użyć funkcji DMin lub DMax w formancie obliczeniowym, kiedy trzeba określić kryteria ograniczające zakres danych, na których będzie wykonywana funkcja. Na przykład, aby wyświetlić największy koszt transportu zamówień wysłanych do Kalifornii, należy ustawić właściwość ControlSource (Źródło formantu) pola tekstowego na następujące wyrażenie:

=DMax("[Freight]", "Orders", "[ShipRegion] = 'CA'")

Aby znaleźć po prostu najmniejszą lub największą wartość ze wszystkich rekordów domeny, należy użyć funkcji Min albo Max.

Funkcji DMin i DMax można użyć w module, w makrze lub w formancie obliczeniowym formularza, jeśli pole, które ma być wyświetlane nie występuje w podstawowym rekordów formularza.

Wskazówka   Chociaż można użyć funkcji DMin lub DMax do znalezienia minimalnej lub maksymalnej wartości w polu tabeli obcej, bardziej efektywne może być utworzenie kwerendy zawierającej potrzebne pola z obu tabel i oparcie na niej formularza albo raportu.

Uwaga   Nie zapisane zmiany dokonane w rekordach domeny nie są uwzględniane przy wykonywaniu funkcji. Aby funkcja DMin lub DMax uwzględniała wartości zmienione, trzeba najpierw zapisać zmiany klikając polecenie Zapisz rekord w menu Plik, przenosząc fokus do innego rekordu albo używając metody Update.


DMin, DMax, funkcje - przykład
DMin, DMax, funkcje – przykład

W poniższym przykładzie zwracana jest najmniejsza i największa wartość pola "Freight" dla zamówień wysłanych do Wielkiej Brytanii (UK). Domeną jest tabela "Orders". Argument kryteria ogranicza zestaw rekordów do tych, dla których wartością formantu "ShipCountry" (KrajOdbiorcy) jest UK.

Dim curX As Currency, curY As Currency

curX = DMin("[Freight]", "Orders", "[ShipCountry] = 'UK'")

curY = DMax("[Freight]", "Orders", "[ShipCountry] = 'UK'")

W następnym przykładzie, argument kryteria zawiera bieżącą wartość pola tekstowego o nazwie "OrderDate". To pole tekstowe jest związane z polem "OrderDate" w tabeli "Orders". Należy zwrócić uwagę, że odwołanie do tego formantu nie jest umieszczone w cudzysłowie (") oznaczającym ciąg znaków. Zapewnia to, że za każdym razem kiedy wywoływana jest funkcja DMax, program Microsoft Access otrzymuje bieżącą wartość z tego formantu.

Dim curX As Currency

curX = DMax("[Freight]", "Orders", "[OrderDate] = #" _

& Forms!Orders!OrderDate & "#")

W następnym przykładzie wyrażenie kryteriów zawiera zmienną dteOrderDate. Należy zwrócić uwagę na użycie znaków "#" w wyrażeniu typu ciąg znaków, aby po połączeniu ciągu znaków data była ograniczona tymi znakami.

Dim dteOrderDate As Date, curX As Currency

dteOrderDate = #3/30/95#

curX = DMin("[Freight]", "Orders", _

"[OrderDate] = #" & dteOrderDate & "#")


DStDev, DStDevP, funkcje

Funkcji DStDev i DStDevP można użyć do oszacowania odchylenia standardowego dla zbioru wartości w określonym zestawie rekordów (domenie). Funkcji DStDev i DStDevP można użyć w kodzie języka Visual Basic, w  makrze, w wyrażeniu kwerendy i w formancie obliczeniowym formularza lub raportu.

Funkcji DStDevP używa się dla całej populacji, a funkcji DStDev dla próbki z tej populacji.

Na przykład, można użyć funkcji DStDev w module, do obliczenia odchylania standardowego dla wyników testu studentów.

Składnia

DStDev(wyr, domena[, kryteria])

DStDevP(wyr, domena[, kryteria])

Funkcje DStDev i DStDevP mają następujące argumenty.

Argument	Opis
wyr	Wyrażenie identyfikujące pole liczbowe, dla którego ma być obliczone odchylenie standardowe. Może to być wyrażenie typu ciąg znaków identyfikujące pole w tabeli lub kwerendzie, albo wyrażenie wykonujące obliczenia na danych w tym polu. Argument wyr może zawierać nazwy pól tabeli, formantów formularza, stałe i funkcje. Jeśli argument wyr zawiera funkcję, to może być ona zarówno funkcją wbudowaną jak i zdefiniowaną przez użytkownika, ale nie może być inną funkcją agregującą domen ani funkcją agregującą SQL.
domena	Wyrażenie typu ciąg znaków identyfikujące zestaw rekordów tworzących domenę. Może to być nazwa tabeli albo kwerendy.
kryteria	Opcjonalny ciąg znaków używany do ograniczenia zakresu danych, na których wykonywane są funkcje DStDev i DStDevP. Na przykład, argument kryteria jest często równoważny klauzuli WHERE w wyrażeniu SQL, bez słowa WHERE. Jeśli argument kryteria zostanie pominięty, funkcje DStDev i DStDevP obliczają wyrażenie określone przez argument wyr dla całej domeny. Każde pole uwzględnione w argumencie kryteria musi także być polem domeny; w przeciwnym razie funkcje DStDev i DStDevP zwracają wartość Null.
Uwagi

Jeśli argument domena określa mniej niż dwa rekordy spełniające kryteria, funkcje DStDev i DStDevP zwracają wartość Null, wskazując że odchylenie standardowe nie może być obliczone.

Niezależnie od tego, czy funkcja DStDev lub DStDevP jest używana w makrze, w module, w wyrażeniu kwerendy czy w formancie obliczeniowym, należy konstruować argument kryteria uważnie, aby mieć pewność, że będzie on wyliczony poprawnie.

Można użyć funkcji DStDev i DStDevP, aby określić kryteria w wierszu kryteriów kwerendy wybierającej. Można na przykład utworzyć kwerendę z tabel "Orders" (Zamówienia) i "Products" (Produkty), aby wyświetlić wszystkie produkty, dla których koszt frachtu jest większy niż suma średniej i odchylenia standardowego kosztów frachtu. Wiersz kryteriów, poniżej pola "Freight" (Fracht), powinien wtedy zawierać następujące wyrażenie:

>(DStDev("[Freight]", "Orders") + DAvg("[Freight]", "Orders"))

Funkcji DStDev i DStDevP można użyć w wyrażeniu pola wyliczanego w kwerendzie albo w wierszu Zamiana na kwerendy aktualizującej.

Uwaga   Można użyć zarówno funkcji DStDev i DStDevP, jak i funkcji StDev i StDevP w wyrażeniu pola wyliczanego kwerendy podsumowującej. Jeśli używana jest funkcja DStDev albo DStDevP, wartości są obliczane przed pogrupowaniem danych. Jeśli używana jest funkcja StDev albo StDevP, dane są grupowane przed obliczaniem wartości wyrażenia pola.

Należy użyć funkcji DStDev i DStDevP w formancie obliczeniowym, kiedy trzeba określić kryteria ograniczające zakres danych, na których będzie wykonywana funkcja. Na przykład, aby wyświetlić odchylenie standardowe kosztów transportu zamówień wysłanych do Kalifornii, należy ustawić właściwość ControlSource (Źródło formantu) pola tekstowego na następujące wyrażenie:

=DStDev("[Freight]", "Orders", "[ShipRegion] = 'CA'")

Aby po prostu obliczyć odchylenie standardowe dla wszystkich rekordów domeny, należy użyć funkcji StDev albo StDevP.

Wskazówka   Jeśli typem danych pola występującego w argumencie wyr jest liczba, funkcje DStDev i DStDevP zwracają wartość typu Podwójna precyzja. Jeśli funkcje DStDev i DStDevP są używane w formancie obliczeniowym, należy użyć w wyrażeniu funkcji konwersji typu danych, aby usprawnić wykonywanie funkcji.

Uwaga   Nie zapisane zmiany dokonane w rekordach domeny nie są uwzględniane przy wykonywaniu funkcji. Aby funkcja StDev lub StDevP uwzględniała wartości zmienione, trzeba najpierw zapisać zmiany klikając polecenie Zapisz rekord w menu Plik, przenosząc fokus do innego rekordu albo używając metody Update.


DStDev, DStDevP, funkcje - przykład
DStDev, DStDevP, funkcje – przykład

W poniższym przykładzie szacowane jest odchylenie standardowe dla populacji i próbki populacji zamówień wysłanych do Wielkiej Brytanii (UK). Domeną jest tabela "Orders" (Zamówienia). Argument kryteria ogranicza wynikowy zestaw rekordów do tych, dla których wartością pola "ShipCountry" (KrajOdbiorcy) jest UK.

Dim dblX As Double, dblY As Double

' Sample estimate.

dblX = DStDev("[Freight]", "Orders", "[ShipCountry] = 'UK'")

' Population estimate.

dblY = DStDevP("[Freight]", "Orders", "[ShipCountry] = 'UK'")

W następnym przykładzie wyliczane jest to samo oszacowanie przy użyciu zmiennej strCountry w argumencie kryteria. Należy zwrócić uwagę na umieszczenie znaków pojedynczego cudzysłowu (') w wyrażeniu typu ciąg znaków, aby po połączeniu wszystkich ciągów znaków literał UK był zawarty w pojedynczym cudzysłowie.

Dim strCountry As String, dblX As Double, dblY As Double

strCountry = "UK"

dblX = DStDev("[Freight]", "Orders", _

"[ShipCountry] = '" & strCountry & "'")

dblY = DStDevP("[Freight]", "Orders", _

"[ShipCountry] = '" & strCountry & "'")


DSum, funkcja

Funkcji DSum można użyć do obliczenia sumy zbioru wartości w określonym zestawie rekordów (domenie). Funkcji DSum można użyć w kodzie języka Visual Basic, w  makrze, w wyrażeniu kwerendy i w formancie obliczeniowym.

Można na przykład użyć funkcji DSum w wyrażeniu pola wyliczanego w kwerendzie, aby obliczyć całkowitą wartość towaru, sprzedanego przez określonego pracownika, w pewnym okresie. Można też użyć funkcji DSum w formacie obliczeniowym, aby wyświetlić bieżącą sumę wartości sprzedaży danego produktu.

Składnia

DSum(wyr, domena[, kryteria])

Funkcja DSum ma następujące argumenty.

Argument	Opis
wyr	Wyrażenie identyfikujące pole zawierające dane liczbowe, które będą sumowane. Może to być wyrażenie typu ciąg znaków identyfikujące pole w tabeli lub kwerendzie, albo wyrażenie wykonujące obliczenia na danych w tym polu. Argument wyr może zawierać nazwy pól tabeli, formantów formularza, stałe i funkcje. Jeśli argument wyr zawiera funkcję, to może być ona zarówno funkcją wbudowaną jak i zdefiniowaną przez użytkownika, ale nie może być inną funkcją agregującą domen ani funkcją agregującą SQL.
domena	Wyrażenie typu ciąg znaków identyfikujące zestaw rekordów tworzących domenę. Może to być nazwa tabeli albo kwerendy.
kryteria	Opcjonalny ciąg znaków używany do ograniczenia zakresu danych, na których wykonywana jest funkcja DSum. Na przykład, argument kryteria jest często równoważny klauzuli WHERE w wyrażeniu SQL, bez słowa WHERE. Jeśli argument kryteria zostanie pominięty, funkcja DSum oblicza wyrażenie określone przez argument wyr dla całej domeny. Każde pole uwzględnione w argumencie kryteria musi także być polem domeny; w przeciwnym razie funkcja DSum zwraca wartość Null.
Uwagi

Jeśli żaden rekord nie spełnia kryteriów lub gdy domena nie zawiera rekordów, funkcja DSum zwraca wartość Null.

Niezależnie od tego, czy funkcja DSum jest używana w makrze, w module, w wyrażeniu kwerendy czy w formancie obliczeniowym, należy konstruować argument kryteria uważnie, aby mieć pewność, że będzie on wyliczony poprawnie.

Funkcji DSum można użyć do określenia kryteriów w wierszu Kryteria kwerendy, w wyrażeniu pola wyliczanego w kwerendzie albo w wierszu Zamiana na kwerendy aktualizującej.

Uwaga   Można użyć zarówno funkcji DSum, jak i Sum w wyrażeniu pola wyliczanego kwerendy podsumowującej. Jeśli używana jest funkcja DSum, wartości są wyliczane przed pogrupowaniem danych. Jeśli używana jest funkcja Sum, dane są grupowane przed wyliczeniem wartości wyrażenia pola.

Można użyć funkcji DSum, kiedy trzeba wyświetlić sumę wartości pola, które nie występuje w podstawowym źródle rekordów formularza lub raportu. Przypuśćmy na przykład, że istnieje formularz wyświetlający informacje o poszczególnych produktach. Można użyć funkcji DSum, aby wyświetlić bieżącą całkowitą wartość sprzedaży produktu w formancie obliczeniowym.

Wskazówka   Aby wyświetlić sumę bieżącą w formancie raportu, można użyć właściwości RunningSum (SumaBieżąca) tego formantu, o ile pole, na którym jest oparty formant występuje w źródle rekordów raportu. Należy użyć funkcji DSum, aby wyświetlić sumę bieżącą w formularzu.

Uwaga   Nie zapisane zmiany dokonane w rekordach domeny nie są uwzględniane przy wykonywaniu funkcji. Aby funkcja DSum uwzględniała wartości zmienione, trzeba najpierw zapisać zmiany klikając polecenie Zapisz rekord w menu Plik, przenosząc fokus do innego rekordu albo używając metody Update.


DSum, funkcja - przykład
DSum, funkcja – przykład

W poniższym przykładzie obliczana jest suma wartości pola "Freight" (Fracht) zamówień wysłanych do Wielkiej Brytanii (UK). Domeną jest tabela "Orders" (Zamówienia). Argument kryteria ogranicza wynikowy zestaw rekordów do tych, dla których wartością pola "ShipCountry" (KrajOdbiorcy) jest UK.

Dim curX As Currency

curX = DSum("[Freight]", "Orders", "[ShipCountry] = 'UK'")

W następnym przykładzie w argumencie kryteria obliczane jest podsumowanie przy użyciu dwóch oddzielnych kryteriów. Należy zwrócić uwagę na umieszczenie znaków pojedynczego cudzysłowu (') i znaku "#" w wyrażeniu typu ciąg znaków, aby po połączeniu wszystkich ciągów znaków literał był zawarty w pojedynczym cudzysłowie, a data pomiędzy znakami "#".

Dim curX As Currency

curX = DSum("[Freight]", "Orders", _

"[ShipCountry] = 'UK' AND [ShippedDate] > #1-1-95#")

Można użyć funkcji domeny w wierszu Zamiana na kwerendy aktualizującej. Przypuśćmy na przykład, że użytkownik chce śledzić bieżącą sprzedaż produktów w tabeli "Products" (Produkty). Można dodać nowe pole "SalesSoFar" do tabeli "Products" i uruchomić kwerendę aktualizującą, aby obliczyć poprawne wartości i uaktualnić rekordy. Należy utworzyć nową kwerendę opartą na tabeli "Products" i kliknąć polecenie Aktualizuj w menu Kwerenda, a następnie dodać pole "SalesSoFar" w siatce kwerendy i wpisać poniższe wyrażenie w wierszu Zamiana na:

DSum("[Quantity]*[UnitPrice]", "Order Details", "[ProductID] = " & [ProductID])

Po uruchomieniu kwerendy, program Microsoft Access oblicza całkowitą wartość sprzedaży dla każdego produktu, w oparciu o informacje z tabeli "Order Details". Suma wartości sprzedaży każdego produktu jest dodawana do tabeli "Products".


DVar, DVarP, funkcje

Funkcji DVar i DVarP można użyć do oszacowania wariancji dla zbioru wartości w określonym zestawie rekordów (domenie). Funkcji DVar i DVarP można użyć w kodzie języka Visual Basic, w  makrze, w wyrażeniu kwerendy i w formancie obliczeniowym formularza lub raportu.

Funkcji DVarP używa się dla całej populacji, a funkcji DVar dla próbki populacji.

Na przykład, można użyć funkcji DVar w module, do obliczenia wariancji wyników testu studentów.

Składnia

DVar(wyr, domena[, kryteria])

DVarP(wyr, domena[, kryteria])

Funkcje DVar i DVarP mają następujące argumenty.

Argument	Opis
wyr	Wyrażenie identyfikujące pole, dla którego ma być obliczona wariancja. Może to być wyrażenie typu ciąg znaków identyfikujące pole w tabeli lub kwerendzie, albo wyrażenie wykonujące obliczenia na danych w tym polu. Argument wyr może zawierać nazwy pól tabeli, formantów formularza, stałe i funkcje. Jeśli argument wyr zawiera funkcję, to może być ona zarówno funkcją wbudowaną jak i zdefiniowaną przez użytkownika, ale nie może być inną funkcją agregującą domen ani funkcją agregującą SQL. Każde pole określone w argumencie wyr  musi być polem liczbowym.
domena	Wyrażenie typu ciąg znaków identyfikujące zestaw rekordów tworzących domenę. Może to być nazwa tabeli albo kwerendy.
kryteria	Opcjonalny ciąg znaków używany do ograniczenia zakresu danych, na których wykonywane są funkcje DVar i DVarP. Na przykład, argument kryteria jest często równoważny klauzuli WHERE w wyrażeniu SQL, bez słowa WHERE. Jeśli argument kryteria zostanie pominięty, funkcje DVar i DVarP obliczają wyrażenie określone przez argument wyr dla całej domeny. Każde pole uwzględnione w argumencie kryteria musi także być polem domeny; w przeciwnym razie funkcje DVar i DVarP zwracają wartość Null.
Uwagi

Jeśli argument domena określa mniej niż dwa rekordy spełniające kryteria, funkcje DVar i DVarP zwracają wartość Null, wskazując że wariancja nie może być obliczona.

Niezależnie od tego, czy funkcja DVar lub DVarP jest używana w makrze, w module, w wyrażeniu kwerendy czy w formancie obliczeniowym, należy konstruować argument kryteria uważnie, aby mieć pewność, że będzie on wyliczony poprawnie.

Funkcji DVar i DVarP można użyć do określenia kryteriów w wierszu Kryteria kwerendy, w wyrażeniu pola wyliczanego w kwerendzie albo w wierszu Zamiana na kwerendy aktualizującej.

Uwaga   Można użyć zarówno funkcji DVar i DVarP, jak i funkcji Var i VarP w wyrażeniu pola wyliczanego kwerendy podsumowującej. Jeśli używana jest funkcja DVar albo DVarP, wartości są obliczane przed pogrupowaniem danych. Jeśli używana jest funkcja Var albo VarP, dane są grupowane przed obliczeniem wartości wyrażenia pola.

Należy użyć funkcji DVar lub DVarP w formancie obliczeniowym, kiedy trzeba określić kryteria ograniczające zakres danych, na których będzie wykonywana funkcja. Na przykład, aby wyświetlić wariancję kosztów transportu zamówień wysłanych do Kalifornii, należy ustawić właściwość ControlSource (Źródło formantu) pola tekstowego na następujące wyrażenie:

=DVar("[Freight]", "Orders", "[ShipRegion] = 'CA'")

Aby po prostu obliczyć odchylenie standardowe dla wszystkich rekordów domeny, należy użyć funkcji Var albo VarP.

Uwaga   Nie zapisane zmiany dokonane w rekordach domeny nie są uwzględniane przy wykonywaniu funkcji. Aby funkcja Var lub VarP uwzględniała wartości zmienione, trzeba najpierw zapisać zmiany klikając polecenie Zapisz rekord w menu Plik, przenosząc fokus do innego rekordu albo używając metody Update.


DVar, DVarP, funkcje - przykład
DVar, DVarP, funkcje – przykład

W poniższym przykładzie zwracane jest oszacowanie wariancji dla populacji i próbki populacji zamówień wysłanych do Wielkiej Brytanii (UK). Domeną jest tabela "Orders" (Zamówienia). Argument kryteria ogranicza wynikowy zestaw rekordów do tych, dla których wartością pola "ShipCountry" (KrajOdbiorcy) jest UK.

Dim dblX As Double, dblY As Double

' Sample estimate.

dblX = DVar("[Freight]", "Orders", "[ShipCountry] = 'UK'")

' Population estimate.

dblY = DVarP("[Freight]", "Orders", "[ShipCountry] = 'UK'")

W następnym przykładzie obliczane jest to samo oszacowanie przy użyciu zmiennej strCountry w argumencie kryteria. Należy zwrócić uwagę na umieszczenie znaków pojedynczego cudzysłowu (') w wyrażeniu typu ciąg znaków, aby po połączeniu wszystkich ciągów znaków literał UK był zawarty w pojedynczym cudzysłowie.

Dim strCountry As String, dblX As Double

strCountry = "UK"

dblX = DVar("[Freight]", "Orders", "[ShipCountry] = '" _

& strCountry & "'")


Obliczanie pól w funkcjach agregujących domen
Obliczanie wartości pól w funkcjach agregujących domen

Można użyć wyrażenia typu ciąg znaków jako argumentu (wyr) funkcji agregujących domen, aby wykonać obliczenia na wartościach pól. Można na przykład obliczyć procent z wartości (np. opłatę dodatkową lub podatek) dzieląc wartość pola przez odpowiednią liczbę.

W poniższej tabeli zostały pokazane przykłady obliczeń na polach z tabel "Orders" i "Order Details".

Działanie	Przykład
Dodanie liczby do pola	"[Freight] + 5"
Odjęcie liczby od pola	"[Freight] - 5"
Pomnożenie pola przez liczbę	"[Freight] * 2"
Podzielenie pola przez liczbę	"[Freight] / 2"
Dodanie dwóch pól	"[UnitsInStock] + [UnitsOnOrder]"
Odjęcie jednego pola od drugiego	"[ReorderLevel] - [UnitsInStock]"
Funkcji agregujących domen używa się zazwyczaj w makrze lub module, w formancie obliczeniowym formularza lub raportu albo w wyrażeniach kryteriów kwerendy.

Można na przykład obliczyć średnią wartość rabatu dla wszystkich zamówień w tabeli "Order Details". Należy pomnożyć pola "Unit Price" (Cena jednostkowa) i "Discount" (Rabat), aby określić wartość rabatu dla każdego zamówienia, a następnie obliczyć średnią. Poniższy przykład należy umieścić w procedurze modułu.

Dim dblX As Double

dblX = DAvg("[UnitPrice] * [Discount]", "[Order Details]")


BeforeUpdate, AfterUpdate, zdarzenia

•	Zdarzenie BeforeUpdate występuje przed zmianą danych w formancie lub aktualizacją rekordu.

•	Zdarzenie AfterUpdate występuje po zmianie danych w formancie lub aktualizacji rekordu.

Uwagi

•	Zmiana danych w formancie przy użyciu języka Visual Basic lub makra zawierającego akcję UstawWartość (SetValue) nie powoduje wystąpienia tych zdarzeń dla formantu. Jednak po przejściu do innego rekordu lub zapisaniu rekordu występują zdarzenia BeforeUpdate i AfterUpdate dla formularza.

•	Zdarzenia BeforeUpdate i AfterUpdate występują tylko w formantach formularza, a nie raportu.

•	Zdarzenia te nie występują dla przycisków opcji, pól wyboru, oraz przycisków przełącznika w grupie opcji. Zdarzenia te występują tylko dla samej grupy opcji.

Uwagi

Aby uruchomić makro lub procedurę zdarzenia, gdy wystąpią te zdarzenia, należy ustawić właściwość BeforeUpdate (PrzedAktualizacją) lub AfterUpdate (PoAktualizacji) na nazwę makra lub na wartość [Procedura zdarzenia].

Zdarzenia BeforeUpdate i AfterUpdate występują, gdy formant lub rekord jest aktualizowany. Zmienione dane w każdym formancie rekordu są aktualizowane, gdy formant traci fokus albo gdy użytkownik naciśnie klawisz ENTER lub TAB. Gdy rekord traci fokus albo użytkownik wybierze polecenie Zapisz Rekord z menu Rekordy, aktualizowany jest cały rekord, a dane zapisywane są w bazie danych.

Po wprowadzeniu nowych danych do formantu lub zmianie istniejących danych formantu na formularzu i przejściu do innego rekordu lub zapisaniu rekordu przez wybranie polecenia Zapisz rekord z menu Rekordy, zdarzenia BeforeUpdate i AfterUpdate dla formularza występują natychmiast po zdarzeniach BeforeUpdate i AfterUpdate dla formantu. Jeśli użytkownik przejdzie do innego rekordu, występują zdarzenia Exit i LostFocus dla formantu, po których następuje zdarzenie Current dla bieżącego rekordu oraz zdarzenia Enter i GotFocus dla pierwszego formantu w tym rekordzie. Aby wykonać makra BeforeUpdate i AfterUpdate lub procedury zdarzeń bez wykonywania makr lub procedur zdarzeń Exit i LostFocus, należy zapisać rekord przy użyciu polecenia Zapisz rekord z menu Rekordy.

Makra lub procedury zdarzeń BeforeUpdate i AfterUpdate wykonywane są tylko w przypadku zmiany danych w formancie. Zdarzenia te nie występują, gdy ulega zmianie wartość w formancie obliczeniowym. Makra lub procedury zdarzeń BeforeUpdate i AfterUpdate dla formularza wykonywane są tylko w przypadku zmiany danych w jednym lub kilku formantach rekordu.

Dla formularzy można użyć zdarzenia BeforeUpdate, aby anulować aktualizację rekordu przed przejściem do innego rekordu.

Dla formantów związanych właściwość OldValue (StaraWartość) nie jest ustawiana na wartość zaktualizowaną, dopóki nie wystąpi zdarzenie AfterUpdate dla formularza. Nawet jeśli użytkownik wprowadzi nową wartość w formancie, ustawienie właściwości OldValue nie zmienia się, dopóki dane nie zostaną zapisane (rekord nie zostanie zaktualizowany). Jeśli aktualizacja zostanie anulowana, wartość właściwości OldValue zastępuje wartość istniejącą w formancie.

Zdarzenia BeforeUpdate często używa się do sprawdzania poprawności danych, zwłaszcza gdy wykonywane jest złożone sprawdzanie poprawności, np. takie, w którym:

•	Używane są warunki dla kilku wartości na formularzu.

•	Wyświetlane są różne komunikaty o błędach w zależności od wprowadzanych danych.

•	Użytkownik może zignorować sprawdzanie poprawności.

•	Używane są odwołania do formantów w innych formularzach lub funkcje zdefiniowane przez użytkownika.

Uwaga   Aby wykonać proste sprawdzanie poprawności lub bardziej złożone sprawdzanie poprawności, np. takie, które wymaga wartości w polu lub sprawdzenia kilku formantów formularza, można użyć właściwości ValidationRule (RegułaPoprawności) dla formantów oraz właściwości ValidationRule i Required (Wymagany) dla pól i rekordów w tabelach.


BeforeUpdate, AfterUpdate, zdarzenia - makra
BeforeUpdate, AfterUpdate, zdarzenia – makra

Aby uruchomić makro po wystąpieniu zdarzenia BeforeUpdate lub AfterUpdate, należy ustawić właściwość BeforeUpdate (PrzedAktualizacją) lub AfterUpdate (PoAktualizacji) na nazwę tego makra. Program Microsoft Access uruchomi makro określone przez właściwość BeforeUpdate lub AfterUpdate formantu lub formularza przed lub po aktualizacji danych w formancie albo w bieżącym rekordzie formularza. Jeśli dane w formancie albo rekordzie nie zostaną zaktualizowane, makro nie jest uruchomiane.

Uwagi

Można używać makr zdarzenia BeforeUpdate, chcąc przechowywać wszystkie sprawdzania poprawności dla formularza w jednej grupie makr lub jeśli korzysta się z tego samego wyrażenia do sprawdzania poprawności w kilku formularzach.

Rozważmy na przykład formularz, w którym użytkownik wprowadza nazwę kraju w formancie "Kraj" i odpowiedni dla tego kraju kod pocztowy w formancie "Kod pocztowy". Można użyć w makrze wyrażeń warunkowych, aby upewnić się, czy dane wprowadzone w formancie "Country" (Kraj) odpowiadają danym wprowadzonym w formancie "Postal Code" (Kod pocztowy) i wyświetlić komunikat, jeśli w formancie "Postal Code" zostaną wprowadzone niepoprawne dane.

Można użyć makra zdarzenia AfterUpdate, aby wyświetlić inną stronę formularza albo przenieść fokus do określonego formantu lub rekordu. Na przykład, gdy użytkownik wprowadza wartość w formancie "Category" (Kategoria) na formularzu, można użyć akcji IdźDoStrony (GoToPage) w makrze zdarzenia AfterUpdate, aby przenieść fokus do strony formularza zawierającej formanty dla tej kategorii.

Można użyć akcji AnulujZdarzenie (CancelEvent) w makrze zdarzenia BeforeUpdate, aby anulować aktualizację. Jeśli makro zdarzenia BeforeUpdate jest dołączone do formantu, to akcja AnulujZdarzenie przywraca fokus temu formantowi, a dane wprowadzone przez użytkownika pozostają w formancie.

Jeśli makro zdarzenia BeforeUpdate jest dołączone do formularza (w którym makro to jest uruchamiane za każdym razem, gdy ulega zmianie jakiś rekord), akcja AnulujZdarzenie przywraca fokus rekordowi.

Nie można użyć akcji AnulujZdarzenie w makrze zdarzenia AfterUpdate, aby anulować to zdarzenie.


BeforeUpdate, AfterUpdate, zdarzenia - procedury zdarzeń
BeforeUpdate, AfterUpdate, zdarzenia – procedury zdarzeń

Aby utworzyć procedurę zdarzenia wykonywaną po wystąpieniu zdarzenia BeforeUpdate lub AfterUpdate, należy ustawić właściwość BeforeUpdate (PrzedAktualizacją) lub AfterUpdate (PoAktualizacji) na wartość [Procedura zdarzenia] i kliknąć przycisk Buduj  [image].

Składnia

Private Sub Form_BeforeUpdate(Cancel As Integer)

Private Sub nazwaformantu_BeforeUpdate(Cancel As Integer)

Private Sub Form_AfterUpdate( )

Private Sub nazwaformantu_AfterUpdate( )

Procedura zdarzenia BeforeUpdate ma następujące argumenty.

Argument	Opis
nazwaformantu	Nazwa formantu, dla którego ma być uruchomiona procedura zdarzenia BeforeUpdate.
Cancel	Argument określający, czy występuje zdarzenie BeforeUpdate. Ustawienie argumentu Cancel na wartość True (-1) anuluje zdarzenie BeforeUpdate.
Procedura zdarzenia AfterUpdate ma następujący argument.

Argument	Opis
nazwaformantu	Nazwa formantu, dla którego ma być uruchomiona procedura zdarzenia AfterUpdate.
Uwagi

Nie można anulować zdarzenia AfterUpdate.

Można użyć procedury zdarzenia AfterUpdate, aby wyświetlić inną stronę formularza albo przenieść fokus do określonego formantu lub rekordu. Na przykład, gdy użytkownik wprowadza wartość w formancie "Kategoria" na formularzu, można użyć metody GoToPage w procedurze zdarzenia AfterUpdate dla tego formularza, aby przenieść fokus do strony formularza zawierającej formanty dla tej kategorii.


BeforeUpdate, AfterUpdate, zdarzenia - przykład procedury zdarzenia
BeforeUpdate, AfterUpdate, zdarzenia – przykład procedury zdarzenia

W poniższym przykładzie zostało pokazane, jak można użyć procedury zdarzenia BeforeUpdate do sprawdzenia, czy nazwa produktu jest już wprowadzona. Gdy użytkownik wpisze nazwę produktu w polu "ProductName" wartość ta jest porównywana z polem "ProductName" w tabeli "Products". Jeśli w tabeli "Products" znajduje się taka wartość, wyświetlany jest komunikat informujący użytkownika że produkt ten został już wprowadzony.

Aby przetestować ten przykład, należy dodać poniższy kod procedury zdarzenia do formularza o nazwie "Products" zawierającego pole tekstowe o nazwie "ProductName".

Private Sub ProductName_BeforeUpdate(Cancel As Integer)

If(Not IsNull(DLookup("[ProductName]", "Products", _

"[ProductName] ='" & Me!ProductName & "'"))) Then

MsgBox "Product has already been entered in the database."

Cancel = True

Me!ProductName.Undo

End If

End Sub


Click, zdarzenie

Zdarzenie Click występuje, gdy użytkownik naciska, a następnie zwalnia przycisk myszy ustawionej na obiekcie.

Uwagi

•	Zdarzenie Click występuje tylko dla formularzy ,sekcji formularzy i formantów na formularzu, a nie dla formantów raportu.

•	Zdarzenie to nie występuje dla pól wyboru, przycisków opcji i przycisków przełącznika w grupie opcji. Zdarzenie to występuje tylko dla samej grupy opcji.

•	Zdarzenie to nie występuje dla etykiety dołączonej do innego formantu, takiej jak etykieta pola tekstowego. Występuje ono tylko dla etykiet "autonomicznych". Kliknięcie etykiety dołączonej daje taki sam efekt, jak kliknięcie związanego z nią formantu. Występuje wtedy zwykłe zdarzenie dla formantu, a nie dla dołączonej etykiety.

•	Zdarzenie to występuje dla formantu zawierającego hiperłącze.

Uwagi

Aby uruchomić makro lub procedurę zdarzenia, gdy wystąpi to zdarzenie, należy ustawić właściwość OnClick (PrzyKliknięciu) na nazwę makra lub na wartość [Procedura zdarzenia].

Dla formularza zdarzenie to występuje, gdy użytkownik kliknie pusty obszar lub selektor rekordu na formularzu.

Dla formantu zdarzenie to występuje, gdy użytkownik:

•	Kliknie formant lewym klawiszem myszy. Kliknięcie formantu prawym lub środkowym przyciskiem myszy nie powoduje wystąpienia tego zdarzenia.

•	Kliknie lewym przyciskiem myszy formant zawierający dane hiperłącza. Kliknięcie formantu prawym lub środkowym przyciskiem myszy nie nie powoduje wystąpienia tego zdarzenia. Gdy użytkownik przesuwa wskaźnik myszy nad formantem zawierającym dane hiperłącza, wskaźnik myszy zmienia się w ikonę "ręki". Gdy użytkownik kliknie przyciskiem myszy, hiperłącze zostaje uaktywnione, a następnie zachodzi zdarzenie Click.

•	Wybierze element w polu kombi lub polu listy, przez naciskanie klawiszy strzałek, a następnie naciśnięcie klawisza ENTER lub przez kliknięcie przyciskiem myszy.

•	Naciśnie klawisz spacji, gdy przycisk polecenia, pole wyboru, przycisk opcji albo przełącznik ma fokus.

•	Naciśnie klawisz ENTER na formularzu zawierającym przycisk polecenia, którego właściwość Default jest ustawiona na wartość "Tak".

•	Naciśnie klawisz ESC na formularzu zawierającym przycisk polecenia, którego właściwość Cancel jest ustawiona na wartość "Tak".

•	Naciśnie klawisz dostępu dla formantu. Jeśli na przykład właściwość Caption (Tytuł) przycisku polecenia jest ustawiona na &Go, to naciśnięcie klawiszy ALT+G powoduje wystąpienie tego zdarzenia.

Zwykle dołącza się procedurę zdarzenia Click lub makro zdarzenia Click do przycisków poleceń, aby wykonywać polecenia i akcje podobne do poleceń. W pozostałych formantach używa się tego zdarzenia do wywoływania akcji w sytuacjach opisanych powyżej.

Tylko dla przycisku polecenia, program Microsoft Access uruchamia makro lub procedurę zdarzenia określoną przez właściwość OnClick (PrzyKliknięciu), gdy użytkownik wybierze przycisk polecenia przez naciśnięcie klawisza ENTER lub klawisza dostępu. Makro lub procedura zdarzenia jest wykonywana jednokrotnie. Aby wykonywanie makra lub procedury zdarzenia powtarzało się po wybraniu przycisku polecenia, należy ustawić jego właściwość AutoRepeat (Autopowtarzanie) na wartość "Tak". Dla innych typów formantów, aby spowodować wystąpienie zdarzenia Click, trzeba kliknąć formant używając przycisku myszy.

Zdarzenie Click dla przycisku polecenia występuje, gdy użytkownik wybierze przycisk polecenia. Ponadto, jeśli w momencie wyboru przycisk polecenia nie ma fokusu, zdarzenia Enter i GotFocus występują dla przycisku polecenia przed zdarzeniem Click.

Dwukrotne kliknięcie formantu powoduje wystąpienie zdarzeń DblClick i Click. Dla przycisków poleceń dwukrotne kliknięcie uruchamia następującą sekwencję zdarzeń:

MouseDown ⇒ MouseUp ⇒ Click ⇒ DblClick ⇒ Click

Można użyć akcji AnulujZdarzenie (CancelEvent) w makrze zdarzenia DblClick, aby anulować drugie wystąpienie zdarzenia Click. Więcej informacji można znaleźć w temacie poświęconym zdarzeniu DblClick.

Zdarzenie Click występuje dla grupy opcji po zmianie wartości jednego z formantów w grupie opcji przez kliknięcie go. Na przykład, jeśli użytkownik kliknie przełącznik, przycisk opcji lub pole wyboru w grupie opcji, zdarzenie Click dla tej grupy opcji występuje po zdarzeniach BeforeUpdate i AfterUpdate dla tej grupy opcji.

Wskazówka   Aby rozróżnić lewy, prawy i środkowy klawisz myszy, należy użyć zdarzeń MouseDown i MouseUp.


Click, zdarzenie - makra
Click, zdarzenie – makra

Aby uruchomić makro, gdy wystąpi zdarzenie Click, należy ustawić właściwość OnClick (PrzyKliknięciu) na nazwę makra.

Uwagi

Makr zdarzenia Click często używa się do wykonywania akcji dla każdego przycisku polecenia na formularzu. Klikając jeden przycisk polecenia na formularzu użytkownik może na przykład wydrukować raport pokazujący rekordy formularza. Klikając inny przycisk, może otworzyć formularz powiązany z danym formularzem.

Nie można użyć akcji AnulujZdarzenie (CancelEvent) w makrze zdarzenia Click, aby anulować to zdarzenie.


Click, zdarzenie - procedury zdarzenia
Click, zdarzenie — procedury zdarzenia

Aby utworzyć procedurę zdarzenia wykonywaną po wystąpieniu zdarzenia Click, należy ustawić właściwość OnClick (PrzyKliknięciu) na wartość [Procedura zdarzenia] i kliknąć przycisk Buduj  [image].

Składnia

Private Sub Form_Click( )

Private Sub nazwaformantu_Click( )

Procedura zdarzenia Click ma następujący argument.

Argument	Opis
nazwaformantu	Nazwa formantu, dla którego ma być uruchomiona procedura zdarzenia Click.
Uwagi

Gdy użytkownik kliknie dwukrotnie pole listy, występują kolejno następujące zdarzenia:

MouseDown ⇒ MouseUp ⇒ Click ⇒ DblClick

Dla innych formantów występuje podobna kolejność zdarzeń. Tworząc procedury zdarzeń dla zdarzeń powiązanych, należy się upewnić, czy kody ich procedur zdarzeń nie kolidują ze sobą. (Na przykład, procedura zdarzenia DblClick nie powinna zawierać kodu anulującego akcje wykonywane przez procedurę zdarzenia Click.)

Nie można anulować zdarzenia Click.


Click, zdarzenie - przykład procedury zdarzenia
Click, zdarzenie – przykład procedury zdarzenia

W poniższym przykładzie, procedura zdarzenia Click jest dołączona do pola wyboru "ReadOnly". Procedura zdarzenia ustawia właściwości Enabled (Włączony) i Locked (Zablokowany) innego formantu w formularzu, pola tekstowego "Amount". Po kliknięciu pola wyboru, procedura zdarzenia sprawdza, czy pole wyboru jest zaznaczone czy nie, a następnie ustawia odpowiednio właściwości pola tekstowego, aby włączyć lub wyłączyć możliwość edycji.

Aby przetestować ten przykład, należy dodać poniższy kod procedury zdarzenia do formularza zawierającego pole wyboru o nazwie "ReadOnly" i pole tekstowe o nazwie "Amount".

Private Sub ReadOnly_Click()

With Me!Amount

If Me!ReadOnly = True Then	' If checked.

.Enabled = False	' Disable editing.

.Locked = True

Else	' If cleared.

.Enabled = True	' Enable editing.

.Locked = False

End If

End With

End Sub


DblClick, zdarzenie

Zdarzenie DblClick występuje, gdy użytkownik naciska i zwalnia dwukrotnie lewy przycisk myszy ustawionej na obiekcie, mieszcząc się w limicie czasu dwukrotnego kliknięcia ustawionym dla systemu.

Dla formularza zdarzenie DblClick występuje, gdy użytkownik kliknie dwukrotnie pusty obszar lub selektor rekordu na formularzu. Dla formantu występuje ono, gdy użytkownik kliknie dwukrotnie formant albo jego etykietę w widoku "Formularz". Zdarzenie DblClick występuje, gdy użytkownik kliknie dwukrotnie formularz lub formant, ale przed wykonaniem akcji uruchamianej przez dwukrotne kliknięcie (na przykład, zanim program Microsoft Access wybierze słowo, na którym znajduje się punkt wstawiania w polu tekstowym).

Uwagi

•	Zdarzenie DblClick występuje tylko dla formularzy, sekcji formularzy i formantów na formularzu, a nie dla formantów raportu.

•	Zdarzenie to nie występuje dla pól wyboru, przycisków opcji i przycisków przełącznika w grupie opcji. Zdarzenie to występuje tylko dla samej grupy opcji.

•	Zdarzenie to nie występuje dla etykiety dołączonej do innego formantu, takiej jak etykieta pola tekstowego. Występuje ono tylko dla etykiet "autonomicznych". Dwukrotne kliknięcie etykiety dołączonej daje taki sam efekt, jak dwukrotne kliknięcie związanego z nią formantu. Występuje wtedy zwykłe zdarzenie dla formantu, a nie dla dołączonej etykiety.

Uwagi

Aby uruchomić makro lub procedurę zdarzenia, gdy wystąpi to zdarzenie, należy ustawić właściwość OnDblClick (PrzyKliknięciuDwukrotnym) na nazwę makra lub na wartość [Procedura zdarzenia].

Efekt dwukrotnego kliknięcia formantu zależy od rodzaju formantu. Na przykład, dwukrotne kliknięcie słowa w polu tekstowym powoduje zaznaczenie całego słowa. Dwukrotne kliknięcie formantu zawierającego obiekt OLE uruchamia aplikację, która została użyta do utworzenia tego obiektu, umożliwiając jego edycję.

Jeśli zdarzenie DblClick nie wystąpi w ciągu limitu czasu dwukrotnego kliknięcia określonym dla systemu, formularz, sekcja formularza lub formant rozpoznaje dwa zdarzenia Click zamiast jednego zdarzenia DblClick. Limit czasu dwukrotnego kliknięcia zależy od ustawienia w polu Szybkość dwukrotnego kliknięcia na karcie Przyciski opcji Mysz Panelu sterowania.

Uruchamiając makro albo procedurę zdarzenia, gdy wystąpi zdarzenie DblClick, można otworzyć okno albo dokument, po dwukrotnym kliknięciu ikony.

Dwukrotne kliknięcie formantu powoduje wystąpienie zdarzeń Click i DblClick. Jeśli formant nie ma fokusu w momencie dwukrotnego kliknięcia go, zdarzenia Enter i GotFocus dla formantu występują przed zdarzeniami Click i DblClick.

Dla obiektów odbierających zdarzenia myszy, zdarzenia występują w następującej kolejności:

MouseDown ⇒ MouseUp ⇒ Click ⇒ DblClick

Gdy użytkownik kliknie dwukrotnie przycisk polecenia, występują kolejno następujące zdarzenia:

MouseDown ⇒ MouseUp ⇒ Click ⇒ DblClick ⇒ MouseUp ⇒ Click

Drugie kliknięcie może nie zadziałać (na przykład, jeśli makro lub procedura zdarzenia Click otwiera modalne okno dialogowe w odpowiedzi na pierwsze wystąpienie zdarzenia Click). Aby wykluczyć wykonanie drugiego makra lub procedury zdarzenia Click, należy umieścić akcję AnulujZdarzenie (CancelEvent) w makrze zdarzenia DblClick lub użyć argumentu Cancel w procedurze zdarzenia DblClick. Zazwyczaj dwukrotne klikanie przycisku polecenia nie jest zalecane.

Jeśli użytkownik kliknie dwukrotnie dowolny inny formant niż przycisk polecenia, drugie zdarzenie Click nie występuje.


DblClick, zdarzenie - makra
DblClick, zdarzenie – makra

Aby uruchomić makro, gdy wystąpi zdarzenie DblClick, należy ustawić właściwość OnDblClick (PrzyKliknięciuDwukrotnym) na nazwę makra.

Uwagi

Uruchamiając makro, gdy wystąpi zdarzenie DblClick, można modyfikować domyślne działanie formantu przy dwukrotnym kliknięciu. Można na przykład uruchomić makro przed otwarciem serwera OLE w odpowiedzi na dwukrotne kliknięcie obiektu osadzonego. Makro to może wyświetlać komunikat pytający, czy użytkownik chce wydrukować czy edytować ten obiekt. Można użyć funkcji zdefiniowanej przez użytkownika, aby wydrukować dany obiekt.

Można również użyć zdarzenia DblClick, aby umożliwić zamknięcie okna dialogowego za pomocą dwukrotnego kliknięcia formantu, zamiast kliknięcia przycisku OK. Makro zdarzenia DblClick uruchamiałoby akcję Zamknij (Close) dla tego okna dialogowego. Można też za pomocą makra ukryć okno dialogowe używając akcji UstawWartość (SetValue), aby ustawić właściwość Visible (Widoczne) tego okna dialogowego na "Nie".

Można użyć akcji AnulujZdarzenie (CancelEvent) w makrze zdarzenia DblClick, aby anulować domyślne działanie formantu. Chcąc wydrukować wyżej wspomniany obiekt nie edytując go, można użyć funkcji zdefiniowanej przez użytkownika do wydrukowania obiektu, a następnie użyć akcji AnulujZdarzenie do anulowania otwarcia aplikacji OLE.


DblClick, zdarzenie - procedury zdarzenia
DblClick, zdarzenie — procedury zdarzenia

Aby utworzyć procedurę zdarzenia wykonywaną po wystąpieniu zdarzenia DblClick, należy ustawić właściwość OnDblClick (PrzyKliknięciuDwukrotnym) na wartość [Procedura zdarzenia] i kliknąć przycisk Buduj  [image].

Składnia

Private Sub Form_DblClick(Cancel As Integer)

Private Sub nazwaformantu_DblClick(Cancel As Integer)

Procedura zdarzenia DblClick ma następujące argumenty.

Argument	Opis
nazwaformantu	Nazwa formantu, dla którego ma być uruchomiona procedura zdarzenia DblClick.
Cancel	Argument określający, czy występuje zdarzenie DblClick. Ustawienie argumentu Cancel na wartość True (-1) anuluje zdarzenie DblClick.
Uwagi

Można użyć procedury zdarzenia DblClick, aby zmodyfikować domyślne działanie formantu przy dwukrotnym kliknięciu. Można na przykład uruchomić makro przed otwarciem serwera OLE w odpowiedzi na dwukrotne kliknięcie obiektu osadzonego. Procedura zdarzenia może wyświetlać komunikat pytający, czy użytkownik chce wydrukować czy edytować ten obiekt. Następnie można użyć funkcji zdefiniowanej przez użytkownika, aby go wydrukować. Jeśli użytkownik zdecyduje wydrukować obiekt nie edytując go, można wydrukować obiekt, a następnie użyć akcji AnulujZdarzenie do anulowania otwarcia aplikacji OLE.

Tworząc procedury zdarzeń MouseDown, MouseUp, Click i DblClick, należy się upewnić, czy ich kody nie kolidują ze sobą. (Na przykład, procedura zdarzenia Click nie powinna zawierać kodu anulującego akcje wywołane przez procedurę DblClick.)

Po dwukrotnym kliknięciu przycisku polecenia , kolejno występują następujące zdarzenia:

MouseDown ⇒ MouseUp ⇒ Click ⇒ DblClick ⇒ MouseUp ⇒ Click

Aby zabezpieczyć się przed wystąpieniem drugiego zdarzenia Click, można ustawić argument Cancel na wartość True (-1) albo użyć metody CancelEvent obiektu DoCmd w procedurze zdarzenia DblClick. Jeśli drugie zdarzenie Click nie zostanie anulowane, wykonywana jest ponownie procedura zdarzenia Click. W poniższym przykładzie anulowane jest drugie zdarzenie Click:

Private Sub CmdButton_DblClick(Cancel As Integer)

Cancel = True	' Cancel the second Click event.

End Sub


DblClick, zdarzenie - przykład procedury zdarzenia
DblClick, zdarzenie – przykład procedury zdarzenia

W poniższym przykładzie zostało pokazane, jak można użyć procedury zdarzenia DblClick, aby otworzyć formularz wyświetlający rekordy tabeli, która jest źródłem wierszy dla pola kombi. Gdy użytkownik kliknie dwukrotnie pole kombi "Salesperson" w formularzu "Orders"(Zamówienia), wyświetlany jest formularz "Employees"(Pracownicy) pokazujący rekord pracownika (employee) wybranego w polu kombi.

Aby przetestować ten przykład, należy dodać poniższy kod procedury zdarzenia do formularza o nazwie "Orders" zawierającego pole kombi o nazwie "EmployeeID". Źródłem wierszy dla pola kombi powinna być ta sama tabela, która jest źródłem wierszy dla formularza "Employees" (lub kwerenda oparta na tej tabeli).

Private Sub EmployeeID_DblClick(Cancel As Integer)

DoCmd.OpenForm "Employees", , , _

"EmployeeID = Forms!Orders!EmployeeID"

End Sub


Enter, Exit, zdarzenia

•	Zdarzenie Enter występuje zanim formant faktycznie otrzymuje fokus od innego formantu na tym samym formularzu.

•	Zdarzenie Exit występuje tuż przed oddaniem przez formant fokusu innemu formantowi na tym samym formularzu.

Uwagi

•	Zdarzenia Enter i Exit występują tylko dla formantów na formularzu, a nie dla formantów raportu.

•	Zdarzenia te nie występują dla pól wyboru, przycisków opcji i przycisków przełącznika w grupie opcji. Zdarzenia te występują tylko dla samej grupy opcji.

Uwagi

Aby uruchomić makro lub procedurę zdarzenia, gdy wystąpią te zdarzenia, należy ustawić właściwość OnEnter (PrzyWejściu) lub OnExit (PrzyZakończeniu) na nazwę makra lub na wartość [Procedura zdarzenia].

Ponieważ zdarzenie Enter występuje przed przeniesieniem fokusu do określonego formantu, można użyć makra lub procedury zdarzenia Enter, aby wyświetlić instrukcje; można na przykład użyć makra lub procedury zdarzenia, aby wyświetlić niewielki formularz lub okno komunikatu określające typ danych, które zwykle zawiera ten formant, albo zawierające instrukcje dotyczące korzystania z formantu.

Zdarzenie Enter występuje przed zdarzeniem GotFocus. Zdarzenie Exit występuje przed zdarzeniem LostFocus..

W przeciwieństwie do zdarzeń GotFocus i LostFocus, zdarzenia Enter i Exit nie występują, gdy formularz otrzymuje lub traci fokus. Przypuśćmy na przykład, że zostało zaznaczone pole wyboru na formularzu, a następnie został kliknięty raport. Zdarzenia GotFocus i Enter występują, gdy zostaje zaznaczone pole wyboru. Gdy zostaje kliknięty raport występuje tylko zdarzenie LostFocus. Zdarzenie Exit nie występuje (ponieważ fokus przechodzi do innego okna). Jeśli ponownie zostanie zaznaczone pole wyboru na formularzu, aby umieścić formularz na pierwszym planie, wystąpi zdarzenie GotFocus, ale nie wystąpi zdarzenie Enter (ponieważ formant nie miał fokusu, kiedy formularz był ostatnio aktywny). Zdarzenie Exit występuje tylko wtedy, gdy zostaje kliknięty inny formant na formularzu.

Jeśli użytkownik przenosi fokus do innego formantu na formularzu i formant ten nie ma fokusu w tym formularzu, zdarzenia Exit i LostFocus dla formantu mającego fokus na formularzu występują przed zdarzeniami Enter i GotFocus dla formantu, do którego przenoszony jest fokus.

Jeśli użytkownik używa myszy do przeniesienia fokusu z formantu formularza głównego do formantu podformularza tego formularza (formantu, który nie ma jeszcze fokusu na tym podformularzu), występują następujące zdarzenia:

Exit (dla formantu na formularzu głównym)

 ⇓

LostFocus (dla formantu na formularzu głównym)

 ⇓

Enter (dla formantu na podformularzu)

 ⇓

Exit (dla formantu na podformularzu, który miał fokus)

 ⇓

LostFocus (dla formantu na podformularzu, który miał fokus)

 ⇓

Enter (dla formantu na podformularzu, na który został przeniesiony fokus)

 ⇓

GotFocus (dla formantu na podformularzu, na który został przeniesiony fokus)

Jeśli formant na podformularzu, do którego nastąpiło przeniesienie fokusu miał już fokus, jego zdarzenia Enter i GotFocus nie występują, ale występuje jego zdarzenie Enter. Jeśli fokus zostanie przeniesiony z formantu na podformularzu do formantu na formularzu głównym, zdarzenia Exit i LostFocus dla formantu na podformularzu nie występują, ale występuje zdarzenie Exit dla tego formantu oraz zdarzenia Enter i GotFocus dla formantu na formularzu głównym.

Uwaga   Aby przesunąć fokus do innego formantu, często używa się myszy lub klawisza takiego jak TAB. Powoduje to wystąpienie zdarzeń myszy lub klawiatury oprócz zdarzeń opisanych w tym temacie.


Enter, Exit, zdarzenia - makra
Enter, Exit, zdarzenia – makra

Aby uruchomić makro, gdy wystąpi zdarzenie Enter lub Exit należy ustawić właściwość OnEnter (PrzyWejściu) lub OnExit (PrzyZakończeniu) na nazwę makra.

Uwagi

Gdy wystąpi zdarzenie Enter lub Exit, można uruchomić makro używające akcji IdźDoFormantu (GoToControl), aby zmienić kolejność dostępu w oparciu o bieżące dane w formancie. Na przykład, jeśli użytkownik wprowadzi wartość Single Single (Kawaler) w polu "MaritalStatus" (Stan cywilny), fokus nie będzie przechodził do pola "SpouseName" (Imię współmałżonka).

Można użyć akcji AnulujZdarzenie (CancelEvent) w makrze zdarzenia Exit, aby anulować utratę fokusu przez formant. Nie można użyć akcji AnulujZdarzenie w makrze zdarzenia Enter, aby anulować to zdarzenie. Można jednak w makrze zdarzenia Enter użyć akcji IdźDoFormantu (GoToControl), aby przenieść fokus do innego formantu.


Enter, Exit, zdarzenia - procedury zdarzeń
Enter, Exit, zdarzenia – procedury zdarzeń

Aby utworzyć procedurę zdarzenia wykonywaną po wystąpieniu zdarzenia Enter lub Exit, należy ustawić właściwość OnEnter (PrzyWejściu) lub OnExit (PrzyZakończeniu) na wartość [Procedura zdarzenia] i kliknąć przycisk Buduj  [image].

Składnia

Private Sub nazwaformantu_Enter( )

Private Sub nazwaformantu_Exit(Cancel As Integer)

Procedura zdarzenia Enter ma następujący argument.

Argument	Opis
nazwaformantu	Nazwa formantu, dla którego ma być uruchomiona procedura zdarzenia Enter.
Procedura zdarzenia Exit ma następujące argumenty.

Argument	Opis
nazwaformantu	Nazwa formantu, dla którego ma być uruchomiona procedura zdarzenia Exit.
Cancel	Argument określający, czy występuje zdarzenie Exit. Ustawienie argumentu Cancel na wartość True (-1) anuluje zdarzenie Exit
Uwagi

Nie można anulować zdarzenia Enter.


Enter, Exit, zdarzenia - przykład procedur zdarzeń
Enter, Exit, zdarzenia – przykład procedur zdarzeń

W poniższym przykładzie, do pola tekstowego "LastName" (Nazwisko) dołączone są dwie procedury zdarzeń. Procedura zdarzenia Enter wyświetla komunikat określający, jakiego typu dane może wprowadzać użytkownik w polu tekstowym. Procedura zdarzenia Exit wyświetla okno dialogowe z pytaniem, czy zmiany mają być zapisane przed przeniesieniem fokusu do innego formantu. Jeśli użytkownik wybierze przycisk "Cancel", argument Cancel przyjmie wartość True (-1), co spowoduje przeniesienie fokusu z powrotem do pola tekstowego bez zapisywania zmian. Jeśli użytkownik wybierze przycisk OK, zmiany zostaną zapisane, a fokus będzie przeniesiony do innego formantu.

Aby przetestować ten przykład, należy dodać poniższe kody procedur zdarzeń do formularza zawierającego pole tekstowe o nazwie "LastName".

Private Sub LastName_Enter()

MsgBox "Enter your last name."

End Sub

Private Sub LastName_Exit(Cancel As Integer)

Dim strMsg As String

strMsg = "You entered '" & Me!LastName & "' as your last name." & _

vbCrLf & "Is this correct?"

If MsgBox(strMsg, vbYesNo) = vbNo Then

Cancel = True	' Cancel exit.

Else

Exit Sub	' Save changes i exit.

End If

End Sub


Format, zdarzenie

Zdarzenie Format występuje, gdy program Microsoft Access określa, które dane należą do sekcji raportu, ale przed sformatowaniem tej sekcji do podglądu wydruku lub drukowania.

Uwagi

Aby uruchomić makro lub procedurę zdarzenia, gdy wystąpi to zdarzenie, należy ustawić właściwość OnFormat (PrzyFormatowaniu) na nazwę makra lub na wartość [Procedura zdarzenia].

Zdarzenie Format występuje dla każdej sekcji w raporcie. Umożliwia to tworzenie złożonych obliczeń bieżących z wykorzystaniem danych z każdej sekcji, łącznie z sekcjami, które nie są drukowane.

W sekcji szczegółów raportu zdarzenie Format występuje dla każdego rekordu sekcji tuż przed sformatowaniem danych w rekordzie przez program Microsoft Access. Makro i procedura zdarzenia Format mają dostęp do danych w rekordzie bieżącym.

Dla nagłówków grup raportu zdarzenie Format występuje dla każdej nowej grupy, a makro i procedura zdarzenia Format mają dostęp do danych w nagłówku grupy i danych w pierwszym rekordzie sekcji szczegółów. Dla stopek grup raportu zdarzenie Format występuje dla każdej nowej grupy, a makro i procedura zdarzenia Format mają dostęp do danych w stopce grupy i danych w ostatnim rekordzie sekcji szczegółów.

Uruchamiając makro zdarzenia albo wykonując procedurę zdarzenia, gdy występuje zdarzenie Format, można użyć danych w bieżącym rekordzie, aby dokonać w raporcie zmian, które wpłyną na układ strony. Można na przykład wyświetlić lub ukryć komunikat z gratulacjami obok wartości miesięcznej sprzedaży sprzedawcy w raporcie sprzedaży, w zależności od całkowitej wartości sprzedaży. Po wyświetleniu albo ukryciu formantu, program Microsoft Access formatuje sekcję wykorzystując wartości właściwości formatu, takie jak CanGrow (MożnaPowiększać), CanShrink (MożnaPomniejszać), HideDuplicates (UkryjDuplikaty), KeepTogether (TrzymajRazem), i Visible (Widoczny).

Aby dokonać zmian, które nie wpływają na układ strony, albo uruchomić procedurę zdarzenia lub makro dopiero po sformatowaniu danych na stronie, jak np. makro drukujące podsumowania strony, należy użyć zdarzenia Print dla sekcji raportu.

Bywają sytuacje, gdy program Microsoft Access musi powrócić do poprzedniej sekcji w raporcie, aby wykonać kilka działań formatujących. Gdy zdarza się taka sytuacja, występuje zdarzenie Retreat, kiedy raport powraca do każdej poprzedniej sekcji, a zdarzenie Format występuje kilka razy dla każdej sekcji. Można uruchomić makro albo procedurę zdarzenia, gdy wystąpi zdarzenie Retreat, aby cofnąć zmiany dokonane po wystąpieniu zdarzenia Format dla danej sekcji. Jest to użyteczne, gdy makro albo procedura zdarzenia Format wykonuje akcje, takie jak obliczenie podsumowania strony albo ustawianie rozmiaru sekcji, które mają być wykonane tylko raz dla każdej sekcji.


Format, zdarzenie - makra
Format, zdarzenie – makra

Aby uruchomić makro, gdy wystąpi zdarzenie Format, należy ustawić właściwość OnFormat (PrzyFormatowaniu) na nazwę makra.

Uwagi

Można użyć właściwości FormatCount (LiczbaFormatowań), aby sprawdzić, czy zdarzenie Format wystąpiło wiele razy w sekcji. Na przykład, jeśli sekcja nie mieści się na jednej stronie i jej część jest umieszczona na następnej stronie raportu, zdarzenie Format występuje raz dla każdej strony i właściwość FormatCount ma wartość 2. Można sprawdzić wartość właściwości FormatCount, aby określić, ile razy zostało wykonane makro zdarzenia Format w danej sekcji.

Można użyć akcji AnulujZdarzenie (CancelEvent) w makrze zdarzenia Format, aby anulować formatowanie sekcji. W takim przypadku program Microsoft Access nie formatuje danej sekcji do drukowania, ale drukuje następną sekcję. Można użyć akcji AnulujZdarzenie podczas drukowania raportu, aby pominąć sekcję w raporcie, nie zostawiając pustego miejsca na stronie.


Format, zdarzenie - procedury zdarzenia
Format, zdarzenie – procedury zdarzenia

Aby utworzyć procedurę zdarzenia wykonywaną po wystąpieniu zdarzenia Format, należy ustawić właściwość OnFormat (PrzyFormatowaniu) na wartość [Procedura zdarzenia] i kliknąć przycisk Buduj  [image].

Składnia

Private Sub nazwasekcji_Format(Cancel As Integer, FormatCount As Integer)

Procedura zdarzenia Format ma następujące argumenty.

Argument	Opis
nazwasekcji	Nazwa sekcji raportu, dla której ma być wykonana procedura zdarzenia Format.
Cancel	Argument określający, czy zachodzi formatowanie sekcji. Ustawienie argumentu Cancel na wartość True (-1) anuluje formatowanie sekcji.
FormatCount	Wartość typu Liczba całkowita określająca, czy zdarzenie Format wystąpiło więcej niż raz dla sekcji. Na przykład, jeśli sekcja nie mieści się na jednej stronie i jej część jest przeniesiona na następną stronę raportu, wartość argumentu FormatCount jest ustawiana na wartość 2.
Uwagi

Jeśli formatowanie zostanie anulowane, program Microsoft Access nie formatuje danej sekcji do drukowania, ale drukuje następną sekcję. Można użyć procedury zdarzenia Format, aby pominąć sekcję w raporcie nie zostawiając pustego miejsca na stronie, podczas drukowania raportu.


Format, zdarzenie - przykład procedury zdarzenia
Format, zdarzenie – przykład procedury zdarzenia

W poniższym przykładzie jest wyświetlany albo ukrywany komunikat z gratulacjami obok formantu  obliczeniowego pokazującego całkowitą wartość sprzedaży uzyskaną przez sprzedawcę. W sekcjach raportu, w których całkowita wartość sprzedaży jest większa niż norma sprzedaży, podczas drukowania sekcji na etykiecie "Message" wyświetlany jest komunikat "Congratulations! You have met your sales goal" (Gratulacje! Została przekroczona norma sprzedaży). W sekcjach, w których całkowita wartość sprzedaży jest mniejsza niż norma sprzedaży, etykieta ta jest ukryta.

Aby przetestować ten przykład, należy dodać poniższy kod procedury zdarzenia do raportu zawierającego etykietę o nazwie "Message", pole tekstowe o nazwie "GrandTotal" (formant obliczeniowy wyświetlający podsumowanie sprzedaży) i sekcję szczegółów o nazwie "SalesDetail".

Private Sub SalesDetail_Format(Cancel As Integer, _

FormatCount As Integer)

Const conSalesGoal = 1000

If Me!GrandTotal > conSalesGoal Then

Me!Message.Visible = True

Else

Me!Message.Visible = False

End If

End Sub


Open, Close, zdarzenia

•	Zdarzenie Open występuje, gdy formularz zostaje otwarty, ale przed wyświetleniem pierwszego rekordu. Dla raportów zdarzenie to występuje przed podglądem wydruku albo przed wydrukowaniem raportu.

•	Zdarzenie Close występuje, gdy formularz albo raport jest zamykany i usuwany z ekranu.

Uwagi

Aby uruchomić makro lub procedurę zdarzenia, gdy wystąpią te zdarzenia, należy ustawić właściwość OnOpen (PrzyOtwarciu) lub OnClose (PrzyZamknięciu) na nazwę makra lub na wartość [Procedura zdarzenia].

Uruchamiając makro lub procedurę zdarzenia, gdy występuje zdarzenie Open formularza, można zamknąć inne okno albo przenieść fokus do określonego formantu w formularzu. Można również uruchomić makro z prośbą o informacje potrzebne przed otwarciem albo wydrukowaniem formularza lub raportu. Na przykład, makro albo procedura zdarzenia Open może otwierać niestandardowe okno dialogowe, w którym użytkownik wprowadza kryteria określające, kiedy zestaw rekordów ma być wyświetlany na formularzu, albo zakres danych, które mają być uwzględnione w raporcie.

Zdarzenie Open nie występuje podczas aktywacji formularza, który już jest otwarty – na przykład przy przełączaniu się na formularz z innego okna programu Microsoft Access lub zastosowaniu akcji OtwórzFormularz (OpenForm) w makrze, aby wyświetlić otwarty formularz na wierzchu. W takich sytuacjach zachodzi jednak zdarzenie Activate.

Gdy użytkownik otwiera formularz oparty na kwerendzie, program Microsoft Access wykonuje tę kwerendę przed wykonaniem makra lub procedury zdarzenia Open. Natomiast, gdy użytkownik otwiera raport oparty na kwerendzie, program Microsoft Access wykonuje makro lub procedurę zdarzenia Open przed wykonaniem kwerendy dla raportu. Pozwala to użytkownikowi określić kryteria dla raportu przed jego otwarciem – na przykład, w niestandardowym oknie dialogowym można wyświetlić informację o tym, kiedy występuje zdarzenie Open.

Jeśli w aplikacji może być wiele formularzy załadowanych jednocześnie, należy użyć zdarzeń Activate i Deactivate zamiast zdarzenia Open, aby wyświetlić lub ukryć niestandardowy pasek narzędzi, gdy fokus jest przenoszony do innego formularza.

Zdarzenie Open występuje przed zdarzeniem Load wywoływanym, gdy otwierany jest formularz i wyświetlane są rekordy w tym formularzu.

Gdy użytkownik po raz pierwszy otwiera formularz, występują kolejno następujące zdarzenia:

Open ⇒ Load ⇒ Resize ⇒ Activate ⇒ Current

Zdarzenie Close występuje po zdarzeniu Unload wywoływanym, gdy zamykany jest formularz, ale przed usunięciem formularza z ekranu.

Gdy użytkownik zamyka formularz, występują kolejno następujące zdarzenia:

Unload ⇒ Deactivate ⇒ Close

Gdy występuje zdarzenie Close, można otworzyć inne okno albo zażądać podania nazwy użytkownika, aby dokonać wpisu w dzienniku zdarzeń określającego, kto używał formularza lub raportu.

Decydując o tym, czy użyć zdarzenia Open czy zdarzenia Load w makrze lub procedurze zdarzenia, trzeba pamiętać o ważnej różnicy między nimi – zdarzenie Open może być anulowane, ale zdarzenie Load nie. Na przykład, jeśli użytkownik dynamicznie buduje źródło rekordów dla formularza w procedurze zdarzenia Open tego formularza, może on anulować otwarcie formularza, jeśli nie ma rekordów do wyświetlenia. Podobnie zdarzenie Unload może być anulowane, ale zdarzenie Close nie.


Open, Close, zdarzenia - makra
Open, Close, zdarzenia – makra

Aby uruchomić makro, gdy wystąpi zdarzenie Open lub Close należy ustawić właściwość OnOpen (PrzyOtwarciu) lub OnClose (PrzyZamknięciu) na nazwę makra.

Uwagi

Można użyć akcji AnulujZdarzenie (CancelEvent) w makrze zdarzenia Open, aby anulować otwarcie formularza lub raportu. Nie można użyć akcji AnulujZdarzenie w makrze zdarzenia Close, aby anulować to zdarzenie. Można jednak użyć akcji AnulujZdarzenie w makrze uruchamianym, gdy występuje zdarzenie Unload dla formularza. Akcja ta anuluje zamknięcie formularza.

Aby odwoływać się do formantów w makrze zdarzenia Open, należy wcześniej przenieść fokus do odpowiedniego formantu lub rekordu. Na przykład, chcąc użyć akcji UstawWartość (SetValue) w makrze zdarzenia Open, aby ustawić wartość formantu na formularzu, należy wcześniej użyć akcji IdźDoFormantu (GoToControl) albo IdźDoRekordu (GoToRecord), aby udostępnić formant lub rekord zawierający ten formant.


Open, Close, zdarzenia - procedury zdarzeń
Open, Close, zdarzenia — procedury zdarzeń

Aby utworzyć procedurę zdarzenia wykonywaną po wystąpieniu zdarzenia Open lub Close, należy ustawić właściwość OnOpen (PrzyOtwarciu) lub OnClose (PrzyZamknięciu) na wartość [Procedura zdarzenia] i kliknąć przycisk Buduj  [image].

Składnia

Private Sub Form_Open(Cancel As Integer)

Private Sub Report_Open(Cancel As Integer)

Private Sub Form_Close( )

Private Sub Report_Close( )

Procedura zdarzenia Open ma następujący argument.

Argument	Opis
Cancel	Argument określający, czy zostaje otwarty formularz lub raport. Ustawienie argumentu Cancel na wartość True (-1) anuluje otwarcie formularza lub raportu.
Uwagi

Nie można anulować zdarzenia Close.

Aby odwoływać się do formantów w procedurze zdarzenia Open, należy wcześniej przenieść fokus do formularza lub do odpowiedniego formantu albo rekordu używając metody SetFocus, GoToRecord, lub GoToControl obiektu DoCmd.

Jeśli w aplikacji może być załadowany tylko jeden formularz na raz, można umieścić kod wyświetlający lub ukrywający pasek narzędzi w procedurze zdarzenia Open dla formularza. W poniższym przykładzie wyświetlany jest pasek narzędzi "MyToolbar" przy otwieraniu formularza.

Sub Form_Open(Cancel As Integer)

DoCmd.ShowToolbar "MyToolbar", acToolbarYes

End Sub


Open, Close, zdarzenia - przykład procedury zdarzenia
Open, Close, zdarzenia – przykład procedury zdarzenia

W poniższym przykładzie zostało pokazane, jak można anulować otwarcie formularza, gdy użytkownik kliknie przycisk "No". Okno komunikatu monituje użytkownika o wprowadzenie szczegółów zamówień (order details). Jeśli użytkownik kliknie przycisk "No", formularz "Order Details" nie zostanie otwarty.

Aby przetestować ten przykład, należy dodać poniższy kod procedury zdarzenia do formularza.

Private Sub Form_Open(Cancel As Integer)

Dim intReturn As Integer

intReturn = MsgBox("Enter order details now?", vbYesNo)

Select Case intReturn

Case vbYes

DoCmd.OpenForm "Order Details"	' Open Order Details form.

Case vbNo

MsgBox "Remember to enter order details by 5 P.M."

Cancel = True	' Cancel Open event.

End Select

End Sub


Print, zdarzenie

Zdarzenie Print występuje po sformatowaniu danych sekcji raportu do drukowania, ale przed wydrukowaniem tej sekcji.

Uwagi

Aby uruchomić makro lub procedurę zdarzenia, gdy wystąpi to zdarzenie, należy ustawić właściwość OnPrint (PrzyWydruku) na nazwę makra lub na wartość [Procedura zdarzenia].

Dla sekcji szczegółów raportu zdarzenie Print występuje w każdym rekordzie w sekcji, tuż przed wydrukowaniem danych rekordu przez program Microsoft Access. Makro i procedura zdarzenia mają dostęp do danych w bieżącym rekordzie.

Dla nagłówków grup raportu zdarzenie Print występuje dla każdej nowej grupy, a makro i procedura zdarzenia Print mają dostęp do danych w nagłówku grupy i danych w pierwszym rekordzie w sekcji szczegółów. Dla stopek grup raportu zdarzenie Print występuje dla każdej nowej grupy, a makro i procedura zdarzenia Print mają dostęp do danych w stopce grupy i danych w ostatnim rekordzie w sekcji szczegółów.

Zdarzenia Print można użyć, aby uruchomić makro albo procedurę zdarzenia dopiero, gdy program Microsoft Access przygotuje dane do wydrukowania na stronie. Można na przykład obliczyć podsumowania bieżące strony drukowane w nagłówku albo w stopce strony.

Aby dokonać zmian, które wpływają na układ strony, takich jak wyświetlanie lub ukrywanie formantów, należy użyć zdarzenia Format.

Zdarzenie Print występuje tylko dla sekcji, które są faktycznie drukowane. Jeśli potrzebny jest dostęp do danych sekcji, które nie są drukowane (można na przykład liczyć sumy bieżące na podstawie wszystkich stron, ale drukować tylko pewne strony), należy użyć zdarzenia Format.

Zdarzenie Page występuje po wszystkich zdarzeniach Format dla raportu i po wszystkich zdarzeniach Print dla strony, ale zanim strona jest faktycznie drukowana.


Print, zdarzenie - makra
Print, zdarzenie – makra

Aby uruchomić makro, gdy wystąpi zdarzenie Print, należy ustawić właściwość OnPrint (PrzyWydruku) na nazwę makra.

Uwagi

Można użyć właściwości PrintCount (LiczbaDrukowań), aby sprawdzić, czy zdarzenie Print wystąpiło wiele razy w rekordzie. Na przykład, jeśli część rekordu jest drukowana na jednej stronie, a reszta na następnej, zdarzenie Print wystąpi dwukrotnie, a właściwość PrintCount będzie miała wartość 2. Można sprawdzić wartość właściwości PrintCount w makrach zdarzenia Print, które powinny być uruchamiane tylko raz dla każdego rekordu, jak np. makro wyświetlające podsumowania dla rekordów na stronie w stopce strony.

Można użyć akcji AnulujZdarzenie (CancelEvent) w makrze zdarzenia Print, aby anulować drukowanie sekcji. Podczas drukowania raportu drukowany jest wtedy pusty obszar w tym miejscu na stronie, gdzie powinna znajdować się sekcja. Można użyć akcji AnulujZdarzenie, aby podczas drukowania raportu pominąć rekord w raporcie i zostawić pusty obszar w tym miejscu na stronie, w którym powinien znajdować się rekord.

Makro zdarzenia Print uruchamiane jest tylko dla sekcji, które są faktycznie drukowane.

Uwaga   Nie można użyć makra zdarzenia Print do ustawienia właściwości jakiegokolwiek obiektu.


Print, zdarzenie - procedury zdarzenia
Print, zdarzenie — procedury zdarzenia

Aby utworzyć procedurę zdarzenia wykonywaną po wystąpieniu zdarzenia Print, należy ustawić właściwość OnPrint (PrzyWydruku) na wartość [Procedura zdarzenia] i kliknąć przycisk Buduj  [image].

Składnia

Private Sub nazwasekcji_Print(Cancel As Integer, PrintCount As Integer)

Procedura zdarzenia Print ma następujące argumenty.

Argument	Opis
nazwasekcji	Nazwa sekcji raportu, dla której ma być wykonana procedura zdarzenia Print.
Cancel	Argument określający, czy sekcja zostaje wydrukowana. Ustawienie argumentu Cancel na wartość True (-1) anuluje drukowanie sekcji.
PrintCount	Wartość typu Liczba całkowita określająca, czy zdarzenie Format wystąpiło więcej niż raz dla rekordu. Na przykład, jeśli część rekordu jest drukowana na jednej stronie, a reszta na następnej, zdarzenie Print wystąpi dwukrotnie, a argument PrintCount zostanie ustawiony na wartość 2.
Uwagi

Aby anulować drukowanie sekcji, należy ustawić argument Cancel na wartość True (-1) albo użyć metody CancelEvent obiektu DoCmd. Program Microsoft Access drukuje pusty obszar na stronie, w miejscu, gdzie powinna znajdować się sekcja. Można użyć metody CancelEvent lub argumentu Cancel, aby pominąć rekord w raporcie, zostawiając w jego miejscu na stronie pusty obszar, podczas drukowania raportu.

Uwaga   Nie można użyć makra zdarzenia Print do ustawienia właściwości jakiegokolwiek obiektu.


Print, zdarzenie - przykład procedury zdarzenia
Print, zdarzenie – przykład procedury zdarzenia

W poniższym przykładzie sprawdzana jest wartość argumentu PrintCount, aby określić, ile razy wystąpiło zdarzenie Print. Jeśli wystąpiło ono więcej niż raz, zdarzenie Print dla tej sekcji jest anulowane.

Aby przetestować ten przykład, należy dodać poniższy kod procedury zdarzenia do raport zawierającego sekcję o nazwie "CustomerDetail".

Private Sub CustomerDetail_Print(Cancel As Integer, _

PrintCount As Integer)

If PrintCount > 1 Then Cancel = True

End Sub


Current, zdarzenie

Zdarzenie Current występuje, gdy fokus jest przenoszony do rekordu powodując, że rekord ten staje się rekordem bieżącym, albo gdy formularz jest odświeżany lub jest w nim ponownie wykonywana kwerenda.

Uwagi

Aby uruchomić makro lub procedurę zdarzenia, gdy wystąpi to zdarzenie, należy ustawić właściwość OnCurrent (PrzyBieżącym) na nazwę makra lub na wartość [Procedura zdarzenia].

Zdarzenie to występuje przy otwieraniu formularza oraz za każdym razem, gdy fokus opuszcza jeden rekord i przechodzi do innego rekordu. Program Microsoft Access uruchamia makro lub procedurę zdarzenia Current przed wyświetleniem pierwszego lub następnego rekordu.

Uruchamiając makro albo wykonując procedurę zdarzenia, gdy wystąpi zdarzenie Current dla formularza, można wyświetlić komunikat albo zsynchronizować rekordy w innym formularzu związanym z bieżącym rekordem. Na przykład, gdy rekordem bieżącym staje się rekord dotyczący pewnego klienta, można wyświetlić poprzednie zamówienie tego klienta. Gdy rekordem bieżącym staje się rekord dotyczący pewnego dostawcy, można wyświetlić produkty wytwarzane przez tego dostawcę w formularzu "Suppliers". Można również wykonać obliczenia na podstawie danych zawartych w bieżącym rekordzie albo zmieniać formularz w odpowiedzi na te dane.

Jeśli makro lub procedura zdarzenia wykonuje akcję IdźDoFormantu (GoToControl) lub IdźDoRekordu (GoToRecord) albo odpowiednią metodę obiektu DoCmd w odpowiedzi na zdarzenie Open, występuje zdarzenie Current.

Zdarzenie Current występuje również podczas odświeżania formularza lub ponownego wykonywania kwerendy dla tabeli lub kwerendy, na której oparty jest formularz – na przykład, przy kliknięciu polecenia Usuń filtr/sortowanie z menu Rekordy lub użyciu akcji PonówKwerendę (Requery) w makrze albo metody Requery w kodzie języka Visual Basic.

Gdy użytkownik po raz pierwszy otwiera formularz, występują kolejno następujące zdarzenia:

Open ⇒ Load ⇒ Resize ⇒ Activate ⇒ Current


Current, zdarzenie - makra
Current, zdarzenie – makra

Aby uruchomić makro, gdy wystąpi zdarzenie Current należy ustawić właściwość OnCurrent (PrzyBieżącym) na nazwę makra.

Uwagi

Nie można użyć akcji AnulujZdarzenie (CancelEvent) w makrze zdarzenia Current, aby anulować to zdarzenie. Można jednak użyć akcji IdźDoRekordu (GoToRecord), aby przesunąć fokus do innego rekordu.


Current, zdarzenie - procedury zdarzenia
Current, zdarzenie — procedury zdarzenia

Aby utworzyć procedurę zdarzenia wykonywaną po wystąpieniu zdarzenia Current, należy ustawić właściwość OnCurrent (PrzyBieżącym) na wartość [Procedura zdarzenia] i kliknąć przycisk Buduj  [image].

Składnia

Private Sub Form_Current( )

Uwagi

Nie można anulować tego zdarzenia przy użyciu metody CancelEvent obiektu DoCmd. Można jednak użyć metody GoToRecord obiektu DoCmd, aby przenieść fokus do innego rekordu.


Current, zdarzenie - przykłady procedur zdarzenia
Current, zdarzenie — przykłady procedur zdarzenia

W poniższym przykładzie procedura zdarzenia Current sprawdza stan przycisku opcji o nazwie "Discontinued". Jeśli przycisk jest wybrany, kod przykładowy ustawia kolor tła pola "ProductName" na kolor czerwony, aby zaznaczyć, że zrezygnowano z danego produktu.

Aby przetestować ten przykład, należy dodać poniższy kod procedury zdarzenia do formularza zawierającego opcję o nazwie "Discontinued" i pole tekstowe o nazwie "ProductName".

Private Sub Form_Current()

If Me!Discontinued Then

Me!ProductName.BackColor = 255

EndIf

End Sub

W następnym przykładzie właściwość Caption (Tytuł) formularza jest ustawiana na pole "SupplierName". Gdy fokus przechodzi od rekordu do rekordu, na pasku tytułowym wyświetlana jest bieżąca nazwa dostawcy (SupplierName).

Aby przetestować ten przykład, należy dodać poniższy kod procedury zdarzenia do formularza zawierającego pole tekstowe o nazwie "SupplierName".

Private Sub Form_Current()

Me.Caption = Me!SupplierName

End Sub


Activate, Deactivate, zdarzenia

•	Zdarzenie Activate występuje, gdy formularz lub raport uzyskuje fokus i jego okno staje się aktywne.

•	Zdarzenie Deactivate występuje, gdy formularz lub raport traci fokus na rzecz okna tabeli, kwerendy, formularza, raportu, makra lub modułu albo bazy danych.

Uwaga   Zdarzenie Deactivate nie występuje, gdy formularz lub raport traci fokus na rzecz okna dialogowego, formularza, którego właściwość PopUp (Podręczny) jest ustawiona na wartość "Tak" albo na rzecz okna w innej aplikacji.

Uwagi

Aby uruchomić makro lub procedurę zdarzenia, gdy wystąpią te zdarzenia, należy ustawić właściwość OnActivate (PrzyAktywowaniu) lub OnDeactivate (PrzyDezaktywowaniu) na nazwę makra lub na wartość [Procedura zdarzenia].

Można uaktywnić formularz lub raport przez otwarcie go, kliknięcie formularza lub raportu albo jego formantu lub przez użycie metody SetFocus języka Visual Basic (tylko dla formularzy).

Zdarzenie Activate może wystąpić tylko wtedy, gdy formularz lub raport jest widoczny.

Zdarzenie Activate występuje przed zdarzeniem GotFocus; zdarzenie Deactivate występuje po zdarzeniu LostFocus.

Podczas przełączania się między dwoma otwartymi formularzami, zdarzenie Deactivate występuje dla formularza, z którego nastąpiło przełączenie, a zdarzenie Activate występuje dla formularza, na który nastąpiło przełączenie. Jeśli formularze nie zawierają widocznych, włączonych formantów, zdarzenie LostFocus występuje dla pierwszego formularza przed zdarzeniem Deactivate, a zdarzenie GotFocus występuje dla drugiego formularza po zdarzeniu Activate.

Gdy użytkownik po raz pierwszy otwiera formularz, występują kolejno poniższe zdarzenia:

Open ⇒ Load ⇒ Resize ⇒ Activate ⇒ Current

Gdy użytkownik zamyka formularz, występują kolejno poniższe zdarzenia:

Unload ⇒ Deactivate ⇒ Close


Activate, Deactivate, zdarzenia - makra
Activate, Deactivate, zdarzenia – makra

Aby uruchomić makro po wystąpieniu zdarzenia Activate lub Deactivate, należy ustawić właściwość OnActivate (PrzyAktywowaniu) lub OnDeactivate (PrzyDezaktywowaniu) na nazwę tego makra.

Uwagi

Można użyć akcji PokażPasekNarzędzi (ShowToolbar) w makrze zdarzenia Activate lub Deactivate, aby wyświetlić lub ukryć niestandardowy pasek narzędzi. Zdarzeń Activate i Deactivate należy używać do wyświetlania lub ukrywania niestandardowych pasków narzędzi, gdy równocześnie jest załadowanych kilka formularzy. Jeśli załadowany jest tylko jeden formularz, można użyć zdarzeń Open i Close.

Używając makra zdarzenia Deactivate do ukrywania niestandardowego paska narzędzi, należy ukryć pasek narzędzi także w reakcji na zdarzenie Unload formularza lub raportu, ponieważ zdarzenie Deactivate nie występuje, gdy formularz lub raport jest zwalniany. Do ukrywania niestandardowego paska narzędzi nie należy używać zdarzeń GotFocus i LostFocus, ponieważ zdarzenia te nie występują dla formularzy i raportów zawierających włączone formanty.

Nie można użyć akcji AnulujZdarzenie (CancelEvent) w makrze zdarzenia Activate ani Deactivate.


Activate, Deactivate, zdarzenia - procedury zdarzeń
Activate, Deactivate, zdarzenia – procedury zdarzeń

Aby utworzyć procedurę zdarzenia wykonywaną po wystąpieniu zdarzenia Activate lub Deactivate, należy ustawić właściwość OnActivate (PrzyAktywowaniu) lub OnDeactivate (PrzyDezaktywowaniu)  na wartość [Procedura zdarzenia] i kliknąć przycisk Buduj  [image].

Składnia

Private Sub Form_Activate( )

Private Sub Report_Activate( )

Private Sub Form_Deactivate( )

Private Sub Report_Deactivate( )

Uwagi

Można używać procedur zdarzeń Activate i Deactivate do wyświetlania i ukrywania niestandardowych pasków narzędzi. Używając procedury zdarzenia Deactivate do ukrywania niestandardowego paska narzędzi na formularzu, należy ukryć pasek narzędzi także w reakcji na zdarzenie Unload formularza lub raportu, ponieważ zdarzenie Deactivate nie występuje, gdy formularz lub raport jest zwalniany. Do ukrywania niestandardowego paska narzędzi na formularzu nie należy używać zdarzeń GotFocus i LostFocus, ponieważ zdarzenia te nie występują dla formularzy i raportów zawierających włączone formanty.

Nie można anulować zdarzenia Activate ani Deactivate.


Activate, Deactivate, zdarzenia - przykład procedur zdarzeń
Activate, Deactivate, zdarzenia – przykład procedur zdarzeń

W poniższym przykładzie zostało pokazane, jak wyświetlić niestandardowy pasek narzędzi o nazwie "CustomToolbar", gdy formularz uzyskuje fokus i jak go ukryć, gdy fokus jest przenoszony do innego okna.

Aby przetestować ten przykład, należy dodać poniższe kody procedur zdarzeń do formularza zawierającego niestandardowy pasek narzędzi o nazwie "CustomToolbar".

Private Sub Form_Activate()

' Display custom toolbar.

DoCmd.ShowToolbar "CustomToolbar", acToolbarYes

End Sub

Private Sub Form_Deactivate()

' Hide custom toolbar.

DoCmd.ShowToolbar "CustomToolbar", acToolbarNo

End Sub


Change, zdarzenie

Zdarzenie Change występuje, gdy ulega zmianie zawartość pola tekstowego lub część tekstowa pola kombi. Występuje ono również, gdy użytkownik przechodzi z jednej strony na drugą w formancie typu karta. Przykładem wystąpienia tego zdarzenia jest bezpośrednie wprowadzenie znaku w polu tekstowym lub w polu kombi albo zmiana ustawienia właściwości Text formantu za pomocą makra lub w języku Visual Basic.

Uwagi

•	Ustawienie wartości formantu za pomocą makra lub języka Visual Basic nie powoduje wystąpienia tego zdarzenia dla formantu. Trzeba bezpośrednio wpisać dane do formantu albo ustawić właściwość Text formantu.

•	Zdarzenie to występuje tylko dla formantów na formularzu, a nie dla formantów raportu.

Uwagi

Aby uruchomić makro lub procedurę zdarzenia, gdy wystąpi to zdarzenie, należy ustawić właściwość OnChange (PrzyZmianie) na nazwę makra lub na wartość [Procedura zdarzenia].

Uruchamiając makro lub procedurę zdarzenia, gdy występuje zdarzenie Change można koordynować wyświetlanie danych w formantach. Można również wyświetlać dane lub formuły w jednym formancie, a wyniki w drugim.

Zdarzenie Change nie występuje, gdy ulega zmianie wartość w formancie obliczanym, ani gdy wybierany jest element z listy pola kombi.

Uwaga   Zdarzenie Change może spowodować zdarzenie rekurencyjne. Ma to miejsce, gdy makro lub procedura zdarzenia uruchomiona w reakcji na zdarzenie Change formantu zmienia jego zawartość – na przykład przez zmianę ustawienia właściwości określającej wartość formantu, takiej jak właściwość Text pola tekstowego. Aby zapobiec powstawaniu zdarzeń rekurencyjnych:

•	Jeśli to możliwe, należy unikać dołączania do formantu makra albo procedury zdarzenia Change, które zmieniają zawartość formantu.

•	Należy unikać tworzenia kilku formantów, których zdarzenia Change wpływają na siebie – na przykład dwóch pól tekstowych aktualizujących się nawzajem.

Zmiana danych w polu tekstowym lub w polu kombi za pomocą klawiatury powoduje wystąpienie zdarzeń klawiatury oprócz zdarzeń formantu, takich jak zdarzenie Change. Jeśli na przykład następuje przejście do nowego rekordu i wpisywany jest znak ANSI w polu tekstowym rekordu, występują kolejno poniższe zdarzenia:

KeyDown ⇒ KeyPress ⇒ BeforeInsert ⇒ Change ⇒ KeyUp

Zdarzenia BeforeUpdate i AfterUpdate dla pola tekstowego lub pola kombi występują po wprowadzeniu nowych danych do formantu lub zmianie danych istniejących i przejściu do innego formantu (lub kliknięciu polecenia Zapisz rekord w menu Rekordy), czyli po wszystkich zdarzeniach Change dla formantu.

W polach kombi, których właściwość LimitToList (OgraniczDoListy) jest ustawiona na wartość "Tak", zdarzenie NotInList występuje po wprowadzeniu wartości, której nie ma na liście i próbie przejścia do innego formantu lub zapisania rekordu. Występuje ono po wszystkich zdarzeniach Change dla pola kombi. W takim przypadku zdarzenia BeforeUpdate i AfterUpdate dla pola kombi nie wystąpią, ponieważ program Microsoft Access nie akceptuje wartości, której nie ma na liście.


Change, zdarzenie - makra
Change, zdarzenie – makra

Aby uruchomić makro po wystąpieniu zdarzenia Change, należy ustawić właściwość OnChange (PrzyZmianie) na nazwę tego makra.

Uwagi

Można użyć makra zdarzenia Change, aby zsynchronizować dane w dwóch formantach. Gdy następuje zmiana w jednym formancie, może być ona odzwierciedlona w drugim formancie.

Nie można użyć akcji AnulujZdarzenie (CancelEvent) w makrze zdarzenia Change.


Change, zdarzenie - procedury zdarzenia
Change, zdarzenie – procedury zdarzenia

Aby utworzyć procedurę zdarzenia wykonywaną po wystąpieniu zdarzenia Change,  należy ustawić właściwość OnChange (PrzyZmianie) na wartość [Procedura zdarzenia] i kliknąć przycisk Buduj  [image].

Składnia

Private Sub nazwaformantu_Change( )

Procedura zdarzenia Change ma następujący argument.

Argument	Opis
nazwaformantu	Nazwa formantu, dla którego ma być uruchomiona procedura zdarzenia Change.
Uwagi

Nie można anulować zdarzenia Change.

Aby zapobiec powstawaniu zdarzeń rekurencyjnych, należy unikać tworzenia dla formantu procedury zdarzenia Change, która zmienia zawartość formantu (na przykład przez ustawienie właściwości Text formantu). Jeśli taka procedura zdarzenia zostanie utworzona, należy koniecznie ustawić zmienną zapobiegającą dalszym zmianom, gdy bieżąca zmiana jest w toku.


Change, zdarzenie - przykład procedury zdarzenia
Change, zdarzenie – przykład procedury zdarzenia

W poniższym przykładzie zliczana jest liczba znaków wprowadzonych w polu tekstowym. Jeśli użytkownik wprowadzi więcej niż trzy znaki, wyświetlany jest komunikat, a liczba zliczeń jest ustawiana na 0.

Aby przetestować ten przykład, należy dodać poniższy kod procedury zdarzenia do formularza o nazwie "Orders" zawierającego pole tekstowe o nazwie "ShipRegion".

Private Sub ShipRegion_Change()

' Declare variable as static to preserve value between calls.

Static intLetter As Integer

' Check to see how many letters have been entered.

' If more than three, reset value of text box.

If intLetter < 3 Then

intLetter = intLetter + 1

Else

MsgBox "Only three characters are allowed."

intLetter = 0

Forms!Orders!ShipRegion.Undo

End If

End Sub


Error, zdarzenie

Zdarzenie Error występuje, gdy w programie Microsoft Access generowany jest błąd wykonania, kiedy formularz lub raport ma fokus. Dotyczy to błędów aparatu bazy danych Microsoft Jet, ale nie błędów wykonania w języku Visual Basic.

Uwagi

Aby uruchomić makro lub procedurę zdarzenia, gdy wystąpi to zdarzenie, należy ustawić właściwość OnError (PrzyBłędzie) na nazwę makra lub na wartość [Procedura zdarzenia].

Uruchamiając procedurę zdarzenia lub makro, gdy występuje zdarzenie Error, można przechwycić komunikat o błędzie programu Microsoft Access i wyświetlić zamiast niego bardziej zrozumiały komunikat niestandardowy dla danej aplikacji.


Error, zdarzenie - makra
Error, zdarzenie – makra

Aby uruchomić makro po wystąpieniu zdarzenia Error, należy ustawić właściwość OnError (PrzyBłędzie) na nazwę tego makra.

Uwagi

Można użyć makra zdarzenia Error, aby wyświetlić ogólny komunikat, ilekroć wystąpi błąd wykonania. Jednak makra nie mogą zwrócić kodu błędu i określić, jaki błąd wystąpił, toteż zwykle dla tego zdarzenia używane są procedury zdarzenia.

Nie można użyć akcji AnulujZdarzenie (CancelEvent) w makrze zdarzenia Error.


Error, zdarzenie - procedury zdarzenia
Error, zdarzenie – procedury zdarzenia

Aby utworzyć procedurę zdarzenia wykonywaną po wystąpieniu zdarzenia Error, należy ustawić właściwość OnError (PrzyBłędzie) na wartość [Procedura zdarzenia] i kliknąć przycisk Buduj  [image].

Składnia

Private Sub Form_Error(DataErr As Integer, Response As Integer)

Private Sub Report_Error(DataErr As Integer, Response As Integer)

Procedura zdarzenia Error ma następujące argumenty.

Argument	Opis
DataErr	Kod błędu zwracany przez obiekt Err po wystąpieniu błędu. Argumentu DataErr można używać z funkcją Error do mapowania numeru na odpowiadający mu komunikat o błędzie.
Response	Argument określający, czy komunikat o błędzie jest wyświetlany, czy też nie. Argument Response może być jedną z następujących stałych wewnętrznych.
	Stała	Opis
	acDataErrContinue	Błąd jest ignorowany, a wykonywanie kontynuowane, bez wyświetlania domyślnego komunikatu o błędzie programu Microsoft Access. Można wyświetlić niestandardowy komunikat o błędzie zamiast domyślnego komunikatu o błędzie.
	acDataErrDisplay	(Ustawienie domyślne) Wyświetlany jest domyślny komunikat o błędzie programu Microsoft Access.
Uwagi

Nie można anulować zdarzenia Error.


Error, zdarzenie - przykład procedury zdarzenia
Error, zdarzenie – przykład procedury zdarzenia

W poniższym przykładzie zostało pokazane, jak można zastąpić domyślny komunikat o błędzie niestandardowym komunikatem o błędzie. Gdy program Microsoft Access zwraca komunikat o błędzie wskazujący, że został znaleziony powtórzony klucz (kod błędu 3022), niniejsza procedura zdarzenia wyświetla komunikat podający użytkownikom dokładniejsze informacje zależne od konkretnej aplikacji.

Aby przetestować ten przykład, należy dodać poniższy kod procedury zdarzenia do formularza opartego na tabeli z unikatowym ID pracownika (employee) jako kluczem dla każdego rekordu.

Private Sub Form_Error(DataErr As Integer, Response As Integer)

Const conDuplicateKey = 3022

Dim strMsg As String

If DataErr = conDuplicateKey Then

Response = acDataErrContinue

strMsg = "Each employee record must have a unique " _

& "employee ID number. Please recheck your data."

MsgBox strMsg

End If

End Sub


GotFocus, LostFocus, zdarzenia

•	Zdarzenie GotFocus występuje, gdy formularz lub raport uzyskuje fokus.

•	Zdarzenie LostFocus występuje, gdy formularz lub formant traci fokus.

Uwaga   Zdarzenia GotFocus i LostFocus występują tylko dla formularzy i formantów na formularzach, a nie dla formantów raportów.

Uwagi

Aby uruchomić makro lub procedurę zdarzenia, gdy wystąpią te zdarzenia, należy ustawić właściwość OnGotFocus (PrzyUzyskaniuFokusu) lub OnLostFocus (PrzyUtracieFokusu) na nazwę makra lub na wartość [Procedura zdarzenia].

Zdarzenia te występują podczas przenoszenia fokusu w reakcji na działanie użytkownika, takie jak naciśnięcie klawisza TAB lub kliknięcie obiektu oraz przy użyciu metody SetFocus w języku Visual Basic albo akcji SelectObject, GoToRecord, GoToControl lub GoToPage w makrze.

Formant może uzyskać fokus tylko wtedy, gdy jego właściwości Visible (Widoczny) i Enabled (Włączony) są ustawione na wartość "Tak". Formularz może uzyskać fokus tylko wtedy, gdy nie posiada formantów lub gdy wszystkie widoczne formanty są wyłączone. Jeśli formularz zawiera jakiekolwiek widoczne, włączone formanty, zdarzenie GotFocus nie występuje.

Można określić, co ma się zdarzyć, gdy formularz albo formant uzyskuje fokus, uruchamiając makro albo wykonując procedurę zdarzenia po wystąpieniu zdarzenia GotFocus. Na przykład, dołączając procedurę zdarzenia GotFocus do każdego formantu formularza, można prowadzić użytkownika przez aplikację wyświetlając krótkie instrukcje albo komunikaty w polu tekstowym. Można również dostarczać wizualnych wskazówek włączając, wyłączając lub wyświetlając formanty, które są zależne od formantu z fokusem.

Uwaga   Aby dostosować kolejność, w jakiej fokus przechodzi od jednego do drugiego formantu na formularzu przy naciskaniu klawisza TAB, należy ustawić kolejność dostępu albo określić klawisze dostępu dla tych formantów.

Zdarzenie GotFocus różni się od zdarzenia Enter tym, że zdarzenie GotFocus występuje za każdym razem, gdy formant uzyskuje fokus. Przypuśćmy na przykład, że użytkownik klika pole wyboru na formularzu, następnie klika raport i na koniec klika pole wyboru na formularzu, aby wysunąć go na pierwszy plan. Zdarzenie GotFocus wystąpi dwa razy, gdy pole wyboru uzyskuje fokus. Zdarzenie Enter wystąpi tylko za pierwszym razem, gdy użytkownik klika pole wyboru. Zdarzenie GotFocus występuje po zdarzeniu Enter.

Zdarzenie LostFocus różni się od zdarzenia Exit tym, że zdarzenie LostFocus występuje za każdym razem gdy formant traci fokus. Zdarzenie Exit występuje tylko przed utratą fokusu na rzecz innego formantu na tym samym formularzu. Zdarzenie LostFocus występuje po zdarzeniu Exit.

Jeśli użytkownik przenosi fokus do formantu na formularzu i formant ten nie ma fokusu w tym formularzu, zdarzenia Exit i LostFocus dla formantu mającego fokus na formularzu występują przed zdarzeniami Enter i GotFocus dla formantu, do którego przenoszony jest fokus.

Jeśli użytkownik używa myszy do przeniesienia fokusu z formantu formularza głównego do formantu podformularza tego formularza, występują następujące zdarzenia:

Exit (dla formantu na formularzu głównym)

 ⇓

LostFocus (dla formantu na formularzu głównym)

 ⇓

Enter (dla formantu na podformularzu)

 ⇓

Exit (dla formantu na podformularzu, który miał fokus)

 ⇓

LostFocus (dla formantu na podformularzu, który miał fokus)

 ⇓

Enter (dla formantu na podformularzu, na który został przeniesiony fokus)

 ⇓

GotFocus (dla formantu na podformularzu, na który został przeniesiony fokus)

Jeśli formant na podformularzu, do którego nastąpiło przeniesienie fokusu miał już fokus, jego zdarzenia Enter i GotFocus nie występują, ale występuje jego zdarzenie Enter. Jeśli fokus zostanie przeniesiony z formantu na podformularzu do formantu na formularzu głównym, zdarzenia Exit i LostFocus dla formantu na podformularzu nie występują, ale występuje zdarzenie Exit dla tego formantu oraz zdarzenia Enter i GotFocus dla formantu na formularzu głównym.

Uwaga   Aby przesunąć fokus do innego formantu, często używa się myszy lub klawisza takiego jak TAB. Powoduje to wystąpienie zdarzeń myszy lub klawiatury oprócz zdarzeń opisanych w tym temacie.

Przy przełączaniu się między dwoma otwartymi formularzami, dla pierwszego formularza występuje zdarzenie Deactivate, a dla drugiego formularza zdarzenie Activate. Jeśli formularze nie zawierają widocznych, włączonych formantów, dla pierwszego formularza występuje zdarzenie LostFocus przed zdarzeniem Deactivate, a dla drugiego formularza występuje zdarzenie GotFocus po zdarzeniu Activate.


GotFocus, LostFocus, zdarzenia - procedury zdarzeń
GotFocus, LostFocus, zdarzenia – procedury zdarzeń

Aby utworzyć procedurę zdarzenia wykonywaną po wystąpieniu zdarzenia GotFocus lub LostFocus, należy ustawić właściwość OnGotFocus (PrzyUzyskaniuFokusu) lub OnLostFocus (PrzyUtracieFokusu) na wartość [Procedura zdarzenia] i kliknąć przycisk Buduj  [image].

Składnia

Private Sub Form_GotFocus( )

Private Sub nazwaformantu_GotFocus( )

Private Sub Form_LostFocus( )

Private Sub nazwaformantu_LostFocus( )

Procedury zdarzeń GotFocus i LostFocus mają następujący argument.

Argument	Opis
nazwaformantu	Nazwa formantu, dla którego ma być uruchomiona procedura zdarzenia GotFocus lub LostFocus.
Uwagi

Procedury zdarzenia LostFocus można używać do sprawdzania poprawności wprowadzanych danych w chwili, gdy użytkownik przenosi fokus z formantu. Można również odwrócić lub zmienić warunki ustawione w procedurze zdarzenia GotFocus danego obiektu.

Innymi zastosowaniami procedur zdarzeń GotFocus i LostFocus są: włączanie, wyłączanie, ukrywanie i wyświetlanie innych obiektów.

Nie można anulować zdarzeń GotFocus i LostFocus.


GotFocus, LostFocus, zdarzenia - przykład procedur zdarzeń
GotFocus, LostFocus, zdarzenia – przykład procedur zdarzeń

W poniższym przykładzie wyświetlany jest komunikat w etykiecie, gdy fokus zostaje przeniesiony na przycisk opcji.

Aby przetestować ten przykład, należy dodać poniższe kody procedur zdarzeń do formularza o nazwie "Contacts" zawierającego przycisk opcji o nazwie "OptionYes" i etykietę o nazwie "LabelYes".

Private Sub OptionYes_GotFocus()

Me!LabelYes.Caption = "Option button 'Yes' has the focus."

End Sub

Private Sub OptionYes_LostFocus()

Me!LabelYes.Caption = ""	' Clear caption.

End Sub


GotFocus, LostFocus, zdarzenia - makra
GotFocus, LostFocus, zdarzenia – makra

Aby uruchomić makro po wystąpieniu zdarzenia GotFocus lub LostFocus, należy ustawić właściwość OnGotFocus (PrzyUzyskaniuFokusu) lub OnLostFocus (PrzyUtracieFokusu) na nazwę tego makra.

Uwagi

Makra zdarzenia LostFocus można używać do sprawdzania poprawności wprowadzanych danych w chwili, gdy użytkownik przenosi fokus z formantu. Można również odwrócić lub zmienić warunki ustawione w makrze zdarzenia GotFocus danego obiektu.

Innymi zastosowaniami makr zdarzeń GotFocus i LostFocus są: włączanie, wyłączanie, ukrywanie i wyświetlanie innych obiektów.

Nie można użyć akcji AnulujZdarzenie(CancelEvent) w makrze zdarzenia GotFocus ani LostFocus.


KeyDown, KeyUp, zdarzenia

•	Zdarzenie KeyDown występuje przy naciśnięciu klawisza przez użytkownika, gdy formularz lub formant ma fokus. Zdarzenie to występuje również przy wysyłaniu klawisza do formularza lub formantu za pomocą akcji WyślijKlawisze (SendKeys) w makrze lub instrukcji SendKeys w języku Visual Basic.

•	Zdarzenie KeyUp występuje przy zwolnieniu klawisza przez użytkownika, gdy formularz lub formant ma fokus. Zdarzenie to występuje również przy wysyłaniu klawisza do formularza lub formantu za pomocą akcji WyślijKlawisze w makrze lub za pomocą instrukcji SendKeys w języku Visual Basic.

Uwaga   Zdarzenia KeyDown i KeyUp występują tylko dla formularzy i formantów na formularzach, a nie dla formantów raportu.

Uwagi

Aby uruchomić makro lub procedurę zdarzenia, gdy wystąpią te zdarzenia, należy ustawić właściwość OnKeyDown (PrzyNaciśnięciuKlawisza) lub OnKeyUp (PrzyZwolnieniuKlawisza) na nazwę makra lub na wartość [Procedura zdarzenia].

W przypadku obu tych zdarzeń, obiekt posiadający fokus odbiera wszystkie operacje naciśnięcia klawisza. Formularz może uzyskać fokus tylko wtedy, gdy nie posiada formantów albo wszystkie jego widoczne formanty są wyłączone.

Jeśli właściwość KeyPreview (PodglądKlawisza) formularza zostanie ustawiona na wartość "Tak", formularz będzie również odbierać wszystkie zdarzenia klawiatury, nawet te, które występują dla formantów. Przy takim ustawieniu tej właściwości wszystkie zdarzenia klawiatury występują najpierw dla formularza, a następnie dla formantu, który ma fokus. Można reagować na naciśnięcia określonych klawiszy w formularzu, bez względu na to, który formant ma fokus. Można na przykład sprawić, że kombinacja klawiszy CTRL+X będzie zawsze wykonywać w formularzu tę samą akcję.

Po naciśnięciu i przytrzymaniu klawisza, zdarzenia KeyDown i KeyPress występują na przemian (KeyDown, KeyPress, KeyDown, KeyPress itd.), aż do zwolnienia klawisza, kiedy występuje zdarzenie KeyUp.

Chociaż zdarzenia KeyDown i KeyUp występują przy naciskaniu większości klawiszy, zwykle używane są do rozpoznawania albo rozróżniania:

•	Klawiszy znaków rozszerzonych, takich jak klawisze funkcyjne.

•	Klawiszy nawigacyjnych, takich jak HOME, END, PAGE UP, PAGE DOWN, STRZAŁKA W GÓRĘ, STRZAŁKA W DÓŁ, STRZAŁKA W PRAWO, STRZAŁKA W LEWO i TAB.

•	Kombinacji klawiszy i standardowych modyfikatorów klawiatury (klawisze SHIFT, CTRL i ALT).

•	Klawiszy liczb w części numerycznej klawiatury i w części standardowej klawiatury.

Zdarzenia KeyDown i KeyUp nie występują, gdy naciskany jest:

•	Klawisz ENTER, jeśli na formularzu występuje przycisk polecenia, którego właściwość Default (Domyślny) jest ustawiona na wartość "Tak".

•	Klawisz ESC, jeśli na formularzu występuje przycisk polecenia, którego właściwość Cancel (Anuluj) jest ustawiona na wartość "Tak".

Wskazówka   Aby dowiedzieć się, jaki znak ANSI odpowiada naciśniętemu klawiszowi, należy użyć zdarzenia KeyPress.

Zdarzenia KeyDown i KeyUp występują przy naciskaniu lub przesyłaniu klawisza ANSI. Zdarzenie KeyUp występuje po dowolnym zdarzeniu formantu spowodowanym naciśnięciem lub wysłaniem klawisza. Jeśli naciśnięcie klawisza powoduje przeniesienie fokusu z jednego formantu na drugi, zdarzenie KeyDown występuje dla pierwszego formantu, natomiast zdarzenia KeyPress i KeyUp występują dla drugiego formantu.

Więcej informacji można znaleźć w temacie Kolejność zdarzeń dla naciśnięć klawiszy i kliknięć myszą.

Jeśli w wyniku naciśnięcia lub wysłania klawisza zostaje wyświetlone modalne okno dialogowe, zdarzenia KeyDown i KeyPress występują, ale nie występuje zdarzenie KeyUp.


KeyDown, KeyUp, zdarzenia - makra
KeyDown, KeyUp, zdarzenia – makra

Aby uruchomić makro po wystąpieniu zdarzenia KeyDown lub KeyUp, należy ustawić właściwość OnKeyDown (PrzyNaciśnięciuKlawisza) lub OnKeyUp (PrzyZwolnieniuKlawisza) na nazwę tego makra.

Uwagi

Można użyć makra zdarzenia KeyDown lub KeyUp, aby określić reakcję na każde naciśnięcie lub zwolnienie klawisza przez użytkownika, gdy formularz lub formant ma fokus. Jednak makra nie mogą zwrócić kodu klawisza ani określić, który klawisz został naciśnięty, toteż zwykle dla tych zdarzeń używane są procedury zdarzeń.

Nie można użyć akcji AnulujZdarzenie (CancelEvent) w makrze zdarzenia KeyDown ani KeyUp.


KeyDown, KeyUp, zdarzenia - procedury zdarzeń
KeyDown, KeyUp, zdarzenia – procedury zdarzeń

Aby utworzyć procedurę zdarzenia wykonywaną po wystąpieniu zdarzenia KeyDown lub KeyUp, należy ustawić właściwość OnKeyDown (PrzyNaciśnięciuKlawisza) lub OnKeyUp (PrzyZwolnieniuKlawisza) na wartość [Procedura zdarzenia] i kliknąć przycisk Buduj  [image].

Składnia

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

Private Sub nazwaformantu_KeyDown(KeyCode As Integer, Shift As Integer)

Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)

Private Sub nazwaformantu_KeyUp(KeyCode As Integer, Shift As Integer)

Procedury zdarzeń KeyDown i KeyUp mają następujące argumenty.

Argument	Opis
nazwaformantu	Nazwa formantu, dla którego ma być uruchomiona procedura zdarzenia KeyUp lub KeyDown.
KeyCode	Kod klawisza, taki jak vbKeyF1 (klawisz F1) i vbKeyHome (klawisz HOME). Do określania kodów klawiszy należy używać stałych wewnętrznych pokazanych w Przeglądarce obiektów. Można uniemożliwić odbieranie naciśnięć klawiszy przez obiekt ustawiając argument KeyCode na wartość 0.
Shift	Stan klawiszy SHIFT, CTRL i ALT w chwili wystąpienia zdarzenia. Aby sprawdzić ustawienie argumentu Shift, można użyć jednej z następujących stałych wewnętrznych jako maski bitowej:
	Stała	Opis
	acShiftMask	Maska bitowa dla klawisza SHIFT.
	acCtrlMask	Maska bitowa dla klawisza CTRL.
	acAltMask	Maska bitowa dla klawisza ALT.
Uwagi

Sprawdzenie warunku wymaga najpierw przypisania każdego wyniku tymczasowej zmiennej całkowitej, a następnie porównania argumentu Shift ze stałą wewnętrzną. Aby sprawdzić, czy warunek jest większy niż 0, co oznacza, że został naciśnięty klawisz SHIFT, CTRL lub ALT, należy z argumentem Shift użyć operatora And, tak jak to zostało pokazane w poniższym przykładzie:

ShiftDown = (Shift And acShiftMask) > 0

W procedurze zdarzenia można określić dowolną kombinację warunków, tak jak to zostało pokazane w poniższym przykładzie:

If ShiftDown And CtrlDown Then

.	' Do this if SHIFT i CTRL keys are pressed.

.

.

End If

Procedur zdarzeń KeyDown i KeyUp można użyć do sprawdzenia, czy została naciśnięta duża czy mała litera, przez sprawdzenie obu argumentów: KeyCode i Shift. Argument KeyCode wskazuje naciśnięty klawisz fizyczny (tak więc znaki A i a traktowane są jak ten sam klawisz), a argument Shift wskazuje stan SHIFT+klawisz (zwracany jest znak A albo a).

Jeśli zachodzi potrzeba reagowania zarówno na naciskanie, jak i zwalnianie klawiszy, należy używać procedur zdarzeń KeyDown i KeyUp dla programu obsługi klawiatury.

Można reagować na naciśnięcia określonych klawiszy w formularzu, bez względu na to, który formant ma fokus. Można na przykład sprawić, że kombinacja klawiszy CTRL+X będzie zawsze wykonywać w formularzu tę samą akcję. Aby zagwarantować, że formularz odbiera wszystkie zdarzenia klawiatury, nawet te, które występują dla formantów, przed ich wystąpieniem dla formantów, należy ustawić właściwość KeyPreview (PodglądKlawisza) formularza na wartość "Tak". Przy takim ustawieniu tej właściwości wszystkie zdarzenia klawiatury będą najpierw występować dla formularza, a następnie dla formantu, który ma fokus. Można reagować na naciśnięcia określonych klawiszy w zdarzeniach KeyDown, KeyPress i KeyUp formularza. Można uniemożliwić odbieranie przez formant naciśnięć klawiszy, na które reagowano, oraz uniemożliwić występowanie zdarzeń klawiatury dla formantu, ustawiając argument KeyCode na wartość 0 dla obydwu zdarzeń KeyDown i KeyUp i ustawiając argument KeyAscii na wartość 0 dla zdarzenia KeyPress (jeśli jest to klawisz ANSI). Aby uniemożliwić odbieranie naciśnięć klawiszy przez formant, należy ustawić na wartość 0 wszystkie trzy argumenty.

Argumentów zdarzeń KeyDown, KeyPress i KeyUp można używać razem z argumentami zdarzeń MouseDown, MouseUp i MouseMove, aby ułatwić korzystanie z aplikacji zarówno użytkownikom używającym klawiatury, jak i użytkownikom używającym myszy.

Nie można anulować zdarzeń KeyDown i KeyUp.


KeyDown, KeyUp, zdarzenia - przykład procedury zdarzenia
KeyDown, KeyUp, zdarzenia – przykład procedury zdarzenia

W poniższym przykładzie zostaje określone, czy został naciśnięty klawisz SHIFT, CTRL lub ALT.

Aby przetestować ten przykład, należy dodać poniższy kod procedury zdarzenia do formularza zawierającego pole tekstowe o nazwie "KeyHandler".

Private Sub KeyHandler_KeyDown(KeyCode As Integer, Shift As Integer)

Dim intShiftDown As Integer, intAltDown As Integer

Dim intCtrlDown As Integer

' Use bit masks to determine which key was pressed.

intShiftDown = (Shift And acShiftMask) > 0

intAltDown = (Shift And acAltMask) > 0

intCtrlDown = (Shift And acCtrlMask) > 0

' Display message telling user which key was pressed.

If intShiftDown Then MsgBox "You pressed the SHIFT key."

If intAltDown Then MsgBox "You pressed the ALT key."

If intCtrlDown Then MsgBox "You pressed the CTRL key."

End Sub


KeyPress, zdarzenie

Zdarzenie KeyPress występuje, gdy użytkownik naciska i zwalnia klawisz lub kombinację klawiszy odpowiadającą kodowi ANSI w czasie, kiedy formularz lub formant ma fokus. Zdarzenie to występuje również wtedy, gdy naciśnięcie klawisza ANSI jest wysyłane do formularza lub formantu za pomocą akcji WyślijKlawisze (SendKeys) w makrze lub za pomocą instrukcji SendKeys w języku Visual Basic.

Uwaga   Zdarzenie KeyPress występuje dla formularzy i formantów na formularzu, a nie dla formantów raportu.

Uwagi

Aby uruchomić makro lub procedurę zdarzenia, gdy wystąpi to zdarzenie, należy ustawić właściwość OnKeyPress (PrzyNaciśniętymKlawiszu) na nazwę makra lub na wartość [Procedura zdarzenia].

Obiekt, który ma fokus, odbiera wszystkie naciśnięcia klawiszy. Formularz może mieć fokus tylko wówczas, gdy nie ma w nim formantów lub gdy wszystkie jego widoczne formanty są wyłączone.

Jeśli właściwość KeyPreview (PodglądKlawisza) formularza zostanie ustawiona na wartość "Tak", formularz będzie również odbierać wszystkie zdarzenia klawiatury, nawet te, które występują dla formantów. Przy takim ustawieniu tej właściwości wszystkie zdarzenia klawiatury będą najpierw występować dla formularza, a następnie dla formantu, który ma fokus. Można reagować na naciśnięcia określonych klawiszy w formularzu, bez względu na to, który formant ma fokus. Można na przykład sprawić, że kombinacja klawiszy CTRL+X będzie zawsze wykonywać w formularzu tę samą akcję.

Po naciśnięciu i przytrzymaniu naciśniętego klawisza ANSI, zdarzenia KeyDown i KeyPress występują na przemian (KeyDown, KeyPress, KeyDown, KeyPress itd.), aż do chwili zwolnienia klawisza, kiedy występuje zdarzenie KeyUp.

Zdarzenie KeyPress może dotyczyć dowolnego drukowalnego znaku klawiatury, kombinacji klawisza CTRL ze znakiem standardowego alfabetu lub znaku specjalnego i klawisza ENTER lub BACKSPACE. Procedur zdarzeń KeyDown i KeyUp można używać do obsługi dowolnych klawiszy nie rozpoznawanych przez zdarzenie KeyPress, takich jak klawisze funkcyjne, klawisze nawigacyjne i wszelkie ich kombinacje z modyfikatorami klawiatury (klawiszami ALT, SHIFT lub CTRL). W przeciwieństwie do zdarzeń KeyDown i KeyUp, zdarzenie KeyPress nie wskazuje fizycznego stanu klawiatury. Zamiast tego wskazuje ono znak ANSI odpowiadający naciśniętemu klawiszowi lub kombinacji klawiszy.

Zdarzenie KeyPress interpretuje wielkie i małe znaki jako różne kody klawiszy, a więc jako dwa różne znaki.

Uwaga   Klawisz BACKSPACE jest elementem zestawu znaków ANSI, ale klawisz DEL nie jest. Usuwając znak w formancie za pomocą klawisza BACKSPACE użytkownik powoduje wystąpienie zdarzenia KeyPress. Naciśnięcie klawisza DEL nie wywołuje tego zdarzenia.

Zdarzenia KeyDown i KeyPress występują, gdy zostanie naciśnięty lub wysłany klawisz ANSI. Zdarzenie KeyUp występuje po dowolnym zdarzeniu dla formantu spowodowanym przez naciśnięcie lub wysłanie klawisza. Jeśli naciśnięcie klawisza powoduje przeniesienie fokusu z jednego formantu na drugi, zdarzenie KeyDown występuje dla pierwszego formantu, natomiast zdarzenia KeyPress i KeyUp występują dla drugiego formantu.

Jeśli na przykład użytkownik przejdzie do nowego rekordu i wpisze znak w pierwszym formancie tego rekordu, wystąpią kolejno poniższe zdarzenia:

Current (dla nowego rekordu)

 ⇓

Enter (dla pierwszego formantu nowego rekordu)

 ⇓

GotFocus (dla formantu)

 ⇓

KeyDown (dla formantu)

 ⇓

KeyPress (dla formantu)

 ⇓

BeforeInsert (dla nowego rekordu w formularzu)

 ⇓

Change (dla formantu, jeśli jest on polem tekstowym lub polem kombi)

 ⇓

KeyUp (dla formantu)

Więcej informacji można znaleźć w temacie Kolejność zdarzeń dla naciśnięć klawiszy i kliknięć myszą.


KeyPress, zdarzenie - makra
KeyPress, zdarzenie – makra

Aby uruchomić makro po wystąpieniu zdarzenia KeyPress należy ustawić właściwość OnKeyPress (PrzyNaciśniętymKlawiszu) na nazwę tego makra.

Uwagi

Makra zdarzenia KeyPress można użyć, aby określić reakcję na każde naciśnięcie przez użytkownika klawisza ANSI, gdy formularz lub formant ma fokus. Jednak makra nie mogą zwrócić kodu klawisza ani określić, który klawisz został naciśnięty, toteż zwykle dla tego zdarzenia używane są procedury zdarzenia.

W makrze zdarzenia KeyPress można użyć akcji AnulujZdarzenie (CancelEvent), aby anulować naciśnięcie klawisza lub kombinacji klawiszy. Można na przykład pod pewnymi warunkami uniemożliwić wprowadzenie do formantu naciśnięć klawiszy ANSI.


KeyPress, zdarzenie - procedury zdarzenia
KeyPress, zdarzenie – procedury zdarzenia

Aby utworzyć procedurę zdarzenia wykonywaną po wystąpieniu zdarzenia KeyPress, należy ustawić właściwość OnKeyPress (PrzyNaciśniętymKlawiszu) na wartość [Procedura zdarzenia] i kliknąć przycisk Buduj  [image].

Składnia

Private Sub Form_KeyPress(KeyAscii As Integer)

Private Sub nazwaformantu_KeyPress(KeyAscii As Integer)

Procedura zdarzenia KeyPress ma następujące argumenty.

Argument	Opis
nazwaformantu	Nazwa formantu, dla którego ma być uruchomiona procedura zdarzenia KeyPress.
KeyAscii	Zwraca numeryczny kod klawisza ANSI. Argument KeyAscii jest przekazywany przez odwołanie. Jego zmiana powoduje wysłanie do obiektu innego znaku. Ustawienie argumentu KeyAscii na wartość 0 powoduje anulowanie naciśnięcia klawisza tak, że obiekt nie rozpoznaje, iż klawisz został naciśnięty.
Uwagi

Procedura zdarzenia KeyPress jest przydatna do przechwytywania naciśnięć klawiszy wprowadzanych w polu tekstowym lub w polu kombi. Pozwala ona sprawdzać poprawność naciśnięć klawiszy lub formatować znaki podczas ich wpisywania. Zmiana wartości argumentu KeyAscii zmienia wyświetlany znak.

Używając poniższego wyrażenia można argument KeyAscii konwertować na znak.

Chr(KeyAscii)

Używając poniższej składni można następnie wykonać operacje na ciągach znaków i z powrotem przetłumaczyć znak na kod ANSI, który może być rozpoznany przez formant.

KeyAscii = Asc(znak)

Uwaga   Kodem ANSI kombinacji klawiszy CTRL+@ jest 0. Ponieważ program Microsoft Access rozpoznaje wartość KeyAscii równą 0 jako ciąg znaków zerowej długości (" "), należy unikać używania w aplikacjach kombinacji klawiszy CTRL+@.

Można reagować na naciśnięcia określonych klawiszy, gdy formularz jest otwarty, bez względu na to, który formant ma fokus. Można na przykład sprawić, że kombinacja klawiszy CTRL+X będzie zawsze wykonywać w formularzu tę samą akcję. Aby zagwarantować, że formularz odbiera wszystkie zdarzenia klawiatury, nawet te, które występują dla formantów, przed ich wystąpieniem dla formantów, należy ustawić właściwość KeyPreview (PodglądKlawisza) formularza na wartość "Tak". Przy takim ustawieniu tej właściwości wszystkie zdarzenia klawiatury będą najpierw występować dla formularza, a następnie dla formantu, który ma fokus. Można reagować na naciśnięcia określonych klawiszy w zdarzeniach KeyDown, KeyPress i KeyUp formularza. Można uniemożliwić odbieranie przez formant naciśnięć klawiszy, na które reagowano oraz uniemożliwić występowanie zdarzeń klawiatury dla formantu, ustawiając argument KeyCode na wartość 0 dla zdarzeń KeyDown i KeyUp i ustawiając argument KeyAscii na wartość 0 dla zdarzenia KeyPress. Aby uniemożliwić odbieranie naciśnięć klawiszy przez formant, należy ustawić na wartość 0 wszystkie trzy argumenty.

Argumentów zdarzeń KeyDown, KeyPress i KeyUp można używać razem z argumentami zdarzeń MouseDown, MouseUp i MouseMove , aby ułatwić korzystanie z aplikacji zarówno użytkownikom używającym klawiatury, jak i użytkownikom używającym myszy.

Nie można anulować zdarzenia KeyPress w procedurze zdarzenia, lecz można je anulować w makrze.


KeyPress, zdarzenie - przykład procedury zdarzenia
KeyPress, zdarzenie – przykład procedury zdarzenia

W poniższym przykładzie wykonywana jest konwersja na wielkie litery tekstu wprowadzanego w polu tekstowym, podczas wpisywania go po jednej literze.

Aby przetestować ten przykład, należy dodać poniższy kod procedury zdarzenia do formularza zawierającego pole tekstowe o nazwie "ShipRegion".

Private Sub ShipRegion_KeyPress(KeyAscii As Integer)

Dim strCharacter As String

' Convert ANSI value to character string.

strCharacter = Chr(KeyAscii)

' Convert character to upper case, then to ANSI value.

KeyAscii = Asc(UCase(strCharacter))

End Sub


Load, Unload, zdarzenia

•	Zdarzenie Load występuje, gdy formularz zostaje otwarty i wyświetlane są jego rekordy.

•	Zdarzenie Unload występuje, gdy formularz jest zamykany, lecz przed jego usunięciem z ekranu. Gdy formularz zostaje ponownie załadowany, program Microsoft Access ponownie wyświetla go i ponownie inicjuje zawartość wszystkich jego formantów.

Uwagi

Aby uruchomić makro lub procedurę zdarzenia, gdy wystąpią te zdarzenia, należy ustawić właściwość OnLoad (PrzyZaładowaniu) lub OnUnload (PrzyZwolnieniu) na nazwę makra lub na wartość [Procedura zdarzenia].

Zdarzenie Load występuje na skutek takich czynności użytkownika, jak:

•	Uruchomienie aplikacji.

•	Otwarcie formularza przez kliknięcie polecenia Otwórz w oknie bazy danych.

•	Uruchomienie akcji OtwórzFormularz (OpenForm) w makrze.

Zdarzenie Unload występuje na skutek takich czynności użytkownika, jak:

•	Kliknięcie przycisku Zamknij w oknie formularza albo kliknięcie polecenia Zamknij w menu Plik lub w menu sterowania formularza.

•	Uruchomienie akcji Zamknij (Close) w makrze.

•	Zakończenie aplikacji przez kliknięcie prawym przyciskiem myszy przycisku paska zadań aplikacji, a następnie kliknięcie polecenia Zamknij.

•	Opuszczenie systemu Windows w czasie działania aplikacji.

Uruchamiając makro albo procedurę zdarzenia, gdy występuje zdarzenie Load formularza można określić domyślne ustawienia dla formantów lub wyświetlić wyliczane dane zależne do danych zawartych w rekordach formularza.

Uruchamiając makro albo procedurę zdarzenia, gdy występuje zdarzenie Unload formularza, można określić, czy formularz ma być zwolniony lub określić akcje, które powinny być wykonane, gdy formularz jest zwalniany. Można również otworzyć inny formularz lub wyświetlić okno dialogowe żądające podania nazwy użytkownika, aby dokonać wpisu do dziennika, określającego, kto używał formularza.

Gdy użytkownik po raz pierwszy otwiera formularz, występują kolejno poniższe zdarzenia:

Open ⇒ Load ⇒ Resize ⇒ Activate ⇒ Current

Decydując o tym, czy użyć zdarzenia Open czy zdarzenia Load w makrze lub procedurze zdarzenia, trzeba pamiętać o ważnej różnicy między nimi – zdarzenie Open może być anulowane, ale zdarzenie Load nie. Na przykład, jeśli użytkownik dynamicznie buduje źródło rekordów dla formularza w procedurze zdarzenia Open tego formularza, może on anulować otwarcie formularza, jeśli nie ma rekordów do wyświetlenia.

Gdy użytkownik zamyka formularz, występują kolejno poniższe zdarzenia:

Unload ⇒ Deactivate ⇒ Close

Zdarzenie Unload występuje przed zdarzeniem Close. Zdarzenie Unload może być anulowane, a zdarzenie Close nie.

Uwaga   Tworząc makra lub procedury zdarzeń związanych ze zdarzeniem Load, takich jak Activate i GotFocus, należy się upewnić, czy nie powodują one konfliktu (na przykład, czy nie powodują wykonania w jednym makrze lub procedurze czegoś, co będzie anulowane w innym) i czy nie wywołują one zdarzenie rekurencyjne.


Load, Unload, zdarzenia - makra
Load, Unload, zdarzenia – makra

Aby uruchomić makro po wystąpieniu zdarzenia Load lub Unload, należy ustawić właściwość OnLoad (PrzyZaładowaniu) lub OnUnload (PrzyZwolnieniu) na nazwę tego makra.

Uwagi

Makra zdarzenia Load można użyć do wykonania akcji dla formantów lub rekordów formularza po jego otwarciu. Można na przykład określić domyślne ustawienia formantów.

Nie można użyć akcji AnulujZdarzenie (CancelEvent) w makrze zdarzenia Load.

Można użyć akcji AnulujZdarzenie (CancelEvent) w makrze zdarzenia Unload, aby anulować zwolnienie rekordów. Powoduje to także anulowanie zamknięcia formularza.

Jeśli makro zdarzenia Unload formularza wykonuje akcję AnulujZdarzenie, zamknięcie formularza jest niemożliwe. Należy skorygować warunek, który spowodował wykonanie akcji AnulujZdarzenie, albo otworzyć makro i usunąć z niego tę akcję. Jeśli formularz jest modalny, niemożliwe jest otwarcie makra ani praca w jakimkolwiek innym oknie aplikacji.


Load, Unload, zdarzenia - procedury zdarzeń
Load, Unload, zdarzenia – procedury zdarzeń

Aby utworzyć procedurę zdarzenia wykonywaną po wystąpieniu zdarzenia Load lub Unload, należy ustawić właściwość OnLoad (PrzyZaładowaniu) lub OnUnload (PrzyZwolnieniu) na wartość [Procedura zdarzenia] i kliknąć przycisk Buduj  [image].

Składnia

Private Sub Form_Load( )

Private Sub Form_Unload(Cancel As Integer)

Procedura zdarzenia Unload ma następujący argument.

Argument	Opis
Cancel	Argument określający, czy formularz ma być zwolniony. Ustawienie argumentu Cancel na wartość True (-1) uniemożliwia zwolnienie formularza.
Uwagi

Kod inicjujący można umieścić w procedurze zdarzenia Load formularza. Można na przykład określić ustawienia domyślne formantów i zainicjować zmienne na poziomie formularza.

Nie można anulować zdarzenia Load.

W procedurze zdarzenia Unload można umieścić dowolny kod sprawdzający poprawność na poziomie formularza, który może być potrzebny do zamknięcia formularza lub zapisania w pliku zawartych w nim danych.

Jeśli w formularzu modalnym argument Cancel zostanie ustawiony na wartość True, przekazanie sterowania do pozostałej części aplikacji może się okazać niemożliwe.


Load, Unload, zdarzenia - przykład procedur zdarzeń
Load, Unload, zdarzenia – przykład procedur zdarzeń

W poniższym przykładzie wyświetlana jest bieżąca data w tytule formularza, po jego załadowaniu.

Aby przetestować ten przykład, należy dodać poniższy kod procedury zdarzenia do formularza:

Private Sub Form_Load()

Me.Caption = Date

End Sub

W następnym przykładzie wyświetlany jest komunikatu monitujący użytkownika o potwierdzenie, że formularz ma zostać zamknięty.

Aby przetestować ten przykład, należy dodać poniższy kod procedury zdarzenia do formularza. W widoku "Formularz" należy zamknąć formularz, aby wyświetlić okno dialogowe, a następnie kliknąć przycisk "Yes" (Tak) lub "No" (Nie).

Private Sub Form_Unload(Cancel As Integer)

If MsgBox("Close form?", vbYesNo) = vbYes Then

Exit Sub

Else

Cancel = True

End If

End Sub


MouseDown, MouseUp, zdarzenia

•	Zdarzenie MouseDown występuje, gdy użytkownik naciska przycisk myszy.

•	Zdarzenie MouseUp występuje, gdy użytkownik zwalnia przycisk myszy.

Uwagi

•	Zdarzenia MouseDown i MouseUp występują tylko dla formularzy, sekcji formularza i formantów na formularzu, a nie dla formantów raportu.

•	Zdarzenia te nie występują dla etykiety dołączonej do innego formantu, takiej jak etykieta pola tekstowego. Występują one tylko dla etykiet "autonomicznych". Naciśnięcie i zwolnienie przycisku myszy w etykiecie dołączonej daje taki sam efekt, jak naciśnięcie i zwolnienie przycisku w związanym z nią formancie. Występuje wtedy zwykłe zdarzenie dla formantu, a nie dla dołączonej etykiety.

Uwagi

Aby uruchomić makro lub procedurę zdarzenia, gdy wystąpi to zdarzenie, należy ustawić właściwość OnMouseUp (PrzyZwolnionejMyszy) lub OnMouseDown (PrzyNaciśniętejMyszy) na nazwę makra lub na wartość [Procedura zdarzenia].

Zdarzenia MouseDown lub MouseUp można użyć do określenia, co ma się wydarzyć po naciśnięciu lub zwolnieniu danego przycisku myszy. W przeciwieństwie do zdarzeń Click i DblClick, zdarzenia MouseDown i MouseUp umożliwiają rozróżnienie między lewym, prawym i środkowym przyciskiem myszy. Można także napisać kod obsługujący kombinacje mysz-klawiatura, w których używane są klawisze SHIFT, CTRL i ALT.

Aby spowodować wystąpienie zdarzenia MouseDown lub MouseUp dla formularza, należy nacisnąć przycisk myszy w pustym obszarze lub na selektorze rekordu formularza. Aby spowodować wystąpienie zdarzenia MouseDown lub MouseUp dla sekcji formularza, należy nacisnąć przycisk myszy w pustym obszarze sekcji formularza.

Poniższe stwierdzenia dotyczą obu zdarzeń, MouseDown i MouseUp:

•	Jeśli przycisk myszy zostanie naciśnięty gdy wskaźnik myszy jest umieszczony na formularzu lub formancie, obiekt ten odbiera wszystkie zdarzenia myszy, łącznie z ostatnim zdarzeniem MouseUp.

•	Jeśli przyciski myszy są naciskane kolejno, obiekt, który odbierze zdarzenie myszy po pierwszym naciśnięciu, odbiera wszystkie zdarzenia myszy, aż do chwili zwolnienia wszystkich przycisków myszy.

Aby określić reakcję na zdarzenie spowodowane przez ruch myszy, należy użyć zdarzenia MouseMove.


MouseDown, MouseUp, zdarzenia - makra
MouseDown, MouseUp, zdarzenia – makra

Aby uruchomić makro po wystąpieniu zdarzenia MouseDown lub MouseUp, należy ustawić właściwość OnMouseDown (PrzyNaciśniętejMyszy) lub OnMouseUp (PrzyZwolnionejMyszy) na nazwę tego makra.

Uwagi

Makra zdarzenia MouseDown lub MouseUp można użyć, aby określić reakcję na każde naciśnięcie lub zwolnienie przycisku myszy przez użytkownika w formularzu lub formancie. Jednak makra nie mogą zwrócić kodu przycisku ani określić, który przycisk myszy został naciśnięty, toteż zwykle dla tych zdarzeń używane są procedury zdarzeń.

Nie można użyć akcji AnulujZdarzenie (CancelEvent) w makrze zdarzenia MouseDown ani MouseUp, z jednym wyjątkiem: akcję AnulujZdarzenie można zastosować w makrze zdarzenia MouseDown do anulowania zdarzenia, które występuje po naciśnięciu prawego przycisku myszy. Można na przykład anulować wyświetlenie menu podręcznego i zamiast niego wyświetlić niestandardowe menu podręczne.


MouseDown, MouseUp, zdarzenia - procedury zdarzeń
MouseDown, MouseUp, zdarzenia – procedury zdarzeń

Aby utworzyć procedurę zdarzenia wykonywaną po wystąpieniu zdarzenia MouseDown lub MouseUp, należy ustawić właściwość OnMouseDown (PrzyNaciśniętejMyszy) lub OnMouseUp (PrzyZwolnionejMyszy) na wartość [Procedura zdarzenia] i kliknąć przycisk Buduj  [image].

Składnia

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

Private Sub nazwaformantu_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)

Private Sub nazwaformantu_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)

Procedury zdarzeń MouseDown i MouseUp mają następujące argumenty.

Argument	Opis
nazwaformantu	Nazwa formantu, dla którego ma być uruchomiona procedura zdarzenia MouseDown lub MouseUp.
Button	Przycisk, którego naciśnięcie (MouseDown) lub zwolnienie (MouseUp) spowodowało wystąpienie zdarzenia. Aby sprawdzić wartość argumentu Button, można użyć jednej z poniższych stałych wewnętrznych jako maski bitowej:
	Stała	Opis
	acLeftButton	Maska bitowa dla lewego przycisku myszy.
	AcRightButton	Maska bitowa dla prawego przycisku myszy.
	AcMiddleButton	Maska bitowa dla środkowego przycisku myszy.
Shift	Stan klawiszy SHIFT, CTRL i ALT w chwili naciśnięcia lub zwolnienia przycisku myszy określonego przez argument Button. Aby sprawdzić wartość argumentu Shift, można użyć jednej z poniższych stałych wewnętrznych jako maski bitowej:
	Stała	Opis
	acShiftMask	Maska bitowa dla klawisza SHIFT.
	AcCtrlMask	Maska bitowa dla klawisza CTRL.
	AcAltMask	Maska bitowa dla klawisza ALT.
X, Y	Współrzędne x i y bieżącego położenia wskaźnika myszy. Wartości argumentów X i Y są zawsze wyrażane w twipach..
Uwaga   Jeśli przycisk myszy zostanie naciśnięty, gdy wskaźnik jest umieszczony na formularzu lub formancie, obiekt ten odbiera wszystkie zdarzenia myszy, łącznie z ostatnim zdarzeniem MouseUp. Oznacza to, że argumenty X i Y mogą nie zawsze być określane względem obiektu, który je odbiera.

Uwagi

Warunek jest sprawdzany przez przypisanie każdego wyniku tymczasowej zmiennej typu Liczba całkowita, a następnie porównanie argumentu Shift lub Button ze stałą wewnętrzną. Należy użyć operatora And z argumentem Button, aby sprawdzić, czy warunek jest większy niż 0, co oznacza, że został naciśnięty lewy, środkowy lub prawy przycisk myszy, tak jak to zostało pokazane w poniższym przykładzie:

LeftDown = (Button And acLeftButton) > 0

W procedurze zdarzenia można określić dowolną kombinację warunków, tak jak to zostało pokazane w poniższym przykładzie:

If ShiftDown And CtrlDown Then

.' Do this if SHIFT i CTRL keys are pressed.

.

.

End If

Uwaga   Argument Button dla zdarzeń MouseDown lub MouseUp różni się od argumentu Button używanego dla zdarzenia MouseMove. Dla zdarzeń MouseDown i MouseUp, argument Button wskazuje dokładnie jeden przycisk na jedno zdarzenie. Oznacza to, że jeśli zostaną naciśnięte dwa przyciski myszy, wystąpią dwa zdarzenia MouseDown (i MouseUp), każde z innym ustawieniem argumentu Button. W zdarzeniu MouseMove argument Button wskazuje bieżący stan wszystkich przycisków.

Argumentów zdarzeń KeyDown, KeyPress i KeyUp można używać razem z argumentami zdarzeń MouseDown, MouseUp i MouseMove, aby ułatwić korzystanie z aplikacji zarówno użytkownikom używającym klawiatury, jak i użytkownikom używającym myszy.

Nie można anulować zdarzeń MouseDown i MouseUp.


Stałe wewnętrzne jako maski bitowe

Aby sprawdzić wartość argumentu Button lub Shift, należy użyć maski bitowej.

Argument Button jest polem bitowym, którego bity odpowiadają lewemu przyciskowi myszy (bit 0), prawemu przyciskowi myszy (bit 1) i środkowemu przyciskowi myszy (bit 2). Bity te odpowiadają wartościom 1, 2 i 4. Może być ustawiony tylko jeden z trzech bitów, wskazując, który przycisk wywołał zdarzenie.

Stałe wewnętrzne, które w  programie Microsoft Access służą jako maski bitowe dla argumentu Button, mają następujące wartości.

Stała	Wartość
acLeftButton	1
acRightButton	2
acMiddleButton	4
Argument Shift jest polem bitowym, w którym najmniej znaczące bity odpowiadają klawiszowi SHIFT (bit 0), klawiszowi CTRL (bit 1) i klawiszowi ALT (bit 2). Bity te odpowiadają wartościom 1, 2 i 4. Argument Shift wskazuje stan tych klawiszy. Mogą być ustawione niektóre, wszystkie lub żaden z bitów, wskazując, że niektóre, wszystkie lub żaden z klawiszy nie został naciśnięty. Na przykład, jeśli zostaną naciśnięte klawisze CTRL i ALT, argument Shift będzie miał wartość 6.

Stałe wewnętrzne, które w programie Microsoft Access służą jako maski bitowe dla argumentu Shift, mają następujące wartości.

Stała	Wartość
acShiftMask	1
acCtrlMask	2
acAltMask	4
Można użyć tych stałych, aby sprawdzić wystąpienie dowolnej kombinacji przycisków i klawiszy, bez potrzeby podawania unikatowej wartości pola bitowego dla każdej kombinacji. Bit jest ustawiany po naciśnięciu przycisku lub klawisza.


MouseDown, MouseUp, zdarzenia - przykład procedury zdarzenia
MouseDown, MouseUp, zdarzenia – przykład procedury zdarzenia

W poniższym przykładzie zostało pokazane, jak rozpoznać, który przycisk myszy spowodował wystąpienie zdarzenia MouseDown.

Aby przetestować ten przykład, należy dodać poniższy kod procedury zdarzenia do formularza:

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, _

X As Single, Y As Single)

If Button = acLeftButton Then

MsgBox "You pressed the left button."

End If

If Button = acRightButton Then

MsgBox "You pressed the right button."

End If

If Button = acMiddleButton Then

MsgBox "You pressed the middle button."

End If

End Sub


MouseMove, zdarzenie

The MouseMove występuje, gdy użytkownik porusza myszą.

Uwagi

•	Zdarzenie MouseMove występuje tylko dla formularzy, sekcji formularza i formantów na formularzu, a nie dla formantów raportu.

•	Zdarzenie to nie występuje dla etykiety dołączonej do innego formantu, takiej jak etykieta pola tekstowego. Występuje ono tylko dla etykiet "autonomicznych". Przesuwanie wskaźnika myszy po etykiecie dołączonej daje taki sam efekt, jak przesuwanie wskaźnika myszy po związanym z nią formancie. Występuje wtedy zwykłe zdarzenie dla formantu, a nie dla dołączonej etykiety.

Uwagi

Aby uruchomić makro lub procedurę zdarzenia, gdy wystąpi to zdarzenie, należy ustawić właściwość OnMouseMove (PrzyRuchuMyszy) na nazwę makra lub na wartość [Procedura zdarzenia].

Podczas przesuwania wskaźnika myszy po obiektach zdarzenie MouseMove jest generowane w sposób ciągły. Dopóki inny obiekt nie wygeneruje zdarzenia myszy, dany obiekt rozpoznaje zdarzenie MouseMove, jeśli wskaźnik myszy znajduje się w jego granicach.

Aby spowodować wystąpienie zdarzenia MouseMove dla formularza, należy przesunąć wskaźnik myszy po pustym obszarze, selektorze rekordu lub pasku przewijania formularza. Aby spowodować wystąpienie zdarzenia MouseMove dla sekcji formularza, należy przesunąć wskaźnik myszy po pustym obszarze sekcji.

Uwagi

•	Przeniesienie formularza może spowodować wystąpienie zdarzenia MouseMove, nawet jeśli wskaźnik myszy pozostaje nieruchomy. Zdarzenia MouseMove są generowane, gdy formularz jest przesuwany pod wskaźnikiem. Jeśli makro lub procedura zdarzenia przesuwa formularz w reakcji na zdarzenie MouseMove, może wystąpić zdarzenie rekurencyjne (czyli ciągłe generowanie zdarzenia).

•	Jeśli dwa formanty są umieszczone bardzo blisko siebie, a wskaźnik myszy zostanie szybko przesunięty po obszarze między nimi, zdarzenie MouseMove dla obszaru pustego może nie wystąpić (mogło by to być zdarzenie MouseMove na przykład dla sekcji formularza). W takich przypadkach może zajść potrzeba zareagowania na zdarzenie MouseMove zarówno w sąsiednim formancie, jak i w sekcji formularza.

Aby uruchomić makro lub procedurę zdarzenia w reakcji na naciśnięcie i zwolnienie przycisku myszy, należy użyć zdarzeń MouseDown i MouseUp.


MouseMove, zdarzenie - makra
MouseMove, zdarzenie – makra

Aby uruchomić makro po wystąpieniu zdarzenia MouseMove, należy ustawić właściwość OnMouseMove (PrzyRuchuMyszy) na nazwę tego makra.

Uwagi

Makra zdarzenia MouseMove można użyć, aby określić reakcję na każde przesunięcie myszy po formularzu lub formancie. Jednak makra nie mogą zwrócić kodu przycisku, określić stanu przycisków myszy ani współrzędnych wskaźnika myszy w czasie poruszania nią, toteż zwykle dla tego zdarzenia używane są procedury zdarzenia.

Nie można użyć akcji AnulujZdarzenie (CancelEvent) w makrze zdarzenia MouseMove.


MouseMove, zdarzenie - procedury zdarzenia
MouseMove, zdarzenie – procedury zdarzenia

Aby utworzyć procedurę zdarzenia wykonywaną po wystąpieniu zdarzenia MouseMove, należy ustawić właściwość OnMouseMove (PrzyRuchuMyszy) na wartość [Procedura zdarzenia] i kliknąć przycisk Buduj  [image].

Składnia

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

Private Sub nazwaformantu_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

Procedura zdarzenia MouseMove ma następujące argumenty.

Argument	Opis
nazwaformantu	Nazwa formantu, dla którego ma być uruchomiona procedura zdarzenia MouseMove.
Button	Stan przycisków myszy w chwili wystąpienia zdarzenia. Aby sprawdzić wartość argumentu Button, można użyć jednej z poniższych stałych wewnętrznych jako maski bitowej:
	Stała	Opis
	acLeftButton	Maska bitowa dla lewego przycisku myszy.
	acRightButton	Maska bitowa dla prawego przycisku myszy.
	acMiddleButton	Maska bitowa dla środkowego przycisku myszy.
Shift	Stan klawiszy SHIFT, CTRL i ALT w chwili naciśnięcia lub zwolnienia przycisku myszy określonego przez argument Button. Aby sprawdzić wartość argumentu Shift, można użyć jednej z poniższych stałych wewnętrznych jako maski bitowej:
	Stała	Opis
	acShiftMask	Maska bitowa dla klawisza SHIFT.
	acCtrlMask	Maska bitowa dla klawisza CTRL.
	acAltMask	Maska bitowa dla klawisza ALT.
X, Y	Współrzędne x i y bieżącego położenia wskaźnika myszy. Wartości argumentów X i Y są zawsze wyrażane w twipach..
Uwagi

Warunek jest sprawdzany przez przypisanie każdego wyniku tymczasowej zmiennej typu Liczba całkowita, a następnie porównanie argumentu Shift lub Button ze stałą wewnętrzną. Należy użyć operatora And z argumentem Button, aby sprawdzić, czy warunek jest większy niż 0, co oznacza, że został naciśnięty lewy, środkowy lub prawy przycisk myszy, tak jak to zostało pokazane w poniższym przykładzie:

LeftDown = (Button And acLeftButton) > 0

W procedurze zdarzenia można określić dowolną kombinację warunków, tak jak to zostało pokazane w poniższym przykładzie:

If ShiftDown And CtrlDown Then

.' Do this if SHIFT i CTRL keys are pressed.

.

.

End If

Uwaga Argument Button dla zdarzeń MouseDown i MouseUp różni się od argumentu Button używanego dla zdarzenia MouseMove. Dla zdarzenia MouseMove argument Button wskazuje bieżący stan wszystkich przycisków. Pojedyncze zdarzenie MouseMove może wskazywać, że zostały naciśnięte niektóre, wszystkie lub żaden przycisk. Na przykład, jeśli podczas ruchu myszy zostaną naciśnięte obydwa, prawy i lewy przycisk, argument Button zostanie ustawiony na wartość 3 (1 + 2). Dla zdarzeń MouseDown i MouseUp, argument Button wskazuje dokładnie jeden przycisk na jedno zdarzenie.

Argumentów zdarzeń KeyDown, KeyPress i KeyUp można używać razem z argumentami zdarzeń MouseDown, MouseUp i MouseMove, aby ułatwić korzystanie z aplikacji zarówno użytkownikom używającym klawiatury, jak i użytkownikom używającym myszy. Może na przykład zajść potrzeba koordynacji fokusu klawiatury z fokusem myszy. Zwykle są one takie same. Jeśli na przykład użytkownik przesunie wskaźnik myszy do pola tekstowego i kliknie przyciskiem myszy, fokus klawiatury i fokus myszy są przenoszone do tego pola tekstowego. Jednak przesunięcie wskaźnika myszy po formancie nie przenosi fokusu klawiatury na ten formant. Należy kliknąć przyciskiem myszy, użyć jednego z klawiszy nawigacyjnych lub ustawić fokus na formancie za pomocą procedury zdarzenia MouseMove.

Ponieważ zdarzenie MouseMove występuje dla każdego obszaru formularza, po którym odbywa się ruch, może wystąpić nadmiar zdarzeń MouseMove, jeśli się ich nie kontroluje. Można sprawić, że jeśli formant lub sekcja odebrała zdarzenie MouseMove, zdarzenie to nie wystąpi ponownie dla tej sekcji lub formantu, dopóki wskaźnik znajduje się na tym obszarze formularza. W tym celu należy ustawić i sprawdzić zmienną modułu wskazującą, czy zdarzenie MouseMove wystąpiło już dla danego formantu lub sekcji formularza.

Nie można anulować zdarzenia MouseMove.


MouseMove, zdarzenie - przykład procedury zdarzenia
MouseMove, zdarzenie – przykład procedury zdarzenia

W poniższym przykładzie zostaje określone, gdzie znajduje się wskaźnik myszy i czy został naciśnięty lewy przycisk myszy i/lub klawisz SHIFT. Podczas poruszania myszą, na etykiecie wyświetlane są współrzędne X i Y położenia jej wskaźnika.

Aby przetestować ten przykład, należy dodać poniższy kod procedury zdarzenia do formularza zawierającego etykietę o nazwie "Coordinates":

Private Sub Detail_MouseMove(Button As Integer, Shift As Integer, _

X As Single, Y As Single)

Dim intShiftDown As Integer, intLeftButton As Integer

Me!Coordinates.Caption = X & ", " & Y

' Use bit masks to determine state of SHIFT key i left button.

intShiftDown = Shift And acShiftMask

intLeftButton = Button And acLeftButton

' Check that SHIFT key i left button are both pressed.

If intShiftDown And intLeftButton > 0 Then

MsgBox "Shift key i left mouse button were pressed."

End If

End Sub


Resize, zdarzenie

Zdarzenie Resize występuje, gdy formularz jest otwierany lub gdy ulega zmianie rozmiar formularza.

Uwagi

Aby uruchomić makro lub procedurę zdarzenia, gdy wystąpi to zdarzenie, należy ustawić właściwość OnResize (PrzyZmianieRozmiaru) na nazwę makra lub na wartość [Procedura zdarzenia].

Zdarzenie to występuje, jeśli użytkownik zmieni rozmiar formularza za pomocą makra lub procedury zdarzenia – na przykład, jeśli użyje w makrze akcji RuchRozmiar (MoveSize).

Uruchamiając makro lub procedurę zdarzenia, gdy występuje zdarzenie Resize można przenieść formant lub zmienić jego rozmiar, gdy ulega zmianie rozmiar formularza, na którym ten formant się znajduje. Można również użyć zdarzenia Resize, aby ponownie wyliczyć wartości zmiennych lub zresetować właściwości, które mogą zależeć od rozmiaru formularza.

Gdy użytkownik po raz pierwszy otwiera formularz, występują kolejno poniższe zdarzenia:

Open ⇒ Load ⇒ Resize ⇒ Activate ⇒ Current

Uwaga   Trzeba zachować ostrożność używając akcji MoveSize, Maximize, Minimize lub Restore (albo odpowiednich metod obiektu DoCmd) w makrze lub procedurze zdarzenia Resize. Akcje te mogą wywołać zdarzenie Resize dla formularza i w ten sposób spowodować wystąpienie zdarzenia rekurencyjnego.


Resize, zdarzenie - makra
Resize, zdarzenie – makra

Aby uruchomić makro po wystąpieniu zdarzenia Resize, należy ustawić właściwość OnResize (PrzyZmianieRozmiaru) na nazwę tego makra.

Uwagi

Aby odświeżać ekran za każdym razem, gdy rozmiar formularza ulega zmianie, należy użyć akcji OdświeżObiekt (RepaintObject) w makrze określonym dla zdarzenia Resize.

Nie można użyć akcji AnulujZdarzenie (CancelEvent) w makrze zdarzenia Resize.


Resize, zdarzenie - procedury zdarzenia
Resize, zdarzenie – procedury zdarzenia

Aby utworzyć procedurę zdarzenia wykonywaną po wystąpieniu zdarzenia Resize, należy ustawić właściwość OnResize (PrzyZmianieRozmiaru) na wartość [Procedura zdarzenia] i kliknąć przycisk Buduj  [image].

Składnia

Private Sub Form_Resize( )

Uwagi

Aby odświeżać ekran za każdym razem, gdy ulega zmianie rozmiar formularza, należy użyć metody Repaint w procedurze zdarzenia Resize.

Nie można anulować zdarzenia Resize.


Resize, zdarzenie - przykład procedury zdarzenia
Resize, zdarzenie – przykład procedury zdarzenia

W poniższym przykładzie zostało pokazane, jak można użyć procedury zdarzenia Resize do odświeżenia formularza, gdy jest on powiększany do pełnego ekranu. Gdy użytkownik kliknie przycisk polecenia o nazwie "Maximize", formularz jest maksymalizowany i występuje zdarzenie Resize.

Aby przetestować ten przykład, należy dodać poniższy kod procedury zdarzenia do formularza o nazwie "Contacts" zawierającego przycisk polecenia o nazwie "Maximize":

Private Sub Maximize_Click()

DoCmd.Maximize

End Sub

Private Sub Form_Resize()

Forms!Contacts.Repaint

End Sub


Retreat, zdarzenie

Zdarzenie Retreat występuje, gdy podczas formatowania raportu program Microsoft Access wraca do poprzedniej sekcji raportu.

Uwaga   Zdarzenie Retreat występuje dla wszystkich sekcji raportu, z wyjątkiem nagłówków strony i stopek strony.

Uwagi

Aby uruchomić makro lub procedurę zdarzenia, gdy wystąpi to zdarzenie, należy ustawić właściwość OnRetreat (PrzyPowrocie) na nazwę makra lub na wartość [Procedura zdarzenia].

W pewnych okolicznościach program Microsoft Access musi wrócić do poprzedniej sekcji raportu, aby określić położenie pewnych formantów i sekcji w raporcie i sprawdzić, czy zmieszczą się one w danym miejscu. Do tych formantów i sekcji należą:

•	Grupy (z wyjątkiem nagłówków i stopek stron), dla których właściwość KeepTogether (TrzymajRazem) jest ustawiona na wartość "Cała grupa" lub "Z sekcją szczegółów".

•	Podraporty lub podformularze, dla których właściwości CanGrow (MożnaPowiększać) i/lub CanShrink (MożnaPomniejszać) ustawione są na wartość "Tak".

•	Sekcje na ostatniej stronie raportu.

W takich sytuacjach, zdarzenie Format występuje, gdy program Microsoft Access określa, jak rozmieścić sekcje na drukowanej stronie (zdarzenie Print nie występuje jednak, ponieważ sekcje te nie są jeszcze drukowane). Jeśli sekcje te nie mogą zostać wydrukowane, program Microsoft Access powraca do odpowiedniego miejsca, aby sekcje mogły być wydrukowane na następnej stronie. Zdarzenie Retreat występuje w każdej sekcji, przez którą przechodzi program Microsoft Access w trakcie powrotu. Następnie ponownie występuje zdarzenie Format dla każdej sekcji, kiedy program Microsoft Access przygotowuje te sekcje do wydruku.

Na przykład, ilekroć program Microsoft Access osiąga koniec ostatniej strony podczas formatowania raportu, zdarzenie Retreat występuje dla każdej poprzedniej sekcji, aż do osiągnięcia pierwszej sekcji na górze ostatniej strony. Wówczas zdarzenie Format występuje ponownie dla każdej sekcji na stronie, a po nim występują zdarzenia Print.

Można uruchomić procedurę zdarzenia lub makro, gdy wystąpi zdarzenie Retreat, aby cofnąć zmiany dokonane po wystąpieniu zdarzenia Format dla sekcji. Jest to użyteczne, gdy procedura zdarzenia Format albo makro przeprowadza akcje, takie jak wyliczanie podsumowań strony albo określanie rozmiaru sekcji, które mają być wykonane tylko jeden raz dla każdej sekcji.

Zdarzenie Retreat jest także użyteczne przy utrzymywaniu ustalonych pozycji elementów w raporcie. Na przykład, w raporcie "Sprzedaż wg lat"(Sales By Year) przykładowej bazy danych "Northwind" zdarzenie to zostało użyte do określenia, czy nagłówek strony jest drukowany, czy nie. Nagłówek strony jest drukowany na stronach następujących po stronie, na której był wydrukowany nagłówek grupy. Nagłówek strony nie jest drukowany na stronie następującej po stronie, na której została wydrukowana stopka grupy.


Retreat, zdarzenie - makra
Retreat, zdarzenie – makra

Aby uruchomić makro po wystąpieniu zdarzenia Retreat, należy ustawić właściwość OnRetreat (PrzyPowrocie) na nazwę tego makra.

Uwagi

Nie można użyć akcji AnulujZdarzenie (CancelEvent) w makrze zdarzenia Retreat.


Retreat, zdarzenie - procedury zdarzenia
Retreat, zdarzenie – procedury zdarzenia

Aby utworzyć procedurę zdarzenia wykonywaną po wystąpieniu zdarzenia Retreat, należy ustawić właściwość OnRetreat (PrzyPowrocie) na wartość [Procedura zdarzenia] i kliknąć przycisk Buduj  [image].

Składnia

Private Sub nazwasekcji_Retreat( )

Procedura zdarzenia Retreat ma następujący argument.

Argument	Opis
nazwasekcji	Nazwa sekcji raportu, dla której ma być uruchomiona procedura zdarzenia Retreat.
Uwagi

Nie można anulować zdarzenia Retreat.


Timer, zdarzenie

Zdarzenie Timer występuje dla formularza w regularnych odstępach czasu określonych przez właściwość TimerInterval (OkresCzasomierza) formularza.

Uwagi

Aby uruchomić makro lub procedurę zdarzenia, gdy wystąpi to zdarzenie, należy ustawić właściwość OnTimer (PrzyCykluCzasomierza) na nazwę makra lub na wartość [Procedura zdarzenia].

Uruchamiając makro lub procedurę zdarzenia, gdy występuje zdarzenie Timer użytkownik steruje tym, co program Microsoft Access ma robić w określonych odstępach czasu. Można na przykład regularnie ponawiać kwerendę dla rekordów podstawowych lub odświeżać ekran.

Ustawienie właściwości TimerInterval (OkresCzasomierza) formularza określa w milisekundach przedział czasu między zdarzeniami Timer. Czas ten może wynosić od 0 do 65 535 milisekund. Ustawienie właściwości TimerInterval (OkresCzasomierza) na wartość 0 blokuje występowanie zdarzeń Timer.


Timer, zdarzenie - procedury zdarzenia
Timer, zdarzenie – procedury zdarzenia

Aby utworzyć procedurę zdarzenia wykonywaną po wystąpieniu zdarzenia Timer, należy ustawić właściwość OnTimer (PrzyCykluCzasomierza) na wartość [Procedura zdarzenia] i kliknąć przycisk Buduj  [image].

Składnia

Private Sub Form_Timer( )

Uwagi

Nie można anulować zdarzenia Timer.


Timer, zdarzenie - przykład procedury zdarzenia
Timer, zdarzenie – przykład procedury zdarzenia

W poniższym przykładzie został zademonstrowany zegar cyfrowy, który można wyświetlać na formularzu. Na etykiecie jest wyświetlana aktualna godzina zgodnie z systemowym zegarem komputera.

Aby przetestować ten przykład, należy dodać poniższy kod procedury zdarzenia do formularza zawierającego etykietę o nazwie "Clock". Właściwość TimerInterval (OkresCzasomierza) formularza należy ustawić na 1000, aby zegar był aktualizowany co sekundę.

Private Sub Form_Timer()

Clock.Caption = Time	' Update time display.

End Sub


Timer, zdarzenie - makra
Timer, zdarzenie – makra

Aby uruchomić makro po wystąpieniu zdarzenia Timer, należy ustawić właściwość OnTimer (PrzyCykluCzasomierza) na nazwę tego makra.

Uwagi

Nie można użyć akcji AnulujZdarzenie (CancelEvent) w makrze zdarzenia Timer. Jednak ustawienie właściwości TimerInterval (OkresCzasomierza) formularza na 0 blokuje występowanie zdarzeń Timer.


Delete, BeforeDelConfirm, AfterDelConfirm, zdarzenia

•	Zdarzenie Delete występuje, gdy użytkownik wykonuje pewne działanie, takie jak naciśnięcie klawisza DEL, aby usunąć rekord, ale przed faktycznym usunięciem rekordu.

•	Zdarzenie BeforeDelConfirm występuje, gdy użytkownik usunie do bufora jeden lub kilka rekordów, ale zanim program Microsoft Access wyświetli okno dialogowe z prośbą o potwierdzenie usunięć.

•	Zdarzenie AfterDelConfirm występuje, gdy użytkownik potwierdzi usunięcia i rekordy są faktycznie usuwane albo gdy usunięcia zostaną anulowane.

Uwagi

Aby uruchomić makro lub procedurę zdarzenia, gdy wystąpią te zdarzenia, należy ustawić właściwość OnDelete (PrzyUsunięciu), BeforeDelConfirm (PrzedUsunięciem) lub AfterDelConfirm (PoUsunięciu) na nazwę makra lub na wartość [Procedura zdarzenia].

Po usunięciu rekordu jest on przechowywany w tymczasowym buforze. Zdarzenie BeforeDelConfirm występuje po zdarzeniu Delete (lub, jeśli usuwanych jest kilka rekordów, po usunięciu wszystkich rekordów, gdy zdarzenie Delete wystąpi dla każdego z nich), ale przed wyświetleniem okna dialogowego Potwierdź usunięcie. Anulowanie zdarzenia BeforeDelConfirm przywraca rekord lub rekordy z bufora i powoduje, że okno dialogowe Potwierdź usunięcie nie jest wyświetlane.

Zdarzenie AfterDelConfirm występuje po faktycznym usunięciu rekordu lub rekordów albo po anulowaniu usunięcia lub usunięć. Jeśli zdarzenie BeforeDelConfirm nie zostanie anulowane, zdarzenie AfterDelConfirm występuje po wyświetleniu okna dialogowego Potwierdź usunięcie. Zdarzenie AfterDelConfirm występuje nawet wtedy, gdy zdarzenie BeforeDelConfirm zostało anulowane. Procedura zdarzenia AfterDelConfirm zwraca informacje o stanie usuwania. Można na przykład użyć makra lub procedury zdarzenia związanych ze zdarzeniem AfterDelConfirm, aby ponownie wyliczyć podsumowania, na które wpłynęło usuwanie rekordów.

Jeśli zdarzenie Delete zostanie anulowane, zdarzenia BeforeDelConfirm i AfterDelConfirm nie występują i nie jest wyświetlane okno dialogowe Potwierdź usunięcie.

Uwaga   Zdarzenia BeforeDelConfirm i AfterDelConfirm nie występują i okno dialogowe Potwierdź usunięcie nie jest wyświetlane, jeśli zostanie wyczyszczone pole wyboru Zmiany rekordu w polu Potwierdzaj na karcie Edytuj/Znajdź okna dialogowego Opcje, dostępnego przez kliknięcie polecenia Opcje w menu Narzędzia.

Uruchamiając makro albo wykonując procedurę zdarzenia, gdy wystąpi zdarzenie Delete, można zabezpieczyć rekord przed usunięciem albo zezwolić na usunięcie rekordu tylko w pewnych warunkach. Można również użyć zdarzenia Delete do wyświetlenia, przed usunięciem rekordu, okna dialogowego z pytaniem czy użytkownik chce ten rekord rzeczywiście usunąć.

Aby usunąć rekord, można kliknąć polecenie Usuń rekord w menu Edycja. Powoduje to usunięcie bieżącego rekordu (rekordu oznaczonego przez selektor rekordu). Można również kliknąć selektor rekordu lub polecenie Zaznacz rekord w menu Edycja, aby zaznaczyć rekord, a następnie nacisnąć klawisz DEL, aby ten rekord usunąć. Jeśli użytkownik kliknie polecenie Usuń rekord, selektor rekordu dla rekordu bieżącego lub polecenie Zaznacz rekord, występują zdarzenia Exit i LostFocus dla formantu, który ma fokus. Jeśli użytkownik zmieni jakieś dane w rekordzie, przed zdarzeniami Exit i LostFocus występują dla tego rekordu zdarzenia BeforeUpdate i AfterUpdate. Jeśli użytkownik kliknie selektor rekordu dla innego rekordu występuje dla tego rekordu również zdarzenie Current.

Po usunięciu rekordu fokus przechodzi do następnego w kolejności rekordu i zachodzi dla niego zdarzenie Current, po którym następują zdarzenia Enter i GotFocus dla pierwszego formantu w tym rekordzie.

Następnie zachodzi zdarzenie BeforeDelConfirm, tuż przed wyświetleniem przez program Microsoft Access okna dialogowego Potwierdź usunięcie monitującego użytkownika o potwierdzenie usunięcia. Po udzieleniu odpowiedzi przez potwierdzenie lub anulowanie usunięcia, występuje zdarzenie AfterDelConfirm.

Można usunąć na raz jeden lub kilka rekordów. Zdarzenie Delete zachodzi po usunięciu każdego z rekordów. Umożliwia to dostęp do danych każdego rekordu przed jego faktycznym usunięciem i wybiórcze potwierdzanie lub anulowanie usunięć w makrze lub w procedurze zdarzenia Delete. Gdy usuwanych jest kilka rekordów, zachodzi zdarzenie Current dla rekordu następującego po ostatnim usuniętym rekordzie, a zdarzenia Enter i GotFocus dla pierwszego formantu w tym rekordzie nie zachodzą, dopóki wszystkie rekordy nie zostaną usunięte. Innymi słowy, zdarzenie Delete zachodzi dla każdego z zaznaczonych rekordów, ale żadne inne zdarzenia nie zachodzą, dopóki wszystkie zaznaczone rekordy nie zostaną usunięte. Zdarzenia BeforeDelConfirm i AfterDelConfirm również nie zachodzą, dopóki wszystkie zaznaczone rekordy nie zostaną usunięte.


Delete, BeforeDelConfirm, AfterDelConfirm, zdarzenia - makra
Delete, BeforeDelConfirm, AfterDelConfirm, zdarzenia – makra

Aby uruchomić makro po wystąpieniu zdarzenia Delete, BeforeDelConfirm lub AfterDelConfirm należy ustawić właściwość OnDelete (PrzyUsunięciu), BeforeDelConfirm (PrzedUsunięciem) lub AfterDelConfirm (PoUsunięciu) na nazwę tego makra.

Uwagi

Można użyć makra zdarzenia Delete, aby przed usunięciem rekordu wyświetlić okno dialogowe Potwierdź usunięcie z pytaniem, czy użytkownik chce usunąć ten rekord.

Można użyć makra zdarzenia BeforeDelConfirm lub AfterDelConfirm reagującego na próbę usunięcia rekordu przez użytkownika. W makrach zdarzeń BeforeDelConfirm i AfterDelConfirm nie można jednak użyć argumentu określającego, czy ma być wyświetlane okno dialogowe Potwierdź usunięcie. Makra te nie mogą również zwrócić argumentu określającego stan usuwania. Dlatego zazwyczaj z tymi zdarzeniami używane są procedury zdarzeń.

Można użyć akcji AnulujZdarzenie (CancelEvent) w makrze zdarzenia Delete, aby anulować usunięcie.

Można użyć akcji AnulujZdarzenie w makrze zdarzenia BeforeDelConfirm, aby anulować usunięcie wszystkich usuniętych rekordów. W takim przypadku nie jest wyświetlane okno dialogowe Potwierdź usunięcie. Jednak zdarzenie AfterDelConfirm wystąpi nawet, jeśli zostanie anulowane zdarzenie BeforeDelConfirm.

Nie można użyć akcji AnulujZdarzenie w makrze zdarzenia AfterDelConfirm.


Delete, BeforeDelConfirm, AfterDelConfirm, zdarzenia - procedury zdarzeń
Delete, BeforeDelConfirm, AfterDelConfirm, zdarzenia – procedury zdarzeń

Aby utworzyć procedurę zdarzenia wykonywaną po wystąpieniu zdarzenia Delete, BeforeDelConfirm lub AfterDelConfirm należy ustawić właściwość OnDelete (PrzyUsunięciu), BeforeDelConfirm (PrzedUsunięciem) lub AfterDelConfirm (PoUsunięciu) na wartość [Procedura zdarzenia] i kliknąć przycisk Buduj  [image].

Składnia

Private Sub Form_Delete(Cancel As Integer)

Private Sub Form_BeforeDelConfirm(Cancel As Integer, Response As Integer)

Private Sub Form_AfterDelConfirm(Status As Integer)

Procedura zdarzenia Delete ma następujący argument.

Argument	Opis
Cancel	Ustawienie to określa, czy występuje zdarzenie Delete. Ustawienie argumentu Cancel na wartość True (–1) anuluje zdarzenie Delete.
Procedura zdarzenia BeforeDelConfirm ma następujące argumenty.

Argument	Opis
Cancel	Ustawienie to określa, czy występuje zdarzenie BeforeDelConfirm. Ustawienie argumentu Cancel na wartość True anuluje zdarzenie BeforeDelConfirm i powoduje, że okno dialogowe Potwierdź usunięcie nie jest wyświetlane. Jeśli zdarzenie zostanie anulowane, oryginalne rekordy są odtwarzane, ale zdarzenie AfterDelConfirm wciąż zachodzi. Jeśli wartością argumentu Cancel jest True, argument Response jest ignorowany.
	Jeśli wartością argumentu Cancel jest False (0), co jest ustawieniem domyślnym, wartość argumentu Response jest używana przez program Microsoft Access do określenia typu reakcji na zdarzenie usunięcia.
Response	Ustawienie to określa, czy program Microsoft Access wyświetla okno dialogowe Potwierdź usunięcie z pytaniem, czy rekord ma być usunięty. Wartością argumentu Response może być jedna z poniższych stałych wewnętrznych:
	Stała	Opis
	acDataErrContinue	Kontynuuje bez wyświetlania okna dialogowego Potwierdź usunięcie. Ustawienie argumentu Cancel na wartość False i argumentu Response na wartość acDataErrContinue umożliwia programowi Microsoft Access usuwanie rekordów bez monitowania użytkownika.
	acDataErrDisplay	(Ustawienie domyślne) Wyświetla okno dialogowe Potwierdź usunięcie.
Procedura zdarzenia AfterDelConfirm ma następujący argument.

Argument	Opis
Status	Ustawienie to określa, czy rekord został usunięty. Wartością argumentu Status może być jedna z poniższych stałych wewnętrznych:
	Stała	Opis
	acDeleteOK	Oznacza, że usunięcie powiodło się.
	acDeleteCancel	Oznacza, że usunięcie zostało anulowane w kodzie języka Visual Basic.
	acDeleteUserCancel	Oznacza, że usunięcie zostało anulowane przez użytkownika.
Uwagi

Zdarzenie AfterDelConfirm nie może być anulowane.

Można użyć tych zdarzeń, aby dostosować sposób usuwania rekordów. Na przykład, gdy użytkownik usuwa rekord, taki jak rekord tabeli "Employees" (Pracownicy), pojawia się zdarzenie Delete. Można umieścić w procedurze zdarzenia Delete kod zapisujący dane z pól "Employee ID" i "Name" w zestawie zmiennych tymczasowych. Gdy wystąpi zdarzenie BeforeDelConfirm, można uniemożliwić wyświetlenie okna dialogowego Potwierdź usunięcie przez ustawienie argumentu Response na wartość acDataErrContinue. Umożliwia to wyświetlenie niestandardowego okna dialogowego. Gdy wystąpi zdarzenie AfterDelConfirm, a argument Status będzie ustawiony na wartość acDeleteOK, można usunąć zmienne tymczasowe lub zapisać informacje z usuwanego pola w innej tabeli.


Delete, BeforeDelConfirm, AfterDelConfirm, zdarzenia - przykład procedur zdarzeń
Delete, BeforeDelConfirm, AfterDelConfirm, zdarzenia – przykład procedur zdarzeń

W poniższym przykładzie zostało pokazane, jak można uniemożliwić użytkownikowi usuwanie rekordów z tabeli.

Aby przetestować ten przykład, należy dodać poniższą procedurę zdarzenia do formularza opartego na tabeli. Należy przełączyć się na widok "Arkusz danych" formularza i spróbować usunąć rekord.

Private Sub Form_Delete(Cancel As Integer)

Cancel = True

MsgBox "This record can't be deleted."

End Sub

W poniższym przykładzie zostało pokazane, jak można użyć procedury zdarzenia BeforeDelConfirm, aby uniemożliwić wyświetlenie okna dialogowego Potwierdź usunięcie i wyświetlić niestandardowe okno dialogowe, gdy usuwany jest rekord. Zostało w nim również pokazane, jak można użyć procedury zdarzenia AfterDelConfirm do wyświetlenia komunikatu wskazującego, czy usuwanie postępowało w zwykły sposób, czy też zostało anulowane w kodzie języka Visual Basic albo przez użytkownika.

Aby przetestować ten przykład, należy dodać poniższą procedurę zdarzenia do formularza opartego na tabeli lub kwerendzie:

Private Sub Form_BeforeDelConfirm(Cancel As Integer, _

Response As Integer)

' Suppress default Potwierdź usunięcie dialog box.

Response = acDataErrContinue

' Display custom dialog box.

If MsgBox("Delete this record?", vbOKCancel) = vbCancel Then

Cancel = True

End If

End Sub

Private Sub Form_AfterDelConfirm(Status As Integer)

Select Case Status

Case acDeleteOK

MsgBox "Deletion occurred normally."

Case acDeleteCancel

MsgBox "Programmer canceled the deletion."

Case acDeleteUserCancel

MsgBox "User canceled the deletion."

End Select

End Sub


BeforeInsert, AfterInsert, zdarzenia

•	Zdarzenie BeforeInsert występuje, gdy użytkownik wpisuje pierwszy znak w nowym rekordzie, ale przed faktycznym utworzeniem rekordu.

•	Zdarzenie AfterInsert występuje po dodaniu nowego rekordu.

Uwaga   Ustawienie wartości formantu za pomocą makra lub kodu języka Visual Basic nie uruchamia tych zdarzeń.

Uwagi

Aby uruchomić makro lub procedurę zdarzenia, gdy wystąpią te zdarzenia, należy ustawić właściwość BeforeInsert (PrzedWstawieniem) lub AfterInsert (PoWstawieniu) na nazwę makra lub na wartość [Procedura zdarzenia].

Można użyć procedury zdarzenia AfterInsert lub makra, aby ponowić kwerendę zestawu rekordów, ilekroć dodawany jest nowy rekord.

Zdarzenia BeforeInsert i AfterInsert są podobne do zdarzeń BeforeUpdate i AfterUpdate. Zdarzenia te występują w następującej kolejności:

BeforeInsert ⇒ BeforeUpdate ⇒ AfterUpdate ⇒ AfterInsert.

W poniższej tabeli zostały zebrane zależności pomiędzy tymi zdarzeniami.

Zdarzenie	Występuje gdy
BeforeInsert	Użytkownik wpisuje pierwszy znak w nowym rekordzie.
BeforeUpdate	Użytkownik aktualizuje rekord.
AfterUpdate	Rekord jest zaktualizowany.
AfterInsert	Zaktualizowany rekord jest nowym rekordem.
Jeśli pierwszy znak nowego rekordu jest wpisywany w polu tekstowym lub polu kombi, zdarzenie BeforInsert występuje przed zdarzeniem Change.


BeforeInsert, AfterInsert, zdarzenia - makra
BeforeInsert, AfterInsert, zdarzenia – makra

Aby uruchomić makro po wystąpieniu zdarzenia BeforeInsert lub AfterInsert należy ustawić właściwość BeforeInsert (PrzedWstawieniem) lub AfterInsert (PoWstawieniu) na nazwę tego makra.

Uwagi

Można używać tych makr do wyświetlania komunikatów albo użytecznych informacji. W makrze zdarzenia BeforeInsert można na przykład wyświetlać dane, których potrzebuje użytkownik wprowadzając nowy rekord.

Można użyć akcji AnulujZdarzenie (CancelEvent) w makrze zdarzenia BeforeInsert, aby anulować tworzenie nowego rekordu. Gdy akcja AnulujZdarzenie zostanie użyta w makrze zdarzenia BeforeInsert, fokus powraca do nowego rekordu, który jest pusty (znaki wpisane przez użytkownika są usuwane).

Nie można użyć akcji AnulujZdarzenie w makrze zdarzenia AfterInsert.


BeforeInsert, AfterInsert, zdarzenia - procedury zdarzeń
BeforeInsert, AfterInsert, zdarzenia – procedury zdarzeń

Aby utworzyć procedurę zdarzenia wykonywaną po wystąpieniu zdarzenia BeforeInsert lub AfterInsert należy ustawić właściwość BeforeInsert (PrzedWstawieniem) lub AfterInsert (PoWstawieniu) na wartość [Procedura zdarzenia] i kliknąć przycisk Buduj  [image].

Składnia

Private Sub Form_BeforeInsert(Cancel As Integer)

Private Sub Form_AfterInsert( )

Procedura zdarzenia BeforeInsert ma następujący argument.

Argument	Opis
Cancel	Ustawienie to określa, czy występuje zdarzenie BeforeInsert. Ustawienie argumentu Cancel na wartość True (–1) anuluje zdarzenie BeforeInsert.
Uwagi

Nie można anulować zdarzenia AfterInsert.


BeforeInsert, AfterInsert, zdarzenia - przykład procedur zdarzeń
BeforeInsert, AfterInsert, zdarzenia – przykład procedur zdarzeń

W przykładzie tym zostało pokazane, jak można użyć procedury zdarzenia BeforeInsert, aby zażądać potwierdzenia, że użytkownik chce utworzyć nowy rekord oraz procedury zdarzenia AfterInsert, aby ponowić kwerendę na źródle rekordów dla formularza "Employees" (Pracownicy), po dodaniu rekordu.

Aby przetestować ten przykład, należy dodać poniższą procedurę zdarzenia do formularza o nazwie "Employees" opartego na tabeli lub kwerendzie. Należy przełączyć się na widok "Arkusz danych" formularza i spróbować wstawić rekord.

Private Sub Form_BeforeInsert(Cancel As Integer)

If MsgBox("Insert new record here?", vbOKCancel) = vbCancel Then

Cancel = True

End If

End Sub

Private Sub Form_AfterInsert()

Forms!Employees.Requery

End Sub


Updated, zdarzenie

Zdarzenie Updated występuje, gdy dane obiektu OLE zostaną zmodyfikowane.

Uwaga   Zdarzenie Updated odnosi się tylko do formantów formularza, a nie do formantów raportu.

Uwagi

Aby uruchomić makro lub procedurę zdarzenia, gdy wystąpi to zdarzenie, należy ustawić właściwość OnUpdated (PrzyAktualizacji) na nazwę makra lub na wartość [Procedura zdarzenia].

Można użyć tego zdarzenia do sprawdzenia, czy dane obiektu uległy zmianie od ostatniego zapisu.

Zdarzenie Updated występuje, gdy dane obiektu OLE zostały zmodyfikowane. Ta aktualizacja może być przeprowadzona przez aplikację, w której obiekt został utworzony lub przez jedną z połączonych kopii tego obiektu. W rezultacie, zdarzenie to jest asynchroniczne w stosunku do innych zdarzeń dla formantów w programie Microsoft Access.

Uwagi

•	Zdarzenie Updated oraz zdarzenia BeforeUpdate i AfterUpdate dla związanych i niezwiązanych ramek obiektów nie są ze sobą powiązane. Zdarzenie Updated występuje, gdy ulegają zmianie dane obiektu OLE, a zdarzenia BeforeUpdate i AfterUpdate występują, gdy dane są aktualizowane. Chociaż nie są ze sobą powiązane, zwykle wszystkie trzy zdarzenia występują, gdy dane obiektu OLE ulegają zmianie. Zdarzenie Updated zwykle występuje przed zdarzeniami BeforeUpdate i AfterUpdate; nie musi tak być jednak za każdym razem.

•	Formant "Kalendarz" w programie Microsoft Access 97 nie obsługuje zdarzenia Updated. Podczas konwersji bazy danych zawierającej formant "Kalendarz" ze starszej wersji programu Microsoft Access na wersję programu Microsoft Access 97, należy przenieść kod zdarzenia Updated formantu "Kalendarz" do zdarzenia AfterUpdate.


Updated, zdarzenie - makra
Updated, zdarzenie – makra

Aby uruchomić makro po wystąpieniu zdarzenia Updated należy ustawić właściwość OnUpdated (PrzyAktualizacji) na nazwę tego makra.

Uwagi

Można użyć makra zdarzenia Updated do wyświetlania komunikatu, ilekroć zostaną zaktualizowane dane obiektu OLE.Makro nie może jednak zwrócić kodu określającego, jak został zaktualizowany obiekt OLE, tak więc zwykle dla tego zdarzenia używane są procedury zdarzenia.

Nie można użyć akcji AnulujZdarzenie (CancelEvent) w makrze zdarzenia Updated.


Updated, zdarzenie - procedury zdarzenia
Updated, zdarzenie – procedury zdarzenia

Aby utworzyć procedurę zdarzenia wykonywaną po wystąpieniu zdarzenia Updated należy ustawić właściwość OnUpdated (PrzyAktualizacji) na wartość [Procedura zdarzenia] i kliknąć przycisk Buduj  [image].

Składnia

Private Sub nazwaformantu_Updated(Code As Integer)

Procedura zdarzenia Updated ma następujące argumenty.

Argument	Opis
nazwaformantu	Nazwa formantu, dla którego ma być uruchomiona procedura zdarzenia Updated.
Code	Ustawienie określające, w jaki sposób obiekt OLE został zaktualizowany. Wartością argumentu Code może być jedna z poniższych stałych wewnętrznych:
	Stała	Opis
	acOLEChanged	Oznacza, że dane obiektu uległy zmianie.
	acOLESaved	Oznacza, że dane obiektu zostały zapisane przez aplikację, w której obiekt ten był utworzony. Zwykle ma to miejsce wtedy, gdy użytkownik klika w tej aplikacji polecenie Aktualizuj albo jakiekolwiek inne polecenie służące do aktualizacji.
	acOLEClosed	Oznacza, że plik zawierający dane obiektu został zamknięty przez aplikację, w której obiekt ten był utworzony.
	acOLERenamed	Oznacza, że nazwa pliku zawierającego dane obiektu została zmieniona przez aplikację, w której obiekt ten był utworzony.
Uwagi

Aby sprawdzić, czy dane obiektu uległy zmianie od ostatniego zapisania, należy w procedurze zdarzenia Updated ustawić zmienną globalną określającą, że obiekt wymaga zapisania. Po zapisaniu obiektu OLE należy zresetować tę zmienną.

Nie można anulować zdarzenia Updated.


NotInList, zdarzenie

Zdarzenie NotInList występuje, gdy użytkownik wprowadza w części pole tekstowe pola kombi wartość nie występującą na liście pola kombi.

Uwaga   Zdarzenie NotInList odnosi się tylko do formantów formularza, a nie do formantów raportu.

Uwagi

Aby uruchomić makro lub procedurę zdarzenia, gdy wystąpi to zdarzenie, należy ustawić właściwość OnNotInList (PrzyWartościSpozaListy) na nazwę makra lub na wartość [Procedura zdarzenia].

Zdarzenie to pozwala użytkownikowi dodać nową wartość do listy pola kombi.

Aby wystąpiło zdarzenie NotInList, właściwość LimitToList (OgraniczDoListy) musi być ustawiona na wartość "Tak".

Zdarzenie NotInList nie wywołuje zdarzenia Error.

Zdarzenie NotInList występuje dla pól kombi, których właściwość LimitToList (OgraniczDoListy) jest ustawiona na wartość "Tak", po wprowadzeniu wartości nie znajdującej się na liście i próbie przejścia do innego formantu lub zapisania rekordu. Zdarzenie to występuje po wszystkich zdarzeniach Change dla pola kombi.

Gdy właściwość AutoExpand (Autorozwijanie) jest ustawiona na wartość "Tak", program Microsoft Access wybiera pasujące wartości z listy w miarę, jak użytkownik wprowadza znaki w części tekstowej pola kombi. Jeśli znaki wpisywane przez użytkownika pasują do pierwszych znaków wartości znajdującej się na liście (na przykład, gdy użytkownik wpisze "Smith", a wartością na liście jest "Smithson"), zdarzenie NotInList występuje, gdy użytkownik przechodzi do następnego formantu lub zapisuje rekord. Jednak znaki, które program Microsoft Access dodaje do znaków wpisanych przez użytkownika (w podanym przykładzie "son") są zaznaczane w części tekstowej pola kombi. Jeśli użytkownik chce wywołać zdarzenie NotInList w takich przypadkach (na przykład, gdy chce dodać nowe nazwisko "Smith" do pola kombi), może nacisnąć klawisz SPACE, BACKSPACE lub DEL po ostatnim znaku nowej wartości.

Jeśli właściwość LimitToList jest ustawiona na wartość "Tak", a lista pola kombi jest rozwinięta, program Microsoft Access wybiera pasujące wartości z listy w miarę, jak użytkownik wprowadza znaki w części tekstowej pola kombi, nawet wtedy, gdy właściwość AutoExpand jest ustawiona na wartość "Nie". Gdy użytkownik naciśnie klawisz ENTER lub przejdzie do innego formantu lub rekordu, wybrana wartość pojawia się w polu kombi. W takim przypadku zdarzenie NotInList nie występuje. Aby wystąpiło zdarzenie NotInList, nie należy rozwijać listy pola kombi.


NotInList, zdarzenie - makra
NotInList, zdarzenie – makra

Aby uruchomić makro po wystąpieniu zdarzenia NotInList należy ustawić właściwość OnNotInList (PrzyWartościSpozaListy) na nazwę tego makra.

Uwagi

Można użyć makra zdarzenia NotInList, aby dodać nową wartość do listy pola kombi. Gdy zachodzi zdarzenie NotInList, należy otworzyć niestandardowe okno dialogowe i ustawić wartość jednego z jego formantów na nową wartość. Ten formant powinien być związany z polem tabeli lub kwerendy, które jest źródłem danych dla pola kombi. Należy zapisać rekord w niestandardowym oknie dialogowym, a następnie ponowić kwerendę na polu kombi.

Nie można użyć akcji AnulujZdarzenie (CancelEvent) w makrze zdarzenia NotInList.


NotInList, zdarzenie - procedury zdarzeń
NotInList, zdarzenie – procedury zdarzeń

Aby utworzyć procedurę zdarzenia wykonywaną po wystąpieniu zdarzenia NotInList należy ustawić właściwość OnNotInList (PrzyWartościSpozaListy) na wartość [Procedura zdarzenia] i kliknąć przycisk Buduj  [image].

Składnia

Private Sub nazwaformantu_NotInList(NewData As String, Response As Integer)

Procedura zdarzenia NotInList ma następujące argumenty.

Argument	Opis
nazwaformantu	Nazwa formantu, dla którego ma być uruchomiona procedura zdarzenia NotInList.
NewData	Ciąg znaków używany przez program Microsoft Access do przekazania tekstu wprowadzonego przez użytkownika w części pole tekstowe pola kombi procedurze zdarzenia.
Response	Ustawienie określające, w jaki sposób zdarzenie NotInList było obsługiwane. Wartością argumentu Response może być jedna z poniższych stałych wewnętrznych:
	Stała	Opis
	acDataErrDisplay	(Ustawienie domyślne) Wyświetlany jest domyślny komunikat dla użytkownika. Można użyć tej stałej, aby uniemożliwić użytkownikowi dodanie nowej wartości do listy pola kombi.
	acDataErrContinue	Nie jest wyświetlany domyślny komunikat dla użytkownika. Można użyć tej wartości do wyświetlenia komunikatu niestandardowego. Na przykład, procedura zdarzenia mogłaby wyświetlać niestandardowe okno dialogowe z pytaniem, czy użytkownik chce zapisać nowo wprowadzoną pozycję. Jeśli odpowiedzią byłoby "Tak", procedura zdarzenia dodawałaby nową pozycję do listy i ustawiała argument Response na wartość acDataErrAdded. Jeśli odpowiedzią byłoby "Nie", procedura zdarzenia ustawiałaby argument Response na wartość acDataErrContinue.
	acDataErrAdded	Nie jest wyświetlany komunikat dla użytkownika, ale możliwe jest dodanie wprowadzonej pozycji do listy pola kombi w procedurze zdarzenia NotInList. Po dodaniu pozycji, program Microsoft Access aktualizuje listę przez ponowienie kwerendy na polu kombi. Następnie program Microsoft Access sprawdza ponownie, czy dany ciąg znaków występuje na liście pola kombi i zapisuje wartość argumentu NewData w polu, z którym dane pole kombi jest związane. Jeśli ciągu znaków nie ma na liście, program Microsoft Access wyświetla komunikat o błędzie.
Uwagi

Można utworzyć procedurę zdarzenia dla zdarzenia NotInList umożliwiającą użytkownikowi dodanie nowej pozycji do listy pola kombi. Na przykład, można dodać rekord do tabeli dostarczającej wartości listy lub dodać wartość do listy wartości, która jest źródłem dla listy pola kombi.

Aby dodać nowy element do listy pola kombi, procedura zdarzenia musi dodać wartość argumentu NewData do źródła listy pola kombi. Jak to zostanie zrobione, zależy od typu źródła używanego przez listę pola kombi. Źródło to jest określone przez właściwości RowSourceType (TypŹródłaWierszy) i RowSource (ŹródłoWierszy) pola kombi. W przykładzie, który można otworzyć w tym temacie, procedura zdarzenia dodaje nową wartość do listy wartości dla pola kombi.

Jeśli umożliwi się użytkownikowi zmianę wartości początkowo wpisanej w polu kombi (na przykład w niestandardowym oknie dialogowym), trzeba wartość pola kombi ustawić na nową wartość wprowadzoną w niestandardowym oknie dialogowym. Powoduje to zapisanie nowej wartości w polu, z którym pole kombi jest związane. Program Microsoft Access doda nową wartość do listy pola kombi, jeśli wartością argumentu Response będzie acDataErrContinue.


NotInList, zdarzenie - przykład procedury zdarzenia
NotInList, zdarzenie – przykład procedury zdarzenia

W poniższym przykładzie zostało użyte zdarzenie NotInList, aby dodać nowy element do pola kombi.

Aby przetestować ten przykład, należy utworzyć na formularzu pole kombi o nazwie "Colors". Ustawić właściwość LimitToList (OgraniczDoListy) tego pola kombi na wartość "Tak". Aby wypełnić pole kombi, należy ustawić właściwość RowSourceType (TypŹródłaWierszy) pola kombi na wartość "Lista wartości" i podać listę wartości oddzielonych średnikami jako ustawienie właściwości RowSource (ŹródłoWierszy). Na przykład, można podać następujące wartości dla tego ustawienia: Red; Green; Blue.

Następnie należy dodać poniższą procedurę do formularza, przełączyć się na widok "Formularz" i wprowadzić nową wartość w części tekstowej pola kombi.

Private Sub Colors_NotInList(NewData As String, _

Response As Integer)

Dim ctl As Control

' Return Control object that points to combo box.

Set ctl = Me!Colors

' Prompt user to verify they wish to add new value.

If MsgBox("Value is not in list. Add it?", vbOKCancel) = vbOK Then

' Set Response argument to indicate that data is being added.

Response = acDataErrAdded

' Add string in NewData argument to row source.

ctl.RowSource = ctl.RowSource & ";" & NewData

Else

' If user chooses Cancel, suppress error message and undo changes.

Response = acDataErrContinue

ctl.Undo

End If

End Sub

Uwaga   W powyższym przykładzie element jest dodawany do niezwiązanego pola kombi. Gdy element jest dodawany do związanego pola kombi, dodawana jest wartość do pola w podstawowym źródle danych. W większości przypadków nie można po prostu dodać jednego pola w nowym rekordzie – w zależności od struktury danych w tabeli prawdopodobnie trzeba będzie dodać jedno lub kilka pól, aby spełnić określone wymagania co do danych. Na przykład, do nowego rekordu muszą być włączone wartości dla każdego pola zawierającego klucz podstawowy. Chcąc dynamicznie dodać elementy do związanego pola kombi, trzeba wyświetlić monit o wprowadzenie danych dla wszystkich żądanych pól, zapisać nowy rekord, a następnie ponowić kwerendę na polu kombi, aby wyświetlić nową wartość.


Synchronizowanie formularzy za pomocą makra - przykład
Synchronizowanie formularzy za pomocą makra – przykład

Poniższe makro otwiera formularz "Lista produktów" w prawym dolnym rogu formularza "Dostawcy" wyświetlając bieżące produkty oferowane przez dostawców. Zostało w nim pokazane użycie akcji Echo, OknoKomunikatu (MsgBox), ZatrzymajMakro (StopMacro), OtwórzFormularz (OpenForm) i RuchRozmiar (MoveSize). Zostało w nim również pokazane użycie wyrażenia warunkowego z akcjami OknoKomunikatu i ZatrzymajMakro.

Kliknij tutaj  [image], aby wyświetlić argumenty dla każdej akcji.

	Warunek	Akcja	Komentarz
			Dołączona do przycisku "Pokaż produkty" na formularzu "Dostawcy".
		Echo	Zatrzymaj aktualizowanie ekranu, gdy makro jest uruchomione (echo jest wyłączone).
	IsNull([ID dostawcy])	OknoKomunikatu (MsgBox)	Jeśli nie ma bieżącego dostawcy na formularzu "Dostawcy", wyświetl komunikat...
	...	ZatrzymajMakro (StopMacro)	... i zatrzymaj makro.
		OtwórzFormularz (OpenForm)	Otwórz formularz "Lista produktów" i pokaż produkty bieżącego dostawcy.
		RuchRozmiar (MoveSize)	Umieść formularz "Lista produktów" w prawym dolnym rogu formularza "Dostawcy".


Echo, argumenty akcji

Argument	Ustawienie
Echo włączone	Nie
Tekst paska stanu


OknoKomunikatu, argumenty akcji

Argument	Ustawienie
Komunikat	Przejdź do rekordu dostawcy, którego produkty chcesz obejrzeć i ponownie naciśnij klawisz "Pokaż produkty".
Sygnał	Tak
Typ	Brak
Tytuł


ZatrzymajMakro, argumenty akcji

Ta akcja nie ma argumentów.


OtwórzFormularz, argumenty akcji

Argument	Ustawienie
Nazwa formularza	Lista produktów
Widok	Arkusz danych
Nazwa filtru
Warunek Where	[ID dostawcy] = Forms![Dostawcy]![ID dostawcy]
Tryb danych	Tylko-do-odczytu
Tryb okna	Normalny


RuchRozmiar, argumenty akcji

Argument	Ustawienie
W prawo	2.6"
W dół	2.7"
Szerokość	4.1"
Wysokość	1.25"


Zastosowanie filtru poprzez użycie makra - przykład
Zastosowanie filtru poprzez użycie makra – przykład

Poniższe makro zawiera zestaw akcji, z których każda filtruje rekordy formularza "Dostawcy". Zostało w nim pokazane użycie akcji ZastosujFiltr (ApplyFilter) i PokażWszystkieRekordy (ShowAllRecords). Zostało w nim również pokazane użycie warunków sprawdzających, który przycisk przełącznika w grupie opcji został wybrany. Każdy wiersz akcji jest związany z przyciskiem przełącznika, który wybiera zestaw rekordów, zaczynając od A, B, C itd. lub wszystkie rekordy.

Kliknij tutaj  [image], aby wyświetlić argumenty dla każdej akcji.

	Warunek	Akcja	Komentarz
			Dołączona do przycisków A-Z i "Wszystkie" na formularzu "Dostawcy".
	[Filtr nazw firm] =1	ZastosujFiltr (ApplyFilter)	Filtruj nazwy firm zaczynające się od A, Ŕ, Á, Â, Ă lub Ä.
	[Filtr nazw firm] =2	ZastosujFiltr (ApplyFilter)	Filtruj nazwy firm zaczynające się od B.
	[Filtr nazw firm] =3	ZastosujFiltr (ApplyFilter)	Filtruj nazwy firm zaczynające się od C lub Ç.

... Wiersze akcji od D do Y mają taki sam format, jak wiersze od A do C ...

	[Filtr nazw firm] =26	ZastosujFiltr (ApplyFilter)	Filtruj nazwy firm zaczynające się od Z, Ć, Ř lub Ĺ.
	[Filtr nazw firm] =27	PokażWszystkieRekordy (ShowAllRecords)	Pokaż wszystkie rekordy.


ZastosujFiltr, argumenty akcji (1)

Argument	Ustawienie
Nazwa filtru
Warunek Where	[Nazwa firmy] Like "[AŔÁÂĂÄ]*"


ZastosujFiltr, argumenty akcji (2)

Argument	Ustawienie
Nazwa filtru
Warunek Where	[Nazwa firmy] Like "B*"


ZastosujFiltr, argumenty akcji (3)

Argument	Ustawienie
Nazwa filtru
Warunek Where	[Nazwa firmy] Like "[CÇ]*"


ZastosujFiltr, argumenty akcji (4)

Argument	Ustawienie
Nazwa filtru
Warunek Where	[Nazwa firmy] Like "[ZĆŘĹ]*"


PokażWszystkieRekordy, argumenty akcji

Ta akcja nie ma argumentów.


Sprawdzanie danych za pomocą makra - przykład
Sprawdzanie danych za pomocą makra – przykład

Poniższe makro sprawdzające sprawdza kody pocztowe wprowadzone w formularzu "Dostawcy". Zostało w nim pokazane użycie akcji OknoKomunikatu (MsgBox), AnulujZdarzenie (CancelEvent) i IdźDoFormantu (GoToControl). Wyrażenie warunkowe sprawdza kraj i kod pocztowy wprowadzone do rekordu na formularzu. Jeśli kod pocztowy ma niewłaściwy format dla danego kraju, makro wyświetla okno komunikatu i anuluje zapisywanie rekordu. Następnie wraca do formantu "Kod pocztowy", gdzie można poprawić błąd.

Kliknij tutaj  [image], aby wyświetlić argumenty dla każdej akcji.

	Warunek	Akcja	Komentarz
			Dołączona do właściwości PrzedAktualizacją (BeforeUpdate) formularza "Dostawcy".
	[Kraj] In ("Francja","Włochy","Hiszpania") And Len([Kod pocztowy]) <> 5	OknoKomunikatu (MsgBox)	Jeśli kod pocztowy zawiera inną liczbę znaków niż 5, wyświetl komunikat i...
	...	AnulujZdarzenie (CancelEvent)	... anuluj zdarzenie.
	[Kraj] In ("Australia","Singapur") And Len([Kod pocztowy]) <> 4	OknoKomunikatu (MsgBox)	Jeśli kod pocztowy zawiera inną liczbę znaków niż 4, wyświetl komunikat i...
	...	AnulujZdarzenie (CancelEvent)	... anuluj zdarzenie.
	([Kraj] = "Kanada") And ([Kod pocztowy] Not Like"[a-z][0-9][a-z] [0-9][a-z][0-9]")	OknoKomunikatu (MsgBox)	Jeśli kod pocztowy nie jest prawidłowy dla Kanady, wyświetl komunikat i...
	...	AnulujZdarzenie (CancelEvent)	... anuluj zdarzenie.
		IdźDoFormantu (GoToControl)	Przenieś fokus do formantu "Kod pocztowy".


OknoKomunikatu, argumenty akcji (1)

Argument	Ustawienie
Komunikat	Kod pocztowy musi zawierać 5 znaków.
Sygnał	Tak
Typ	Informacje
Tytuł	Niewłaściwy kod pocztowy


AnulujZdarzenie, argumenty akcji (1)

Ta akcja nie ma argumentów.


OknoKomunikatu, argumenty akcji (2)

Argument	Ustawienie
Komunikat	Kod pocztowy musi zawierać 4 znaki.
Sygnał	Tak
Typ	Informacje
Tytuł	Niewłaściwy kod pocztowy


AnulujZdarzenie, argumenty akcji (2)

Ta akcja nie ma argumentów.


OknoKomunikatu, argumenty akcji (3)

Argument	Ustawienie
Komunikat	Nieprawidłowy kod pocztowy. Przykład kodu dla Kanady: H1J 1C3
Sygnał	Tak
Typ	Informacje
Tytuł	Niewłaściwy kod pocztowy


AnulujZdarzenie, argumenty akcji (3)

Ta akcja nie ma argumentów.


IdźDoFormantu, argumenty akcji

Argument	Ustawienie
Nazwa formantu	Kod pocztowy


Ustawianie wartości formantu za pomocą makra - przykład
Ustawianie wartości formantu za pomocą makra – przykład

Poniższe makro otwiera formularz "Dodaj produkty" po naciśnięciu przycisku na formularzu "Dostawcy". Zostało w nim pokazane użycie akcji Echo, OtwórzFormularz (OpenForm), UstawWartość (SetValue) i IdźDoFormantu (GoToControl). Akcja UstawWartość ustawia formant "ID dostawcy" na formularzu "Dodaj produkty" na bieżącego dostawcę z formularza "Dostawcy". Następnie akcja IdźDoFormantu (GoToControl) przenosi fokus do pola "ID kategorii", gdzie można zacząć wprowadzać dane dla nowego produktu.

Kliknij tutaj  [image], aby wyświetlić argumenty dla każdej akcji.

	Akcja	Komentarz
		Dołączona do przycisku "Dodaj produkty" na formularzu "Dostawcy".
	Echo	Zatrzymaj aktualizowanie ekranu, gdy makro jest uruchomione (echo jest wyłączone).
	OtwórzFormularz (OpenForm)	Otwórz formularz "Dodaj produkty".
	UstawWartość (SetValue)	Ustaw formant "ID dostawcy" na bieżącego dostawcę na formularzu "Dostawcy".
	IdźDoFormantu (GoToControl)	Idź do formantu "ID kategorii".


Echo, argumenty akcji

Argument	Ustawienie
Echo włączone	Nie
Tekst paska stanu


OtwórzFormularz, argumenty akcji

Argument	Ustawienie
Nazwa formularza	Dodaj produkty
Widok	Formularz
Nazwa filtru
Warunek Where
Tryb danych	Dodaj
Tryb okna	Normalny


UstawWartość, argumenty akcji

Argument	Ustawienie
Element	Forms![Dodaj produkty]![ID dostawcy]
Wyrażenie	ID dostawcy


IdźDoFormantu, argumenty akcji

Argument	Ustawienie
Nazwa formantu	ID kategorii


ReplicationConflictFunction, właściwość

Właściwość ReplicationConflictFunction umożliwia używanie własnego niestandardowego kodu usuwania konfliktów do usuwania konfliktów danych występujących między replikami podczas synchronizacji. Gdy po ustawieniu tej właściwości użytkownik żąda usunięcia konfliktu, program Microsoft Access wywołuje funkcję usuwania konfliktów, a nie wbudowany program usuwania konfliktów.

Ustawienia

Właściwość ReplicationConflictFunction należy ustawić na ciąg znaków będący nazwą procedury typu Function, która ma być wywołana. Należy zauważyć, że to ustawienie musi być nazwą procedury typu Function; nie może to być nazwa procedury typu Sub. Jeśli właściwość ta nie jest ustawiona, program Microsoft Access wywołuje wbudowany program usuwania konfliktów.

Aby ustawić wartość tej właściwości po raz pierwszy z poziomu języka Visual Basic, należy najpierw utworzyć tę właściwość i dołączyć ją do kolekcji Properties obiektu UserDefined Document. W tworzonej procedurze należy umieścić kod obsługi błędów na wypadek, gdyby w kolekcji Properties nie było jeszcze właściwości ReplicationConflictFunction. Więcej informacji na ten temat można znaleźć w  opisie metody CreateProperty.

Po utworzeniu i dołączeniu właściwości ReplicationConflictFunction, trzeba również ustawić wartość True (–1) dla opcjonalnego argumentu DDL metody CreateProperty. Argument ten zapewnia, że użytkownik nie może zmienić ani usunąć nowego obiektu Property, o ile nie ma uprawnień dbSecWriteDef. Jeśli nie zostanie określona wartość True dla tego argumentu, niestandardowy kod usuwania konfliktów nie będzie wywoływany.

Aby zwrócić sterowanie do wbudowanego programu usuwania konfliktów, należy usunąć tę właściwość z kolekcji Properties.

Można też dodać tę właściwość do karty Niestandardowe w oknie dialogowym Właściwości: Nazwa_bazy_danych, dostępnym po kliknięciu polecenia Właściwości bazy danych w menu Plik.

Uwagi

Jeśli pewien rekord w zreplikowanej bazie danych zostanie zmieniony w jednej z replik (lub w kilku replikach), to podczas synchronizacji repliki z zestawem replik wystąpią konflikty. Gdy użytkownik zażąda usunięcia tych konfliktów, program Microsoft Access wywołuje wbudowany program usuwania konfliktów. Kreator przedstawia każdy konflikt użytkownikowi, który musi samodzielnie określić, który ze zmienionych rekordów zawiera prawidłowe dane.

Jeśli użytkownik woli, aby konflikty w danej aplikacji były usuwane automatycznie, może napisać niestandardowe procedury usuwania konfliktów, a następnie zastąpić wbudowaną funkcję usuwania konfliktów przez ustawienie właściwości ReplicationConflictFunction. Należy utworzyć pojedynczą funkcję służącą jako punkt wejścia do kodu usuwania konfliktów. Następnie należy ustawić właściwość ReplicationConflictFunction na nazwę tej funkcji.

Jeśli użytkownik pisze własny kod obsługi konfliktów, musi również obsłużyć błędy projektu i danych replikacji. Odpowiedni przykład można znaleźć otwierając bazę danych kreatora Wzcnf80.mda w folderze Office – znajduje się tam odpowiedni kod źródłowy.


ReplicationConflictFunction, właściwość - przykład
ReplicationConflictFunction, właściwość – przykład

Poniższa funkcja ustawia właściwość programu Microsoft Access na obiekt DAO. Można użyć tej funkcji do ustawienia właściwości ReplicationConflictFunction. Jeśli właściwość ta nie istnieje jeszcze w kolekcji Properties obiektu UserDefined Document, program Microsoft Access utworzy ją i dołączy do kolekcji. Należy zauważyć, że, aby ustawić tę właściwość, trzeba określić wartość True (–1) dla opcjonalnego argumentu blnDDL.

Function SetAccessProperty(obj As Object, strName As String, _

intType As Integer, varSetting As Variant, _

Optional blnDDL As Boolean) As Boolean

Dim prp As Property

Const intPropNotFound As Integer = 3270

On Error GoTo Error_SetAccessProperty

' Explicitly refer to Properties collection.

obj.Properties(strName) = varSetting

obj.Properties.Refresh

SetAccessProperty = True

Exit_SetAccessProperty:

Exit Function

Error_SetAccessProperty:

If Err = intPropNotFound Then

' Check whether optional argument has been passed.

If Not IsMissing(blnDDL) Then

' Create property, denote type, set initial value, indicate DDL.

Set prp = obj.CreateProperty(strName, intType, varSetting, blnDDL)

Else

' Create property, denote type, set initial value.

Set prp = obj.CreateProperty(strName, intType, varSetting)

End If

' Append Property object to Properties collection.

obj.Properties.Append prp

obj.Properties.Refresh

SetAccessProperty = True

Resume Exit_SetAccessProperty

Else

MsgBox Err & ": " & vbCrLf & Err.Description

SetAccessProperty = False

Resume Exit_SetAccessProperty

End If

End Function

Poniższa procedura wywołuje funkcję SetAccessProperty, aby ustawić właściwość ReplicationConflictFunction:

Sub SetConflictResolver()

Dim dbs As Database, ctr As Container, doc As Document

Dim blnReturn As Boolean

' Return reference to current database.

Set dbs = CurrentDb

' Return reference to Databases container.

Set ctr = dbs.Containers!Databases

' Return reference to SummaryInfo Document object.

Set doc = ctr.Documents!userdefined

blnReturn = SetAccessProperty(doc, _

"ReplicationConflictFunction", dbText, "CustomResolver", True)

' Evaluate return value.

If blnReturn = True Then

Debug.Print "Property set successfully."

Else

Debug.Print "Property not set successfully."

End If

End Sub


AccessError, metoda

Metoda AccessError służy do zwracania opisu związanego z błędem programu Microsoft Access lub obiektu DAO.

Składnia

[aplikacja.]AccessError(numer_błędu)

Dla metody AccessError używane są następujące argumenty.

Argument	Opis
aplikacja	Opcjonalny. Obiekt Application..
numer_błędu	Numer błędu, dla którego ma być zwrócony opis.
Uwagi

Metody AccessError można użyć do zwrócenia opisu związanego z błędem programu Microsoft Access lub obiektem DAO w sytuacji, kiedy błąd nie wystąpił.

Można użyć metody Raise programu Visual Basic, aby wygenerować błąd programu Visual Basic. Po wygenerowaniu błędu, można poznać jego opis czytając właściwość Description obiektu Err.

Nie można użyć metody Raise do wygenerowania błędu programu Microsoft Access lub obiektu DAO. Można jednak użyć metody AccessError, aby zwrócić opis związany z takim błędem, bez konieczności generowania błędu.

Można użyć metody AccessError do zwrócenia opisu błędu ze zdarzenia Error formularza.

Jeśli wystąpił błąd programu Microsoft Access, można zwrócić jego opis używając metody AccessError lub właściwości Description obiektu Err programu Visual Basic.


AccessError, metoda - przykład
AccessError, metoda – przykład

Poniższa funkcja zwraca opis błędu dla dowolnego prawidłowego numeru błędu:

Function ErrorString(lngError As Long) As String

Const conAppError = "Application-defined or object-defined error"

On Error Resume Next

Err.Raise lngError

If Err.Description = conAppError Then

ErrorString = AccessError(lngError)

ElseIf Err.Description = "" Then

MsgBox "No error string associated with this number."

Else

ErrorString = Err.Description

End If

End Function


CodeDb, funkcja

Funkcji CodeDb można użyć w module do określenia nazwy obiektu Database odwołującego się do tej bazy danych, w której aktualnie jest wykonywany kod. Funkcji CodeDb można użyć, aby uzyskać dostęp do obiektów dostępu do danych (DAO) będących częścią bibliotecznej bazy danych.

Na przykład, można użyć funkcji CodeDb w module w bibliotecznej bazie danych, aby utworzyć obiekt Database odwołujący się do bibliotecznej bazy danych. Można również otworzyć zestaw rekordów oparty na tabeli w bibliotecznej bazie danych.

Składnia

Set baza_danych = CodeDb

Funkcja CodeDb ma następujący argument.

Argument	Opis
baza_danych	Zmienna obiektowa typu Database.
Uwagi

Funkcja CodeDB zwraca obiekt typu Database, którego właściwość Name (Nazwa) jest pełną ścieżką dostępu do bazy danych, z której wywoływana jest ta funkcja. Funkcja ta może być użyteczna, gdy zachodzi potrzeba operowania obiektami dostępu do danych w bibliotecznej bazie danych.

Gdy wywoływana jest funkcja w bibliotecznej bazie danych, bieżącą bazą danych pozostaje baza z której została wywołana ta funkcja, nawet podczas wykonywania kodu w module bibliotecznej bazy danych. Aby odwołać się do obiektów dostępu do danych w bibliotecznej bazie danych, trzeba znać nazwę obiektu typu Database reprezentującego biblioteczną bazę danych.

Przypuśćmy na przykład, że w bibliotecznej bazie danych istnieje tabela zawierającą listę komunikatów o błędach. Aby operować danymi z tej tabeli w kodzie programu, można użyć funkcji CodeDB do określenia nazwy obiektu typu Database, który odwołuje się do bibliotecznej bazy danych zawierającej tę tabelę.

Jeśli funkcja CodeDB jest wykonywana w bieżącej bazie danych, to zwraca ona nazwę bieżącej bazy danych, czyli taką samą wartość jak wartość zwracana przez funkcję CurrentDb.


CodeDb, funkcja - przykład
CodeDb, funkcja – przykład

W poniższym przykładzie używana jest funkcja CodeDB, aby określić obiekt typu Database odwołujący się do bibliotecznej bazy danych. Biblioteczna baza danych zawiera tabelę "Errors" i aktualnie wykonywany kod programu. Po określeniu przez funkcję CodeDB tych informacji, funkcja GetErrorString otwiera zestaw rekordów typu tabela oparty na tabeli "Errors". Następnie wybierany jest komunikat o błędzie z pola "ErrorData" opartego na wartości typu Liczba całkowita przekazanej do funkcji.

Function GetErrorString(ByVal intError As Integer) As String

Dim dbs As Database, rst As RecordSet

' Variable refers to database where code is running.

Set dbs = CodeDb

' Create table-type Recordset object.

Set rst = dbs.OpenRecordSet("Errors", dbOpenTable)

' Set index to primary key (ErrorID field).

rst.Index = "PrimaryKey"

' Find error number passed to GetErrorString function.

rst.Seek "=", intError

' Return associated error message.

GetErrorString = rst.Fields!ErrorData.Value

rst.Close

End Function


CreateControl, CreateReportControl, funkcje

•	Funkcja CreateControl tworzy formant na określonym otwartym formularzu.

•	Funkcja CreateReportControl tworzy formant na określonym otwartym raporcie.

Przypuśćmy na przykład, że budowany jest niestandardowy kreator, pozwalający użytkownikom łatwo konstruować określony formularz. Można użyć funkcji CreateControl w kreatorze, aby dodawać właściwe formanty do formularza.

Składnia

CreateControl(nazwa_formularza, typ_formantu[, sekcja[, nadrzędny[, nazwa_kolumny[, lewy[, górny[, szerokość[, wysokość]]]]]]])

CreateReportControl(nazwa_raportu, typ_formantu[, sekcja[, nadrzędny[, nazwa_kolumny[, lewy[, górny[, szerokość[, wysokość]]]]]]])

Funkcje CreateControl i CreateReportControl mają następujące argumenty.

Argument	Opis
nazwa_formularza, nazwa_raportu	Wyrażenie typu ciąg znaków identyfikujące nazwę otwartego formularza lub raportu, w którym ma być utworzony formant.
typ_formantu	Jedna z poniższych stałych wewnętrznych identyfikująca typ formantu, który ma być utworzony. Można przeglądać te stałe i wklejać je do kodu za pomocą Przeglądarki obiektów. Należy kliknąć przycisk Przeglądarka obiektów  [image]  na pasku narzędzi Visual Basic, a następnie kliknąć opcję Access w polu Projekt/Biblioteka oraz opcję Stałe w polu Klasy.
	Stała	Formant
	acLabel	Etykieta
	acRectangle	Prostokąt
	acLine	Linia
	acImage	Obraz
	acCommandButton	Przycisk polecenia
	acOptionButton	Przycisk opcji
	acCheckBox	Pole wyboru
	acOptionGroup	Grupa opcji
	acBoundObjectFrame	Związana ramka obiektu
	acTextBox	Pole tekstowe
	acListBox	Pole listy
	acComboBox	Pole kombi
	acSubform	Podformularz
	acObjectFrame	Niezwiązana ramka obiektu
	acPage	Strona
	acPageBreak	Nowa strona
	acCustomControl	Formant ActiveX
	acToggleButton	Przycisk przełącznika
	acTabCtl	Formant karty
sekcja	Jedna z poniższych stałych wewnętrznych identyfikująca sekcję, która będzie zawierała nowy formant.
	Stała	Sekcja
	acDetail	(Ustawienie domyślne) Sekcja szczegółów
	acHeader	Nagłówek formularza lub raportu
	acFooter	Stopka formularza lub raportu
	acPageHeader	Nagłówek strony
	acPageFooter	Stopka strony
	acGroupLevel1Header	Nagłówek poziomu grupowania 1 (tylko raporty)
	acGroupLevel1Footer	Stopka poziomu grupowania 1 (tylko raporty)
	acGroupLevel2Header	Nagłówek poziomu grupowania 2 (tylko raporty)
	acGroupLevel2Footer	Stopka poziomu grupowania 2 (tylko raporty)
	Jeśli w raporcie występują dodatkowe poziomy grupowania, pary nagłówek/stopka są numerowane kolejno, zaczynając od 9.
nadrzędny	Wyrażenie typu ciąg znaków identyfikujące nazwę formantu nadrzędnego dla formantu przyłączonego. Dla formantów które nie mają formantu nadrzędnego, należy ustawić ten argument na ciąg znaków zerowej długości lub pominąć go.
nazwa_kolumny	Nazwa pola, z którym będzie związany formant, jeśli ma to być formant danych związanych.
	Jeśli tworzony jest formant, który nie będzie związany z polem, należy użyć jako tego argumentu ciągu znaków o zerowej długości.
lewy, górny	Wyrażenia numeryczne określające współrzędne lewego-górnego rogu formantu w twipach.
szerokość, wysokość	Wyrażenia numeryczne określające szerokość i wysokość formantu w twipach.
Uwagi

Funkcji CreateControl i CreateReportControl można użyć w niestandardowym kreatorze do tworzenia formantów w formularzu albo w raporcie. Obie funkcje zwracają obiekt Control.

Funkcji CreateControl i CreateReportControl można użyć tylko w widoku "Projekt" formularza lub w widoku "Projekt" raportu, odpowiednio.

Argument nadrzędny używany jest do określenia relacji pomiędzy formantem nadrzędnym, a formantem podrzędnym. Na przykład, jeżeli do pola tekstowego przyłączona jest etykieta, pole tekstowe jest formantem nadrzędnym, a etykieta jest formantem podrzędnym. Tworząc formant typu etykieta, należy ustawić jego argument nadrzędny na ciąg znaków identyfikujący nazwę formantu nadrzędnego. Tworząc pole tekstowe, należy ustawić jego argument nadrzędny na ciąg znaków zerowej długości.

Argument nadrzędny należy również ustawić, tworząc pola wyboru, przyciski opcji i przełączniki. Grupa opcji jest formantem nadrzędnym dla zawartych w niej pól wyboru, przycisków opcji i przełączników. Jedynymi formantami, które mogą posiadać formant nadrzędny są etykiety, pola wyboru, przyciski opcji i przełączniki. Każdy z tych formantów może być również utworzony niezależnie, bez formantu nadrzędnego.

Argument nazwa_kolumny należy ustawić w zależności od typu tworzonego formantu i od tego, czy będzie on związany z polem w tabeli. Do formantów, które mogą być związane z polem należą pola tekstowe, pola listy, pola kombi, grupy opcji i związane ramki obiektów. Ponadto, przełączniki, przyciski opcji i pola wyboru mogą być związane z polem, jeśli nie są zawarte w grupie opcji.

Podając jako ustawienie argumentu nazwa_kolumny nazwę pola, tworzy się formant związany z tym polem. Wszystkie właściwości tego formantu są automatycznie ustawiane zgodnie z odpowiadającymi im właściwościami pola. Na przykład, wartość właściwości ValidationRule (RegułaPoprawności) formantu będzie taka sama, jak wartość tej właściwości dla pola.

Uwaga   Jeśli kreator tworzy formanty na nowym lub istniejącym formularzu albo raporcie, musi wcześniej otworzyć formularz lub raport w widoku "Projekt".

Aby usunąć formant z formularza lub raportu, należy użyć instrukcji DeleteControl lub DeleteReportControl.


CreateControl, CreateReportControl, funkcje - przykład
CreateControl, CreateReportControl, funkcje – przykład

W poniższym przykładzie najpierw tworzony jest nowy formularz oparty na tabeli "Orders". Następnie zostaje użyta funkcja CreateControl do utworzenia formantu typu pole tekstowe i przyłączonej do formularza etykiety.

Sub NewControls()

Dim frm As Form

Dim ctlLabel As Control, ctlText As Control

Dim intDataX As Integer, intDataY As Integer

Dim intLabelX As Integer, intLabelY As Integer

' Create new form with Orders table as its record source.

Set frm = CreateForm

frm.RecordSource = "Orders"

' Set positioning values for new controls.

intLabelX = 100

intLabelY = 100

intDataX = 1000

intDataY = 100

' Create unbound default-size text box in detail section.

Set ctlText = CreateControl(frm.Name, acTextBox, , "", "", _

intDataX, intDataY)

' Create child label control for text box.

Set ctlLabel = CreateControl(frm.Name, acLabel, , ctlText.Name, _

"NewLabel", intLabelX, intLabelY)

' Restore form.

DoCmd.Restore

End Sub


CreateForm, CreateReport, funkcje

•	Funkcja CreateForm tworzy formularz i zwraca obiekt Form.

•	Funkcja CreateReport tworzy raport i zwraca obiekt Report.

Przypuśćmy na przykład, że budowany jest niestandardowy kreator do tworzenia raportu sprzedaży. W kreatorze można użyć funkcji CreateReport, aby utworzyć nowy raport na podstawie określonego szablonu raportu.

Składnia

CreateForm([baza_danych[, szablon_formularza]])

CreateReport([baza_danych[, szablon_raportu]])

Funkcje CreateForm i CreateReport mają następujące argumenty.

Argument	Opis
baza_danych	Wyrażenie typu ciąg znaków identyfikujące nazwę bazy danych zawierającej szablon formularza lub raportu, który ma być wykorzystany do utworzenia formularza lub raportu. Jeśli argument ten zostanie pominięty, użyta będzie bieżąca baza danych (wartość zwracana przez funkcję CurrentDb). Jeśli zostanie określona baza danych inna niż bieżąca, baza ta musi być otwarta jako biblioteczna baza danych.
szablon_formularza, szablon_raportu	Wyrażenie typu ciąg znaków identyfikujące nazwę formularza lub raportu, który ma być wykorzystany jako szablon do utworzenia nowego formularza lub raportu. Jeśli argument ten zostanie pominięty, program Microsoft Access utworzy nowy formularz lub raport na podstawie szablonu określonego na karcie Formularze/Raporty okna dialogowego Opcje, dostępnego przez kliknięcie polecenia Opcje w menu Narzędzia.
Uwagi

Funkcji CreateForm i CreateReport można użyć projektując kreatora, który ma tworzyć nowe formularze lub raporty.

Funkcje CreateForm i CreateReport otwierają nowy, zminimalizowany formularz lub raport w widoku "Projekt" formularza lub w widoku "Projekt" raportu, odpowiednio.

Formularz lub raport określony w argumencie szablon_formularza lub szablon_raportu może być utworzony specjalnie do użycia jako szablon albo może być dowolnym innym formularzem lub raportem w bazie danych identyfikowanej przez argument baza_danych. Należy zauważyć, że jeśli baza danych określona przez argument baza_danych nie jest bieżącą bazą danych, baza ta musi być otwarta jako biblioteczna baza danych. Więcej informacji na temat bibliotecznych baz danych można znaleźć w rozdziale 12, "Korzystanie z bibliotecznych baz danych i bibliotek dołączanych dynamicznie", dokumentu Tworzenie aplikacji Microsoft Access 97.

Uwaga   Jeśli szablon formularza lub raportu został utworzony w innej bazie danych, można importować go do bieżącej bazy danych zamiast ładować biblioteczną bazę danych. Następnie należy się upewnić, czy poprawna nazwa tego formularza lub raportu jest wyświetlana na liście w polu Szablon formularza lub Szablon raportu na karcie Formularze/Raporty okna dialogowego Opcje. Kolejne formularze i raporty tworzone za pomocą funkcji CreateForm lub CreateReport będą oparte na tym szablonie.

Jeśli nazwa używana jako argument szablon_formularza lub szablon_raportu nie jest prawidłowa, język Visual Basic wykorzystuje szablon formularza lub raportu określony przez ustawienie opcji w polu Szablon formularza lub Szablon raportu na karcie Formularze/Raporty okna dialogowego Opcje.

Podczas tworzenia formularza lub raportu za pomocą funkcji CreateForm lub CreateReport, właściwość HasModule (MaModuł) formularza lub raportu jest ustawiana na wartość False (0). Można ustawić tę właściwość na wartość True (–1), jeśli nowy formularz lub raport ma zawierać moduł klasy.

Funkcje CreateForm i CreateReport tworzą zminimalizowane formularze i raporty.


CreateForm, CreateReport, funkcje - przykład
CreateForm, CreateReport, funkcje – przykład

W poniższym przykładzie tworzony jest raport w bieżącej bazie danych, na podstawie szablonu określonego przez ustawienie opcji w polu Szablon raportu na karcie Formularze/Raporty okna dialogowego Opcje.

Sub NormalReport()

Dim rpt As Report

Set rpt = CreateReport	' Create minimized report.

DoCmd.Restore	' Restore report.

End Sub

W następnym przykładzie tworzony jest formularz w przykładowej bazie danych "Northwind", na podstawie formularza "Customers" i ustawiana jest jego właściwość RecordSource (Źródło rekordów) na tabelę "Customers". Należy uruchomić ten kod w przykładowej bazie danych "Northwind".

Sub NewForm()

Dim frm As Form

' Create form based on Customers form.

Set frm = CreateForm( , "Customers")

DoCmd.Restore

' Set RecordSource property to Customers table.

frm.RecordSource = "Customers"

End Sub


CreateGroupLevel, funkcja

Można użyć funkcji CreateGroupLevel do określenia pola albo wyrażenia, według którego będą grupowane lub sortowane dane w raporcie.

Przypuśćmy na przykład, że budowany jest niestandardowy kreator, który umożliwia użytkownikowi wybór pól, względem których mają być grupowane dane, podczas projektowania raportu. Należy wywołać w kreatorze funkcję CreateGroupLevel, aby utworzyć odpowiednie grupy, zgodnie z wyborem użytkownika.

Składnia

CreateGroupLevel(raport, wyrażenie, nagłówek, stopka)

Funkcja CreateGroupLevel ma następujące argumenty.

Argument	Opis
raport	Wyrażenie typu ciąg znaków identyfikujące nazwę raportu, który będzie zawierał nowy poziom grupowania.
wyrażenie	Wyrażenie typu ciąg znaków identyfikujące pole lub wyrażenie, według którego mają być sortowane lub grupowane dane.
nagłówek, stopka	Wartość typu Liczba całkowita wskazująca, czy pole lub wyrażenie będzie posiadało związany z nim nagłówek grupy i/lub stopkę grupy. Jeśli argument nagłówek lub stopka ma wartość True (-1), pole lub wyrażenie będzie posiadało nagłówek lub stopkę grupy. Jeśli argument nagłówek lub stopka ma wartość False (0), nie będzie posiadało. Można utworzyć zarówno nagłówek, jak i stopkę ustawiając oba te argumenty na wartość True.
Uwagi

Funkcji CreateGroupLevel można użyć przy projektowaniu kreatora tworzącego raport z grupowaniem i podsumowaniami. Funkcja CreateGroupLevel grupuje lub sortuje dane według określonego pola lub wyrażenia i tworzy nagłówek i/lub stopkę dla poziomu grupowania.

Funkcja CreateGroupLevel jest dostępna tylko w widoku "Projekt" raportu.

Program Microsoft Access używa tablicy, tablicy właściwości GroupLevel (PoziomGrupowania), aby śledzić poziomy grupowania utworzone w raporcie. Funkcja CreateGroupLevel dodaje nowy poziom grupowania do tej tablicy, na podstawie argumentu wyrażenie. Następnie funkcja CreateGroupLevel zwraca wartość indeksu reprezentującą pozycję nowego poziomu grupowania w tablicy. Pierwsze pole lub wyrażenie, według którego dane są sortowane lub grupowane ma poziom 0, drugie ma poziom 1, itd. W raporcie może istnieć do dziesięciu poziomów grupowania (0 to 9).

Jeśli w argumencie nagłówek lub stopka, albo w obu, zostanie określona wartość True, właściwość GroupHeader (NagłówekGrupy) i/lub GroupFooter (StopkaGrupy) raportu jest ustawiana na wartość "Tak" i tworzony jest nagłówek i/lub stopka dla tego poziomu grupowania.

Po utworzeniu nagłówka lub stopki można ustawić inne właściwości związane z poziomem grupowania: GroupOn (GrupujWedłu), GroupInterval (PrzedziałGrupowania) i KeepTogether (TrzymajRazem). Właściwości te można ustawić w języku Visual Basic lub w oknie Sortowanie i grupowanie raportu, dostępnym przez kliknięcie przycisku  Sortowanie i grupowanie  [image]  na pasku narzędzi Projekt raportu.

Uwaga   Jeśli kreator tworzy poziomy grupowania w nowym lub istniejącym raporcie, musi otworzyć ten raport w widoku "Projekt".


CreateGroupLevel, funkcja - przykład
CreateGroupLevel, funkcja – przykład

W poniższym przykładzie tworzony jest poziom grupowania dla pola "OrderDate" w raporcie "OrderReport". Raport, w którym ma być utworzony poziom grupowania musi być otwarty w widoku "Projekt". Ponieważ wartością obu argumentów nagłówek i stopka jest True (–1), funkcja tworzy nagłówek i stopkę dla poziomu grupowania. Następnie zmieniany jest rozmiar nagłówka i stopki.

Sub CreateGL()

Dim varGroupLevel As Variant

' Create new group level on OrderDate field.

varGroupLevel = CreateGroupLevel("OrderReport", "OrderDate", _

True, True)

' Set height of header/footer sections.

Reports!OrderReport.Section(acGroupLevel1Header).Height = 400

Reports!OrderReport.Section(acGroupLevel1Footer).Height = 400

End Sub


DeleteControl, DeleteReportControl, instrukcje

•	Instrukcja DeleteControl usuwa określony formant z formularza.

•	Instrukcja DeleteReportControl usuwa określony formant z raportu.

Przypuśćmy na przykład, że istnieje procedura która musi być wykonywana dla każdego użytkownika, gdy po raz pierwszy loguje się on w bazie danych. Można ustawić właściwość OnClick (PrzyKliknięciu) przycisku w formularzu na tą procedurę, a po zalogowaniu się użytkownika i wykonaniu procedury, można użyć instrukcji DeleteControl, aby dynamicznie usunąć przycisk polecenia z formularza.

Składnia

DeleteControl nazwa_formularza, nazwa_formantu

DeleteReportControl nazwa_raportu, nazwa_formantu

Instrukcje DeleteControl i DeleteReportControl mają następujące argumenty.

Argument	Opis
nazwa_formularza, nazwa_raportu	Wyrażenie typu ciąg znaków identyfikujące nazwę formularza lub raportu zawierającego formant, który ma być usunięty.
nazwa_formantu	Wyrażenie typu ciąg znaków identyfikujące nazwę formantu, który ma być usunięty.
Uwagi

Instrukcje DeleteControl i DeleteReportControl są dostępne tylko w widoku "Projekt" formularza lub w widoku "Projekt" raportu, odpowiednio.

Uwaga   Jeśli budowany jest kreator, który usuwa formant z formularza lub raportu, kreator musi otworzyć formularz lub raport w widoku "Projekt", zanim możliwe będzie usunięcie formantu.


DeleteControl, DeleteReportControl, instrukcje - przykład
DeleteControl, DeleteReportControl, instrukcje – przykład

W poniższym przykładzie tworzony jest formularz z przyciskiem polecenia i wyświetlany jest komunikat z pytaniem, czy użytkownik chce usunąć ten przycisk polecenia. Jeśli użytkownik kliknie przycisk "Yes", to przycisk polecenia zostanie usunięty.

Sub DeleteCommandButton()

Dim frm As Form, ctlNew As Control

Dim strMsg As String, intResponse As Integer, intDialog As Integer

' Create new form and get pointer to it.

Set frm = CreateForm

' Create new command button.

Set ctlNew = CreateControl(frm.Name, acCommandButton)

' Restore form.

DoCmd.Restore

' Set caption.

ctlNew.Caption = "New Command Button"

' Size control.

ctlNew.SizeToFit

' Prompt user to delete control.

strMsg = "About to delete " & ctlNew.Name &". Continue?"

' Define buttons to be displayed in dialog box.

intDialog = vbYesNo + vbCritical + vbDefaultButton2

intResponse = MsgBox(strMsg, intDialog)

If intResponse = vbYes Then

' Delete control.

DeleteControl frm.Name, ctlNew.Name

End If

End Sub


SysCmd, funkcja

Funkcji SysCmd można użyć do wykonania następujących zadań:

•	Wyświetlenie wskaźnika zaawansowania operacji lub określonego tekstu na pasku stanu.

•	Zwrócenie informacji o programie Microsoft Access i związanych z nim plikach.

•	Zwrócenie informacji o stanie określonego obiektu bazy danych określającej, czy obiekt ten jest otwarty, czy jest nowym obiektem lub czy został zmodyfikowany, ale nie zapisany.

Jeśli na przykład budowany jest niestandardowy kreator, który tworzy nowy formularz, można użyć funkcji SysCmd do wyświetlenia wskaźnika zaawansowania określającego postęp kreatora w konstruowaniu formularza.

Składnia

ReturnValue = SysCmd(akcja[, tekst][, wartość])

ObjectState = SysCmd(akcja[, typ_obiektu][, nazwa_obiektu])

Funkcja SysCmd ma następujące argumenty.

Argument	Opis
akcja	Jedna z poniższych stałych wewnętrznych identyfikująca typ akcji, która ma być wykonana.
	Poniższy zestaw stałych stosuje się do wskaźnika zaawansowania. Funkcja SysCmd zwraca wartość Null, jeśli wykonywane akcje powiodły się. W przeciwnym razie, program Microsoft Access generuje błąd wykonania.
	acSysCmdInitMeter	Inicjuje wskaźnik zaawansowania. Używając tej akcji należy określić argumenty tekst i wartość.
	acSysCmdUpdateMeter	Aktualizuje wskaźnik zaawansowania określoną wartością. Używając tej akcji należy określić argument tekst.
	acSysCmdRemoveMeter	Usuwa wskaźnik zaawansowania.
	acSysCmdSetStatus	Ustawia tekst paska stanu na wartość argumentu tekst.
	acSysCmdClearStatus	Resetuje tekst paska stanu.
	Poniższy zestaw stałych jest używany przy dostarczaniu informacji o programie Microsoft Access.
	acSysCmdRuntime	Zwraca wartość True (-1), jeśli uruchomiona jest wersja czasu wykonywania programu Microsoft Access.
	acSysCmdAccessVer	Zwraca numer wersji programu Microsoft Access.
	acSysCmdIniFile	Zwraca nazwę pliku .ini skojarzonego z programem Microsoft Access.
	acSysCmdAccessDir	Zwraca nazwę katalogu, w którym umieszczony jest plik Msaccess.exe.
	acSysCmdProfile	Zwraca ustawienie /profile określone przez użytkownika przy uruchamianiu programu Microsoft Access z wiersza polecenia.
	acSysCmdGetWorkgroupFile	Zwraca ścieżkę do pliku grupy roboczej (System.mdw).
	Poniższa stała dostarcza informacji o stanie obiektu w bazie danych.
	acSysCmdGetObjectState	Zwraca informacje o stanie określonego obiektu bazy danych. Używając tej wartości argumentu akcja należy określić argumenty typ_obiektu i nazwa_obiektu.
tekst	Wyrażenie typu ciąg znaków identyfikujące tekst, który ma być wyświetlony (z wyrównaniem do lewej strony) na pasku stanu. Argument ten jest wymagany, gdy wartością argumentu akcja jest acSysCmdInitMeter, acSysCmdUpdateMeter lub acSysCmdSetStatus; argument ten nie jest prawidłowy dla innych wartości argumentu akcja.
wartość	Wyrażenie numeryczne sterujące wyświetlaniem wskaźnika zaawansowania. Argument ten jest wymagany, gdy wartością argumentu akcja jest acSysCmdInitMeter; argument ten nie jest prawidłowy dla innych wartości argumentu akcja.
typ_obiektu	Jedna z poniższych stałych wewnętrznych:
	acTable
	acQuery
	acForm
	acReport
	acMacro
	acModule
	Argument ten jest wymagany, gdy wartością argumentu akcja jest acSysCmdGetObjectState; argument ten nie jest prawidłowy dla innych wartości argumentu akcja.
nazwa_obiektu	Wyrażenie typu ciąg znaków, które jest prawidłową nazwą obiektu bazy danych typu określonego przez argument typ_obiektu. Argument ten jest wymagany, gdy wartością argumentu akcja jest acSysCmdGetObjectState; argument ten nie jest prawidłowy dla innych wartości argumentu akcja.
Uwagi

Wywołując funkcję SysCmd z różnymi akcjami wskaźnika zaawansowania, można wyświetlać wskaźnik zaawansowania na pasku stanu przy operacjach, dla których znany jest czas trwania lub liczba wykonywanych kroków i aktualizować go wskazując zaawansowanie operacji.

Aby wyświetlić wskaźnik zaawansowania na pasku stanu, należy najpierw wywołać funkcję SysCmd z argumentem akcja równym acSysCmdInitMeter oraz z argumentami tekst i wartość. Gdy argumentem akcja jest acSysCmdInitMeter, argument wartość określa maksymalną wartość wskaźnika, czyli 100 procent.

Aby zaktualizować wskaźnik pokazując zaawansowanie operacji, należy wywołać funkcję SysCmd z argumentem akcja równym acSysCmdUpdateMeter i z argumentem wartość. Gdy argument akcja jest równy acSysCmdUpdateMeter, funkcja SysCmd używa argumentu wartość do obliczenia procentu wyświetlanego przez wskaźnik. Na przykład, jeśli maksymalna wartość zostanie ustawiona na 200, a następnie wskaźnik zostanie zaktualizowany wartością 100, to wskaźnik zaawansowania będzie wypełniony w połowie.

Można również zmieniać tekst wyświetlany na pasku stanu wywołując funkcję SysCmd z argumentem akcja równym acSysCmdSetStatus i z argumentem tekst. Na przykład, podczas sortowania można zmienić tekst na "Sortowanie...". Po zakończeniu sortowania, można wyczyścić pasek stanu usuwając ten tekst. Argument tekst może zawierać około 80 znaków. Ponieważ tekst na pasku stanu jest wyświetlany z wykorzystaniem czcionki proporcjonalnej, faktyczna ilość znaków które można wyświetlić jest określona przez całkowitą szerokość wszystkich znaków w argumencie tekst.

Przy powiększaniu szerokości tekstu paska stanu, zmniejszana jest długość wskaźnika. Jeśli tekst jest dłuższy niż pasek stanu i argument akcja jest równy acSysCmdInitMeter, funkcja SysCmd ignoruje ten tekst i nic nie wyświetla w pasku stanu. Jeśli tekst jest dłuższy niż pasek stanu, a argument akcja jest równy acSysCmdSetStatus, funkcja SysCmd obcina tekst tak, aby zmieścił się na pasku stanu.

Nie można ustawić tekstu paska stanu na ciąg znaków zerowej długości (""). Aby usunąć istniejący tekst z paska stanu, należy argument tekst ustawić na jedną spację. W poniższych przykładach zostały zilustrowane sposoby usuwania tekstu z paska stanu:

varReturn = SysCmd(acSysCmdInitMeter, " ", 100)

varReturn = SysCmd(acSysCmdSetStatus, " ")

Jeśli wskaźnik zaawansowania jest już wyświetlony, gdy ustawiany jest tekst przez wywołanie funkcji SysCmd z argumentem akcja równym acSysCmdSetStatus, funkcja SysCmd automatycznie usuwa wskaźnik.

Można wywołać funkcję SysCmd z innymi akcjami, aby uzyskać informacje systemowe o programie Microsoft Access, takie jak numer wersji uruchomionego programu Microsoft Access, czy jest to wersja czasu wykonywania, lokalizacja pliku wykonywalnego programu Microsoft Access, ustawienie argumentu /profile określonego w wierszu polecenia czy nazwa pliku .ini skojarzonego z programem Microsoft Access.

Uwaga    Wszystkie ustawienia, zarówno ogólne, jak i niestandardowe, dla programu Microsoft Access są teraz przechowywane w Rejestrze Windows, tak że najprawdopodobniej żaden plik z rozszerzeniem .ini nie będzie potrzebny przy uruchamianiu aplikacji programu Microsoft Access. Wartość acSysCmdIniFile argumentu akcja jest obsługiwana dla zapewnienia zgodności z wcześniejszymi wersjami programu Microsoft Access.

Aby zwrócić informacje o stanie określonego obiektu bazy danych, należy wywołać funkcję SysCmd z argumentem akcja równym acSysCmdGetObjectState i z argumentami typ_obiektu i nazwa_obiektu. Obiekt może być w jednym z czterech możliwych stanów: nie otwarty lub nieistniejący, otwarty, nowy lub zmodyfikowany, ale nie zapisany.

Na przykład, jeśli projektowany jest kreator wstawiający nowe pole do tabeli, trzeba określić, czy struktura tabeli została zmodyfikowana, ale jeszcze nie zapisana, aby można było zapisać tabelę przed zmianą struktury. Można sprawdzić wartość zwracaną przez funkcję SysCmd, aby określić stan tabeli.

Funkcja SysCmd z argumentem akcja równym acSysCmdGetObjectState może zwrócić dowolną kombinację następujących stałych.

Stała	Stan obiektu bazy danych
acObjStateOpen	Otwarty
acObjStateNew	Nowy
acObjStateDirty	Zmodyfikowany, ale nie zapisany
Uwaga   Jeśli obiekt, do którego odwołuje się argument nazwa_obiektu nie jest otwarty lub nie istnieje, funkcja SysCmd zwraca wartość zero.


SysCmd, funkcja - przykład
SysCmd, funkcja – przykład

W poniższym przykładzie tworzony jest obiekt Recordset typu utrwalony zestaw rekordów, czytany jest każdy rekord i wyświetlany wskaźnik zaawansowania pokazujący bieżące względne położenie rekordu w utrwalonym zestawie rekordów.

Function ReadRecords(strTableName As String) As Integer

Const conBadArgs = -1

Dim dbs As Database, rst As Recordset

Dim lngCount As Long, strMsg As String

Dim varReturn As Variant, lngX As Long

ReadRecords = 0

If strTableName <> "" Then

DoCmd.Hourglass True

Set dbs = CurrentDb

On Error Resume Next

Set rst = dbs.OpenRecordSet(strTableName)

' Get record count.

rst.MoveLast

rst.MoveFirst

If Err Then

ReadRecords = conBadArgs

End If

lngCount = rst.RecordCount

On Error GoTo 0

If lngCount Then

strMsg = "Reading " & UCase$(strTableName) & "..."

varReturn = SysCmd(acSysCmdInitMeter, strMsg, lngCount)

' Display message in status bar.

For lngX = 1 To lngCount

varReturn = SysCmd(acSysCmdUpdateMeter, lngX)

' Update meter.

.	' Do something with record.

.

.

rst.MoveNext	' Go to next record.

Next lngX

varReturn = SysCmd(acSysCmdClearStatus)

GoSub CloseObjects

ReadRecords = lngCount	' Return number of records.

Exit Function

End If

End If

' Not found or contains no records.

strMsg = "Table '" & strTableName & "'not found or contains no records.'"

MsgBox strMsg, vbInformation, "ReadRecords"

GoSub CloseObjects

Exit Function

CloseObjects:

On Error Resume Next

rst.Close

dbs.Close

On Error GoTo 0

DoCmd.Hourglass False

Return

End Function

W następnym przykładzie zostało pokazane, jak można użyć funkcji SysCmd z argumentem akcja równym acSysCmdGetObjectState do określenia stanu aktywnego obiektu bazy danych.

Dim intObjType As Integer, strObjName As String, intObjState As Integer

intObjType = Application.CurrentObjectType

strObjName = Application.CurrentObjectName

intObjState = SysCmd(acSysCmdGetObjectState, intObjType, strObjName)

If intObjState <> 0 Then

.

.

.

End If