Informationen zur Konvertierung und Kompatibilität

Sie können eine Microsoft Access 97-Datenbank nicht mit früheren Microsoft Access-Versionen öffnen. Sie können jedoch Microsoft Access 97 (Version 8.0)-Tabellen mit Microsoft Access 95 (Version 7.0)-Datenbanken verknüpfen und in diese importieren. Sie können auch eine Version 8.0-Tabelle in eine Version 7.0-Datenbank exportieren, und Sie können Daten aus einer Version 8.0-Tabelle ausschneiden und in eine Version 7.0-Tabelle kopieren oder einfügen.

Sie können eine Datenbank, die mit einer früheren Version von Microsoft Access erstellt wurde, so aufbereiten, daß sie mit Microsoft Access 97 ausgeführt werden kann. Sie können jedoch keine neuen Objekte zu dieser Datenbank hinzufügen und keinen Objektentwurf in der Datenbank ändern.

Wenn die Konvertierung einer Datenbank in Microsoft Access 97 fehlschlägt, können Sie auch eine neue Microsoft Access 97-Datenbank erstellen und alle Objekte aus der früheren Version in die neue Datenbank importieren.

Anmerkung   Wenn Sie eine Datenbank gemeinsam mit Benutzern verwenden möchten, die mit einer früheren Version von Microsoft Access arbeiten, öffnen Sie die Datenbank der früheren Version, um sie lediglich aufzubereiten und nicht zu konvertieren. Konvertieren Sie die Datenbank in diesem Fall also nicht in das Microsoft Access 97-Format.

Konvertieren einer Datenbank

Konvertieren einer gesicherten Datenbank aus einer früheren Version von Microsoft Access

Konvertieren von Bibliotheksdatenbanken und Add-Ins

Was ist neu für Entwickler: Überblick

Geänderte Eigenschaftennamen

Geänderte und entfernte Optionen in Microsoft Access 97

Konvertieren von Access Basic-Code in Visual Basic

Konvertieren von Code, der eine DLL aufruft

Makroaktionen und Methoden des DoCmd-Objekts

Konvertieren von Tastenkombinationen für Tastaturbefehle/SendKeys

Neues Format für eingebaute Konstanten

Kompatibilität von Gültigkeitsbereichen und Objektnamen

DAO-Objektbibliothekskompatibilität

Beispiele zum Konvertieren von DAO-Code


Konvertieren von Bibliotheksdatenbanken und Add-Ins

Wenn Sie mit Add-Ins oder Bibliotheksdatenbanken arbeiten möchten, die in früheren Microsoft Access-Versionen erstellt wurden, konvertieren Sie diese in das Microsoft Access 97 (Version 8.0)-Format, bevor Sie sie mit Anwendungen in Microsoft Access 97 verwenden können. Unter Umständen müssen Sie auch einige Änderungen an den Objekten, Makros und Prozeduren Ihrer Bibliotheksdatenbanken und Add-Ins vornehmen, damit diese korrekt ausgeführt werden.

Weitere Informationen zu Bibliotheksdatenbanken finden Sie in Kapitel 12, "Verwenden von Bibliotheksdatenbanken und DLL-Dateien", in Erstellen von Anwendungsprogrammen mit Microsoft Access 97, oder unter dem Hilfethema Einstellen von Verweisen auf Klassenbibliotheken.

Verweisen auf und Laden von Bibliotheksdatenbanken

Bevor Sie eine Bibliothek in Microsoft Access 97 verwenden können, müssen Sie für jede Anwendung, die die Bibliotheksdatenbank verwendet, einen Verweis darauf einrichten. Sie richten einen Verweis ein, indem Sie beim Arbeiten in der Modul-Entwurfsansicht im Menü Extras auf Verweise klicken. Die referenzierte Datenbank muß sich im Microsoft Access 97-Format befinden.

Eine Bibliotheksdatenbank enthält ausschließlich Visual Basic-Code, den Sie aus jeder Anwendung aufrufen können, die auf die entsprechende Bibliothek verweist. In den Versionen 1.x und 2.0 von Microsoft Access haben Sie eine Bibliotheksdatenbank beim Starten geladen, indem Sie im Bereich Libraries der .INI-Datei einen Eintrag eingefügt haben. Die Informationen, die in den Versionen 1.x und 2.0 in einer .INI-Datei gespeichert wurden, befinden sich in den höheren Versionen überwiegend in der Windows-Registrierung. Sie brauchen jedoch keinen Windows-Registrierungsschlüssel zu erstellen, um mit einer Bibliotheksdatenbank arbeiten zu können.

Zirkelbezüge zwischen Bibliotheken

In den Versionen 1.x und 2.0 von Microsoft Access sind Zirkelbezüge zwischen Bibliotheken möglich. Diese sind in höheren Microsoft Access-Versionen jedoch nicht mehr zulässig. Das bedeutet, daß Sie keinen Verweis von Bibliothek B auf Bibliothek A erstellen können, wenn Sie bereits einen Verweis von Bibliothek A auf Bibliothek B eingerichtet haben.

Aufrufen von benutzerdefinierten Add-Ins aus Menüs und Symbolleisten

In den Versionen 1.x und 2.0 von Microsoft Access werden Add-Ins automatisch im Untermenü Add-Ins des Menüs Datei angezeigt. In höheren Microsoft Access-Versionen befindet sich das Untermenü Add-Ins im Menü Extras. In Microsoft Access 97 können Sie auch aus jeder Symbolleiste und aus jedem Menü auf Add-Ins verweisen.


Kompatibilität bezüglich des Gültigkeitsbereichs und der Benennung von Objekten

Die Gültigkeitsbereichsregeln von Visual Basic wirken sich auf die Namen aus, die Sie für Ihre Objekte, Module und Prozeduren wählen.

Module und andere Objekte mit identischem Namen

Wenn Sie ein Modul benennen, wählen Sie keinen Namen, der mit Form_ oder Report_ beginnt. Es können sonst Konflikte mit bestehendem Code auftreten, den Sie für Formulare und Berichte geschrieben haben.

Wenn ein Modul in einer Anwendung, die mit den Versionen 1.x oder 2.0 von Microsoft Access erstellt wurde, nicht diesen Namenskonventionen entspricht, erzeugt Microsoft Access 97 einen Fehler, wenn Sie versuchen, die Anwendung zu konvertieren. So erzeugt z.B. ein Modul mit dem Namen Form_Bestellungen in einer Microsoft Access-Datenbank der Version 1.x oder 2.0 einen Fehler, und Sie werden dazu aufgefordert, das Modul vor dem Konvertieren umzubenennen.

Module und Prozeduren mit identischem Namen

Sie können einer Prozedur den gleichen Namen geben wie einem Modul. Wenn Sie diese Prozedur aus einem beliebigen Ausdruck Ihrer Anwendung aufrufen, geben Sie jedoch den ausführlichen Namen der Prozedur an, d.h. den Modulnamen und den Prozedurnamen, wie z.B.:

IsLoaded.IsLoaded("Bestellungen")

Prozeduren und Steuerelemente mit identischem Namen

Wenn Sie aus einem Formular eine Prozedur aufrufen, die den gleichen Namen wie ein Steuerelement des Formulars besitzt, geben Sie den ausführlichen Namen des Prozeduraufrufs an, d.h. auch den Namen des Moduls, in dem sich die Prozedur befindet. Wenn Sie z.B. die Prozedur Rechnungsdruck aufrufen möchten, die sich in dem Standardmodul Dienstprogramme befindet, und es im gleichen Formular auch eine Schaltfläche mit dem Namen Rechnungsdruck gibt, verwenden Sie beim Aufrufen der Prozedur aus Ihrem Formular oder Formularmodul den ausführlichen Namen Dienstprogramme.Rechnungsdruck.

Steuerelemente mit ähnlichen Namen

Sie können Steuerelemente nicht so benennen, daß sich ihre Namen nur durch ein Leerzeichen oder ein Sonderzeichen unterscheiden. So können Sie z.B. nicht gleichzeitig Steuerelemente mit den Namen [Telefon_Privat], [TelefonPrivat] und [Telefon+Privat] bezeichnen.

Module und Klassenbibliotheken mit identischem Namen

Sie können ein Modul nicht unter dem gleichen Namen wie eine Klassenbibliothek speichern. Wenn Sie ein Modul unter dem Namen DAO, Access oder VBA zu speichern versuchen, weist Sie eine Fehlermeldung darauf hin, daß der Name zu Konflikten mit einem bestehenden Modul, Projekt oder einer Objektbibliothek führt. Ebenso können Sie ein Modul nicht unter dem Namen Excel speichern, wenn Sie z.B. einen Verweis auf eine Microsoft Excel-Klassenbibliothek hergestellt haben.

Felder und Methoden mit identischem Namen

Wenn ein Tabellenfeld denselben Namen wie eine Datenzugriffsmethode (DAO) für ein Recordset-Objekt besitzt, können Sie auf das entsprechende Feld der Datensatzgruppe nicht mit Hilfe der Syntax . (Punkt) verweisen. Verwenden Sie in diesem Fall die Syntax ! (Ausrufezeichen), damit Microsoft Access keinen Fehler erzeugt. Das folgende Beispiel verdeutlicht, wie Sie auf das Feld NeuesFeld einer geöffneten Datensatzgruppe verweisen können, die auf einer Tabelle namens Kontakte basiert.

Dim dbs As Database, rst As Recordset

Set dbs = CurrentDb

Set rst = dbs.OpenRecordset("Kontakte")

Debug.Print rst!NeuesFeld

Module und Visual Basic-Funktionen mit identischem Namen

Wenn Sie ein Modul unter dem Namen einer eingebauten Visual Basic-Funktion speichern, erzeugt Microsoft Access einen Fehler, sobald Sie versuchen, die Funktion auszuführen. Wenn Sie z.B. ein Modul unter dem Namen MsgBox speichern und dann versuchen, eine Prozedur auszuführen, welche die Funktion MsgBox aufruft, zeigt Microsoft Access die Fehlermeldung "Variable oder Prozedur anstelle eines Moduls erwartet" an.

Module und Objekte mit identischem Namen

Wenn eine mit einer früheren Version von Microsoft Access erstellte Datenbank ein Modul enthält, das denselben Namen wie ein Microsoft Access-Objekt oder ein Datenzugriffsobjekt besitzt, können beim Konvertieren Ihrer Datenbank nach Microsoft Access 97 Kompilierfehler auftreten. Beispielsweise können Module mit dem Namen Form oder Database einen Kompilierfehler erzeugen. Benennen Sie das Modul um, damit derartige Fehler vermieden werden.

Benennen von Feldern, die in Ausdrücken verwendet werden oder an Steuerelemente in Formularen und Berichten gebunden sind

Wenn Sie in einer Tabelle ein Feld erstellen, das in einem Bericht an ein Steuerelement gebunden oder in einem Ausdruck in der Eigenschaft  Control Source eines Steuerelements oder Berichts verwendet wird, weisen Sie dem Feld in keinem Fall den Namen einer Methode des Application-Objekts zu. Um eine Liste der Methoden des Application-Objekts anzuzeigen, klicken Sie in der Modul-Entwurfsansicht im Menü Ansicht auf Objektkatalog. Klicken Sie dann im Feld Projekt/Bibliothek auf Access, klicken Sie im Feld Klassen auf Application, und sehen Sie die Methoden des Application-Objekts im Feld Elemente von an.

Wenn Sie in einer Tabelle ein Feld erstellen, das in einem Formular oder Bericht an ein Steuerelement gebunden wird, weisen Sie dem Feld in keinem Fall die folgenden Namen zu: AddRef, GetIDsOfNames, GetTypeInfo, GetTypeInfoCount, Invoke, QueryInterface, Release.

Bezeichner und Visual Basic-Schlüsselwörter mit identischem Namen

Die in Microsoft Access 97 verwendete Visual Basic-Version enthält einige neue Visual Basic-Schlüsselwörter. Sie können daher die betreffenden Schlüsselwörter nicht mehr als Bezeichner verwenden. Es handelt sich um die folgenden Schlüsselwörter: AddressOf, Assert, Decimal, DefDec, Enum, Event, Friend, Implements, RaiseEvent und WithEvents. Wenn Sie eine mit einer früheren Version von Microsoft Access erstellte Datenbank konvertieren, erzeugen bestehende Bezeichner mit demselben Namen wie ein neues Visual Basic-Schlüsselwort einen Kompilierfehler. Um das Problem zu beheben, benennen Sie die Bezeichner um.

Projekte und Microsoft Access-Objekte mit identischen Namen

Ein Projektname ist die Zeichenfolge, die für den Namen Ihrer Microsoft Access-Anwendung steht. In früheren Versionen von Microsoft Access war der Projektname der Name der Datenbank. In Microsoft Access 97 wird der Projektname durch die Einstellung der Eigenschaft ProjectName festgelegt. Deren Standardeinstellung ist der Name der Datenbank. Wenn Sie eine Datenbank konvertieren, deren Namen mit dem einer Klasse von Objekten übereinstimmt (z.B. ANWENDUNG., FORMULAR. oder BERICHT.), fügt Microsoft Access dem Datenbanknamen einen Unterstrich hinzu, um einen Projektnamen zu erstellen, durch den sich kein Konflikt mit bestehenden Objekten ergibt.


Makroaktionen und Methoden des Objekts "DoCmd"

Zum Ausführen von Makro-Aktionen aus Code verwenden Sie in Microsoft Access 97 das DoCmd-Objekt und die zugehörigen Methoden. Dieses Objekt ersetzt die Anweisung DoCmd, die Sie in den Versionen 1.x und 2.0 von Microsoft Access zum Ausführen von Makro-Aktionen verwendet haben.

Wenn Sie eine Datenbank konvertieren, konvertiert Microsoft Access automatisch alle DoCmd-Anweisungen und die Aktionen, die diese im Access Basic-Code ausführen, in Methoden des DoCmd-Objekts, indem das Leerzeichen durch den Operator . (Punkt) ersetzt wird.

Die Funktionsweise einiger Makro-Aktionen hat sich in Microsoft Access 97 gegenüber den Versionen 1.x, 2.0 oder 7.0 geändert. Diese Änderungen werden nachstehend genauer erläutert.

Datenbanken, die mit Microsoft Access 95 erstellt wurden

Die AusführenMenübefehl-Aktion

Die Aktion AusführenMenübefehl wird in Microsoft Access 97 nicht mehr verwendet. Um die Aufgaben der Aktion AusführenMenübefehl durchzuführen, verwenden Sie die neue Aktion AusführenBefehl.

Wenn Sie eine Datenbank aufbereiten, die mit einer früheren Version von Microsoft Access erstellt wurde, funktioniert die Aktion AusführenMenübefehl genauso wie bisher.

Wenn Sie eine Datenbank konvertieren, die mit einer früheren Version von Microsoft Access erstellt wurde, werden alle AusführenMenübefehl-Aktionen in Makros durch AusführenBefehl-Aktionen ersetzt, wenn die Makros zum ersten Mal nach der Konvertierung gespeichert werden. DoMenuItem-Methoden, die in Visual Basic-Prozeduren verwendet werden, bleiben unverändert.

Datenbanken, die mit Microsoft Access, Version 1.x oder 2.0, erstellt wurden

Die TransferArbeitsblatt-Aktion

Microsoft Access 97 kann keine Arbeitsblätter aus Microsoft Excel, Version 2.0, oder aus Lotus 1-2-3, Version 1.0, importieren. Wenn Ihre konvertierte Datenbank ein Makro enthält, das diese Funktionalität in der Version 1.x oder 2.0 von Microsoft Access mit Hilfe der Aktion TransferArbeitsblatt bereitstellte, wird durch das Konvertieren das Argument Dateiformat in Microsoft Excel, Version 3.0 geändert (falls Sie ursprünglich Microsoft Excel, Version 2.0 angegeben hatten), oder es kommt zu einem Fehler (wenn Sie ursprünglich Lotus 1-2-3, Version 1.0 angegeben hatten).

Sie können dieses Problem umgehen, indem Sie die Arbeitsblätter zuerst nach einer höheren Version von Microsoft Excel oder Lotus 1-2-3 konvertieren und dann in Microsoft Access importieren.

Die TransferText- und TransferArbeitsblatt-Aktionen

In Microsoft Access 97 können Sie keine SQL-Anweisung verwenden, um die Daten festzulegen, die mit Hilfe der Aktionen TransferText oder TransferArbeitsblatt exportiert werden sollen. Statt dessen erstellen Sie zunächst eine Abfrage und geben dann den Namen der Abfrage im Aktionsargument Tabellenname an.

Vergleich, die Nullwerte enthalten

Wenn Sie in Microsoft Access, Versionen 1.x und 2.0, zwei Ausdrücke innerhalb einer Makrobedingung mit Hilfe eines Vergleichsoperators vergleichen und einer dieser Ausdrücke eine Null ist, gibt Access Basic für den Vergleich True oder False zurück, je nachdem, welchen Vergleichsoperator Sie verwenden. In Microsoft Access 95 und Microsoft Access 97, gibt Visual Basic für einen Vergleich, in dem ein Ausdruck Null ist, Null zurück. Mit Hilfe der Funkion IsNull können Sie das Ergebnis des Vergleichs überprüfen und bestimmen, ob der Vergleich Null ergibt.


Konvertieren von Access Basic-Code in Visual Basic

In Microsoft Access 97 ersetzt Visual Basic für Applikationen die Programmiersprache Access Basic, die in den Versionen 1.x und 2.0 von Microsoft Access verwendet wurde. Visual Basic ist größtenteils identisch mit Access Basic, und Microsoft Access führt beim Konvertieren Ihrer Datenbank die wichtigsten Code-Konvertierungen automatisch durch.

Der Konvertierungsvorgang nimmt jedoch einige Änderungen an Ihrem Code vor, die Sie kennen sollten. Einige zusätzliche Änderungen müssen Sie noch selbst vornehmen, damit die Anwendung in Microsoft Access 97 korrekt ausgeführt wird.

Anmerkung   Der Befehlszeilenschalter /runtime steht in der Stand-Alone-Version und der Office Professional Edition von Microsoft Access 97 nicht zur Verfügung, dafür jedoch in der Office Developer Edition von Microsoft Access 97.

Aufrufen der Windows-API (Schnittstelle für die Anwendungsprogrammierung)

Wenn Ihr bestehender Access Basic-Code der Version 1.x oder 2.0 Aufrufe der Windows-Schnittstelle für die Anwendungsprogrammierung (API) durchführt, ändern Sie ggf. diese Aufrufe beim Konvertieren der Datenbank. Die Versionen 1.x und 2.0 von Microsoft Access sind 16-Bit-Anwendungen und werden auf 16-Bit-Versionen von Windows ausgeführt. Microsoft Access 97 ist dagegen eine 32-Bit-Anwendung und benötigt eine 32-Bit-Version von Windows − d.h. Windows 95 oder Windows NT.

Überprüfen Sie alle Declare-Anweisungen daraufhin, daß sie auf die richtigen 32-Bit-DLL-Dateien (Dynamic Link Libraries) verweisen. Die 32 Bit-Version von Windows enthält z.B. die Datei USER32.DLL; in früheren Windows-Versionen hatte diese DLL den Namen USER.DLL. Weitere Informationen finden Sie unter Konvertieren von Code, der eine DLL aufruft. Zusätzliche Informationen finden Sie in "Porting your 16-bit Microsoft Office-Based Solutions to 32-Bit Microsoft Office" im Abschnitt "Technical Information" des Microsoft Access Developer Forums in der Web Site http://www.microsoft.com/accessdev/.

Einige Funktionsnamen in der Windows-API haben sich geändert. Darüber hinaus unterscheiden die Funktionen der 32-Bit-Windows-API zwischen Groß- und Kleinschreibung. Eine ausführliche Beschreibung finden Sie im Microsoft Win32 Software Development Kit.

Einige Eigenschaften und optionale Argumente werden exakt eingegeben

Bestimmte Eigenschaften, die in früheren Versionen von Microsoft Access Werte des Datentyps Variant lieferten, geben nun Zeichenfolgen zurück. Code, der solche Eigenschaften enthält, wird nun schneller ausgeführt; wenn Sie jedoch eine Datenbank aus einer früheren Version von Microsoft Access in Microsoft Access 97 konvertieren, müssen Sie überprüfen, ob durch diese neuen Rückgabewerte keine Fehler eingeführt werden.

Darüber hinuas müssen einige optionale Argumente, die in früheren Versionen von Microsoft Access den Datentyp Variant aufwiesen, nun exakt eingegeben werden. Davon sind die folgenden Methoden, Eigenschaften und Funktionen betroffen: die Methode GoToPage eines Form-Objektes, die Methoden OpenCurrentDatabase, Echo, Quit, CreateForm, CreateReport, CreateControl und CreateReportControl des Application-Objektes, die Eigenschaft Column eines Kombinations- oder Listenfelds und die Aggregatfunktionen für Domänen. Enthält Ihr Code eines dieser Elemente, sollten Sie überprüfen, daß beim Konvertieren Ihrer Datenbank keine Fehler eingeführt werden.

Zur Überprüfung auf Fehler kompilieren Sie zunächst den gesamten Code in der Datenbank. Überprüfen Sie dann, ob bei Ausführung Ihres Codes Laufzeitfehler auftreten. Die folgenden beiden Fehler treten am ehesten auf: "Typ nicht passend" oder "Ungültige Verwendung von Null".

Sie sollten auch überprüfen, ob sich beim Konvertieren einer Datenbank keine stillen Fehler eingeschlichen haben. Die Eigenschaft RecordSource eines Steuerelements lieferte bisher z.B. einen Wert des Datentyps Variant, gibt jetzt jedoch eine Zeichenfolge zurück. Eine Zeichenfolge kann im Gegensatz zu einem Wert des Datentyps Variant keinen Wert Null enthalten. Code in einer konvertierten Datenbank, der überprüft, ob der Wert der Eigenschaft RecordSource gleich Null ist, wird nicht mehr korrekt ausgeführt, da der Wert der Eigenschaft RecordSource niemals Null ist. Die folgende Prozedur ist ein Beispiel für einen Code, der überprüft, ob der Wert der Eigenschaft RecordSource eines Textfelds gleich Null ist.

Private Sub Formular_Laden()

If IsNull(Me.RecordSource) Then

Me.Recordsource = "Personal"

End If

End Sub

In Microsoft Access 97 gibt die Funktion IsNull niemals True für den Wert der Eigenschaft RecordSource zurück. Wurde die Eigenschaft RecordSource nicht bereits im vorherigen Beispiel eingestellt, ist sein Wert eine leere Zeichenfolge, die Funktion IsNull liefert den Wert False und die Prozedur geht niemals in das If...Then-Konstrukt, um die Eigenschaft RecordSource einzustellen.

Um den Code im vorangehenden Beispiel zu korrigieren, überprüfen Sie mit Hilfe der Funktion Len die Länge der Zeichenfolge, die von der Eigenschaft RecordSource zurückgegeben wird und bestimmen so, ob es sich um eine leere Zeichenfolge handelt. Die folgende Zeile korrigiert den Code im vorangehenden Beispiel:

If Len(Me.RecordSource) = 0 Then

' Restliche Prozedur hier eingeben.

Änderungen an Modulen

In den Versionen 1.x und 2.0 von Microsoft Access wurden Module als globale Module bezeichnet, wenn sie allgemeine, keinem bestimmten Formular- oder Berichtsmodul zugeordnete Prozeduren enthielten. In Microsoft Access 97 heißen solche Module Standardmodule.

Microsoft Access 97 enthält Klassenmodule, mit denen Sie benutzerdefinierte Objekte erstellen können. Jede öffentliche Prozedur in einem Klassenmodul wird zu einer Methode oder Eigenschaft des benutzerdefinierten Objekts, wenn Sie eine neue Instanz der Klasse erstellen. Klassenmodule existieren sowohl eigenständig als auch in Verbindung mit Formularen und Berichten. Weitere Informationen über Klassenmodule finden Sie unter Programmieren mit Klassenmodulen.

Die CurrentDb-Funktion im Vergleich zu DBEngine(0)(0)

Verwenden Sie die Funktion CurrentDb anstelle von DBEngine(0)(0), um eine Database-Objektvariable zurückzugeben, die auf die aktuelle Datenbank zeigt. Die Funktion CurrentDb erstellt eine weitere Instanz der aktuellen Datenbank, während sich DBEngine(0)(0) auf die geöffnete Kopie der aktuellen Datenbank bezieht. Die Verwendung von DBEngine(0)(0) beschränkt Ihre Möglichkeiten, mehrere Variablen vom Typ Database, die sich auf die aktuelle Datenbank beziehen, zu verwenden.

Da DBEngine(0)(0) noch unterstützt wird, ändert Microsoft Access Ihren Code bei der Konvertierung nicht. Es empfiehlt sich jedoch, diese Änderungen an Ihrem Code selbst durchzuführen, um eventuellen Konflikten in einer Mehrbenutzerumgebung vorzubeugen.

Die CurDir-Funktion

Das Verhalten der Funktion CurDir hat sich gegenüber der Version 1.x bzw. 2.0 entsprechend der Art und Weise geändert, wie Anwendungen mit Windows 95 kommunizieren. Da jede Anwendung einen eigenen aktuellen Ordner besitzt, hat das Festlegen des aktuellen Ordners in Windows 95 durch Doppelklicken auf ein Symbol keine Auswirkung auf den aktuellen Ordner in Microsoft Access. In Microsoft Access 97 gibt die Funktion CurDir stets den aktuellen Pfad zurück.

Zuweisen eines OLE-Objekts zu einer Variablen

Wenn Sie OLE-Objekte oder andere binäre Daten im Code bearbeiten, speichern Sie die binären Daten in einem Byte-Datenfeld. In den Versionen 1.x und 2.0 von Microsoft Access wurden OLE-Objekte oder andere binäre Daten bis zu 64 KB Größe Zeichenfolgenvariablen zugewiesen, um die Objekte oder Daten im Code bearbeiten zu können. Auch die von der Methode GetChunk zurückgegebenen Daten wurden Zeichenfolgenvariablen zugewiesen. Visual Basic stellt jedoch den Datentyp Byte sowie Byte-Funktionen, wie LeftB und RightB zur Verfügung. Speichern Sie daher binäre Daten in Microsoft Access 97 nicht in Zeichenfolgenvariablen, sondern in einem Byte-Datenfeld, und bearbeiten Sie sie mit den Byte-Funktionen.

Deklarieren von DDE-Kanälen als "Variant" oder "Long"

Wenn Sie mit Hilfe der Funktion DDEInitiate einen DDE-Kanal öffnen, können Sie die Variable zum Speichern der Kanalnummer - ein Wert vom Typ Long - entweder als Wert vom Datentyp Variant oder Long deklarieren. Da die Kanalnummer in den Versionen 1.x und 2.0 von Microsoft Access ein Wert vom Typ Integer ist, ändern Sie alle Deklarationsanweisungen in Ihrem Code, die zum Speichern der Kanalnummer eine Variable vom Typ Integer erstellen.

Fehlschlagen der Zeichenfolgenkonvertierung, wenn diese ein Prozentzeichen (%) enthält

Sie können einer Variablen oder einem Feld mit einem numerischen Datentyp keine Zeichenfolge zuweisen, die ein Prozentzeichen enthält, wie z.B.:

Dim intX As Double

intX = "10"	' Zuweisung ist korrekt.

intX = "10%"	' Zuweisung führt zu einem Fehler.

Die hWnd-Eigenschaft

Wenn Sie in Ihrem Code mit Hilfe der Eigenschaft hWnd eine Fensterkennummer (Handle) eines Formulars oder Berichts an eine Windows-Routine übergeben möchten, übergeben Sie den Wert direkt an die Routine. Es ist nicht sinnvoll, den Wert dieser Eigenschaft einer Variablen zuzuweisen. Beispiel:

If Not IsZoomed(Screen.ActiveForm.hWnd) Then

DoCmd.Maximize

EndIf

In den Versionen 1.x und 2.0 von Microsoft Access war die Eigenschaft hWnd eines Formulars oder Berichts ein Wert vom Typ Integer. In Microsoft Access 97 ist die Eigenschaft hWnd ein Wert vom Typ Long. Ändern Sie daher Ihren Code so, daß er solche Werte korrekt verarbeitet.

DAO-Eigenschaftenobjekte im Vergleich zu Microsoft Access-Eigenschaftenobjekten

Sie können in Ihrem Code mit Objektvariablen nicht auf die Eigenschaft Category verweisen. Die Eigenschaft Category wird für Form-, Report und Control-Objekte nicht mehr unterstützt.

Die Parent-Eigenschaft

Wenn Sie in Microsoft Access 97 die Eigenschaft Parent eines Steuerelements im Code oder in einem Ausdruck eines Formulars oder Berichts verwenden, wird in der Regel das Form- oder Report -Objekt, welches das Steuerelement enthält, zurückgegeben. Wenn beispielsweise Kategorie-Nr ein Textfeld auf dem Formular Kategorien ist, gibt der Code Forms!Kategorien![Kategorie-Nr].Parent einen Verweis auf das Formular Kategorien zurück. Dabei gibt es zwei Ausnahmen: für ein zugeordnetes Bezeichnungsfeld gibt die Eigenschaft Parent jetzt das Steuerelement zurück, dem das Bezeichnungsfeld zugeordnet ist, und für Steuerelemente einer Optionsgruppe wird jetzt das Optionsgruppen-Steuerelement zurückgegeben.

Aufrufen von Code in Microsoft Access-Assistenten

Wenn von Code in Version 1.x- oder Version 2.0-Anwendungen Prozeduren in Microsoft Access-Assistenten aufgerufen werden, erstellen Sie nach dem Konvertieren der Anwendung einen Verweis von der Anwendung auf die Assistentendatenbank, welche die betreffenden Prozeduren enthält. Weitere Informationen zum Einrichten von Verweisen finden Sie unter Einstellen von Verweisen auf Klassenbibliotheken.

In Microsoft Access, Version 2.0, wurde nicht zwischen Assistenten und Bibliotheken unterschieden, so daß ihr globaler Code immer der aktuellen Dankbank zur Verfügung steht. In Microsoft Access 97 werden Assistenten und andere Add-Ins nicht mehr als Bibliotheken behandelt. Da sich bei den Assistenten außerdem von einer Version zur nächsten größere Änderungen ergeben können, kann es vorkommen, daß Sie bestimmte Code-Teile neu schreiben müssen, um den Code nach dem Umstellen auf eine neue Microsoft Access-Version an die Änderungen anzupassen.

Wenn Code, wie z.B. der AutoWähler, nicht mehr in den Microsoft Access-Assistenten unterstützt wird, so wurde dessen Funktionalität zur Datei UTILITY.MDA, einer speziellen Bibliotheksdatenbank in Microsoft Access, hinzugefügt. Ein Verweis auf diese Bibliothek wird automatisch beim Konvertieren einer Datenbank nach Microsoft Access 97 hinzugefügt.

Einrichten eines Verweises auf eine Microsoft Access-Datenbank

In Microsoft Access 97 können Sie keinen Verweis auf eine Datenbank einrichten, die mit einer früheren Version von Microsoft Access erstellt wurde. Konvertieren Sie die Datenbank in eine Microsoft Access 97 (Version 8.0)-Datenbank, um einen Verweis auf sie einzurichten.

Behandeln von Automatisierungsfehlern

In den Versionen 1.x und 2.0 von Microsoft Access geben ActiveX-Komponenten, die Automatisierung unterstützen (früher OLE-Automatisierungs-Server genannt) einen einziger Fehler zurück. Visual Basic aktiviert nun eine ActiveX-Komponente so, daß fehlerspezifische Fehlerinformationen zurückgegeben werden. Wenn Ihre bestehenden Datenbanken Code enthalten, der nur einen einzigen OLE-Automatisierungsfehler behandelt, aktualisieren Sie den Code so, daß die jetzt zurückgegebenen spezielleren Fehlercodes berücksichtigt werden.

Microsoft Access-Fehler und die Error-Funktion

In Microsoft Access 97 verwenden Sie die Eigenschaften des Err-Objekts, um Informationen über Fehler zu erhalten.

Wenn ein Microsoft Access-Fehler auftritt, erhalten Sie die Fehlernummer und Fehlerbeschreibung, indem Sie die Eigenschaften Number und Description des Err-Objekts wie im folgenden Beispiel verwenden:

Debug.Print Err.Number, Err.Description

Um Informationen über Microsoft Access-, Visual Basic- oder DAO-Fehler zurückzugeben, verwenden Sie die Methode AccessError. Mit dieser Methode erhalten Sie Informationen über einen Fehler unabhängig davon, ob der Fehler tatsächlich aufgetreten ist.

Ausrufezeichen oder Punkt-Operator in Verweisen auf DAO-Felder

Wenn Sie den Operator . (Punkt) beim Verweisen auf ein Field-Objekt eines Recordset-Objekts in Anwendungen verwendet haben, die in den Versionen 1.x und 2.0 von Microsoft Access erstellt wurden, verwenden Sie in diesen Verweisen jetzt den Operator ! (Ausrufezeichen). Wenn Sie weiterhin den Operator . (Punkt) verwenden möchten, richten Sie im Dialogfeld Verweise einen Verweis auf die Microsoft DAO 2.5/3.5-Kompatibilitätsbibliothek ein. Sie öffnen dieses Dialogfeld, indem Sie in der Modul-Entwurfsansicht im Menü Extras auf Verweise klicken.

Konvertierte ActiveX-Steuerelemente

Wenn Ihre Anwendung ActiveX-Steuerelemente (früher OLE-Steuerelemente oder Zusatzsteuerelemente genannt) enthält, die in Version 2.0 eingerichtet wurden, stellen Sie ggf. das Schlüsselwort ByVal den Argumenten voran, die an Ereignisprozeduren übergeben werden, welche von ActiveX-Steuerelementen aufgerufen werden, wie z.B.:

Sub MonatWechseln_Click(ByVal intAktuellesJahr As Integer)

Sie können herausfinden, ob ein Argument als Wert übergeben werden muß, indem Sie in der Modul-Entwurfsansicht im Menü Testen auf Alle Module kompilieren klicken. Wenn Sie folgende Fehlermeldung erhalten, stellen Sie dem Argument das Schlüsselwort ByVal voran: "Ereignisprozedurdeklaration stimmt nicht mit Beschreibung des gleichnamigen Ereignisses überein."

Da die Datentypüberprüfung von Argumenten in Microsoft Access 97 verbessert wurde, wird in neuen Ereignisprozeduren, die für ActiveX-Steuerelemente erstellt werden, bei Bedarf automatisch das Schlüsselwort ByVal eingefügt.

Aufrufen von Prozeduren in Formular- und Berichtsmodulen

In den Versionen 1.x und 2.0 von Microsoft Access konnten Sie eine in einem Formular oder Bericht definierte Prozedur nicht von einer beliebigen Stelle aufrufen, sondern nur innerhalb des betreffenden Formular- oder Berichtsmoduls. In Microsoft Access 97 können Sie eine öffentliche Prozedur in einem Formular- oder Berichtsmodul von jeder beliebigen Prozedur der aktuellen Datenbank aus aufrufen. Geben Sie hierzu für die Prozedur den Klassennamen des Formular- oder Berichtsmoduls an. Beispielsweise können Sie die Prozedur AnzeigeMeldung, die im Modul des Formulars Bestellungen definiert ist, folgendermaßen aufrufen:

Form_Bestellungen.AnzeigeMeldung

Fügen Sie Prozeduren, die außerhalb eines Formulars oder Berichts aufgerufen werden, am besten einem Standardmodul und nicht einem Formular- oder Berichtsmodul hinzu.

Verweisen auf Formulare, Berichte und Steuerelemente aus dem Testfenster

Beim Testen von Code und bei der Fehlersuche geben Sie alle im Testfenster verwendeten Verweise auf Objekte vollständig an, es sei denn, Sie haben die Ausführung in einem Formular- oder Berichtsmodul unterbrochen. Das bedeutet, daß Sie im Direktbereich des Testfensters den Code Forms!Kategorien![Kategorie-Nr] statt lediglich [Kategorie-Nr] verwenden müssen, um sich auf das Steuerelement Kategorie-Nr des Formulars Kategorien in der Formularansicht zu beziehen, auch wenn das Formular Kategorien das aktuelle Formular ist.

Ebenso können Sie mit dem Schlüsselwort Me nur dann im Testfenster einen Verweis auf ein Objekt in einem Formular oder Bericht in der Entwurfsansicht erstellen, wenn Sie die Code-Ausführung im Formular oder Bericht unterbrochen haben.

Konvertieren von Formularen und Berichten, die ActiveX-Steuerelemente enthalten

Wenn Sie eine Microsoft Access-Datenbank der Version 2.0 zur Verwendung in Microsoft Access 97 (Version 8.0) konvertieren, werden ActiveX-Steuerelemente in Formularen und Berichten unter Umständen nicht automatisch konvertiert. Microsoft Access 2.0 unterstützt 16-Bit-OLE-Zusatzsteuerelemente, die Version 8.0 dagegen ausschließlich 32-Bit-ActiveX-Steuerelemente.

Wenn Sie eine Datenbank konvertieren, die ein Formular oder einen Bericht mit einer 16-Bit-Version eines ActiveX-Steuerelements enthält, und die 32-Bit-Version noch nicht in Ihrem System vorhanden ist, zeigt Microsoft Access eine Fehlermeldung an. Für jedes ActiveX-Steuerelement, das Sie aktualisieren möchten, muß eine 32-Bit-Version vorhanden und in der Systemregistrierung eingetragen sein. Speichern Sie das Formular oder den Bericht dann in der konvertierten Datenbank, schließen Sie die Datenbank, und öffnen Sie sie erneut.

Aufbereiten einer Datenbank, die mit einer früheren Version von Microsoft Access erstellt wurde

Wenn Sie eine große Datenbank aufbereiten, die mit der Version 1.x oder 2.0 von Microsoft Access erstellt wurde, diese aber nicht in Microsoft Access 97 konvertieren, vergrößern Sie ggf. die maximale Puffergröße über die Standardeinstellung hinaus. Um diese Einstellung zu ändern, öffnen Sie die Windows-Registrierung, und gehen Sie zu dem Schlüssel \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\3.0\Engines\Jet 2.x. Erstellen Sie einen neuen Schlüssel namens ISAM, und erstellen Sie innerhalb dieses Schlüssels den neuen DWORD-Wert MaxBufferSize. Setzen Sie diesen Wert auf 1024 (dezimal). Weitere Informationen zum Bearbeiten der Windows-Registrierung finden Sie in der Microsoft Windows-Dokumentation.

Zeitangaben in Abfragekriterien

Nach dem Konvertieren einer Datenbank aus den Versionen 1.x oder 2.0 nach Microsoft Access 97 geben Abfragen mit Kriterien, die auf bestimmten Zeitangaben in Feldern von Typ Datum/Zeit basieren, möglicherweise andere Ergebnisse zurück als in den früheren Versionen. Dies kann auch vorkommen, wenn Sie Tabellen einer Datenbank aus den Versionen 1.x oder 2.0 mit einer Microsoft Access 97-Datenbank verknüpfen; hiervon ist lediglich der Zeitteil von Feldern vom Typ Datum/Zeit betroffen.

Visual Basic-Funktionen, die nicht in Ausdrücken unterstützt werden

Die folgenden sechs Visual Basic-Funktionen können nicht mehr in Ausdrücken außerhalb einer benutzerdefinierten Sub-Prozedur oder Funktion verwendet werden:

EOF	Loc
FileAttr	LOF
FreeFile	Seek
Wenn Sie eine dieser Funktionen in einem Ausdruck außerhalb einer Prozedur verwenden möchten, können Sie die Funktion von einer benutzerdefinierten Funktion aus aufrufen, die wiederum im Ausdruck aufgerufen wird.

Zeilennummern in Visual Basic-Prozeduren

Sie können Anweisungen in Visual Basic-Prozeduren nur Zeilennummern bis 65529 zuweisen. Wenn eine aus Microsoft Access, Version 1.x oder 2.0, konvertierte Anwendung höhere Zeilennummern als 65529 enthält, passen Sie diese so an, daß sie im gültigen Bereich liegen.

Die Schaltflächen "Nächste Prozedur" und "Vorherige Prozedur"

Die Schaltflächen Nächste Prozedur und Vorherige Prozedur, die sich in den Versionen 1.x und 2.0 von Microsoft Access auf der Modul-Symbolleiste befinden, sind in Microsoft Access 97 nicht mehr verfügbar. Das Konvertieren einer Datenbank der Versionen 1.x oder 2.0 mit einer benutzerdefinierten Symbolleiste, die eine dieser Schaltflächen enthält, verursacht zwar keinen Fehler, aber beim Klicken auf die Schaltflächen reagieren diese nicht.

Fehler "Nicht genügend Speicher" beim Konvertieren großer Datenbanken

Visual Basic für Applikationen ist auf 1082 Module pro Datenbank beschränkt, wobei Formulare und Berichte jeweils ein Modul enthalten. Um dieses Problem zu beheben, verringern Sie die Anzahl der Objekte in Ihrer Datenbank, oder teilen Sie die Anwendung in mehrere Datenbanken auf. Wenn Ihre Module sehr viel Code besitzen, speichern Sie den Code nach Möglichkeit in Bibliotheksdatenbanken.

Formatieren von Nullwerten und leeren Zeichenfolgen

In Microsoft Access, Version 2.0, können Sie mit der Funktion Format einen Wert für eine leere Zeichenfolge und einen anderen Wert für einen Null-Wert zurückgeben. Ebenso können Sie mit der Eigenschaft Format automatisch Felder in der Tabellen-Datenblattansicht oder Steuerelemente auf einem Formular oder Bericht formatieren. Beispielsweise können Sie den folgenden Formatausdruck in der Funktion Format verwenden, um den entsprechenden Zeichenfolgenwert aus dem Code zurückzugeben:

Dim var As Variant, strX As String

' Zuweisen eines Wertes an strX und Übergeben an die Format-Funktion.

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

Testen Sie in Microsoft Access 97 selbst auf den Null-Wert und geben dann ergebnisabhängig den entsprechenden Wert zurück. Beispielsweise können Sie die Funktion IIf in einem Ausdruck zusammen mit der Funktion Format wie folgt verwenden:

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

Diese Änderung ist nur dann von Bedeutung, wenn Sie mit der Funktion Format einen Wert abhängig davon formatieren, ob es sich um eine leere Zeichenfolge oder einen Null-Wert handelt. Andere Formatausdrücke in der Funktion Format können genauso wie in früheren Versionen verwendet werden.

Wenn Sie eine Datenbank von Microsoft Access, Version 2.0, nach Microsoft Access 97 konvertieren, ändern Sie den Code und die Eigenschafteneinstellungen so, daß diese Methoden verwendet werden. Sie können die Eigenschaft Format in der Tabellen-Datenblattansicht nicht verwenden, um zwischen Null-Werten und leeren Zeichenfolgen zu unterscheiden.


Kompatibilität der DAO-Objektbibliotheken

Microsoft Access 97 stellt neue DAO-Objekte, -Methoden und -Eigenschaften zur Verfügung, die diejenigen der Versionen 1.x und 2.0 ersetzen. Während der Code in Microsoft Access 97 mit früherem DAO-Code kompatibel ist, werden zukünftige Microsoft Access-Versionen möglicherweise keine Unterstützung mehr für einige ältere Objekte, Methoden und Eigenschaften bieten. Die folgenden Abschnitte erleichtern Ihnen das Nutzen der abwärtskompatiblen Features in Microsoft Access 97, und unterstützen Sie dabei, neue Anwendungen so zu erstellen sowie aktuelle Anwendungen so zu ändern, daß sie für Konvertierungen nach zukünftigen Microsoft Access-Versionen bereits vorbereitet sind.

Nutzen abwärtskompatibler Features

Wenn Sie weiterhin mit den älteren Versionen der DAO-Objekte, -Methoden und -Eigenschaften in Ihren Anwendungen arbeiten möchten, richten Sie zunächst einen Verweis auf die Microsoft DAO 2.5/3.5-Kompatibilitätsbibliothek ein. Sie erstellen Verweise im Dialogfeld Verweise, das in der Modul-Entwurfsansicht durch Klicken auf Verweise im Menü Extras verfügbar ist. Die Microsoft DAO 2.5/3.5-Kompatibilitätsbibliothek ist vollständig abwärts kompatibel mit den Versionen 1.x, 2.0 und 7.0 von Microsoft Access. Ein Verweis auf diese Version der Bibliothek wird den Anwendungen der Versionen 1.x, 2.0 und 7.0 hinzugefügt, die Sie in Microsoft Access 97 konvertieren.

Die Microsoft DAO 3.5-Objektbibliothek enthält nicht die älteren Objekte, Methoden und Eigenschaften. Sie wird standardmäßig ausgewählt, sobald Sie eine neue Datenbank anlegen. Alle neuen Anwendungen, die Sie in Microsoft Access 97 erstellen, sollten ausschließlich auf die Microsoft DAO 3.5-Objektbibliothek verweisen, um sicherzustellen, daß keine alten Methoden verwendet werden. Wenn eine Anwendung ausschließlich auf die Microsoft DAO 3.5-Objektbibliothek verweist, entsteht der weitere Vorteil, daß Sie die Microsoft DAO 2.5/3.5-Kompatibilitätsbibliothek beim Weitergeben der Anwendung an andere Benutzer nicht zusätzlich bereitstellen müssen.

Tip   Wenn Sie gewährleisten möchten, daß Ihre Anwendung ausschließlich Objekte, Methoden und Eigenschaften der Microsoft DAO 3.5-Objektbibliothek verwendet, deaktivieren Sie im Dialogfeld Verweise das Kontrollkästchen Microsoft DAO 2.5/3.5 Compatibility Library, vergewissern Sie sich, daß Microsoft DAO 3.5 Object Library ausgewählt ist, und kompilieren Sie dann die Anwendung erneut, indem Sie im Menü Testen der Modul-Entwurfsansicht auf Alle Module kompilieren klicken. Wenn die Anwendung fehlerfrei kompiliert wird, benötigen Sie den Verweis auf die Microsoft DAO 2.5/3.5-Kompatibilitätsbibliothek nicht mehr, und Sie können sicher sein, daß die Anwendung auch mit der nächsten DAO-Version korrekt ausgeführt wird.

Vorbereitung auf die Konvertierung in zukünftige Versionen

In der folgenden Tabelle finden Sie die Objekte, Methoden und Eigenschaften, die nicht in der Microsoft DAO 3.5-Objektbibliothek enthalten sind, sowie die Features, die diese ersetzen. Mit den neuen Elementen in der zweiten Spalte können Sie Code, der in früheren Microsoft Access-Versionen geschrieben wurde, so anpassen, daß Ihre Anwendung auf Konvertierungen in zukünftige Microsoft Access-Versionen, in denen die Elemente der ersten Spalte nicht mehr verfügbar sein werden, vorbereitet ist.

Beispiele zum Konvertieren von DAO-Code finden Sie in Beispiele zum Konvertieren von DAO-Code.

In DAO 3.5 nicht verfügbare Funktionalität	Empfohlene DAO 3.5-Ersetzungen
FreeLocks	Methode Idle des Objekts DBEngine (wird nicht für Microsoft Access 97-Datenbanken benötigt)
SetDefaultWorkspace	Eigenschaften DefaultUser/ DefaultPassword des Objekts DBEngine
SetDataAccessOption	Eigenschaft IniPath des Objekts DBEngine
Datenbank.BeginTrans	Arbeitsbereich.BeginTrans
Datenbank.CommitTrans	Arbeitsbereich.CommitTrans
Datenbank.CreateDynaset	Datenbank.OpenRecordset vom Typ dbOpenDynaset
Datenbank.CreateSnapshot	Datenbank.OpenRecordset vom Typ dbOpenSnapshot
Datenbank.DeleteQueryDef	Methode Delete der Auflistung QueryDefs
Database.ExecuteSQL	Methode Datenbank.Execute und Eigenschaft Datenbank.RecordsAffected
Datenbank.ListTables	Auflistung Datenbank.TableDefs
Datenbank.OpenQueryDef	Auflistung Datenbank.QueryDefs
Datenbank.OpenTable	Datenbank.OpenRecordset vom Typ dbOpenTable
Datenbank.Rollback	Arbeitsbereich.Rollback
Methode ListFields der Table-, Dynaset- und Snapshot-Objekte	Auflistung Datensatzgruppe.Fields
Table.ListIndexes	Auflistung TableDef.Indexes
QueryDef.CreateDynaset	QueryDef.OpenRecordset
QueryDef.CreateSnapshot	QueryDef.OpenRecordset
QueryDef.ListParameters	Auflistung QueryDef.Parameters
Dynaset-Objekt	Recordset-Objekt vom Typ Dynaset
Snapshot-Objekt	Recordset-Objekt vom Typ Snapshot
Table-Objekt	Recordset-Objekt vom Typ Tabelle
Methode CreateDynaset der Dynaset- und QueryDef-Objekte	Datensatzgruppe.OpenRecordset mit Parameter dbOpenDynaset
Methode CreateSnapshot der  Dynaset- und QueryDef-Objekte	Datensatzgruppe.OpenRecordset mit Parameter dbOpenSnapshot


Schreibweise der eingebauten Konstanten

In Microsoft Access 97 sind alle eingebauten Konstanten  in Klassenbibliotheken enthalten und können im Objektkatalog angezeigt werden. Microsoft Access verfügt über Klassenbibliotheken für Microsoft Access, Datenzugriffsobjekte (DAO) und Visual Basic. Alle genannten Klassenbibliotheken enthalten eingebaute Konstanten.

Darüber hinaus bestehen die Namen eingebauter Konstanten in Microsoft Access 97 aus einer Kombination von Groß- und Kleinbuchstaben, wobei die einzelnen Namensbestandteile miteinander verkettet und nicht durch Unterstriche getrennt sind. Beispielsweise heißt die Konstante A_NORMAL der Versionen 1.x und 2.0 jetzt acNormal.

Eingebaute Konstanten in Datenbanken, die in früheren Microsoft Access-Versionen erstellt wurden, werden nicht automatisch in das neue Konstantenformat konvertiert. Die alten Konstanten arbeiten aber weiterhin fehlerfrei. Es wird jedoch empfohlen, beim Erstellen von neuem Code das neue Format zu verwenden.


Konvertieren von Tastaturbefehle-/SendKeys-Tastenkombinationen

Wenn Sie eine Datenbank der Versionen 1.x und 2.0 von Microsoft Access in Microsoft Access 97 konvertieren, codieren Sie ggf. aufgrund von Änderungen in einigen Dialogfeldern und Menüs die Anweisung SendKeys oder die Aktion Tastaturbefehle neu. So wurde z.B. das Untermenü Add-Ins vom Menü Datei zum Menü Extras verschoben, und die früheren Untermenüs Importieren, Exportieren und Einbinden des Menüs Datei wurden in das Untermenü Externe Daten und den Befehl Speichern unter/Exportieren umgewandelt. Da derartige Änderungen mit großer Wahrscheinlichkeit in jeder neuen Version von Microsoft Access vorkommen werden, ist es sinnvoll, die Anweisung SendKeys und die Aktion Tastaturbefehle zum Ausführen von Befehlen oder zum Ausfüllen von Dialogfeldern möglichst ganz zu vermeiden.

Die folgenden Tips helfen Ihnen dabei, die Anweisung SendKeys und die Aktion Tastaturbefehle weitgehend zu vermeiden:

•	Bevor Sie die Anweisung SendKeys oder die Aktion Tastaturbefehle zum Ausführen eines Menübefehls verwenden, überprüfen Sie, ob Sie eine äquivalente Makroaktion oder Visual Basic-Methode verwenden können. Für die meisten Befehle, die üblicherweise mit Hilfe von Menübefehl oder Option ausgeführt werden, gibt es eine entsprechende Aktion oder Methode. Sie können jetzt z.B. die Methode Dropdown eines Kombinationsfelds anstelle des Codes SendKeys "{F4}" verwenden.

•	Gibt es für einen Menübefehl keine äquivalente Aktion oder Methode, so verwenden Sie anstelle der Anweisung SendKeys oder der Aktion Tastaturbefehle die Aktion AusführenBefehl, um den Menübefehl auszuführen.

•	Vermeiden Sie es, mit der Anweisung SendKeys oder der Aktion Tastaturbefehle Optionen im Dialogfeld Optionen einzustellen. Neue Versionen von Microsoft Access werden voraussichtlich neue und geänderte Optionen enthalten, so daß der Code in Ihrer Anweisung SendKeys bzw. Ihrer Aktion Tastaturbefehle nicht mehr fehlerfrei ausgeführt werden kann. Verwenden Sie statt dessen die Methoden GetOption und SetOption.

•	Wenn Sie mit Hilfe der Anweisung SendKeys eine Aktion ausführen möchten, ziehen Sie es in Erwägung, für die Werte der Anweisung Verweise auf die eingebauten Tastencode-Konstanten zu verwenden oder Konstanten zu deklarieren. Das Definieren von Tastenanschlägen als Konstanten erleichtert Ihnen zukünftig das Aktualisieren des Codes.

•	In Microsoft Access, Version 2.0, können Sie das Argument Tastenfolge der Aktion Tastaturbefehle in Anführungszeichen einschließen, obgleich dies nicht erforderlich ist. Wenn Sie dieses Argument in zukünftigen Microsoft Access-Versionen in Anführungszeichen einschließen, verwenden Sie doppelte Anführungszeichen, wie z.B. in Michael ""Mike"" Sommer. Ein Fehler kann auch dann auftreten, wenn das Argument Tastenfolge syntaktisch falsch ist, falsch geschriebenen Text oder andere Werte enthält, die für das Fenster, zu dem die Tastenfolge gesendet wird, ungeeignet sind.


Konvertieren von Microsoft Access-Tabellen, -Formularen und -Berichten

Verschiedene in Microsoft Access 97 enthaltene Änderungen können Auswirkungen auf das Verhalten der Anwendungen der Version 1.x oder 2.0 haben. Die folgenden Abschnitte bieten genauere Informationen zu diesen Änderungen.

Indizes und Beziehungen

Eine Microsoft Access-Tabelle kann bis zu 32 Indizes enthalten. Sehr komplexe Tabellen, die Bestandteil vieler Beziehungen sind, können unter Umständen die Indexeinschränkung überschreiten, so daß Sie nicht in der Lage sind, die Datenbank mit diesen Tabellen zu konvertieren. Die Version 3.5 der Microsoft Jet-Datenbank-Engine erstellt Indizes für beide Seiten der Beziehungen zwischen Tabellen. Wenn sich Ihre Datenbank nicht konvertieren läßt, löschen Sie einige Beziehungen, und versuchen Sie dann erneut, die Datenbank zu konvertieren.

Die LimitToList-Eigenschaft von Kombinationsfeldern

In Microsoft Access 97 werden Null-Werte in Kombinationsfeldern akzeptiert, wenn die Eigenschaft LimitToList auf True (-1) eingestellt ist, unabhängig davon, ob die Liste Null-Werte enthält oder nicht. In der Version 2.0 akzeptiert ein Kombinationsfeld, dessen Eigenschaft LimitToList auf True eingestellt ist, nur dann einen Null-Wert, wenn die Liste einen Null-Wert enthält. Wenn Sie die Eingabe eines Null-Werts in ein Kombinationsfeld nicht zulassen möchten, stellen Sie die Eigenschaft Required des betreffenden Tabellenfelds auf Ja ein.

Menüs und direkte Bearbeitung von OLE-Objekten

Um während der direkten Bearbeitung von OLE-Objekten eine erweiterte Funktionalität zur Verfügung zu stellen, wurden einige Menübefehle in ein Menü verschoben, das beim Aktivieren eines OLE-Servers nicht ersetzt wird.

Von diesen Änderungen sind nicht die Makros Ihrer konvertierten Anwendung betroffen, die mit Hilfe der Aktion AusführenMenübefehl einen Menübefehl der Version 2.0 ausführen, wenn eine Komponente aktiviert ist. Die Befehle der Version 2.0 werden in die entsprechenden Microsoft Access 97-Befehle umgewandelt.

Verweisen auf ein Steuerelement eines schreibgeschützten Formulars

In Microsoft Access 97 können Sie nicht mit Hilfe eines Ausdrucks auf den Wert eines Steuerelements eines schreibgeschützten Formulars verweisen, das an eine leere Datenquelle gebunden ist. In früheren Versionen gab der Ausdruck einen Null-Wert zurück. Bevor Sie auf ein Steuerelement eines schreibgeschützten Formulars verweisen, vergewissern Sie sich, daß die Datenquelle des Formulars Datensätze enthält.

Datumsfelder und Dateneingabe

Wenn Sie in ein Feld vom Typ Datum/Uhrzeit auf einem Formular- oder Tabellen-Datenblatt 3.3 eingeben, trägt Microsoft Access 97 dort automatisch auch das aktuelle Jahr ein. Wenn Sie in das gleiche Feld jedoch 3.3. eingeben, zeigt Microsoft Access eine Fehlermeldung an. Lassen Sie das letzte Datumstrennzeichen weg, damit Microsoft Access das Datum in das richtige Format übertragen kann.

Mit dem Befehlsschaltflächen-Assistent erstellte Schaltflächen

Wenn Sie in den Versionen 2.0 oder 7.0 von Microsoft Access mit Hilfe des Befehlsschaltflächen-Assistenten Code erstellt haben, der eine andere Anwendung aufruft, löschen Sie diese Schaltfläche, und erstellen Sie sie unter Verwendung des Befehlsschaltflächen-Assistenten in Microsoft Access 97 erneut.

Die Klassenmodule für Formulare und Berichte

In früheren Microsoft Access-Versionen sind Form- und Report-Objekten Klassenmodule zugeordnet, auch wenn hinter dem Objekt kein Code steht. In Microsoft Access 97 können Sie die Eigenschaft HasModule eines Formulars oder Berichts auf False einstellen. In diesem Fall benötigt das Formular bzw. der Bericht weniger Festplattenspeicherplatz und wird schneller geladen, da ihm kein Klassenmodul mehr zugeordnet ist.

Konvertierter Version 2.0-Bericht besitzt andere Randeinstellungen

Probleme können auftreten, wenn Sie einen Microsoft Access 97-Bericht, der von Microsoft Access 2.0 konvertiert wurde und bei dem einige Ränder auf 0 eingestellt sind, drucken oder in der Seitenansicht anzeigen möchten. Wenn Sie einen Microsoft Access 2.0-Bericht konvertieren, werden die Ränder nicht auf 0 eingestellt, sondern auf den kleinsten Rand, der für den Standarddrucker zulässig ist. Dadurch können keine Berichtsdaten im nicht bedruckbaren Bereich des Druckers gedruckt werden.

Um das Problem zu beheben, verringern Sie die Spaltenbreite, den Spaltenabstand und/oder die Anzahl der Spalten im Bericht so, daß die Summe aus allen Spaltenbreiten und der Breite der Standardränder kleiner oder gleich der Papierbreite ist.

Format-Eigenschaft kann nicht verwendet werden, um zwischen Null-Werten und leeren Zeichenfolgen zu unterscheiden.

In den Versionen 1.x und 2.0 können Sie die Eigenschaft Format eines Steuerelements verwenden, um Null-Werte und leere Zeichenfolgen (" ") unterschiedlich anzuzeigen. Wenn Sie in Microsoft Access 97 zwischen Null-Werten und leeren Zeichenfolgen in einem Steuerelement eines Formulars unterscheiden möchten, stellen Sie die Eigenschaft ControlSource des Steuerelements auf einen Ausdruck ein, der auf den Null-Wert testet. Um in dem Steuerelement MeinSteuerelement beispielsweise "Null" oder "LZ" anzuzeigen, stellen Sie seine Eigenschaft ControlSource auf den folgenden Ausdruck ein:

=IIf(IsNull([MeinSteuerelement]), "Null", Format([MeinSteuerelement], "@;LZ"))


Bezeichnungsfeld-Steuerelement

Bezeichnungsfelder auf einem Formular oder Bericht zeigen beschreibenden Text an, wie z.B. Überschriften, Beschriftungen oder kurze Anleitungen. Bezeichnungsfelder haben bestimmte Merkmale:

•	Bezeichnungsfelder zeigen keine Werte aus Feldern oder Ausdrücken an.

•	Bezeichnungsfelder sind immer ungebunden.

•	Bezeichnungsfelder ändern sich nicht, wenn Sie von einem Datensatz zu einem anderen Datensatz wechseln.

Steuerelement:	Tool:
Hinweis

Ein Bezeichnungsfeld kann einem anderen Steuerelement zugeordnet sein. Wenn Sie ein Textfeld erstellen, besitzt dieses z.B. ein zugeordnetes Bezeichnungsfeld, das eine Beschriftung für das Textfeld anzeigt. Dieses Bezeichnungsfeld wird in der Datenblattansicht eines Formulars als Spaltenüberschrift angezeigt.

Wenn Sie ein Bezeichnungsfeld mit dem Tool Bezeichnungsfeld erstellen, ist das Bezeichnungsfeld eigenständig, d.h., es ist keinem anderen Steuerelement zugeordnet. Eigenständige Bezeichnungsfelder können Sie für bestimmte Informationen, wie z.B. den Titel eines Formulars oder Berichts, oder anderen beschreibenden Text verwenden. In der Datenblattansicht werden eigenständige Bezeichnungsfelder nicht angezeigt.


Textfeld-Steuerelement

Ein Textfeld auf einem Formular oder Bericht zeigt Daten an, die aus einer Tabelle, von einer Abfrage oder von einer SQL-Anweisung stammen. Ein Textfeld dieses Typs wird als gebundenes Textfeld bezeichnet, da es an Daten eines Feldes gebunden ist. Textfelder können auch ungebunden sein. Sie können z.B. ein ungebundenes Textfeld erstellen, um das Ergebnis einer Berechnung anzuzeigen oder eine Eingabe des Benutzers entgegenzunehmen. Die Daten eines ungebundenen Textfelds werden nicht in der jeweiligen Datenbank gespeichert.

Steuerelement:	Tool:


Kontrollkästchen-Steuerelement

Ein Kontrollkästchen auf einem Formular oder Bericht ist ein eigenständiges Steuerelement, das einen Wert Ja/Nein aus der jeweils zugrundeliegenden Tabelle, Abfrage oder SQL-Anweisung anzeigt.

Steuerelement:	Tool:
Hinweis

Wenn Sie ein Kontrollkästchen, das an ein Feld Ja/Nein gebunden ist, aktivieren bzw. deaktivieren, zeigt Microsoft Access den Wert in der zugrundeliegenden Tabelle so an, wie es der Einstellung der Eigenschaft Format des Feldes entspricht (Ja/Nein, Wahr/Falsch oder Ein/Aus).

Sie können Kontrollkästchen auch in einer Optionsgruppe verwenden, um Werte anzuzeigen, unter denen gewählt werden kann.

Darüber hinaus kann ein ungebundenes Kontrollkästchen in einem benutzerdefinierten Dialogfeld verwendet werden, um eine Eingabe des Benutzers entgegenzunehmen.


Umschaltfläche-Steuerelement

Ein Umschaltfläche-Steuerelement auf einem Formular oder Bericht ist ein eigenständiges Steuerelement, mit dem ein Wert Ja/Nein aus der jeweils zugrundeliegenden Tabelle, Abfrage oder SQL-Anweisung angezeigt wird.

Steuerelement:	Tool:
Hinweis

Wenn Sie auf eine Umschaltfläche klicken, die an ein Feld Ja/Nein gebunden ist, zeigt Microsoft Access den Wert in der zugrundeliegenden Tabelle so an, wie es der Einstellung der Eigenschaft Format des Feldes entspricht (Ja/Nein, Wahr/Falsch oder Ein/Aus).

Umschaltflächen eignen sich besonders, um in einer Optionsgruppe zusammen mit anderen Schaltflächen verwendet zu werden.

Darüber hinaus kann eine Umschaltfläche in einem benutzerdefinierten Dialogfeld verwendet werden, um eine Eingabe des Benutzers entgegenzunehmen.


Optionsfeld-Steuerelement

Ein Optionsfeld auf einem Formular oder Bericht ist ein eigenständiges Steuerelement, mit dem ein Wert Ja/Nein aus der jeweils zugrundeliegenden Tabelle, Abfrage oder SQL-Anweisung angezeigt wird.

Steuerelement:	Tool:
Hinweis

Wenn Sie ein Optionsfeld, das an ein Feld Ja/Nein gebunden ist, aktivieren bzw. deaktivieren, zeigt Microsoft Access den Wert in der zugrundeliegenden Tabelle so an, wie es der Einstellung der Eigenschaft Format des Feldes entspricht (Ja/Nein, Wahr/Falsch oder Ein/Aus).

Sie können Optionsfelder auch in einer Optionsgruppe verwenden, um Werte anzuzeigen, unter denen gewählt werden kann.

Darüber hinaus kann ein ungebundenes Optionsfeld in einem benutzerdefinierten Dialogfeld verwendet werden, um eine Eingabe des Benutzers entgegenzunehmen.


Optionsgruppe-Steuerelement

Eine Optionsgruppe auf einem Formular oder Bericht zeigt eine begrenzte Anzahl an Alternativen an. Eine Optionsgruppe erleichtert die Auswahl eines Wertes, da Sie lediglich auf den gewünschten Wert klicken müssen. In einer Optionsgruppe kann immer nur ein Wert aktiviert sein.

Eine Optionsgruppe besteht aus einem Gruppenrahmen und mehreren Kontrollkästchen, Umschaltflächen oder Optionsfeldern.

Steuerelement:	Tool:
Hinweis

Wenn eine Optionsgruppe an ein Feld gebunden ist, dann ist nur der Gruppenrahmen selbst an das Feld gebunden, nicht die Kontrollkästchen, Umschaltflächen oder Optionsfelder innerhalb des Rahmens. Statt die Eigenschaft ControlSource jedes Steuerelements der Optionsgruppe einzustellen, stellen Sie die Eigenschaft OptionValue jedes Kontrollkästchens, jeder Umschaltfläche oder jedes Optionsfelds auf eine Zahl ein, die sinnvoll für das Feld ist, an das der Gruppenrahmen gebunden ist. Sobald Sie eine Option einer Optionsgruppe ausgewählt haben, stellt Microsoft Access das Feld, an das die Optionsgruppe gebunden ist, auf den Wert ein, den die Eigenschaft OptionValue der ausgewählten Option hat.

Anmerkung   Die Eigenschaft OptionValue wird auf eine Zahl eingestellt, da der Wert einer Optionsgruppe kein Text sein kann, sondern eine Zahl sein muß. Microsoft Access speichert diese Zahl in der zugrundeliegenden Tabelle. Wenn Sie im obigen Beispiel statt der Zahl, die in der Tabelle Bestellungen gespeichert ist, den Namen der Versandfirma anzeigen möchten, können Sie eine eigene Tabelle namens Versandfirmen erstellen, die die Namen der Versandfirmen enthält. Anschließend wandeln Sie das Feld VersandÜber der Tabelle Bestellungen in ein Nachschlagefeld um, über das die entsprechenden Daten aus der Tabelle Versandfirmen gelesen werden.

Darüber hinaus kann eine Optionsgruppe auf einen Ausdruck eingestellt sein oder ungebunden sein. Eine ungebundene Optionsgruppe können Sie in einem benutzerdefinierten Dialogfeld verwenden, um eine Eingabe des Benutzers entgegenzunehmen und ausgehend vom eingegebenen Wert einen bestimmten Vorgang auszulösen.


Befehlsschaltfläche-Steuerelement

Eine Befehlsschaltfläche auf einem Formular kann einen Vorgang oder eine Gruppe von Vorgängen auslösen. Sie könnten z.B. eine Befehlsschaltfläche erstellen, über die ein anderes Formular geöffnet werden kann. Damit eine Befehlsschaltfläche einen Vorgang auslöst, müssen Sie ein Makro oder eine Ereignisprozedur schreiben und das Makro oder die Prozedur der Eigenschaft OnClick der Befehlsschaltfläche zuweisen.

Steuerelement:	Tool:
Hinweis

Sie können auf einer Befehlsschaltfläche entweder Text oder ein Bild anzeigen, indem Sie entweder die Eigenschaft Caption oder die Eigenschaft Picture der Schaltfläche entsprechend einstellen.

Tip   Mit dem Befehlsschaltflächen-Assistenten können Sie über 30 verschiedene Arten von Befehlsschaltflächen erstellen. Microsoft Access erstellt dann sowohl die Schaltfläche als auch die Ereignisprozedur für Sie.


Listenfeld-Steuerelement

Ein Listenfeld-Steuerelement zeigt eine Liste von Werten oder Alternativen an. Meistens ist es schneller und einfacher, einen Wert aus einer Liste zu wählen, statt ihn jedesmal neu einzugeben. Eine Auswahlliste unterstützt außerdem dabei, daß jeweils der korrekte Wert in ein Feld eingegeben wird.

Steuerelement:	Tool:
Die Liste eines Listenfelds besteht aus Datenzeilen. Diese Zeilen wiederum können aus einer oder mehreren Spalten bestehen, die mit oder ohne Überschriften angezeigt werden können.

Hinweis

Wenn ein mehrspaltiges Listenfeld gebunden ist, speichert Microsoft Access nur die Werte einer Spalte.

Mit Hilfe eines ungebundenen Listenfelds können Sie einen Wert speichern, den Sie für ein anderes Steuerelement verwenden möchten. Sie können z.B. ein ungebundenes Listenfeld verwenden, um die Werte eines anderen Listenfelds oder Werte in einem benutzerdefinierten Dialogfeld zu begrenzen. Sie könnten ein ungebundenes Listenfeld außerdem verwenden, um anhand des Wertes, den Sie aus dem Listenfeld gewählt haben, nach einem Datensatz zu suchen.

Sie sollten statt eines Listenfelds ein Kombinationsfeld verwenden, wenn eine der folgenden Bedingungen zutrifft: Auf Ihrem Formular ist nicht genügend Platz vorhanden, um ein Listenfeld anzuzeigen; Sie möchten in der Lage sein, sowohl neue Werte einzugeben als auch die in der Liste aufgeführten Werte auszuwählen.


Linie-Steuerelement

Ein Linie-Steuerelement zeigt auf einem Formular oder Bericht eine horizontale, vertikale oder diagonale Linie an.

Steuerelement:	Tool:
Hinweis

Mit der Schaltfläche Rahmenbreite  [image]  können Sie die Liniendicke ändern. Mit der Schaltfläche Rahmenfarbe  [image]  können Sie die Farbe der Linie ändern oder die Linie transparent machen. Die Linienart der Linie (Punkte, Strichlinien usw.) können Sie mit der Eigenschaft BorderStyle ändern.


Rechteck-Steuerelement

Ein Rechteck-Steuerelement zeigt auf einem Formular oder Bericht ein Rechteck an.

Steuerelement:	Tool:
Hinweis

Sie können ein Rechteck und die darin enthaltenen Steuerelemente als Einheit verschieben, indem Sie den Mauszeiger diagonal über das gesamte Rechteck ziehen, um alle Steuerelemente auszuwählen. Die gesamte Auswahl kann dann an eine neue Position verschoben werden.


Gebundenes Objektfeld-Steuerelement

Ein Gebundenes Objektfeld-Steuerelement zeigt ein Bild, ein Diagramm oder ein OLE-Objekt an, das in einer Tabelle einer Microsoft Access-Datenbank gespeichert ist. Wenn Sie z.B. Bilder Ihrer Mitarbeiterinnen und Mitarbeiter in einer Microsoft Access-Tabelle gespeichert haben, können Sie diese mit Hilfe eines gebundenen Objektfelds auf einem Formular oder Bericht anzeigen.

Steuerelement:	Tool:
Hinweis

Ein Steuerelement dieses Typs ermöglicht es Ihnen, das jeweilige Objekt von einem Formular oder Bericht aus zu erstellen oder zu bearbeiten, indem Sie den OLE-Server verwenden.

Ein gebundenes Objektfeld ist an ein Feld der jeweils zugrundeliegenden Tabelle gebunden.

Das Feld der zugrundeliegenden Tabelle, an das das Objektfeld gebunden ist, muß den Datentyp OLE-Objekt haben.

In einem gebundenen Objektfeld wird für jeden Datensatz ein anderes Objekt angezeigt. In dem gebundenen Objektfeld können verknüpfte oder eingebettete Objekte angezeigt werden. Wenn Sie Objekte anzeigen möchten, die nicht in einer zugrundeliegenden Tabelle gespeichert sind, verwenden Sie ein Objektfeld-Steuerelement oder ein Bild-Steuerelement.


Diagramm-Steuerelement

Mit einem Diagramm-Steuerelement können Sie ein Diagramm einbetten, in dem Microsoft Access-Daten angezeigt werden, die zu einem Formular oder Bericht gehören. Sie können das Diagramm dann mit Hilfe von Microsoft Graph von Ihrem Formular oder Bericht aus bearbeiten.

Steuerelement:

Hinweis

Wenn Sie ein Diagramm-Steuerelement auf einem Formular oder Bericht anordnen, startet Microsoft Access den Diagramm-Assistenten, um Sie beim Erstellen des Diagramms zu unterstützen.

Anmerkung   Wenn Sie ein Diagramm einbetten oder verknüpfen möchten, das Daten enthält, die aus einer anderen Anwendung stammen, verwenden Sie ein Objektfeld-Steuerelement oder ein gebundenes Objektfeld-Steuerelement.


Kombinationsfeld-Steuerelement

Ein Kombinationsfeld-Steuerelement ist eine Kombination aus einem Textfeld und einem Listenfeld. Ein Kombinationsfeld können Sie immer dann verwenden, wenn es sowohl möglich sein soll, einen Wert einzugeben, als auch, einen Wert aus einer vordefinierten Liste auszuwählen.

Steuerelement:	Tool:
Hinweis

In der Formularansicht zeigt Microsoft Access die Liste erst an, nachdem Sie auf den Dropdown-Pfeil des Kombinationsfelds geklickt haben.

Sind in dem Moment, in dem Sie das Tool Kombinationsfeld auswählen, die Steuerelement-Assistenten aktiviert, können Sie das Kombinationsfeld mit einem Assistenten erstellen. Sie aktivieren oder deaktivieren die Steuerelement-Assistenten, indem Sie in der Symbolleiste auf das Tool Steuerelement-Assistenten  [image]  klicken.

Die Einstellung der Eigenschaft LimitToList gibt an, ob Sie auch Werte eingeben können, die nicht in der Liste enthalten sind.

Die Liste kann aus einer oder mehreren Spalten bestehen, wobei die Spalten mit oder ohne Überschriften angezeigt werden können.


Seitenumbruch-Steuerelement

Ein Seitenumbruch-Steuerelement kennzeichnet auf einem Formular oder Bericht den Anfang einer neuen Bildschirm- oder Druckseite.

Steuerelement:	Tool:
Hinweis

Auf einem Formular ist ein Seitenumbruch nur dann aktiv, wenn Sie die Eigenschaft DefaultView des Formulars auf Einzelnes Formular eingestellt haben. Seitenumbrüche wirken sich nicht auf das Datenblatt eines Formulars aus.

Drücken Sie in der Formularansicht die BILD-AUF- oder BILD-AB-TASTE, um zum vorherigen bzw. nächsten Seitenumbruch zu gelangen.

Sie sollten Seitenumbrüche über oder unter anderen Steuerelementen anordnen. Wenn Sie einen Seitenumbruch in dieselbe Zeile wie ein anderes Steuerelement setzen, werden die Daten dieses Steuerelements geteilt.


Unterformular/Unterbericht-Steuerelement

Ein Unterformular/-bericht-Steuerelement bewirkt, daß ein Formular in ein anderes Formular oder ein Bericht in einen anderen Bericht eingebettet wird.

Steuerelement:	Tool:
Sie können z.B. ein Formular zusammen mit einem Unterformular verwenden, um 1:n-Beziehungen auszuwerten und zu verwenden, wie etwa für eine Artikelkategorie mit den Einträgen, die in diese Kategorie fallen. Für diesen Fall können auf dem Hauptformular die Kategorie-Nr, der Kategoriename und eine Beschreibung und auf dem Unterformular die Artikel angezeigt werden, die für diese Kategorie verfügbar sind.

Tip   Anstatt zuerst das Hauptformular zu erstellen und dann das Unterformular-Steuerelement hinzuzufügen, können Sie Haupt- und Unterformular gleichzeitig mit einem Assistenten erstellen. Außerdem können Sie ein Unterformular, oder einen Unterbericht erstellen, indem Sie ein bereits vorhandenes Formular oder einen bereits vorhandenen Bericht aus dem Datenbankfenster auf das Hauptformular oder den Hauptbericht ziehen.


Objektfeld-Steuerelement

Ein Objektfeld-Steuerelement zeigt ein Bild, ein Diagramm oder ein OLE-Objekt an, das nicht in einer Tabelle gespeichert ist. Sie können z.B. mit einem Objektfeld ein Diagramm anzeigen, das Sie mit Microsoft Graph erstellt und gespeichert haben.

Steuerelement:	Tool:
Hinweis

Mit diesem Steuerelement können Sie aus einem Microsoft Access-Formular oder -Bericht heraus ein Objekt mit einer anderen Anwendung erstellen oder mit der Anwendung bearbeiten, mit der das Objekt ursprünglich erstellt wurde.

Wenn Sie Objekte anzeigen möchten, die in einer Microsoft Access-Datenbank gespeichert sind, verwenden Sie ein gebundenes Objektfeld-Steuerelement.

In einem Objektfeld wird für jeden Datensatz dasselbe Objekt angezeigt.

In einem Objektfeld kann ein verknüpftes oder ein eingebettetes Objekt angezeigt werden.

Tip   Sie können sowohl ein Objektfeld als auch ein Bild-Steuerelement dazu verwenden, auf einem Formular oder Bericht ein ungebundenes Bild anzuzeigen. Der Vorteil eines Objektfelds liegt darin, daß Sie das jeweilige Objekt direkt vom Formular oder Bericht aus bearbeiten können. Ein Bild-Steuerelement hat dagegen den Vorteil, daß es schneller angezeigt wird.


Formular

Ein Formular ist ein Microsoft Access-Datenbankobjekt, auf dem Sie Steuerelemente anordnen können, um Vorgänge auszulösen oder Daten in Felder einzugeben bzw. in Feldern anzuzeigen oder zu bearbeiten.


Formularbereich

Ein Formularbereich ist ein Bestandteil eines Formulars, d.h. ein Kopfbereich, ein Fußbereich oder ein Detailbereich.

Sie können Bereichseigenschaften einstellen, die Attribute eines Formulars sind, und das Aussehen oder Verhalten eines bestimmten Bereichs festlegen. Sie können z.B. die Eigenschaft CanGrow so einstellen, daß der jeweilige Bereich in vertikaler Richtung vergrößert wird, damit alle Daten gedruckt werden, die der Bereich enthält. Bereichseigenschaften werden in der Entwurfsansicht eines Formulars eingestellt.


Bericht

Ein Bericht ist ein Microsoft Access-Datenbankobjekt, das Informationen enthält, die entsprechend Ihren Angaben formatiert und zusammengestellt sind. Beispiele für Berichte sind Zusammenfassungen von Umsätzen, Telefonverzeichnisse oder Adressenetiketten.


Berichtsbereich

Ein Berichtsbereich ist ein Bestandteil eines Berichts, d.h. ein Kopfbereich, ein Fußbereich oder ein Detailbereich.

Sie können Bereichseigenschaften einstellen, die Attribute eines Berichts sind, und das Aussehen oder Verhalten eines bestimmten Bereichs festlegen. Sie können z.B. die Eigenschaft CanGrow so einstellen, daß der jeweilige Bereich in vertikaler Richtung vergrößert wird, damit alle Daten gedruckt werden, die der Bereich enthält. Bereichseigenschaften werden in der Entwurfsansicht eines Berichts eingestellt.


Index

Ein Index ist ein Microsoft Access-Feature, das Such- und Sortiervorgänge für eine Tabelle beschleunigt. Einen Index können Sie auf zwei Arten aus einem Feld erstellen: in der Entwurfsansicht einer Tabelle im Fenster Indizes oder dadurch, daß Sie die Eigenschaft Indiziert des Feldes auf Ja einstellen.

Anmerkung   Eine Tabelle wird automatisch nach dem Feld indiziert, das als Primärschlüssel festgelegt ist. Aus einem Feld, das einen der Datentypen Memo oder OLE-Objekt hat, kann kein Index erstellt werden.


Bild-Steuerelement

Mit einem Bild-Steuerelement kann ein Bild zu einem Formular oder Bericht hinzugefügt werden. Sie können z.B. ein Bild-Steuerelement für ein Logo auf einem als Rechnung dienenden Bericht anordnen.

Steuerelement:	Tool:
Hinweis

Für ein ungebundenes Bild können Sie ein Bild-Steuerelement oder ein Objektfeld-Steuerelement verwenden. Der Vorteil eines Bild-Steuerelements liegt darin, daß es schneller angezeigt wird. Der Vorteil eines Objektfeld-Steuerelements liegt darin, daß Sie das jeweilige Objekt direkt vom Formular oder Bericht aus bearbeiten können.


Gebundenes Steuerelement

Ein gebundenes Steuerelement ist ein auf einem Formular oder Bericht angeordnetes Steuerelement, dessen Inhalt aus einem Feld der zugrundeliegenden Tabelle, Abfrage oder SQL-Anweisung stammt. (Die Eigenschaft ControlSource des Steuerelements ist auf den Namen eines Feldes der Tabelle, Abfrage oder SQL-Anweisung eingestellt.) So kann z.B. ein Textfeld, das den Nachnamen eines Mitarbeiters anzeigt, an das Feld Nachname der Tabelle Personal gebunden sein.


Sortieren und Gruppieren-(Fenster

Mit Hilfe des Fensters Sortieren und Gruppieren können Sie eine Reihenfolge für Ihre Daten angeben und die Gruppenebenen für einen Bericht definieren.

Das Fenster Sortieren und Gruppieren wird angezeigt, nachdem Sie in der Symbolleiste auf Sortieren und Gruppieren  [image]  geklickt haben.


Tabelle

Eine Tabelle ist fundamentaler Bestandteil eines relationalen Datenbank-Managementsystems. In Microsoft Access ist eine Tabelle ein Objekt, das Daten in Datensätzen (Zeilen) und Feldern (Spalten) speichert. Die Daten gehören üblicherweise einer bestimmten Kategorie an, so z.B. der Kategorie "Personal" oder "Bestellungen".


Farb-Editor

Der Farb-Editor ist ein Microsoft Access-Tool, mit dessen Hilfe Sie Farben aus der Palette auswählen oder benutzerdefinierte Farben erstellen können, die Sie speichern und für Formulare und Berichte verwenden können.

Sie starten diesen Editor, indem Sie im Eigenschaftenfenster neben der entsprechenden Eigenschaft auf die Editor-Schaltfläche  [image]  klicken.


Abfragefelder

Ein Abfragefeld enthält Daten aus einer Tabelle, die mit der Abfrage verknüpft ist. Für ein Abfragefeld werden standardmäßig alle Eigenschaften übernommen, die das eigentliche Feld in der zugrundeliegenden Tabelle oder Abfrage hat. Wenn z.B. in einem Tabellenentwurf für ein Feld namens Bestelldatum in dessen Eigenschaft Format das Anzeigeformat Datum, mittel angegeben ist, wird das Feld Bestelldatum in der Datensatzgruppe der Abfrage als mittleres Datum formatiert. Da die Eigenschaften des zugrundeliegenden Feldes die Standardeinstellungen sind, werden sie nicht im Eigenschaftenfenster angezeigt.

Wenn Sie in der Tabellenansicht eine Feldeigenschaft ändern, wird diese Änderung automatisch für das Abfragefeld übernommen. Wenn Sie dagegen eine Eigenschaft innerhalb der Abfrage ändern, wird die im Tabellenentwurf angegebene Einstellung der Eigenschaft außer Kraft gesetzt. Wenn Sie später die Einstellung der Eigenschaft im Tabellenentwurf ändern, wird diese Änderung nicht für die Abfrage übernommen.

Die Eigenschaften für Abfragefelder können Sie in der Entwurfsansicht einer Abfrage in deren Fenster Feldeigenschaften einstellen.

Wenn Sie in der Entwurfsansicht einer Abfrage für ein Abfragefeld das Fenster Feldeigenschaften öffnen möchten, klicken Sie in der Abfrageentwurfs-Symbolleiste auf Eigenschaften  [image].


Tabellenfelder

Tabellenfelder sind eigenständige Informationselemente, die in einer Tabelle einen Datensatz bilden. Sie können die Darstellungsweise von Daten festlegen, Standardwerte angeben und Such- sowie Sortiervorgänge beschleunigen, indem Sie in der Entwurfsansicht einer Tabelle im Bereich Feldeigenschaften die dort aufgeführten Feldeigenschaften einstellen.

Microsoft Access verwendet die jeweiligen Feldeigenschaften, wenn Sie Daten anzeigen oder bearbeiten. Beispielsweise wirken sich die Werte, auf die Sie die Eigenschaften Format, Eingabeformat und Beschriftung eingestellt haben, darauf aus, wie die Felder der Tabelle oder der durch eine Abfrage erstellten Tabelle angezeigt werden. Für Steuerelemente auf neuen Formularen oder Berichten, die auf der Tabelle basieren, werden standardmäßig die Einstellungen dieser Eigenschaften übernommen. Sie können weitere Eigenschaften einstellen, um Regeln für Daten festzulegen oder für Felder die Eingabe von Daten zu erzwingen. Diese Regeln werden von Microsoft Access immer dann beachtet, wenn Sie Daten zu der Tabelle hinzufügen oder Daten in ihr bearbeiten.

Gehen Sie wie folgt vor, um eine Tabelle in der Entwurfsansicht zu öffnen: Wechseln Sie zum Datenbankfenster; klicken Sie auf die Registerkarte Tabellen; wählen Sie die Tabelle aus, die Sie öffnen möchten; und klicken Sie dann auf Entwurf.


Aktionsabfrage

Ein Aktionsabfrage ändert Daten oder kopiert Daten. Zu den Aktionsabfragen gehören Anfüge-, Lösch-, Tabellenerstellungs- und Aktualisierungsabfragen. Im Gegensatz dazu ändert oder kopiert eine Auswahlabfrage keine Daten, sondern sie stellt eine Frage und gibt eine Gruppe von Datensätzen zurück.

Typ der Aktionsabfrage	Beschreibung
Anfügeabfrage	Fügt die Datensätze der Ergebnismenge einer Abfrage an eine Tabelle an.
Löschabfrage	Löscht alle Datensätze, die den von Ihnen formulierten Kriterien entsprechen.
Tabellenerstellungsabfrage	Erstellt aus der Ergebnismenge der Abfrage eine neue Tabelle.
Aktualisierungsabfrage	Nimmt Änderungen an allen Datensätzen vor, die den von Ihnen formulierten Kriterien entsprechen.


Kreuztabellenabfrage

Eine Kreuztabellenabfrage erstellt Summen aus den Werten in jeder Zeile und Spalte. Sie berechnet für Datensätze die Summe, den Mittelwert, die Anzahl oder eine andere Funktion und gruppiert das Ergebnis dann nach zwei Informationsarten: eine auf der linken Seite des Datenblatts nach unten und eine entsprechend den Spaltenüberschriften des Datenblatts nach rechts. Beispielsweise ist die zur Beispieldatenbank Nordwind gehörende Abfrage Quartalsbestellungen nach Artikeln eine Kreuztabellenabfrage.


Parameterabfrage

Eine Parameterabfrage ist eine Auswahlabfrage, die die Flexibilität einer anderen Abfrage erweitert, indem sie den Benutzer jedesmal, wenn die Abfrage ausgeführt wird, dazu auffordert, bestimmte Kriterien einzugeben. Eine Parameterabfrage ist genaugenommen kein eigener Abfragetyp, sondern sie erweitert lediglich die Flexibilität einer anderen Abfrage.


Auswahlabfrage

Eine Auswahlabfrage stellt Fragen über die Daten, die in Ihrer Datenbank gespeichert sind, und gibt das Ergebnis der Abfrage zurück, ohne Änderungen an den Daten vorzunehmen. Sobald die Ergebnismenge angezeigt wird, können Sie die Daten, die in den zugrundeliegenden Tabellen gespeichert sind, sehen und in einigen Fällen auch bearbeiten. Im Gegensatz dazu nimmt eine Aktionsabfrage Änderungen an den jeweiligen Daten vor.


SQL-spezifische Abfrage

Eine SQL-spezifische Abfrage ist ein Abfrage, die nur dadurch erstellt werden kann, daß in der SQL-Ansicht eine SQL-Anweisung geschrieben wird. Union-Abfragen, SQL Pass-Through-Abfragen und Datendefinitionsabfragen gehören zu den SQL-spezifischen Abfragen.

SQL-spezifische Abfrage	Beschreibung
Union-Abfrage	Eine SQL-spezifische Auswahlabfrage, die einander entsprechende Felder aus mehreren Tabellen oder Abfragen in einer Tabelle kombiniert. Eine Union-Abfrage, die z.B. auf den Tabellen Kunden und Lieferanten basiert, liefert als Ergebnis ein Snapshot, das alle betroffenen Datensätze aus beiden Tabellen enthält.
Pass-Through-Abfrage	Eine SQL-spezifische Abfrage, die Befehle direkt an einen SQL-Datenbank-Server (wie z.B. Microsoft SQL Server) sendet. Mit einer SQL Pass-Through-Abfrage arbeiten Sie mit den Tabellen auf dem Server, statt diese mit Ihrer Microsoft Access-Datenbank zu verknüpfen.
Datendefinitionsabfrage	Eine SQL-spezifische Abfrage, die einen Index erstellen oder löschen bzw. eine Tabelle erstellen, ändern oder löschen kann.


Register-Steuerelement

Ein Register-Steuerelement enthält mehrere Seiten, auf denen Sie andere Steuerelemente anordnen können, wie z.B. Textfelder oder Optionsfelder. Sobald ein Benutzer auf eine Registerkarte geklickt hat, wird die zugehörige Seite zur aktiven Seite.

Mit einem Registerkarten-Steuerelement können Sie ein Formular oder Dialogfeld erstellen, das mehrere Registerkarten enthält, wobei Sie auf jeder dieser Registerkarten zusammengehörende Optionen oder Daten gruppieren können. Sie können z.B. auf dem Formular Personal ein Registerkarten-Steuerelement verwenden, um allgemeine und persönliche Informationen voneinander zu trennen.

Steuerelement:	Tool:


ActiveX-Steuerlement

Neben den eingebauten Steuerelementen, die in der Toolbox angezeigt werden, unterstützt Microsoft Access ActiveX-Steuerelemente (früher als Zusatzsteuerelemente oder OLE-Steuerelemente bezeichnet). Ein ActiveX-Steuerelement ist wie ein eingebautes Steuerelement ein Objekt, das Sie auf ein Formular setzen können, um die Interaktion eines Benutzers mit einer Anwendung zu ermöglichen oder zu erweitern. ActiveX-Steuerelemente verfügen über Ereignisse und können in andere Steuerelemente eingefügt werden. Diese Steuerelemente besitzen die Dateinamenerweiterung .OCX. Das Kalender-Steuerelement ist ein Beispiel für ein ActiveX-Steuerelement.

Steuerelement:	Tool:


Page

Ein Page-Objekt entspricht einer einzelnen Seite in einem Register-Steuerelement.

Jedes Page-Objekt kann eines oder mehrere Steuerelemente, wie z.B. Textfelder oder Optionsfelder enthalten. Die Steuerelemente in einem Page-Objekt gehören zur Auflistung Controls dieses Page-Objekts. Um mit einem Steuerelement in einem Page-Objekt arbeiten zu können, müssen Sie innerhalb der Auflistung Controls des Objekts Page auf dieses Steuerelement verweisen.

Mit dem Register-Steuerelement können Sie ein Einzelformular oder ein Dialogfeld erstellen, das verschiedene Registerkarten enthält. Auf den zugehörigen Seiten können Sie zusammengehörige Optionen oder Daten gruppieren. Mit Hilfe eines Register-Steuerelements können Sie z.B. auf einem Formular Personal allgemeine von persönlichen Informationen trennen.

Steuerelement:	Tool:


Microsoft Access-Sprachelemente, die für ActiveX-Steuerelemente gelten

Neben den speziell für ein ActiveX-Steuerelement definierten Eigenschaften, Methoden und Ereignissen gelten einige bestehende Microsoft Access-Eigenschaften, -Methoden und -Ereignisse auch für ActiveX-Steuerelemente. Weitere Informationen zur Funktionsweise dieser Sprachelemente finden Sie im Microsoft Access-Hilfethema zum jeweiligen Sprachelement.

Eigenschaften

Die folgenden Microsoft Access-Eigenschaften gelten für ActiveX-Steuerelemente. Sie sind im Microsoft Access-Eigenschaftenfenster verfügbar.

BorderColor BorderStyle BorderWidth Class ControlSource (nur für ActiveX-Steuerelemente verfügbar, die an ein Feld gebunden werden können) ControlTipText DisplayWhen Enabled HelpContextID	Height Left Locked (nur für ActiveX-Steuerelemente verfügbar, die an ein Feld gebunden werden können) Name Object OLEClass OnEnter OnExit OnGotFocus	OnLostFocus OnUpdated SpecialEffect TabIndex TabStop Tag Top Verb Visible Width
Die folgenden Microsoft Access-Eigenschaften gelten für ActiveX-Steuerelemente. Sie sind nur in einem Makro oder in Visual Basic verfügbar.

ControlType	InSelection	Parent
EventProcPrefix	ObjectVerbsCount	Section
Ereignisse

Die folgenden Microsoft Access-Ereignisse gelten für ActiveX-Steuerelemente:

Enter	GotFocus	Updated
Exit	LostFocus
Methoden

Die folgenden Microsoft Access-Methoden gelten für ActiveX-Steuerelemente:

SetFocus	SizeToFit


Verwenden des zusätzlichen Eigenschaftenfensters eines ActiveX-Steuerelements

Wenn Sie die Eigenschaften eines ActiveX-Steuerelements einstellen, möchten Sie möglicherweise das zusätzliche Eigenschaftenfenster des Steuerelements verwenden. Das zusätzliche Eigenschaftenfenster ist eine Alternative zur Eigenschaftenliste im Microsoft Access-Eigenschaftenfenster zum Einstellen der Eigenschaften des ActiveX-Steuerelements in der Entwurfsansicht.

Zwei Möglichkeiten zum Einstellen von Eigenschaften

Der Grund für das Vorhandensein des zusätzlichen Eigenschaftenfensters besteht darin, daß nicht alle Anwendungen, die ActiveX-Steuerelemente benutzen, ein Eigenschaftenfenster wie das von Microsoft Access besitzen. Das zusätzliche Eigenschaftenfenster stellt eine Schnittstelle zum Einstellen der wichtigsten Steuerelementeigenschaften bereit, unabhängig von der Oberfläche der Host-Anwendung.

Die Eigenschaften einiger ActiveX-Steuerelemente können Sie in beiden Eigenschaftenfenstern einstellen:

•	Im Microsoft Access-Eigenschaftenfenster

•	Im zusätzlichen Eigenschaftenfenster eines ActiveX-Steuerelements.

In einigen Fällen können Sie nur das zusätzliche Eigenschaftenfenster zum Einstellen einer Eigenschaft in der Entwurfsansicht verwenden. Dies ist normalerweise dann der Fall, wenn die Schnittstelle, die zum Einstellen einer Eigenschaft benötigt wird, nicht innerhalb des Microsoft Access-Eigenschaftenfensters funktioniert. Beispielsweise besitzt die Eigenschaft GridFont des Kalender-Steuerelements mehrere Argumente; Sie können jedoch im Microsoft Access-Eigenschaftenfenster nur ein Argument pro Eigenschaft einstellen.

Suchen des zusätzlichen Eigenschaftenfensters

Nicht alle ActiveX-Steuerelemente besitzen ein zusätzliches Eigenschaftenfenster. Um herauszufinden, ob ein Steuerelement ein zusätzliches Eigenschaftenfenster bereitstellt, suchen Sie im Microsoft Access-Eigenschaftenfenster für dieses Steuerelement nach der Eigenschaft Benutzerdefiniert. Wenn in der Liste der Eigenschaften der Name Benutzerdefiniert enthalten ist, besitzt das Steuerelement das zusätzliche Eigenschaftenfenster.

Verwenden des zusätzlichen Eigenschaftenfensters

Klicken Sie im Microsoft Access-Eigenschaftenfenster auf das Einstellungsfeld der Eigenschaft Benutzerdefiniert und anschließend auf die Editor-Schaltfläche  [image]  rechts neben dem Einstellungsfeld der Eigenschaft, um das zusätzliche Eigenschaftenfenster des Steuerelements anzuzeigen. Es wird häufig als Dialogfeld mit Registerkarten dargestellt. Wählen Sie die entsprechende Registerkarte zum Einstellen der gewünschten Eigenschaften.

Nachdem Sie Änderungen in einer Registerkarte vorgenommen haben, können Sie diese Änderungen häufig direkt anwenden, indem Sie auf die Schaltfläche Übernehmen (falls vorhanden) klicken. Sie können auch auf andere Registerkarten klicken, um bei Bedarf weitere Eigenschaften einzustellen. Damit alle im zusätzlichen Eigenschaftenfenster vorgenommenen Änderungen wirksam werden, klicken Sie auf die Schaltfläche OK. Wenn Sie zum Microsoft Access-Eigenschaftenfenster zurückkehren möchten, ohne Eigenschafteneinstellungen zu ändern, klicken Sie auf die Schaltfläche Abbrechen.

Sie können das zusätzliche Eigenschaftenfenster auch anzeigen, indem Sie im Menü Bearbeiten auf den Eintrag für das ActiveX-Steuerelement (z.B. Calendar-Objekt) und dann auf den Unterbefehl Eigenschaften klicken, oder indem Sie im Kontextmenü des ActiveX-Steuerelements auf diesen Unterbefehl klicken. Außerdem besitzen einige Eigenschaften, wie z.B. die Eigenschaft GridFontColor, im Microsoft Access-Eigenschaftenfenster für das ActiveX-Steuerelement eine Editor-Schaltfläche rechts neben dem Einstellungsfeld der Eigenschaft. Wenn Sie auf die Editor-Schaltfläche klicken, wird das zusätzliche Eigenschaftenfenster angezeigt, wobei die geeignete Registerkarte (z.B. Farbe) ausgewählt ist.


Anzeigen des Infofelds eines ActiveX-Steuerelements

Zum Einblenden eines Infofelds, das Versions- und Copyright-Informationen für ein ActiveX-Steuerelement anzeigt, klicken Sie auf das Einstellungsfeld der Eigenschaft Info im Microsoft Access Eigenschaftenfenster. Klicken Sie anschließend auf die Editor-Schaltfläche  [image]  rechts neben dem Einstellungsfeld der Eigenschaft.


Verwenden der Eigenschaften, Methoden und Ereignisse eines ActiveX-Steuerelements

Dieses Hilfethema enthält Informationen zum Einstellen und Verwenden von Sprachelementen von ActiveX-Steuerelementen und beschreibt einige neue Features von ActiveX-Steuerelementen in Microsoft Access 95 und Microsoft Access 97.

Allgemeines

Wenn Sie mit ActiveX-Steuerelementen in Microsoft Access 97 arbeiten, verwenden Sie nicht wie bisher die Eigenschaft Object, um in Syntaxausdrücken auf Eigenschaften und Methoden zu verweisen. Die folgenden beiden Syntaxzeilen haben nun normalerweise die gleiche Bedeutung:

ActiveXCtl0.Object.MonthLength = 0

ActiveXCtl0.MonthLength = 0

Die einzige Ausnahme liegt vor, wenn ein Sprachelement eines ActiveX-Steuerelements denselben Namen wie ein Microsoft Access-Sprachelement hat, das ebenfalls für dieses ActiveX-Steuerelement gilt. In diesem Fall verwenden Sie weiterhin die Syntay .Object.

ActiveX-Steuerelementvariablen können nur vom Typ Control sein; speziellere Typen wie z.B. Calendar sind nicht zulässig.

Eigenschaften

Eigenschaften von ActiveX-Steuerelementen werden jetzt im Microsoft Access-Eigenschaftenfenster angezeigt. Sie können die meisten Eigenschaften im zusätzlichen Eigenschaftenfenster eines ActiveX-Steuerelements oder im Microsoft Access-Eigenschaftenfenster einstellen.

Anmerkung   Die Eigenschaften eines ActiveX-Steuerelements sind nicht in der Auflistung Properties aufgeführt. Sie können auf diese Eigenschaften nur zugreifen, indem Sie die im voranstehenden Abschnitt gezeigte Syntax verwenden.

Ereignisse

Für Microsoft Access-Ereignisse, wie z.B. Enter, die auch für ActiveX-Steuerelemente gelten, können Sie ein Makro oder eine Ereignisprozedur ausführen, wenn das Ereignis eintritt, indem Sie die Ereigniseigenschaft auf den Namen des Makros oder auf [Ereignisprozedur] einstellen. Für Ereignisse, die speziell für ActiveX-Steuerelemente gelten, wie z.B. das Ereignis NewMonth des Kalender-Steuerelements, öffnen Sie jedoch das Formularmodul in der Entwurfsansicht und wählen den Namen des ActiveX-Steuerelements im Feld Objekt und anschließend das Ereignis im Feld Prozedur aus. Auf diese Weise erstellen Sie eine Ereignisprozedur für das Ereignis des ActiveX-Steuerelements, die ausgeführt wird, wenn das Ereignis eintritt. Sie können die Syntax, die in diesem Fall für die Ereignisprozedur erstellt wird, auch kopieren, wenn Sie sie selbst erstellen möchten.

Wenn für ein ActiveX-Steuerelement sowohl ein Microsoft Access-Ereignis als auch ein ActiveX-Steuerelementereignis mit demselben Namen gilt, fügt Microsoft Access zum Namen des ActiveX-Steuerelementereignisses in der Dropdown-Liste des Feldes Prozedur "Object" hinzu. Auf diese Weise können beim Eintreten der beiden Ereignisse unterschiedliche Ereignisprozeduren ausgeführt werden.


Vergleich der Datentypen

Die Microsoft Jet-Datenbank-Engine kennt mehrere überlappende Datentypgruppen. In Microsoft Access gibt es vier Zusammenhänge, in denen Sie häufig einen Datentyp angeben müssen: in der Entwurfsansicht einer Tabelle, im Dialogfeld Abfrageparameter, in Visual Basic und in der SQL-Ansicht einer Abfrage.

In der folgenden Tabelle sind die insgesamt fünf Datentypgruppen gegenübergestellt, die zu den möglichen Zusammenhängen gehören. In der ersten Spalte stehen zum einen die Einstellungen der Eigenschaft Type, die in der Entwurfsansicht einer Tabelle unter Felddatentyp verfügbar sind, und zum anderen die sechs Einstellungen, die die Eigenschaft Feldgröße für den Datentyp Zahl annehmen kann. In der zweiten Spalte finden Sie die entsprechenden Datentypen einer Parameterabfrage, die im Dialogfeld Abfrageparameter für die Erstellung von Parameterabfragen zur Verfügung stehen. In der dritten Spalte sind die entsprechenden Visual Basic-Datentypen zusammengestellt. In der vierten Spalte sind die für ein DAO-Objekt Field möglichen Datentypen aufgeführt. In der fünften Spalte sind die entsprechenden SQL-Datentypen der Jet-Datenbank-Engine, wie sie für die Jet-Datenbank-Engine definiert sind, zusammen mit ihren zulässigen Synonymen aufgelistet.

Tabellenfelder	Abfrage- parameter	Visual Basic	DAO-Objekt "Field",  Konstanten für Eigenschaft "Type"	Microsoft Jet-Datenbank- Engine-SQL und Synonyme
Nicht unterstützt	Binary	Nicht unterstützt	Nicht unterstützt	BINARY (siehe Anmerkungen) (Synonym: VARBINARY)
Ja/Nein	Yes/No	Boolean	dbBoolean	BOOLEAN (Synonyme: BIT, LOGICAL, LOGICAL1, YESNO)
Zahl (Feldgröße = Byte)	Byte	Byte	dbByte	BYTE (Synonym: INTEGER1)
AutoWert (Feldgröße = Long Integer)	Long Integer	Long	dbLong	COUNTER (Synonym: AUTOINCREMENT)
Währung	Currency	Currency	dbCurrency	CURRENCY (Synonym: MONEY)
Datum/Zeit	Date/Time	Date	dbDate	DATETIME (Synonyme: DATE, TIME, TIMESTAMP)
Zahl (Feldgröße = Double)	Double	Double	dbDouble	DOUBLE (Synonyme: FLOAT, FLOAT8, IEEEDOUBLE, NUMBER, NUMERIC)
Zahl oder AutoWert (Feldgröße = Replikations-ID)	Replication ID	Nicht unterstützt	dbGUID	GUID
Number (Feldgröße = Long Integer)	Long Integer	Long	dbLong	LONG (Siehe Anmerkungen) (Synonyme: INT, INTEGER, INTEGER4)
OLE-Objekt	OLE Object	String	dbLongBinary	LONGBINARY (Synonyme: GENERAL, OLEOBJECT)
Memo	Memo	String	dbMemo	LONGTEXT (Synonyme: LONGCHAR, MEMO, NOTE)
Zahl (Feldgröße = Single)	Single	Single	dbSingle	SINGLE (Synonyme: FLOAT4, IEEESINGLE, REAL)
Zahl (Feldgröße = Integer)	Integer	Integer	dbInteger	SHORT (Siehe Anmerkungen) (Synonyme: INTEGER2, SMALLINT)
Text	Text	String	dbText	TEXT (Synonyme: ALPHANUMERIC, CHAR, CHARACTER, STRING, VARCHAR)
Hyperlink	Memo	String	dbMemo	LONGTEXT (Synonyme: LONGCHAR, MEMO, NOTE)
Nicht unterstützt	Value	Variant	Nicht unterstützt	VALUE (Siehe Anmerkungen)
Anmerkungen

•	Microsoft Access selbst verwendet den Datentyp BINARY nicht. Dieser Datentyp wird nur in Abfragen akzeptiert, für die folgendes gilt: Sie basieren auf verknüpften Tabellen, die aus anderen Datenbankprodukten stammen, die wiederum den Datentyp BINARY unterstützen.

•	Der in Jet-Datenbank-Engine-SQL verwendete Datentyp INTEGER entspricht nicht dem Datentyp Integer, wie er für Tabellenfelder, Abfrageparameter oder in Visual Basic definiert ist. Der SQL-Datentyp INTEGER entspricht statt dessen dem Datentyp Long Integer für Tabellenfelder und Abfrageparameter bzw. dem Datentyp Long in Visual Basic.

•	Das reservierte Wort VALUE entspricht keinem der Datentypen, die für die Jet-Datenbank-Engine definiert sind. In Microsoft Access oder SQL-Abfragen kann es aber als zulässiges Synonym für den Visual Basic-Datentyp Variant angesehen werden.

•	Wenn Sie in Visual Basic-Code den Datentyp eines DAO-Objekts einstellen, müssen Sie die Eigenschaft Type des Objekts einstellen.


Beispiele für das Umwandeln von DAO-Code

Microsoft Access umfaßt die Version 3.5 der Microsoft Jet-Datenbank-Engine. Diese Version enthält eine Reihe neuer Objekte, Methoden und Eigenschaften, mit denen Sie Ihre vorhandenen Anwendungen verbessern können. Anhand der folgenden Beispiele wird erläutert, wie in Microsoft Access-Datenbanken, die mit früheren Versionen der Jet-Datenbank-Engine erstellt wurden, Code-Konstrukte so umgewandelt werden können, daß die Vorteile dieser neuen Elemente genutzt werden.

Einstellen eines Verweises auf die aktuelle Datenbank

Version	Beispiel
1.x	Dim dbs As Database Set dbs = CurrentDb
2.x	Dim dbs As Database Set dbs = DBEngine.Workspaces(0).Databases(0)
oder	Dim dbs As Database Set dbs = DBEngine(0)(0)
7.0 oder höher	Dim dbs As Database Set dbs = CurrentDb
Anmerkung   In Microsoft Access ist die aktuelle Datenbank in der Auflistung Databases die Standarddatenbank. Daher können Sie nach wie vor die Syntax DBEngine(0)(0) verwenden, um eine Objektvariable Database einzustellen, die auf die aktuelle Datenbank zeigt. Allerdings empfiehlt es sich, eine solche Objektvariable mit der Funktion CurrentDb einzustellen, da es Ihnen dann möglich ist, mehrere Objektvariablen vom TypDatabase zu erstellen, die auf die aktuelle Datenbank zeigen.

Öffnen einer Datenbank und Einstellen eines Verweises

Version	Beispiel
1.x	Set dbs = OpenDatabase("Kontakte.mdb")
2.x und höher	Set dbs = DBEngine.Workspaces(0).OpenDatabase("Kontakte.mdb")
oder	Set dbs = Workspaces(0).OpenDatabase("Kontakte.mdb")
oder	Set dbs = OpenDatabase("Kontakte.mdb")
Öffnen einer Datensatzgruppe vom Typ "Tabelle"

Version	Beispiel
1.x	Dim tbl As Table Set tbl = dbs.OpenTable("Bestellungen")
2.x	Dim rst As Recordset Set rst = dbs.OpenRecordset("Bestellungen", DB_OPEN_TABLE)
oder	Dim rst As Recordset Set rst = dbs!Bestellungen.OpenRecordset
7.0 oder höher	Dim rst As Recordset Set rst = dbs.OpenRecordset("Bestellungen", dbOpenTable)
oder	Dim rst As Recordset Set rst = dbs!Bestellungen.OpenRecordset
Exklusives Öffnen einer Datensatzgruppe vom Typ "Tabelle"

Version	Beispiel
1.x	Dim tbl As Table Set tbl = dbs.OpenTable("Bestellungen", DB_DENY_READ)
2.x	Dim rst As Recordset Set rst = dbs.OpenRecordset("Bestellungen", DB_OPEN_TABLE, DB_DENY_READ)
oder	Dim rst As Recordset Set rst = dbs!Bestellungen.OpenRecordset(DB_OPEN_TABLE, DB_DENY_READ)
7.0 oder höher	Dim rst As Recordset Set rst = dbs.OpenRecordset("Bestellungen", dbOpenTable, dbDenyRead)
oder	Dim rst As Recordset Set rst = dbs!Bestellungen.OpenRecordset(dbOpenTable, dbDenyRead)
Öffnen einer Datensatzgruppe vom Typ "Dynaset"

Version	Beispiel
1.x	Dim dyn As Dynaset Set dyn = dbs.CreateDynaset("Bestellungen")
2.x	Dim rst As Recordset Set rst = dbs.OpenRecordset("Bestellungen", DB_OPEN_DYNASET)
oder	Set rst = dbs!Bestellungen.OpenRecordset(dbOpenDynaset)
7.0 oder höher	Dim rst As Recordset Set rst = dbs.OpenRecordset("Bestellungen", dbOpenDynaset)
oder	Set rst = dbs!Bestellungen.OpenRecordset(dbOpenDynaset)
Öffnen einer Datensatzgruppe vom Typ "Snapshot"

Version	Beispiel
1.x	Dim snp As Snapshot Set snp = dbs.CreateSnapshot("Bestellungen")
2.x	Dim rst As Recordset Set rst = dbs.OpenRecordset("Bestellungen", DB_OPEN_SNAPSHOT)
oder	Set rst = dbs!Bestellungen.OpenRecordset(DB_OPEN_SNAPSHOT)
7.0 oder höher	Dim rst As Recordset Set rst = dbs.OpenRecordset("Bestellungen", dbOpenSnapshot)
oder	Set rst = dbs!Bestellungen.OpenRecordset(dbOpenSnapshot)
Auflisten von Feldern

Version	Beispiel
1.x	' Voraussetzung: tbl ist als Table-Objekt geöffnet. 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	' Voraussetzung: tdf ist als TableDef-Objekt geöffnet. 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 oder höher	' Voraussetzung: tdf ist als TableDef-Objekt geöffnet. Dim fld As Field For Each fld in tdf.Fields    Debug.Print fld.Name, fld.Type Next fld
Auflisten der Tabellen einer Datenbank

Version	Beispiel
1.x	' Voraussetzung: dbs ist als Database-Objekt geöffnet. Set snp = dbs.ListTables() While Not snp.EOF    Debug.Print snp!Name    snp.MoveNext Wend snp.Close
2.x	' Voraussetzung: dbs ist als Database-Objekt geöffnet. 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 oder höher	' Voraussetzung: dbs ist als Database-Objekt geöffnet. Dim tdf As TableDef For Each tdf in dbs.TableDefs    Debug.Print tdf.Name Next tdf
Auflisten der Indizes einer Tabelle

Version	Beispiel
1.x	' Voraussetzung: tbl ist als Table-Objekt geöffnet. Dim snp As Snapshot Set snp = tbl.ListIndexes() While Not snp.EOF    Debug.Print snp!Name    snp.MoveNext Wend snp.Close
2.x	' Voraussetzung: tdf ist als TableDef-Objekt geöffnet. 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 oder höher	' Voraussetzung: tdf ist als TableDef-Objekt geöffnet. Dim idx As Index For Each idx in tdf.Indexes    Debug.Print idx.Name Next idx
Auflisten der Parameter einer Abfrage

Version	Beispiel
1.x	' Voraussetzung: qdf ist als QueryDef-Objekt geöffnet. Dim snp As Snapshot Set snp = qdf.ListParameters() While Not snp.EOF    Debug.Print snp!Name    snp.MoveNext Wend snp.Close
2.x	' Voraussetzung: qdf ist als QueryDef-Objekt geöffnet. 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 oder höher	' Voraussetzung: qdf ist als QueryDef-Objekt geöffnet. Dim prm As Parameter For Each prm in qdf.Parameters    Debug.Print prm.Name Next prm
Dynamisches Einstellen von Abfrageparametern

Version	Beispiel
1.x	' Voraussetzung: dbs ist als Database-Objekt geöffnet. Dim qdf As QueryDef, dyn As Dynaset Set qdf = dbs.OpenQueryDef("BestellungenAbfrage") qdf.ParameterName = "[Anfangsdatum]" Set dyn = qdf.CreateDynaset()
2.x	' Voraussetzung: qdf ist als QueryDef-Objekt geöffnet. 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("Wert für " & prm.Name) Next intI Set rst = qdf.OpenRecordset
7.0 oder höher	' Voraussetzung: qdf ist als QueryDef-Objekt geöffnet. Dim prm As Parameter, rst As Recordset For Each prm in qdf.Parameters    prm.Value = InputBox("Wert für " & prm.Name) Next prm Set rst = qdf.OpenRecordset
Ausführen einer Pass-Through-Abfrage

Version	Beispiel
1.x	' Voraussetzung: dbs ist als Database-Objekt geöffnet. Dim lngRows As Long ' Gespeicherte Prozedur auf dem Server ausführen. lngRows = dbs.ExecuteSQL("EXECUTE SP_StoredProc")
oder	Dim snp As Snapshot Set snp = dbs.CreateSnapshot("EXECUTE GP_GespProz", DB_SQLPassThrough)
2.x und höher	' Voraussetzung: dbs ist als Database-Objekt geöffnet. Dim qdf As QueryDef, rst As Recordset Set qdf = dbs.CreateQueryDef("ODBCAbfrage") qdf.Connect = "ODBC;" & "DSN=Server1;" _    & "UID=sa;" & "PWD=kennwort;" & "DATABASE=verleger" qdf.SQL = "EXECUTE GP_GespProz" qdf.ReturnsRecords = True . . . Set rst = qdf.OpenRecordset
Erstellen einer temporären Abfrage

Version	Beispiel
1.x	' Voraussetzung: dbs ist als Database-Objekt geöffnet. Dim qdf As QueryDef, strTemp As String strTemp = "TMP:" & User() & Time() qdf = dbs.CreateQueryDef(strTemp) qdf.SQL = "UPDATE Tabelle1 SET Tabelle1.Feld1 = Feld1 * 1.1;" . . . qdf.Execute qdf.Close . . . dbs.DeleteQueryDef(strTemp)
2.x und höher	qdf = dbs.CreateQueryDef("") qdf.Execute qdf.Close


Neue und erweiterte Sprachelemente

Microsoft Access stellt eine Reihe neuer und erweiterter Objekte, Methoden, Eigenschaften, Funktionen, Anweisungen, Datentypen und Ereignisse zur Verfügung, die Sie zum Erstellen leistungsfähiger Datenbankanwendungen mit Visual Basic verwenden können.

Neue Datentypen

Neue Ereignisse

Neue Funktionen

Neue Methoden

Neue Objekte

Neue Eigenschaften

Neue Anweisungen


Neue Objekte

Die folgende Liste enthält alle neuen Objekte in Microsoft Access 95 und Microsoft Access 97. Neue Objekte in Microsoft Access 97 sind mit einem Sternchen (*) markiert.

Microsoft Access-Objekte

Application-Objekt Controls-Auflistung DoCmd-Objekt ItemsSelected-Auflistung Module-Objekt*	Modules-Auflistung* Page-Objekt* Pages-Auflistung* Reference-Objekt* References-Auflistung* SummaryInfo und UserDefined (Document-Objekte)
Visual Basic-Objekte

Collection-Objekt Debug-Objekt	Err-Objekt
DAO-Objekte

Connection-Objekt	Errors-Auflistung
Microsoft Office-Objekte

Um die Liste der neuen Objekte in der Microsoft Office 8.0-Objektbibliothek anzuzeigen, öffnen Sie in der Hilfe unter Inhalt die Microsoft Office Visual Basic-Referenz.

Wenn Sie die von Microsoft Office gelieferten Objekte verwenden möchten, richten Sie bei geöffnetem Modulfenster einen Verweis auf die Microsoft Office 8.0-Objektbibliothek ein, indem Sie im Menü Extras auf Verweise klicken und das entsprechende Kontrollkästchen aktivieren.


Neue Methoden

Die folgende Liste enthält alle neuen Methoden in Microsoft Access 95 und Microsoft Access 97. Neue Methoden in Microsoft Access 97 sind mit einem Sternchen (*) markiert.

A–H

AccessError Add (Pages-Auflistung)* AddFromFile* AddFromString* AddToFavorites* ApplyFilter Beep BuildCriteria CancelEvent CloseCurrentDatabase CopyObject CreateEventProc* CreateFromFile* CreateFromGUID* 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-Auflistung)* Remove (References-Auflistung)* Rename Repaint ReplaceLine* Requery Restore Run RunCommand* RunMacro	RunSQL Save SelectObject SendObject SetMenuItem SetWarnings ShowAllRecords ShowToolbar SizeToFit TransferDatabase TransferSpreadsheet TransferText Undo
Neue DAO-Methoden

Cancel CancelUpdate CopyQueryDef GetRows MakeReplica	NewPassword NextRecordset OpenConnection SetOption Synchronize
Microsoft Office-Methoden

Um die Liste der neuen Methoden in der Microsoft Office 8.0-Objektbibliothek anzuzeigen, öffnen Sie in der Hilfe unter Inhalt die Microsoft Office Visual Basic-Referenz.

Wenn Sie die von Microsoft Office gelieferten Methoden verwenden möchten, richten Sie bei geöffnetem Modulfenster einen Verweis auf die Microsoft Office 8.0-Objektbibliothek ein, indem Sie im Menü Extras auf Verweise klicken und das entsprechende Kontrollkästchen aktivieren.


Neue Eigenschaften

Die folgende Liste enthält alle neuen Eigenschaften in Microsoft Access 95 und Microsoft Access 97. Neue Eigenschaften in Microsoft Access 97 sind mit einem Sternchen (*) markiert.

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-Eigenschaften 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-Eigenschaften 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-Objekt) WhatsThisButton WillContinue
Neue DAO-Eigenschaften

AbsolutePosition AllPermissions ConflictTable Connection* DefaultCursorDriver* DefaultType* DefaultUser DesignMasterID Direction* DistinctCount EditMode FieldSize*	HelpContext HelpFile Inherit IniPath KeepLocal MaxRecords* RecordsAffected Replicable ReplicaID StillExecuting* Transactions*
Microsoft Office-Eigenschaften

Um die Liste der neuen Eigenschaften in der Microsoft Office 8.0-Objektbibliothek anzuzeigen, öffnen Sie in der Hilfe unter Inhalt die Microsoft Office Visual Basic-Referenz.

Wenn Sie die von Microsoft Office gelieferten Eigenschaften verwenden möchten, richten Sie bei geöffnetem Modulfenster einen Verweis auf die Microsoft Office 8.0-Objektbibliothek ein, indem Sie im Menü Extras auf Verweise klicken und das entsprechende Kontrollkästchen aktivieren.


Neue Funktionen

Microsoft Access stellt die folgenden neuen Funktionen zur Verfügung. Alle aufgeführten Funktionen sind bereits seit Microsoft Access 95 vorhanden.

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


Neue Anweisungen

Microsoft Access stellt die folgenden neuen Anweisungen zur Verfügung. Alle aufgeführten Anweisungen sind bereits seit Microsoft Access 95 vorhanden.

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


Neue Datentypen

Microsoft Access stellt die folgenden neuen Datentypen zur Verfügung. Alle aufgeführten Datentypen sind bereits seit Microsoft Access 95 vorhanden.

Boolean

Byte

Date


Neue Ereignisse

Microsoft Access stellt die folgenden neuen Formular- und Berichtsereignisse zur Verfügung. Alle aufgeführten Ereignisse sind bereits seit Microsoft Access 95 vorhanden.

ApplyFilter

Filter

NoData

Page

Microsoft Access 97 stellt darüber hinaus die folgenden neuen Ereignisse bereit.

Initialize

ItemAdded

ItemRemoved

Terminate


Controls-Auflistung (Steuerelemente)

Die Auflistung Controls enthält alle Steuerelemente eines Formulars, Berichts oder Bereichs sowie alle Steuerelemente  innerhalb eines anderen Steuerelements oder an ein anderes Steuerelement gebunden. Die Auflistung Controls ist ein Element eines Objekts Form, Report, Section oder Control. Das folgende Diagramm zeigt die Beziehung zwischen der Auflistung Controls und einem Objekt Form oder Report.

Anmerkungen

Sie können eine Auflistung Controls durchlaufen, die Anzahl der zu ihr gehörenden Steuerelemente zählen und deren Eigenschaften einstellen. Sie können z.B. die Auflistung Controls eines bestimmten Formulars durchlaufen und die Eigenschaft Height jedes Steuerelements auf einen bestimmten Wert einstellen.

Tip   Eine Auflistung läßt sich am besten mit einer Anweisung For Each...Next durchlaufen.

Es ist schneller, auf die Auflistung Controls implizit zu verweisen, wie in den folgenden Beispielen, die auf ein Steuerelement namens NeueDaten verweisen, das sich auf dem Formular Bestellformular befindet. Von den folgenden Syntaxbeispielen ist Me!NeueDaten die schnellste Möglichkeit, auf das Steuerelement zu verweisen.

Me!NeueDaten	' Oder Forms!Bestellformular!NeueDaten.

Me![Neue Daten]	' Wenn der Steuerelementname Leerzeichen enthält.

Me("NeueDaten")	' Etwas schlechteres Leistungsverhalten.

Sie können auch auf ein Steuerelement verweisen, indem Sie explizit auf die Auflistung Controls verweisen.

Me.Controls!NeueDaten	' Oder Forms!Bestellformular.Controls!NeueDaten.

Me.Controls![Neue Daten]

Me.Controls("NeueDaten")

Außerdem können Sie auf ein Steuerelement durch dessen Index in der Auflistung verweisen. Die Auflistung Controls wird beginnend mit Null indiziert.

Me(0)	' Verweist auf den ersten Eintrag der Auflistung.

Me.Controls(0)

Anmerkung   Sie können mit dem Schlüsselwort Me ein Formular oder einen Bericht in Code angeben, allerdings nur dann, wenn Sie auf das Formular oder den Bericht durch Code innerhalb des Formularmoduls oder des Berichtsmoduls verweisen. Verweisen Sie auf ein Formular oder einen Bericht von einem Standardmodul oder einem anderen Formular- oder Berichtsmodul aus, müssen Sie den vollständigen Verweis auf das Formular oder den Bericht verwenden.

Verwenden Sie für die Arbeit mit den Steuerelementen in einem Bereich eines Formulars oder Berichts die Eigenschaft Section, um einen Verweis auf ein Section-Objekt zurückzugeben. Verweisen Sie dann auf die Auflistung Controls des Objekts Section.

Zwei Arten von Control-Objekten, das Register-Steuerelement und die Optionsgruppe, besitzen Controls-Auflistungen, die mehrere Steuerelemente enthalten können. Die Auflistung Controls zum Optionsgruppen-Steuerelement enthält ein beliebiges Optionsfeld, Kontrollkästchen oder Bezeichnungsfeld bzw. eine beliebige Umschaltfläche.

Das Register-Steuerelement enthält eine Pages-Auflistung. Hierbei handelt es sich um einen Spezialtyp der Controls-Auflistung. Die Auflistung Pages enthält Page-Objekte. Page-Objekte sind ebenfalls Steuerelemente. Die Konstante für ein Page-Steuerelement der Eigenschaft ControlType lautet acPage. Ein Page-Objekt besitzt wiederum seine eigene Controls-Auflistung, die alle Steuerelemente einer Einzelseite enthält.

Andere Control-Objekte besitzen eine Controls-Auflistung, die ein zugeordnetes Bezeichnungsfeld enthalten kann. Zu diesen Steuerelementen zählen das Textfeld, die Optionsgruppe, das Optionsfeld, die Umschaltfläche, das Kontrollkästchen, das Kombinationsfeld, das Listenfeld, die Befehlsschaltfläche, das Objektfeld, und das gebundene Objektfeld.


Microsoft Access-Konstanten - Übersicht
Microsoft Access-Konstanten – Übersicht

Allgemeines

Eine Konstante stellt einen nicht veränderlichen numerischen oder Zeichenfolgen-Wert dar. Sie können Konstanten zur Verbesserung der Lesbarkeit sowie zur Vereinfachung der Pflege Ihres Visual Basic-Codes verwenden. Zusätzlich stellt die Verwendung von eingebauten Konstanten sicher, daß Code auch dann weiterhin ausgeführt wird, wenn die von den Konstanten dargestellten, zugrundeliegenden Werte in späteren Versionen von Microsoft Access verändert werden.

Microsoft Access unterstützt drei Arten von Konstanten:

•	Symbolische Konstanten, die Sie über die Anweisung Const erstellen und in Modulen verwenden.

•	Eingebaute Konstanten, die Teil von Microsoft Access oder einer referenzierten Bibliothek sind.

•	Systemdefinierte Konstanten: True, False und Null.

Symbolische Konstanten

Oftmals verwenden Sie die gleichen Werte wiederholt in Ihrem Code, oder Sie stellen fest, daß der Code von bestimmten Zahlen abhängt, die keine auf den ersten Blick erkennbare Bedeutung haben. In diesen Fällen können Sie die Lesbarkeit und Wartung des Codes vereinfachen, indem Sie symbolische oder benutzerdefinierte Konstanten verwenden, die Ihnen die Verwendung von bedeutungsvollen Namen anstelle einer Zahl oder einer Zeichenfolge ermöglichen.

Haben Sie einmal eine Konstante über die Anweisung Const erstellt, können Sie sie weder ändern noch ihr einen neuen Wert zuweisen. Sie können weiterhin keine Konstante erstellen, die über den gleichen Namen wie eine eingebaute Konstante verfügt.

Die folgenden Beispiele zeigen einige der Möglichkeiten, wie Sie die Anweisung Const zur Deklaration von numerischen und Zeichenfolgen-Konstanten verwenden können:

Const conPI = 3.14159265	' Pi gleich diese Zahl.

Const conPI2 = conPI * 2

' Eine Konstante wird zur Erstellung einer anderen verwendet.

Const conVersion = "Version 7.0"

' Zeichenfolgen-Konstante deklarieren.

Eingebaute Konstanten

Zusätzlich zu den Konstanten, die Sie mit der Anweisung Const deklarieren, deklariert Microsoft Access automatisch eine Anzahl eingebauter Konstanten und stellt Zugriff auf die VBA- (Visual Basic für Applikationen) und die DAO-Konstanten (Data Access Objects = Datenzugriffsobjekte) bereit. Sie können auch Konstanten verwenden, die sich in anderen referenzierten Objektbibliotheken befinden. Weitere Informationen über das Hinzufügen von Verweisen finden Sie unter Einrichten von Verweisen auf Klassenbibliotheken.

Jede eingebaute Konstante kann in einem Makro oder in Visual Basic verwendet werden. Diese Konstanten sind jederzeit verfügbar. Die speziellen, mit einer bestimmten Funktion, Methode oder Eigenschaft verwendeten eingebauten Konstanten werden im Hilfethema zur jeweiligen Funktion, Methode oder Eigenschaft beschrieben.

Anmerkung   Sie können den Objektkatalog zur Ansicht von Listen eingebauter Konstanten aller verfügbaren Objektbibliotheken verwenden.

Eingebaute Konstanten verfügen über ein Präfix von zwei Buchstaben, das die Objektbibliothek kennzeichnet, in der die Konstante definiert ist. Konstanten der Microsoft Access-Bibliothek wird "ac" vorangestellt; Konstanten der DAO-Bibliothek wird "db" vorangestellt; Konstanten der VBA-Bibliothek wird "vb" vorangestellt. Beispiel:

•	acForm

•	dbAppendOnly

•	vbCurrency

Anmerkung   Da sich die von eingebauten Konstanten dargestellten Werte in zukünftigen Versionen von Microsoft Access verändern können, verwenden Sie die Konstanten anstelle ihrer aktuellen Werte. Sie können dennoch den aktuellen Wert einer Konstanten durch Wahl der Konstanten im Objektkatalog oder durch Eingabe von ?Konstantenname im Testfenster anzeigen.

Sie können eingebaute Konstanten überall dort verwenden, wo Sie auch symbolische oder benutzerdefinierte Konstanten verwenden, einschließlich der Verwendung in Ausdrücken. Das folgende Beispiel zeigt, wie Sie die eingebaute Konstante vbCurrency verwenden können, um zu ermitteln, ob die Variable varNum eine Variable vom Typ Variantist, für den die Funktion VarType 6 (Currency) zurückgibt:

Dim varNum As Variant

If VarType(varNum) = vbCurrency Then

Debug.Print "varNum enthält Daten des Typs Currency."

Else

Debug.Print "varNum enthält keine Daten des Typs Currency."

End If

Es gibt mehrere Kategorien eingebauter Konstanten. Sie können eine Liste der eingebauten Konstanten einer bestimmten Kategorie anzeigen, indem Sie auf eine der folgende Kategorien klicken:

•	A ktionskonstanten

•	Datenzugriffsobjektkonstanten

•	Ereignisprozedurkonstanten

•	Tastaturcode-Konstanten

•	Sonstige Konstanten

•	RunCommand-Konstanten (eine Teilmenge der Aktionskonstanten)

•	Zugriffsrechtekonstanten

•	Visual Basic-Konstanten

•	VarType-Konstanten

Systemdefinierte Konstanten

Sie können die systemdefinierten Konstanten True, False und Null überall in Microsoft Access verwenden. Sie können z.B. True im folgenden Makrobedingungsausdruck verwenden. Die Bedingung trifft zu, wenn die Einstellung der Eigenschaft Visible für das Formular Personal den Wert Wahr hat.

Formulare!Personal.Sichtbar = Wahr

Sie können die Konstante Null überall in Microsoft Access verwenden. Sie können z.B. Null zur Einstellung der Eigenschaft DefaultValue für ein Formular-Steuerelement über den folgenden Ausdruck verwenden:

=Null


Zugriffsrechtekonstanten

Sie können Datenbankobjekten über Visual Basic Berechtigungen zuweisen oder die Eigenschaft Permissions auf eine der folgenden Konstanten einstellen:

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
Anmerkung   Die mit acSec beginnenden Konstanten stehen nur in Visual Basic zur Verfügung, um Berechtigungen für Datenbankobjekte einzustellen.


Ereignisprozedurkonstanten

AfterDelConfirm-Ereignisprozedurkonstanten

Sie können die folgenden Konstanten mit Ereignisprozeduren für das Ereignis AfterDelConfirm verwenden:

•	acDeleteCancel

•	acDeleteOK

•	acDeleteUserCancel

BeforeDelConfirm-Ereignisprozedurkonstanten

Sie können die folgenden Konstanten mit Ereignisprozeduren für das Ereignis BeforeDelConfirm verwenden:

•	acDataErrContinue

•	acDataErrDisplay

Masken-Konstanten für Maustasten

Sie können die folgenden Masken-Konstanten für Maustasten mit Ereignisprozeduren für die Ereignisse MouseDown, MouseUp und MouseMove verwenden:

•	acLeftButton

•	acMiddleButton

•	acRightButton

Masken-Konstanten für Tasten

Sie können die folgenden Masken-Konstanten für Tasten mit Ereignisprozeduren für die Ereignisse KeyDown, KeyUp, MouseDown, MouseUp und MouseMove verwenden:

•	acAltMask

•	acCtrlMask

•	acShiftMask

NotInList-Ereignisprozedurkonstanten

Sie können die folgenden Konstanten mit Ereignisprozeduren für das Ereignis NotInList verwenden:

•	acDataErrAdded

•	acDataErrContinue

•	acDataErrDisplay

Error-Ereignisprozedurkonstanten

Sie können die folgenden Konstanten mit Ereignisprozeduren für das Ereignis Error verwenden:

•	acDataErrContinue

•	acDataErrDisplay

Updated-Ereignisprozedurkonstanten

Sie können die folgenden Konstanten mit Ereignisprozeduren für das Ereignis Updated verwenden:

•	acOLEChanged

•	acOLEClosed

•	acOLERenamed

•	acOLESaved

ApplyFilter-Ereignisprozedurkonstanten

Sie können die folgenden Konstanten mit Ereignisprozeduren für das Ereignis ApplyFilter verwenden:

•	acApplyFilter

•	acCloseFilterWindow

•	acShowAllRecords

Filter-Ereignisprozedurkonstanten

Sie können die folgenden Konstanten mit Ereignisprozeduren für das Ereignis Filter verwenden:

•	acFilterAdvanced

•	acFilterByForm


Aktionskonstanten

Sie können diese Konstanten verwenden, wenn Sie mit Hilfe von Visual Basic eine Methode des Objekts DoCmd ausführen. Das Verwenden dieser Konstanten mit einer Methode des Objekts DoCmd entspricht der Ausführung der entsprechenden Aktion in einem Makro. Beachten Sie, daß die Methode DoMenuItem veraltet ist. Verwenden Sie in Microsoft Access 97 statt dessen die Methode RunCommand und ihre zugehörigen Konstanten. Die folgenden mit einem Sternchen (*) gekennzeichneten Konstanten wurden durch andere Konstanten ersetzt, können jedoch in Verbindung mit der bzw. den aufgelisteten Methoden nach wie vor verwendet werden.

DoCmd-Objektkonstanten	Verwendung in Verbindung mit
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 (DoCmd-Objekt), Quit (Application-Objekt)
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
acFormatASP	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 (DoCmd-Objekt), Quit (Application-Objekt)
acQuery	Close, CopyObject, DeleteObject, Rename, RepaintObject, Save, SelectObject, TransferDatabase
acQuitPrompt	Quit (DoCmd-Objekt), Quit (Application-Objekt)
acQuitSaveAll	Quit (DoCmd-Objekt), Quit (Application-Objekt)
acQuitSaveNone	Quit (DoCmd-Objekt), Quit (Application-Objekt)
acReadOnly	OpenQuery, OpenTable
acRecordsMenu	DoMenuItem
acRefresh	DoMenuItem
acReport	Close, CopyObject, DeleteObject, Rename, RepaintObject, Save, SelectObject, TransferDatabase
acSaveForm	DoMenuItem
acSaveFormAs	DoMenuItem
acSave*	Quit (DoCmd-Objekt), Quit (Application-Objekt)
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 - nur japanische Version	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


Sonstige Konstanten

Die folgenden Tabellen listen die von Microsoft Access bereitgestellten sonstigen eingebauten Konstanten auf.

Listen- und Kombinationsfeld-Konstanten

Sie können die folgenden Konstanten verwenden, um ein Listenfeld oder ein Kombinationsfeld mit Hilfe einer Funktion auszufüllen. Verwenden Sie diese Konstanten in Verbindung mit einer Funktion, die der Einstellung der Eigenschaft RowSourceType entspricht. Verwenden Sie hierzu ein spezielles Funktionsformat.

acLBClose	acLBGetRowCount
acLBEnd	acLBGetValue
acLBGetColumnCount	acLBInitialize
acLBGetColumnWidth	acLBOpen
acLBGetFormat
SysCmd-Funktionskonstanten

Sie können die folgenden Konstanten mit der Funktion SysCmd verwenden:

acForm	acSysCmdClearStatus
acMacro	acSysCmdGetObjectState
acModule	acSysCmdGetWorkgroupFile
acObjStateDirty	acSysCmdIniFile
acObjStateNew	acSysCmdInitMeter
acObjStateOpen	acSysCmdProfile
acQuery	acSysCmdRemoveMeter
acReport	acSysCmdRuntime
acSysCmdAccessDir	acSysCmdSetStatus
acSysCmdAccessVer	acSysCmdUpdateMeter
acSysCmdClearHelpTopic	acTable
ControlType-, CreateControl- und CreateReportControl-Konstanten

Sie können eine der folgenden Konstanten mit der Eigenschaft ControlType und den Funktionen CreateControl und CreateReportControl verwenden, um den Steuerelementtyp festzulegen:

acBoundObjectFrame	acOptionButton
acCheckBox	acOptionGroup
acComboBox	acPage
acCommandButton	acPageBreak
acCustomControl	acRectangle
acImage	acSubform
acLabel	acTabCtl
acLine	acTextBox
acListBox	acToggleButton
acObjectFrame
Section-, CreateControl- und CreateReportControl-Konstanten

Sie können eine der folgenden Konstanten mit der Eigenschaft Section und den Funktionen CreateControl und CreateReportControl verwenden, um einen Bereich in einem Formular oder Bericht festzulegen:

acDetail	acGroupLevel2Header
acFooter	acHeader
acGroupLevel1Footer	acPageFooter
acGroupLevel1Header	acPageHeader
acGroupLevel2Footer
OLE-Konstanten

Die folgende Tabelle listet die OLE-Konstanten auf und zeigt, mit welchen Sprachelementen sich diese Konstanten verwenden lassen.

OLE-Konstanten	Verwendung in Verbindung mit
acOLEActivate	Eigenschaft Action
acOLEActivateDoubleClick	Eigenschaft AutoActivate
acOLEActivateGetFocus	Eigenschaft AutoActivate
acOLEActivateManual	Eigenschaft AutoActivate
acOLEChanged	Ereignis Updated
acOLEClose	Eigenschaft Action
acOLEClosed	Ereignis Updated
acOLECopy	Eigenschaft Action
acOLECreateEmbed	Eigenschaft Action
acOLECreateFromFile (entspricht acOLECreateLink)	Eigenschaft Action
acOLECreateLink	Eigenschaft Action
acOLECreateNew (entspricht acOLECreateEmbed)	Eigenschaft Action
acOLEDelete	Eigenschaft Action
acOLEDisplayContent	Eigenschaft DisplayType
acOLEDisplayIcon	Eigenschaft DisplayType
acOLEEither	Eigenschaft OLETypeAllowed
acOLEEmbedded	Eigenschaft OLEType, Eigenschaft OLETypeAllowed
acOLEFetchVerbs	Eigenschaft Action
acOLEInsertObjDlg	Eigenschaft Action
acOLELinked	Eigenschaft OLEType, Eigenschaft OLETypeAllowed
acOLENone	Eigenschaft OLEType
acOLEPaste	Eigenschaft Action
acOLEPasteSpecialDlg	Eigenschaft Action
acOLERenamed	Ereignis Updated
acOLESaved	Ereignis Updated
acOLESizeAutoSize (nicht verwendet)	Eigenschaft SizeMode
acOLESizeClip	Eigenschaft SizeMode
acOLESizeStretch	Eigenschaft SizeMode
acOLESizeZoom	Eigenschaft SizeMode
acOLEUpdate	Eigenschaft Action
acOLEUpdateAutomatic	Eigenschaft UpdateOptions
acOLEUpdateFrozen (nicht verwendet)	Eigenschaft UpdateOptions
acOLEUpdateManual	Eigenschaft UpdateOptions
acOLEVerbHide	Eigenschaft Verb
acOLEVerbInPlaceActivate	Eigenschaft Verb
acOLEVerbInPlaceUIActivate	Eigenschaft Verb
acOLEVerbOpen	Eigenschaft Verb
acOLEVerbPrimary	Eigenschaft Verb
acOLEVerbShow	Eigenschaft Verb
SpecialEffect-Konstanten

Die folgende Tabelle listet die Konstanten auf, die Sie zum Festlegen oder Ermitteln des Status der Eigenschaft SpecialEffect verwenden können. Die Konstanten acEffectNormal, acEffectRaised und acEffectSunken können auch in Verbindung mit der Eigenschaft DatasheetCellsEffect verwendet werden.

AcEffectChisel	acEffectRaised
acEffectEtched	acEffectShadow
acEffectNormal	acEffectSunken
Raster-Konstanten

Die folgende Tabelle listet die Konstanten auf, die Sie zum Festlegen oder Ermitteln des Status des Rastereffekts eines Objekts in der Datenblattansicht verwenden können. Diese Konstanten können in Verbindung mit der Eigenschaft DatasheetGridlinesBehavior verwendet werden.

AcGridlinesBoth	acGridlinesNone
acGridlinesBothV2	acGridlinesVert
acGridlinesHoriz
Type-Konstanten

Die folgende Tabelle listet die Konstanten auf, mit deren Hilfe Sie bestimmen können, ob das aktuelle Modul ein Standardmodul oder ein Klassenmodul ist. Diese Konstanten können in Verbindung mit der Eigenschaft Type verwendet werden.

acClassModule
acStandardModule
HyperlinkPart-Konstanten

Die folgenden Konstanten können Sie in Verbindung mit der Funktion HyperlinkPart verwenden:

acDisplayedValue	acAddress
acDisplayName	acSubAddress
Prozedur-Konstanten

Die folgenden Konstanten können Sie in Verbindung mit den Eigenschaften ProcStartLine, ProcBodyLine, ProcOfLine und ProcCountLines verwenden.

vbext_pk_Get	vbext_pk_Proc
vbext_pk_Let	vbext_pk_Set
Kind-Konstanten

Die folgenden Konstanten können Sie in Verbindung mit der Eigenschaft Kind des Objekts Reference verwenden:

Project
TypeLib


Tastaturcode-Konstanten

Sie können die folgenden Konstanten zur Darstellung von Tastaturwerten verwenden. Diese Konstanten können in Microsoft Access in den Ereignisprozeduren für die Ereignisse KeyDown und KeyUp verwendet werden.

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


RunCommand-Konstanten

Sie können diese Konstanten in Visual Basic in Verbindung mit der Methode RunCommand verwenden. Die Verwendung dieser Konstanten in Verbindung mit der Methode RunCommand entspricht dem Bereitstellen des Wertes für die Aktion AusführenBefehl in einem Makro.

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


HinzufügenMenü-Aktion

Mit der Aktion HinzufügenMenü können Sie die folgenden Menüleisten erstellen:

•	Eine benutzerdefinierte Menüleiste für ein Formular oder einen Bericht. Die benutzerdefinierte Menüleiste ersetzt die eingebaute Menüleiste für das Formular oder den Bericht.

•	Ein benutzerdefiniertes Kontextmenü für ein Formular, Formular-Steuerelement oder einen Bericht. Das benutzerdefinierte Kontextmenü ersetzt das eingebaute Kontextmenü für das Formular, das Formular-Steuerelement oder den Bericht.

•	Eine globale Menüleiste. Die globale Menüleiste ersetzt die eingebaute Menüleiste für alle Microsoft Access-Fenster mit Ausnahme der Fenster, in denen Sie eine benutzerdefinierte Menüleiste für ein Formular oder einen Bericht hinzugefügt haben.

•	Ein globales Kontextmenü. Das globale Kontextmenü ersetzt das eingebaute Kontextmenü für alle Felder in Tabellen- und Abfrage-Datenblättern, Formulare in der Formularansicht, Datenblattansicht und Seitenansicht sowie Berichte in der Seitenansicht, mit Ausnahme der Fälle, in denen Sie ein benutzerdefiniertes Kontextmenü für ein Formular, ein Formular-Steuerelement oder einen Bericht hinzugefügt haben.

Anmerkung   Sie können in Microsoft Access 97 weiterhin alle benutzerdefinierten Menütypen mit Makros erstellen, welche die Aktion HinzufügenMenü enthalten. Ebenso können Sie weiterhin alle bestehenden benutzerdefinierten Menüs, die Sie unter Verwendung von Makros erstellt haben, nutzen. Es wird jedoch empfohlen, diese Makros mit Hilfe des Dialogfelds Anpassen zu erstellen. Dieses wird verfügbar, wenn Sie im Menü Ansicht auf Symbolleisten zeigen und auf Anpassen klicken. Wenn das Dialogfeld Anpassen angezeigt wird, können Sie ganz einfach neue Menüs erstellen und eingebaute Menüs anpassen.

Einstellung

Die Aktion HinzufügenMenü verwendet die folgenden Argumente.

Aktionsargument	Beschreibung
Menüname	Der Name des Dropdown-Menüs, das zur benutzerdefinierten Menüleiste oder globalen Menüleiste hinzugefügt werden soll. Geben Sie den Menünamen im Bereich Aktionsargumente des Makrofensters im Feld Menüname ein. Dieses Argument ist für benutzerdefinierte Menüleisten und globale Menüleisten erforderlich; es wird für benutzerdefinierte Kontextmenüs und globale Kontextmenüs ignoriert.
	Um eine Zugriffstaste zu definieren, mit der Sie das Menü auf der Tastatur auswählen können, geben Sie ein &-Zeichen vor dem Buchstaben ein, der als Zugriffstaste dienen soll. Dieser Buchstabe wird im Menünamen auf der Menüleiste unterstrichen dargestellt.
Menümakroname	Der Name der Makrogruppe, welche die Makros für die Menübefehle enthält. Dieses Argument ist erforderlich. Wenn Sie ein Makro, das die Aktion HinzufügenMenü enthält, in einer Bibliotheksdatenbank ausführen, sucht Microsoft Access die Makrogruppe mit diesem Namen nur in der aktuellen Datenbank.
Statuszeilentext	Der Text, der in der Statusleiste angezeigt wird, wenn das Menü ausgewählt wird. Dieses Argument wird für benutzerdefinierte Kontextmenüs und globale Kontextmenüs ignoriert.
Hinweis

Um eine benutzerdefinierte Menüleiste, ein benutzerdefiniertes Kontextmenü, eine globale Menüleiste oder ein globales Kontextmenü zu erstellen, führen Sie folgende Schritte aus:

1.	Erstellen Sie ein Menüleistenmakro, das die Aktion HinzufügenMenü für jedes Dropdown-Menü enthält, das in der benutzerdefinierten Menüleiste oder globalen Menüleiste angezeigt werden soll. Für benutzerdefinierte Kontextmenüs und globale Kontextmenüs darf das Menüleistenmakro nur eine Aktion HinzufügenMenü enthalten.

2.	Weisen Sie jedem Dropdown-Menü Befehle zu, indem Sie für jedes Menü eine Makrogruppe erstellen. Jeder Befehl führt die Aktionen aus, die von einem Makro dieser Makrogruppe definiert wurden. Für benutzerdefinierte Kontextmenüs und globale Kontextmenüs erstellen Sie eine einzige Makrogruppe, in der jedes Makro die Aktionen für genau einen Befehl des Kontextmenüs enthält.

3.	Ordnen Sie das Menüleistenmakro dem jeweiligen Microsoft Access-Objekt wie folgt zu:

•	Bei benutzerdefinierten Menüleisten geben Sie den Namen des Menüleistenmakros in der Eigenschaft MenuBar für das Formular oder den Bericht ein.

•	Bei benutzerdefinierten Kontextmenüs geben Sie den Namen des Menüleistenmakros in der Eigenschaft ShortcutMenuBar für das Formular, das Formular-Steuerelement oder den Bericht ein.

•	Bei globalen Menüleisten klicken Sie im Menü Extras auf Start und geben dann im Dialogfeld Start den Namen des Menüleistenmakros im Feld Menüleiste ein.

•	Bei globalen Kontextmenüs klicken Sie im Menü Extras auf Start und geben dann im Dialogfeld Start den Namen des Menüleistenmakros im Feld Kontextmenüleiste ein.

Jedes Menü in der Menüleiste benötigt eine eigene Aktion HinzufügenMenü.

Die benutzerdefinierten und globalen Menüleisten und Kontextmenüs ersetzen die eingebauten Menüleisten und Kontextmenüs für die ihnen zugeordneten Objekte. Sollen diese Menüs weiterhin bestimmte Microsoft Access-Befehle enthalten, verwenden Sie die Aktion AusführenBefehl, um die betreffenden Befehle in die Makrogruppe der gewünschten Menüs einzutragen.

Sie können ein Makro von einem Menübefehl ausführen, indem Sie die Aktion AusführenMakro im Makro für den Befehl ausführen.

Anmerkung   HinzufügenMenü-Aktionen können nur in einem Menüleistenmakro, das von der Eigenschaft MenuBar oder ShortcutMenuBar eines Formulars, Formular-Steuerelements oder Berichts angegeben wurde, oder in den Feldern Menüleiste oder Kontextmenüleiste im Dialogfeld Start (Menü Extras, Befehl Start) verwendet werden. Menüleistenmakros dürfen nur HinzufügenMenü-Aktionen enthalten.

Wenn Sie ein Menüleistenmakro für ein Formular, für einen Bericht oder für die Datenbank angeben, führt Microsoft Access das Menüleistenmakro immer dann aus, wenn das Formular, der Bericht oder die Datenbank geöffnet wird. Wenn Sie das Menüleistenmakro oder die Makrogruppen, in denen die Befehle in den Dropdown-Menüs definiert werden, zu einem Zeitpunkt ändern, in dem das Formular, der Bericht oder die Datenbank geöffnet ist, müssen Sie das Formular, den Bericht bzw. die Datenbank schließen und erneut öffnen, damit die Änderungen in den benutzerdefinierten Menüleisten und in den zugehörigen Menüs sichtbar werden.

Wenn Sie die Makrogruppen erstellen, die die Befehle für ein benutzerdefiniertes Menü enthalten, beachten Sie die folgenden Punkte:

•	In der Makrogruppe werden die Namen in der Spalte Makroname als Befehlsname verwendet. Der Text in der Spalte Kommentar für ein Makro wird in der Statusleiste angezeigt, wenn Sie den Befehl auswählen.

•	Um eine Trennlinie zwischen zwei Menübefehlen zu ziehen, geben Sie in der Spalte Makroname zwischen den betreffenden Menübefehlen einen Bindestrich (-) ein.

•	Um eine Zugriffstaste zu definieren, mit der Sie das Menü auf der Tastatur auswählen können, geben Sie ein &-Zeichen vor dem Buchstaben ein, der im Menünamen als Zugriffstaste dienen soll. Dieser Buchstabe wird im Menünamen unterstrichen dargestellt.

Sie können ein Untermenü für ein benutzerdefiniertes Menü oder ein benutzerdefiniertes Kontextmenü erstellen, indem Sie die Aktion HinzufügenMenü in der im Argument Menümakroname angegebenen Makrogruppe verwenden. Wenn Sie die Aktion HinzufügenMenü in eine solche Makrogruppe einfügen, erstellt Microsoft Access ein Untermenü mit dem Menünamen und Statusleistentext, der in den Argumenten Menüname und Statuszeilentext für diese Aktion festgelegt wurde. Das Untermenü enthält die von den Makros in der Makrogruppe definierten Befehle, die im Argument Menümakroname für die Aktion HinzufügenMenü angegeben wurden. Die Spalten Menüname und Kommentar einer solchen Aktion HinzufügenMenü (die normalerweise den Befehlsnamen und Statuszeilentext für einen Befehl in einem benutzerdefinierten Menü angeben) werden ignoriert, da diese Aktion ein Untermenü definiert und keinen Befehl im Hauptmenü. Sie können mehrere Untermenüebenen erstellen, indem Sie die Aktion HinzufügenMenü in den Makrogruppen für jede Menüebene verwenden.

Makrobedingungen werden nur im Menüleistenmakro des Hauptmenüs unterstützt. Sie können also in einem Menüleistenmakro eine Bedingung verwenden, um festzustellen, ob ein bestimmtes Menü in der benutzerdefinierten Menüleiste oder globalen Menüleiste angezeigt wird, aber nur für die Menüs der Hauptmenüleiste. Sie können mit Bedingungen keine Befehle oder Untermenüs in den Menüs anzeigen oder ausblenden, aber Sie können Bedingungen verwenden, um ein benutzerdefiniertes Kontextmenü oder ein globales Kontextmenü anzuzeigen oder auszublenden.

Die Aktion HinzufügenMenü ist in Visual Basic nicht verfügbar. Sie können jedoch die Eigenschaften MenuBar oder ShortcutMenuBar in Visual Basic einstellen, um eine benutzerdefinierte Menüleiste oder ein benutzerdefiniertes Kontextmenü einem Formular, einem Formular-Steuerelement oder einem Bericht zuzuordnen. Sie können die Eigenschaft StartupMenuBar (die programmtechnische Entsprechung zum Einstellen des Feldes Menüleiste) einstellen, um eine globale Menüleiste zu erstellen. Sie können hierzu aber auch die Eigenschaft MenuBar des Objekts Application verwenden. Analog dazu können Sie die Eigenschaft StartupShortcutMenuBar (die programmtechnische Entsprechung zum Einstellen des Feldes Kontextmenüleiste) oder die Eigenschaft ShortcutMenuBar des Objekts Application einstellen, um ein globales Kontextmenü zu erstellen.


AnwendenFilter-Aktion

Sie können die Aktion AnwendenFilter verwenden, um einen Filter, eine Abfrage oder eine SQL-WHERE-Klausel auf eine Tabelle, ein Formular oder einen Bericht anzuwenden. Dadurch können Sie die Datensätze einer Tabelle bzw. der dem Formular oder Bericht zugrundeliegenden Tabelle oder Abfrage einschränken oder sortieren. Bei Berichten können Sie diese Aktion nur in einem Makro verwenden, das durch die Ereigniseigenschaft OnOpen des Berichts festgelegt wird.

Einstellung

Die Aktion AnwendenFilter verwendet die folgenden Argumente.

Aktionsargument	Beschreibung
Filtername	Der Name eines Filters oder einer Abfrage, der/die die Datensätze einer Tabelle, eines Formulars oder eines Berichts einschränkt oder sortiert. Sie können auch den Namen einer existierenden Abfrage oder eines Filters, der als Abfrage gespeichert wurde, im Abschnitt Aktionsargumente des Makrofensters im Feld Filtername eingeben.
Bedingung	Eine gültige SQL-WHERE-Klausel (ohne das Wort WHERE) oder ein Ausdruck, der die Datensätze der Tabelle, des Formulars oder des Berichts einschränkt.
	Anmerkung   Auf der linken Seite eines Ausdrucks der WHERE-Bedingung steht in der Regel ein Feldname der zugrundeliegenden Tabelle oder Abfrage für das Formular oder den Bericht. Auf der rechten Seite des Ausdrucks stehen in der Regel die Kriterien, die Sie auf dieses Feld anwenden möchten, um Datensätze einzuschränken oder zu sortieren. Als Kriterium kann z.B. der Name eines Steuerelements in einem anderen Formular dienen, das den Wert enthält, mit dem die Datensätze im ersten Formular übereinstimmen sollen. Der Name des Steuerelements muß vollständig angegeben werden, wie z.B.: Formulare!Formularname!Steuerelementname.
	Das Argument Bedingung darf bis zu 256 Zeichen lang sein. Ist es notwendig, eine längere SQL-WHERE-Klausel einzugeben, verwenden Sie die Methode ApplyFilter des Objekts DoCmd in Visual Basic. In Visual Basic können SQL-Anweisungen mit WHERE-Klauseln bis zu 32.768 Zeichen lang sein.
Anmerkung   Verwenden Sie mindestens ein Argument. Sie können das Argument Filtername verwenden, wenn Sie bereits einen Filter definiert haben, der die passenden Daten bereitstellt. Sie können das Argument Bedingung verwenden, um die einschränkenden Kriterien direkt einzugeben. Verwenden Sie beide Argumente, so wendet Microsoft Access die WHERE-Klausel auf das Ergebnis des Filters an.

Hinweis

Sie können einen Filter oder eine Abfrage auf ein Formular in der Formularansicht oder Datenblattansicht anwenden.

Der Filter und die WHERE-Bedingung, die Sie anwenden, wird als Einstellung der Eigenschaft Filter des Formulars oder Berichts übernommen.

Bei Tabellen und Formularen ist diese Aktion mit dem Klicken auf Filter/Sortierung anwenden im Menü Datensätze oder dem Klicken auf Filter/Sortierung anwenden  [image]  in der Symbolleiste vergleichbar. Der Menübefehl oder die Schaltfläche wendet den zuletzt erstellten Filter auf die Tabelle oder das Formular an, während die Aktion AnwendenFilter einen bestimmten Filter oder eine bestimmte Abfrage anwendet.

Wenn Sie nach dem Ausführen der Aktion AnwendenFilter im Menü Datensätze auf den Befehl Filter zeigen und dann auf Spezialfilter/-sortierung klicken, zeigt das Fenster Spezialfilter/-sortierung die Filterkriterien an, die Sie mit dieser Aktion ausgewählt haben.

Sie entfernen einen Filter und zeigen alle Datensätze für eine Tabelle oder ein Formular an, indem Sie die Aktion AnzeigenAlleDatensätze, den Befehl Filter/Sortierung entfernen aus dem Menü Datensätze oder die Schaltfläche Filter entfernen  [image]  in der Symbolleiste verwenden.

Wenn Sie eine Tabelle oder ein Formular speichern, speichert Microsoft Access alle momentan in diesem Objekt definierten Filter, wendet den Filter jedoch nicht automatisch beim nächsten Öffnen des Objekts an (im Gegensatz dazu werden alle Sortierungen angewendet, die Sie vor dem Speichern auf das Objekt angewendet haben). Soll ein Filter beim ersten Öffnen eines Formulars automatisch angewendet werden, so geben Sie ein Makro an, das die Aktion AnwendenFilter verwendet, oder eine Ereignisprozedur, welche die Methode ApplyFilter des Objekts DoCmd als Einstellung der Ereigniseigenschaft OnOpen des Formulars verwendet. Sie können einen Filter auch anwenden, indem Sie die Aktionen ÖffnenFormular oder ÖffnenBericht oder die entsprechenden Methoden verwenden. Soll ein Filter automatisch angewendet werden, wenn eine Tabelle das erste Mal geöffnet wird, so können Sie die Tabelle mit einem Makro öffnen, das unmittelbar nacheinander die Aktionen ÖffnenTabelle und AnwendenFilter enthält.


Signalton-Aktion

Sie können die Aktion Signalton verwenden, um einen Signalton über den Lautsprecher des Computers auszugeben.

Einstellung

Die Aktion Signalton verwendet keine Argumente.

Hinweis

Sie können die Aktion Signalton für folgende Situationen verwenden:

•	Wichtige Änderungen sind auf dem Bildschirm aufgetreten.

•	Die falsche Art von Daten wurde in einem Steuerelement eingegeben. Der Benutzer hat z.B. numerische Daten in einem Textfeld-Steuerelement eingegeben.

•	Ein Makro hat einen festgelegten Punkt erreicht oder seine Aktionen abgeschlossen.

Frequenz und Dauer des Signaltons sind abhängig von der eingesetzten Hardware und können sich daher von Computer zu Computer unterscheiden.

Um die Aktion Signalton in Visual Basic auszuführen, verwenden Sie die Methode Beep des Objekts DoCmd.


AbbrechenEreignis-Aktion

Sie können die Aktion AbbrechenEreignis verwenden, um das Ereignis abzubrechen, aufgrund dessen Microsoft Access das Makro mit dieser Aktion ausgeführt hat. Der Makroname entspricht der Einstellung einer Ereigniseigenschaft, wie z.B. BeforeUpdate, OnOpen, OnUnload oder OnPrint.

Einstellung

Die Aktion AbbrechenEreignis verwendet keine Argumente.

Hinweis

In einem Formular verwenden Sie die Aktion AbbrechenEreignis in der Regel in einem Makro zur Gültigkeitsüberprüfung einer Eingabe zusammen mit der Ereigniseigenschaft BeforeUpdate. Gibt ein Benutzer Daten in einem Steuerelement oder einem Datensatz ein, so führt Microsoft Access das Makro aus, bevor es die Daten zur Datenbank hinzufügt. Erfüllen die Daten die Gültigkeitsbedingungen in dem Makro nicht, so bricht die Aktion AbbrechenEreignis den Aktualisierungsvorgang ab, bevor er begonnen hat.

Häufig wird diese Aktion zusammen mit der Aktion Meldung verwendet, um anzuzeigen, daß die eingegebenen Daten die Gültigkeitsbedingungen nicht erfüllen, und um Informationen über die korrekten Eingabedaten bereitzustellen.

Die folgenden Ereignisse können mit der Aktion AbbrechenEreignis abgebrochen werden:

ApplyFilter	Delete	MouseDown
BeforeDelConfirm	Exit	NoData
BeforeInsert	Filter	Open
BeforeUpdate	Format	Print
DblClick	KeyPress	Unload
Anmerkung   Sie können die Aktion AbbrechenEreignis zusammen mit dem Ereignis MouseDown nur verwenden, um das Ereignis abzubrechen, das beim Klicken mit der rechten Maustaste auf ein Objekt auftritt.

Gibt die Ereigniseigenschaft OnDblClick eines Steuerelements ein Makro an, das die Aktion AbbrechenEreignis enthält, so bricht die Aktion das Ereignis DblClick ab.

Bei Ereignissen, die abgebrochen werden können, tritt das Standardverhalten für das Ereignis (also die normale Reaktion von Microsoft Access auf das Ereignis) ein, sobald das Makro für das Ereignis ausgeführt wird. Das gibt Ihnen die Möglichkeit, das Standardverhalten abzubrechen. Wenn Sie z.B. in einem Textfeld auf das Wort doppelklicken, auf dem sich die Einfügemarke befindet, markiert Microsoft Access dieses Wort normalerweise. Sie können das Standardverhalten im Makro für das Ereignis DblClick abbrechen und eine andere Aktion ausführen, z.B. ein Formular mit Informationen zu den Daten im Textfeld öffnen. Bei Ereignissen, die nicht abgebrochen werden können, tritt das Standardverhalten für das Ereignis ein, bevor das Makro ausgeführt wird.

Anmerkung   Gibt die Ereigniseigenschaft OnUnload eines Formulars ein Makro an, das die Aktion AbbrechenEreignis ausführt, so können Sie das Formular nicht schließen. Korrigieren Sie hierzu entweder den Zustand, der die Aktion AbbrechenEreignis ausgelöst hat, oder öffnen Sie das Makro und löschen die Aktion AbbrechenEreignis. Handelt es sich um ein gebundenes Formular, so können Sie das Makro nicht öffnen.

Um die Aktion AbbrechenEreignis in Visual Basic auszuführen, verwenden Sie die Methode CancelEvent des Objekts DoCmd.


Schließen-Aktion

Sie können die Aktion Schließen verwenden, um ein bestimmtes Microsoft Access-Fenster oder, wenn kein Fenster angegeben wird, das aktive Fenster zu schließen.

Einstellung

Die Aktion Schließen verwendet die folgenden Argumente.

Aktionsargument	Beschreibung
Objekttyp	Der Typ des Objekts, dessen Fenster Sie schließen möchten. Klicken Sie im Bereich Aktionsargumente des Makrofensters im Feld Objekttyp auf Tabelle, Abfrage, Formular, Bericht, Makro oder Modul. Um das aktive Fenster auszuwählen, lassen Sie dieses Argument leer.
Objektname	Der Name des zu schließenden Objekts. Das Feld Objektname zeigt alle Objekte in der Datenbank an, die dem im Argument Objekttyp angegebenen Typ entsprechen. Klicken Sie auf das Objekt, um es zu schließen. Wenn Sie das Feld Objekttyp leer lassen, muß dieses Feld ebenfalls leer bleiben.
Speichern	Gibt an, ob Veränderungen an einem Objekt beim Schließen gespeichert werden sollen. Klicken Sie auf Ja (um das Objekt zu speichern), auf Nein (um das Objekt zu schließen, ohne es zu speichern), oder auf Nachfragen (um den Benutzer zu fragen, ob das Objekt gespeichert werden soll oder nicht). Die Standardeinstellung ist Nachfragen.
Hinweis

Die Aktion Schließen betrifft alle Datenbankobjekte, die der Benutzer explizit öffnen oder schließen kann. Diese Aktion hat dieselbe Wirkung wie das Auswählen eines Objekts und das darauffolgende Schließen durch Klicken auf den Befehl Schließen im Menü Datei, auf Schließen im Systemmenü für das Fenster des Objekts oder auf die Schaltfläche Schließen  [image]  des Objekts.

Wenn das Argument Speichern auf Nachfragen eingestellt ist und das Objekt vor Ausführung der Aktion Schließen noch nicht gespeichert wurde, fordert ein Dialogfeld den Benutzer auf, das Objekt zu speichern, bevor es vom Makro geschlossen wird. Haben Sie das Argument Warnmeldungen An der Aktion Warnmeldungen auf Nein eingestellt, so wird das Dialogfeld nicht angezeigt, und das Objekt wird automatisch gespeichert.

Um die Aktion Schließen in Visual Basic auszuführen, verwenden Sie die Methode Close des Objekts DoCmd.


KopierenObjekt-Aktion

Sie können die Aktion KopierenObjekt verwenden, um das angegebene Datenbankobjekt in eine andere Microsoft Access-Datenbank oder unter einem anderen Namen in die gleiche Datenbank zu kopieren. Sie können z.B. ein existierendes Objekt in einer anderen Datenbank kopieren oder speichern oder schnell mit wenigen Änderungsvorgängen ein ähnliches Objekt erstellen.

Einstellung

Die Aktion KopierenObjekt verwendet die folgenden Argumente.

Aktionsargument	Beschreibung
Zieldatenbank	Ein gültiger Pfad und Dateiname für die Zieldatenbank. Geben Sie Pfad und Dateinamen im Abschnitt Aktionsargumente des Makrofensters im Feld Zieldatenbank ein. Lassen Sie dieses Argument leer, wenn Sie die aktuelle Datenbank auswählen möchten. Wenn Sie ein Makro, das die Aktion KopierenObjekt enthält, in einer Bibliotheksdatenbank ausführen und dieses Argument leer lassen, kopiert Microsoft Access das Objekt in die Bibliotheksdatenbank.
Neuer Name	Ein neuer Name für das Objekt. Wenn Sie das Objekt in eine andere Datenbank kopieren, lassen Sie dieses Argument leer, wenn der Name beibehalten werden soll.
Objekttyp (Herkunft)	Der zu kopierende Objekttyp. Klicken Sie auf Tabelle, Abfrage, Formular, Bericht, Makro oder Modul. Um das im Datenbankfenster ausgewählte Objekt zu kopieren, lassen Sie dieses Argument leer.
Objektname (Herkunft)	Der Name des zu kopierenden Objekts. Das Feld Objektname (Herkunft) zeigt alle Objekte in der Datenbank an, die dem im Argument Objekttyp (Herkunft) angegebenen Typ entsprechen. Klicken Sie im Feld Objekttyp (Herkunft) auf das zu kopierende Objekt. Wenn Sie das Feld Objekttyp (Herkunft) leer lassen, muß dieses Feld ebenfalls leer bleiben. Wenn Sie ein Makro, das die Aktion KopierenObjekt enthält, in einer Bibliotheksdatenbank ausführen, sucht Microsoft Access das Objekt mit diesem Namen zuerst in der Bibliotheksdatenbank und dann in der aktuellen Datenbank.
Hinweis

Geben Sie einen Wert für mindestens eines der Argumente Zieldatenbank und Neuer Name für diese Aktion ein.

Lassen Sie die Argumente Objekttyp (Herkunft) und Objektname (Herkunft) leer, so kopiert Microsoft Access das im Datenbankfenster ausgewählte Objekt. Um ein Objekt im Datenbankfenster auszuwählen, verwenden Sie die Aktion AuswählenObjekt, wobei das Argument Im Datenbankfenster auf Ja eingestellt ist.

Die Aktion KopierenObjekt ist mit dem Auswählen eines Objekts im Datenbankfenster, dem Klicken auf Kopieren im Menü Bearbeiten und dem anschließenden Klicken auf Einfügen im Menü Bearbeiten vergleichbar. Das Dialogfeld Einfügen als wird angezeigt, so daß Sie dem Objekt einen neuen Namen geben können. Die Aktion KopierenObjekt führt diese Schritte automatisch aus.

Sie können auch ein im Datenbankfenster ausgewähltes Objekt oder ein geöffnetes Objekt im Tabellenfenster, Abfragefenster, Formularfenster, Berichtsfenster, Makrofenster oder Modulfenster kopieren, indem Sie im Menü Datei auf Speichern unter/Exportieren klicken. Das Dialogfeld Speichern unter ermöglicht es Ihnen, eine Kopie des Objekts unter einem neuen Namen in der aktuellen Datenbank zu speichern oder das Objekt selbst in einer anderen Datenbank zu speichern. War dieses Objekt bereits gespeichert, und speichern Sie es in der aktuellen Datenbank unter einem neuen Namen, so bleibt die Originalversion mit dem alten Namen erhalten.

Pfad und Dateiname der Zieldatenbank müssen existieren, bevor das Makro die Aktion KopierenObjekt ausführt. Andernfalls zeigt Microsoft Access eine Fehlermeldung an.

Um die Aktion KopierenObjekt in Visual Basic auszuführen, verwenden Sie die Methode CopyObject des Objekts DoCmd.


AusführenMenübefehl-Aktion

Sie können die Aktion AusführenMenübefehl verwenden, um einen Befehl in einem Microsoft Access-Menü auszuführen.

Anmerkung   In Microsoft Access 97 wurde die Aktion AusführenMenübefehl durch die Aktion AusführenBefehl ersetzt. Die Aktion AusführenMenübefehl ist in dieser Microsoft Access-Version nur wegen der Kompatibilität mit früheren Versionen vorhanden. Wenn Sie ein Makro, das eine Aktion AusführenMenübefehl enthält, aus einer früheren Microsoft Access-Version öffnen und speichern, werden die Aktion und ihre Argumente automatisch in die äquivalente Aktion AusführenBefehl konvertiert. Die Aktion AusführenMenübefehl wird in Microsoft Access 97 in der Aktionsliste im Makrofenster nicht mehr aufgeführt.

Wenn Sie eine Microsoft Access-Datenbank aus einer früheren Microsoft Access-Version konvertieren, sind einige Befehle unter Umständen nicht mehr verfügbar. Diese Befehle können umbenannt, in ein anderes Menü verschoben oder in Microsoft Access 97 nicht mehr vorhanden sein. Die AusführenMenübefehl-Aktionen für diese Befehle können nicht in AusführenBefehl-Aktionen konvertiert werden. Wenn Sie das Makro öffnen, zeigt Microsoft Access für solche Befehle eine Aktion AusführenBefehl mit leerem Argument Befehl an. Bearbeiten Sie das Makro und geben eine gültige Aktion AusführenBefehl ein, oder löschen Sie das Makro. Eine Liste der Befehle aus früheren Microsoft Access-Versionen, die in Microsoft Access 97 nicht verfügbar sind, finden Sie unter Befehle der Aktion AusführenMenüBefehl, die mit der Aktion AusführenBefehl nicht verfügbar sind.

Sie können diese Aktion für folgende Operationen verwenden:

•	Ausführen beliebiger Microsoft Access-Befehle aus einem Makro. Wählen Sie einen Befehl aus, den das Makro für die aktuelle Ansicht ausführen kann. Beispielsweise kann ein Makro keinen Befehl aus dem Menü Datensätze ausführen, wenn sich das aktive Objekt in der Tabellen-Entwurfsansicht, Formular-Entwurfsansicht, Abfrage-Entwurfsansicht oder Berichts-Entwurfsansicht befindet.

•	Hinzufügen eines Microsoft Access-Befehls zu einer benutzerdefinierten Menüleiste für ein Formular oder einen Bericht oder zu einem Menü in der globalen Menüleiste. Geben Sie für jeden Befehl, den Sie hinzufügen möchten, die Aktion AusführenMenübefehl in der Makrogruppe für dieses Menü ein.

•	Hinzufügen eines Microsoft Access-Befehls zu einem benutzerdefinierten Kontextmenü für ein Formular, ein Formular-Steuerelement oder einen Bericht oder zum globalen Kontextmenü. Geben Sie für jeden Befehl, den Sie hinzufügen möchten, die Aktion AusführenMenübefehl in der Makrogruppe für das benutzerdefinierte Kontextmenü oder das globale Kontextmenü ein.

Einstellung

Die Aktion AusführenMenübefehl verwendet die folgenden Argumente.

Aktionsargument	Beschreibung
Menüleiste	Der Name der Menüleiste, die den auszuführenden Befehl enthält. Der Name der Menüleiste entspricht dem Namen einer Ansicht, in der Menüleisten angezeigt werden. Geben Sie den Menüleistennamen im Abschnitt Aktionsargumente des Makrofensters im Feld Menüleiste ein. Dieses Argument ist erforderlich.
Menüname	Der Name des Menüs, das den auszuführenden Befehl enthält. Dieses Argument ist erforderlich.
Befehl	Der auszuführende Befehl. Dieses Argument ist erforderlich.
Unterbefehl	Der auszuführende Unterbefehl. Dieses Argument kann nur ausgewählt werden, wenn der gewünschte Befehl über ein Untermenü verfügt.
Hinweis

Die Aktion AusführenMenübefehl hat dieselbe Wirkung wie das Klicken auf den angegebenen Befehl in einem Microsoft Access-Menü. Wird beim Klicken auf einen Befehl ein Dialogfeld angezeigt, so wird dieses Dialogfeld auch dann angezeigt, wenn Sie die Aktion AusführenMenübefehl ausführen. Sie können die Aktion Tastaturbefehle verwenden, um geeignete Informationen in das Dialogfeld einzugeben.

Um die Aktion AusführenMenübefehl in Visual Basic auszuführen, verwenden Sie die Methode DoMenuItem des Objekts DoCmd.


Echo-Aktion

Mit der Aktion Echo können Sie angeben, ob Echo eingeschaltet ist. Sie können diese Aktion z.B. verwenden, um das Ergebnis eines Makros während der Ausführung auszublenden oder anzuzeigen.

Einstellung

Die Aktion Echo verwendet die folgenden Argumente.

Aktionsargument	Beschreibung
Echo	Klicken Sie im Abschnitt Aktionsargumente des Makrofensters im Feld Echo auf Ja, um das Echo einzuschalten, oder auf Nein, um das Echo auszuschalten. Die Standardeinstellung ist Ja.
Statuszeilentext	Der in der Statusleiste anzuzeigende Text, wenn Echo eingeschaltet ist. Wenn Echo ausgeschaltet ist, kann z.B. die Statusleiste den Text "Das Makro wird gerade ausgeführt" anzeigen.
Hinweis

Beim Ausführen von einem Makro in Microsoft Access werden durch Bildschirmaktualisierungen oft Informationen angezeigt, die für die Funktionalität des Makros ohne Bedeutung sind. Wenn Sie das Argument Echo auf Nein einstellen, wird das Makro ohne Bildschirmaktualisierung ausgeführt. Beim Beenden des Makros schaltet Microsoft Access automatisch Echo wieder ein und aktualisiert das Fenster. Die Einstellung Nein für Echo hat keinerlei Auswirkungen auf das Makro und sein Ergebnis.

Die Aktion Echo unterdrückt nicht die Anzeige von gebundenen Dialogfeldern, wie z.B. Fehlermeldungen, oder von Popup-Formularen, wie z.B. Eigenschaftenfenster. Sie können diese für Benutzereingaben oder zur Anzeige von Informationen verwenden, wenn Echo ausgeschaltet ist. Verwenden Sie die Aktion Warnmeldungen, um alle Meldungs- oder Dialogfelder außer Fehlermeldungen und Dialogfelder, die den Benutzer zu Eingaben auffordern, auszuschalten.

Sie können die Aktion Echo mehrmals in einem Makro ausführen. Dadurch können Sie den Text in der Statusleiste verändern, während das Makro ausgeführt wird.

Wenn Sie Echo ausschalten, so können Sie die Aktion Sanduhr verwenden, um den Mauszeiger als Sanduhr-Symbol anzuzeigen (oder in Form eines anderen Mauszeigersymbols, das Sie in Microsoft Windows 95 für den Zustand "Ausgelastet" oder in Windows NT für den Zustand "Warten" eingestellt haben). Damit zeigen Sie dem Benutzer an, daß das Makro momentan ausgeführt wird.

Um die Aktion Echo in Visual Basic auszuführen, verwenden Sie die Methode Echo des Objekts DoCmd.


SuchenWeiter-Aktion

Mit der Aktion SuchenWeiter können Sie den nächsten Datensatz suchen, der die Kriterien erfüllt, die durch die vorhergehende Aktion SuchenDatensatz oder im Dialogfeld Suchen in Feld (Menü Bearbeiten, Befehl Suchen) angegeben wurden. Sie können mit der Aktion SuchenWeiter wiederholt Datensätze suchen. Beispielsweise können Sie nacheinander alle Datensätze für einen bestimmten Kunden anzeigen.

Einstellung

Die Aktion SuchenWeiter verwendet keine Argumente. Die Aktion SuchenWeiter sucht den nächsten Datensatz, der die zuvor von der Aktion SuchenDatensatz oder im Dialogfeld Suchen in Feld festgelegten Kriterien erfüllt. Die Argumente für die Aktion SuchenDatensatz werden ebenso als Optionen im Dialogfeld Suchen in Feld verwendet.

Um Suchkriterien einzustellen, verwenden Sie die Aktion SuchenDatensatz. In der Regel geben Sie die Aktion SuchenDatensatz in ein Makro ein und verwenden dann die Aktion SuchenWeiter, um nachfolgende Datensätze zu finden, die dieselben Kriterien erfüllen. Falls Datensätze nur dann gesucht werden sollen, wenn eine bestimmte Bedingung zutrifft, geben Sie in der Spalte Bedingung der Zeile Aktion für die Aktion SuchenWeiter einen bedingten Ausdruck an.

Hinweis

Diese Aktion hat dieselbe Wirkung wie die Schaltfläche Weitersuchen im Dialogfeld Suchen in Feld.

Anmerkung   Während die Aktion SuchenDatensatz dem Befehl Suchen im Menü Bearbeiten für Tabellen, Abfragen und Formulare entspricht, ist dies im Modulfenster beim Befehl Suchen im Menü Bearbeiten nicht der Fall. Sie können die Aktion SuchenDatensatz oder SuchenWeiter nicht zum Suchen von Text in Modulen verwenden.

Tip   Wenn Sie das Argument Nur aktuelles Feld der Aktion SuchenDatensatz auf Ja eingestellt haben, setzen Sie ggf. mit der Aktion GeheZuSteuerelement den Fokus auf das Steuerelement, das die gesuchten Daten enthält, bevor Sie die Aktion SuchenWeiter verwenden.

In Microsoft Access 97 und Microsoft Access 95 beginnt die Aktion SuchenWeiter die Suche nach dem nächsten Vorkommen des Suchkriteriums an anderer Stelle als in früheren Versionen. In früheren Microsoft Access-Versionen beginnt der Suchvorgang in jedem Fall beim nächsten Datensatz der Datensatzgruppe. Das unterschiedliche Verhalten macht sich dann bemerkbar, wenn der momentan ausgewählte Text derselbe ist wie der Suchtext zu dem Zeitpunkt, zu dem Aktion SuchenWeiter ausgeführt wird. Seit Microsoft Access 95 beginnt der Suchvorgang in diesem Fall unmittelbar hinter der Markierung in demselben Feld und in demselben Datensatz wie die Markierung. Andernfalls beginnt die Suche am Anfang des aktuellen Datensatzes. Auf diese Weise können mehrere Vorkommen des Suchkriteriums in einem einzigen Datensatz gefunden werden; in Microsoft Access, Version 2.0, können Sie dagegen nur das erste Vorkommen des Suchkriteriums in einem Datensatz finden.

Wenn Sie jedoch ein Makro, das die Aktion SuchenWeiter enthält, mit Hilfe einer Befehlsschaltfläche ausführen, beachten Sie, daß wiederholt das erste Vorkommen des Suchkriteriums gefunden wird. Das liegt daran, daß der Fokus beim Klicken auf die Befehlsschaltfläche dem Feld, das den übereinstimmenden Wert enthält, genommen wird. Die Aktion SuchenWeiter beginnt dadurch erneut am Anfang des Datensatzes, so daß stets das erste Vorkommen des Suchkriteriums in demselben Datensatz gefunden wird. Um dieses Problem zu umgehen, führen Sie das Makro mit einem Verfahren aus, das den Fokus nicht ändert, beispielsweise mit einer Schaltfläche in einer benutzerdefinierten Symbolleiste oder einer Tastenkombination, die in einem Makro Tastaturbelegung definiert ist. Sie können aber auch im Makro den Fokus auf das Feld setzen, das das Suchkriterium enthält, bevor Sie die Aktion SuchenWeiter ausführen.

Dasselbe Verhalten tritt auch auf, wenn Sie ein Makro, das die Aktion SuchenDatensatz enthält, mit Hilfe einer Befehlsschaltfläche ausführen, wobei das Aktionsargument Am Anfang beginnen auf Nein eingestellt ist. Weitere Informationen über die Art und Weise, wie die Aktion SuchenWeiter Datensätze sucht, finden Sie in der Microsoft Knowledge Base im Artikel Q150665, "FindNext Does Not Advance To Next Record To Search." Um eine Verbindung mit der Microsoft Access Knowledge Base-Suchseite herzustellen, klicken Sie auf  [image]. Weitere Informationen über den Zugriff auf die Knowledge Base oder andere technische Online-Ressourcen finden Sie unter Herstellen einer Verbindung mit Microsoft technical resources.

Um die Aktion SuchenWeiter in Visual Basic auszuführen, verwenden Sie die Methode FindNext des Objekts DoCmd.


SuchenDatensatz-Aktion

Mit der Aktion SuchenDatensatz können Sie das erste Vorkommen der Daten suchen, die die in den Argumenten der Aktion SuchenDatensatz festgelegten Kriterien erfüllen. Dies kann im aktuellen Datensatz, in einem vorhergehenden oder nachfolgenden Datensatz, aber auch im ersten Datensatz sein. Sie können Datensätze im aktiven Tabellendatenblatt, Abfragedatenblatt, Formulardatenblatt oder Formular suchen.

Einstellung

Die Aktion SuchenDatensatz verwendet die folgenden Argumente.

Aktionsargument	Beschreibung
Suchen nach	Legt die im Datensatz zu suchenden Daten fest. Geben Sie den gewünschten Text, eine Zahl oder ein Datum im Abschnitt Aktionsargumente des Makrofensters im Feld Suchen nach ein, oder geben Sie einen Ausdruck ein, dem ein Gleichheitszeichen (=) vorangestellt ist. Sie können Platzhalterzeichen verwenden. Dieses Argument ist erforderlich.
Vergleichen	Gibt an, wo im Feld nach den Daten gesucht wird. Sie können Daten suchen, die an beliebiger Stelle im Feld vorkommen (Teil des Feldinhaltes), die mit dem gesamten Feldinhalt übereinstimmen (Gesamter Feldinhalt), oder die sich am Feldanfang befinden (Anfang des Feldinhaltes). Die Standardeinstellung ist Gesamter Feldinhalt.
Groß-/Kleinschreibung	Gibt an, ob bei der Suche die Groß-/Kleinschreibung berücksichtigt wird (Groß- und Kleinbuchstaben müssen genau übereinstimmen). Klicken Sie auf Ja (um die Groß-/Kleinschreibung beim Suchen zu berücksichtigen), oder auf Nein (um die Groß-/Kleinschreibung nicht zu berücksichtigen). Die Standardeinstellung ist Nein.
Suchen	Gibt die Suchrichtung an: vom aktuellen Datensatz in Richtung Anfang der Datensätze (Oben), in Richtung Ende der Datensätze (Unten), oder in Richtung Ende der Datensätze und dann wieder vom Anfang der Datensätze bis zum aktuellen Datensatz, so daß alle Datensätze durchsucht werden (Alle). Die Standardeinstellung ist Alle.
Wie formatiert	Gibt an, ob die Suche formatierte Daten enthält. Klicken Sie auf Ja, damit Microsoft Access die Daten in der Form sucht, wie sie im Feld formatiert und angezeigt werden. Klicken Sie auf Nein, damit Microsoft Access die Daten so sucht, wie sie in der Datenbank gespeichert sind, was nicht immer der Darstellung auf dem Bildschirm entspricht. Die Standardeinstellung ist Nein. Mit dieser Funktion können Sie die Suche auf Daten beschränken, die ein bestimmtes Format besitzen. Klicken Sie z.B. auf Ja, und geben Sie im Argument Suchen nach den Wert 1.234 ein, um den Wert 1.234 in einem Feld zu finden, das Punkte enthalten darf. Klicken Sie auf Nein, wenn Sie 1234 eingeben möchten, um Daten in diesem Feld zu suchen. Wenn Sie Datumsangaben suchen, klicken Sie auf Ja, um das Datum mit der exakten Formatierung zu finden, z.B. 01. Juli 1996. Wenn Sie auf Nein klicken, geben Sie das Datum im Argument Suchen nach in dem Format ein, das im Dialogfeld Eigenschaften von Ländereinstellungen der Microsoft Windows-Systemsteuerung eingestellt ist. (Dies entspricht dem Feld Kurzes Datumsformat in der Registerkarte Datum des Dialogfelds Eigenschaften von Ländereinstellungen.) Ist z.B. das Feld Kurzes Datumsformat auf T/M/JJ eingestellt, so können Sie 1/7/96 eingeben, damit Microsoft Access alle Einträge in einem Datumsfeld (unabhängig von der Formatierung des Feldes) sucht, die dem 1. Juli 1996 entsprechen. Anmerkung   Dieses Argument ist nur wirksam, wenn das aktuelle Feld ein gebundenes Steuerelement ist und das Argument Vergleichen auf Gesamter Feldinhalt, das Argument Nur aktuelles Feld auf Ja sowie das Argument Groß-/Kleinschreibung beachten auf Nein eingestellt ist. Wenn Sie Groß-/Kleinschreibung beachten auf Ja oder Nur aktuelles Feld auf Nein einstellen, stellen Sie auch Wie formatiert auf Ja ein.
Nur aktuelles Feld	Gibt an, ob die Suche auf das aktuelle Feld in allen Datensätzen beschränkt ist oder ob in allen Feldern in allen Datensätzen gesucht werden soll. Die Suche im aktuellen Feld ist schneller. Klicken Sie auf Ja, um die Suche auf das aktuelle Feld zu beschränken, oder auf Nein, um in allen Feldern aller Datensätze zu suchen. Die Standardeinstellung ist Ja.
Am Anfang beginnen	Gibt an, ob die Suche beim ersten Datensatz oder beim aktuellen Datensatz beginnt. Klicken Sie auf Ja, um beim ersten Datensatz zu beginnen, oder auf Nein, um beim aktuellen Datensatz zu beginnen. Die Standardeinstellung ist Ja.
Hinweis

Führt ein Makro die Aktion SuchenDatensatz aus, so sucht Microsoft Access die angegebenen Daten in den Datensätzen, wobei die Suchreihenfolge im Argument Suchen festgelegt ist. Wenn Microsoft Access die angegebenen Daten findet, werden diese im Datensatz markiert.

Die Aktion SuchenDatensatz entspricht dem Klicken auf Suchen im Menü Bearbeiten, und die Argumente stimmen mit den Optionen im Dialogfeld Suchen in Feld überein. Wenn Sie die Argumente der Aktion SuchenDatensatz im Makrofenster einstellen, das Makro ausführen und dann auf Suchen klicken, sehen Sie, daß die entsprechenden Optionen im Dialogfeld Suchen in Feld ausgewählt sind.

Microsoft Access speichert die zuletzt in einem Suchvorgang verwendeten Argumente während einer Datenbanksitzung, so daß Sie nicht mehrmals dieselben Kriterien eingeben müssen, wenn Sie die Aktion SuchenDatensatz wiederholt ausführen. Wenn Sie für ein Argument keinen Wert angeben, verwendet Microsoft Access die letzte Einstellung für das Argument aus der vorhergehenden Aktion SuchenDatensatz oder aus dem Dialogfeld Suchen in Feld.

Wenn Sie einen Datensatz mit einem Makro suchen möchten, verwenden Sie die Aktion SuchenDatensatz, nicht die Aktion AusführenMenübefehl mit einem Argument, das zur Ausführung des Befehls Suchen eingestellt ist.

Anmerkung   Während die Aktion SuchenDatensatz dem Befehl Suchen im Menü Bearbeiten für Tabellen, Abfragen und Formularen entspricht, ist dies im Modulfenster beim Befehl Suchen im Menü Bearbeiten nicht der Fall. Sie können die Aktion SuchenDatensatz nicht zum Suchen von Text in Modulen verwenden.

In Microsoft Access 97 und Microsoft Access 95 beginnt die Aktion SuchenWeiter die Suche nach dem nächsten Vorkommen des Suchkriteriums, falls das Argument Am Anfang beginnen auf Nein eingestellt ist, an anderer Stelle als in früheren Versionen. In früheren Microsoft Access-Versionen beginnt der Suchvorgang in jedem Fall beim benachbarten (unmittelbar vorhergehenden oder nachfolgenden) Datensatz der Datensatzgruppe. Das unterschiedliche Verhalten macht sich dann bemerkbar, wenn der momentan ausgewählte Text derselbe ist wie der Suchtext zu dem Zeitpunkt, zu dem Aktion SuchenWeiter ausgeführt wird. Ab Microsoft Access 95 beginnt der Suchvorgang in diesem Fall unmittelbar hinter der Markierung in demselben Feld und in demselben Datensatz wie die Markierung. Andernfalls beginnt die Suche am Anfang des aktuellen Datensatzes. Auf diese Weise können mehrere Vorkommen des Suchkriteriums in einem einzigen Datensatz gefunden werden; in Microsoft Access, Version 2.0, können Sie dagegen nur das erste Vorkommen des Suchkriteriums in einem Datensatz finden.

Wenn Sie jedoch ein Makro, das die Aktion SuchenDatensatz enthält, mit Hilfe einer Befehlsschaltfläche ausführen, beachten Sie, daß wiederholt das erste Vorkommen des Suchkriteriums gefunden wird. Das liegt daran, daß der Fokus beim Klicken auf die Befehlsschaltfläche dem Feld, das den übereinstimmenden Wert enthält, genommen wird. Die Aktion SuchenDatensatz beginnt dadurch erneut am Anfang des Datensatzes, so daß stets das erste Vorkommen des Suchkriteriums in demselben Datensatz gefunden wird. Um dieses Problem zu umgehen, führen Sie das Makro mit einem Verfahren aus, das den Fokus nicht ändert, beispielsweise mit einer Schaltfläche in einer benutzerdefinierten Symbolleiste oder einer Tastenkombination, die in einem Makro Tastaturbelegung definiert ist. Sie können aber auch im Makro den Fokus auf das Feld setzen, das das Suchkriterium enthält, bevor Sie die Aktion SuchenDatensatz ausführen.

Dasselbe Verhalten tritt auch auf, wenn Sie ein Makro, das die Aktion SuchenWeiter enthält, mit Hilfe einer Befehlsschaltfläche ausführen. Weitere Informationen über die Art und Weise, wie die Aktion SuchenWeiter Datensätze sucht, finden Sie in der Microsoft Knowledge Base im Artikel Q150665, "FindNext Does Not Advance To Next Record To Search." Um eine Verbindung mit der Microsoft Access Knowledge Base-Suchseite herzustellen, klicken Sie auf  [image]. Weitere Informationen über den Zugriff auf die Knowledge Base oder andere technische Online-Ressourcen finden Sie unter Herstellen einer Verbindung mit Microsoft technical resources.

Um die Aktion SuchenDatensatz in Visual Basic auszuführen, verwenden Sie die Methode FindRecord des Objekts DoCmd.


GeheZuSteuerelement-Aktion

Sie können die Aktion GeheZuSteuerelement verwenden, um den Fokus auf das angegebene Feld oder Steuerelement im aktuellen Datensatz des geöffneten Formulars, Formulardatenblatts, Tabellendatenblatts oder Abfragedatenblatts zu setzen. Sie können diese Aktion verwenden, wenn ein bestimmtes Feld oder Steuerelement den Fokus erhalten soll. Dieses Feld oder Steuerelement kann dann für Vergleiche oder SuchenDatensatz-Aktionen verwendet werden. Sie können sich mit Hilfe dieser Aktion auch abhängig von bestimmten Bedingungen in einem Formular bewegen. Gibt der Benutzer z.B. in einem Steuerelement Verheiratet in einem Formular Lebensversicherung den Wert Nein ein, so kann der Fokus automatisch das Steuerelement Name des Ehepartners überspringen und auf das nächste Steuerelement gesetzt werden.

Einstellung

Die Aktion GeheZuSteuerelement verwendet das folgende Argument.

Aktionsargument	Beschreibung
Steuerelementname	Der Name des Feldes oder Steuerelements, auf das der Fokus gesetzt werden soll. Geben Sie den Feld- oder Steuerelementnamen im Abschnitt Aktionsargumente des Makrofensters im Feld Steuerelementname ein. Dieses Argument ist erforderlich. Anmerkung   Geben Sie lediglich den Namen des Feldes oder Steuerelements im Argument Steuerelementname an, nicht den vollständigen Bezeichner, wie z.B. Formulare!Artikel![Artikel-Nr].
Hinweis

Sie können die Aktion GeheZuSteuerelement nicht verwenden, um den Fokus auf ein Steuerelement in einem ausgeblendeten Formular zu setzen.

Tip   Sie können die Aktion GeheZuSteuerelement verwenden, um sich zu einem Unterformular zu bewegen, das ein Steuerelement darstellt. Sie können sich dann mit Hilfe der Aktion GeheZuDatensatz zu einem bestimmten Datensatz im Unterformular bewegen. Sie können sich mit der Aktion GeheZuSteuerelement auch zu einem Steuerelement in einem Unterformular bewegen, indem Sie sich zuerst zum Unterformular und dann zum Steuerelement in dem Unterformular bewegen.

Um die Aktion GeheZuSteuerelement in Visual Basic auszuführen, verwenden Sie die Methode GoToControl des Objekts DoCmd. Sie können auch die Methode SetFocus verwenden, um den Fokus auf ein Steuerelement in einem Formular, auf eines seiner Unterformulare oder auf ein Feld in einer geöffneten Tabelle, Abfrage oder in einem geöffneten Formulardatenblatt zu setzen.


GeheZuSeite-Aktion

Mit der Aktion GeheZuSeite können Sie den Fokus im aktiven Formular auf das erste Steuerelement auf einer bestimmten Seite setzen. Sie können diese Aktion verwenden, wenn Sie ein Formular mit Seitenumbrüchen erstellt haben, das Gruppen zusammenhängender Informationen enthält. Wenn Sie z.B. über ein Formular Personal verfügen, das persönliche Angaben auf einer Seite, dienstliche Angaben auf einer anderen Seite und Umsatzzahlen auf einer dritten Seite enthält, können Sie sich mit der Aktion GeheZuSeite zur gewünschten Seite bewegen. Sie können auch mehrere Informationsseiten auf einem einzigen Formular darstellen, wenn Sie Register-Steuerelemente verwenden.

Einstellung

Die Aktion GeheZuSeite verwendet die folgenden Argumente.

Aktionsargument	Beschreibung
Seitenzahl	Die Nummer der Seite, auf die der Fokus gesetzt werden soll. Geben Sie die Seitenzahl im Abschnitt Aktionsargumente des Makrofensters im Feld Seitenzahl ein. Wenn Sie dieses Argument leer lassen, bleibt der Fokus auf der aktuellen Seite. Mit Hilfe der Argumente Rechts und Unten können Sie den gewünschten Teil der Seite anzeigen.
Rechts	Die horizontale Position der Stelle auf der Seite (gemessen vom linken Rand des umgebenden Fensters), die am linken Rand des Fensters angezeigt werden soll. Dieses Argument ist erforderlich, wenn Sie das Argument Unten angegeben haben.
Unten	Die vertikale Position der Stelle auf der Seite (gemessen vom oberen Rand des umgebenden Fensters), die am oberen Rand des Fensters angezeigt werden soll. Dieses Argument ist erforderlich, wenn Sie das Argument Rechts angegeben haben.
Anmerkung   Die Maßeinheiten Rechts und Unten werden in Zentimetern oder Zoll angegeben, abhängig von der Maßeinheit, die in der Windows-Systemsteuerung im Dialogfeld Eigenschaften von Ländereinstellungen in der Registerkarte Zahlen eingestellt ist.

Hinweis

Mit dieser Aktion können Sie das erste Steuerelement (wie in der Reihenfolge für das Formular definiert) auf der angegebenen Seite auswählen. Verwenden Sie die Aktion GeheZuSteuerelement, um sich zu einem bestimmten Steuerelement in dem Formular zu bewegen.

Sie können die Argumente Rechts und Unten für Formulare verwenden, deren Seiten größer sind als das Microsoft Access-Fenster. Verwenden Sie zuerst das Argument Seitenzahl, um sich zur gewünschten Seite zu bewegen, und dann die Argumente Rechts und Unten, um den gewünschten Teil der Seite anzuzeigen. Microsoft Access zeigt den Teil einer Seite an, dessen linke obere Ecke den angegebenen Abstand von der linken oberen Ecke der Seite hat.

Sie können die Aktion GeheZuSeite nicht verwenden, um den Fokus auf eine Seite in einem ausgeblendeten Formular zu setzen.

Um die Aktion GeheZuSeite in Visual Basic auszuführen, verwenden Sie die Methode GoToPage des Objekts DoCmd.


GeheZuDatensatz-Aktion

Mit der Aktion GeheZuDatensatz können Sie den angegebenen Datensatz zum aktuellen Datensatz in einer geöffneten Tabelle, einem geöffneten Formular oder im Abfrageergebnis machen.

Einstellung

Die Aktion GeheZuDatensatz verwendet die folgenden Argumente.

Aktionsargument	Beschreibung
Objekttyp	Der Typ des Objekts, das den Datensatz enthält, der zum aktuellen Datensatz werden soll. Klicken Sie im Bereich Aktionsargumente des Makrofensters im Feld Objekttyp auf Tabelle, Abfrage oder Formular. Wenn Sie dieses Feld leer lassen, wird das aktive Objekt ausgewählt.
Objektname	Der Name des Objekts, das den Datensatz enthält, der zum aktuellen Datensatz werden soll. Das Feld Objektname zeigt alle Objekte in der aktuellen Datenbank an, die dem im Argument Objekttyp angegebenen Typ entsprechen. Wenn Sie das Feld Objekttyp leer lassen, muß dieses Feld ebenfalls leer bleiben.
Datensatz	Der Datensatz, der zum aktuellen Datensatz werden soll. Klicken Sie im Feld Datensatz auf Voriger, Nächster, Erster, Letzter, Gehe zu oder Neuer. Die Standardeinstellung ist Nächster.
Offset	Eine Ganzzahl oder ein Ausdruck mit vorangestelltem Gleichheitszeichen (=), der zu einer Ganzzahl ausgewertet wird. Dieses Argument gibt den Datensatz an, der zum aktuellen Datensatz werden soll. Sie können das Argument Offset auf zwei Arten verwenden: • Wenn das Argument Datensatz den Wert Nächster oder Voriger hat, bewegt Microsoft Access sich um die im Argument Offset angegebene Anzahl an Datensätzen vorwärts oder zurück. • Wenn das Argument Datensatz den Wert Gehe zu hat, wechselt Microsoft Access zu dem Datensatz, dessen Nummer im Argument Offset angegeben ist. Die Datensatznummer wird im Feld Datensatznummer ganz unten auf dem Bildschirm angezeigt.
	Anmerkung   Wenn Sie das Argument Datensatz auf Erster, Letzter oder Neuer einstellen, übergeht Microsoft Access das Argument Offset. Geben Sie einen zu großen Wert für Offset ein, so zeigt Microsoft Access eine Fehlermeldung an. Sie können keine negativen Werte für das Argument Offset eingeben.
Hinweis

Befindet sich der Fokus auf einem bestimmten Steuerelement in einem Datensatz, so setzt diese Aktion den Fokus im neuen Datensatz auf dasselbe Steuerelement.

Sie können sich mit Hilfe der Einstellung Neuer des Arguments Datensatz zu dem leeren Datensatz am Ende eines Formulars oder einer Tabelle bewegen, um dort neue Daten einzugeben.

Diese Aktion ist mit dem Klicken auf Gehe zu im Menü Bearbeiten vergleichbar. Die Unterbefehle Erster, Letzter, Nächster, Vorheriger und Neu des Befehls Gehe zu haben dieselbe Wirkung auf das ausgewählte Objekt wie die Einstellungen Erster, Letzter, Nächster, Voriger und Neuer des Arguments Datensatz. Sie können sich auch zu Datensätzen bewegen, indem Sie die Navigationsschaltflächen unten im Fenster verwenden.

Sie können die Aktion GeheZuDatensatz verwenden, um den Datensatz in einem ausgeblendeten Formular zum aktuellen Datensatz zu machen, wenn Sie das ausgeblendete Formular in den Argumenten Objekttyp und Objektname angeben.

Um die Aktion GeheZuDatensatz in Visual Basic auszuführen, verwenden Sie die Methode GoToRecord des Objekts DoCmd.


Sanduhr-Aktion

Sie können die Aktion Sanduhr verwenden, um den Mauszeiger in Form einer Sanduhr (oder eines beliebigen anderen Symbols) anzuzeigen, während ein Makro ausgeführt wird. Diese Aktion ist ein visueller Hinweis für den Benutzer, daß momentan ein Makro ausgeführt wird. Dies erweist sich insbesondere dann als hilfreich, wenn eine Makroaktion oder das Makro selbst eine längere Ausführungszeit beansprucht.

Einstellung

Die Aktion Sanduhr verwendet das folgende Argument.

Aktionsargument	Beschreibung
Sanduhr	Klicken Sie im Abschnitt Aktionsargumente des Makrofensters im Feld Sanduhr auf Ja (um das Symbol anzuzeigen) oder Nein (um den normalen Mauszeiger anzuzeigen). Die Standardeinstellung ist Ja.
Hinweis

Häufig wird diese Aktion verwendet, wenn Sie das Echo mit der Aktion Echo ausgeschaltet haben. Wenn das Echo ausgeschaltet wird, führt Microsoft Access solange keine Bildschirmaktualisierung aus, bis das Makro beendet ist.

Microsoft Access stellt die Aktion Sanduhr automatisch auf Nein ein, wenn das Makro abgeschlossen ist.

Anmerkungen

•	In Microsoft Windows 95 zeigt diese Aktion das Symbol an, das Sie in der Windows-Systemsteuerung im Dialogfeld Eigenschaften von Maus in der Registerkarte Zeiger für Ausgelastet eingestellt haben (Standardeinstellung ist eine bewegte Sanduhr).

•	In Windows NT wird das Symbol verwendet, das Sie in der Windows-Systemsteuerung im Dialogfeld Cursor für Warten eingestellt haben (Standardeinstellung ist ebenfalls eine Sanduhr).

•	In beiden Fällen können Sie ein anderes Symbol wählen.

Um die Aktion Sanduhr in Visual Basic auszuführen, verwenden Sie die Methode Hourglass des Objekts DoCmd.


Maximieren-Aktion

Sie können die Aktion Maximieren verwenden, um das aktive Fenster in ein Vollbild zu vergrößern, damit es das Microsoft Access-Fenster ausfüllt. Mit dieser Aktion können Sie den größtmöglichen Teil des Objekts im aktiven Fenster anzeigen.

Einstellung

Die Aktion Maximieren verwendet keine Argumente.

Hinweis

Diese Aktion hat dieselbe Wirkung wie das Klicken auf die Schaltfläche Maximieren in der oberen rechten Ecke des Fensters oder das Klicken auf Maximieren im Systemmenü.

Sie können die Aktion Wiederherstellen verwenden, um ein maximiertes Fenster wieder in seiner bisherigen Größe darzustellen.

Tips

•	Verwenden Sie ggf. die Aktion AuswählenObjekt, wenn das zu maximierende Fenster nicht das aktive Fenster ist.

•	Wenn Sie ein Fenster in Microsoft Access maximieren, werden alle anderen Fenster, die Sie öffnen oder zu denen Sie wechseln, ebenfalls maximiert. Popup-Formulare werden jedoch nicht maximiert. Wenn ein Formular seine Größe beibehalten soll, obwohl andere Fenster maximiert werden, stellen Sie seine Eigenschaft PopUp auf Ja ein. Weitere Informationen dazu, wie Microsoft Access Fenster maximiert, finden Sie in der Microsoft Knowledge Base im Artikel Q147152, "Maximizing One Form Maximizes All Forms (7.0)." Um eine Verbindung mit der Microsoft Access Knowledge Base-Suchseite herzustellen, klicken Sie auf  [image]. Weitere Informationen über den Zugriff auf die Knowledge Base oder andere technische Online-Ressourcen finden Sie unter Herstellen einer Verbindung mit Microsoft technical resources.

Um die Aktion Maximieren in Visual Basic auszuführen, verwenden Sie die Methode Maximize des Objekts DoCmd.


Minimieren-Aktion

Sie können die Aktion Minimieren verwenden, um das aktuelle Fenster auf eine kleine Titelleiste im unteren Bereich des Microsoft Access-Fensters zu verkleinern.

Einstellung

Die Aktion Minimieren verwendet keine Argumente.

Hinweis

Sie können diese Aktion verwenden, um ein Fenster vom Bildschirm zu entfernen, wobei das Objekt weiterhin geöffnet bleibt. Sie können mit dieser Aktion auch ein Objekt öffnen, ohne das zugehörige Fenster anzuzeigen. Zum Anzeigen des Objekts verwenden Sie die Aktion AuswählenObjekt entweder zusammen mit der Aktion Maximieren oder mit der Aktion Wiederherstellen. Die Aktion Wiederherstellen stellt ein minimiertes Fenster wieder in seiner bisherigen Größe dar.

Die Aktion Minimieren hat dieselbe Wirkung wie das Klicken auf die Schaltfläche Minimieren in der oberen rechten Ecke des Fensters oder das Klicken auf Minimieren im Systemmenü.

Tips

•	Verwenden Sie ggf. zuerst die Aktion AuswählenObjekt, wenn das zu minimierende Fenster nicht das aktive Fenster ist.

•	Sie minimieren das Datenbankfenster, indem Sie Aktion AuswählenObjekt mit dem auf Ja eingestellten Argument In Datenbankfenster und dann die Aktion Minimieren verwenden.

•	Sie können den Befehl Ausblenden aus dem Menü Fenster verwenden, um das aktive Fenster auszublenden. Das Fenster wird dann nicht auf Symbolgröße verkleinert, sondern es wird unsichtbar. Mit dem Befehl Einblenden aus dem Menü Fenster kann das Fenster wieder angezeigt werden. Sie können die beiden Befehle auch mit der Aktion AusführenBefehl in einem Makro ausführen.

•	Sie können auch die Aktion SetzenWert verwenden, um die Eigenschaft Visible eines Formulars so einzustellen, daß das Formularfenster ausgeblendet oder angezeigt wird.

Um die Aktion Minimieren in Visual Basic auszuführen, verwenden Sie die Methode Minimize des Objekts DoCmd.


Positionieren-Aktion

Sie können die Aktion Positionieren verwenden, um das aktive Fenster zu verschieben oder seine Größe zu verändern.

Einstellung

Die Aktion Positionieren verwendet die folgenden Argumente.

Aktionsargument	Beschreibung
Rechts	Die neue horizontale Position der oberen linken Ecke des Fensters, gemessen vom linken Rand des umgebenden Fensters. Geben Sie die Position im Abschnitt Aktionsargumente des Makrofensters im Feld Rechts ein.
Unten	Die neue vertikale Position der oberen linken Ecke des Fensters, gemessen vom oberen Rand des umgebenden Fensters.
Breite	Die neue Breite des Fensters.
Höhe	Die neue Höhe des Fensters.
Wenn Sie für ein Argument keinen Wert angeben, verwendet Microsoft Access die aktuellen Einstellungen des Fensters.

Geben Sie für mindestens ein Argument einen Wert ein.

Anmerkung   Die Maßeinheiten werden in Zentimetern oder Zoll angegeben, abhängig von der Maßeinheit, die in der Windows-Systemsteuerung im Dialogfeld Eigenschaften von Ländereinstellungen in der Registerkarte Zahlen eingestellt ist.

Hinweis

Diese Aktion ist mit dem Klicken auf Verschieben oder Größe ändern im Systemmenü des Fensters vergleichbar. Bei den Menübefehlen verwenden Sie die Pfeiltasten der Tastatur, um die Größe oder Position des Fensters zu ändern. Bei der Aktion Positionieren geben Sie die Position und Abmessungen direkt ein. Sie können die Größe und Position von Fenstern auch mit der Maus ändern.

Sie können diese Aktion in jedem Fenster und in jeder Ansicht verwenden.

Tips

•	Um ein Fenster zu verschieben, ohne die Größe zu ändern, geben Sie Werte für die Argumente Rechts und Unten ein, aber lassen Sie die Argumente Breite und Höhe leer.

•	Um die Größe des Fensters zu ändern, ohne es zu verschieben, geben Sie Werte für die Argumente Breite und Höhe ein, aber lassen Sie die Argumente Rechts und Unten leer.

Um die Aktion Positionieren in Visual Basic auszuführen, verwenden Sie die Methode MoveSize des Objekts DoCmd.


Meldung-Aktion

Sie können die Aktion Meldung verwenden, um ein Meldungsfeld anzuzeigen, das eine Warnung oder Informationen enthält. Beispielsweise können Sie die Aktion Meldung in Makros für Gültigkeitsüberprüfungen verwenden. Wenn ein Steuerelement oder ein Datensatz eine Gültigkeitsbedingung im Makro nicht erfüllt, können Sie in einem Meldungsfeld eine Fehlermeldung und Hinweise zur korrekten Dateneingabe anzeigen.

Einstellung

Die Aktion Meldung verwendet die folgenden Argumente.

Aktionsargument	Beschreibung
Meldung	Der Text im Meldungsfeld. Geben Sie den Meldungstext im Abschnitt Aktionsargumente des Makrofensters im Feld Meldung ein. Sie können bis zu 256 Zeichen oder einen Ausdruck (mit vorangestelltem Gleichheitszeichen) eingeben.
Signalton	Gibt an, ob die Lautsprecher des Computers bei Anzeige der Meldung einen Signalton ausgeben. Klicken Sie auf Ja (um einen Signalton auszugeben) oder auf Nein (um keinen Signalton auszugeben). Die Standardeinstellung ist Ja.
Typ	Der Typ des Meldungsfelds. Jeder Typ verfügt über ein anderes Symbol. Klicken Sie auf Ohne Symbol, Kritisch, Warnmeldung (?), Warnmeldung (!) oder Information. Die Standardeinstellung ist Ohne Symbol.
Titel	Der Text, der in der Titelleiste des Meldungsfelds angezeigt wird. Sie können z.B. den Text "Überprüfen der Kundennummer" in der Titelleiste anzeigen. Wenn Sie dieses Argument leer lassen, wird "Microsoft Access" angezeigt.
Hinweis

Sie können mit der Aktion Meldung eine formatierte Fehlermeldung erstellen, vergleichbar den von Microsoft Access angezeigten eingebauten Fehlermeldungen. Mit der Aktion Meldung können Sie die Meldung im Argument Meldung in drei Abschnitten angeben, wobei die Abschnitte jeweils durch ein @-Zeichen voneinander getrennt werden.

Das folgende Beispiel zeigt ein formatiertes Meldungsfeld mit einer in Abschnitte unterteilten Meldung an. Der erste Textabschnitt in der Meldung wird als fett formatierte Überschrift angezeigt. Der zweite Abschnitt wird als unformatierter Text unter der Überschrift angezeigt. Der dritte Abschnitt wird ebenfalls als unformatierter Text unter dem zweiten Abschnitt angezeigt und ist von diesem durch eine Leerzeile getrennt.

Geben Sie den folgenden Text im Argument Meldung ein:

Falsche Schaltfläche!@Diese Schaltfläche funktioniert nicht.@Verwenden Sie eine andere.

Anmerkung   Wenn der Office-Assistent verfügbar ist, wird die Meldung in der Sprechblase des Assistenten und nicht in einem separaten Meldungsfeld angezeigt.

Microsoft Windows 95 und Windows NT zeigen die Einstellungen des Arguments Typ mit geringfügig unterschiedlichen Symbolen an.

Sie können die Aktion Meldung nicht in Visual Basic ausführen. Verwenden Sie statt dessen die Funktion MsgBox.


ÖffnenFormular-Aktion

Sie können die Aktion ÖffnenFormular zum Öffnen eines Formulars in der Formularansicht, Formular-Entwurfsansicht, Seitenansicht oder Datenblattansicht verwenden. Sie können Dateneingabe- und Fenstermodi für das Formular auswählen und die Datensätze einschränken, die im Formular angezeigt werden.

Einstellung

Die Aktion ÖffnenFormular verwendet die folgenden Argumente.

Aktionsargument	Beschreibung
Formularname	Der Name des zu öffnenden Formulars. Das Feld Formularname im Bereich Aktionsargumente des Makrofensters zeigt alle Formulare der aktuellen Datenbank an. Dieses Argument ist erforderlich. Wenn Sie ein Makro, das die Aktion ÖffnenFormular enthält, in einer Bibliotheksdatenbank ausführen, sucht Microsoft Access das Formular mit diesem Namen zuerst in der Bibliotheksdatenbank und dann in der aktuellen Datenbank.
Ansicht	Die Ansicht, in der das Formular geöffnet wird. Klicken Sie im Feld Ansicht auf Formular, Entwurf, Seitenansicht oder Datenblatt. Die Standardeinstellung ist Formular.
	Anmerkung   Die Einstellung des Arguments Ansicht hat Vorrang vor den Einstellungen der Eigenschaften DefaultView und ViewsAllowed des Formulars. Ist z.B. die Eigenschaft ViewsAllowed eines Formulars auf Datenblatt eingestellt, so können Sie trotzdem die Aktion ÖffnenFormular verwenden, um das Formular in der Formularansicht zu öffnen.
Filtername	Ein Filter, der die Datensätze des Formulars einschränkt oder sortiert. Sie können den Namen einer bestehenden Abfrage oder den Namen eines Filters eingeben, der als Abfrage gespeichert wurde. Allerdings muß die Abfrage alle Felder der geöffneten Abfrage enthalten, oder ihre Eigenschaft OutputAllFields muß auf Ja eingestellt sein.
Bedingung	Eine gültige SQL-WHERE-Klausel (ohne das Wort WHERE) oder ein Ausdruck, mit dem Microsoft Access Datensätze aus der dem Formular zugrundeliegenden Tabelle oder Abfrage auswählt. Wenn Sie einen Filter mit dem Argument Filtername auswählen, wendet Microsoft Access die WHERE-Klausel auf das Filterergebnis an. Um ein Formular zu öffnen und seine Datensätze auf solche zu beschränken, die dem Wert eines Steuerelements in einem anderen Formular entsprechen, verwenden Sie den folgenden Ausdruck: [Feldname] = Formulare![Formularname]![Steuerelementname in anderem Formular] Das Argument Feldname entspricht dem Namen eines Feldes in der zugrundeliegenden Tabelle oder Abfrage des zu öffnenden Formulars. Das Argument Steuerelement in anderem Formular entspricht dem Namen des Steuerelements in dem anderen Formular, das den Wert enthält, mit dem die Datensätze im ersten Formular übereinstimmen müssen.
	Anmerkung   Das Argument Bedingung darf bis zu 256 Zeichen lang sein. Wenn es notwendig ist, eine längere SQL-WHERE-Klausel einzugeben, verwenden Sie die Methode OpenForm des Objekts DoCmd in Visual Basic. In Visual Basic können SQL-Anweisungen mit WHERE-Klauseln bis zu 32.768 Zeichen lang sein.
Datenmodus	Der Dateneingabemodus für das Formular. Dies betrifft nur Formulare, die in der Formularansicht oder Datenblattansicht geöffnet werden. Klicken Sie auf Hinzufügen (der Benutzer kann neue Datensätze hinzufügen, jedoch keine bestehenden Datensätze bearbeiten), auf Bearbeiten (der Benutzer kann bestehende Datensätze bearbeiten und neue Datensätze hinzufügen) oder auf Nur lesen (der Benutzer kann die Datensätze nur ansehen). Die Standardeinstellung ist Bearbeiten.
	Anmerkungen • Die Einstellung des Arguments Datenmodus hat Vorrang vor den Einstellungen der Eigenschaften AllowEdits, AllowDeletions, AllowAdditions und DataEntry des Formulars. Ist z.B. die Eigenschaft AllowEdits eines Formulars auf Nein eingestellt, so können Sie immer noch die Aktion ÖffnenFormular verwenden, um das Formular im Modus Bearbeiten zu öffnen. • Wenn Sie dieses Argument leer lassen, öffnet Microsoft Access das Formular in dem Dateneingabemodus, der mit den Eigenschaften AllowEdits, AllowDeletions, AllowAdditions und DataEntry eingestellt wurde.
Fenstermodus	Der Fenstermodus, in dem das Formular geöffnet wird. Klicken Sie auf Normal (das Formular befindet sich in dem von seinen Eigenschaften eingestellten Modus), auf Ausgeblendet (das Formular ist ausgeblendet), auf Symbol (das Formular wird unten am Bildschirm in Form einer kleinen Titelleiste geöffnet) oder auf Dialog (die Eigenschaften Modal und PopUp des Formulars werden auf Ja eingestellt). Die Standardeinstellung ist Normal.
Hinweis

Diese Aktion ist vergleichbar mit dem Klicken auf die Schaltfläche Öffnen oder die Schaltfläche Entwurf im Datenbankfenster, nachdem ein Formular in der Registerkarte Formular ausgewählt wurde.

Ein Formular kann gebunden (es muß geschlossen oder ausgeblendet werden, bevor der Benutzer eine andere Aktion ausführen kann) oder nicht gebunden (der Benutzer kann zu anderen Fenstern wechseln, während das Formular geöffnet ist). Es kann sich auch um ein Popup-Formular handeln (ein Formular für Benutzereingaben oder zur Anzeige von Informationen, das immer im Vordergrund, d.h. vor allen anderen Microsoft Access-Fenstern, angezeigt wird). Sie stellen die Eigenschaften Modal und PopUp ein, wenn Sie das Formular entwerfen. Wenn Sie das Argument Fenstermodus auf den Wert Normal einstellen, wird das Formular in dem Modus geöffnet, den diese beiden Eigenschafteneinstellungen festlegen. Wenn Sie das Argument Fenstermodus auf Dialog einstellen, werden beide Eigenschaften auf Ja eingestellt. Ein als ausgeblendet oder als Symbol geöffnetes Formular kehrt zu dem von seinen Eigenschafteneinstellungen festgelegten Modus zurück, wenn Sie es anzeigen oder wiederherstellen.

Wenn Sie ein Formular öffnen, dessen Argument Fenstermodus auf Dialog eingestellt ist, unterbricht Microsoft Access das Makro solange, bis das Formular geschlossen oder ausgeblendet wird. Sie können ein Formular ausblenden, indem Sie die Eigenschaft Visible mit der Aktion SetzenWert auf Nein einstellen.

Tip   Sie können ein Formular im Datenbankfenster auswählen und es in eine Makro-Aktionszeile ziehen. Damit erstellen Sie automatisch eine Aktion ÖffnenFormular, die das Formular in der Formularansicht öffnet.

Das Wechseln zur Entwurfsansicht bei geöffnetem Formular entfernt die meisten Argumenteinstellungen für das Formular, z.B. die Argumenteinstellungen Datenmodus und Fenstermodus. Sie werden auch dann nicht mehr wirksam, wenn der Benutzer zur Formularansicht oder Datenblattansicht zurückkehrt.

Der Filter und die WHERE-Bedingung, die Sie anwenden, wird als Einstellung der Eigenschaft Filter des Formulars übernommen.


ÖffnenAbfrage-Aktion

Sie können die Aktion ÖffnenAbfrage zum Öffnen einer Auswahl- oder Kreuztabellenabfrage in der Datenblattansicht, Entwurfsansicht oder Seitenansicht verwenden. Diese Aktion führt eine Aktionsabfrage aus. Sie können auch einen Dateneingabemodus für die Abfrage auswählen.

Einstellung

Die Aktion ÖffnenAbfrage verwendet die folgenden Argumente.

Aktionsargument	Beschreibung
Abfragename	Der Name der zu öffnenden Abfrage. Das Feld Abfragename im Bereich Aktionsargumente des Makrofensters zeigt alle Abfragen der aktuellen Datenbank an. Dieses Argument ist erforderlich. Wenn Sie ein Makro, das die Aktion ÖffnenAbfrage enthält, in einer Bibliotheksdatenbank ausführen, sucht Microsoft Access die Abfrage mit diesem Namen zuerst in der Bibliotheksdatenbank und dann in der aktuellen Datenbank.
Ansicht	Die Ansicht, in der die Abfrage geöffnet wird. Klicken Sie im Feld Ansicht auf Datenblatt, Entwurf oder Seitenansicht. Die Standardeinstellung ist Datenblatt.
Datenmodus	Der Dateneingabemodus für die Abfrage. Dies betrifft nur Abfragen, die in der Datenblattansicht geöffnet werden. Klicken Sie auf Hinzufügen (der Benutzer kann neue Datensätze hinzufügen, jedoch keine bestehenden Datensätze bearbeiten), auf Bearbeiten (der Benutzer kann bestehende Datensätze bearbeiten und neue Datensätze hinzufügen) oder auf Nur lesen (der Benutzer kann die Datensätze nur ansehen). Die Standardeinstellung ist Bearbeiten.
Hinweis

Wenn Sie für das Argument Ansicht auf Datenblatt klicken, zeigt Microsoft Access das Ergebnis an, falls es sich bei der Abfrage um eine Auswahl-, Kreuztabellen-, Union- oder Pass-Through-Abfrage handelt, deren Eigenschaft ReturnsRecords auf Ja eingestellt ist, oder es führt die Abfrage aus, falls es sich um eine Aktions-, Datendefinitions- oder Pass-Through-Abfrage handelt, deren Eigenschaft ReturnsRecords auf Nein eingestellt ist.

Die Aktion ÖffnenAbfrage ist vergleichbar mit dem Klicken auf die Schaltfläche Öffnen oder die Schaltfläche Entwurf im Datenbankfenster, nachdem eine Abfrage in der Registerkarte Abfragen ausgewählt wurde. Mit dieser Aktion können Sie zusätzliche Optionen auswählen.

Tip   Sie können eine Abfrage im Datenbankfenster auswählen und es in eine Makro-Aktionszeile ziehen. Dadurch erstellen Sie automatisch eine Aktion ÖffnenAbfrage, welche die Abfrage in der Datenblattansicht öffnet.

Das Wechseln zur Entwurfsansicht bei geöffneter Abfrage entfernt die Einstellungen des Arguments Datenmodus für die Abfrage. Diese Einstellung wird auch dann nicht mehr wirksam, wenn der Benutzer zur Datenblattansicht zurückkehrt.

Tip   Sollen die Systemmeldungen nicht angezeigt werden (die normalerweise beim Ausführen einer Aktionsabfrage angezeigt werden und anzeigen, daß es sich um eine Aktionsabfrage handelt und wie viele Datensätze betroffen sind), so können Sie die Aktion Warnmeldungen verwenden, um die Anzeige dieser Meldungen zu unterbinden.

Um die Aktion ÖffnenAbfrage in Visual Basic auszuführen, verwenden Sie die Methode OpenQuery des Objekts DoCmd.


ÖffnenBericht-Aktion

Die Aktion ÖffnenBericht öffnet einen Bericht in der Entwurfsansicht oder Seitenansicht, oder sie druckt den Bericht unmittelbar aus. Sie können auch die Datensätze einschränken, die im Bericht gedruckt werden.

Einstellung

Die Aktion ÖffnenBericht verwendet die folgenden Argumente.

Aktionsargument	Beschreibung
Berichtsname	Der Name des zu öffnenden Berichts. Das Feld Berichtsname im Bereich Aktionsargumente des Makrofensters zeigt alle Datensätze der aktuellen Datenbank an. Dieses Argument ist erforderlich Wenn Sie ein Makro, das die Aktion ÖffnenBericht enthält, in einer Bibliotheksdatenbank ausführen, sucht Microsoft Access den Bericht mit diesem Namen zuerst in der Bibliotheksdatenbank und dann in der aktuellen Datenbank.
Ansicht	Die Ansicht, in welcher der Bericht geöffnet wird. Klicken Sie im Feld Ansicht auf Drucken (um den Bericht sofort auszudrucken), Entwurf oder Seitenansicht. Die Standardeinstellung ist Drucken.
Filtername	Ein Filter, der die Datensätze des Berichts einschränkt. Sie können den Namen einer bestehenden Abfrage oder den Namen eines Filters eingeben, der als Abfrage gespeichert wurde. Allerdings muß die Abfrage alle Felder des zu öffnenden Berichts enthalten, oder seine Eigenschaft OutputAllFields muß auf Ja eingestellt sein.
Bedingung	Eine gültige SQL-WHERE-Klausel (ohne das Wort WHERE) oder ein Ausdruck, mit dem Microsoft Access Datensätze aus der dem Bericht zugrundeliegenden Tabelle oder Abfrage auswählt. Wenn Sie einen Filter mit dem Argument Filtername auswählen, wendet Microsoft Access die WHERE-Klausel auf das Filterergebnis an. Um ein Formular zu öffnen und seine Datensätze auf solche zu beschränken, die dem Wert eines Steuerelements in einem anderen Formular entsprechen, verwenden Sie den folgenden Ausdruck: [Feldname] = Formulare![Formularname]![Steuerelementname in anderem Formular] Das Argument Feldname entspricht dem Namen eines Feldes in der zugrundeliegenden Tabelle oder Abfrage des zu öffnenden Berichts. Das Argument Steuerelement in anderem Formular entspricht dem Namen des Steuerelements in dem anderen Formular, das den Wert enthält, mit dem die Datensätze im Bericht übereinstimmen müssen.
	Anmerkung   Das Argument Bedingung darf bis zu 256 Zeichen lang sein. Wenn es notwendig ist, eine komplexere SQL-WHERE-Klausel einzugeben, verwenden Sie die Methode OpenReport des Objekts DoCmd in Visual Basic. In Visual Basic können SQL-Anweisungen mit WHERE-Klauseln bis zu 32.768 Zeichen lang sein.
Hinweis

Die Einstellung Drucken des Arguments Ansicht druckt den Bericht unmittelbar unter Verwendung der aktuellen Druckereinstellungen aus, ohne das Dialogfeld Drucken anzuzeigen. Sie können auch die Aktion ÖffnenBericht verwenden, um einen Bericht zu öffnen und einzurichten, und dann die Aktion Drucken verwenden, um den Bericht zu drucken. In bestimmten Situationen bearbeiten Sie z.B. den Bericht oder verwenden die Aktion Drucken, um die Druckereinstellungen anzupassen, bevor Sie den Bericht drucken.

Der Filter und die WHERE-Bedingung, die Sie anwenden, wird als Einstellung der Eigenschaft Filter des Berichts übernommen.

Die Aktion ÖffnenBericht ist vergleichbar mit dem Klicken auf die Schaltfläche Entwurf, die Schaltfläche Seitenansicht oder den Befehl Drucken im Menü Datei im Datenbankfenster, nachdem ein Bericht ausgewählt wurde.

Tips

•	Wenn Sie ähnliche Berichte für verschiedene Datenmengen drucken möchten, verwenden Sie einen Filter oder eine WHERE-Klausel, um die im Bericht ausgegebenen Datensätze einzuschränken. Bearbeiten Sie dann das Makro und wenden einen anderen Filter an, oder verändern Sie das Argument Bedingung.

•	Sie können einen Bericht im Datenbankfenster auswählen und ihn in eine Makro-Aktionszeile ziehen. Damit erstellen Sie automatisch eine Aktion ÖffnenBericht, die den Bericht in der Seitenansicht öffnet.


ÖffnenTabelle-Aktion

Sie können die Aktion ÖffnenTabelle zum Öffnen einer Tabelle in der Datenblattansicht, Entwurfsansicht oder Seitenansicht verwenden. Sie können auch einen Dateneingabemodus für die Tabelle auswählen.

Einstellung

Die Aktion ÖffnenTabelle verwendet die folgenden Argumente.

Aktionsargument	Beschreibung
Tabellenname	Der Name der zu öffnenden Tabelle. Das Feld Tabellenname im Bereich Aktionsargumente des Makrofensters zeigt alle Tabellen der aktuellen Datenbank an. Dieses Argument ist erforderlich.
	Wenn Sie ein Makro, das die Aktion ÖffnenTabelle enthält, in einer Bibliotheksdatenbank ausführen, sucht Microsoft Access die Tabelle mit diesem Namen zuerst in der Bibliotheksdatenbank und dann in der aktuellen Datenbank.
Ansicht	Die Ansicht, in der die Tabelle geöffnet wird. Klicken Sie im Feld Ansicht auf Datenblatt, Entwurf oder Seitenansicht. Die Standardeinstellung ist Datenblatt.
Datenmodus	Der Dateneingabemodus für die Tabelle. Dies betrifft nur Tabellen, die in der Datenblattansicht geöffnet werden. Klicken Sie auf Hinzufügen (der Benutzer kann neue Datensätze hinzufügen, jedoch keine bestehenden Datensätze bearbeiten), auf Bearbeiten (der Benutzer kann bestehende Datensätze bearbeiten und neue Datensätze hinzufügen) oder auf Nur lesen (der Benutzer kann die Datensätze nur ansehen). Die Standardeinstellung ist Bearbeiten.
Hinweis

Diese Aktion ist vergleichbar mit dem Klicken auf die Schaltfläche Öffnen oder die Schaltfläche Entwurf im Datenbankfenster, nachdem eine Tabelle in der Registerkarte Tabellen ausgewählt wurde.

Tip   Sie können eine Tabelle im Datenbankfenster auswählen und in eine Makro-Aktionszeile ziehen. Damit erstellen Sie automatisch eine Aktion ÖffnenTabelle, welche die Tabelle in der Datenblattansicht öffnet.

Das Wechseln zur Entwurfsansicht bei geöffneter Tabelle entfernt die Einstellungen des Arguments Datenmodus der Tabelle. Diese Einstellung wird auch dann nicht mehr wirksam, wenn der Benutzer zur Datenblattansicht zurückkehrt.

Um die Aktion ÖffnenTabelle in Visual Basic auszuführen, verwenden Sie die Methode OpenTable des Objekts DoCmd.


Drucken-Aktion

Mit der Aktion Drucken können Sie das aktive Objekt in der geöffneten Datenbank drucken. Sie können Datenblätter, Berichte, Formulare und Module drucken.

Einstellung

Die Aktion Drucken verwendet die folgenden Argumente.

Aktionsargument	Beschreibung
Druckbereich	Der zu druckende Bereich. Klicken Sie im Abschnitt Aktionsargumente des Makrofensters im Feld Druckbereich auf Alles (der Benutzer kann das gesamte Objekt drucken), auf Markierung (der Benutzer kann den markierten Teil des Objekts drucken) oder auf Seiten (der Benutzer kann in den Argumenten Von und Bis einen Seitenbereich festlegen). Die Standardeinstellung ist Alles.
Von	Die erste zu druckende Seite. Der Ausdruck beginnt am Anfang dieser Seite. Dieses Argument ist erforderlich, wenn Sie im Feld Druckbereich auf Seiten klicken.
Bis	Die letzte zu druckende Seite. Der Ausdruck endet am Ende dieser Seite. Dieses Argument ist erforderlich, wenn Sie im Feld Druckbereich auf Seiten klicken.
Druckqualität	Die Qualität des Ausdrucks. Klicken Sie auf Hoch, Mittel, Niedrig oder Entwurf. Je geringer die Qualität, desto schneller wird das Objekt gedruckt. Die Standardeinstellung ist Hoch.
Exemplare	Die Anzahl der zu druckenden Exemplare. Die Standardeinstellung ist 1.
Exemplare sortieren	Klicken Sie auf Ja (um die gedruckten Exemplare zu sortieren) oder auf Nein (wenn keine Sortierung benötigt wird). Das Objekt wird meist schneller gedruckt, wenn dieses Argument auf Nein eingestellt ist. Die Standardeinstellung ist Ja.
Hinweis

Diese Aktion ist mit dem Auswählen eines Objekts und dem anschließenden Klicken auf Drucken im Menü Datei vergleichbar. Bei Verwendung dieser Aktion wird jedoch das Dialogfeld Drucken nicht angezeigt.

Tip   Wenn Sie bestimmte Druckeinstellungen regelmäßig verwenden möchten, erstellen Sie ein Makro, das die Aktion Drucken mit den entsprechend eingestellten Argumenten enthält.

Die Argumente für diese Aktion entsprechen den Optionen im Dialogfeld Drucken. Im Gegensatz zur Aktion SuchenDatensatz und zum Dialogfeld Suchen in Feld werden die Argumenteinstellungen jedoch nicht gleichzeitig für die Optionen des Dialogfelds Drucken verwendet.

Um die Aktion Drucken in Visual Basic auszuführen, verwenden Sie die Methode PrintOut des Objekts DoCmd.


AusführenSQL-Aktion

Mit Hilfe der Aktion AusführenSQL können Sie eine Microsoft Access-Aktionsabfrage ausführen, indem Sie die entsprechende SQL-Anweisung verwenden. Sie können auch eine Datendefinitionsabfrage ausführen.

Einstellung

Die Aktion AusführenSQL verwendet die folgenden Argumente.

Aktionsargument	Beschreibung
SQL-Anweisung	SQL-Anweisung für die Aktionsabfrage oder Datendefinitionsabfrage, die Sie ausführen möchten. Die maximale Länge dieser Anweisung beträgt 256 Zeichen. Dieses Argument ist erforderlich.
Transaktion verwenden	Wählen Sie Ja, wenn Sie diese Abfrage in eine Transaktion aufnehmen möchten. Wählen Sie Nein, wenn Sie keine Transaktion verwenden möchten. Die Standardeinstellung ist Ja. In früheren Versionen von Microsoft Access wurde die Abfrage bei Ausführung dieser Aktion grundsätzlich in eine Transaktion aufgenommen. Wenn Sie für dieses Argument Nein wählen, wird die Abfrage gegebenenfalls schneller ausgeführt.
Hinweis

Mit Hilfe von Aktionsabfragen können Sie Datensätze anfügen, löschen und aktualisieren sowie die Ergebnismenge einer Abfrage als neue Tabelle speichern. Mit Hilfe von Datendefinitionsabfragen können Sie Tabellen erstellen, ändern und löschen sowie Indizes erstellen und löschen. Mit Hilfe der Aktion AusführenSQL können Sie diese Operationen direkt von einem Makro aus ausführen, ohne gespeicherte Abfragen zu verwenden.

Wenn Sie eine SQL-Anweisung eingeben müssen, die länger als 256 Zeichen ist, verwenden Sie statt dessen in Visual Basic die RunSQL-Methode des DoCmd-Objekts. In Visual Basic können Sie bis zu 32.768 Zeichen lange SQL-Anweisungen eingeben.

Microsoft Access-Abfragen sind genau genommen SQL-Anweisungen, die erstellt werden, wenn Sie eine Abfrage unter Verwendung des Entwurfsbereichs im Abfragefenster entwerfen. Die folgende Tabelle zeigt die Microsoft Access-Aktionsabfragen und -Datendefinitionsabfragen und ihre entsprechenden SQL-Anweisungen.

Abfragetyp	SQL-Anweisung
Aktion
Anfügeabfrage	INSERT INTO
Löschabfrage	DELETE
Tabellenerstellungsabfrage	SELECT...INTO
Aktualisierungsabfrage	UPDATE
Datendefinition (SQL-spezifisch)
Erstellen einer Tabelle	CREATE TABLE
Ändern einer Tabelle	ALTER TABLE
Löschen einer Tabelle	DROP TABLE
Erstellen eines Indexes	CREATE INDEX
Löschen eines Indexes	DROP INDEX
Sie können in Verbindung mit diesen Anweisungen auch eine IN-Klausel verwenden, um Daten in einer anderen Datenbank zu ändern.

Anmerkung   Um eine Auswahlabfrage oder eine Kreuztabellenabfrage von einem Makro aus auszuführen, verwenden Sie das Argument Ansicht der Aktion OpenQuery, um eine bestehende Auswahl- oder Kreuztabellenabfrage in der Datenblattansicht zu öffnen. Bestehende Aktionsabfragen und SQL-spezifische Abfragen können Sie auf dieselbe Weise ausführen.

Tip   Um das SQL-Äquivalent einer Microsoft Access-Abfrage zu sehen, klicken Sie im Menü Ansicht des Abfragefensters auf SQL-Ansicht. Sie können die aufgelisteten SQL-Anweisungen als Modelle zum Erstellen von Abfragen, die mit der Aktion AusführenSQL ausgeführt werden, verwenden. Das Duplizieren einer SQL-Anweisung im Argument SQL-Anweisung für die Aktion AusführenSQL hat dieselbe Auswirkung wie das Ausführen dieser Microsoft Access-Abfrage im Abfragefenster.


TransferDatenbank-Aktion

Mit Hilfe der Aktion TransferDatenbank können Sie Daten zwischen der aktuellen Microsoft Access-Datenbank und einer anderen Datenbank importieren oder exportieren. Sie können auch eine Tabelle einer anderen Datenbank mit der aktuellen Microsoft Access-Datenbank verknüpfen. Mit einer verknüpften Tabelle haben Sie Zugriff auf die Daten der Tabelle, während die Tabelle als solche in der anderen Datenbank bleibt.

Einstellung

Die Aktion TransferDatenbank verwendet die folgenden Argumente.

Aktionsargument	Beschreibung
Transfertyp	Typ von Transfer, den Sie vornehmen möchten. Wählen Sie im Feld Transfertyp des Bereichs Aktionsargumente des Makrofensters eine der Optionen Importieren, Exportieren oder Verknüpfen. Die Standardeinstellung ist Importieren.
Datenbankformat	Datenbankformat, aus dem importiert, in das exportiert oder mit dem eine Verknüpfung hergestellt werden soll. Sie können Im Feld Datenbankformat den Eintrag Microsoft Access oder ein anderes der zur Auswahl stehenden Formate wählen. Standardmäßig ist Microsoft Access vorgegeben.
	Die im Argument Datenbankformat gezeigten Datenbankformate hängen davon ab, wie Sie Microsoft Access eingerichtet haben. Nicht alle Datenbankformate sind standardmäßig installiert. Ist das Datenbankformat, das Sie zum Importieren, Exportieren oder Verknüpfen verwenden möchten, nicht verfügbar, führen Sie das Setup-Programm von Microsoft Access aus, klicken auf die Option Hinzufügen/Entfernen, wählen im Dialogfeld die Option Datenzugriff und klicken auf die Schaltfläche Option ändern. Dann wählen Sie aus dem Feld Datenbanktreiber das Datenbankformat, das Sie installieren möchten und klicken erneut auf die Schaltfläche Option ändern. Einige Datenbanktreiber sind nur in den Office 97 CD-Zugaben enthalten (darüber hinaus enthalten die CD-Zugaben alle über das Microsoft Access-Setup-Programm verfügbaren Datenbanktreiber). Weitere Informationen zum Installieren von Datenbanktreibern von den CD-Zugaben finden Sie unter Info zu Office 97 CD-Zugaben.
Datenbankname	Name der Datenbank, aus der importiert, in die exportiert oder mit der eine Verknüpfung hergestellt werden soll. Geben Sie den vollständigen Pfad an. Dieses Argument ist erforderlich.
	Geben Sie für Datenbanken, die für jede Tabelle separate Dateien verwenden (wie z.B. FoxPro, Paradox und dBASE) das Verzeichnis an, das die Datei enthält. Geben Sie den Dateinamen im Argument Quelle (bei einen Import oder einer Verknüpfung) oder im Argument Ziel (bei einem Export) an.
	Geben Sie für ODBC-Datenbanken die vollständige ODBC (Open Database Connectivity)-Verbindungszeichenfolge ein. Um ein Beispiel für eine Verbindungenzeichenfolge zu sehen, verknüpfen Sie eine externe Tabelle mit Microsoft Access. Hierzu zeigen Sie im Menü Datei auf Externe Daten und klicken auf Tabellen verknüpfen. Öffnen Sie die Tabelle in der Entwurfsansicht und zeigen Sie die Tabelleneigenschaften an. Der Text in der Einstellung der Eigenschaft Description ist die Verbindungszeichenfolge für diese Tabelle.
	Weitere Informationen zu ODBC-Verbindungszeichenfolgen finden Sie in der Hilfedatei oder anderen Dokumentation zum ODBC-Treiber für diesen Typ von ODBC-Datenbank.
Objekttyp	Typ von Objekt, der importiert oder exportiert werden soll. Wenn Sie für das Argument Datenbankformat die Option Microsoft Access wählen, stehen Ihnen im Feld Objekttyp die folgenden Optionen zur Auswahl: Tabelle, Abfrage, Formular, Bericht, Makro oder Modul. Wenn Sie ein anderes Datenbankformat oder im Feld Transfertyp die Option Verknüpfen wählen, wird dieses Argument ignoriert. Die Standardeinstellung ist Tabelle.
	Wenn Sie eine Auswahlabfrage in eine Microsoft Access-Datenbank exportieren, wählen Sie für dieses Argument die Einstellung Tabelle, um die Ergebnismenge der Abfrage zu exportieren, bzw. die Einstellung Abfrage, um die Abfrage als solche zu exportieren. Wenn Sie eine Auswahlabfrage in ein anderes Datenbankformat exportieren, wird dieses Argument ignoriert und die Ergebnismenge der Abfrage exportiert.
Quelle	Name der Tabelle, Auswahlabfrage oder des Microsoft Access-Objekts, das Sie importieren, exportieren oder verknüpfen möchten. Für einige Datenbankformate wie z.B. FoxPro, Paradox oder dBASE ist dies ein Dateiname. Nehmen Sie die Dateinamenerweiterung (wie z.B. .DBF) in den Dateinamen auf. Dieses Argument ist erforderlich.
Ziel	Der Name der importierten, exportierten oder verknüpften Tabelle oder Auswahlabfrage bzw. des importierten, exportierten oder verknüpften Microsoft Access-Objekts in der Zieldatenbank. Für einige Datenbankformate wie z.B. FoxPro, Paradox oder dBASE ist dies ein Dateiname. Nehmen Sie die Dateinamenerweiterung (wie z.B. .DBF) in den Dateinamen auf. Dieses Argument ist erforderlich.
	Wenn Sie für das Argument Transfertyp die Einstellung Importieren wählen und für das Argument Objektyp die Einstellung Tabelle, erstellt Microsoft Access eine neue Tabelle, die die Daten in der importierten Tabelle enthält.
	Wenn Sie eine Tabelle oder ein anderes Objekt importieren, fügt Microsoft Access dem Namen eine Zahl hinzu, falls sich ein Konflikt mit einem bestehenden Namen ergibt. Wenn Sie z.B. ein Objekt mit dem Namen Personal importieren und bereits ein Objekt dieses Namens existiert, benennt Microsoft Access das importierte Objekt (z.B. Tabelle) in Personal1 um.
	Wenn Sie in eine Microsoft Access-Datenbank oder ein andere Datenbankformat exportieren, überschreibt Microsoft Access automatisch jedes bestehende Objekt (z.B. Tabelle), das denselben Namen trägt.
Nur Struktur	Gibt an, ob nur die Struktur eine Datenbanktabelle ohne ihre Daten importiert oder exportiert werden soll. Wählen Sie Ja oder Nein. Die Standardeinstellung ist Nein.
Hinweis

Sie können Tabellen zwischen Microsoft Access und anderen Datenbankformaten importieren und exportieren. Sie können auch Microsoft Access-Auswahlabfragen in andere Datenbankformate exportieren. Microsoft Access exportiert die Ergebnismenge der Abfrage in Form einer Tabelle. Ein beliebiges Microsoft Access-Datenbankobjekt können Sie importieren und exportieren, wenn beide Datenbanken Microsoft Access-Datenbanken sind.

Wenn Sie in Microsoft Access 97 eine Tabelle aus einer anderen Microsoft Access-Datenbank importieren, die in dieser Datenbank eine verknüpfte Tabelle ist, ist sie nach dem Importieren nach wie vor verknüpft. Es wird also die Verknüpfung und nicht die Tabelle als solche importiert.

Ist für die Datenbank, auf die Sie zugreifen, ein Kennwort erforderlich, wird ein Dialogfeld angezeigt, wenn Sie das Makro ausführen. Geben Sie das Kennwort in das Dialogfeld ein.

Anmerkung   Sie können Daten nur zwischen Microsoft Access- und FoxPro-Datenbanken der Version 3.0 importieren und exportieren. Sie können keine Verknüpfung zu Tabellen in diesen FoxPro-Datenbanken herstellen.

Die Aktion TransferDatenbank hat eine vergleichbare Wirkung, wie wenn Sie im Menü Datei des Datenbankfensters auf Externe Daten oder auf Speichern unter/Exportieren zeigen und dann auf Importieren oder Tabellen verknüpfen klicken. Mit Hilfe dieser Befehle können Sie eine Datenquelle (z.B. Microsoft Access) oder ein Datenbankformat, ein Arbeitsblatt oder eine Textdatei wählen. Wenn Sie eine Datenbank wählen, werden ein oder mehrere Dialogfelder angezeigt, in dem/denen Sie den zu importierenden oder exportierenden Objekttyp (bei Microsoft Access-Datenbanken), den Namen des Objekts und andere Optionen wählen, je nachdem, aus welcher Datenbank Sie importieren, in welche Sie exportieren oder zu welcher Sie eine Verknüpfung herstellen. Die Argumente der Aktion TransferDatenbank entsprechen den Optionen in diesen Dialogfeldern.

Wenn Sie Indexinformationen für eine verknüpfte FoxPro- oder dBASE-Tabelle bereitstellen möchten, verknüpfen Sie die FoxPro- oder dBASE-Tabelle zunächst. Hierzu zeigen Sie im Menü Datei auf Externe Daten und klicken auf Tabellen verknüpfen. Geben Sie dann die Indizes in den Dialogfeldern zu diesem Befehl an. Microsoft Access speichert die Indexinformationen in einer speziellen Informationsdatei (.INF), die sich im Ordner OFFICE befindet (der Pfad lautet C:\MSOFFICE). Dann können Sie die Verknüpfung zu der verknüpften Tabelle löschen. Wenn Sie die Aktion TransferDatenbank das nächste Mal zum Herstellen einer Verknüpfung zu dieser FoxPro- oder dBASE-Tabelle verwenden, verwendet Microsoft Access die von Ihnen festgelegten Indexinformationen.

Anmerkung   Wenn Sie eine Abfrage oder einen Filter an einer verknüpften Tabelle ausführen, wird bei der Abfrage oder dem Filter die Groß-/Kleinschreibung beachtet.

Um die Aktion TransferDatenbank in Visual Basic auszuführen, verwenden Sie die TransferDatabase-Methode des DoCmd-Objekts.


TransferArbeitsblatt-Aktion

Mit Hilfe der Aktion TransferArbeitsblatt können Sie Daten zwischen der aktuellen Microsoft Access-Datenbank und einer Tabellenkalkulationsdatenbank importieren oder exportieren. Sie können auch die Daten einer Microsoft Excel-Tabelle mit der aktuellen Microsoft Access-Datenbank verknüpfen. Bei einer verknüpften Tabelle können Sie die Tabellendaten mit Microsoft Access anzeigen und bearbeiten, während es weiterhin uneingeschränkt möglich ist, über Microsoft Excel auf die Daten zuzugreifen. Sie können auch eine Verknüpfung zu den Daten in einer Lotus 1-2-3-Tabellenkalkulationsdatei herstellen. Diese Daten sind in Microsoft Access jedoch schreibgeschützt.

Einstellung

Die Aktion TransferArbeitsblatt verwendet die folgenden Argumente.

Aktionsargument	Beschreibung
Transfertyp	Typ des Transfers, den Sie durchführen möchten. Wählen Sie im Feld Transfertyp des Bereichs Aktionsargumente des Makrofenster eine der Einstellungen Importieren, Exportieren oder Verknüpfen. Die Standardeinstellung ist Importieren.
Dateiformat	Typ der Tabellenkalkulationsdatei, aus der Sie importieren, in die Sie exportieren oder die Sie verknüpfen möchten. Sie können eines von mehreren Tabellenkalkulationsformaten im Feld wählen. Die Standardeinstellung ist Microsoft Excel 3.
	Anmerkungen • Wenn Sie Tabellenkalkulationsdaten in oder aus Lotus 1-2-3-Dateien importieren, exportieren oder verknüpfen möchten, installieren Sie den Lotus 1-2-3-Treiber von den Office 97 CD-Zugaben. Weitere Informationen zum Installieren dieses Treibers von den CD-Zugaben finden Sie unter Info zu den Office 97 CD-Zugaben.
	• Sie können aus Lotus .WK4-Dateien importieren und (schreibgeschützt) verknüpfen, können jedoch keine Microsoft Access-Daten in dieses Dateiformat exportieren. Ferner unterstützt Microsoft Access das Importieren, Exportieren oder Verknüpfen von Daten aus dem .WKS-Format von Lotus oder aus Microsoft Excel, Version 2.0, mit dieser Aktion nicht mehr. Wenn Sie Tabellenkalkulationsdaten aus Microsoft Excel, Version 2.0, oder dem .WKS-Format von Lotus importieren oder verknüpfen möchten, konvertieren Sie die Tabellenkalkulationsdaten in eine spätere Version von Microsoft Excel oder Lotus 1-2-3, bevor Sie die Daten in Microsoft Access importieren oder verknüpfen.
Tabellenname	Name der Microsoft Access-Tabelle, in die Tabellenkalkulationsdaten importiert oder verknüpft bzw. aus der Tabellenkalkulationsdaten exportiert werden sollen. Sie können auch den Namen der Microsoft Access-Auswahlabfrage angeben, deren Daten Sie exportieren möchten. Dieses Argument ist erforderlich.
	Wenn Sie für das Argument Transfertyp die Einstellung Importieren gewählt haben, fügt Microsoft Access die Tabellendaten an diese Tabelle an, sofern sie bereits vorhanden ist. Ist die Tabelle noch nicht vorhanden, so erstellt Microsoft Access eine neue Tabelle mit den Tabellendaten.
	In Microsoft Access 97 können Sie zum Angeben der zu exportierenden Daten bei Verwendung der Aktion TransferArbeitsblatt keine SQL-Anweisung verwenden. Statt dessen erstellen Sie zunächst eine Abfrage und geben dann im Argument Tabellenname den Namen der Abfrage an.
Dateiname	Name der Tabellenkalkulationsdatei, aus der importiert, in die exportiert oder verknüpft werden soll. Geben Sie den vollständigen Pfad an. Dieses Argument ist erforderlich.
	Microsoft Access erstellt eine neue Tabellenkalkulationsdatei, wenn Sie Daten aus Microsoft Access exportieren. Ist der Dateiname identisch mit dem Namen einer vorhandenen Tabellenkalkulationsdatei, überschreibt Microsoft Access die vorhandene Datei, es sei denn, Sie exportieren in ein Arbeitsblatt von Microsoft Excel, Version 5.0, 7.0 oder in eine Excel 97-Arbeitsmappe. In diesem Fall kopiert Microsoft Access die exportierten Daten auf das nächste verfügbare Arbeitsblatt in der Arbeitsmappe.
	Wenn Sie aus einer Tabelle von Microsoft Excel, Version 5.0, 7.0 oder Excel 97 importieren oder verknüpfen, können Sie über das Argument Bereich ein bestimmtes Arbeitsblatt angeben.
Besitzt Feldnamen	Gibt an, ob die erste Zeile der Tabelle die Namen der Felder enthält. Wenn Sie Ja wählen, verwendet Microsoft Access beim Importieren oder Verknüpfen der Tabellendaten die Namen aus dieser Zeile als Feldnamen in der Microsoft Access-Tabelle. Wenn Sie Nein wählen, interpretiert Microsoft Access die erste Zeile als normale Datenzeile. Die Standardeinstellung ist Nein.
	Wenn Sie Daten von Microsoft Access-Tabellen oder -Auswahlabfragen in eine Tabellenkalkulationsdatei exportieren, werden die Feldnamen in die erste Zeile der Tabelle eingefügt, unabhängig davon, welche Einstellung Sie für dieses Argument wählen.
Bereich	Bereich der zu importierenden oder zu verknüpfenden Zellen. Lassen Sie dieses Argument leer, wenn Sie die ganze Tabelle importieren oder verknüpfen möchten. Sie können den Namen eines Tabellenbereichs oder den Bereich der zu importierenden oder zu verknüpfenden Zellen, z.B. A1:E25 (beachten Sie, daß die Syntax A1..E25 in Microsoft Access 97 nicht mehr verwendet werden kann), angeben. Falls Sie aus einer Tabelle von Microsoft Excel, Version 5.0, 7.0 oder einem Excel 97-Arbeitsblatt, importieren oder verknüpfen, können Sie den Namen der Tabelle und ein Ausrufezeichen (z.B. Budget!A1:C7) vor die Bereichsangaben setzen.
	Anmerkung   Wenn Sie in eine Tabellenkalkulationsdatei exportieren, lassen Sie dieses Argument leer. Wenn Sie einen Bereich eingeben, schlägt der Export fehl.
Hinweis

Sie können die Daten in Microsoft Access-Auswahlabfragen in Tabellenkalkulationen exportieren. Microsoft Access exportiert die Ergebnismenge der Abfrage und behandelt sie wie eine Tabelle.

Tabellenkalkulationsdaten, die Sie an eine vorhandene Microsoft Access-Tabelle anfügen, müssen mit der Struktur der Tabelle kompatibel sein. Jedes Feld in der Kalkulationstabelle muß denselben Datentyp haben wie das entsprechende Feld in der Datenbanktabelle, und alle Felder müssen in derselben Reihenfolge angezeigt werden (es sei denn, Sie haben das Argument Besitzt Feldnamen auf Ja eingestellt. In diesem Fall müssen die Feldnamen in der Kalkulationstabelle mit den Feldnamen in der Datenbanktabelle übereinstimmen).

Wenn Sie im Menü Datei des Datenbankfensters auf Externe Daten oder Speichern unter/Exportieren zeigen und dann auf Importieren oder Tabellen verknüpfen klicken, hat das in etwa dieselbe Auswirkung wie diese Aktion. Mit diesen Befehlen können Sie eine Datenquelle, wie z.B. Microsoft Access, ein anderes Datenbankformat, eine Tabellenkalkulationsdatei oder eine Textdatei auswählen. Wenn Sie eine Tabellenkalkulationsdatei wählen, wird eine Reihe von Dialogfeldern angezeigt oder ein Microsoft Access-Assistent ausgeführt, in denen Sie den Namen der Tabellenkalkulationsdatei und verschiedene andere Optionen wählen können. Die Argumente für die Aktion TransferArbeitsblatt entsprechen den Optionen in diesen Dialogfeldern oder in den Assistenten.

Anmerkung   Wenn Sie eine Abfrage oder einen Filter an einem verknüpften Arbeitsblatt ausführen, wird bei der Abfrage oder dem Filter die Groß-/Kleinschreibung beachtet.

Wenn Sie eine Verknüpfung zu einem Excel-Arbeitsblatt herstellen, das im Bearbeitungsmodus geöffnet ist, stellt Microsoft Access die Verknüpfung erst her, nachdem der Bearbeitungsmodus des Excel-Arbeitsblatts beendet ist; dabei ergibt sich keine Wartezeit.

Um die Aktion TransferArbeitsblatt in Visual Basic auszuführen, verwenden Sie die TransferSpreadsheet-Methode des DoCmd-Objekts.


TransferText-Aktion

Mit Hilfe der Aktion TransferText können Sie Text zwischen der aktuellen Microsoft Access-Datenbank und einer Textdatei importieren oder exportieren. Sie können auch die Daten einer Textdatei mit der aktuellen Microsoft Access-Datenbank verknüpfen. Mit einer verknüpften Textdatei können Sie die Textdaten mit Microsoft Access anzeigen und bearbeiten, während es weiterhin uneingeschränkt möglich ist, aus Ihrem Textverarbeitungsprogramm heraus auf die Daten zuzugreifen. Ferner besteht die Möglichkeit, aus einer Tabelle oder Liste in einer HTML-Datei (*.HTML) zu importieren, bzw. in diese zu exportieren und zu verknüpfen.

Anmerkung   Wenn Sie eine Verknüpfung zu Daten in einer Textdatei oder einer HTML-Datei herstellen, sind die Daten in Microsoft Access schreibgeschützt.

Einstellung

Die Aktion TransferText verwendet die folgenden Argumente.

Aktionsargument	Beschreibung
Transfertyp	Typ des Transfers, den Sie durchführen möchten. Sie können Daten aus Textdateien mit Trennzeichen oder Textdateien mit festgelegtem Format oder HTML-Dateien importieren, Daten in diese Dateien exportieren oder Daten verknüpfen. Sie können außerdem Daten in Microsoft Word für Windows-Seriendruckdateien exportieren, mit denen Sie dann unter Verwendung der Word für Windows Seriendruck-Funktion Seriendruckdokumente, wie z.B. Serienbriefe und Adreßetiketten, erstellen können.
	Wählen Sie im Feld Transfertyp im Bereich Aktionsargumente des Makrofensters eine der Einstellungen Import mit Trennzeichen, Import festgelegtes Format, Import HTML, Export mit Trennzeichen, Export festgelegtes Format, Export HTML, Export Word für Windows-Seriendruck, Verknüpfung mit Trennzeichen, Verknüpfung festgelegtes Format oder Verknüpfung HTML. Die Standardeinstellung lautet Import mit Trennzeichen.
Spezifikationsname	Spezifikationsname für die Folge von Optionen, die festlegt, wie eine Textdatei importiert, exportiert oder verknüpft wird. Dieses Argument ist für Textdateien mit festgelegtem Format erforderlich.
	Wählen Sie den Unterbefehl Import oder Tabellen verknüpfen des Befehls Externe Daten oder den Befehl Speichern unter/Exportieren aus dem Menü Datei, um eine Spezifikation für einen bestimmten Textdateityp zu erstellen, wie z.B. eine Textdatei mit Trennzeichen, in der Tabulatorzeichen zum Trennen der Felder verwendet werden und in der Datumsfelder im Format TMJ formatiert sind. Wenn Sie auf einen dieser Befehle klicken und einen Textdateityp für den Import, Export oder die Verknüpfung auswählen, wird der Textimport-Assistent, Textexport-Assistent oder Textverknüpfungs-Assistent ausgeführt. Sie können im Assistenten auf die Schaltfläche Weitere klicken und eine Spezifikation im angezeigten Dialogfeld definieren und speichern. Sie können dann den Spezifikationsnamen für dieses Argument eingeben, wann immer Sie denselben Textdateityp importieren oder exportieren möchten.
	Sie können Textdateien mit Trennzeichen auch ohne Angabe eines Spezifikationsnamens für dieses Argument importieren, exportieren oder verknüpfen. In diesem Fall verwendet Microsoft Access die im Dialogfeld des Assistenten gesetzten Standardeinstellungen. Microsoft Access verwendet ein vorbestimmtes Format für Seriendruckdateien, so daß Sie keinen Spezifikationsnamen für dieses Argument eingeben müssen, wenn Sie diese Dateitypen exportieren. Sie können Import-/Exportspezifikationen in Verbindung mit HTML-Dateien einsetzen, wobei der einzig relevante Teil der Spezifikation der über die Formatierung von Datentypen ist.
Tabellenname	Name der Microsoft Access-Tabelle, in die Textdaten importiert, aus der sie exportiert oder mit der sie verknüpft werden sollen. Sie können auch den Namen der Microsoft Access-Auswahlabfrage eingeben, deren Daten Sie exportieren möchten. Dieses Argument ist erforderlich.
	Wenn Sie im Feld Transfertyp auf eine der Einstellungen Import mit Trennzeichen, Import festgelegtes Format oder Import HTML klicken, fügt Microsoft Access die Textdaten an diese Tabelle an, sofern die Tabelle bereits vorhanden ist. Ist die Tabelle noch nicht vorhanden, so erstellt Microsoft Access eine neue Tabelle mit den Daten aus der Textdatei.
	In Microsoft Access 97 können Sie zum Angeben der zu exportierenden Daten bei Verwendung der Aktion TransferText keine SQL-Anweisung verwenden. Statt dessen erstellen Sie zunächst eine Abfrage und geben dann im Argument Tabellenname den Namen der Abfrage an.
Dateiname	Name der Textdatei, aus der importiert, in die exportiert oder die verknüpft werden soll. Geben Sie den vollständigen Pfad an. Dieses Argument ist erforderlich.
	Microsoft Access erstellt eine neue Textdatei, wenn Sie Daten aus Microsoft Access exportieren. Ist der Dateiname identisch mit dem Namen einer vorhandenen Textdatei, so überschreibt Microsoft Access die vorhandene Textdatei.
	Möchten Sie eine bestimmte Tabelle oder Liste in einer HTML-Datei importieren oder verknüpfen, können Sie das Argument HTML-Tabellenname verwenden.
Besitzt Feldnamen	Gibt an, ob die erste Zeile der Textdatei die Namen der Felder enthält. Wenn Sie Ja wählen, verwendet Microsoft Access beim Importieren oder Verknüpfen die Namen aus dieser Zeile als Feldnamen der Microsoft Access-Tabelle. Wenn Sie Nein wählen, interpretiert Microsoft Access die erste Zeile als normale Datenzeile. Die Standardeinstellung ist Nein.
	Microsoft Access beachtet dieses Argument in Word für Windows-Seriendruckdateien nicht, weil deren erste Zeile die Feldnamen enthalten muß.
	Wenn Sie Daten aus Microsoft Access-Tabellen oder -Auswahlabfragen in eine Textdatei mit Trennzeichen oder mit festgelegtem Format exportieren und Sie für dieses Argument die Option Ja ausgewählt haben, fügt Microsoft Access die Feldnamen Ihrer Tabelle oder Auswahlabfrage in die erste Zeile der Textdatei ein.
	Wenn Sie eine Textdatei mit festgelegtem Format importieren oder verknüpfen und in diesem Feld Ja ausgewählt haben, muß die erste, die Feldnamen enthaltende Zeile die gleichen Texttrennzeichen verwenden, die in den Import-/Export-Spezifikationen festgelegt sind, um die Feldnamen zu trennen. Wenn Sie in eine Textdatei mit festgelegtem Format exportieren und für dieses Argument Ja wählen, fügt Microsoft Access die Feldnamen in die erste Zeile der Textdatei unter Verwendung dieser Trennzeichen ein.
HTML-Tabellenname	Name der Tabelle oder Liste in der HTML-Datei, die Sie importieren oder verknüpfen möchten. Dieses Argument wird nur beachtet, wenn das Argument Transfertyp auf Import HTML oder Verknüpfung HTML eingestellt ist. Wenn Sie dieses Argument leer lassen, wird die erste Tabelle oder Liste in der HTML-Datei importiert oder verknüpft.
	Der Name der Tabelle oder Liste in der HTML-Datei wird durch den Text bestimmt, der durch die <CAPTION>-Marke festgelegt ist, sofern eine solche existiert. Existiert keine <CAPTION>-Marke, wird der Name durch den in der <TITLE>-Marke festgelegten Text bestimmt. Tragen mehrere Tabellen oder Listen ein und denselben Namen, unterscheidet Microsoft Access sie durch Hinzufügen einer Zahl am Ende des jeweiligen Namens (z.B. Personal1 und Personal2).
Hinweis

Sie können Microsoft Access-Auswahlabfragen in Textdateien exportieren. Microsoft Access exportiert die Ergebnismenge der Abfrage und behandelt diese wie eine Tabelle.

Textdaten, die Sie an eine vorhandene Microsoft Access-Tabelle anfügen, müssen mit der Struktur der Tabelle kompatibel sein. Jedes Feld im Text muß denselben Datentyp haben wie das entsprechende Feld in der Tabelle, und die Felder müssen in derselben Reihenfolge angezeigt werden (es sei denn, Sie haben das Argument Besitzt Feldnamen auf Ja eingestellt. In diesem Fall müssen die Feldnamen im Text mit den Feldnamen der Tabelle übereinstimmen).

Wenn Sie im Menü Datei des Datenbankfensters auf Externe Daten oder Speichern unter/Exportieren zeigen und dann auf Importieren oder Tabellen verknüpfen klicken, so hat dies dieselbe Auswirkung wie diese Aktion. Mit diesen Befehlen können Sie eine Datenquelle, wie z.B. Microsoft Access, einen anderen Datenbanktyp, eine Tabellenkalkulationsdatei oder eine Textdatei auswählen. Wenn Sie eine Textdatei mit Trennzeichen, eine Textdatei mit festgelegtem Format oder eine HTML-Datei wählen, fordert Sie ein Assistent auf, den Namen der Datei und verschiedene andere Optionen zu wählen. Die Argumente der Aktion TransferText entsprechen den Optionen in diesen Assistenten.

Tip   Eine Import-/Exportspezifikation speichert die Informationen, die Microsoft Access zum Importieren, Exportieren oder Verknüpfen einer Textdatei benötigt. Sie können die gespeicherten Spezifikationen zum Importieren, Exportieren oder Verknüpfen von Textdaten aus bzw. in ähnlichen Textdateien verwenden. Wenn Sie z.B. wöchentlich Umsätze in einer Textdatei von einer Großrechenanlage erhalten, können Sie für diesen speziellen Typ von Daten eine Spezifikation erstellen und speichern, und diese immer verwenden, wenn Sie diese Daten zu Ihrer Microsoft Access-Datenbank hinzufügen möchten.

Anmerkung   Wenn Sie eine Abfrage oder einen Filter an der verknüpften Textdatei ausführen, wird bei der Ausfrage oder dem Filter die Groß-/Kleinschreibung beachtet.

Um die Aktion TransferText in Visual Basic auszuführen, verwenden Sie die Methode TransferText des Objekts DoCmd.


Verlassen-Aktion

Sie können die Aktion Verlassen zum Beenden von Microsoft Access verwenden. Mit der Aktion Verlassen können Sie außerdem verschiedene Optionen für die Speicherung von Datenbankobjekten vor dem Beenden von Microsoft Access festlegen.

Einstellung

Die Aktion Verlassen verwendet das folgende Argument.

Aktionsargument	Beschreibung
Optionen	Gibt an, was mit ungespeicherten Objekten beim Beenden von Microsoft Access geschieht. Klicken Sie im Bereich Aktionsargumente des Makrofensters im Feld Optionen auf Nachfragen (um Dialogfelder einzublenden, die für jedes Objekt nachfragen, ob es gespeichert werden soll) auf Alles Speichern (um alle Objekte ohne Dialogfeldaufforderung zu speichern), oder auf Beenden (um Microsoft Access zu beenden, ohne ein Objekt zu speichern). Die Standardeinstellung ist Alles Speichern.
Hinweis

Microsoft Access führt keine Aktionen aus, die der Aktion Verlassen in einem Makro folgen.

Sie können mit dieser Aktion Microsoft Access ohne Aufforderung durch Speichern-Dialogfelder aus einem benutzerdefinierten Menübefehl oder einer Schaltfläche in einem Formular heraus beenden. Wenn Sie z.B. in einem Hauptformular die Objekte in Ihrem benutzerdefinierten Arbeitsbereich anzeigen, kann dieses Formular eine Schaltfläche Beenden enthalten, die ein Makro mit der Aktion Verlassen ausführt, wobei das Argument Optionen auf Alles Speichern eingestellt ist.

Diese Aktion hat dieselbe Wirkung wie das Klicken auf Beenden im Menü Datei. Wenn Objekte beim Klicken auf diesen Befehl noch nicht gespeichert sind, werden dieselben Dialogfelder angezeigt, die auch beim Verwenden von Nachfragen für das Argument Optionen der Aktion Verlassen angezeigt werden.

Sie können die Aktion Speichern in einem Makro verwenden, um das angegebene Objekt zu speichern, ohne Microsoft Access zu beenden oder das Objekt zu schließen.

Um die Aktion Verlassen in Visual Basic auszuführen, verwenden Sie die Methode Quit des Objekts DoCmd.


UmbenennenObjekt-Aktion

Sie können die Aktion UmbenennenObjekt verwenden, um ein Datenbankobjekt umzubenennen.

Einstellung

Die Aktion UmbenennenObjekt verwendet die folgenden Argumente.

Aktionsargument	Beschreibung
Neuer Name	Ein neuer Name für das Datenbankobjekt. Geben Sie den Objektnamen im Bereich Aktionsargumente des Makrofensters im Feld Neuer Name ein. Dieses Argument ist erforderlich.
Objekttyp	Der Typ des umzubenennenden Objekts. Klicken Sie auf Tabelle, Abfrage, Formular, Bericht, Makro oder Modul. Wenn Sie das im Datenbankfenster ausgewählte Objekt umbenennen möchten, lassen Sie dieses Argument leer.
Alter Name	Der Name des umzubenennenden Objekts. Das Feld Alter Name zeigt alle Objekte des im Argument Objekttyp ausgewählten Typs in der gesamten Datenbank an. Wenn Sie für Objekttyp keinen Wert eingeben, lassen Sie dieses Argument ebenfalls leer. Anmerkung   Wenn Sie ein Makro, das die Aktion UmbenennenObjekt enthält, in einer Bibliotheksdatenbank ausführen, sucht Microsoft Access das Objekt zuerst in der Bibliotheksdatenbank und dann in der aktuellen Datenbank.
Hinweis

Der neue Name des Datenbankobjekts muß den Standardregeln zur Benennung von Microsoft Access-Objekten entsprechen.

Sie können kein geöffnetes Objekt umbenennen.

Wenn die Argumente Objekttyp und Alter Name leer bleiben, benennt Microsoft Access das im Datenbankfenster ausgewählte Objekt um. Um ein Objekt im Datenbankfenster auszuwählen, verwenden Sie die Aktion AuswählenObjekt, wobei Sie das Argument In Datenbankfenster auf Ja einstellen.

Sie können ein Objekt auch umbenennen, indem Sie im Datenbankfenster darauf klicken, erneut darauf klicken, um den Namen zu bearbeiten, und dann einen neuen Namen eingeben. Mit der Aktion UmbenennenObjekt brauchen Sie dagegen das Objekt nicht zuerst im Datenbankfenster auszuwählen, und Sie müssen das Makro auch nicht anhalten, um den neuen Namen einzugeben.

Diese Aktion unterscheidet sich von der Aktion KopierenObjekt dadurch, daß letztere eine Kopie des Objekts mit einem neuen Namen erstellt.

Um die Aktion UmbenennenObjekt in Visual Basic auszuführen, verwenden Sie die Methode Rename des Objekts DoCmd.


AktualisierenObjekt-Aktion

Sie können die Aktion AktualisierenObjekt verwenden, um alle noch nicht durchgeführten Bildschirmaktualisierungen für ein bestimmtes Datenbankobjekt (oder das aktive Datenbankobjekt, wenn kein Objekt angegeben wurde) abzuschließen. Solche Aktualisierungen schließen alle noch nicht abgeschlossenen Neuberechnungen für die Steuerelemente des Objekts ein.

Einstellung

Die Aktion AktualisierenObjekt verwendet die folgenden Argumente.

Aktionsargument	Beschreibung
Objekttyp	Der Typ des zu aktualisierenden Objekts. Klicken Sie im Bereich Aktionsargumente des Makrofensters im Feld Objekttyp auf Tabelle, Abfrage, Formular, Bericht, Makro oder Modul. Wenn Sie das aktive Objekt auswählen möchten, lassen Sie dieses Argument leer.
Objektname	Der Name des zu aktualisierenden Objekts. Das Feld Objektname zeigt alle Objekte des vom Argument Objekttyp ausgewählten Typs für die gesamte Datenbank an. Wenn Sie für Objekttyp keinen Wert eingeben, geben Sie für dieses Argument ebenfalls keinen Wert ein.
Hinweis

Microsoft Access wartet mit anliegenden Bildschirmaktualisierungen, bis andere laufende Aufgaben abgeschlossen sind. Mit Hilfe dieser Aktion können Sie die unmittelbare Aktualisierung der Steuerelemente des festgelegten Objekts durchsetzen. Sie können diese Aktion folgendermaßen einsetzen:

•	Wenn Sie die Aktion SetzenWert verwenden, um Werte in einer Gruppe von Steuerelementen zu ändern. Microsoft Access zeigt die Veränderungen nicht immer sofort an, insbesondere dann, wenn andere Steuerelemente (z.B. berechnete Steuerelemente) von Werten in den veränderten Steuerelementen abhängen.

•	Wenn Sie sicherstellen möchten, daß das geöffnete Formular Daten in allen Steuerelementen anzeigt. In Steuerelementen z.B., die OLE-Objekte enthalten, werden die Daten nicht unmittelbar nach dem Öffnen eines Formulars angezeigt.

Diese Aktion bewirkt keine erneute Durchführung der Abfrage auf der Datenbank, d.h. neue und veränderte Datensätze werden nicht angezeigt, und gelöschte Datensätze werden nicht aus der Tabelle oder Abfrage gelöscht, die dem Objekt zugrundeliegt. Verwenden Sie die Aktion AktualisierenDaten, um die Datenherkunft des Objekts oder eines der Steuerelemente erneut abzufragen. Verwenden Sie die Aktion AnzeigenAlleDatensätze, um die aktuellen Datensätze anzuzeigen und alle zugewiesenen Filter zu entfernen.

Anmerkung   Die Aktion AktualisierenObjekt hat nicht dieselbe Wirkung wie das Wählen des Befehls Anzeige aktualisieren aus dem Menü Datensätze, durch den alle Veränderungen angezeigt werden, die Sie oder andere Benutzer an den momentan angezeigten Datensätzen in Formularen und Datenblättern vorgenommen haben.

Um die Aktion AktualisierenObjekt in Visual Basic auszuführen, verwenden Sie die Methode RepaintObject des Objekts DoCmd.


AktualisierenDaten-Aktion

Sie können die Aktion AktualisierenDaten verwenden, um die Daten in einem Steuerelement des aktiven Objekts durch erneutes Abfragen der Herkunft des Steuerelements zu aktualisieren. Ist kein Steuerelement angegeben, so fragt die Aktion die Herkunft des Objekts selbst ab. Verwenden Sie diese Aktion, um sicherzustellen, daß das aktive Objekt oder eines seiner Steuerelemente die aktuellen Daten anzeigt.

Einstellung

Die Aktion AktualisierenDaten verwendet das folgende Argument.

Aktionsargument	Beschreibung
Steuerelementname	Der Name des zu aktualisierenden Steuerelements. Geben Sie den Steuerelementnamen im Bereich Aktionsargumente des Makrofensters im Feld Steuerelementname ein. Geben Sie nur den Namen des Steuerelements an, nicht den ausführlichen Bezeichner (wie z.B. Formulare!Formularname!Steuerelementname). Lassen Sie dieses Argument leer, um die Herkunft des aktiven Objekts zu aktualisieren. Ist das aktive Objekt ein Datenblatt oder ein Abfrage-Ergebnis, so lassen Sie dieses Argument leer.
Hinweis

Die Aktion AktualisierenDaten führt eine der folgenden Operationen aus:

•	Zurückgeben der Abfrage, auf der das Steuerelement oder Objekt basiert.

•	Anzeigen der neuen und veränderten Datensätze, und Entfernen der gelöschten Datensätze aus der Tabelle, auf der das Steuerelement oder das Objekt basiert.

Folgende Steuerelemente basieren auf einer Abfrage oder Tabelle:

•	Listenfelder und Kombinationsfelder.

•	Unterformular-Steuerelemente.

•	OLE-Objekte, z.B. Diagramme.

•	Steuerelemente, die Aggregatfunktionen für Domänen enthalten, wie DSum.

Basiert das angegebene Steuerelement nicht auf einer Abfrage oder Tabelle, so löst diese Aktion eine Neuberechnung des Steuerelements durch aus.

Wenn Sie für das Argument Steuerelementname keinen Wert eingeben, hat die Aktion AktualisierenDaten dieselbe Wirkung wie das Drücken von UMSCHALT+F9, wenn das Objekt über den Fokus verfügt. Verfügt ein Unterformular-Steuerelement über den Fokus, so fragt diese Aktion lediglich die Herkunft des Unterformulars erneut ab (wie beim Drücken von UMSCHALT+F9 auch).

Anmerkung   Die Aktion AktualisierenDaten fragt die Herkunft des Steuerelements oder des Objekts erneut ab. Im Gegensatz dazu aktualisiert die Aktion AktualisierenObjekt Steuerelemente im angegebenen Objekt, ohne jedoch die Datenbank erneut abzufragen oder neue Datensätze anzuzeigen. Die Aktion AnzeigenAlleDatensätze fragt nicht nur das aktive Objekt erneut ab, sondern entfernt auch alle zugewiesenen Filter (im Gegensatz zur Aktion AktualisierenDaten).

Wenn Sie ein Steuerelement erneut abfragen möchten, das sich nicht im aktiven Objekt befindet, verwenden Sie die Methode Requery in Visual Basic und nicht die Aktion AktualisierenDaten oder die entsprechende Methode Requery des Objekts DoCmd. Die Methode Requery in Visual Basic ist schneller als die Aktion AktualisierenDaten oder die Methode Requery des Objekts DoCmd. Außerdem schließt Microsoft Access die Abfrage und lädt sie erneut von der Datenbank, wenn Sie die Aktion AktualisierenDaten oder die Methode Requery des Objekts DoCmd verwenden. Wenn Sie dagegen die Methode Requery verwenden, führt Microsoft Access die Abfrage erneut aus, ohne sie zu schließen und erneut zu laden. Beachten Sie, daß die DAO-Methode Requery genauso funktioniert wie die Methode Requery in Microsoft Access.


Wiederherstellen-Aktion

Sie können die Aktion Wiederherstellen verwenden, um die ursprüngliche Größe eines maximierten oder minimierten Fensters wiederherzustellen.

Einstellung

Die Aktion Wiederherstellen verwendet keine Argumente.

Hinweis

Diese Aktion bezieht sich auf das ausgewählte Objekt. Ein minimiertes Objekt können Sie zuerst mit der Aktion AuswählenObjekt auswählen und dann mit der Aktion Wiederherstellen in der ursprünglichen Größe wiederherstellen.

Sie können die Aktion Positionieren verwenden, um ein wiederhergestelltes Fenster zu verschieben oder dessen Größe zu ändern.

Die Aktion Wiederherstellen hat dieselbe Wirkung wie das Klicken auf die Schaltfläche Wiederherstellen in der oberen rechten Fensterecke oder das Klicken auf den Befehl Wiederherstellen im Systemmenü des Fensters.

Um die Aktion Wiederherstellen in Visual Basic auszuführen, verwenden Sie die Methode Restore des Objekts DoCmd.


AusführenAnwendung-Aktion

Sie können die Aktion AusführenAnwendung verwenden, um eine auf Windows oder MS-DOS basierende Anwendung wie Microsoft Excel, Microsoft Word oder Microsoft PowerPoint aus Microsoft Access heraus auszuführen. Auf diese Weise können Sie z.B. ein Microsoft Excel-Tabellenblatt in Ihre Microsoft Access-Datenbank einfügen.

Einstellung

Die Aktion AusführenAnwendung verwendet das folgende Argument.

Aktionsargument	Beschreibung
Befehlszeile	Die zum Start der Anwendung verwendete Befehlszeile (einschließlich des Pfadnamens und aller anderen benötigten Parameter, z.B. Schalter, welche die Anwendung in einem bestimmten Modus ausführen). Geben Sie die Befehlszeile im Bereich Aktionsargumente des Makrofensters im Feld Befehlszeile ein. Dieses Argument ist erforderlich.
Hinweis

Die mit dieser Aktion ausgewählte Anwendung wird geladen und im Vordergrund ausgeführt. Das Makro, das diese Aktion enthält, wird weiterhin ausgeführt.

Sie können Daten zwischen der anderen Anwendung und Microsoft Access mit Hilfe von Windows DDE (dynamischer Datenaustausch) oder über die Zwischenablage übertragen. Mit der Aktion Tastaturbefehle können Sie Tastenanschläge an die andere Anwendung senden (obwohl DDE die wesentlich effizientere Methode zur Übertragung von Daten darstellt). Sie können auf Daten in mehreren Anwendungen auch mit Hilfe der Automatisierung gemeinsam zugreifen.

Auf MS-DOS basierende Anwendungen werden in einem MS-DOS-Fenster innerhalb der Windows-Umgebung ausgeführt.

In Windows 3.1 hat diese Aktion dieselbe Wirkung wie das Doppelklicken auf ein Programmsymbol in einer Windows-Programmgruppe oder das Ausführen eines Programms aus dem Dialogfeld Ausführen im Windows Programm-Manager. In Windows 95 bestehen mehrere Möglichkeiten, eine Anwendung zu starten: Starten des Programms aus dem Windows Explorer durch Verwenden des Befehls Ausführen aus dem Menü Start, und Doppelklicken auf ein Programmsymbol auf dem Windows-Desktop.

Sie können die Aktion AusführenAnwendung nicht in Visual Basic ausführen. Verwenden Sie statt dessen die Visual Basic-Funktion Shell.


AusführenCode-Aktion

Sie können die Aktion AusführenCode verwenden, um eine Visual Basic-Funktion aufzurufen.

Einstellung

Die Aktion AusführenCode verwendet das folgende Argument.

Aktionsargument	Beschreibung
Funktionsname	Der Name der aufzurufenden Visual Basic-Funktion. Geben Sie Funktionsargumente in Klammern ein. Geben Sie den Funktionsnamen im Bereich Aktionsargumente des Makrofensters im Feld Funktionsname ein. Dieses Argument ist erforderlich. Anmerkung   Wenn Sie mit dem Ausdrucks-Editor eine Funktion für dieses Argument auswählen möchten, klicken Sie auf die Editor-Schaltfläche  [image]  rechts neben dem Feld Funktionsname. Klicken Sie dann in der Liste des Ausdrucks-Editors auf die gewünschte Funktion.
Hinweis

Die benutzerdefinierten Funktionen werden in Microsoft Access-Modulen gespeichert.

Geben Sie die Klammern auch dann an, wenn die Funktion wie im folgenden Beispiel über keine Argumente verfügt.

TestFunktion()

Im Gegensatz zu benutzerdefinierten Funktionsnamen, die für Einstellungen von Ereigniseigenschaften verwendet werden, beginnt der Funktionsname im Argument Funktionsname nicht mit einem Gleichheitszeichen (=).

Microsoft Access ignoriert den Rückgabewert der Funktion.

Tip   Damit Sie eine in Visual Basic geschriebene Sub-Prozedur oder Ereignisprozedur ausführen können, erstellen Sie eine Funktion, die die Sub-Prozedur oder Ereignisprozedur aufruft. Führen Sie dann die Funktion mit Hilfe der Aktion AusführenCode aus.

Wenn Sie eine Funktion mit Hilfe der Aktion AusführenCode aufrufen, sucht Microsoft Access die im Argument Funktionsname angegebene Funktion in den Standardmodulen der Datenbank. Wenn diese Aktion allerdings als Reaktion auf das Klicken auf einen Menübefehl in einem Formular oder Bericht oder das Auftreten eines Ereignisses in einem Formular oder Bericht ausgeführt wird, sucht Microsoft Access die Funktion zuerst im Klassenmodul des Formulars- oder Berichts und erst dann in den Standardmodulen. Microsoft Access sucht die im Argument Funktionsname angegebene Funktion nicht in den Klassenmodulen, die in der Registerkarte Module im Datenbankfenster angezeigt wird.

Diese Aktion ist in Visual Basic nicht verfügbar. Führen Sie die gewünschte Funktion direkt in Visual Basic aus.


AusführenMakro-Aktion

Sie können die Aktion AusführenMakro zum Ausführen eines Makros verwenden. Das Makro kann sich in einer Makrogruppe befinden.

Sie können diese Aktion wie folgt verwenden:

•	Ausführen eines Makros aus einem anderen Makro.

•	Ausführen eines Makros abhängig von einem bestimmten Zustand.

•	Zuordnen eines Makros zu einem benutzerdefinierten Menübefehl.

Einstellung

Die Aktion AusführenMakro verwendet die folgenden Argumente.

Aktionsargument	Beschreibung
Makroname	Der Name des auszuführenden Makros. Das Feld Makroname im Bereich Aktionsargumente des Makrofensters zeigt alle Makros (und Makrogruppen) in der aktuellen Datenbank an. Befindet sich das Makro in einer Makrogruppe, so ist es unter dem Markrogruppennamen in der Liste als Makrogruppenname.Makroname aufgelistet. Dieses Argument ist erforderlich.
	Wenn Sie ein Makro, das die Aktion AusführenMakro enthält, in einer Bibliotheksdatenbank ausführen, sucht Microsoft Access in der Bibliotheksdatenbank und nicht in der aktuellen Datenbank nach einem Makro mit diesem Namen.
Wiederholungen	Gibt an, wie oft das Makro maximal ausgeführt wird. Wenn dieses Argument leer bleibt (und das Argument Wiederholbedingung auch leer ist), wird das Makro nur einmal ausgeführt.
Wiederholbedingung	Ein Ausdruck, der als Wahr (-1) oder Falsch (0) ausgewertet wird. Das Makro wird angehalten, wenn der Ausdruck den Wert Falsch ergibt. Der Ausdruck wird bei jedem Ausführen des Makros ausgewertet.
Hinweis

Wenn Sie einen Makrogruppennamen für das Argument Makroname eingeben, führt Microsoft Access das erste Makro in der Makrogruppe aus.

Diese Aktion ist mit dem Klicken auf Makro im Menü Extras vergleichbar, mit dem Sie ein bestimmtes Makro auswählen und ausführen können. Der Befehl führt das Makro jedoch nur einmal aus, während die Aktion AusführenMakro ein Makro beliebig oft ausführen kann.

Tip   Sie können mit den Argumenten Wiederholungen und Wiederholbedingung angeben, wie oft ein Makro ausgeführt werden soll:

•	Lassen Sie beide Argumente leer, wird das Makro einmal ausgeführt.

•	Geben Sie eine Zahl für Wiederholungen ein, lassen jedoch Wiederholbedingung leer, so wird das Makro so oft ausgeführt, wie durch die Zahl angegeben.

•	Lassen Sie Wiederholungen leer, geben aber einen Ausdruck für Wiederholbedingung ein, so wird das Makro so oft ausgeführt, bis der Ausdruck den Wert Falsch ergibt.

•	Geben Sie Werte für beide Argumente ein, so wird das Makro so oft ausgeführt, wie durch die Zahl in Wiederholungen angegeben, oder bis Wiederholbedingung den Wert Falsch ergibt, je nachdem, welcher Fall zuerst eintritt.

Wenn Sie ein Makro ausführen, das die Aktion AusführenMakro enthält, führt Microsoft Access das aufgerufene Makro aus. Ist das aufgerufene Makro beendet, kehrt Microsoft Access zum ursprünglichen Makro zurück und führt die nächste Aktion aus.

Anmerkungen

•	Sie können ein Makro in der gleichen Makrogruppe oder in einer anderen Makrogruppe aufrufen.

•	Sie können Makros ineinander verschachteln, also z.B. Makro A ausführen, von dort Makro B aufrufen usw. Auf jeden Fall kehrt Microsoft Access nach dem Beenden des aufgerufenen Makros zu dem aufrufenden Makro zurück und führt die nächste Aktion in diesem Makro aus.

Tip   Sie können mit der Aktion AusführenMakro in einer Makrogruppe, die benutzerdefinierte Befehle für eine benutzerdefinierte Menüleiste definiert, ein Makro aus einem benutzerdefinierten Menü heraus ausführen. Es ist jedoch einfacher, die neue Befehlsleistenfunktionalität zu verwenden, um ein Makro aus einer Menüleiste, einer Symbolleiste oder einem Kontextmenü heraus auszuführen. Zeigen Sie im Menü Ansicht auf Symbolleisten, und klicken Sie auf Anpassen, um das Dialogfeld Anpassen anzuzeigen. Wählen Sie in der Registerkarte Symbolleisten die Menüleiste, Symbolleiste oder das Kontextmenü aus, das aus dem Makro heraus ausgeführt werden soll. Klicken Sie in der Registerkarte Befehle im Feld Kategorien auf Alle Makros, wählen Sie dann im Feld Befehle das Makro aus, das auf der Menüleiste, Symbolleiste bzw. im Kontextmenü ausgeführt werden soll, und ziehen Sie es dorthin. Wenn Sie in der Menüleiste, Symbolleiste oder im Kontextmenü auf das Symbol für dieses Makro klicken, führt es Microsoft Access aus. Sie können ein Makro auch aus dem Datenbankfenster auf eine Menüleiste oder Symbolleiste ziehen; Microsoft Access erstellt dann ein Symbol, das das betreffende Makro ausführt.

Um die Aktion AusführenMakro in Visual Basic auszuführen, verwenden Sie die Methode RunMacro des Objekts DoCmd.


AuswählenObjekt-Aktion

Sie können die Aktion AuswählenObjekt verwenden, um ein bestimmtes Datenbankobjekt auszuwählen.

Einstellung

Die Aktion AuswählenObjekt verwendet die folgenden Argumente.

Aktionsargument	Beschreibung
Objekttyp	Der Typ des auszuwählenden Datenbankobjekts. Klicken Sie im Bereich Aktionsargumente des Makrofensters im Feld Objekttyp auf Tabelle, Abfrage, Formular, Bericht, Makro oder Modul. Dieses Argument ist erforderlich.
Objektname	Der Name des auszuwählenden Objekts. Das Feld Objektname zeigt alle Objekte des im Argument Objekttyp ausgewählten Typs in der gesamten Datenbank an. Wenn Sie für Objekttyp keinen Wert eingeben, geben Sie für dieses Argument ebenfalls keinen Wert ein. Dieses Argument ist erforderlich, es sei denn, Sie stellen das Argument In Datenbankfenster auf Ja ein. Wenn Sie das Argument In Datenbankfenster auf Ja einstellen und das Argument Objektname leer lassen, wählt Microsoft Access im Datenbankfenster die Registerkarte aus, die dem im Argument Objekttyp angegebenen Datenbankobjekt entspricht.
In Datenbankfenster	Gibt an, ob Microsoft Access das Objekt im Datenbankfenster auswählt. Klicken Sie auf Ja (um das Objekt im Datenbankfenster auszuwählen) oder Nein (um es nicht auszuwählen). Die Standardeinstellung ist Nein.
Hinweis

Die Aktion AuswählenObjekt kann für alle Microsoft Access-Objekte ausgeführt werden, die den Fokus erhalten können. Diese Aktion setzt den Fokus auf das angegebene Objekt und zeigt das Objekt an, wenn es ausgeblendet ist. Ist das Objekt ein Formular, so stellt die Aktion AuswählenObjekt die Eigenschaft Sichtbar des Formulars auf Ja ein und setzt das Formular auf den von seinen Formulareigenschaften eingestellten Modus zurück (z.B. gebundenes Formular oder Popup-Formular).

Ist das Objekt in keinem anderen Microsoft Access-Fenster geöffnet, so können Sie es im Datenbankfenster auswählen, indem Sie das Argument In Datenbankfenster auf Ja einstellen. Stellen Sie das Argument In Datenbankfenster auf Nein ein, so wird eine Fehlermeldung angezeigt, wenn Sie versuchen, ein nicht geöffnetes Objekt auszuwählen.

Sie können diese Aktion z.B. verwenden, um ein Objekt auszuwählen, auf dem weitere Aktionen ausgeführt werden sollen. Beispielsweise können Sie ein Objekt wiederherstellen, das (mit der Aktion Wiederherstellen) minimiert wurde, oder ein Fenster (mit der Aktion Vollbild) maximieren, das ein Objekt enthält, mit dem Sie arbeiten möchten.

Wenn Sie ein Formular auswählen, können Sie die Aktionen GeheZuSteuerelement, GeheZuDatensatz und GeheZuSeite verwenden, um zu bestimmten Bereichen des Formulars zu gelangen. Die Aktion GeheZuDatensatz funktioniert auch für Datenblätter.

Um die Aktion AuswählenObjekt in Visual Basic auszuführen, verwenden Sie die Methode SelectObject des Objekts DoCmd.


Tastaturbefehle-Aktion

Sie können die Aktion Tastaturbefehle verwenden, um Tastenanschläge direkt an Microsoft Access oder eine aktive, auf Windows basierende Anwendung zu senden.

Einstellung

Die Aktion Tastaturbefehle verwendet die folgenden Argumente.

Aktionsargument	Beschreibung
Tastenfolge	Die von Microsoft Access oder der Anwendung zu verarbeitende Tastenfolge. Geben Sie die Tastenanschläge im Bereich Aktionsargumente des Makrofensters im Feld Tastenfolge ein. Sie können bis zu 255 Zeichen eingeben. Dieses Argument ist erforderlich.
Warten	Gibt an, ob das Makro warten soll, bis die Tastatureingaben verarbeitet sind. Klicken Sie auf Ja, wenn es warten soll, und auf Nein, wenn es nicht warten soll. Die Standardeinstellung ist Nein.
Hinweis

Microsoft Access verarbeitet die durch die Aktion Tastaturbefehle erhaltene Tastenfolge genauso, als wenn Sie diese direkt in einem Microsoft Access-Fenster eingeben.

Verwenden Sie zum Angeben der Tastenfolge die gleiche Syntax wie für die Anweisung SendKeys.

Anmerkung   Ein Fehler tritt auf, wenn das Argument Tastenfolge syntaktisch falsch oder inkorrekt geschrieben ist oder andere Werte enthält, die für das Fenster, an das die Tastenfolge gesendet wird, nicht geeignet sind.

Sie können diese Aktion zur Eingabe von Informationen in einem Dialogfeld verwenden, insbesondere, wenn Sie das Makro nicht unterbrechen möchten, um manuelle Eingaben im Dialogfeld vorzunehmen. Manche Aktionen in Microsoft Access, wie Drucken und SuchenDatensatz, wählen automatisch die Optionen in bestimmten, regelmäßig verwendeten Dialogfeldern aus. Sie können die Aktion Tastaturbefehle verwenden, um Optionen in weniger gebräuchlichen Dialogfeldern auszuwählen.

Anmerkungen

•	Da das Dialogfeld das Makro unterbricht, führen Sie die Aktion Tastaturbefehle vor der Aktion, die das Dialogfeld öffnet, aus und stellen das Argument Warten auf Nein ein.

•	Das richtige Abschätzen der Zeit, die Tastenfolgen benötigen, um Microsoft Access oder eine andere Anwendung zu erreichen, kann schwierig sein. Verwenden Sie daher die Aktion Tastaturbefehle nicht zum Ausfüllen von Optionen in einem Dialogfeld, wenn für die gewünschte Operation andere Methoden (z.B. die Aktion SuchenDatensatz) zur Verfügung stehen.

Wenn mehr als 255 Zeichen an Microsoft Access oder eine andere auf Windows basierende Anwendung gesendet werden sollen, können Sie mehrere Aktionen Tastaturbefehle hintereinander in einem Makro verwenden.

Die Verwendung der Aktion Tastaturbefehle zum Senden von Tastenfolgen löst die entsprechenden Ereignisse KeyDown, KeyUp und KeyPress aus. Das Senden von Tastenanschlägen, die keinen ANSI-Zeichen entsprechen (z.B. Funktionstasten) löst das Ereignis KeyPress nicht aus.

Diese Aktion ist in Visual Basic nicht verfügbar. Verwenden Sie statt dessen die Anweisung SendKeys.


SetzenWert-Aktion

Sie können die Aktion SetzenWert verwenden, um den Wert eines Microsoft Access-Feldes, Steuerelements oder einer Eigenschaft in einem Formular, Formulardatenblatt oder Bericht einzustellen.

Einstellung

Die Aktion SetzenWert verwendet die folgenden Argumente.

Aktionsargument	Beschreibung
Feld	Der Name des Feldes, Steuerelements oder der Eigenschaft, dessen/deren Wert Sie einstellen möchten. Geben Sie den Namen des Feldes, Steuerelements oder der Eigenschaft im Bereich Aktionsargumente des Makrofensters im Feld Feld ein. Verwenden Sie die vollständige Syntax, um dieses Element anzugeben, z.B. Steuerelementname (für ein Steuerelement in dem Formular oder Bericht, von dem aus das Makro aufgerufen wurde) oder Formulare!Formularname!Steuerelementname. Dieses Argument ist erforderlich.
Ausdruck	Der Ausdruck, den Microsoft Access zum Einstellen des Wertes für dieses Element verwendet. Verwenden Sie immer die vollständige Syntax, um sich auf ein Objekt im Ausdruck zu beziehen. Verwenden Sie z.B. Formulare!Personal!Gehalt*1,1, um den Wert des Steuerelements Gehalt in einem Formular Personal um 10 Prozent zu erhöhen. Dieses Argument ist erforderlich. Anmerkung   Sie sollten vor dem Ausdruck in diesem Argument kein Gleichheitszeichen (=) verwenden. Falls Sie es doch tun, wertet Microsoft Access den Ausdruck aus und verwendet diesen Wert als den Ausdruck in diesem Argument. Dies kann zu unerwarteten Ergebnissen führen, wenn der Ausdruck eine Zeichenfolge ist. Wenn Sie z.B für dieses Argument ="Zeichenfolge1" eingeben, wertet Microsoft Access zuerst den Ausdruck als Zeichenfolge1 aus. Dann wird Zeichenfolge als der Ausdruck in diesem Argument verwendet, in der Erwartung, ein Steuerelement oder eine Eigenschaft namens Zeichenfolge in dem Formular oder dem Bericht zu finden, aus dem das Makro aufgerufen wurde.
Anmerkung   Sie können den Ausdrucks-Editor verwenden, um einen Ausdruck für ein Argument zu erstellen, indem Sie auf die Editor-Schaltfläche  [image]  rechts neben dem Feld Feld oder Ausdruck klicken.

Hinweis

Sie können diese Aktion verwenden, um den Wert für ein Feld oder ein Steuerelement in einem Formular, einem Formulardatenblatt oder einem Bericht einzustellen. Sie können auch den Wert für fast alle Steuerelements-, Formular- und Berichtseigenschaften in jeder Ansicht einstellen. Informationen darüber, ob und in welchen Ansichten eine bestimmte Eigenschaft mit einem Makro eingestellt werden kann, finden Sie im Thema zu dieser Eigenschaft.

Sie können auch den Wert für ein Feld in der einem Formular zugrundeliegenden Tabelle einstellen, sogar dann, wenn in dem Formular kein Steuerelement an das Feld gebunden wurde. Verwenden Sie die Syntax Formulare!Formularname!Feldname im Feld Feld, um den Wert für ein solches Feld einzustellen. Sie können sich auch auf ein Feld in der einem Bericht zugrundeliegenden Tabelle beziehen, indem Sie die Syntax Reports!Berichtsname!Feldname verwenden, jedoch muß hierbei ein Steuerelement in dem Bericht an dieses Feld gebunden sein, oder das Feld muß sich auf ein berechnetes Steuerelement in dem Bericht beziehen.

Wenn Sie den Wert eines Steuerelements in einem Formular einstellen, löst die Aktion SetzenWert keine Überprüfung der Gültigkeitsregeln für Steuerelemente auf Formularebene aus, aber die Überprüfung der Gültigkeitsregeln in der dem Feld zugrundeliegenden Tabelle, falls das Steuerelement an die Datenbank gebunden ist. Die Aktion SetzenWert löst außerdem eine Neuberechnung aus, die aber nicht unbedingt sofort erfolgt. Sie setzen die sofortige Aktualisierung und den Abschluß der Neuberechnung durch, indem Sie die Aktion AktualisierenObjekt verwenden. Der in einem Steuerelement mit der Aktion SetzenWert eingestellte Wert ist auch nicht von einem Eingabeformat betroffen, das in der Eigenschaft Eingabeformat des Steuerelements oder des zugrundeliegenden Feldes eingestellt ist.

Sie können den Wert eines Steuerelements ändern, indem Sie die Aktion SetzenWert in einem Makro verwenden, das mit der Ereigniseigenschaft AfterUpdate des Steuerelements angegeben wird. Sie können die Aktion SetzenWert allerdings nicht in einem Makro verwenden, das von der Ereigniseigenschaft BeforeUpdate angegeben wird, um den Wert des Steuerelements zu ändern (obwohl Sie SetzenWert zum Ändern anderer Steuerelemente verwenden können). Sie können die Aktion SetzenWert auch in einem Makro verwenden, das in der Eigenschaft BeforeUpdate oder AfterUpdate eines Formulars angegeben wird, um den Wert eines beliebigen Steuerelements im aktuellen Datensatz zu ändern.

Anmerkung   Mit der Aktion SetzenWert können Sie die Werte der folgenden Steuerelemente nicht einstellen:

•	Gebundene Steuerelemente und berechnete Steuerelemente in Berichten

•	Berechnete Steuerelemente in Formularen

Tip   Sie können mit der Aktion SetzenWert ein Formular in der Formularansicht ausblenden oder einblenden. Geben Sie Formulare!Formularname.Visible im Feld Feld und Nein oder Ja im Feld Ausdruck ein. Das Einstellen der Eigenschaft Visible eines gebundenen Formulars auf Nein blendet das Formular aus und ändert dessen Zustand auf "nicht gebunden". Das Einstellen der Eigenschaft auf Ja zeigt das Formular an und ändert seinen Zustand auf "gebunden".

Wenn Sie mit der Aktion SetzenWert den Wert eines Steuerelements ändern oder neue Daten in einem Makro hinzufügen, löst dies keine Ereignisse wie BeforeUpdate, BeforeInsert oder Change aus, die auftreten, wenn Sie in der Benutzeroberfläche Daten in diesen Steuerelementen ändern oder eingeben. Diese Ereignisse treten auch dann nicht auf, wenn Sie den Wert des Steuerelements mit Visual Basic einstellen.

Diese Aktion ist in Visual Basic nicht verfügbar. Stellen Sie den Wert direkt in Visual Basic ein.


Warnmeldungen-Aktion

Sie können die Aktion Warnmeldungen verwenden, um Systemmeldungen ein- oder auszuschalten.

Einstellung

Die Aktion Warnmeldungen verwendet das folgende Argument.

Aktionsargument	Beschreibung
Warnmeldungen An	Gibt an, ob Systemmeldungen angezeigt werden. Klicken Sie im Bereich Aktionsargumente des Makrofensters im Feld Warnmeldungen An auf Ja (um Systemmeldungen einzuschalten) oder auf Nein (um Systemmeldungen auszuschalten). Die Standardeinstellung ist Nein.
Hinweis

Sie können diese Aktion verwenden, damit gebundene Warnungen und Meldungsfelder das Makro nicht unterbrechen. Fehlermeldungen werden jedoch immer angezeigt. Microsoft Access zeigt auch alle Dialogfelder an, die andere Eingaben als lediglich das Auswählen einer Schaltfläche erfordern (z.B. OK, Abbrechen, Ja oder Nein), z.B. jedes Dialogfeld, in dem Sie Text eingeben oder eine Option auswählen müssen.

Das Ausführen dieser Aktion, wobei Warnmeldungen An auf Ja eingestellt ist, hat dieselbe Wirkung wie das Drücken der EINGABETASTE, sobald eine Warnung oder ein Meldungsfeld angezeigt wird. In der Regel wird eine Schaltfläche OK oder Ja als Antwort auf die Warnung oder Meldung gewählt.

Nach dem Beenden des Makros schaltet Microsoft Access automatisch die Anzeige der Systemmeldungen wieder an.

Häufig wird diese Aktion zusammen mit der Aktion Echo verwendet, die die Ergebnisse eines Makros so lange ausblendet, bis das Makro beendet ist. Sie können die Aktion Warnmeldungen auch verwenden, um Warnungen und Meldungsfelder auszublenden.

Vorsicht   Obwohl die Aktion Warnmeldungen Wechselwirkungen mit Makros vereinfachen kann, seien Sie beim Ausschalten von Systemmeldungen vorsichtig. In einigen Situationen soll das Makro bestimmt angehalten werden, wenn eine bestimmte Warnmeldung angezeigt wird. Verwenden Sie diese Aktion nicht, solange Sie die Wirkung aller Makroaktionen nicht genau kennen.

Um die Aktion Warnmeldungen in Visual Basic auszuführen, verwenden Sie die Methode SetWarnings des Objekts DoCmd.


AnzeigenAlleDatensätze-Aktion

Sie können die Aktion AnzeigenAlleDatensätze verwenden, um alle zugewiesenen Filter aus der aktiven Tabelle, der Abfrage-Ergebnismenge oder dem Formular zu entfernen und um alle Datensätze in der Tabelle oder Ergebnismenge bzw. alle Datensätze der dem Formular zugrundeliegenden Tabelle oder Abfrage anzuzeigen.

Einstellung

Die Aktion AnzeigenAlleDatensätze verwendet keine Argumente.

Hinweis

Sie können mit dieser Aktion sicherstellen, daß alle Datensätze (einschließlich aller veränderten oder neuen Datensätze) einer Tabelle, einer Abfrageergebnismenge oder eines Formulars angezeigt werden. Diese Aktion bewirkt die Aktualisierung der Datensätze in einem Formular oder Unterformular .

Sie können diese Aktion auch verwenden, um alle Filter zu entfernen, die mit der Aktion AnwendenFilter, dem Befehl Filter/Sortierung anwenden im Menü Datensätze oder den Argumenten Filtername oder Bedingung der Aktion ÖffnenFormular zugewiesen wurden.

Diese Aktion hat dieselbe Wirkung wie das Klicken auf Filter/Sortierung entfernen im Menü Datensätze oder das Klicken auf Filter entfernen  [image]  in der Symbolleiste in der Formularansicht oder Datenblattansicht.

Um die Aktion AnzeigenAlleDatensätze in Visual Basic auszuführen, verwenden Sie die Methode ShowAllRecords des Objekts DoCmd.


StopAlleMakros-Aktion

Sie können die Aktion StopAlleMakros verwenden, um alle Makros zu beenden, die momentan ausgeführt werden.

Einstellung

Die Aktion StopAlleMakros verwendet keine Argumente.

Hinweis

Sie verwenden diese Aktion in der Regel dann, wenn ein Fehler die Beendigung aller Makros erfordert. Sie können einen bedingten Ausdruck in der Aktionszeile des Makros verwenden, der diese Aktion enthält. Ergibt der Ausdruck den Wert Wahr (-1), so beendet Microsoft Access alle Makros.

Sie verfügen z.B. über ein Makro, das ein Meldungsfeld als eine von mehreren komplexen Aktionen anzeigt und das auch andere Makros ausführt. Klickt der Benutzer in diesem Meldungsfeld auf Abbrechen, so beendet die Aktion StopAlleMakros alle momentan ausgeführten Makros.

Hat ein Makro die Aktionen Echo oder Warnmeldungen verwendet, um das Echo oder die Anzeige von Systemmeldungen auszuschalten, so schaltet die Aktion StopAlleMakros beides automatisch wieder ein.

Diese Aktion ist in Visual Basic nicht verfügbar.


StopMakro-Aktion

Sie können die Aktion StopMakro verwenden, um das momentan ausgeführte Makro zu beenden.

Einstellung

Die Aktion StopMakro verwendet keine Argumente.

Hinweis

Sie verwenden diese Aktion in der Regel dann, wenn das Makro aufgrund einer bestimmten Bedingung beendet werden muß. Sie können einen bedingten Ausdruck in der Aktionszeile des Makros verwenden, der diese Aktion enthält. Ergibt der Ausdruck den Wert Wahr (-1), so beendet Microsoft Access das Makro.

Sie möchten z.B. ein Makro erstellen, das ein Formular öffnet, in dem die Auftragseingangssumme für das in einem benutzerdefinierten Dialogfeld eingegebene Datum angezeigt wird. Sie können einen bedingten Ausdruck verwenden, um sicherzustellen, daß das Steuerelement Bestelldatum des Dialogfelds ein gültiges Datum enthält. Ist dies nicht der Fall, so kann die Aktion Meldung eine Fehlermeldung anzeigen, und die Aktion StopMakro kann das Makro beenden.

Hat das Makro die Aktionen Echo oder Warnmeldungen verwendet, um das Echo oder die Anzeige von Systemmeldungen auszuschalten, so schaltet die Aktion StopMakro beides automatisch wieder ein.

Diese Aktion ist in Visual Basic nicht verfügbar.


LöschenObjekt-Aktion

Mit Hilfe der LöschenObjekt-Aktion können Sie ein angegebenes Datenbankobjekt löschen.

Einstellung

Die LöschenObjekt-Aktion verwendet die folgenden Argumente.

Aktionsargument	Beschreibung
Objekttyp	Typ des zu löschenden Objekts. Klicken Sie im Feld Objekttyp im Bereich Aktionsargumente des Makrofensters auf Tabelle, Abfrage, Formular, Bericht, Makro oder Modul. Lassen Sie dieses Feld leer, um das im Datenbankfenster ausgewählte Objekt zu löschen.
Objektname	Name des zu löschenden Objekts. Das Feld Objektname zeigt alle Datenbankobjekte des im Argument Objekttyp angegebenen Objekttyps an. Wenn Sie für das Feld Objekttyp keine Angabe machen, lassen Sie auch dieses Feld leer.
	Wenn Sie ein Makro, das die LöschenObjekt-Aktion enthält, in einer Bibliotheksdatenbank ausführen, sucht Microsoft Access das Objekt mit dem angegebenen Namen zuerst in der Bibliotheksdatenbank und dann in der aktuellen Datenbank.
Achtung   Wenn Sie die Argumente Objekttyp und Objektname leer lassen, löscht Microsoft Access das im Datenbankfenster aktuell ausgewählte Objekt, ohne eine Warnmeldung anzuzeigen, wenn es auf die LöschenObjekt-Aktion stößt. Verwenden Sie die AuswählenObjekt-Aktion, und stellen Sie das Argument im Datenbankfenster auf Ja ein, um ein Objekt im Datenbankfenster auszuwählen.

Hinweis

Sie können die LöschenObjekt-Aktion verwenden, um temporäre Objekte zu löschen, die beim Ausführen eines Makros erstellt wurden. Angenommen, Sie verwenden die ÖffnenAbfrage-Aktion, um eine Tabellenerstellungsabfrage auszuführen, die eine temporäre Tabelle erstellt. Wenn Sie die temporäre Tabelle nicht mehr benötigen, können Sie die LöschenObjekt-Aktion ausführen, um die temporäre Tabelle zu löschen.

Diese Aktion hat dieselbe Wirkung wie das Auswählen eines Objekts im Datenbankfenster und das anschließende Drücken der ENTF-TASTE oder Klicken auf Löschen im Menü Bearbeiten.

Um die LöschenObjekt-Aktion in Visual Basic auszuführen, verwenden Sie die DeleteObject-Methode des DoCmd-Objekts.


AusgabeIn-Aktion

Mit Hilfe der AusgabeIn-Aktion können Sie die Daten des angegebenen Microsoft Access-Datenbankobjekts (Datenblatt, Formular, Bericht oder Modul) in einer Datei im Microsoft Excel 97-Format (*.XLS), MS-DOS-Textformat (*.TXT) oder RTF-Format (*.RTF) ausgeben. Ferner können Sie die Daten in einer Datei im HTML-Format (*.HTML), in IDC/HTX-Dateien (Microsoft Internet Information Server-Format) oder in einer ASP-Datei (Microsoft Active Server Page-Format) ausgeben. Dateien im Microsoft Internet Information Server-Format können auch mit dem Microsoft Personal Web Server verwendet werden.

Einstellung

Die AusgabeIn-Aktion verwendet die folgenden Argumente.

Aktionsargument	Beschreibung
Objekttyp	Typ des Objekts, das die auszugebenden Daten enthält. Klicken Sie im Feld Objekttyp im Bereich Aktionsargumente des Makrofensters auf Tabelle (für ein Tabellendatenblatt), Abfrage (für ein Abfragedatenblatt), Formular (für ein Formular oder ein Formulardatenblatt), Bericht oder Modul. Die Ausgabe kann nicht in Form eines Makros erfolgen. Wenn Sie das aktive Objekt ausgeben möchten, genügt es, wenn Sie mit diesem Argument den Typ des Objekts angeben, jedoch das Argument Objektname unausgefüllt lassen. Dies ist ein notwendiges Argument. Die Standardeinstellung lautet Tabelle.
Objektname	Name des Objekts, das die auszugebenden Daten enthält. Das Feld Objektname zeigt alle Datenbankobjekte des im Argument Objekttyp angegebenen Typs an.
	Wenn Sie ein Makro, das die AusgabeIn-Aktion enthält, in einer Bibliotheksdatenbank ausführen, sucht Microsoft Access das Objekt mit diesem Namen zuerst in der Bibliotheksdatenbank und dann in der aktuellen Datenbank.
Ausgabeformat	Format, in dem Sie die Daten ausgeben möchten. Klicken Sie im Feld auf das gewünschte Format: HTML (*.HTML), Microsoft Active Server Pages (*.ASP), Microsoft Excel (*.XLS), Microsoft IIS (*.HTX, *.IDC), MS-DOS Text (*.TXT) oder RTF-Format (*.RTF). Module können nur im MS-DOS-Textformat ausgegeben werden. Die Microsoft Internet Information Server- Formate und das Microsoft Active Server Page-Format sind nur für Tabellen, Abfragen und Formulare verfügbar. Wenn Sie dieses Argument leer lassen, fragt Microsoft Access nach dem Ausgabeformat.
Ausgabedatei	Datei, in die Sie die Daten ausgeben möchten, einschließlich der vollständigen Pfadangabe. Sie können die entsprechenden Standarderweiterungen (.ASP, .HTM oder .HTML, .HTX, .XLS, .TXT oder .RTF) für das im Argument Ausgabeformat angegebene Ausgabeformat angeben, obwohl dies nicht zwingend erforderlich ist. Wenn die Ausgabe in Microsoft Internet Information Server- oder Microsoft Active Server Pages-Dateien erfolgt, erstellt Microsoft Access immer Dateien mit den Standarderweiterungen .HTX und .IDC bzw. .ASP. Wenn Sie das Argument Ausgabeformat leer lassen, fragt Microsoft Access nach einem Namen für die Ausgabedatei.
Autostart	Gibt an, ob die entsprechende Anwendung unmittelbar nach dem Ausführen der AusgabeIn-Aktion automatisch gestartet und die im Argument Ausgabedatei angegebene Datei geöffnet werden soll. Wenn Sie Ja wählen, wird eine der folgenden Anwendungen gestartet und die Ausgabedatei des Microsoft Access-Objekts geladen: Microsoft Excel (für .XLS-Dateien), Microsoft Word für Windows (für .RTF-Dateien) oder der Editor von Microsoft Windows (für .TXT-Dateien). Für .HTML-Dateien wird Ihr Standard-Internet Browser (wie der Microsoft Internet Explorer) gestartet. Dieses Argument wird von Microsoft Internet Information Server- und Microsoft Active Server Pages-Dateien ignoriert. Wenn Sie Nein wählen, wird die Anwendung nicht gestartet. Die Voreinstellung ist Nein.
Vorlagedatei	Pfad und Name der Datei, die Sie als Vorlage für eine .HTML-, .HTX- oder .ASP-Datei verwenden möchten. Die Vorlagedatei enthält HTML-Marken.
Hinweis

Die Microsoft Access-Daten werden in dem gewählten Format ausgegeben und können von jeder Anwendung, die das vorliegende Format verwendet, gelesen werden. Sie können z.B. einen Microsoft Access-Bericht mit seiner Formatierung in ein Dokument im RTF-Format ausgeben und dieses Dokument anschließend in Word für Windows öffnen.

Wenn Sie das Datenbankobjekt im HTML-Format ausgeben, erstellt Microsoft Access eine Datei im HTML-Format mit den Daten des Objekts. Mit Hilfe des Arguments Vorlagedatei können Sie eine Datei festlegen, die als Vorlage für die .HTML-Datei verwendet werden soll.

Wenn Sie das Objekt im Microsoft Internet Information Server-Format ausgeben, erstellt Microsoft Access zwei Dateien:

•	Eine .IDC-Datei, die Informationen über das Herstellen einer Verbindung zu einer ODBC-Datenquelle enthält, und eine SQL-Anweisung, die an dieser Datenquelle ausgeführt werden soll. In diesem Fall enthält das ausgegebene Microsoft Access-Objekt die in der SQL-Anweisung definierten Daten und die aktuelle Microsoft Access-Datenbank ist die ODBC-Datenquelle.

•	Eine .HTX-Datei, die Informationen über die Formatierung der Daten enthält, die von der in der .IDC-Datei als HTML-Dokument angegebenen SQL-Anweisung geliefert werden. Mit Hilfe des Arguments Vorlagedatei können Sie eine .HTML-Datei angeben, die als Vorlage für die .HTX-Datei verwendet werden soll.

Der Microsoft Internet Information Server erstellt mit Hilfe der .HTX- und .IDC-Dateien eine .HTML-Datei mit den Daten im ausgegebenen Microsoft Access-Objekt.

Wenn Sie das Datenbankobjekt im Microsoft Active Server Page-Format ausgeben, erstellt Microsoft Access eine Datei im .ASP-Format, die Informationen zum Zugriff und zur Formatierung der Daten des Objekts enthält. Der Microsoft Internet Information Server erstellt mit Hilfe der .ASP-Datei eine .HTML-Datei mit den Daten im ausgegebenen Microsoft Access-Objekt. Mit Hilfe des Arguments Vorlagedatei können Sie eine .HTML-Datei angeben, die als Vorlage für die .ASP-Datei verwendet werden soll.

Die folgenden Regeln gelten, wenn Sie die AusgabeIn-Aktion verwenden, um ein Datenbankobjekt in eines der Ausgabeformate mit Ausnahme von Microsoft Active Server Pages (einige der Regeln gelten auch für das Microsoft Active Server Page-Format) ausgeben:

•	Sie können Daten in Tabellen-, Abfrage- und Formulardatenblättern ausgeben. In der Ausgabedatei sehen alle Felder des Datenblatts genau wie in Microsoft Access aus, mit Ausnahme der Felder, die OLE-Objekte enthalten. Die Spalten für diese Felder sind in der Ausgabedatei zwar enthalten, die Felder sind jedoch leer.

•	Für ein Steuerelement, das an ein Ja/Nein-Feld (eine Umschaltfläche, ein Optionsfeld oder ein Kontrollkästchen) gebunden ist, zeigt die Ausgabedatei die Werte –1 (Ja) oder 0 (Nein) an.

•	Für ein Textfeld, das an ein Feld des Datentyps Hyperlink gebunden ist, zeigt die Ausgabedatei den Hyperlink für alle Ausgabeformate ausgenommen MS-DOS-Text (in diesem Fall wird der Hyperlink als normaler Text angezeigt) an.

•	Wenn Sie die Daten eines Formulars in der Formularansicht ausgeben, enthält die Ausgabedatei immer die Datenblattansicht des Formulars.

•	Wenn Sie die Daten eines Berichts ausgeben, werden nur die folgenden Steuerelemente in die Ausgabedatei aufgenommen: Textfelder (für .XLS-Ausgabedateien) bzw. Textfelder und Bezeichnungsfelder (für .RTF-, .TXT- und .HTML-Ausgabedateien). Alle anderen Steuerelemente bleiben unberücksichtigt. Kopf- und Fußinformationen sind ebenfalls nicht in der Ausgabedatei enthalten. Die einzige Ausnahme stellt das Einschließen eines Textfelds in einem Gruppenfuß, das einen Ausdruck enthält, der die Funktion Sum verwendet, in der Ausgabedatei dar, wenn Sie die Daten eines Berichts in eine Microsoft Excel-Datei ausgeben. Kein anderes Steuerelement in einem Kopf oder Fuß (und keine andere Aggregatfunktion als die Funktion Sum) wird in die Ausgabedatei aufgenommen.

•	Unterberichte werden in die Ausgabedatei aufgenommen, Unterformulare jedoch nicht.

•	Wenn Sie ein Datenblatt oder Formular im HTML-Format ausgeben, wird eine .HTML-Datei erstellt. Wenn Sie einen Bericht im HTML-Format ausgeben, wird für jede Seite des Berichts eine .HTML-Datei erstellt.

Weitere Informationen zu Regeln und Beschränkungen bei der Ausgabe in .HTML-Dateien finden Sie unter Exportieren eines Datenblatts in statisches HTML-Format und Exportieren eines Berichts in statisches HTML-Format.

Weitere Informationen zu Regeln und Beschränkungen bei der Ausgabe in Microsoft Internet Information Server-Dateien finden Sie unter Exportieren eines Datenblatts in dynamisches HTML-Format und Exportieren eines Formulars in dynamisches HTML-Format.

Weitere Informationen zu Regeln und Beschränkungen bei der Ausgabe in Microsoft Active Server Pages-Dateien finden Sie unter Exportieren eines Datenblatts in dynamisches HTML-Format, Exportieren eines Formulars in dynamisches HTML-Format und unter Unterstützte und nicht unterstützte Formularsteuerelemente für das dynamische ASP-Format.

Tip   Falls Sie die Daten eines Berichts in eine Ausgabedatei ausgeben und die Spalten und Zeilen der Daten in der Ausgabedatei nicht wie in dem Bericht ausgerichtet sind, können die folgenden Tips hilfreich sein:

•	Sie können im Menü Format auf Größe anpassen zeigen und dann auf An Textgröße klicken, um die Größe der Steuerelemente anzupassen.

•	Sie sollten überlagernde Steuerelemente oder sehr nah beieinander plazierte Steuerelemente vermeiden.

•	Sie können im Menü Format auf Ausrichten zeigen und dann auf den entsprechenden Befehl klicken, um die Steuerelemente des Berichts auszurichten. Steuerelemente, die nicht in der gleichen Zeile ausgerichtet sind, werden möglicherweise in verschiedenen Zeilen plaziert, was zusätzlichen Platz beansprucht.

Die AusgabeIn-Aktion hat eine ähnliche Wirkung wie das Klicken auf Speichern unter/Exportieren im Menü Datei, das Wählen der Option In eine externe Datei oder Datenbank und das Aktivieren des Kontrollkästchens Formatiert speichern im angezeigten Dialogfeld. Die Aktionsargumente entsprechen den Einstellungen der Dialogfelder Speichern unter/Exportieren. Allerdings gilt der Befehl Speichern unter/Exportieren nur für das im Datenbankfenster markierte Objekt. Durch Verwenden der AusgabeIn-Aktion können Sie das Objekt angeben, das Sie ausgeben möchten.

Anmerkung   Sie können die markierten Daten mit dem Befehl Speichern unter/Exportieren ausgeben. Diese Funktionalität steht mit der AusgabeIn-Aktion nicht zur Verfügung.

Sie können auch im Menü Extras auf Office-Verknüpfungen zeigen und dann auf In MS Excel analysieren oder In MS Word weiterbearbeiten klicken, um ein Datenbankobjekt auszugeben und die Ausgabedatei sofort in Microsoft Excel oder Microsoft Word für Windows zu öffnen. Ferner können Sie im Menü Datei auf Im HTML-Format speichern zeigen. Dieser Befehl führt den Web Publishing-Assistenten aus, über den Sie ein Datenbankobjekt in eine .HTML-Datei, .HTX-/.IDC-Dateien oder eine .ASP-Datei ausgeben können.

Um die AusgabeIn-Aktion in Visual Basic auszuführen, verwenden Sie die OutputTo-Methode des DoCmd-Objekts.


SendenObjekt-Aktion

Mit Hilfe der SendenObjekt-Aktion können Sie das angegebene Microsoft Access-Datenblatt, -Formular oder -Modul oder den angegebenen Microsoft Access-Bericht in eine E-Mail-Nachricht aufnehmen, in der es oder er angesehen oder weitergeleitet werden kann. Sie können Objekte im Microsoft Excel 97-Format (*.XLS), MS-DOS-Textformat (*.TXT), RTF-Format (*.RTF)oder HTML-Format (*.HTML) in Nachrichten in Microsoft Exchange, Microsoft Mail, Microsoft Windows für Workgroups Mail oder andere elektronische Mail-Anwendungen aufnehmen, die die Microsoft MAPI Standard-Programmierschnittstelle (MAPI = Mail Applications Programming Interface) unterstützen.

Verfügen Sie über eine elektronische Mail-Anwendung, die das Vendor Independent Mail (VIM)-Protokoll verwendet, und haben Sie die Dynamic Link Library (MAPIVIM.DLL) installiert und eingestellt, die die MAPI Mail-Nachrichten in das VIM-Protokoll konvertiert, so können Sie Microsoft Access-Objekte an die VIM Mail-Anwendung senden.

Einstellung

Die SendenObjekt-Aktion verwendet die folgenden Argumente.

Aktionsargument	Beschreibung
Objekttyp	Typ des in die Mail-Nachricht aufzunehmenden Objekts. Klicken Sie im Feld Objekttyp im Bereich Aktionsargumente des Makrofensters auf Tabelle (für ein Tabellendatenblatt), Abfrage (für ein Abfragedatenblatt), Formular (für ein Formular oder ein Formulardatenblatt), Bericht oder Modul. Makros können nicht gesendet werden. Möchten Sie das aktive Objekt in die Nachricht aufnehmen, wählen Sie über dieses Argument seinen Typ, und lassen Sie das Argument Objektname leer.
Objektname	Name des in die Nachricht aufzunehmenden Objekts. Das Feld Objektname zeigt alle Datenbankobjekte des im Argument Objekttyp angegebenen Typs an. Wenn Sie die beiden Argumente Objekttyp und Objektname leer lassen, sendet Microsoft Access eine Nachricht ohne ein Datenbankobjekt an die Mail-Anwendung.
	Wenn Sie ein Makro, das die SendenObjekt-Aktion enthält, in einer Bibliotheksdatenbank ausführen, sucht Microsoft Access das Objekt mit dem angegebenen Namen zuerst in der Bibliotheksdatenbank und dann in der aktuellen Datenbank.
Ausgabeformat	Format des Objekts, das in die Nachricht aufgenommen wird. Klicken Sie im Feld Ausgabeformat auf das gewünschte Format: HTML (*.HTML), Microsoft Excel (*.XLS), MS-DOS-Text (*.TXT) oder Rich Text Format (*.RTF). Module können nur im MS-DOS-Textformat gesendet werden. Wenn Sie für dieses Argument keine Angaben machen, fragt Microsoft Access nach dem Ausgabeformat. Hinweis   Sie können keine Objekte in den Formaten Microsoft Active Server Pages (*.asp) oder Microsoft IIS (*.htx, *.idc) in eine Nachricht aufnehmen, obwohl diese in der Auswahlliste angezeigt werden.
An	Die Empfänger der Nachricht, deren Namen in der Nachricht in der Zeile An angezeigt werden sollen. Wenn Sie für dieses Argument keine Angabe machen, fragt Microsoft nach den Empfängernamen.
	Wenn Sie in die Argumente An, Cc oder Bcc mehrere Empfänger eingeben, trennen Sie diese durch Semikolons (;) oder das Trennzeichen, das in der Systemsteuerung von Microsoft Windows unter Ländereinstellungen in der Registerkarte Zahlen eingestellt ist. Wenn die Mail-Anwendung die Empfängernamen nicht zuordnen kann, wird die Meldung nicht gesendet.
Cc	Diejenigen Empfänger der Nachricht, deren Namen in der Nachricht in der Zeile Cc ("carbon copy") angezeigt werden. Wenn Sie für dieses Argument keine Angabe machen, ist die Zeile Cc in der Nachricht leer.
Bcc	Diejenigen Empfänger der Nachricht, deren Namen in der Nachricht in der Zeile Bcc ("blind carbon copy") angezeigt werden. Wenn Sie für dieses Argument keine Angabe machen, ist die Zeile Bcc in der Nachricht leer.
Betreff	Gegenstand der Nachricht. Dieser Text wird in der Betreff-Zeile der Nachricht angezeigt. Wenn Sie für dieses Argument keine Angabe machen, ist die Zeile Betreff in der Nachricht leer.
Nachricht	Beliebiger Text, den Sie zusätzlich zum Datenbankobjekt in die Nachricht aufnehmen möchten. Dieser Text wird im Hauptteil der Nachricht im Anschluß an das Objekt angezeigt. Wenn Sie für dieses Argument keine Angabe machen, wird der Nachricht kein zusätzlicher Text hinzugefügt. Wenn Sie für die Argumente Objekttyp und Objektname keine Angaben machen, können Sie dieses Argument zum Senden einer Nachricht verwenden, die kein Datenbankobjekt enthält.
Nachricht bearbeiten	Gibt an, ob die Nachricht vor dem Senden bearbeitet werden kann. Wenn Sie Ja wählen, wird die elektronische Mail-Anwendung automatisch gestartet, und Sie können die Nachricht bearbeiten. Wenn Sie Nein wählen, wird die Nachricht ohne eine Möglichkeit zum Bearbeiten direkt gesendet. Die Voreinstellung ist Nein.
Vorlagedatei	Pfad und Dateiname einer Datei, die Sie als Vorlage für eine .HTML-Datei verwenden möchten. Die Vorlagedatei enthält HTML-Marken.
Hinweis

Die SendenObjekt-Aktion steht nur dann zur Verfügung, wenn auf Ihrem Computer eine elektronische Mail-Anwendung installiert ist, die die MAPI-Standardschnittstelle unterstützt, oder wenn Sie über eine VIM-unterstützende elektronische Mail-Anwendung verfügen und MAPIVIM.DLL installiert und eingestellt haben. Weitere Informationen über das Installieren und Einstellen von Microsoft Access-Unterstützung für VIM Mail-Anwendungen finden Sie im Microsoft Office 97 Resource Kit.

Das Objekt in der Nachricht liegt in dem ausgewählten Ausgabeformat vor. Wenn Sie auf das Objekt doppelklicken, wird die entsprechende Anwendung gestartet und das Objekt geöffnet. Die den einzelnen Ausgabeformaten zugeordneten Anwendungen sind Microsoft Excel (für .XLS-Dateien), Microsoft Word für Windows (für .RTF-Dateien) und der Editor von Microsoft Windows (für .TXT-Dateien). Für .HTML-Dateien wird Ihr voreingestellter Internet Browser (z.B. der Microsoft Internet Explorer) gestartet.

Die folgenden Regeln gelten, wenn Sie die SendenObjekt-Aktion verwenden, um ein Datenbankobjekt in eine E-Mail-Nachricht aufzunehmen:

•	Sie können Tabellen-, Abfrage- und Formulardatenblätter senden. Alle Felder des in die Nachricht aufgenommenen Datenblatts sehen genau wie in Microsoft Access aus, mit Ausnahme der Felder, die OLE-Objekte enthalten. Die Spalten für diese Felder sind in dem Objekt zwar enthalten, die Felder sind jedoch leer.

•	Für ein Steuerelement, das an ein Ja/Nein-Feld (eine Umschaltfläche, ein Optionsfeld oder ein Kontrollkästchen) gebunden ist, zeigt die Ausgabedatei die Werte -1 (Ja) oder 0 (Nein) an.

•	Für ein Textfeld, das an ein Feld des Datentyps Hyperlink gebunden ist, zeigt die Ausgabedatei den Hyperlink für alle Ausgabeformate mit Ausnahme von MS-DOS-Text (in diesem Fall wird der Hyperlink als normaler Text angezeigt) an.

•	Wenn Sie ein Formular in der Formularansicht senden, enthält die Nachricht als Objekt immer die Datenblattansicht des Formulars.

•	Wenn Sie einen Bericht senden, sind nur die folgenden Steuerelemente im Objekt enthalten: Textfelder (für .XLS-Dateien), oder Textfelder und Bezeichnungsfelder (für .RTF-, .TXT- und .HTML-Dateien). Alle anderen Steuerelemente bleiben unberücksichtigt. Kopf- und Fußinformationen sind ebenfalls nicht enthalten. Die einzige Ausnahme stellt das Einschließen eines Textfelds, das einen Ausdruck enthält, der die Funktion Sum verwendet, in einem Gruppenfuß im Objekt dar, wenn Sie einen Bericht im Microsoft Excel-Format senden. Kein anderes Steuerelement in einem Kopf oder Fuß (und keine andere Aggregatfunktion als die Funktion Sum) ist in dem Objekt enthalten.

•	Unterberichte sind in dem Objekt enthalten, Unterformulare jedoch nicht.

•	Wenn Sie ein Datenblatt oder Formular im HTML-Format senden, wird eine .HTML-Datei erstellt. Wenn Sie einen Bericht im HTML-Format senden, wird für jede Seite im Bericht eine .HTML-Datei erstellt.

Weitere Informationen zu Regeln und Beschränkungen bei der Aufnahme von Objekten im HTML-Format finden Sie unter Exportieren eines Datenblatts in statisches HTML-Format und Exportieren eines Berichts in statisches HTML-Format.

Tip   Falls Sie die Daten eines Berichts senden und die Spalten und Zeilen der Daten im aufgenommenen Objekt nicht wie in dem Bericht ausgerichtet sind, können die folgenden Tips hilfreich sein:

•	Sie können im Menü Format auf Größe anpassen zeigen und dann auf An Textgröße klicken, um die Größe der Steuerelemente anzupassen.

•	Sie sollten überlagernde Steuerelemente oder sehr nah beieinander plazierte Steuerelemente vermeiden.

•	Sie können im Menü Format auf Ausrichten zeigen und dann auf den entsprechenden Befehl klicken, um die Steuerelemente des Berichts auszurichten. Steuerelemente, die nicht in der gleichen Zeile ausgerichtet sind, werden möglicherweise in verschiedenen Zeilen plaziert, was zusätzlichen Platz beansprucht.

Die SendenObjekt-Aktion hat eine ähnliche Wirkung wie das Klicken auf Senden im Menü Datei, und die Aktionsargumente entsprechen den Einstellungen in den Dialogfeldern Senden. Der Befehl Senden wird jedoch nur auf das aktive Objekt angewendet. Wenn Sie die SendenObjekt-Aktion verwenden, können Sie dagegen ein beliebiges Objekt angeben, das Sie senden möchten.

Anmerkung   Sie können die ausgewählten Daten über den Befehl Senden senden. Diese Funktionalität ist in Verbindung mit der SendenObjekt-Aktion jedoch nicht verfügbar.

Um die SendenObjekt-Aktion in Visual Basic auszuführen, verwenden Sie die SendObject-Methode des DoCmd-Objekts.


EinblendenSymbolleiste-Aktion

Mit Hilfe der EinblendenSymbolleiste-Aktion können Sie eine eingebaute oder benutzerdefinierte Symbolleiste ein- bzw. ausblenden. Eine eingebaute Symbolleiste können Sie in allen Microsoft Access-Fenstern anzeigen oder lediglich in der Ansicht, in der sie normalerweise angezeigt wird (z.B. die Formularansicht-Symbolleiste in der Formularansicht).

Anmerkung   Die EinblendenSymbolleiste-Aktion wirkt sich nur auf Symbolleisten und nicht auf Menüleisten oder Kontextmenüs aus.

Einstellung

Die EinblendenSymbolleiste-Aktion verwendet die folgenden Argumente.

Aktionsargument	Beschreibung
Symbolleistenname	Name der Symbolleiste, die Sie ein- oder ausblenden möchten. Das Feld Symbolleistenname im Bereich Aktionsargumente des Makrofensters zeigt alle eingebauten Symbolleisten von Microsoft Access an, gefolgt von den benutzerdefinierten Symbolleisten, die Sie in der aktuellen Datenbank definiert haben. Dies ist ein notwendiges Argument.
	Wenn das Kontrollkästchen Eingebaute Symbolleisten zulassen im Dialogfeld Start (wird durch Klicken auf Start im Menü Extras angezeigt) deaktiviert ist, können Sie die Aktion lediglich zum Einblenden bzw. Ausblenden von benutzerdefinierten Symbolleisten verwenden.
	Wenn Sie ein Makro, das die EinblendenSymbolleiste-Aktion enthält, in einer Bibliotheksdatenbank ausführen, sucht Microsoft Access die Symbolleiste mit dem angegebenen Namen zuerst in der Bibliotheksdatenbank und dann in der aktuellen Datenbank.
Einblenden	Gibt an, ob und in welchen Ansichten die Symbolleiste ein- bzw. ausgeblendet wird. Die Voreinstellung ist Nein (Symbolleiste ist ausgeblendet).
	Wählen Sie für eingebaute Symbolleisten die Einstellung Ja, um die Symbolleiste in allen aktiven Microsoft Access-Fenstern anzuzeigen, die Einstellung Sofern passend, um die Symbolleiste nur in der Ansicht anzuzeigen, in der sie normalerweise angezeigt wird (entsprechend der Voreinstellung von Microsoft Access) oder die Einstellung Nein, um die Symbolleiste in allen Microsoft Access-Fenstern auszublenden.
	Wählen Sie für benutzerdefinierte Symbolleisten die Einstellung Ja oder Sofern passend, um die benutzerdefinierte Symbolleiste in allen aktiven Microsoft Access-Fenstern anzuzeigen, oder die Einstellung Nein, um die Symbolleiste in allen Microsoft Access-Fenstern auszublenden.
Hinweis

Sie können diese Aktion in einem Makro mit bedingten Ausdrücken verwenden, um eine oder mehrere Symbolleisten in Abhängigkeit von bestimmten Bedingungen ein- bzw. auszublenden.

Wenn Sie eine bestimmte Symbolleiste nur in einem Formular oder Bericht anzeigen möchten, stellen Sie für die OnActivate-Eigenschaft dieses Formulars oder Berichts die Einstellung auf den Namen eines Makros ein, das die EinblendenSymbolleiste-Aktion enthält, um die Symbolleiste einzublenden. Stellen Sie dann für die OnDeactivate-Eigenschaft des Formulars oder Berichts die Einstellung auf den Namen eines Makros ein, das die Aktion EinblendenSymbolleiste-Aktion enthält, um die Symbolleiste auszublenden.

Die EinblendenSymbolleiste-Aktion hat dieselbe Wirkung, als würden Sie im Menü Ansicht auf Symbolleisten zeigen, auf Anzeigen klicken, und dann in der Registerkarte Symbolleisten des Dialogfelds Anpassen eine spezifische Symbolleiste aktivieren oder deaktivieren. Mit der EinblendenSymbolleiste-Aktion können Sie bestimmen, ob eine eingebaute Symbolleiste in allen Microsoft Access-Fenstern angezeigt wird oder nur in der Ansicht, in der sie standardmäßig angezeigt wird.

Die eingebauten Symbolleisten können auch nicht angezeigt oder ausgeblendet werden, wenn Sie die AllowBuiltInToolbars-Eigenschaft in Visual Basic auf Falsch (0) eingestellt haben, oder wenn Sie in Visual Basic unter Verwendung der SetOption-Methode die Option Eingebaute Symbolleisten zulassen auf Falsch eingestellt haben.

Um die EinblendenSymbolleiste-Aktion in Visual Basic auszuführen, verwenden Sie die ShowToolbar-Methode des DoCmd-Objekts.


ÖffnenModul-Aktion

Mit Hilfe der ÖffnenModul-Aktion können Sie ein angegebenes Visual Basic-Modul so öffnen, daß eine bestimmte Prozedur angezeigt wird. Hierbei kann es sich um eine Sub-Prozedur, eine Function-Prozedur oder eine Ereignisprozedur handeln.

Einstellung

Die ÖffnenModul-Aktion verwendet die folgenden Argumente.

Aktionsargument	Beschreibung
Modulname	Name des zu öffnenden Moduls. Lassen Sie dieses Feld leer, wenn Sie alle Standardmodule in der Datenbank nach einer bestimmten Prozedur durchsuchen und das betreffende Modul so öffnen möchten, daß diese Prozedur angezeigt wird.
	Wenn Sie ein Makro, das die ÖffnenModul-Aktion enthält, in einer Bibliotheksdatenbank ausführen, sucht das Modul mit dem angegebenen Namen zuerst in der Bibliotheksdatenbank und dann in der aktuellen Datenbank.
Prozedurname	Name der Prozedur, an der das Modul geöffnet werden soll. Wenn Sie dieses Feld leer lassen, wird das Modul geöffnet und dessen Deklarationsbereich angezeigt.
Anmerkung   Für mindestens eines der Argumente Modulname oder Prozedurname müssen Sie einen gültigen Namen eingeben.

Hinweis

Verwenden Sie diese Aktion zum Öffnen einer Ereignisprozedur, indem Sie die Ereignisprozedur im Argument Modulname und im Argument Prozedurname angeben. Wenn Sie im Formular Bestellungen z.B. die Click-Ereignisprozedur der Schaltfläche RechnungDrucken öffnen möchten, stellen Sie das Argument Modulname auf Form.Bestellungen und das Argument Prozedurname auf RechnungDrucken_Click ein. Damit Sie die Ereignisprozedur eines Formulars oder Berichts anzeigen können, muß das Formular oder der Bericht geöffnet sein.

Analog müssen Sie zum Öffnen einer Prozedur in einem Klassenmodul den Modulnamen angeben, das Klassenmodul braucht jedoch nicht geöffnet zu sein.

Damit Sie eine private Prozedur öffnen können, muß das Modul, das die Prozedur enthält, geöffnet sein.

Diese Aktion hat dieselbe Wirkung wie das Markieren eines Moduls im Datenbankfenster und das anschließende Klicken auf die Schaltfläche Entwurf. Mit Hilfe dieser Aktion können Sie auch einen Prozedurnamen angeben und die Standardmodule in einer Datenbank nach Prozeduren durchsuchen.

Tip   Sie können ein Modul im Datenbankfenster markieren und es in eine Makro-Aktionszeile ziehen. Dadurch wird automatisch eine ÖffnenModul-Aktion erstellt, die das Modul öffnet und dessen Deklarationsbereich anzeigt.

Um die ÖffnenModul-Aktion in Visual Basic auszuführen, verwenden Sie die OpenModule-Methode des DoCmd-Objekts.


Speichern-Aktion

Sie können die Aktion Speichern verwenden, um das angegebene Microsoft Access-Objekt oder, falls kein Objekt angegeben wurde, das aktive Objekt zu speichern. Sie können das aktive Objekt in bestimmten Fällen auch unter einem neuen Namen speichern (diese Funktion entspricht dem Befehl Speichern unter im Menü Datei).

Einstellung

Die Aktion Speichern verwendet die folgenden Argumente.

Aktionsargument	Beschreibung
Objekttyp	Der Typ des Objekts, das Sie speichern möchten. Klicken Sie im Bereich Aktionsargumente des Makrofensters im Feld Objekttyp auf Tabelle, Abfrage, Formular, Bericht, Makro oder Modul. Um das aktive Objekt auszuwählen, lassen Sie dieses Argument leer. Wenn Sie einen Objekttyp in diesem Argument auswählen, wählen Sie im Argument Objektname einen vorhandenen Objektnamen aus.
Objektname	Der Name des zu speichernden Objekts. Das Feld Objektname zeigt alle in der Datenbank vorhandenen Objekte des im Argument Objekttyp ausgewählten Typs an. Wenn Sie das Argument Objekttyp leer lassen, können Sie dieses Argument ebenfalls leer lassen, um das aktive Objekt zu speichern, oder Sie können in bestimmten Fällen einen neuen Namen eingeben, um das aktive Objekt unter diesem Namen zu speichern. Falls Sie einen neuen Namen eingeben, befolgen Sie die Standardregeln zur Benennung von Microsoft Access-Objekten.
Hinweis

Die Aktion Speichern funktioniert bei allen Datenbankobjekten, die der Benutzer explizit öffnen und speichern kann. Das betreffende Objekt muß geöffnet sein, damit die Aktion Speichern überhaupt eine Auswirkung hat. Die Aktion hat die gleiche Wirkung wie das Auswählen und anschließende Speichern eines Objekts, indem Sie im Menü Datei auf Speichern oder in der Symbolleiste auf Speichern  [image]  klicken. Wenn Sie das Argument Objekttyp leer lassen und für das Argument Objektname einen neuen Namen eingeben, hat dies die gleiche Wirkung wie das Klicken auf Speichern unter/Exportieren im Menü Datei mit anschließender Eingabe eines neuen Namens für das aktive Objekt. Mit Hilfe der Aktion Speichern können Sie ein Objekt aus einem Makro heraus zum Speichern angeben und den Befehl Speichern unter ausführen.

Anmerkung   Sie können die Aktion Speichern nicht verwenden, um die folgenden Elemente unter einem neuen Namen zu speichern:

•	Ein Formular in der Formularansicht oder Datenblattansicht.

•	Einen Bericht in der Seitenansicht.

•	Ein Modul.

Die Aktion Speichern speichert das angegebene bzw. aktive Objekt immer in der Datenbank, in der das Objekt erstellt wurde. Dies gilt auch dann, wenn das Makro, zu dem die Aktion gehört, nicht in der aktuellen Datenbank, sondern in einer Bibliotheksdatenbank ausgeführt wird.

Falls Sie das aktive Objekt unter einem neuen Namen speichern möchten, der Name jedoch bereits für ein vorhandenes Objekt des gleichen Typs verwendet wird, werden Sie in einem Dialogfeld gefragt, ob Sie das vorhandene Objekt überschreiben möchten. Falls Sie das Argument Warnmeldungen An der Aktion Warnmeldungen auf Nein eingestellt haben, wird das Dialogfeld nicht angezeigt, und das alte Objekt wird automatisch überschrieben.

Wenn Sie die Aktion Speichern in Visual Basic ausführen möchten, verwenden Sie die Methode Save des DoCmd-Objekts.


SetzenMenüelement-Aktion

Sie können die Aktion SetzenMenüelement verwenden, um für das aktive Fenster den Status der Menüelemente (Aktiviert, Deaktiviert, Mit Häkchen, Ohne Häkchen) auf der benutzerdefinierten Menüleiste oder der globalen Menüleiste festzulegen.

Anmerkung   Die Aktion SetzenMenüelement funktioniert nur mit benutzerdefinierten und globalen Menüleisten, die mit Menüleistenmakros erstellt wurden. Die Aktion SetzenMenüelement ist in dieser Microsoft Access-Version nur wegen der Kompatibilität mit früheren Versionen vorhanden. Sie funktioniert nicht im Zusammenhang mit der neuen Symbolleisten-Funktionalität. Sie können jedoch die Eigenschaften Enabled und State in Visual Basic verwenden, um Elemente in den neuen Menüleisten, Symbolleisten und Kontextmenüs zu aktivieren und deaktivieren bzw. mit Häkchen zu versehen oder das Häkchen zu entfernen.

Einstellung

Die Aktion SetzenMenüelement verwendet die folgenden Argumente.

Aktionsargument	Beschreibung
Menüindex	Der Index des Menüs mit dem Befehl, dessen Status Sie festlegen möchten. Geben Sie einen Wert vom Typ Integer, beginnend bei 0, für den Index des gewünschten Menüs in der benutzerdefinierten oder globalen Menüleiste für das aktive Fenster ein. Geben Sie den Indexwert im Feld Menüindex im Abschnitt Aktionsargument des Makrofensters ein. Der Index ist relativ zu der Position, die das Menü im Menüleistenmakro für die benutzerdefinierte bzw. globale Menüleiste einnimmt (die Position der Aktion HinzufügenMenü im Menüleistenmakro, beginnend bei 0). Die Anzeige der Menüleiste kann geringfügig anders aussehen, da Sie bedingte Ausdrücke im Menüleistenmakro verwenden können, um benutzerdefinierte Menübefehle aus- oder einzublenden. Dieses Argument ist erforderlich. Falls Sie ein Menü mit diesem Argument auswählen und die Argumente Befehlsindex und Unterbefehlsindex leer lassen, können Sie den Menünamen selbst aktivieren oder deaktivieren. Sie können einen Menünamen jedoch nicht mit Häkchen versehen oder das Häkchen entfernen. (Microsoft Access ignoriert die Einstellungen Mit Häkchen und Ohne Häkchen für das Argument Kennzeichen für Menünamen).
Befehlsindex	Der Index des Befehls, dessen Status Sie festlegen möchten. Geben Sie einen Wert vom Typ Integer, beginnend bei 0, für den Index des gewünschten Befehls des Menüs ein, das mit dem Argument Menüindex ausgewählt wurde. Der Index ist relativ zu der Position, die der Befehl in der Makrogruppe einnimmt, die das ausgewählte Menü für die benutzerdefinierte oder globale Menüleiste definiert (die Position des Makros dieses Befehls in der Makrogruppe, beginnend bei 0). Die Anzeige des Menüs kann geringfügig anders aussehen, da Sie bedingte Ausdrücke in der Makrogruppe des Menüs verwenden können, um benutzerdefinierte Menübefehle aus- oder einzublenden.
Unterbefehlsindex	Der Index des Unterbefehls, dessen Status Sie festlegen möchten. Dieser wird nur angewendet, wenn der gewünschte Befehl ein Untermenü hat. Geben Sie einen Wert vom Typ Integer, beginnend bei 0, für den Index des gewünschten Unterbefehls des Untermenüs ein, das mit dem Argument Befehlsindex ausgewählt wurde. Der Index ist relativ zur Position des Unterbefehls in der Makrogruppe, die das ausgewählte Untermenü für die benutzerdefinierte oder globale Menüleiste definiert (die Position des Makros dieses Unterbefehls in der Makrogruppe, beginnend bei 0).
Kennzeichen	Der Status, auf den Sie den Befehl oder Unterbefehl einstellen möchten. Klicken Sie auf Deaktiviert, um den Befehl zu deaktivieren (er wird dann abgeblendet angezeigt), auf Aktiviert, um ihn zu aktivieren, auf Mit Häkchen, um den Befehl mit einem Häkchen zu versehen (zeigt in der Regel an, daß er ausgewählt oder eingeschaltet wurde), oder auf Ohne Häkchen, um das Häkchen zu entfernen. Die Standardeinstellung ist Aktiviert.
Hinweis

Die Aktion SetzenMenüelement funktioniert nur für die benutzerdefinierte oder die globale Menüleiste des aktiven Fensters. Sie funktioniert nicht für die eingebauten Microsoft Access-Menüleisten. Falls das aktive Fenster keine benutzerdefinierte oder globale Menüleiste enthält, wird beim Ausführen eines Makros, das die Aktion SetzenMenüelement enthält, ein Laufzeitfehler verursacht. Falls Sie eine globale Menüleiste definiert haben, beachten Sie, daß diese die eingebaute Menüleiste in allen Microsoft Access-Fenstern ersetzt, es sei denn, Sie haben eine benutzerdefinierte Menüleiste für ein Formular oder einen Bericht hinzugefügt.

Sie können mit dieser Aktion den Status von Menübefehlen und Unterbefehlen festlegen, jedoch nicht den Status von Unterbefehlen der Unterbefehle.

Um die Aktion SetzenMenüelement in Visual Basic auszuführen, verwenden Sie die Methode SetMenuItem des Objekts DoCmd.


AusführenBefehl-Aktion

Mit Hilfe der Aktion AusführenBefehl können Sie einen eingebauten Microsoft Access-Befehl ausführen. Der Befehl kann in einer Microsoft Access-Menüleiste oder -Symbolleiste oder in einem Microsoft Access-Kontextmenü angezeigt werden.

Einstellung

Die Aktion AusführenBefehl verwendet das folgende Aktionsargument.

Aktionsargument	Beschreibung
Befehl	Name des Befehls, den Sie ausführen möchten. Das Feld Befehl zeigt die in Microsoft Access verfügbaren eingebauten Befehle in alphabetischer Reihenfolge an. Dieses Argument ist notwendig.
Hinweis

In Microsoft Access 97 ersetzt die Aktion AusführenBefehl die Aktion AusführenMenübefehl. Wenn Sie ein Makro aus einer früheren Version von Microsoft Access öffnen und speichern, das eine Aktion AusführenMenübefehl enthält, werden die Aktion und ihre Aktionsargumente automatisch in die entsprechende Aktion AusführenBefehl konvertiert. Die Aktion AusführenMenübefehl wird in Microsoft Access 97 in der Liste der Aktionen im Makrofenster nicht mehr angezeigt.

Mit Hilfe der Aktion AusführenBefehl können Sie einen Microsoft Access-Befehl von einer benutzerdefinierten Menüleiste, einer globalen Menüleiste, einem benutzerdefinierten Kontextmenü oder einem globalen Kontextmenü aus ausführen. Im allgemeinen ist es jedoch einfacher, das Dialogfeld Anpassen zum Hinzufügen von Microsoft Access-Befehlen zu benutzerdefinierten Menüs und Kontextmenüs zu verwenden. Dieses ist verfügbar, wenn Sie im Menü Ansicht auf Symbolleisten zeigen und dann auf Anpassen klicken. Die Registerkarte Befehle im Dialogfeld Anpassen listet die eingebauten Microsoft Access-Befehle auf, die in den Microsoft Access-Symbolleisten und -Menüs angezeigt werden.

Sie können die Aktion AusführenBefehl in einem Makro mit bedingten Ausdrücken verwenden, um einen Befehl in Abhängigkeit von bestimmten Bedingungen auszuführen.

Anmerkung   Das Microsoft Access 97-Menü Datei zeigt die zuletzt verwendeten Datenbanken an. Sie können statt auf Datenbank öffnen direkt auf eine dieser Datenbanken klicken. Diese Datenbanken werden im Dropdown-Listenfeld für das Argument Befehl nicht angezeigt, und sind auch nicht bei Verwendung der Aktion AusführenBefehl in einem Makro verfügbar.

Wenn Sie eine Microsoft Access-Datenbank von einer früheren Version von Microsoft Access konvertieren, sind einige Befehle unter Umständen nicht mehr verfügbar. Ein Befehl kann umbenannt oder in ein anderes Menü verschoben worden sein, oder er steht in Microsoft Access 97 nicht mehr zur Verfügung. Die Aktionen vom Typ AusführenMenübefehl für solche Befehle können nicht in Aktionen vom Typ AusführenBefehl konvertiert werden. Wenn Sie das Makro öffnen, zeigt Microsoft Access für solche Befehle eine Aktion AusführenBefehl mit einem leeren Argument Befehl an. Bearbeiten Sie das Makro, indem Sie ein gültiges Befehlsargument eingeben, oder löschen Sie die Aktion AusführenBefehl. Ein Liste von Befehlen früherer Microsoft Access-Versionen, die in Microsoft Access 97 nicht mehr zur Verfügung stehen, finden Sie unter Befehle der Aktion AusführenMenübefehl in Verbindung mit der Aktion AusführenBefehl nicht verfügbar.

Um die Aktion AusführenBefehl in Visual Basic auszuführen, verwenden Sie die Methode RunCommand des Objekts Application (entspricht der Methode RunCommand des Objekts DoCmd).


Befehle der AusführenMenübefehl-Aktion in Verbindung mit der AusführenBefehl-Aktion nicht verfügbar

Wenn Sie eine Microsoft Access-Datenbank von einer früheren Microsoft Access-Version konvertieren, stehen einige Befehle unter Umständen nicht mehr zur Verfügung. Ein Befehl kann umbenannt oder in ein anderes Menü verschoben worden sein, oder er steht in Microsoft Access 97 nicht mehr zur Verfügung. Die Aktionen vom Typ AusführenMenübefehl für solche Befehle können nicht in Aktionen vom Typ AusführenBefehl konvertiert werden.

Alle Befehle, die in Microsoft Access 95 bei Verwendung der Aktion AusführenMenübefehl zur Verfügung standen, sind in Microsoft Access 97 bei Verwendung der Aktion AusführenBefehl verfügbar.

Die folgenden Menübefehle standen in Microsoft Access 2.0 bei Verwendung der Aktion AusführenMenübefehl zur Verfügung, sind in Microsoft Access 97 jedoch bei Verwendung der Aktion AusführenBefehl nicht mehr verfügbar.

Ansicht	Menüname	Menübefehl	Alternative
Datenbank, Tabellenentwurf, Abfrageentwurf, Makroentwurf, Systembeziehungen	Datei	Definition drucken	Befehl nicht verfügbar. Verwenden Sie den Dokumentierer. Dieser ist verfügbar, wenn Sie im Menü Extras auf Analyse zeigen und dann auf Dokumentierer klicken. Es werden Informationen zu all diesen Datenbankobjekten angezeigt. Wenn ein Makro geöffnet oder im Datenbankfenster ausgewählt wurde, können Sie alternativ auch im Menü Datei auf Seitenansicht klicken, um Informationen über das Makro anzuzeigen.
Datenbank	Zugriffsrechte	Zugriffsrechte drucken	Befehl nicht verfügbar. Zum Anzeigen und Einstellen von Informationen über Zugriffsrechte für Ihre Datenbank verwenden Sie die Unterbefehle des Befehls Zugriffsrechte im Menü Extras. Das Dialogfeld Benutzer- und Gruppenkonten ist verfügbar, wenn Sie im Menü Extras auf Zugriffsrechte zeigen und dann auf Benutzer- und Gruppenkonten klicken. Über die Schaltfläche Benutzer und Gruppen drucken in diesem Dialogfeld können Sie Informationen zu den Zugriffsrechten drucken.
Datenbank	Datei	Import-/Exporteinstellungen	Befehl nicht verfügbar. Verwenden Sie den Textimport-Assistenten, den Textverknüpfungs-Assistenten oder den Textexport-Assistenten. Klicken Sie hierzu im Menü Datei auf Externe Daten oder auf Speichern unter/Exportieren, um Import-/Exportspezifikationen für Textdateien zu erstellen.
Abfrageentwurf	Abfrage	Tabellen verknüpfen	Befehl nicht verfügbar.
Formular-/Berichtsentwurf	Ansicht	Palette	Befehl nicht verfügbar. Verwenden Sie eine der Palettenschaltflächen in der Format-Symbolleiste, wie z.B. Füll-/Hintergrundfarbe, Schrift-/Vordergrundfarbe oder Linien-/Rahmenfarbe.
Modulentwurf	Ausführen	'Command$'-Funktion ändern	Befehl nicht verfügbar. Verwenden Sie das Feld Befehlszeilen-Argumente auf der Registerkarte Weitere des Dialogfelds Optionen. Dieses ist durch Klicken auf Optionen im Menü Extras verfügbar.
Modulentwurf	Ansicht	Nächste Prozedur	Befehl nicht verfügbar. Verwenden Sie Maus oder Tastatur zur Arbeit im Modulfenster.
Modulentwurf	Ansicht	Vorige Prozedur	Befehl nicht verfügbar. Verwenden Sie Maus oder Tastatur zur Arbeit im Modulfenster.
Tabellenentwurf	?	Ratgeber	Befehl nicht verfügbar. In allen anderen Ansichten ruft dieser Befehl jetzt den Hilfe-Assistenten auf.
Tabellenentwurf	?	Software Service	Befehl nicht verfügbar. In allen anderen Ansichten ruft dieser Befehl jetzt den Hilfe-Assistenten auf.
Anmerkung   In Microsoft Access, Version 2.0, konnten Sie die Aktion AusführenMenübefehl in der Makrogruppe verwenden, durch die die Befehle für eine benutzerdefinierte Menüleiste definiert wurden, um dem Menü Datei in der benutzerdefinierten Menüleiste den Befehl Add-Ins hinzuzufügen. Microsoft Access fügte diesem Menüeintrag dann die entsprechenden Untermenüeinträge hinzu. Analog konnten Sie in Microsoft Access 95 mit Hilfe der Aktion AusführenMenübefehl den Befehl Add-Ins dem Menü Extras einer benutzerdefinierten Menüleiste hinzufügen, wodurch Microsoft Access die Untermenüeinträge für Sie hinzufügte. In keiner der beiden Versionen konnten Sie den Befehl Add-Ins direkt über die Aktion AusführenMenübefehl ausführen. In Microsoft Access 97 können Sie den Befehl Add-Ins vom Menü Extras auf der Menüleiste auf eine beliebige Symbolleiste ziehen, solange das Dialogfeld Anpassen geöffnet ist. Es gibt keine Einstellung der Aktion AusführenBefehl, die dem Befehl Add-Ins entspricht.


Verwenden alphabetisch sortierter Konstanten in Microsoft Access 97

In Microsoft Access 97 wurden eine Reihe eingebauter Konstanten hinzugefügt oder geändert, mit dem Ziel, Listen alphabetisch sortierter Konstanten zu erstellen, die im Modulfenster für die Argumente verschiedener Microsoft Access-Methoden, -Funktionen und -Eigenschaften oder als Einstellung verschiedener Microsoft Access-Eigenschaften unter Elemente automatisch auflisten aufgelistet werden. Sie können die geeignete Konstante aus der Liste im Modulfenster auswählen. Dies hat den Vorteil, daß Sie sich die Konstante nicht merken oder im entsprechenden Hilfethema nachschlagen müssen.

Die folgenden Informationen sind für alphabetisch sortierte Konstanten gültig:

•	Die Menge alphabetisch sortierter Konstanten für jedes Methoden-, Funktions- oder Eigenschaftenargument trägt einen Namen, der in der Syntaxzeile für die Methode, Funktion oder Eigenschaft im Modulfenster angezeigt wird, wenn die Option Automatische Direkthilfe auf der Registerkarte Module des Dialogfelds Optionen aktiviert wurde. Das Dialogfeld ist durch Klicken auf Optionen im Menü Extras verfügbar. (Für Eigenschafteneinstellungen wird der Name nicht angezeigt, sondern nur die Liste von Konstanten.) Die Syntaxzeile für die Methode OpenForm des Objekts DoCmd zeigt für das Argument Ansicht der Methode z.B. folgendes an: [View as AcFormView = acNormal]. AcFormView ist der Name dieser Menge alphabetisch sortierter Konstanten, acNormal ist die Standardeinstellung für das Argument. Der Objektkatalog listet ferner die Namen der Mengen alphabetisch sortierter Konstanten im Feld Klassen auf und listet im Feld Elemente von die eingebauten Konstanten in jeder dieser Mengen auf.

•	Haben sich Konstantennamen geändert, können nach wie vor die alten Namen verwendet werden. Eine der eingebauten Konstanten für das Argument Speichern der Methode Close des Objekts DoCmd hieß z.B. acPrompt. Der Name lautet nun acSavePrompt. acPrompt kann jedoch weiterhin verwendet werden.

•	In einer Reihe von Fällen in früheren Versionen von Microsoft Access konnten Sie eine Argumenteinstellung leer lassen; Microsoft Access führte dann die Standardaktion für dieses Argument aus. So schloß Microsoft Access z.B. das aktive Fenster, wenn Sie für das Argument Objekttyp (und Objektname) der Methode Close keine Angabe machten. Für die neuen Mengen alphabetischer sortierter Konstanten wurde die Blankoeinstellung durch eine neue Standardkonstante ersetzt. Das Argument Objekttyp der Methode Close hat jetzt z.B. die neue Standardkonstante acDefault. Das Einstellen dieses Arguments auf die neue Konstante hat dieselbe Wirkung wie fehlende Angaben zum Argument. Darüber hinaus können Sie für solche Argumente weiterhin keine Angaben machen. Microsoft Access geht dann von der neuen Standardkonstante als Einstellung aus.

•	Hierzu gibt es eine Ausnahme. Wenn Sie Visual Basic-Code von früheren Versionen von Visual Basic in Microsoft Access über OLE-Automatisierung ausführen, erzeugen leer gelassene Argumente bei Argumenten, für die die neuen Standardkonstanten vorliegen, einen Fehler. Dieses Problem tritt bei altem Visual Basic für Applikationen- oder Visual Basic-Code, der direkt in Microsoft Access ausgeführt wird, nicht auf.

Die folgende Tabelle listet alle eingebauten Konstanten auf, die hinzugefügt oder geändert wurden, um in Microsoft Access 97 Listen alphabetisch sortierter Konstanten zu erstellen.

Sprachelement	Argument	Alte Konstante	Neue Konstante
Close-Methode	Speichern	acPrompt	acSavePrompt
Close-Methode	Objekttyp	(keine)	acDefault
CopyObject-Methode	Objekttyp (Herkunft)	(keine)	acDefault
DeleteObject-Methode	Objekttyp	(keine)	acDefault
GoToRecord-Methode	Objekttyp	acTable	acDataTable
GoToRecord-Methode	Objekttyp	acQuery	acDataQuery
GoToRecord-Methode	Objekttyp	acForm	acDataForm
GoToRecord-Methode	Objekttyp	(keine)	acActiveDataObject
OpenForm-Methode	Datenmodus	acAdd	acFormAdd
OpenForm-Methode	Datenmodus	acEdit	acFormEdit
OpenForm-Methode	Datenmodus	acReadOnly	acFormReadOnly
OpenForm-Methode	Datenmodus	(keine)	acFormPropertySettings
OpenForm-Methode	Fenstermodus	acNormal	acWindowNormal
OpenQuery-Methode	Ansicht	acNormal	acViewNormal
OpenQuery-Methode	Ansicht	acDesign	acViewDesign
OpenQuery-Methode	Ansicht	acPreview	acViewPreview
OpenReport-Methode	Ansicht	acNormal	acViewNormal
OpenReport-Methode	Ansicht	acDesign	acViewDesign
OpenReport-Methode	Ansicht	acPreview	acViewPreview
OpenTable-Methode	Ansicht	acNormal	acViewNormal
OpenTable-Methode	Ansicht	acDesign	acViewDesign
OpenTable-Methode	Ansicht	acPreview	acViewPreview
OutputTo-Methode	Objekttyp	acTable	acOutputTable
OutputTo-Methode	Objekttyp	acQuery	acOutputQuery
OutputTo-Methode	Objekttyp	acForm	acOutputForm
OutputTo-Methode	Objekttyp	acReport	acOutputReport
OutputTo-Methode	Objekttyp	acModule	acOutputModule
Quit-Methode (DoCmd-Objekt)	Option	acPrompt	acQuitPrompt
Quit-Methode (DoCmd-Objekt)	Option	acSaveYes oder acSave	acQuitSaveAll
Quit-Methode (DoCmd-Objekt)	Option	acSaveNo oder acExit	acQuitSaveNone
Quit-Methode (Application-Objekt)	Option	acPrompt	acQuitPrompt
Quit-Methode (Application-Objekt)	Option	acSaveYes oder acSave	acQuitSaveAll
Quit-Methode (Application-Objekt)	Option	acExit	acQuitSaveNone
Rename-Methode	Objekttyp	(keine)	acDefault
RepaintObject-Methode	Objekttyp	(keine)	acDefault
Save-Methode	Objekttyp	(keine)	acDefault
SendObject-Methode	Objekttyp	acTable	acSendTable
SendObject-Methode	Objekttyp	acQuery	acSendQuery
SendObject-Methode	Objekttyp	acForm	acSendForm
SendObject-Methode	Objekttyp	acReport	acSendReport
SendObject-Methode	Objekttyp	acModule	acSendModule
SendObject-Methode	Objekttyp	(keine)	acSendNoObject
TransferSpreadsheet- Methode	Dateiformat	(keine)	acSpreadsheetTypeExcel3
TransferSpreadsheet- Methode	Dateiformat	(keine)	acSpreadsheetTypeExcel4
TransferSpreadsheet- Methode	Dateiformat	(keine)	acSpreadsheetTypeExcel5
TransferSpreadsheet- Methode	Dateiformat	(keine)	acSpreadsheetTypeExcel7
TransferSpreadsheet- Methode	Dateiformat	(keine)	acSpreadsheetTypeExcel97
TransferSpreadsheet- Methode	Dateiformat	(keine)	acSpreadsheetTypeLotusWK1
TransferSpreadsheet- Methode	Dateiformat	(keine)	acSpreadsheetTypeLotusWK3
TransferSpreadsheet- Methode	Dateiformat	(keine)	acSpreadsheetTypeLotusWJ2 - nur japanische Version
TransferSpreadsheet- Methode	Dateiformat	(keine)	acSpreadsheetTypeLotusWK4
TransferText-Methode	Transfertyp	(keine)	acImportHTML
TransferText-Methode	Transfertyp	(keine)	acExportHTML
TransferText-Methode	Transfertyp	(keine)	acLinkHTML
HyperlinkPart-Funktion	Teil	(keine)	acAddress
HyperlinkPart-Funktion	Teil	(keine)	acDisplayedValue
HyperlinkPart-Funktion	Teil	(keine)	acDisplayName
HyperlinkPart-Funktion	Teil	(keine)	acSubAddress
Type-Eigenschaft	[Einstellung]	(keine)	acClassModule
Type-Eigenschaft	[Einstellung]	(keine)	acStandardModule


Benutzerdefinierte Methoden und Eigenschaften

Sie können mit Hilfe eines Klassenmoduls eine Definition für ein neues benutzerdefiniertes Objekt erstellen. Wenn Sie eine neue Instanz einer Klasse erstellen, erstellen Sie ein neues Objekt und geben einen Verweis auf das Objekt zurück.

Jede innerhalb des Klassenmoduls definierte öffentliche Prozedur wird eine Methode des benutzerdefinierten Objekts. Die Anweisung Sub definiert eine Methode, die keinen Wert zurückgibt. Die Anweisung Function definiert dagegen eine Methode, die einen Wert eines festgelegten Typs zurückgeben kann.

Jede Prozedur Property Let, Property Get und Property Set, die Sie definieren, wird zu einer Eigenschaft des neuen Objekts. Property Get-Prozeduren rufen den Wert einer Eigenschaft ab. Property Let-Prozeduren stellen den Wert einer Nicht-Objekteigenschaft ein. Property Set-Prozeduren stellen den Wert einer Objekteigenschaft ein.

Sie können ein Klassenmodul z.B. verwenden, um eine Schnittstellenschicht zwischen Ihrer Anwendung und der Gruppe von Windows-API (Application Programming Interface = Schnittstelle für die Anwendungsprogrammierung)-Funktionen zu erstellen, die von der Anwendung aufgerufen werden. Hierzu erstellen Sie eine Gruppe einfacher Prozeduren, die wiederum komplexere Prozeduren in einer DLL aufrufen. Wenn Sie eine Instanz dieser Klasse erstellen, werden die erstellten Prozeduren zu Methoden des neuen Objekts. Sie können diese Methoden genau so anwenden wie die Methoden jedes beliebigen Objekts, wobei Sie hier auch die API-Funktionen aufrufen.


Leistungsverbesserungen in der Microsoft Jet-Datenbank-Engine

Die Microsoft Jet-Datenbank-Engine, Version 3.5, enthält die folgenden Verbesserungen im Vergleich zur Jet-Datenbank-Engine, Version 3.0, von Microsoft Access 95.

•	Mit MaxLocksPerFile, einer neuen Einstellung in der Registrierung, können Sie umfangreiche Abfragen auf NetWare und Windows NT-basierten Servern beschleunigen, indem Sie das teilweise Übernehmen einer Transaktion durchsetzen können. Verwenden Sie die DAO-Methode SetOption, um einen neuen Wert für diese Einstellung bereitzustellen. Mit der Methode SetOption können Sie bestimmte Registrierungseinstellungen zur Laufzeit überschreiben, um eine Feinanpassung Ihrer Anwendung auf bestimmte Umgebungen vorzunehmen.

•	Indizierte Spalten zeigen ein günstigeres Mehrbenutzerverhalten in dem Sinn, daß mehr Benutzer indizierte Spalten lesen und aktualisieren können, ohne Sperrungskonflikte mit entsprechenden Fehlermeldungen zu verursachen.

•	Umfangreiche Abfragen werden schneller ausgeführt. Dies liegt daran, daß das Transaktionsverhalten für Anweisungen der Datenmanipulationssprache von SQL (DML-Anweisungen) verbessert wurde und neue Registrierungseinstellungen verfügbar sind, die Transaktionen zur Übernahme zwingen, wenn eine bestimmte Sperrungsschwelle erreicht ist.

•	Abfragen, in deren Kriterien-Anweisungen der Ungleich-Operator (<>) verwendet wird, sind jetzt erheblich schneller.

•	Sequentielle Lesevorgänge werden häufig schneller ausgeführt, da die Jet-Datenbank-Engine jetzt bis zu 64 Kilobyte auf der Festplatte zugleich zuweisen kann.

•	Temporäre Abfragen werden schneller ausgeführt.

•	Das Löschen einer Tabelle wird schneller ausgeführt, wenn Sie die SQL-Anweisungen DROP oder DELETE ohne Prädikat verwenden.

Die Jet-Datenbank-Engine, Version 3.5, enthält die folgenden Verbesserungen im Vergleich zu den Microsoft Jet-Versionen 1.x und 2.0 von Microsoft Access.

•	Eine neue Indexstruktur verringert den von Indizes belegten Speicherplatz und die zum Erstellen von komplexen Indizes benötigte Zeit. Wenn Sie eine Datenbank komprimieren, werden ihre Indizes auf Leistung optimiert. Komprimiere Sie die Datenbank in regelmäßigen Abständen, um die Optimierung sicherzustellen.

•	Indizierte Seiten enthalten keine Lesesperrungen mehr. Daraus resultiert eine Leistungsverbesserung, wenn mehrere Benutzer in einer Mehrbenutzer-Datenbank gleichzeitig mit den gleichen Daten arbeiten.

•	Operationen, die die Anweisung DELETE enthalten, werden schneller ausgeführt. Teile einer Seite können nun auf einmal entfernt werden statt Zeile für Zeile.

•	Der Seitenzuweisungsmechanismus der Jet-Datenbank-Engine wurde dahingehend verbessert, die Wahrscheinlichkeit zu erhöhen, daß Daten der gleichen Tabelle in benachbarten Seiten gespeichert werden. Dadurch hat sich das Read-Ahead-Verhalten (Lesen-im-Voraus-Verhalten) der Jet-Datenbank-Engine verbessert.

•	Die Jet-Datenbank-Engine arbeitet mit parallelen Threads (Multi-Threads). Standardmäßig führt ein Thread Read-Ahead-Operationen, ein anderer Thread Write-Behind-Operationen und ein dritter Thread die Cache-Wartung durch.

•	Implizite Transaktionen sind in der Jet-Datenbank-Engine eingebaut, so daß Sie von der verbesserten Geschwindigkeit von Transaktionen ohne Verwendung der Methoden BeginTrans und CommitTrans in Ihrem Code profitieren können. Wenn Sie die Kontrolle darüber, wann Daten auf den Datenträger geschrieben werden, vollständig behalten möchten, erstellen Sie mit den Methoden BeginTrans und CommitTrans explizite Transaktionen.

•	Die Jet-Datenbank-Engine enthält ein neues Sortierverfahren, das die Sortierleistung verbessert.

•	Die Jet-Datenbank-Engine enthält einen dynamisch konfigurierten Cache-Speicher, der beim Starten aufgrund des verfügbaren Systemspeichers zugewiesen wird. Um das Leistungsverhalten zu verbessern, enthält der Cache-Speicher immer die zuletzt verwendeten Daten.

•	Die Jet-Datenbank-Engine bietet ISAM-Unterstützung für HTML-Dateien, Microsoft Excel 5.0, 7.0 und 8.0 sowie für Textdateien, Lotus 1-2-3 Version 3.0-Arbeitsblätter, Paradox 5.x, dBASE 5.0 und FoxPro 3.0.

Weitere Informationen über den Zugriff auf externe Datenbanken finden Sie in Kapitel 18, "Zugriff auf externe Daten," in Erstellen von Anwendungsprogrammen mit Microsoft Access 97.


Neue Funktionen des Modulfensters für Entwickler

Neu in Microsoft Access 97

Die Registerkarte Weitere des Dialogfelds Optionen (verfügbar durch Klicken auf Optionen im Menü Extras) enthält die neue Optionsgruppe Fehlerbehebung. Diese Gruppe enthält die beiden neuen Optionen Im Klassenmodul anhalten und Bei unbehandelten Fehlern anhalten. Die Option Bei allen Fehlern anhalten, die sich auf der Registerkarte Module des Dialogfelds Optionen von Microsoft Access 95 befand, ist nun in den beiden neuen Optionen in der Optionsgruppe Fehlerbehebung enthalten.

Diese Optionen bestimmen, wie Visual Basic bei Auftreten eines Fehlers in Ihrem Code in den Unterbrechungsmodus geht. Sie beeinflussen das Verhalten von Visual Basic wie folgt:

•	Bei allen Fehlern anhalten: Visual Basic hält sowohl in Standardmodulen als auch in Klassenmodulen bei allen behandelten und unbehandelten Fehlern an. Das Modul, das die fehlerverursachende Prozedur enthält, ist aktiv. Die fehlerverursachende Code-Zeile ist hervorgehoben. Sie können ALT+F8 oder ALT+F5 drücken, um den Code weiter auszuführen oder den Fehler zu überspringen.

•	Im Klassenmodul anhalten: Visual Basic hält sowohl in Klassenmodulen als auch in Standardmodulen bei allen unbehandelten Fehlern an. Tritt ein Fehler innerhalb einer Prozedur in einem Klassenmodul auf, ist das Klassenmodul aktiv und die fehlerverursachende Code-Zeile wird hervorgehoben angezeigt. Sie können ALT+F8 oder ALT+F5 drücken, um den Code weiter auszuführen oder den Fehler zu überspringen. Verwenden Sie diese Option zum Testen von Code in Klassenmodulen.

•	Bei unbehandelten Fehlern anhalten: Visual Basic hält in Standardmodulen bei allen unbehandelten Fehlern an. Tritt ein Fehler in einer Prozedur in einem Klassenmodul auf, hält Visual Basic an der Code-Zeile an, die die Prozedur in dem Klassenmodul aufgerufen hat. Mit dieser Option gehen Sie innerhalb des Klassenmoduls niemals in den Unterbrechungsmodus.

Sie können diese Optionen mit Hilfe der Methode SetOption über Code einstellen. Über die Methode GetOption können Sie ihre Werte zurückgeben.

Das neue Menü Testen enthält zwei neue Befehle sowie einige Befehle, die in Microsoft Access 95 im Menü Ausführen oder im Menü Extras vorhanden sind. Das Menü Testen ist nur in der Modul-Entwurfsansicht verfügbar.

•	Der Befehl Alle Module kompilieren und speichern kompiliert alle Module im Projekt und speichert sie in kompilierter Form.

•	Der Befehl Rücksprung führt den Code in allen verschachtelten Prozeduren aus, beginnend bei der Prozedur, in der der Befehl abgesetzt wurde. Danach wird die Prozedur weiter ausgeführt, die diejenige Prozedur aufgerufen hat, in der der Befehl abgesetzt wurde. Nehmen wir z.B. an, daß Sie die Prozeduren A bis E verschachtelt haben, wobei A die erste Prozedur im Aufrufbaum ist. Wenn Sie den Befehl Rücksprung in B verwenden, ruft B die Prozedur C auf, diese ruft D auf, und diese ruft E auf. B wird vollständig ausgeführt und gibt anschließend die Ausführung an A zurück. Dieser Befehl ist hilfreich, wenn Sie im Modus Einzelschritt in eine Prozedur gelangt sind und sich entschließen, diese nicht vollständig im Modus Einzelschritt auszuführen.

Microsoft Access 97 enthält auch verschiedene neue Optionen zum Schreiben von Code im Modulfenster. Einige Optionen werden in den folgenden Abschnitten beschrieben. Um diese Optionen einzustellen, klicken Sie im Menü Extras auf Optionen, und klicken Sie dann auf die Registerkarte Modul.

•	Die Option Elemente automatisch auflisten stellt eine Liste der relevanten Objekte, Eigenschaften und Methoden bereit, während Sie codieren. Wenn Sie den Namen eines Objekts eingeben, unterstützt Sie Microsoft Access beim Vervollständigen der Anweisung, indem es eine Liste der Objekte, Eigenschaften und Methoden anzeigt, die auf den Objektnamen folgen können. Um die Anweisung zu vervollständigen, klicken Sie auf ein Element in der Liste, oder geben Sie den Code weiter manuell ein. Im letzteren Fall wird in der Liste jeweils das Element markiert, das am meisten mit der bisherigen Eingabe übereinstimmt. Wenn Sie das markierte Element in der Liste auswählen möchten, drücken Sie STRG+EINGABE oder TAB. Um das markierte Element einzugeben und den Cursor in die nächste Zeile zu bewegen, drücken Sie EINGABE. Um die Liste zu schließen, drücken Sie ESC.

•	Die Option Automatische Direkthilfe liefert Syntaxinformationen während Ihrer Eingaben im Modulfenster. Wenn Sie einen Prozedur- oder Modulnamen und dahinter ein Leerzeichen oder eine öffnende runde Klammer eingeben, wird ein Tip unterhalb der Codezeile angezeigt, die Sie gerade schreiben. Der Tip liefert Syntaxinformationen über die Prozedur und die erforderlichen Argumente.

•	Die Option Automatische Daten-Tips liefert den Wert einer Variablen oder eines Ausdrucks, während sich der Code im Unterbrechungsmodus befindet. Markieren Sie die Variable oder den Ausdruck, den Sie überprüfen möchten, und bewegen Sie die Maus darauf, um den aktuellen Wert anzuzeigen.

Neu in Microsoft Access 95

Das Modulfenster unterstützt eine vollständig anpaßbare, farbcodierte Syntax und Textformatierungsoptionen, die Sie im Dialogfeld Optionen in der Registerkarte Modul (Befehl Extras, Menü Optionen) einstellen können. Das Modulfenster unterstützt auch ein Zeilenfortsetzungszeichen, mit dessen Hilfe Sie Code über einen Zeilenumbruch hinweg fortsetzen können. Das Zeilenfortsetzungszeichen besteht aus einem Leerzeichen gefolgt von einem Unterstrich (_), wie das folgende Beispiel zeigt:

MsgBox "Sie werden gleich 10 Datensätze löschen.  " _

& "Möchten Sie fortfahren?"

Sie können verschiedene andere Umgebungsoptionen in der Registerkarte Modul des Dialogfelds Optionen einstellen. Sie können ein ganzes Modul anzeigen, indem Sie das Kontrollkästchen Volle Modulansicht aktivieren, oder Sie können dieses Kontrollkästchen deaktivieren, um jeweils nur eine Prozedur anzusehen. (Durch Klicken auf die Schaltflächen in der linken unteren Ecke des Modulfensters können Sie diese Option ebenfalls umschalten.) Sie können auch andere Code-Optionen einstellen, wie z.B. Bei allen Fehlern anhalten und Variablen-Deklaration erforderlich. Befehlszeilenargumente und bedingte Kompilierungsargumente können Sie in der Registerkarte Modul des Dialogfelds Optionen einstellen.

Zum Anzeigen von Informationen zu einem bestimmten Element klicken Sie zuerst auf das Fragezeichen   [image]  in der oberen rechten Ecke des Dialogfelds und dann auf das Element.

Eine Reihe von Funktionen im Modulfenster unterstützen Sie bei der Fehlersuche in Ihrem Code (Debugging). Das Dialogfeld Aktuellen Wert anzeigen zeigt den Wert der markierten Variablen oder des markierten Ausdrucks direkt an. Markieren Sie eine Variable oder einen Ausdruck, und drücken Sie UMSCHALT+F9, oder klicken Sie im Menü Testen auf Aktuellen Wert anzeigen.

Die beiden Befehle Nächste Anweisung festlegen und Nächste Anweisung anzeigen sind im Menü Testen verfügbar, wenn Ihr Code angehalten wurde. Mit dem Befehl Nächste Anweisung festlegen können Sie den Ausführungspunkt zu einer anderen Anweisung bewegen, rasch bestimmte Code-Bereiche überspringen oder im Code zurückgehen und bestimmte Anweisungen erneut ausführen. Der Befehl Nächste Anweisung anzeigen zeigt die nächste Anweisung in dem Code, der gerade ausgeführt wird, an.

Die Entwicklungsumgebung stellt die Schaltflächen Beenden, Neu initialisieren und Vorwärts sowie die entsprechenden Befehle im Menü Ausführen bereit. Wenn Sie die Ausführung von Code durch Klicken auf Beenden  [image]  in der Symbolleiste oder auf die Schaltfläche Beenden im Dialogfeld für einen Laufzeitfehler beenden, behalten Variablen auf Modulebene ihre Werte bei. Um Variablen auf Modulebene zurückzusetzen, klicken Sie in der Symbolleiste auf Neu initialisieren  [image].


Neue Funktionen des Objektkatalogs für Entwickler

Der Objektkatalog ist ein Werkzeug, mit dem Sie Elemente der Klassenbibliothek einer ActiveX-Komponente ansehen können. Um den Objektkatalog anzuzeigen, öffnen Sie ein Modul und klicken in der Symbolleiste auf Objektkatalog  [image], oder klicken Sie im Menü Ansicht auf Objektkatalog. Sie können den Objektkatalog auch öffnen, indem Sie in der Modul-Entwurfsansicht F2 drücken.

Die Informationen in der Klassenbibliothek bestehen aus Definitionen von Objekten und ihren Eigenschaften, Methoden, Ereignissen und Konstanten sowie den zugehörigen Funktionen und Anweisungen. Die Informationen sind in Klassenmodulen und Standardmodulen organisiert. Klassenmodule und Standardmodule werden im Feld Klassen aufgelistet. Sie können die zugehörigen Methoden, Eigenschaften, Ereignisse und Konstanten im Feld Elemente von ansehen.

Der Objektkatalog in Microsoft Access 97 bietet die folgenden neuen Features:

•	Das spezielle Element <globals> wird als erster Eintrag im Feld Klassen angezeigt. Dieser Eintrag ist für jede Bibliothek im Objektkatalog der Eintrag auf der obersten Ebene. Wenn Sie im Feld Klassen den Eintrag <globals> wählen, zeigt das Feld Elemente von alle Mitglieder (auch Konstanten) an, auf die global zugegriffen werden kann.

•	Sie können für jede Klasse und jedes Mitglied eine referenzierte Klassenbibliothek suchen, indem Sie den Suchbegriff in das Feld Suchtext eingeben und dann in der Objektkatalog-Symbolleiste auf Suchen  [image]  klicken.

•	Sie können aus dem Objektkatalog heraus Code in ein Modul einfügen, indem Sie eine Methode oder Eigenschaft auswählen, auf In Zwischenablage kopieren  [image]  in der Objektkatalog-Symbolleiste klicken, und dann in das Modulfenster wechseln und in der Visual Basic-Symbolleiste auf Einfügen  [image] klicken.

•	Sie erhalten im Objektkatalog Hilfe zu einem Objekt, einer Methode, einer Eigenschaft oder einem Ereignis, indem Sie im Feld Mitglied den Namen auswählen und dann in der Objektkatalog-Symbolleiste auf Hilfe  [image]  klicken oder F1 drücken.

•	Um die Definition einer benutzerdefinierten Prozedur anzusehen, wählen Sie zuerst den Namen des Projekts, das die Prozedur enthält, in der Liste Projekt/Bibliothek aus. Wählen Sie dann den Namen des Standardmoduls oder Klassenmoduls, das die Prozedur enthält, in der Liste Klassen aus. Wählen Sie anschließend den Namen der Prozedur in der Liste Mitglieder, und klicken Sie in der Symbolleiste auf Definition anzeigen  [image]. Microsoft Access öffnet das Modul, das diese Prozedur enthält, und führt die Einfügemarke in die Prozedur.

•	Um zu einem Element zurückzukehren, das Sie bereits angezeigt hatten, klicken Sie in der Symbolleiste auf Zurück  [image]. Nachdem Sie auf Zurück geklickt haben, können Sie auf Vor  [image]  klicken, um sich zum Ausgangspunkt zu bewegen.

•	Einige eingebaute Funktionen sind nun im Objektkatalog bei den zugehörigen Methoden zu finden, mit denen zusammen Sie die Funktionen verwenden. Klicken Sie z.B. im Feld Projekt/Bibliothek auf Access, und blättern Sie dann in der Liste Klassen durch alle Objektklassen. Sie sehen dann alle in Microsoft Access verfügbaren Konstantengruppen. Klicken Sie auf AcCommand, um alle Konstanten anzuzeigen, die mit der Methode RunCommand verwendet werden.

Anmerkung   Wenn Sie im Objektkatalog Objekte, die der Microsoft Office 8.0-Objektbibliothek angehören, und Befehlsleisten anzeigen möchten, erstellen Sie einen Verweis auf diese Bibliothek. Weitere Informationen über das Erstellen von Verweisen finden Sie unter Einstellen von Verweisen auf Klassenbibliotheken.


Einstellen von Verweisen auf Klassenbibliotheken

Wenn Sie einen Verweis auf die Klassenbibliothek einer anderen Anwendung erstellen, können Sie die Objekte dieser Anwendung in Ihrem Code verwenden. Erstellen Sie z.B. einen Verweis von Microsoft Access auf die Microsoft Excel-Bibliothek, so können Sie Microsoft Excel-Objekte mit Hilfe der Automatisierung verwenden. Wenn Sie einen Verweis auf ein Visual Basic-Projekt in einer anderen Datenbank einstellen, können Sie deren öffentliche Prozeduren aufrufen. Wenn Sie einen Verweis auf ein ActiveX-Steuerelement erstellen, können Sie das Steuerelement in Microsoft Access-Formularen verwenden.

Sie können einen Verweis in Microsoft Access einstellen, während das Modulfenster geöffnet ist, oder Sie können ihn im Visual Basic-Code erstellen.

Einstellen eines Verweises in Microsoft Access:

So stellen Sie einen Verweis auf die Klassenbibliothek einer Anwendung ein:

1.	Klicken Sie im Menü Extras auf Verweise. Der Befehl Verweise ist im Menü Extras nur dann verfügbar, wenn ein Modulfenster geöffnet und in der Entwurfsansicht aktiv ist.

2.	Aktivieren Sie die Kontrollkästchen der Anwendungen, deren Klassenbibliotheken referenziert werden sollen.

Einstellen eines Verweises in Visual Basic

Um einen Verweis in Visual Basic einzustellen, erstellen Sie ein neues Reference-Objekt, das den gewünschten Verweis darstellt. Die Auflistung References enthält alle momentan eingestellten Verweise.

Zum Erstellen eines neuen Reference-Objekts verwenden Sie die Methode AddFromFile oder die Methode AddFromGUID der Auflistung References. Um ein Reference-Objekt zu entfernen, verwenden Sie die Methode Remove.

Vorteile von Verweisen

Ihr Automatierungscode wird schneller ausgeführt, wenn Sie einen Verweis auf die Klassenbibliothek einer anderen Anwendung einrichten, bevor Sie mit deren Objekten arbeiten. Haben Sie einen Verweis eingerichtet, so können Sie eine Objektvariable deklarieren, die ein typisches Objekt der anderen Anwendung darstellt. Wenn Sie z.B. Code schreiben, um mit Microsoft Excel-Objekten zu arbeiten, können Sie mit der folgenden Syntax nur dann eine Objektvariable des Typs Excel.Application deklarieren, wenn Sie einen Verweis auf die Microsoft Excel-Klassenbibliothek erzeugt haben:

Dim appXL As New Excel.Application

Wenn Sie keinen Verweis auf die Microsoft Excel-Klassenbibliothek eingerichtet haben, deklarieren Sie die Variable als generische Variable vom Typ Object. Der folgende Code wird langsamer ausgeführt:

Dim appXL As Object

Zusätzlich werden beim Einrichten eines Verweises auf die Klassenbibliothek einer Anwendung alle Objekte, Methoden und Eigenschaften dieser Anwendung im Objektkatalog aufgeführt. Dadurch können Sie sehr einfach ermitteln, welche Eigenschaften und Methoden für jedes Objekt verfügbar sind.

Da Microsoft Access eine ActiveX-Komponente ist, die die Automatisierung unterstützt, können Sie auch aus einer anderen Anwendung heraus einen Verweis auf die Klassenbibliothek von Microsoft Access einrichten und mit Microsoft Access-Objekten aus dieser Anwendung heraus arbeiten.


Neue Funktionen des Testfensters für Entwickler

Das Testfenster in Microsoft Access 97 besteht aus drei Bereichen - einem Direktbereich, der ähnlich wie das Direktfenster in früheren Microsoft Access-Versionen funktioniert, einem Lokal-Bereich, in dem alle Variablen, die sich momentan im Stapelspeicher (Stack) befinden, sowie deren Werte angezeigt werden, und einem Überwachungsbereich. Sie können zwischen Lokal-Bereich und Überwachungsbereich wechseln, indem Sie im Testfenster auf die Registerkarte Lokal oder Überwachung klicken. Das Direktfenster bleibt in jedem Fall unabhängig davon sichtbar, auf welche Registerkarte Sie klicken.

Wenn Sie das Testfenster anzeigen möchten, öffnen Sie ein Modul und klicken in der Symbolleiste auf Testfenster  [image]. Sie können das Testfenster auch an beliebiger Stelle in Microsoft Access öffnen, indem Sie im Menü Ansicht auf Testfenster klicken oder STRG+G drücken.

Der Lokal-Bereich

Im Lokal-Bereich wird eine Variablenliste mit drei Spalten angezeigt: Ausdruck, Wert und Typ. Einige Variablen, wie z.B. benutzerdefinierte Typen, Datenfelder und Objekte, enthalten häufig hierarchische Informationen. Diese Variablen besitzen dann links neben dem Variablennamen eine Schaltfläche zum Reduzieren/Erweitern, mit der Sie die Anzeige der hierarchischen Informationen steuern können. Wenn der Lokal-Bereich sichtbar ist, wird er bei jedem Wechsel vom Ausführungsmodus in den Unterbrechungsmodus automatisch aktualisiert. Ein solcher Moduswechsel findet statt, wenn ein Haltepunkt erreicht wird oder Sie beginnen, den Code im Einzelschrittmodus auszuführen.

Die erste Variable in der Liste ist eine spezielle Modulvariable. Für ein Klassenmodul ist es die vom System definierte Variable Me. Sie stellt einen Objektverweis auf die aktuelle Instanz der Klasse dar, die vom aktuellen Modul definiert ist. Da die Variable ein Objektverweis ist, kann sie erweitert werden und zeigt dann alle Eigenschaften und Datenmitglieder der aktuellen Klasseninstanz an. Für Standardmodule stellt die erste Variable den Namen des aktuellen Moduls dar; sie kann ebenfalls erweitert werden, um alle Variablen auf Modulebene im aktuellen Modul anzuzeigen. Sie können den Wert einer Variablen im Lokal-Bereich ändern, jedoch nicht ihre Ausdruck- und Typ-Einstellungen.

Der Überwachungsbereich

Im Überwachungsbereich können Sie den Wert eines Ausdrucks oder einer Variablen anzeigen, während Code ausgeführt wird. Um einen Überwachungsausdruck zu erstellen, klicken Sie im Menü Testen auf Überwachung hinzufügen. Der Überwachungsbereich wurde um die folgenden Funktionen erweitert:

•	Erweitern/Reduzieren von hierarchischen Informationen

•	Anpassen der Größe von Spaltenüberschriften

•	Direkte Bearbeitung von Werten.

Der Direktbereich

Sie können jede Sub-Prozedur und jede Funktion, auch Ereignisprozeduren, im Direktbereich ausführen.

Um eine in einem Klassenmodul definierte Prozedur im Direktbereich auszuführen, kennzeichnen Sie die Prozedur mit dem Namen des Klassenmoduls, es sei denn, das Modul wird gerade im Unterbrechungsmodus ausgeführt. Im Unterbrechungsmodus ist es nicht erforderlich, die Prozedur zu kennzeichnen, da das Modul dann im Gültigkeitsbereich ist.

Wenn Sie das folgende Beispiel in den Direktbereich des Testfensters eingeben, führt er die Prozedur ListeNamen aus. Diese Prozedur ist in dem Klassenmodul definiert, das dem Formular Personal zugeordnet ist.

Form_Personal.ListeNamen

Das folgende Beispiel führt die Ereignisprozedur Click für die Befehlsschaltfläche PersonalInfo im Formular Personal aus.

Form_Personal.PersonalInfo_Click

Weitere Features des Testfensters

Das neue Testfenster liefert automatisch Statusinformationen über Ihren Code. Wenn kein Code ausgeführt wird, zeigt die Statuszeile am oberen Rand des Testfensters "<Bereit>" an. Sobald Code ausgeführt wird, werden in der Statuszeile der Name der aktuellen Datenbank, das Modul, zu dem die ausgeführte Prozedur gehört, und der Name der Prozedur selbst angezeigt.

Sie können auch das Fenster Aufrufe vom Testfenster aus anzeigen, indem Sie auf die Editor-Schaltfläche  [image] klicken.


Programmieren mit Klassenmodulen

In Microsoft Access 97 gibt es zwei Arten von Modulen: Standardmodule und Klassenmodule. In Microsoft Access 95 existieren Klassenmodule nur in Verbindung mit einem Formular oder Bericht. In Microsoft Access 97 sind sie dagegen auch in der Registerkarte Module des Datenbankfensters vorhanden.

Neu in Microsoft Access 97: Erstellen benutzerdefinierter Objekte mit Klassenmodulen

Sie können mit einem Klassenmodul eine Definition für ein benutzerdefiniertes Objekt erstellen. Der Name, unter dem Sie das Klassenmodul speichern, wird zugleich der Name des benutzerdefinierten Objekts. Öffentliche Sub- und Function-Prozeduren, die Sie in einem Klassenmodul definieren, werden zu benutzerdefinierten Methoden des Objekts. Öffentliche Property Let-, Property Get- und Property Set-Prozeduren werden zu Eigenschaften des Objekts.

Sobald Sie in einem Klassenmodul Prozeduren definiert haben, können Sie das neue Objekt erstellen, indem Sie eine neue Instanz der Klasse erstellen. Um eine neue Instanz einer Klasse zu erstellen, deklarieren Sie eine Variable des durch die Klasse definierten Typs. Wenn ein Klassenname z.B. EineBasicKlasse lautet, erstellen Sie eine neue Instanz dieser Klasse wie folgt:

Dim abc As New EineBasicKlasse

Wenn Sie den Code ausführen, den diese Deklaration enthält, erstellt Visual Basic die neue Instanz. Sie können deren Methoden und Eigenschaften einfach durch Verwendung der Variablen abc anwenden. Wenn Sie z.B. die benutzerdefinierte Methode ListeNamen definiert haben, können Sie diese wie folgt anwenden:

abc.ListeNamen

Neu in Microsoft Access 95: Erstellen der Standardinstanz einer Formularklasse

Wenn Sie ein Formular in der Formularansicht öffnen (von der Benutzeroberfläche oder von Visual Basic aus), erstellen Sie eine Instanz des Klassenmoduls dieses Formulars. Mit anderen Worten, Sie legen Platz im Arbeitsspeicher fest, in dem das Objekt nun existiert, und können dann seine Methoden im Code aufrufen und seine Eigenschaften im Code einstellen oder zurückgeben wie für jedes eingebaute Objekt. Das gleiche gilt, wenn Sie einen Bericht in der Seitenansicht öffnen.

Wenn Sie in Visual Basic-Code auf ein Formular verweisen, arbeiten Sie normalerweise mit der Standardinstanz der Klasse des Formulars. Die Klasse eines Formulars hat nur eine Standardinstanz. Sie können auch mehrere Instanzen derselben Klasse des Formulars von Visual Basic aus erstellen. Wenn Sie dies tun, erstellen Sie Nicht-Standardinstanzen.

Es bestehen vier Möglichkeiten zum Erstellen der Standardinstanz eines Formulars. Sie können ein bestehendes Formular folgendermaßen öffnen: über die Benutzerschnittstelle; durch Ausführen der Methode OpenForm des DoCmd-Objekts; durch Aufrufen der Funktion CreateForm und Wechseln in die Formularansicht für das neue Formular; oder durch Erstellen einer Variablen des Typs Form in Visual Basic, die auf die Standardinstanz verweist. Das folgende Beispiel öffnet das Formular Personal und zeigt mit einer Variablen des Typs Form darauf.

Dim frm As Form

DoCmd.OpenForm "Personal"

Set frm = Forms!Personal

Microsoft Access bietet auch eine Verknüpfung, mit der Sie in einem Schritt ein Formular öffnen und auf eine Methode, eine Eigenschaft oder ein Steuerelement des Formulars verweisen können. Sie verweisen auf das Klassenmodul des Formulars wie folgt:

Form_Personal.Visible = True

Form_Personal.Caption = "Neue Mitarbeiter"

Wenn Sie diesen Code ausführen, öffnet Microsoft Access das Formular Personal in der Formularansicht, falls es nicht bereits geöffnet ist, und stellt die Überschrift des Formulars auf "Neue Mitarbeiter" ein. Das Formular ist nicht sichtbar, bis Sie explizit seine Eigenschaft Visible auf True (-1) einstellen. Wenn die Prozedur, die diesen Code aufruft, die Ausführung beendet hat, wird die Instanz des Formulars zerstört − d.h., das Formular wird geschlossen.

Wenn Sie versuchen, diesen Code auszuführen, während das Formular Personal in der Entwurfsansicht geöffnet ist, erzeugt Microsoft Access einen Laufzeitfehler. Das Formular muß entweder in der Formularansicht oder darf gar nicht geöffnet sein.

Wenn Sie diese Syntax verwenden, um eine Eigenschaft oder ein Steuerelement des Formulars zu ändern, gehen die Änderungen verloren, wenn die Instanz des Formulars gelöscht wird. Dies trifft immer dann zu, wenn Sie eine Eigenschafteneinstellung für ein Formular in der Formularansicht ändern. Ändern Sie die Eigenschaft in der Entwurfsansicht und speichern die Änderungen mit dem Formular.

Neu in Microsoft Access 95: Erstellen mehrerer Nicht-Standardinstanzen von Formularen

Sie können mehrere Nicht-Standardinstanzen einer Klasse eines Formulars erstellen, wenn Sie mehrere Instanzen des Formulars gleichzeitig anzeigen möchten. Sie möchten z.B. die Datensätze für einen Angestellten und seinen Vorgesetzten gleichzeitig anzeigen. Sie können eine Instanz des Formulars Personal zur Anzeige des Angestellten-Datensatzes erstellen, und eine Instanz zur Anzeige des Vorgesetzten-Datensatzes.

Wenn Sie neue Nicht-Standardinstanzen einer Klasse eines Formulars aus Visual Basic heraus erstellen möchten, deklarieren Sie eine Variable, deren Typ der Klassenname des Formularmoduls ist. Schließen Sie das Schlüsselwort New in der Variablendeklaration ein. Beispielsweise erstellt der folgende Code eine neue Instanz des Formulars Personal und weist sie einer Variablen des Typs Form zu.

Dim frm As New Form_Personal

Diese Nicht-Standardinstanz des Formulars ist nicht sichtbar, bis Sie deren Eigenschaft Visible explizit einstellen.

Wenn die Ausführung der Prozedur, die diese Instanz erstellt hat, beendet ist, wird die Instanz aus dem Speicher entfernt, es sei denn, Sie haben die repräsentierende Variable als Variable auf Modulebene deklariert. Da Variablen auf Modulebene ihren Wert behalten, bis sie mit dem Befehl Neu initialisieren im Menü Ausführen oder der Schaltfläche Neu initialisieren  [image]  in der Symbolleiste zurückgesetzt werden, bleibt das Formular geöffnet, falls die Variable als Variable auf Modulebene deklariert worden ist.

Alle Eigenschaften, die Sie einstellen, beeinflussen diese Instanz der Klasse des Formulars, werden jedoch nicht mit dem Formular gespeichert. Auch kann keine neue Instanz der Klasse des Formulars erstellt werden, wenn das Formular in der Entwurfsansicht geöffnet ist.

Auf eine Nicht-Standardinstanz eines Formulars kann nicht über den Namen in der Auflistung Forms verwiesen werden. Es sind nur Verweise über die Indexnummer möglich. Da Sie mehrere Nicht-Standardinstanzen eines Formulars erstellen können und jede Instanz den gleichen Namen hat, kann die Auflistung Forms mehrere gleichnamige Formulare enthalten, die sich lediglich durch ihre Indexnummer unterscheiden.


Automatisierung mit Microsoft Access

Microsoft Access ist eine ActiveX-Komponente, die Automatisierung, früher OLE-Automatisierung genannt, unterstützt. Microsoft Access unterstützt die Automatisierung in zweierlei Hinsicht: in Microsoft Access können Sie mit Objekten arbeiten, die von einer anderen Komponente bereitgestellt werden, und umgekehrt stellt Microsoft Access seine Objekte anderen ActiveX-Komponenten zur Verfügung.

In früheren Microsoft Access-Versionen konnten Sie die Funktionen CreateObject oder GetObject verwenden, um mit einer Variablen auf eine Instanz einer Komponente zu zeigen. In Microsoft Access für Windows 97 können Sie auch das Schlüsselwort New verwenden, um eine neue Instanz bestimmter Komponenten zu erstellen. In der Dokumentation der jeweiligen Anwendung finden Sie Hinweise, welche Syntax jeweils unterstützt wird.

In Microsoft Access können Sie einen Verweis auf die Klassenbibliothek einer Komponente einrichten, um die Leistung zu steigern, wenn Sie mit dieser Anwendung über Automatisierung arbeiten. Microsoft Access enthält auch den Objektkatalog, ein Werkzeug, mit dem Sie Objekte und ihre Methoden und Eigenschaften in Klassenbibliotheken anderer Anwendungen anzeigen können.

Die Microsoft Access-Klassenbibliothek stellt für andere Komponenten Informationen über Microsoft Access-Objekte bereit. Sie können in einer Komponente einen Verweis auf die Microsoft Access-Klassenbibliothek einstellen und deren Objekte im Objektkatalog anzeigen.

Wenn Sie Microsoft Access-Objekte über die Automatisierung bearbeiten möchten, erstellen Sie eine Instanz des Microsoft Access-Objekts Application. Nehmen Sie z.B. an, Sie möchten Daten von Microsoft Excel in einem Microsoft Access-Formular oder -Bericht anzeigen. Um Microsoft Access von Microsoft Excel aus starten zu können, erstellen Sie zuerst mit dem Schlüsselwort New eine Instanz des Microsoft Access-Objekts Application. Sie können auch die Funktion CreateObject verwenden, um eine neue Instanz des Microsoft Access-Objekts Application zu erstellen, oder Sie können mit der Funktion GetObject eine Objektvariable als Zeiger auf eine bestehende Instanz von Microsoft Access definieren. Überprüfen Sie die Dokumentation der Komponente, um zu ermitteln, welche Syntax sie unterstützt.

Wenn Sie eine Instanz von Microsoft Access gestartet haben und Microsoft Access-Objekte steuern möchten, öffnen Sie zuerst mit der Methode OpenCurrentDatabase oder NewCurrentDatabase eine Datenbank im Microsoft Access-Fenster. Haben Sie Microsoft Access nur geöffnet, um die von Microsoft Access-DAO bereitgestellten Datenzugriffsobjekte zu verwenden, dann brauchen Sie im Microsoft Access-Fenster keine Datenbank öffnen. Sie können die Eigenschaft DBEngine des Microsoft Access-Objekts Application verwenden, um während einer Automatisierungsoperation auf Objekte in der Microsoft DAO 3.5-Objektbibliothek zuzugreifen.


Verbesserungen bezüglich der Kompilierung

Microsoft Access enthält Verbesserungen beim Laden von Modulen und bei der Kompilierungsleistung, so daß Ihr Code schneller kompiliert und ausgeführt wird.

Bei Bedarf erstellte Formular- und Berichtsmodule

Wenn Sie ein Formular oder einen Bericht in Microsoft Access 97 erstellen, wird dem Formular bzw. Bericht nicht automatisch ein Modul zugewiesen. Das Modul wird erst erstellt, wenn Sie in der Symbolleiste auf Code  [image]  klicken, um das Formular- oder Berichtsmodul anzuzeigen. Sie können das Modul auch in Visual Basic erstellen, indem Sie auf die Eigenschaft Modul des Formulars verweisen, während sich das Formular bzw. der Bericht in der Entwurfsansicht befindet, oder indem Sie die Eigenschaft HasModule auf True (–1) einstellen.

Die Einstellung der Eigenschaft HasModule gibt an, ob einem Formular oder Bericht momentan ein Modul zugewiesen ist.

Da ein Formular- oder Berichtsmodul nur dann erstellt wird, wenn Sie Code hinzufügen, müssen in der Regel weniger Module Ihres Projekts kompiliert werden, was die Kompilierungsleistung heraufsetzt. Formulare und Berichte ohne Module werden darüber hinaus schneller geladen als solche mit Modulen.

Befehle zum Kompilieren und Speichern von Modulen

Die Befehle Alle Module kompilieren, Geladene Module kompilieren und Alle Module kompilieren und speichern sind im Menü Testen verfügbar. Der Befehl Alle Module kompilieren kompiliert alle Module (d.h. geladene und nicht geladene) der Datenbank. Der Befehl Geladene Module kompilieren kompiliert nur die momentan geladenen Module. Der Befehl Alle Module kompilieren und speichern speichert den gesamten Code in vollständig kompilierter Form in der Datenbank.

Kompilieren bei Bedarf

Es ist zwar empfehlenswert, die Module Ihres Projekts mit den oben beschriebenen Befehlen explizit zu kompilieren, jedoch nicht unbedingt erforderlich. Microsoft Access kompiliert ein Modul, bevor eine darin befindliche Prozedur ausgeführt wird, wenn das Modul noch nicht kompiliert vorliegt.

Wenn ein Modul geladen wird, überprüft Microsoft Access vor der Ausführung des Moduls, ob es bereits kompiliert vorliegt. Ist das nicht der Fall, kompiliert Microsoft Access das Modul unmittelbar vor dem Ausführen der darin befindlichen Prozedur. Der Kompilierungsvorgang verlangsamt die Code-Ausführung; aus diesem Grund wird Code in kompiliert gespeicherten Modulen schneller ausgeführt.

Das Kompilierungsverhalten wird zum Teil durch die Einstellung des Kontrollkästchens Kompiliert bei Bedarf in der Registerkarte Modul des Dialogfelds Optionen (Menü Extras, Befehl Optionen) gesteuert. Microsoft Access aktiviert dieses Kontrollkästchen standardmäßig. Wenn Sie die optimale Systemleistung erreichen möchten, lassen Sie das Kontrollkästchen aktiviert.

Wenn das Kontrollkästchen Kompiliert bei Bedarf aktiviert ist, werden noch nicht kompilierte Module erst dann kompiliert, wenn sie zur Ausführung geladen werden. Ist dieses Kontrollkästchen deaktiviert, so wird ein nicht kompiliertes Modul kompiliert, sobald ein Modul geladen wird, das eine Prozedur enthält, die eine Prozedur in diesem Modul aufruft.

Nehmen Sie z.B. an, die drei Module ModulA, ModulB und ModulC liegen in unkompilierter Form vor. ProzedurA in ModulA enthält einen Aufruf von ProzedurB in ModulB. Eine weitere Prozedur in ModulA enthält einen Aufruf der Prozedur C in ModulC. Wenn das Kontrollkästchen Kompiliert bei Bedarf beim Aufruf von ProzedurA aktiviert ist, werden nur ModulA und ModulB geladen und kompiliert. Da ProzedurA keinen Aufruf der ProzedurC enthält, wird ModulC weder geladen noch kompiliert.

Ist das Kontrollkästchen Kompiliert bei Bedarf beim Aufruf von ProzedurA dagegen deaktiviert, werden ModulA, ModulB und ModulC geladen und kompiliert. Da ModulA einen Aufruf der ProzedurC enthält, wird ModulC geladen und kompiliert, obwohl ProzedurA die ProzedurC nicht aufruft.

Beachten Sie den Unterschied zu Microsoft Access 95. Wenn Sie dort eine Prozedur in einem Modul ausführen, werden alle Module im potentiellen Aufrufbaum geladen, allerdings standardmäßig erst kompiliert, wenn eine darin befindliche Prozedur aufgerufen wird. Da Microsoft Access 97 Module nur bei Bedarf lädt, kann der Code in vielen Fällen schneller ausgeführt werden.

Sie erreichen eine weitere Leistungssteigerung, wenn Sie Prozeduren so zu Modulen gruppieren, daß unnötige Kompilierungsvorgänge entfallen. Fassen Sie solche Prozeduren in Modulen zusammen, die sich gegenseitig aufrufen; bilden Sie keine Modulgruppen mit Prozeduren, die in keiner Beziehung zueinander stehen.


Verweisen auf ein Visual Basic-Projekt in einer anderen Microsoft Access-Datenbank

Jede Microsoft Access-Datenbank enthält ein Visual Basic-Projekt. Es besteht aus allen Modulen des Projekts - den Standardmodulen und den Klassenmodulen. Jede Microsoft Access-Datenbank, jede Bibliotheksdatenbank und jedes in einer .MDE-Datei enthaltene Add-In beinhaltet ein Visual Basic-Projekt.

Datenbankname und Projektname können sich unterscheiden. Der Name der Datenbank entspricht dem Namen der .MDB-Datei (oder .MDA- oder .MDE-Datei), während der Name des Projekts durch die Einstellung der Option Projektname in der Registerkarte Fortgeschritten des Dialogfelds Optionen (Menü Extras, Befehl Optionen) festgelegt wird. Wenn Sie eine Datenbank neu erstellen, sind Datenbankname und Projektname standardmäßig identisch. Wenn Sie die Datenbank später umbenennen, ändert sich der Projektname jedoch nicht automatisch. Umgekehrt hat auch das Ändern des Projektnamens keine Auswirkung auf den Datenbanknamen.

Sie können von einem Visual Basic-Projekt in einer Microsoft Access-Datenbank einen Verweis auf ein Projekt in einer anderen Microsoft Access-Datenbank, auf eine Bibliotheksdatenbank oder auf ein in einer .MDE-Datei enthaltenes Add-In einrichten. Anschließend können Sie Visual Basic-Prozeduren im referenzierten Projekt ausführen. Beispielsweise enthält die Beispieldatenbank Nordwind das Modul Dienstprogramme, das wiederum die Funktion IsLoaded enthält. Sie können von dem Projekt in der aktuellen Datenbank aus einen Verweis auf das Projekt in der Beispieldatenbank Nordwind einrichten und dann die Funktion IsLoaded so aufrufen, als ob sie innerhalb der aktuellen Datenbank definiert wäre.

So stellen Sie einen Verweis auf das Projekt in der Beispieldatenbank Nordwind von einem anderen Projekt aus ein:

1.	Öffnen Sie das Modulfenster.

2.	Klicken Sie im Menü Extras auf Verweise, und klicken Sie dann im Dialogfeld Verweise auf Durchsuchen.

3.	Klicken Sie im Feld Dateityp auf Datenbanken (*.mdb, *.mda).

4.	Suchen Sie die Datei NORDWIND.MDB. Falls Sie diese Datei installiert haben, befindet sie sich standardmäßig im Verzeichnis \PROGRAM FILES\MICROSOFT OFFICE\OFFICE\BEISPIEL.

5.	Klicken Sie auf OK.

"NORDWIND.MDB" ist nun in der Liste der verfügbaren Verweise im Dialogfeld Verweise zu sehen.

Anmerkungen

•	Richten Sie einen Verweis auf das Projekt in einer anderen Microsoft Access-Datenbank ein, wenn Sie eine öffentliche Prozedur aufrufen möchten, die in einem Standardmodul dieser Datenbank definiert ist. Sie können keine Prozeduren aufrufen, die in einem Klassenmodul definiert sind, und keine Prozeduren in einem Standardmodul, denen das Schlüsselwort Private vorangestellt ist.

•	Sie können einen Verweis auf das Projekt in einer Microsoft Access-Datenbank nur von einer anderen Microsoft Access-Datenbank aus einrichten.

•	Sie können einen Verweis auf ein Projekt nur in einer anderen Microsoft Access 97-Datenbank einrichten. Wenn Sie einen Verweis auf ein Projekt in einer Datenbank einrichten möchten, die mit einer früheren Microsoft Access-Version erstellt wurde, konvertieren Sie die Datenbank zuerst in Microsoft Access 97.

•	Wenn Sie von Microsoft Access aus einen Verweis auf ein Projekt oder eine Klassenbibliothek einstellen und dann die Datei, die das Projekt oder die Klassenbibliothek enthält, in einen anderen Ordner verschieben, versucht Microsoft Access diese Datei zu finden und den Verweis wiederherzustellen. Ist der Schlüssel RefLibPaths bereits in der Registrierung vorhanden, dann sucht Microsoft Access zuerst dort. Wenn dieser Eintrag nicht gefunden wird, sucht Microsoft Access die Datei zuerst im aktuellen Ordner, danach in allen Ordnern des Laufwerks. Sie können den Schlüssel RefLibPaths mit Hilfe des Registrierungseditors in Windows unter dem Registrierungsschlüssel \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\8.0\Access erstellen. Weitere Informationen über die Verwendung des Registrierungseditors finden Sie in der Windows-Dokumentation.


Programmieren von Symbol- und Menüleisten

Microsoft Access 97 enthält Befehlsleisten, wobei programmierbare Symbolleisten und Menüleisten unterschieden werden. Mit Hilfe dieser Befehlsleisten können Sie benutzerdefinierte Symbolleisten und Menüs für Ihre Anwendung erstellen.

Wenn Sie mit Befehlsleisten programmieren möchten, richten Sie einen Verweis auf die Microsoft Office 8.0-Objektbibliothek ein. Klicken Sie in der Modul-Entwurfsansicht im Menü Extras auf Verweise, und aktivieren Sie das Kontrollkästchen neben Microsoft Office 8.0 Object Library.

Die Auflistung CommandBar enthält alle Befehlsleisten, die momentan in der Anwendung vorhanden sind. Sie können ein neues Objekt CommandBar zur Auflistung CommandBar hinzufügen, indem Sie die Methode Add der Auflistung CommandBar verwenden. Beispielsweise erstellt der folgende Code die neue Befehlsleiste MeineBefehlsleiste. Beachten Sie, daß Sie die Eigenschaft Visible auf True (–1) einstellen, damit die Befehlsleiste sichtbar wird.

Dim cmb As CommandBar

Set cmb = Application.CommandBars.Add("MeineBefehlsleiste")

cmb.Visible = True

Jedes CommandBar-Objekt besitzt eine Auflistung CommandBarControls, die alle Steuerelemente in der Befehlsleiste enthält. Die Steuerelemente in der Befehlsleiste unterscheiden sich von den Steuerelementen in einem Formular. Sie können verschiedene Typen von Befehlsleisten-Steuerelementen erstellen: Schaltflächen, Kombinationsfelder und Popups. Sie können diese Steuerelemente gemischt verwenden, um eine benutzerdefinierte Symbolleiste oder Menüleiste zu erstellen.

Um sich auf die Auflistung CommandBarControls zu beziehen, verwenden Sie die Eigenschaft Controls des Objekts CommandBar. Wenn Sie ein Steuerelement zu einer Befehlsleiste hinzufügen möchten, verwenden Sie die Methode Add der Auflistung CommandBarControls und geben den Typ des zu erstellenden Steuerelements an. Das folgende Beispiel fügt eine neue Schaltfläche zu der im vorangehenden Beispiel erstellten Befehlsleiste hinzu:

Dim cbc As CommandBarControl

Set cbc = cmb.Controls.Add(msoControlButton)

cbc.Caption = "Schaltfläche1"

cbc.Style = msoButtonCaption

Sie können einen Ausdruck angeben, der berechnet werden soll, oder ein Makro, das ausgeführt werden soll, wenn der Benutzer auf ein Befehlsleisten-Steuerelement klickt. Stellen Sie die Eigenschaft OnAction auf den Namen eines Makros oder Ausdrucks ein, der eine eingebaute oder benutzerdefinierte Funktion enthält. Beispielsweise stellt die folgende Code-Zeile die Eigenschaft OnAction eines CommandBarControl-Objekts auf einen Ausdruck ein, der die Funktion MsgBox enthält. Das Beispiel verwendet die in den beiden vorhergehenden Beispielen erstellten Objekte CommandBar und CommandBarControl.

CommandBars("MeineBefehlsleiste").Controls("Schaltfläche1").OnAction = _

"=MsgBox(""Wow!"")"

Anmerkung   Anders als bei fast allen Auflistungen in Microsoft Access wird die Auflistung CommandBars sowie alle darin enthaltenen Auflistungen ab 1 und nicht ab 0 indiziert.


Erstellen von Teilreplikaten

Was sind Teilreplikate?

Teilreplikate sind Replikate, die nur eine Teilmenge der Datensätze eines vollständigen Replikats enthalten. Um ein Teilreplikat zu erstellen, definieren Sie einen Filter, der die zu synchronisierenden Daten auf eine Teilmenge der vollständigen Datenbank einschränkt. Durch Verwendung von Teilreplikaten können Sie ein Replikat mit genau den Daten synchronisieren, die Sie benötigen, und brauchen sie nicht mit der gesamten Datenbank zu synchronisieren.

Beispielsweise kann eine Firma ihre gesamte Verkaufsdatenbank in der Zentrale speichern, aber zu den Regionalbüros nur die regionalen Daten replizieren. Sie können dann für jedes Regionalbüro ein separates Replikat erstellen, das nur die Daten für die betreffende Region enthält. Die Datenbank in der Zentrale stellt ein vollständiges Replikat dar, mit dem die verschiedenen Teilreplikate synchronisiert werden.

Vorteile der Verwendung von Teilreplikaten

Teilreplikate können zu kleineren Datenbanken führen, da nur die Teile repliziert werden müssen, mit denen Sie häufig arbeiten. Das Synchronisieren eines Teilreplikats benötigt weniger Zeit, und das Replikat selbst benötigt weniger Speicherplatz.

Teilreplikate können verwendet werden, um den Zugriff auf Daten einzuschränken. Im Beispiel der Verkaufsdatenbank können Teilreplikate dazu beitragen, daß die Angestellten in einem Regionalbüro die für andere Regionalbüros bestimmten Daten nicht anzeigen können. Obwohl Teilreplikate verwendet werden können, um den Zugriff auf Datensätze einzuschränken, stellen sie jedoch keinen Ersatz für ein Sicherheitssystem dar.

Teilreplikate bieten darüber hinaus Vorteile beim Replizieren von Daten über LANs (Local Area Networks = lokale Netzwerke) und WANs (Wide Area Networks). Durch das Einschränken der Replikation auf bestimmte Daten können Teilreplikate die über ein LAN oder WAN übertragene Datenmenge herabsetzen. Dies reduziert die Anzahl der Datenübertragungen im Netzwerk und damit die Übertragungskosten.

Erstellen eines Teilreplikats mit Datenzugriffsobjekten (DAO)

Um ein Teilreplikat zu erstellen, gehen Sie wie folgt vor:

1.	Verwenden Sie die Methode MakeReplica auf einem Database-Objekt, wobei Sie im Argument Optionen die Konstante dbRepMakePartial angeben. Dadurch wird das Teilreplikat erstellt.

2.	Verwenden Sie die Eigenschaften ReplicaFilter und PartialReplica, um die Filter und Beziehungen einzustellen, mit denen festgelegt wird, welche Daten aus dem vollständigen Replikat repliziert werden sollen.

3.	Verwenden Sie die Methode PopulatePartial, um alle Datensätze aus dem vollständigen Replikat zu übertragen, die den neuen Replikationsfilterkriterien entsprechen.

Wenn Sie Daten oder Filterkriterien im Teilreplikat ändern, verwenden Sie in jedem Fall die Methoden Synchronize und PopulatePartial zusammen, um sicherzustellen, daß alle Daten an das vollständige Replikat weitergegeben werden und daß das Teilreplikat auf der Basis der aktuellen Filterkriterien neu belegt wird.

Anmerkung   Ein einmal erstelltes Teilreplikat können Sie nicht in ein vollständiges Replikat umwandeln. Wenn Sie alle Replikatfilter und Replikatbeziehungen im Teilreplikat löschen, enthält es alle Datensätze eines vollständigen Replikats, unterliegt jedoch nach wie vor den Einschränkungen eines Teilreplikats.

Teilreplikat und referentielle Integrität

In einem Replikat, dessen Beziehungen referentielle Integrität erfordern, können viele Tabellen in der Datenbank mit der Tabelle in Beziehung stehen, auf der Ihr Filter basiert. Wenn Sie ein Teilreplikat erstellen, seien Sie sicher, daß alle Tabellen eingeschlossen werden, die zur Tabelle mit den gewünschten Daten in Beziehung stehen.

Wenn Sie z.B. die Beispieldatenbank Nordwind verwenden, können Sie einen Filter für die Tabelle Personal einführen, wie z.B. [Personal-Nr]=1, der die Datensätze genau eines Angestellten synchronisiert. Da die Tabelle Personal mit den Tabellen Bestellungen und Bestelldetails in Beziehung steht, schließen Sie diese Tabellen ebenfalls ein, so daß das Teilreplikat die entsprechenden Datensätze für diesen Angestellten in den Tabellen Bestellungen und Bestelldetails einschließt.

Es kann vorkommen, daß andere Tabellen eingeschlossen werden müssen, die mit dem Filter nur indirekt in Beziehung stehen. Dies ist z.B. dann der Fall, wenn das Teilreplikat eine vollständige Artikelliste enthalten soll, so daß in neuen Bestellungen alle verfügbaren Artikel aufgenommen werden können. In diesem Fall schließen Sie die Tabelle Artikel in das Teilreplikat ein.

Achten Sie außerdem auf Tabellen in Ihrer Datenbank, die keine Durchsetzungsbeziehungen haben, wie z.B. Nachschlagetabellen oder Tabellen mit Beziehungen ohne referentielle Integrität. Beispielsweise kann eine Tabelle, die ein Kombinationsfeld enthält, in keiner Beziehung vorkommen. Wenn Sie eine solche Tabelle einschließen, werden alle Datensätze aufgegriffen; andernfalls wird kein Datensatz aufgegriffen.

Weitere Informationen zu Teilreplikaten und Tools zur Erstellung von Teilreplikaten finden Sie in Kapitel 20, "Verwenden von Replikation in Ihrer Anwendung" in Erstellen von Anwendungsprogrammen mit Microsoft Access 97 und im Abschnitt "Technical Information" des Microsoft Access Developer-Forums in der Web Site http://www.microsoft.com/accessdev/.


Neue Internet-Features für Entwickler

Hyperlinks verbinden Anwendungen mit dem Internet

Microsoft Access 97 enthält Hyperlinks, mit deren Hilfe Sie Ihre Anwendung ganz einfach mit dem Internet oder mit einem Intranet verbinden können. Ein Hyperlink ermöglicht einen Sprung an folgende Stellen: zu einer Stelle im Internet oder in einem Intranet, zu einem Objekt in Ihrer Datenbank oder in einer anderen Datenbank, oder zu einem Dokument auf Ihrem Computer oder auf einem anderen, über ein Netzwerk verbundenen Computer.

Microsoft Access stellt den neuen Datentyp Hyperlink bereit, der eine Hyperlink-Adresse enthalten kann. Sie können ein Tabellenfeld dieses Datentyps definieren, um Hyperlinks als Daten in einer Tabelle zu speichern.

Sie können Hyperlinks auch in einem Formular oder Bericht einschließen. Die folgenden drei Steuerelement-Typen können Hyperlinks enthalten: Befehlsschaltflächen-, Bezeichnungsfeld- und Bild-Steuerelemente. Diese drei Steuerelemente haben eine Eigenschaft Hyperlink; sie gibt ein Hyperlink-Objekt zurück, das den im Steuerelement enthaltenen Hyperlink darstellt. Diese Steuerelemente besitzen außerdem die Eigenschaften HyperlinkAddress und HyperlinkSubAddress, mit denen die Adresse und Unteradresse für den Hyperlink eingestellt oder zurückgegeben werden kann.

Wenn Sie auf ein Steuerelement klicken, das einen Hyperlink enthält, wird dem Hyperlink gefolgt, und das Ereignis Click des Steuerelements wird ausgelöst. Beim Folgen des Hyperlinks wird das in den Eigenschaften HyperlinkAddress und HyperlinkSubAddress bezeichnete Dokument oder Objekt geöffnet. Bezieht sich die Eigenschaft HyperlinkAddress beispielsweise auf ein Formular in Ihrer Microsoft Access-Datenbank, so wird dieses Formular geöffnet. Bezieht sie sich auf ein Microsoft Word-Dokument auf einem anderen Computer im Netzwerk, so wird Microsoft Word mit dem betreffenden Dokument geöffnet. Bezieht sie sich auf eine Adresse im World Wide Web, so wird Ihr Web-Browser (z.B. der Microsoft Internet Explorer) geöffnet, und die Web Site wird angezeigt.

In Visual Basic können Sie das Klicken auf einen Hyperlink simulieren, indem Sie die Methode Follow des Objekts Hyperlink oder die Methode FollowHyperlink des Objekts Application verwenden. Beispielsweise können Sie Code im Ereignis Load eines Formulars einschließen, der einem angegebenen Hyperlink folgt, wenn das Formular geöffnet wird.

Durchsuchen von Web Sites mit dem Microsoft WebBrowser-Steuerelement

Das Microsoft WebBrowser-Steuerelement ist ein ActiveX-Steuerelement, mit dem Sie in einem Microsoft Access-Formular Web Sites und andere Dokumente im Internet oder in einem Intranet anzeigen können. Das Microsoft WebBrowser-Steuerelement wird vom Microsoft Internet Explorer 3.0 bereitgestellt, der mit Microsoft Access 97 geliefert wird. Sie können den Microsoft Internet Explorer auch kostenlos von der Web Site von Microsoft (http://www.microsoft.com/) herunterladen. Eine Dokumentation über das WebBrowser-Steuerelement erhalten Sie unter http://www.microsoft.com/intdev/sdk/docs/iexplore/. Haben Sie Microsoft Office 97 auf CD-ROM erworben, können Sie eine Hilfedatei anzeigen, die diese Informationen enthält. Kopieren sie diese von den Office 97 CD-Zugaben. Informationen darüber, wie Sie die Hilfedatei zum WebBrowser-Steuerelement von den CD-Zugaben laden, finden Sie unter Info zu den Office 97 CD-Zugaben.

Das WebBrowser-Steuerelement wird automatisch vom Betriebssystem registriert, wenn Sie Internet Explorer installieren, so daß es in Microsoft Access sofort verwendet werden kann, ohne es zuerst zu registrieren. Um das WebBrowser-Steuerelement zu einem Formular hinzuzufügen, klicken Sie im Menü Einfügen auf ActiveX-Steuerelemente, und klicken Sie dann in der Liste der ActiveX-Steuerelemente auf Microsoft WebBrowser-Steuerelement.

Wenn Sie das WebBrowser-Steuerelement zu einem Formular hinzugefügt haben, können Sie mit der Methode Navigate des Steuerelements eine Web-Seite im WebBrowser-Fenster öffnen. Haben Sie z.B. das WebBrowser-Steuerelement ActiveXCtl0 zu einem Formular hinzugefügt, so können Sie die folgende Ereignisprozedur Load für das Formular erstellen.

Private Sub Form_Load

Me!ActiveXCtl0.Navigate "http://www.microsoft.com/"

End Sub

Speichern von Daten im HTML-Format

Es gibt mehrere Möglichkeiten, um Microsoft Access-Objekte im HTML-Format zu speichern. Weitere Informationen finden Sie unter Exportieren von Tabellen, Abfragen, Formularen und Berichten in das HTML-Format.

Importieren oder Verknüpfen von Daten in HTML-Tabellen

Daten, die in Form einer HTML-Tabelle formatiert sind, können in Ihre Microsoft Access-Datenbank importiert oder mit ihr verknüpft werden. Weitere Informationen finden Sie unter Importieren und Verknüpfen von HTML-Tabellen und Listen.

Synchronisieren von Datenbankreplikaten auf einem Internet Server

Sie können Datenbankreplikate über das Internet synchronisieren, indem Sie die Methode Synchronize verwenden und dabei die Option dbRepSyncInternet einstellen.

Weitere Informationen über das Arbeiten mit Internet/Intranet-Funktionen in Microsoft Access finden Sie in Kapitel 21, "Entwickeln von Anwendungen für das Internet und das World Wide Web," in Erstellen von Anwendungsprogrammen mit Microsoft Access 97. Weitere Informationen über das Arbeiten mit ActiveX-Steuerelementen finden Sie in Kapitel 16, "Verwenden von ActiveX-Steuerelementen" in Erstellen von Anwendungsprogrammen.


Verwenden von ODBCDirect mit Microsoft Access

Was ist ODBCDirect?

ODBCDirect ist eine Technik, die das Arbeiten mit ODBC-Datenbank-Servern ermöglicht, ohne daß die Microsoft Jet-Datenbank-Engine geladen werden muß. ODBCDirect basiert auf dem Microsoft DAO 3.5-Objektmodell, so daß Sie bestehenden DAO-Code ganz einfach ändern können, um die Vorteile von ODBCDirect zu nutzen. Microsoft DAO 3.5 enthält neue Objekte, Methoden und Eigenschaften zur Unterstützung von ODBCDirect.

Vorteile des Zugriffs auf ODBC-Daten mit ODBCDirect

ODBCDirect bietet die folgenden Vorteile für ODBC-Operationen:

•	ODBCDirect macht Ihren Code schneller und effizienter, da der direkte Zugriff auf ODBC-Datenherkünfte ermöglicht wird. Da die Microsoft Jet-Datenbank-Engine nicht geladen werden muß, kommt ODBCDirect client-seitig mit weniger Ressourcen aus. Der ODBC-Server ist für die gesamte Abfrageverarbeitung zuständig.

•	ODBCDirect gestattet den erweiterten Zugriff auf server-spezifische Features, die bei Verwendung von ODBC über Microsoft Jet nicht verfügbar sind. Beispielsweise ermöglicht ODBCDirect für Server, die Cursor-Spezifikationen unterstützen, die Festlegung des Cursor-Ortes (lokal oder auf dem Server). Wenn Sie mit gespeicherten Prozeduren auf Serverebene arbeiten möchten, können Sie bei Verwendung von ODBCDirect Eingabewerte angeben und Rückgabewerte überprüfen, was mit Microsoft Jet nicht möglich ist.

•	ODBCDirect unterstützt auch asynchrone Abfragen. Wenn Sie eine Abfrage ausführen, brauchen Sie nicht auf die Beendigung der Abfrage zu warten, bevor Sie eine andere Operation ausführen können. Sie können die Ausführung der Abfrage mit Hilfe der Eigenschaft StillExecuting verfolgen.

•	ODBCDirect unterstützt die Stapelaktualisierung, so daß Änderungen von Recordset-Objekten zunächst lokal zwischengespeichert und später in einem Stapel an den Server abgesetzt werden können.

•	Mit ODBCDirect können Sie einfache cursorfreie Ergebnismengen, aber auch komplexe Cursor erstellen. Sie können auch Abfragen ausführen, die beliebig viele Ergebnismengen zurückgeben. Sie können die Anzahl der Rückgabezeilen einschränken und alle Meldungen und Fehler überwachen, die von der Ferndatenherkunft erzeugt werden, ohne hierbei die Ausführungsgeschwindigkeit der Abfrage zu beeinträchtigen.

Erstellen eines ODBCDirect-Arbeitsbereichs

Sie können einen ODBC-Arbeitsbereich erstellen, indem Sie im Argument Typ der Methode CreateWorkspace die Konstante dbUseODBC angeben. Sie können auch festlegen, daß ein ODBC-Arbeitsbereich standardmäßig erstellt wird, indem Sie die Eigenschaft DefaultType des Objekts DBEngine einstellen.

Sobald Sie einen ODBC-Arbeitsbereich erstellt haben, können Sie DAO-Objekte, Eigenschaften und Methoden verwenden, um die Daten auf dem ODBC-Datenbank-Server zu bearbeiten.

Vorteile des Zugriffs auf ODBC-Daten mit Microsoft Jet

Die Arbeitsbereiche von Microsoft Jet und ODBCDirect bieten unterschiedliche Funktionen, die sich gegenseitig ergänzen. Verwenden Sie einen Microsoft Jet-Arbeitsbereich, um auf .MDB-Dateien und ISAM-Datenformate, wie z.B. Text und Kalkulationstabellen, zuzugreifen. Microsoft Jet allein bietet die folgenden Features, die über ODBCDirect nicht verfügbar sind:

•	Aktualisierbare Verknüpfungen. Verwenden Sie einen Microsoft Jet-Arbeitsbereich, um Daten in Recordset-Objekten aktualisieren zu können, die auf Verknüpfungen mit mehreren Tabellen basieren.

•	Heterogene Verknüpfungen. Verwenden Sie einen Microsoft Jet-Arbeitsbereich, wenn Sie Tabellen in unterschiedlichen Datenherkünften verknüpfen möchten.

•	DDL-Operationen (Data Definition Language = Datendefinitionssprache). Verwenden Sie  einen Microsoft Jet-Arbeitsbereich, wenn Sie DDL-Operationen mit Datenzugriffsobjekten (DAO) durchführen möchten. ODBCDirect bietet kein TableDef-Objekt, so daß Sie Tabellen nicht mit DAO erstellen oder ändern können. Sie können DDL-Operationen jedoch durchführen, indem Sie mit SQL DDL-Anweisungen mit Hilfe von ODBCDirect ausführen.

•	Anbindung von Formularen und Steuerelementen. Wenn Formulare oder Steuerelemente Ihrer Anwendung an Daten in einer ODBC-Datenherkunft gebunden werden sollen, verwenden Sie Microsoft Jet. Daten, auf die in einem ODBCDirect-Arbeitsbereich zugegriffen wird, können nicht an Formulare oder Steuerelemente gebunden werden.

Wenn Sie die aufgeführten Features nicht benötigen, können Sie einen ODBCDirect-Arbeitsbereich verwenden.

Anmerkung   Sie können in Ihren Anwendungen sowohl Microsoft Jet- als auch ODBCDirect-Arbeitsbereiche definieren und in beliebiger Kombination verwenden. Beispielsweise können Sie in derselben Funktion einen Microsoft Jet-Arbeitsbereich definieren, um DDL-Operationen mit Hilfe von DAO durchzuführen, und daneben einen ODBCDirect-Arbeitsbereich definieren, um asynchrone Abfragen durchzuführen.


Das ist neu für Entwickler: Register-Steuerelement (TabControl)

Microsoft Access 97 enthält ein neues Register-Steuerelement, mit dem Sie in einem Steuerelement verschiedene andere Steuerelemente zu Gruppen zusammenfassen können. Beispielsweise können Sie ein Dialogfeld mit Registerkarten erstellen, in dem verschiedene Optionsgruppen in mehreren Registerkarten gruppiert sind.

Jede Seite in einem Register-Steuerelement stellt ein Page-Objekt in der Auflistung Pages des Register-Steuerelements dar. Jedes Page-Objekt besitzt eine eigene Auflistung Controls, welche die Control-Objekte auf der betreffenden Seite enthält.

Um eine neue Seite zu einem Register-Steuerelement hinzuzufügen, verwenden Sie die Methode Add der Auflistung Pages. Um eine Seite aus einem Register-Steuerelement zu entfernen, verwenden Sie die Methode Remove.

Die Eigenschaft Value eines Register-Steuerelements gibt an, welche Seite momentan ausgewählt ist. Sie gibt eine Ganzzahl zurück, die die Position der ausgewählten Seite in der Auflistung Pages anzeigt. Wenn z.B. die erste Seite in einem Register-Steuerelement ausgewählt ist, gibt die Eigenschaft Value den Wert 0 zurück, die Indexnummer der ersten Seite in der Auflistung Pages. Ist die zweite Seite in einem Register-Steuerelement ausgewählt, so gibt die Eigenschaft Value den Wert 1 zurück, usw. Die Position der Seite innerhalb der Auflistung entspricht dem Wert der Eigenschaft PageIndex für die betreffende Seite.


Fehlerbehebung

Mit Hilfe der Anweisung On Error GoTo können Sie Fehler auffangen und die Ausführung an die Stelle einer Prozedur umleiten, an der sich die Anweisungen für die Fehlerbehandlung befinden. Die folgende Anweisung leitet die Ausführung z.B. zur Sprungmarke Fehlerbehandlung: um:

On Error GoTo Fehlerbehandlung

Bei der Vergabe der Namen für die Sprungmarken der Fehlerbehandlungsroutinen einer Prozedur achten Sie auf folgendes: Der Name einer Sprungmarke muß eindeutig sein und darf nicht zu einem Konflikt mit einem anderen Element der Prozedur führen; und hinter dem jeweiligen Namen muß ein Doppelpunkt stehen. Innerhalb einer Prozedur setzen Sie die Anweisung Exit Sub bzw. Exit Function vor die erste Sprungmarke der Fehlerbehandlungsroutinen, damit der Fehlerbehandlungscode nicht auch dann ausgeführt wird, wenn kein Fehler auftritt.

Sub VerusachtEinenFehler()

' Bei Auftreten eines Fehlers die Ausführung umleiten.

On Error GoTo Fehlerbehandlung

' Provozieren des Fehlers "Division durch 0".

Err.Raise 11

Exit Sub

Fehlerbehandlung:

' Fehlerinformationen anzeigen.

MsgBox "Fehler " & Err.Number & ": " & Err.Description

' Die Ausführung mit der Anweisung fortsetzen, die unmittelbar

' auf die fehlerverursachende Anweisung folgt.

Resume Next

End Sub

Die Methode Raise des Objekts Err provoziert den angegebenen Fehler. Die Eigenschaft Number des Objekts Err gibt die Nummer zurück, die dem zuletzt aufgetretenen Laufzeitfehler zugewiesen ist; die Eigenschaft Description gibt die Meldung zurück, die diesem Fehler zugewiesen ist.

Anmerkungen

•	In Microsoft Access, Version 1.x und 2.0, haben Sie eventuell die Anweisung Error verwendet, um einen Fehler zu provozieren, die Funktion Err, um die Fehlernummer zurückzugeben, und die Funktion Error, um die Beschreibung des Fehlers zurückzugeben. Alter Fehlerbehandlungscode, in dem die Anweisung Error und die Funktion Error verwendet werden, funktioniert auch weiterhin einwandfrei. Wenn Sie neuen Code schreiben, sollten Sie allerdings das Objekt Err sowie dessen Eigenschaften und Methoden verwenden.

•	Microsoft Access, Version 1.x und 2.0, hat für alle im Zusammenhang mit OLE-Automatisierung auftretenden Fehler nur einen Fehler zurückgegeben. Jetzt gibt eine Anwendung, die als ActiveX-Komponente dient und einen Fehler entdeckt hat, dieselben Fehlerinformationen zurück, die Sie auch erhalten, wenn Sie direkt mit dieser Anwendung arbeiten. Schreiben Sie eventuell alten Fehlerbehandlungscode um, damit die neuen OLE-Automatisierungsfehler korrekt verwaltet werden.

•	Wenn Sie die Beschreibung zurückgeben möchten, die einem Microsoft Access-Fehler oder einem Fehler eines Datenzugriffsobjekts (DAO) zugewiesen ist, der zugehörige Fehler in Ihrem Code aber nicht auftritt, können Sie die Methode AccessError verwenden, um die Beschreibung zurückzugeben.

Weitere Informationen, wie Fehler aufgefangen und Anweisungen zur Fehlerbehandlung geschrieben werden, finden Sie in Erstellen von Anwendungsprogrammen mit Microsoft Access 97 in Kapitel 8, "Behandeln von Laufzeitfehlern".


Aufrufen von Prozeduren eines Unterformulars oder Unterberichts

Eine Prozedur, die sich in einem Modul eines Unterformulars oder Unterberichts befindet, können Sie auf zwei Arten aufrufen. Ist das Formular, das das Unterformular umfaßt, in der Formularansicht geöffnet, können Sie die Prozedur als Methode des Unterformulars ansprechen. Im folgenden Beispiel wird gezeigt, wie eine Prozedur namens NamenAuflisten des Unterformulars Bestellungen Unterformular aufgerufen wird, das an ein Unterformular-Steuerelement des Formulars Bestellungen gebunden ist:

Forms!Bestellungen![Bestellungen Unterformular].Form.NamenAuflisten

Als zweite Möglichkeit können Sie eine neue Instanz des Formulars erstellen, das als Unterformular dient, und dann die Prozedur aufrufen. Dies funktioniert selbst dann, wenn weder das Hauptformular noch das Unterformular geöffnet ist. Und diese Vorgehensweise funktioniert für jedes Formular, also für normale Formulare und für Unterformulare. Im folgenden Beispiel wird gezeigt, wie eine Instanz des Unterformulars Bestellungen Unterformular erstellt und die Prozedur NamenAuflisten aufgerufen wird:

Dim frm As New [Form_Bestellungen Unterformular]

frm.NamenAuflisten

Anmerkung   Wenn Sie eine neue Instanz eines Formulars erstellen, dessen Name aus mehreren Wörtern besteht, setzen Sie den Klassennamen des Formulars entsprechend dem vorangegangenen Beispiel in eckige Klammern.


Elemente der Laufzeitfehlerbehandlung

Fehler und Fehlerbehandlung

Wenn Sie eine Anwendung programmieren, berücksichtigen Sie, was beim Auftreten eines Fehlers geschieht. In Ihrer Anwendung kann aus einem der folgenden beiden Gründen ein Fehler auftreten. Erstens: Eine Bedingung beim Ausführen der Anwendung bewirkt, daß ansonsten gültiger Code fehlschlägt. Versucht Ihr Code z.B., eine Tabelle zu öffnen, die der Benutzer gelöscht hat, tritt ein Fehler auf. Zweitens: Ihr Code enthält ggf. unzutreffende Logik, wodurch nicht das erwünschte Ziel erreicht wird. Es tritt z.B. ein Fehler auf, wenn Ihr Code versucht, einen Wert durch Null zu teilen.

Wenn Sie keine Fehlerbehandlung implementiert haben, unterbricht Visual Basic die Ausführung und zeigt eine Fehlermeldung an, wenn in Ihrem Code ein Fehler auftritt. Der Benutzer Ihrer Anwendung ist in diesem Fall möglicherweise verunsichert und enttäuscht. Sie können viele Probleme vermeiden, indem Sie in Ihrem Code gründliche Fehlerbehandlungsroutinen vorsehen, die alle potentiellen Fehler behandeln.

Wenn Sie Fehlerbehandlung zu einer Prozedur hinzufügen, berücksichtigen Sie, wie die Prozedur die Ausführung beim Auftreten eines Fehlers weiterleitet. Der erste Schritt bei der Übergabe der Ausführung an eine Fehlerbehandlungsroutine besteht darin, eine Fehlerbehandlungsroutine zu aktivieren. Hierzu wird eine Form der Anweisung On Error in die Prozedur aufgenommen. Die Anweisung On Error leitet die Ausführung im Falle eines Fehlers. Existiert keine Anweisung On Error, hält Visual Basic die Ausführung einfach an und zeigt beim Auftreten eines Fehler eine Fehlermeldung an.

Tritt ein Fehler in einer Prozedur mit einer aktivierten Fehlerbehandlunsroutine auf, zeigt Visual Basic die übliche Fehlermeldung nicht an. Statt dessen wird die Ausführung an eine Fehlerbehandlungsroutine übergeben, sofern eine solche existiert. Wird die Ausführung an eine aktivierte Fehlerbehandlungsroutine übergeben, wird diese Fehlerbehandlungsroutine aktiv. Innerhalb der aktiven Fehlerbehandlungsroutine können Sie bestimmen, welcher Fehlertyp aufgetreten ist, und diesen in der gewünschten Weise ansprechen. Microsoft Access stellt zwei Objekte bereit, die Informationen über aufgetretene Fehler enthalten: das Visual Basic-Objekt Err und das Datenzugriffsobjekt Error.

Weitere Informationen zur Behandlung von Fehlern finden Sie in Erstellen von Anwendungsprogrammen mit Microsoft Access 97, Kapitel 8, "Behandeln von Laufzeitfehlern".

Weiterleiten der Ausführung beim Auftreten eines Fehlers

Eine Fehlerbehandlungsroutine gibt an, was innerhalb einer Prozedur geschieht, wenn ein Fehler auftritt. Sie möchten z.B., daß die Prozedur beendet wird, wenn ein bestimmter Fehler auftritt, oder Sie möchten die Bedingung korrigieren, die den Fehler ausgelöst hat, und die Ausführung wieder aufnehmen. Die Anweisungen On Error und Resume bestimmen, wie die Ausführung im Falle eines Fehlers fortgeführt wird.

Die On Error-Anweisung

Die Anweisung On Error aktiviert oder deaktiviert eine Fehlerbehandlungsroutine. Wird eine Fehlerbehandlungsroutine aktiviert, wird die Ausführung beim Auftreten eines Fehlers an die Fehlerbehandlungsroutine übergeben.

Es werden drei Formen von On Error-Anweisungen unterschieden: On Error GoTo Marke, On Error GoTo 0 und On Error Resume Next. Die Anweisung On Error GoTo Marke aktiviert eine Fehlerbehandlungsroutine, die mit der Zeile beginnt, in der die Anweisung gefunden wird. Aktivieren Sie daher die Fehlerbehandlungsroutine vor der ersten Zeile, in der ein Fehler auftreten kann. Ist die Fehlerbehandlungsroutine aktiv und tritt ein Fehler auf, wird die Ausführung an die Zeile übergeben, die durch das Argument Marke festgelegt ist.

Die im Argument Marke angegebene Zeile sollte den Beginn der Fehlerbehandlungsroutine enthalten. Die folgende Prozedur gibt z.B. an, daß beim Auftreten eines Fehlers die Fehlerbehandlung an die Zeile mit der Marke Error_FehlerKönnteAuftreten übergeben wird:

Function FehlerKönnteAuftreten()

' Fehlerbehandlungsroutine aktivieren.

On Error GoTo Error_FehlerKönnteAuftreten

.	' Code einfügen, der einen Fehler auslösen könnte.

.

.

Error_FehlerKönnteAuftreten:

.	' Code zur Behandlung des Fehlers einfügen.

.

.

End Function

Die Anweisung On Error GoTo 0 deaktiviert die Fehlerbehandlungsroutine innerhalb einer Prozedur. Sie gibt die Zeile 0 nicht als Start des Fehlerbehandlungscode an, selbst wenn die Prozedur eine Zeile mit der Nummer 0 enthält. Enthält Ihr Code keine Anweisung On Error GoTo 0, wird die Fehlerbehandlungsroutine automatisch deaktiviert, wenn die Prozedur vollständig ausgeführt wurde. Die Anweisung On Error GoTo 0 setzt die Eigenschaften des Objekts Err zurück und hat somit dieselbe Wirkung wie die Methode Clear des Objekts Err.

Die Anweisung On Error Resume Next ignoriert die Zeile, die einen Fehler verursacht hat, und übergibt die Ausführung an die sich daran anschließende Zeile. Die Ausführung wird dabei nicht unterbrochen. Sie können mit Hilfe der Anweisung On Error Resume Next die Eigenschaften des Objekts Err unmittelbar im Anschluß an die Zeile überprüfen, in der Sie einen Fehler erwarten, und den Fehler dann innerhalb der Prozedur statt in einer Fehlerbehandlungsroutine behandeln.

Die Resume-Anweisung

Die Anweisung Resume führt die Ausführung aus einer Fehlerbehandlungsroutine heraus zurück zum Kern der Prozedur. Sie können eine Anweisung Resume in eine Fehlerbehandlungsroutine setzen, wenn Sie möchten, daß die Ausführung an einem bestimmten Punkt der Prozedur fortgeführt wird. Eine Anweisung Resume ist jedoch nicht notwendig, Sie können die Prozedur nach der Fehlerbehandlungsroutine auch beenden.

Es werden drei Formen der Anweisung Resume unterschieden. Die Anweisung Resume- oder Resume 0 setzt die Ausführung in der Zeile fort, in der der Fehler aufgetreten ist. Die Anweisung Resume Next setzt die Ausführung in der sich unmittelbar anschließenden Zeile fort. Die Anweisung Resume Marke setzt die Ausführung in der durch das Argument Marke angegebenen Zeile fort. Das Argument Marke muß entweder eine Zeilenmarke oder eine Zeilennummer festlegen.

Üblicherweise verwenden Sie die Anweisung Resume- oder Resume 0, wenn der Benutzer eine Korrektur vornehmen muß. Wenn Sie den Benutzer z.B. auffordern, den Namen einer zu öffnenden Tabelle einzugeben, und der dieser den Namen einer nicht existierenden Tabelle angibt, können Sie ihn erneut auffordern und die Ausführung mit der Anweisung fortsetzen, die den Fehler verursachte.

Sie verwenden die Anweisung Resume Next, wenn Ihr Code den Fehler innerhalb einer Fehlerbehandlungsroutine korrigiert und Sie die Ausführung fortsetzen möchten, ohne die Zeile, die den Fehler verursachte, erneut auszuführen. Sie verwenden die Anweisung Resume Marke, wenn Sie die Ausführung an einem anderen Punkt der Prozedur fortführen möchten, der durch das Argument Marke festgelegt ist. Vielleicht möchten Sie die Ausführung an einer Exit-Routine wiederaufnehmen, wie im folgenden Abschnitt beschrieben.

Verlassen einer Prozedur

Wenn Sie in eine Prozedur eine Fehlerbehandlungsroutine aufnehmen, sehen Sie auch eine Exit-Routine vor, so daß die Fehlerbehandlungsroutine nur beim Auftreten eines Fehlers ausgeführt wird. Sie können eine Exit-Routine mit einer Zeilenmarke auf dieselbe Weise festlegen wie eine Fehlerbehandlungsroutine.

Sie können dem Beispiel im vorangehenden Abschnitt z.B. eine Exit-Routine hinzufügen. Tritt kein Fehler auf, wird die Exit-Routine im Anschluß an den Kern der Prozedur ausgeführt. Beim Auftreten eines Fehlers wird die Ausführung an die Exit-Routine übergeben, nachdem der Code in der Fehlerbehandlungsroutine ausgeführt wurde. Die Exit-Routine enthält eine Anweisung Exit.

Function FehlerKönnteAuftreten()

' Fehlerbehandlungsroutine aktivieren.

On Error GoTo Error_FehlerKönnteAuftreten

.	' Code einfügen, der einen Fehler auslösen könnte.

.

.

Exit_FehlerKönnteAuftreten:

Exit Function

Error_FehlerKönnteAuftreten:

.	' Code zur Behandlung des Fehlers einfügen.

.

.

' Ausführung über Exit-Routine zum Verlassen der Funktion wiederaufnehmen.

Resume Exit_FehlerKönnteAuftreten

End Function

Behandlung von Fehlern in verschachtelten Prozeduren

Tritt ein Fehler in einer verschachtelten Prozedur auf, die über keine aktivierte Fehlerbehandlungsroutine verfügt, durchsucht Visual Basic die Aufrufliste rückwärts nach einer aktivierten Fehlerbehandlungsroutine in einer anderen Prozedur, statt die Ausführung einfach anzuhalten. Dadurch ist Ihr Code in der Lage, den Fehler innerhalb einer anderen Prozedur zu beheben. Angenommen, Prozedur A ruft Prozedur B auf, und Prozedur B ruft Prozedur C auf. Wenn nun in Prozedur C ein Fehler auftritt und keine Fehlerbehandlungsroutine aktiviert ist, überprüft Visual Basic zunächst Prozedur B und dann Prozedur A nach einer aktivierten Fehlerbehandlungsroutine. Existiert eine solche, wird die Ausführung an diese übergeben. Ist dies nicht der Fall, wird die Ausführung unterbrochen und eine Fehlermeldung angezeigt.

Visual Basic durchsucht die Aufrufliste auch rückwärts nach einer aktivierten Fehlerbehandlungsroutine, wenn innerhalb einer aktiven Fehlerbehandlungsroutine ein Fehler auftritt. Sie können erzwingen, daß Visual Basic die Aufrufliste rückwärts durchsucht, indem Sie innerhalb einer aktiven Fehlerbehandlungsroutine mit der Methode Raise des Objekts Err einen Fehler neu erzeugen. Dies bietet sich zur Behandlung von Fehlern an, die Sie innerhalb einer Fehlerbehandlungsroutine nicht erwarten. Tritt ein unvorhergesehener Fehler auf und Sie behandeln diesen innerhalb der Fehlerbehandlungsroutine, gibt die Ausführung die Aufrufliste zurück, bis eine andere Fehlerbehandlungsroutine gefunden wird, die zur Behandlung des Fehlers eingerichtet werden kann.

Angenommen, Prozedur C verfügt über eine aktivierte Fehlerbehandlungsroutine, die jedoch den aufgetretenen Fehler nicht behebt. Nachdem die Fehlerbehandlungsroutine alle Fehler überprüft hat, die Sie erwartet haben, kann sie den ursprünglichen Fehler neu erzeugen. Die Ausführung gibt dann die Aufrufliste zu der Fehlerbehandlungsroutine in Prozedur B zurück, sofern eine solche existiert, und bietet dieser Fehlerbehandlungsroutine die Möglichkeit, den Fehler zu behandeln. Existiert in Prozedur B keine Fehlerbehandlungsroutine, oder behebt sie den Fehler nicht und erzeugt ihn neu, wird die Ausführung an die Fehlerbehandlungsroutine in Prozedur A übergeben, sofern diese existiert.

Nachfolgend ein weiteres Beispiel für dieses Konzept: Angenommen, Sie verfügen über eine verschachtelte Prozedur, die eine Fehlerbehandlungsroutine für eine fehlende Typübereinstimmung enthält und Sie haben diesen Fehler erwartet. An einer bestimmten Stelle in Prozedur C tritt der Fehler einer Division durch Null auf, den Sie nicht erwartet hatten. Wenn Sie eine Anweisung zur erneuten Erzeugung des ursprünglichen Fehlers vorgesehen haben, gibt die Ausführung die Aufrufliste bis zu einer anderen aktivierten Fehlerbehandlungsroutine zurück, falls eine solche existiert. Haben Sie in einer anderen Prozedur in der Aufrufliste einen Fehler der Division durch Null behoben, wird dieser Fehler behoben. Erzeugt Ihr Code den Fehler nicht neu, wird die Prozedur weiter ausgeführt, ohne den Divisionsfehler zu korrigieren. Dies kann wiederum andere Fehler innerhalb der Gruppe verschachtelter Prozeduren herbeiführen.

Zusammenfassend durchsucht Visual Basic die Aufrufliste in den folgenden Fällen rückwärts nach einer aktivierten Fehlerbehandlungsroutine:

•	Wenn in einer Prozedur, die keine aktivierte Fehlerbehandlungsroutine enthält, ein Fehler auftritt.

•	Wenn innerhalb einer aktivierten Fehlerbehandlungsroutine ein Fehler auftritt. Wenn Sie zum Neuerzeugen eines Fehlers die Methode Raise des Objekts Err verwenden, können Sie erzwingen, daß Visual Basic die Aufrufliste rückwärts nach einer aktivierten Fehlerbehandlungsroutine durchläuft.

Anfordern von Informationen zu einem Fehler

Nachdem die Ausführung an die Fehlerbehandlungsroutine übergeben wurde, muß Ihr Code bestimmen, welcher Fehler aufgetreten ist, und ihn adressieren. Visual Basic und Microsoft Access stellen mehrere Sprachelemente bereit, mit deren Hilfe Sie Informationen zu einem bestimmten Fehler anfordern können. Jedes ist jeweils für einen anderen Fehlertyp geeignet. Da Fehler in verschiedenen Teilen Ihrer Anwendung auftreten können, bestimmen Sie anhand der jeweils erwarteten Fehler, welches Element Sie in Ihrem Code verwenden.

Zur Fehlerbehandlung stehen die folgenden Sprachelemente zur Verfügung:

•	Das Objekt Err.

•	Das Objekt Error und die Errors-Auflistung.

•	Die Methode AccessError.

•	Das Ereignis Error.

Das Err-Objekt

Das Objekt Err wird von Visual Basic bereitgestellt. Wenn ein Visual Basic-Fehler auftritt, werden Informationen über diesen Fehler im Objekt Err gespeichert. Das Objekt Err wartet Informationen zu jeweils nur einem Fehler. Tritt ein neuer Fehler auf, wird das Objekt Err dahingehend aktualisiert, daß es statt dessen Informationen zu diesem Fehler enthält.

Um Informationen zu einem bestimmten Fehler zu erhalten, können Sie die Eigenschaften und Methoden des Objekts Err verwenden. Die Eigenschaft Number ist die Standardeigenschaft des Objekts Err; sie gibt die Kennummer des aufgetretenen Fehlers zurück. Die Eigenschaft Description des Objekts Err gibt die zu einem Visual Basic-Fehler gehörende Beschreibungszeichenfolge zurück. Die Methode Clear löscht die aktuellen Fehlerinformationen aus dem Objekt Err. Die Methode Raise erzeugt einen spezifischen Fehler neu und liefert den Eigenschaften des Objekts Err die Informationen zu diesem Fehler.

Das folgende Beispiel zeigt, wie Sie das Objekt Err in einer Prozedur verwenden können, die eine fehlende Typübereinstimmung auslösen kann:

Function FehlerKönnteAuftreten()

' Konstante zur Darstellung des potentiellen Fehlers deklarieren.

Const conFehlendeTypübereinstimmung As Integer = 13

On Error GoTo Error_FehlerKönnteAuftreten

.	' Code einfügen, der einen Fehler auslösen könnte.

.

.

Exit_FehlerKönnteAuftreten:

Exit Function

Error_FehlerKönnteAuftreten:

' Eigenschaften des Err-Objekts überprüfen.

If Err = conFehlendeTypübereinstimmung Then

.	' Code zur Fehlerbehandlung einfügen.

.

.

Else

' Ursprünglichen Fehler erneut erzeugen.

Dim intFehlerNr As Integer

intFehlerNr = Err

Err.Clear

Err.Raise intFehlerNr

End If

' Ausführung über Exit-Routine zum Verlassen der Funktion wieder aufnehmen.

Resume Exit_FehlerKönnteAuftreten

End Function

Beachten Sie, daß im oben stehenden Beispiel die Methode Raise zum Neuerzeugen des ursprünglichen Fehlers verwendet wird. Tritt ein anderer Fehler als eine fehlende Typübereinstimmung auf, wird die Ausführung an eine andere, innerhalb der Aufrufliste zurückliegende aktivierte Fehlerbehandlungsroutine übergeben, sofern eine solche existiert.

Das Objekt Err liefert Ihnen alle Informationen, die Sie zu Visual Basic-Fehlern benötigen. Es liefert jedoch keine vollständigen Informationen zu Microsoft Access-Fehlern oder Fehlern der Microsoft Jet-Datenbank-Engine. Microsoft Access und Datenzugriffsobjekte (DAO, Data Access Objects) stellen weitere Sprachelemente bereit, die Sie im Umgang mit solchen Fehlern unterstützen.

Das Error-Objekt und die Errors-Auflistung

Das Objekt Error und die Errors-Auflistung werden durch Datenzugriffsobjekte zur Verfügung gestellt. Das Objekt Error stellt einen DAO-Fehler dar. Eine einzige DAO-Operation kann mehrere Fehler verursachen, insbesondere, wenn Sie ODBC-Operationen ausführen. Jedem Fehler, der während einer bestimmten Datenzugriffsoperation auftritt, ist ein Objekt Error zugeordnet. Alle einer bestimmten DAO-Operation zugeordneten Error-Objekte sind in der Errors-Auflistung gespeichert, wobei der Fehler der niedrigsten Ebene das erste Objekt in der Auflistung und der Fehler der höchsten Ebene das letzte Objekt in der Auflistung darstellt.

Tritt ein DAO-Fehler auf, enthält das Visual Basic-Objekt Err die Fehlernummer für das erste Objekt in der Auflistung Errors. Um zu bestimmen, ob weitere DAO-Fehler aufgetreten sind, überprüfen Sie die Auflistung Errors. Die Werte der Eigenschaften Number und Description des ersten Objekts Error in der Errors-Auflistung sollten mit den Werten der Eigenschaften Number und Description des Visual Basic-Objekts Err übereinstimmen.

Die AccessError-Methode

Mit Hilfe der Methode Raise des Objekts Err können Sie einen Visual Basic-Fehler generieren, der nicht wirklich aufgetreten ist, und die zu diesem Fehler gehörende Beschreibungszeichenfolge festlegen. Sie können mit der Methode Raise jedoch keinen Microsoft Access- oder DAO-Fehler erzeugen. Um die Beschreibungszeichenfolge zu einem nicht wirklich aufgetretenen Microsoft Access- oder DAO-Fehler zu bestimmen, verwenden Sie die Methode AccessError.

Das Error-Ereignis

Mit Hilfe des Ereignisses Error können Sie Fehler auffangen, die in einem Microsoft Access-Formular oder -Bericht auftreten. Versucht ein Benutzer z.B. Text in ein Feld des Datentyps Datum/Uhrzeit einzugeben, tritt das Ereignis Error ein. Wenn Sie einem Formular Personal eine Ereignisprozedur Error hinzufügen und dann versuchen, einen Textwert in das Feld Einstellungsdatum einzugeben, wird die Ereignisprozedur Error ausgeführt.

Die Ereignisprozedur Error nimmt das ganzzahlige Argument DataErr an. Wird eine Ereignisprozedur Error ausgeführt, enthält das Argument DataErr die Nummer des aufgetretenen Microsoft Access-Fehlers. Die einzige Möglichkeit, die Fehlernummer des aufgetretenen Fehlers zu bestimmen, besteht darin, den Wert des Arguments DataErr zu überprüfen. Das Objekt Err enthält keine Fehlerinformationen, nachdem das Ereignis Error aufgetreten ist. Sie können den Wert des Arguments DataErr in Verbindung mit der Funktion AccessError verwenden, um die Fehlernummer und die Beschreibungszeichenfolge zu bestimmen.

Anmerkung   Die Anweisung Error und die Funktion Error sind nur aus Gründen der Rückwärtskompatibilität vorgesehen. Wenn Sie neuen Code schreiben, verwenden Sie die Objekte Err und Error, die Methode AccessError und das Ereignis Error, um Informationen über einen Fehler zu erhalten.


Initialize-Ereignis (Initialisieren)

Das Ereignis Initialize für ein Klassenmodul tritt ein, wenn Sie eine Instanz des Klassenmoduls erstellen.

Anmerkung   Wenn Sie Code ausführen möchten, der beim Eintreten des Ereignisses Initialize ausgeführt werden soll, schreiben Sie den Code innerhalb der Ereignisprozedur Initialize in einem Klassenmodul.

Hinweis

Das Ereignis Initialize tritt in folgenden Fällen ein:

•	Beim direkten Erstellen einer neuen Instanz einer Klasse mit Hilfe des Schlüsselworts New.

•	Beim indirekten Erstellen einer Klasse, indem Sie eine Eigenschaft einstellen oder zurückgeben oder eine im Klassenmodul definierte Methode anwenden.


Initialize-Ereignis (Initialisieren) - Ereignisprozedur

Um die Ereignisprozedur für das Ereignis Initialize zu erstellen, öffnen Sie das Klassenmodul und klicken Sie im Feld Objekt auf Class. Klicken Sie anschließend im Feld Prozedur auf Initialize.

Syntax

Private Sub Class_Initialize( )

Hinweis

Sie können mit dieser Ereignisprozedur Code ausführen, wenn eine Instanz der Klasse erstellt wird, oder Daten initialisieren, die von der Instanz der Klasse verwendet werden.

Das Ereignis Initialize tritt ein, wenn Sie eine neue Instanz einer Klasse mit Hilfe des Schlüsselworts New erstellen. Angenommen, die Klasse Benutzerobjekt ist definiert. Das folgende Beispiel zeigt, wie Sie zu einer Prozedur in einem Standardmodul eine Deklarationsanweisung, die eine neue Instanz der Klasse Benutzerobjekt erstellt, hinzufügen können.

Dim obj As New KundeObjekt

Wenn Sie die Prozedur ausführen, die diese Deklaration enthält, erstellt Visual Basic eine neue Instanz der Klasse KundeObjekt, und das Ereignis Initialize tritt ein.

Das Ereignis Initialize tritt auch dann ein, wenn Sie eine Instanz einer Klasse erstellen, indem Sie eine Eigenschaft einstellen oder zurückgeben oder eine im Klassenmodul definierte Methode anwenden. Angenommen, Sie haben die Funktion AuflistenNamen im Klassenmodul Benutzerobjekt definiert. Um diese Funktion von einem anderen Modul aus auszuführen, qualifizieren Sie die Funktion mit dem Namen des Klassenmoduls, wie im folgenden Beispiel dargestellt:

KundeObjekt.ListNames

Das Qualifizieren der Funktion mit dem Namen des Klassenmoduls erstellt eine Instanz des Klassenmoduls, und das Ereignis Initialize tritt ein.


Terminate-Ereignis (Beenden)

Das Ereignis Terminate für ein Klassenmodul tritt ein, wenn alle Verweise auf eine Instanz der Klasse aus dem Speicher entfernt wurden.

Anmerkung   Wenn Sie Code ausführen möchten, der beim Eintreten des Ereignisses Terminate ausgeführt werden soll, schreiben Sie den Code innerhalb der Ereignisprozedur Terminate in einem Klassenmodul.

Hinweis

Dieses Ereignis tritt nur ein, wenn Sie einen Verweis auf eine Instanz einer Klasse aus dem Speicher entfernen.


Terminate-Ereignis (Beenden) - Ereignisprozedur

Um die Ereignisprozedur für das Ereignis Terminate zu erstellen, öffnen Sie das Klassenmodul und klicken Sie im Feld Objekt auf Class. Klicken Sie anschließend im Feld Prozedur auf Terminate.

Syntax

Private Sub Class_Terminate( )

Hinweis

Um einen Verweis auf eine Instanz einer Klasse aus dem Speicher zu entfernen, können Sie die Variable, der der Verweis zugewiesen ist, auf Nothing einstellen. Angenommen, Sie haben z.B. eine Instanz der Klasse KundeObjekt erstellt und der Objektvariablen obj zugewiesen. Wenn Sie obj auf Nothing einstellen, wird der Verweis gelöscht. Sobald alle Verweise auf die Instanz der Klasse aus dem Speicher entfernt worden sind, tritt das Ereignis Terminate ein.

Ein Verweis auf eine Instanz einer Klasse wird auch dann aus dem Speicher entfernt, wenn die Objektvariable, der sie zugeordnet ist, nicht mehr im Gültigkeitsbereich liegt. Dies ist z.B. dann der Fall, wenn die Variable in einer Prozedur definiert wurde und die Prozedur die Ausführung beendet hat. Wenn die Variable auf Modulebene in einem Standardmodul definiert wurde, liegt sie nicht mehr im Gültigkeitsbereich, wenn der Code zurückgesetzt wird. Werden alle Verweise auf eine Instanz einer Klasse auf diese Weise entfernt, tritt das Ereignis Terminate ebenfalls ein.

Das Ereignis Terminate wird nicht ausgelöst, wenn Instanzen einer Klasse aus dem Speicher entfernt wurden, weil Microsoft Access fehlerhaft beendet wurde. Wenn Ihr Code z.B. die Methode Quit des Microsoft Access-Objekts Application aufruft, bevor alle bestehenden Instanzen der Klasse aus dem Speicher entfernt wurden, wird das Ereignis Terminate für diese Klasse nicht ausgelöst.


ApplyFilter-Ereignis (AnwendenFilter)

Das Ereignis ApplyFilter tritt ein, nachdem Sie eine der folgenden Schrittfolgen ausgeführt haben:

•	Klicken Sie in der Formularansicht im Menü Datensätze auf Filter/Sortierung anwenden, klicken Sie im Fenster für die Filterdefinition im Menü Filter auf Filter/Sortierung anwenden oder in der Symbolleiste auf Filter/Sortierung anwenden [image]. Daraufhin wird der zuletzt erstellte Filter zugewiesen (der entweder als formularbasierter Filter oder im Fenster Spezialfilter/-sortierung erstellt wurde).

•	Zeigen Sie in der Formularansicht im Menü Datensätze auf Filter und klicken Sie auf Auswahlbasierter Filter, oder klicken Sie in der Symbolleiste auf Auswahlbasierter Filter  [image]. Daraufhin wird ein Filter zugewiesen, der auf dem Eintrag basiert, der momentan im Formular ausgewählt ist.

•	Zeigen Sie in der Formularansicht im Menü Datensätze auf Filter und klicken Sie auf Auswahlausschließender Filter. Daraufhin wird ein Filter zugewiesen, der die aktuelle Markierung im Formular ausschließt.

•	Klicken Sie in der Formularansicht im Menü Datensätze auf Filter/Sortierung entfernen, oder klicken Sie in der Symbolleiste auf Filter entfernen  [image]. Dadurch werden alle Filter (oder Sortierungen), die dem Formular momentan zugewiesen sind, entfernt.

•	Klicken Sie im Kontextmenü auf Auswahlbasierter Filter, Auswahlausschließender Filter oder Filter/Sortierung entfernen, oder geben Sie im Feld Filter nach einen Wert oder Ausdruck ein, wenn ein gebundenes Steuerelement den Fokus hat.

•	Schließen Sie das Fenster Spezialfilter/-sortierung oder das Fenster Formularbasierter Filter.

•	Klicken Sie im Menü Filter auf Spezialfilter/-sortierung, während das Fenster Formularbasierter Filter geöffnet ist, oder klicken Sie im Menü Filter auf Formularbasierter Filter, während das Fenster Spezialfilter/-sortierung geöffnet ist. Dadurch wird veranlaßt, daß die beiden Ereignisse ApplyFilter und Filter eintreten: ApplyFilter tritt ein, sobald das offene Filterdefinitionsfenster geschlossen ist, und das Ereignis Filter tritt ein, sobald das andere Filterdefinitionsfenster geöffnet ist.

Hinweis

Soll ein Makro oder eine Ereignisprozedur ausgeführt werden, wenn dieses Ereignis eintritt, stellen Sie die Eigenschaft OnApplyFilter auf den Namen des Makros bzw. auf [Ereignisprozedur] ein.

Mit dem Ereignis ApplyFilter können Sie folgende Schritte einleiten:

•	Prüfen, ob der zugewiesene Filter korrekt ist. Angenommen, Sie möchten sich vergewissern, daß jeder Filter, der dem Formular Bestellungen zugewiesen wird, Kriterien enthält, die das Feld Bestelldatum einschränken. Sie können dazu den Wert der Eigenschaft Filter des Formulars daraufhin prüfen, ob diese Kriterien Bestandteil des Ausdrucks sind, der die WHERE-Klausel bildet.

•	Ändern der Darstellungsweise des Formulars, bevor ein Filter zugewiesen wird. Dies bietet sich z.B. an, wenn Sie einige Felder deaktivieren oder ausblenden möchten, die für die von diesem Filter angezeigten Datensätze überflüssig sind.

•	Zurücknehmen oder Ändern von Vorgängen, die ausgelöst wurden, nachdem das Ereignis Filter eingetreten war. So können Sie z.B. bestimmte Steuerelemente des Formulars deaktivieren oder ausblenden, wenn Sie nicht möchten, daß diese in die Filterkriterien einbezogen werden, wenn ein Benutzer den Filter erstellt. Sie können diese Steuerelemente wieder aktivieren oder anzeigen, nachdem der Filter zugewiesen wurde.

Die Vorgänge eines ApplyFilter-Makros oder einer ApplyFilter-Ereignisprozedur werden entweder ausgelöst, bevor der Filter zugewiesen oder gelöscht wird, oder nachdem eines der Fenster Spezialfilter/-sortierung bzw. Formularbasierter Filter geschlossen wurde, aber bevor das Formular erneut angezeigt wird. Die Kriterien, die Sie in den neu erstellten Filter eingegeben haben, stehen dem ApplyFilter-Makro oder der ApplyFilter-Ereignisprozedur als Einstellung der Eigenschaft Filter zur Verfügung.

Anmerkung   Das Ereignis ApplyFilter tritt nicht ein, wenn der Benutzer einen der folgenden Schritte ausführt:

•	Zuweisen oder Entfernen eines Filters aus einem Makro heraus mit einer der Aktionen ZuweisenFilter, ÖffnenFormular oder AnzeigenAlleDatensätze oder aus Visual Basic mit den entsprechenden Methoden des Objekts DoCmd.

•	Verwenden der Aktion Schließen bzw. der Methode Close des Objekts DoCmd, um eines der Fenster Spezialfilter/-sortierung oder Formularbasierter Filter zu schließen.

•	Einstellen der Eigenschaft Filter oder der Eigenschaft FilterOn aus einem Makro oder aus Visual Basic (obwohl Sie diese Eigenschaften in einem ApplyFilter-Makro oder in einer ApplyFilter-Ereignisprozedur einstellen können).


ApplyFilter-Ereignis (AnwendenFilter) - Makros

Soll ein Makro ausgeführt werden, wenn das Ereignis ApplyFilter eintritt, stellen Sie die Eigenschaft OnApplyFilter auf den Namen des Makros ein.

Hinweis

Sie können einen Filter prüfen oder die Kriterien ändern, die der Benutzer eingegeben hat, indem Sie in dem ApplyFilter-Makro in einer Makrobedingung den Wert der Eigenschaft Filter lesen oder mit der Aktion SetzenWert den Wert der Eigenschaft einstellen.

Sie können in einem ApplyFilter-Makro die Aktion AbbrechenEreignis verwenden, um die Zuweisung des Filters abzubrechen. In einer Bedingung können Sie die Werte bestimmter Steuerelemente des Formulars prüfen und gezielt den jeweils geeigneten Filter zuweisen. Angenommen, auf dem Formular Bestellungen gibt es ein Kontrollkästchen namens HatUnerledigteBestellungen. Wenn dieses Kontrollkästchen aktiviert ist, könnten Sie einen Filter zuweisen, der dafür sorgt, daß auf dem Formular die Datensätze angezeigt werden, die unerledigte Bestellungen enthalten. Ist das Kontrollkästchen deaktiviert, können Sie die Zuweisung des Filters abbrechen und eine Meldung anzeigen, die mitteilt, daß es keine unerledigten Bestellungen gibt.


ApplyFilter-Ereignis (AnwendenFilter) - Ereignisprozeduren

Wenn Sie eine Ereignisprozedur erstellen möchten, die ausgeführt wird, sobald das Ereignis ApplyFilter eingetreten ist, stellen Sie die Eigenschaft OnApplyFilter auf [Ereignisprozedur] ein und klicken auf die Editor-Schaltfläche  [image]  .

Syntax

Private Sub Form_ApplyFilter(Cancel As Integer, ApplyType As Integer)

Eine ApplyFilter-Ereignisprozedur hat folgende Argumente.

Argument	Beschreibung
Cancel	Die Einstellung dieses Arguments gibt an, ob der Filter zugewiesen werden soll. Wenn Sie das Argument Cancel auf True (-1) einstellen, wird der Filter nicht zugewiesen. Sie können auch die Methode CancelEvent des Objekts DoCmd verwenden, um dafür zu sorgen, daß der Filter nicht zugewiesen wird.
ApplyType	Dieses Argument gibt den Vorgang an, der das Eintreten des Ereignisses ApplyFilter bewirkt hat. Das Argument ApplyType ist auf eine der folgenden eingebauten Konstanten eingestellt:
	Konstante	Wert
	acShowAllRecords	0
	acApplyFilter	1
	acCloseFilterWindow	2
Hinweis

Mit einer ApplyFilter-Ereignisprozedur können Sie bestimmte Steuerelemente eines Formulars anzeigen bzw. ausblenden oder aktivieren bzw. deaktivieren, wenn der Filter zugewiesen oder entfernt wird. Wenn z.B. einem Formular namens Bestellungen ein Filter zugewiesen ist, der dafür sorgt, daß nur die bereits bezahlten Bestellungen angezeigt werden, könnten Sie die Felder Betrag, MWSt und Gesamtbetrag ausblenden, solange das Argument ApplyType den Wert acApplyFilter hat, und diese Felder wieder anzeigen, sobald das Argument ApplyType den Wert acShowAllRecords hat.

Sie können eine ApplyFilter-Ereignisprozedur auch verwenden, um Vorgänge rückgängig zu machen, die als Reaktion auf das Ereignis Filter ausgeführt wurden. Dies ist insbesondere dann hilfreich, wenn der Benutzer das Fenster für die Filterdefinition geschlossen hat, ohne einen Filter zu erstellen (das Argument ApplyType hat dann den Wert acCloseFilterWindow).


ApplyFilter-Ereignis (AnwendenFilter) - Ereignisprozedur - Beispiel

Das folgende Beispiel zeigt, wie Sie die Steuerelemente Betrag, MWSt und Gesamtbetrag eines Formular namens Bestellungen ausblenden können, wenn der zugewiesene Filter die Datensätze so begrenzt, daß nur die Bestellungen angezeigt werden, deren Rechnungen beglichen wurden.

Sie können dieses Beispiel ausprobieren, indem Sie die folgende Ereignisprozedur zu einem Formular namens Bestellungen hinzufügen, das die Steuerelemente Betrag, MWSt und Gesamtbetrag enthält. Führen Sie einen Filter aus, der nur die Bestellungen anzeigt, die bereits bezahlt sind.

Private Sub Form_ApplyFilter(Cancel As Integer, ApplyType As Integer)

If Not IsNull(Me.Filter) And (InStr(Me.Filter, "Bestellungen.Bezahlt=-1")>0 _

Or InStr(Me.Filter, "Bestellungen.Bezahlt=True")>0)Then

If ApplyType = acApplyFilter Then

Forms!Bestellungen!Betrag.Visible = False

Forms!Bestellungen!MWSt.Visible = False

Forms!Bestellungen!Gesamtbetrag.Visible = False

ElseIf ApplyType = acShowAllRecords Then

Forms!Bestellungen!Betrag.Visible = True

Forms!Bestellungen!MWSt.Visible = True

Forms!Bestellungen!Gesamtbetrag.Visible = True

End If

End If

End Sub


Filter-Ereignis

Das Ereignis Filter tritt ein, nachdem Sie eine der folgenden Schrittfolgen ausgeführt haben:

•	Zeigen Sie in der Formularansicht im Menü Datensätze auf Filter, und klicken Sie auf Formularbasierter Filter, oder klicken Sie in der Symbolleiste auf Formularbasierter Filter  [image]. Daraufhin wird das Fenster Formularbasierter Filter geöffnet, in dem Sie auf Basis der Felder des Formulars schnell einen Filter erstellen können.

•	Zeigen Sie in der Formularansicht im Menü Datensätze auf Filter, und klicken Sie auf Spezialfilter/-sortierung. Daraufhin wird das Fenster Spezialfilter/-sortierung geöffnet, in dem Sie komplexe Filter für das Formular erstellen können.

•	Klicken Sie im Menü Filter auf Spezialfilter/-sortierung, während das Fenster Formularbasierter Filter geöffnet ist, oder klicken Sie im Menü Filter auf Formularbasierter Filter, während das Fenster Spezialfilter/-sortierung geöffnet ist. Dadurch wird veranlaßt, daß die beiden Ereignisse ApplyFilter und Filter eintreten: ApplyFilter tritt ein, sobald das offene Filterdefinitionsfenster geschlossen ist, und das Ereignis Filter tritt ein, sobald das andere Filterdefinitionsfenster geöffnet ist.

Hinweis

Soll ein Makro oder eine Ereignisprozedur ausgeführt werden, wenn dieses Ereignis eintritt, stellen Sie die Eigenschaft OnFilter auf den Namen des Makros bzw. auf [Ereignisprozedur] ein.

Mit dem Ereignis Filter können Sie folgende Schritte einleiten:

•	Entfernen des Filters, der jeweils für das Formular verwendet wird. Stellen Sie dazu die Eigenschaft Filter des Formulars in dem Filter-Makro oder in der Filter-Ereignisprozedur auf eine leere Zeichenfolge (" ") ein. Dies bietet sich immer dann an, wenn Sie sicherstellen möchten, daß für den neuen Filter keine alten Kriterien übernommen werden. Immer dann, wenn Sie das Merkmal Auswahlbasierter Filter verwenden, wird das von Ihnen angegebene Kriterium (der Text, der auf dem jeweiligen Formular markiert ist), zu der WHERE-Klausel der Eigenschaft Filter hinzugefügt. Dieses Kriterium wird dann sowohl im Fenster Formularbasierter Filter als auch im Fenster Spezialfilter/-sortierung angezeigt. Mit Hilfe des Ereignisses Filter können Sie dieses alte Kriterium entfernen.

•	Eingeben von Standardeinstellungen für den neuen Filter. Stellen Sie dazu die Eigenschaft Filter ein, damit die entsprechenden Kriterien berücksichtigt werden. Sie könnten z.B. festlegen, daß alle Filter, die dem Formular Artikel zugewiesen sind, nur aktuelle Artikel anzeigen (Artikel, bei denen auf dem Formular Artikel das Steuerelement Auslaufartikel nicht aktiviert ist).

•	Verwenden Ihres eigenen Filterdefinitionsfensters statt eines der Filterdefinitionsfenster von Microsoft Access. Sobald das Ereignis Filter eingetreten ist, können Sie Ihr eigenes Formular öffnen. Die in dieses Formular eingegebenen Werte können Sie dann verwenden, um die Eigenschaft Filter einzustellen und das ursprüngliche Formular zu filtern. Sobald der Benutzer Ihr Filterdefinitionsformular geschlossen hat, stellen Sie die Eigenschaft FilterOn des ursprünglichen Formulars auf True (-1) ein, damit der Filter zugewiesen wird. Wird das Ereignis Filter abgebrochen, wird das Microsoft Access-Filterdefinitionsfenster nicht geöffnet.

•	Für bestimmte Steuerelemente verhindern, daß sie auf dem Formular angezeigt oder im Fenster Formularbasierter Filter verwendet werden. Wenn Sie ein Steuerelement in dem Filter-Makro oder in der Filter-Ereignisprozedur ausblenden oder deaktivieren, ist dieses Steuerelement im Fenster Formularbasierter Filter ausgeblendet bzw. deaktiviert und kann nicht für das Festlegen von Filterkriterien verwendet werden. Sie können dann das Ereignis ApplyFilter verwenden, um das Steuerelement wieder anzuzeigen oder zu aktivieren, nachdem der Filter zugewiesen oder aus dem Formular entfernt wurde.


Filter-Ereignis - Makros

Soll ein Makro ausgeführt werden, wenn das Ereignis Filter eintritt, stellen Sie die Eigenschaft OnFilter auf den Namen des Makros ein.

Hinweis

Die Eigenschaft Filter können Sie in einem Filter-Makro mit der Aktion SetzenWert einstellen. Dies ermöglicht Ihnen das Anpassen der Filterkriterien, die der Benutzer sieht, wenn das Fenster Formularbasierter Filter oder das Fenster Spezialfilter/-sortierung angezeigt wird.

Mit der Aktion AbbrechenEreignis können Sie in einem Filter-Makro das Öffnen des Filterdefinitionsfensters abbrechen.


Filter-Ereignis - Ereignisprozeduren

Wenn Sie eine Ereignisprozedur erstellen möchten, die ausgeführt wird, sobald das Ereignis Filter eingetreten ist, stellen Sie die Eigenschaft OnFilter auf [Ereignisprozedur] ein und klicken auf die Editor-Schaltfläche  [image]  .

Syntax

Private Sub Form_Filter(Cancel As Integer, FilterType As Integer)

Eine Filter-Ereignisprozedur hat folgende Argumente.

Argument	Beschreibung
Cancel	Die Einstellung dieses Arguments gibt an, ob das Filterdefinitionsfenster geöffnet wird. Wenn Sie das Argument Cancel auf True (-1) einstellen, wird das Filterdefinitionsfenster nicht geöffnet. Sie können auch die Methode CancelEvent des Objekts DoCmd verwenden, um das Öffnen des Filterdefinitionsfensters abzubrechen.
FilterType	Dieses Argument gibt das Filterdefinitionsfenster an, das der Benutzer öffnen möchte. Das Argument FilterType ist auf eine der folgenden eingebauten Konstanten eingestellt:
	Konstante	Wert
	acFilterByForm	0
	acFilterAdvanced	1
Hinweis

Sie können eine Filter-Ereignisprozedur verwenden, um im Fenster Formularbasierter Filter bestimmte Steuerelemente zu deaktivieren oder auszublenden und damit zu verhindern, daß sie in Filterkriterien verwendet werden. Angenommen, Sie möchten, daß Ihr Formular Bestellungen immer die Datensätze anzeigt, die im Steuerelement Gesamtbetrag einen Wert besitzen, auch wenn dieser noch so klein ist. Sie können dieses Steuerelement in der Filter-Ereignisprozedur deaktivieren oder ausblenden und dann in der ApplyFilter-Ereignisprozedur wieder aktivieren bzw. anzeigen. Sollen im Fenster Formularbasierter Filter Steuerelemente deaktiviert oder ausgeblendet werden, eignet sich die Filter-Ereignisprozedur besser als das Filter-Makro, da Sie anhand des Arguments FilterType prüfen können, ob der Benutzer das Fenster Formularbasierter Filter geöffnet hat. Im Fenster Spezialfilter/-sortierung werden alle Steuerelemente eines Formulars angezeigt, auch die deaktivierten oder ausgeblendeten Steuerelemente.


Filter-Ereignis - Ereignisprozedur - Beispiel

Das folgende Beispiel zeigt, wie das Steuerelement Gesamtbetrag eines Formulars namens Bestellungen deaktiviert werden kann, sobald der Benutzer versucht, einen Filter zu erstellen. Der Benutzer kann dann nicht nach diesem Feld filtern. Jeder Datensatz, der im Feld Gesamtbetrag einen Wert enthält und den anderen Filterkriterien entspricht, wird im gefilterten Formular angezeigt. Außerdem wird der Benutzer in diesem Beispiel gezwungen, das Fenster Formularbasierter Filter zu verwenden. Das Fenster Spezialfilter/-sortierung kann er nicht öffnen.

Sie können dieses Beispiel ausprobieren, indem Sie die folgende Ereignisprozedur zu einem Formular namens Bestellungen hinzufügen, das das Steuerelement Gesamtbetrag enthält. Versuchen Sie, mit dem Fenster Spezialfilter/-sortierung einen Filter zu erstellen, der auf dem Steuerelement Gesamtbetrag basiert. Versuchen Sie dann, denselben Filter mit dem Fenster Formularbasierter Filter zu erstellen.

Private Sub Form_Filter(Cancel As Integer, FilterType As Integer)

If FilterType = acFilterByForm Then

Forms!Bestellungen!Gesamtbetrag.Enabled = False

ElseIf FilterType = acFilterAdvanced Then

MsgBox "Dieses Formular läßt sich am besten mit dem Befehl bzw. " _

& "der Schaltfläche 'Formularbasierter Filter' filtern.", vbOKOnly + vbInformation

Cancel = True

End If

End Sub


NoData-Ereignis (OhneDaten)

Das Ereignis NoData tritt ein, nachdem Microsoft Access einen Bericht zum Drucken formatiert hat, der keine Daten enthält (der Bericht ist an eine leere Datensatzgruppe gebunden), aber bevor der Bericht gedruckt wird. Sie können dieses Ereignis verwenden, um zu verhindern, daß ein leerer Bericht gedruckt wird.

Hinweis

Soll ein Makro oder eine Ereignisprozedur ausgeführt werden, wenn dieses Ereignis eintritt, stellen Sie die Eigenschaft OnNoData auf den Namen des Makros bzw. auf [Ereignisprozedur] ein.

Ist der Bericht nicht an eine Tabelle oder eine Abfrage gebunden (über die Eigenschaft RecordSource des Berichts), tritt das Ereignis NoData nicht ein.

Dieses Ereignis tritt ein, nachdem für den Bericht das Ereignis Format und bevor für den Bericht das erste Mal das Ereignis Print eingetreten ist.

Für Unterberichte tritt dieses Ereignis nicht ein. Für den Fall, daß Sie Steuerelemente eines Unterberichts ausblenden möchten, wenn der Unterbericht keine Daten enthält und Sie daher verhindern möchten, daß die Steuerelemente gedruckt werden, können Sie die Eigenschaft HasData in einem Makro oder einer Ereignisprozedur verwenden, die ausgeführt wird, wenn eines der Ereignisse Format oder Print eintritt.

Das Ereignis NoData tritt ein, bevor das Ereignis Page das erste Mal für den Bericht eintritt.


NoData-Ereignis (OhneDaten) - Makros

Soll ein Makro ausgeführt werden, wenn das Ereignis NoData eintritt, stellen Sie die Eigenschaft OnNoData auf den Namen des Makros ein.

Hinweis

Wenn Sie verhindern möchten, daß ein leerer Bericht gedruckt wird, können Sie das Drucken in einem NoData-Makro mit der Aktion AbbrechenEreignis abbrechen.


NoData-Ereignis (OhneDaten) - Ereignisprozeduren

Wenn Sie eine Ereignisprozedur erstellen möchten, die ausgeführt wird, sobald das Ereignis NoData eingetreten ist, stellen Sie die Eigenschaft OnNoData auf [Ereignisprozedur] ein und klicken auf die Editor-Schaltfläche  [image]  .

Syntax

Private Sub Report_NoData(Cancel As Integer)

Eine NoData-Ereignisprozedur hat das folgende Argument.

Argument	Beschreibung
Cancel	Die Einstellung dieses Arguments gibt an, ob der Bericht gedruckt wird. Wird das Argument Cancel auf True (-1) eingestellt, wird der Bericht nicht gedruckt. Sie können auch die Methode CancelEvent des Objekts DoCmd verwenden, um das Drucken des Berichts abzubrechen.


NoData-Ereignis (OhneDaten) - Ereignisprozedur - Beispiel

Das folgende Beispiel zeigt, wie Sie das Drucken eines Berichts abbrechen können, der keine Daten enthält. Es wird ein Meldungsfeld angezeigt, das dem Benutzer mitteilt, daß der Druckvorgang abgebrochen wurde.

Sie können dieses Beispiel ausprobieren, indem Sie die folgende Ereignisprozedur zu einem Bericht hinzufügen. Versuchen Sie, den Bericht auszuführen, wenn er keine Daten enthält.

Private Sub Report_NoData(Cancel As Integer)

MsgBox "Der Bericht enthält keine Daten." _

& "@Das Drucken des Berichts wird abgebrochen. " _

& "@Prüfen Sie anhand der Datenquelle des Berichts, ob Sie " _

& "die richtigen Kriterien eingegeben haben (z.B. einen " _

& "gültigen Datumsbereich). ", vbOKOnly + vbInformation

Cancel = True

End Sub


Page-Ereignis (Seite)

Das Ereignis Page tritt ein, nachdem Microsoft Access eine Seite eines Berichts zum Drucken formatiert hat, jedoch bevor die Seite gedruckt wird. Sie können dieses Ereignis verwenden, um einen Rahmen für die Seite zu erstellen oder um der Seite andere grafische Elemente hinzuzufügen.

Hinweis

Wenn Sie ein Makro oder eine Ereignisprozedur erstellen möchten, die ausgeführt wird, sobald diese Ereignis eingetreten ist, stellen Sie die Eigenschaft OnPage auf den Namen des Makros oder auf [Ereignisprozedur] ein.

Dieses Ereignis tritt ein nach allen für den Bericht ausgelösten Format-Ereignissen und nach allen für die Seite ausgelösten Print-Ereignissen, aber bevor die Seite tatsächlich gedruckt wird.

Meist verwenden Sie in der Print-Ereignisprozedur die Methoden Line, Circle und PSet, um die für die Seite gewünschten Grafikelemente zu erstellen.

Das Ereignis NoData tritt ein, bevor das erste Page-Ereignis für den Bericht ausgelöst wird.


Page-Ereignis (Seite) - Makros

Soll ein Makro ausgeführt werden, wenn das Ereignis Page eintritt, stellen Sie die Eigenschaft OnPage auf den Namen des Makros ein.

Hinweis

Auf das Ereignis Page reagieren Sie meist nicht mit einem Page-Makro, sondern mit einer Page-Ereignisprozedur. Dies liegt daran, daß Sie normalerweise die Methoden Line, Circle und PSet in der Page-Ereignisprozedur verwenden, um für die Seite die gewünschten Grafikelemente zu erstellen.

Die Aktion AbbrechenEreignis können Sie in einem Page-Makro nicht verwenden.


Page-Ereignis (Seite) - Ereignisprozeduren

Wenn Sie eine Ereignisprozedur erstellen möchten, die ausgeführt wird, sobald das Ereignis Page eingetreten ist, stellen Sie die Eigenschaft OnPage auf [Ereignisprozedur] ein und klicken auf die Editor-Schaltfläche  [image]  .

Syntax

Private Sub Report_Page( )

Hinweis

Sie können das Ereignis Page nicht abbrechen.


Page-Ereignis (Seite) - Ereignisprozedur - Beispiel

Das folgende Beispiel zeigt, wie Sie mit der Methode Line einen Rahmen um eine Berichtsseite ziehen können. Die Eigenschaften ScaleWidth und ScaleHeight geben standardmäßig die interne Breite und Höhe des Berichts zurück.

Private Sub Report_Page()

Me.Line(0, 0)-(Me.ScaleWidth, Me.ScaleHeight), , B

End Sub


ItemAdded-Ereignis

Das Ereignis ItemAdded tritt ein, wenn von Visual Basic aus ein Verweis zum Projekt hinzugefügt wird.

Anmerkungen

•	Das Ereignis ItemAdded betrifft die Auflistung References. Es ist im Gegensatz zu den meisten anderen Ereignissen keinem Steuerelement, Formular oder Bericht zugeordnet. Um eine Prozedurdefinition für die Ereignisprozedur ItemAdded zu erstellen, müssen Sie daher eine spezielle Syntax verwenden.

•	Das Ereignis ItemAdded kann, wenn es eintritt, nur eine Ereignisprozedur ausführen, aber kein Makro.

Hinweis

Dieses Ereignis tritt ein, wenn Sie einen Verweis vom Code aus hinzufügen. Es tritt nicht ein, wenn Sie einen Verweis vom Dialogfeld Verweise aus hinzufügen. Dieses Dialogfeld wird angezeigt, indem Sie im Menü Extras auf Verweise klicken, wenn das Modulfenster das aktive Fenster ist


ItemAdded-Ereignis - Ereignisprozeduren

Um eine Ereignisprozedur zu erstellen, die beim Eintreten des Ereignisses ItemAdded ausgeführt wird, führen Sie die im Abschnitt "Hinweis" dieses Themas beschriebenen Schritte durch.

Syntax

Private Sub evtVerweise_ItemAdded(Verweis)

Die Ereignisprozedur ItemAdded verwendet die folgenden Argumente.

Argument	Beschreibung
evtVerweise	Eine Objektvariable, die die Auflistung References darstellt. Deklarieren Sie diese Objektvariable mit Hilfe des Schlüsselworts WithEvents in einem Klassenmodul.
Verweis	Das Reference-Objekt, das zur Auflistung References hinzugefügt wurde.
Hinweis

Die Ereignisprozedur ItemAdded kann Code enthalten, den Sie ausführen möchten, wenn ein Verweis auf eine Klassenbibliothek zum Projekt hinzugefügt wird. Sie können von Visual Basic aus einen Verweis hinzufügen, indem Sie mit den Methoden AddFromFile oder AddFromGUID ein Reference-Objekt zur Auflistung References hinzufügen.

So erstellen Sie die Ereignisprozedur ItemAdded:

1.	Deklarieren Sie unter Verwendung des Schlüsselworts WithEvents im Deklarationsbereich eines Klassenmoduls eine Objektvariable vom Typ References. Microsoft Access definiert mit dieser Objektvariablen die Ereignisprozedur für das Ereignis ItemAdded. Die folgende Code-Zeile zeigt eine typische Deklaration mit WithEvents:

Public WithEvents evtVerweise As References

2.	Erstellen Sie im Klassenmodul eine Ereignisprozedurdefinition, indem Sie im Modulfenster im Feld Objekt den Namen der Objektvariablen vom Typ References auswählen. Wenn Sie z.B. die im vorherigen Schritt gezeigte Deklaration verwenden, sehen Sie im Dropdown-Listenfeld Objekt den Eintrag evtVerweise. Wählen Sie dann im Feld Prozedur das Ereignis ItemAdded aus.

3.	Fügen Sie den Code hinzu, der ausgeführt werden soll, wenn das Ereignis eintritt. Wenn Sie z.B. ein Meldungsfeld mit der Information anzeigen möchten, daß ein Verweis zum Projekt hinzugefügt wurde, fügen Sie den entsprechenden Code zur Ereignisprozedur hinzu.

4.	Weisen Sie die Auflistung References der Objektvariablen vom Typ References zu, die Sie mit dem Schlüsselwort WithEvents deklariert haben. Diese Zuweisungsanweisung muß sich in einer Prozedur befinden, die ausgeführt wird, bevor das Ereignis ItemAdded eintritt.

Beispielsweise können Sie diese Anweisung im Ereignis Initialize des Klassenmoduls verwenden, in dem Sie die Objektvariable deklariert haben. Wenn Sie dann eine Instanz der Klasse erstellen, wird die Objektvariable automatisch initialisiert. Wenn Sie die Objektvariable evtVerweise verwenden, sieht die Ereignisprozedur wie folgt aus:

Private Sub Class_Initialize()

Set evtVerweise = Application.References

End Sub

Anmerkung   Wenn Sie die vorherigen Schritte bereits ausgeführt haben, um eine Ereignisprozedur für das Ereignis ItemRemoved zu erstellen, brauchen Sie diese für das Ereignis ItemAdded nicht mehr zu wiederholen. Sie können dieselbe Objektvariable vom Typ References für beide Ereignisse verwenden.

Um das Ereignis ItemAdded auszulösen, erstellen Sie den neuen Verweis mit Hilfe der Objektvariablen vom Typ References, die Sie mit dem Schlüsselwort WithEvents deklariert haben.

So fügen Sie einen Verweis hinzu und lösen das Ereignis aus:

1.	Erstellen Sie in einem Standardmodul eine neue Instanz der Klasse, in der Sie die Objektvariable vom Typ References deklariert haben. Wenn der Klassenname z.B. VerwEreignisse lautet, können Sie mit der folgenden Deklarationsanweisung eine neue Instanz der Klasse erstellen und sie einer Objektvariablen zuweisen. Diese Anweisung kann auf Modulebene oder in einer Prozedur vorkommen.

Dim objVerwEreignisse As New VerwEreignisse

2.	Erstellen Sie in einer Sub-Prozedur oder einer Funktion ein neues References-Objekt, indem Sie die Methode AddFromFile oder AddFromGUID der Objektvariablen verwenden, welche die Auflistung References darstellt (evtVerweise). Da das Ereignis ItemAdded im Klassenmodul in Verbindung mit einer bestimmten Objektvariablen vom Typ References definiert ist, definieren Sie das neue Reference-Objekt unter Verwendung dieser Variablen. Andernfalls tritt das Ereignis nie ein.

Beachten Sie, daß Sie die Objektvariable vom Typ References zusammen mit dem Namen der Klasse angeben müssen, in der sie deklariert wird.

Wenn Sie die vorhergehenden Schritte vollständig ausgeführt haben, können Sie einen neuen Verweis etwa mit der folgenden Prozedur hinzufügen:

Function HinzufügenVerweis(strDateiname As String)

Dim ref As Reference

' Neue Instanz der Klasse VerwEreignisse erstellen.

Dim objVerwEreignisse As New VerwEreignisse

' Verweis auf Variable der References-Auflistung erstellen,

' die in der Klasse VerwEreignisse definiert wurde.

Set ref = objVerwEreignisse.evtVerweise.AddFromFile(strDateiname)

End Function

Anmerkungen

•	Die Prozedur, welche die Objektvariable vom Typ References initialisiert, muß im selben Gültigkeitsbereich liegen wie die Deklaration der Objektvariablen. Wenn Sie z.B. die Objektvariable vom Typ References als Private in einem Klassenmodul deklariert haben, initialisieren Sie die Variable in einer Prozedur im gleichen Klassenmodul.

•	Sie können die Ereignisprozedur ItemAdded nur in einem Klassenmodul verwenden.

•	Wenn Sie eine Variable auf Modulebene so deklariert haben, daß sie die Auflistung References darstellt, können Sie mit dieser Variablen Ereignisprozedurdefinitionen für das Ereignis ItemAdded und das Ereignis ItemRemoved erstellen.

•	Wenn mehrere ItemAdded-Ereignisprozeduren im selben Projekt vorkommen, werden beim Eintreten des Ereignisses alle Ereignisprozeduren ausgeführt, jedoch in keiner festgelegten Reihenfolge. Es ist daher empfehlenswert, in jedem Projekt nur eine Ereignisprozedur ItemAdded zu erstellen und in ihr den gesamten Code aufzunehmen, der beim Eintreten des Ereignisses ausgeführt werden soll.

•	Das Ereignis ItemAdded tritt ein, nachdem der Verweis zum Projekt hinzugefügt wurde.


Initialize-, ItemAdded-, ItemRemoved-, Terminate-Ereignisprozeduren - Beispiel

Das folgende Beispiel enthält Ereignisprozeduren für die Ereignisse ItemAdded und ItemRemoved. Damit Sie dieses Beispiel testen können, erstellen Sie zuerst ein neues Klassenmodul, indem Sie im Menü Einfügen auf Klassenmodul klicken. Fügen Sie den folgenden Code in das Klassenmodul ein, und speichern Sie das Modul als VerwEreignisse.

' Objektvariable deklarieren, die die References-Auflistung

' darstellt.

Public WithEvents evtVerweise As References

' Initialisieren der Variablen evtVerweise, wenn Instanz

' der Klasse erstellt wird.

Private Sub Class_Initialize()

Set evtVerweise = Application.References

End Sub

' evtVerweise auf Nothing einstellen, wenn Instanz der Klasse

' entfernt wird.

Private Sub Class_Terminate()

Set evtVerweise = Nothing

End Sub

' Meldung anzeigen, wenn Verweis hinzugefügt wird.

Private Sub evtVerweise_ItemAdded(ByVal Reference As _

Access.Reference)

MsgBox "Verweis auf " & Reference.Name & " wurde hinzugefügt."

End Sub

' Meldung anzeigen, wenn Verweis entfernt wird.

Private Sub evtVerweise_ItemRemoved(ByVal Reference As _

Access.Reference)

MsgBox "Verweis auf " & Reference.Name & " wurde entfernt."

End Sub

Die folgende Funktion fügt einen angegebenen Verweis hinzu. Wenn der Verweis hinzugefügt wird, wird die in der Klasse VerwEreignisse definierte Ereignisprozedur ItemAdded ausgeführt.

Um beispielsweise einen Verweis auf das Kalender-Steuerelement einzustellen, können Sie die Zeichenfolge "C:\Windows\System\Mscal.ocx" übergeben, falls diese auf Ihrem Computer den Pfad für das Kalender-Steuerelement korrekt angibt.

' Neue Instanz der Klasse VerwEreignisse erstellen.

Dim objVerwEreignisse As New VerwEreignisse

' Dateiname und Pfad der Klassenbibliothek an die Prozedur übergeben.

Function HinzufügenVerweis(strDateiname As String) As Boolean

Dim ref As Reference

On Error GoTo Error_HinzufügenVerweis

' Neuen Verweis auf Variable vom Typ References erstellen.

Set ref = objVerwEreignisse.evtVerweise.AddFromFile(strDateiname)

HinzufügenVerweis = True

Exit_HinzufügenVerweis:

Exit Function

Error_HinzufügenVerweis:

MsgBox Err & ": " & Err.Description

HinzufügenVerweis = False

Resume Exit_HinzufügenVerweis

End Function

Die folgende Funktion entfernt einen angegebenen Verweis. Wenn der Verweis entfernt wird, wird die in der Klasse VerwEreignisse definierte Ereignisprozedur ItemRemoved ausgeführt.

Um beispielsweise einen Verweis auf das Kalender-Steuerelement zu entfernen, können Sie die Zeichenfolge "CalendarObjects" übergeben; das ist der Name des Reference-Objekts, der das Kalender-Steuerelement darstellt.

Function EntfernenVerweis(strVerwName As String) As Boolean

Dim ref As Reference

On Error GoTo Error_EntfernenVerweis

' Objekt zurückgeben, das den bestehenden Verweis darstellt.

Set ref = objVerwEreignisse.evtVerweise(strVerwName)

' Verweis aus Auflistung entfernen.

ObjVerwEreignisse.evtVerweise.Remove ref

EntfernenVerweis = True

Exit_EntfernenVerweis:

Exit Function

Error_EntfernenVerweis:

MsgBox Err & ": " & Err.Description

EntfernenVerweis = False

Resume Exit_EntfernenVerweis

End Function


ItemRemoved-Ereignis

Das Ereignis ItemRemoved tritt ein, wenn ein Verweis aus einem Projekt entfernt wird.

Anmerkungen

•	Das Ereignis ItemRemoved betrifft die Auflistung References. Es ist im Gegensatz zu den meisten anderen Ereignissen keinem Steuerelement, Formular oder Bericht zugeordnet. Um eine Prozedurdefinition für die Ereignisprozedur ItemRemoved zu erstellen, verwenden Sie daher eine spezielle Syntax.

•	Das Ereignis ItemRemoved kann, wenn es eintritt, nur eine Ereignisprozedur ausführen, aber kein Makro.

Hinweis

Dieses Ereignis tritt ein, wenn Sie einen Verweis vom Code aus entfernen. Es tritt nicht ein, wenn Sie einen Verweis vom Dialogfeld Verweise aus entfernen. Dieses Dialogfeld wird angezeigt, indem Sie im Menü Extras auf Verweise klicken, wenn das Modulfenster das aktive Fenster ist


ItemRemoved-Ereignis - Ereignisprozeduren

Um eine Ereignisprozedur zu erstellen, die beim Eintreten des Ereignisses ItemRemoved ausgeführt wird, führen Sie die im Abschnitt "Hinweis" dieses Themas beschriebenen Schritte durch.

Syntax

Private Sub evtVerweise_ItemRemoved(Verweise )

Die Ereignisprozedur ItemRemoved verwendet die folgenden Argumente.

Argument	Beschreibung
evtVerweise	Eine Objektvariable, die die Auflistung References darstellt. Deklarieren Sie diese Objektvariable mit Hilfe des Schlüsselworts WithEvents in einem Klassenmodul.
Verweis	Das Reference-Objekt, das aus der Auflistung References entfernt wurde.
Hinweis

Die Ereignisprozedur ItemRemoved kann Code enthalten, den Sie ausführen möchten, wenn ein Verweis auf eine Klassenbibliothek aus dem Projekt entfernt wird. Sie können von Visual Basic aus einen Verweis entfernen, indem Sie mit der Methode Remove ein Reference-Objekt aus der Auflistung References entfernen.

So erstellen Sie die Ereignisprozedur ItemRemoved:

1.	Deklarieren Sie unter Verwendung des Schlüsselworts WithEvents im Deklarationsbereich eines Klassenmoduls eine Objektvariable vom Typ References. Microsoft Access definiert mit dieser Objektvariablen die Ereignisprozedur für das Ereignis ItemRemoved. Die folgende Codezeile zeigt eine typische WithEvents-Deklaration:

Public WithEvents evtVerweise As References

2.	Erstellen Sie im Klassenmodul eine Ereignisprozedurdefinition, indem Sie im Modulfenster im Feld Objekt den Namen der Objektvariablen vom Typ References auswählen. Wenn Sie z.B. die im vorherigen Schritt gezeigte Deklaration verwenden, sehen Sie im Dropdown-Listenfeld Objekt den Eintrag evtVerweise. Wählen Sie dann im Feld Prozedur das Ereignis ItemRemoved aus.

3.	Fügen Sie den Code hinzu, der ausgeführt werden soll, wenn das Ereignis eintritt. Wenn Sie z.B. ein Meldungsfeld mit der Information anzeigen möchten, daß ein Verweis aus dem Projekt entfernt wurde, fügen Sie den entsprechenden Code zur Ereignisprozedur hinzu.

4.	Weisen Sie die Auflistung References der Objektvariablen vom Typ References zu, die Sie mit dem Schlüsselwort WithEvents deklariert haben. Diese Zuweisungsanweisung muß sich in einer Prozedur befinden, die ausgeführt wird, bevor das Ereignis ItemRemoved eintritt.

Beispielsweise können Sie diese Anweisung im Ereignis Initialize des Klassenmoduls verwenden, in dem Sie die Objektvariable deklariert haben. Wenn Sie dann eine Instanz der Klasse erstellen, wird die Objektvariable automatisch initialisiert. Wenn Sie die Objektvariable evtVerweise verwenden, sieht die Ereignisprozedur wie folgt aus:

Private Sub Class_Initialize()

Set evtVerweise = Application.References

End Sub

Anmerkung   Wenn Sie die vorherigen Schritte bereits ausgeführt haben, um eine Ereignisprozedur für das Ereignis ItemAdded zu erstellen, brauchen Sie diese für das Ereignis ItemRemoved nicht mehr zu wiederholen. Sie können dieselbe Objektvariable vom Typ References für beide Ereignisse verwenden.

Um das Ereignis ItemRemoved auszulösen, entfernen Sie den neuen Verweis mit Hilfe der Objektvariablen vom Typ References, die Sie mit dem Schlüsselwort WithEvents deklariert haben.

So entfernen Sie einen Verweis und lösen das Ereignis aus:

1.	Erstellen Sie in einem Standardmodul eine neue Instanz der Klasse, in der Sie die Objektvariable vom Typ References deklariert haben. Wenn der Klassenname z.B. VerwEreignisse lautet, können Sie mit der folgenden Deklarationsanweisung eine neue Instanz der Klasse erstellen und sie einer Objektvariablen zuweisen. Diese Anweisung kann auf Modulebene oder in einer Prozedur vorkommen.

Dim objVerwEreignisse As New VerwEreignisse

2.	Erstellen Sie in einer Sub-Prozedur oder einer Funktion ein neues References-Objekt, indem Sie die Methode Remove der Objektvariablen verwenden, welche die Auflistung References darstellt (evtVerweise). Da das Ereignis ItemRemoved im Klassenmodul in Verbindung mit einer bestimmten Objektvariablen vom Typ References definiert ist, definieren Sie das neue Reference-Objekt unter Verwendung dieser Variablen. Andernfalls tritt das Ereignis nie ein.

Beachten Sie, daß Sie die Objektvariable vom Typ References zusammen mit dem Namen der Klasse angeben müssen, in der sie deklariert wird.

Wenn Sie die vorhergehenden Schritte vollständig ausgeführt haben, können Sie einen bestehenden Verweis etwa mit der folgenden Prozedur entfernen:

Function EntfernenVerweis(strVerwName As String)

Dim ref As Reference

' Neue Instanz der Klasse VerwEreignisse erstellen.

Dim objVerwEreignisse As New VerwEreignisse

' Verweis auf Variable der References-Auflistung erstellen,

' die in der Klasse VerwEreignisse definiert wurde.

Set ref = objVerwEreignisse.evtVerweise(strVerwName)

objVerwEreignisse.evtVerweise.Remove ref

End Function

Anmerkungen

•	Die Prozedur, welche die Objektvariable vom Typ References initialisiert, muß im selben Gültigkeitsbereich liegen wie die Deklaration der Objektvariablen. Wenn Sie z.B. die Objektvariable vom Typ References als Private in einem Klassenmodul deklariert haben, initialisieren Sie die Variable in einer Prozedur im gleichen Klassenmodul.

•	Sie können die Ereignisprozedur ItemRemoved nur in einem Klassenmodul verwenden.

•	Wenn Sie eine Variable auf Modulebene so deklariert haben, daß sie die Auflistung References darstellt, können Sie mit dieser Variablen Ereignisprozedurdefinitionen für das Ereignis ItemRemoved und das Ereignis ItemAdded erstellen.

•	Wenn mehrere ItemRemoved-Ereignisprozeduren im selben Projekt vorkommen, werden beim Eintreten des Ereignisses alle Ereignisprozeduren ausgeführt, jedoch in keiner festgelegten Reihenfolge. Es ist daher empfehlenswert, in jedem Projekt nur eine Ereignisprozedur ItemRemoved zu erstellen und in ihr den gesamten Code aufzunehmen, der beim Eintreten des Ereignisses ausgeführt werden soll.

•	Das Ereignis ItemRemoved tritt ein, nachdem der Verweis auf das Projekt entfernt wurde.


Eval-Funktion (Auswerten)

Mit der Funktion Eval können Sie einen Ausdruck auswerten, der als Ergebnis eine Textzeichenfolge oder einen numerischen Wert liefert.

Sie können z.B. eine Zeichenfolge erstellen und diese dann an die Funktion Eval übergeben, als handele es sich bei der Zeichenfolge um einen tatsächlichen Ausdruck. Die Funktion Eval wertet den Zeichenfolgenausdruck aus und gibt dessen Wert zurück. So gibt Eval("1 + 1") z.B. den Wert 2 zurück.

Wenn Sie der Funktion Eval eine Zeichenfolge übergeben, die den Namen einer Funktion enthält, gibt Eval den Rückgabewert der Funktion zurück. So gibt Eval("Chr$(65)") z.B. "A" zurück.

Syntax

Eval(Zeichenfolgenausdruck)

Das Argument Zeichenfolgenausdruck ist ein Ausdruck, der eine alphanumerische Textzeichenfolge ergibt. Zeichenfolgenausdruck kann z.B. eine Funktion sein, die eine Zeichenfolge oder einen numerischen Wert zurückgibt. Das Argument kann aber auch ein Verweis auf ein Steuerelement eines Formulars sein. Das Argument Zeichenfolgenausdruck muß eine Zeichenfolge oder einen numerischen Wert bereitstellen; es darf kein Microsoft Access-Objekt ergeben.

Anmerkung   Wenn Sie den Namen einer Funktion an die Funktion Eval übergeben, müssen Sie im Argument Zeichenfolgenausdruck ein Klammernpaar hinter den Namen der Funktion setzen. Z.B.:

Debug.Print Eval("NamenAnzeigen()")	' NamenAnzeigen ist eine benutzerdefinierte Funktion.

Debug.Print Eval("StrComp(""Helga"",""helga"", 1)")

Debug.Print Eval("Date()")

Bemerkungen

Sie können die Funktion Eval in einem berechneten Steuerelement eines Formulars oder Berichts oder auch in einem Makro oder Modul verwenden. Die Funktion Eval gibt einen Wert vom Datentyp Variant zurück, der entweder eine Zeichenfolge oder ein numerischer Wert ist.

Das Argument Zeichenfolgenausdruck muß ein Ausdruck sein, der in einer Zeichenfolge gespeichert ist. Wenn Sie der Funktion Eval eine Zeichenfolge übergeben, die weder einen numerischen Ausdruck noch einen Funktionsnamen, sondern nur eine einfache Textzeichenfolge enthält, tritt ein Laufzeitfehler auf. So führt Eval("Schmidt") z.B. zu einem Fehler.

Mit der Funktion Eval können Sie den Wert ermitteln, der in der Eigenschaft Value eines Steuerelements gespeichert ist. Im folgenden Beispiel wird eine Zeichenfolge, die einen vollständigen Verweis auf ein Steuerelement enthält, an die Funktion Eval übergeben. Anschließend wird der aktuelle Wert des Steuerelements in einem Dialogfeld angezeigt.

Dim ctl As Control, strCtl As String

Set ctl = Forms!Personal!Nachname

strCtl = "Forms!Personal!Nachname"

MsgBox ("Der aktuelle Wert von " & ctl.Name & " ist " & Eval(strCtl))

Mit der Funktion Eval können Sie auf Ausdrucksoperatoren zugreifen, die normalerweise in Visual Basic nicht verfügbar sind. Sie können z.B. die SQL-Operatoren Between...And oder In nicht direkt in Ihrem Code verwenden, jedoch in einem Ausdruck, der an die Funktion Eval übergeben wird.

Im nächsten Beispiel wird ermittelt, ob der Wert des Steuerelements Region, das zu einem Formular namens Bestellungen gehört, einer angegebenen Abkürzung für einen amerikanischen Bundesstaat entspricht. Enthält das Feld eine der Abkürzungen, so ergibt intState den Wert True (-1). Sie müssen Hochkommas verwenden, um eine Zeichenfolge innerhalb einer anderen Zeichenfolge anzugeben.

Dim intState As Integer

intState = Eval("Forms!Bestellungen!Region In " _

& "('AK', 'CA', 'ID', 'WA', 'MT', 'NM', 'OR')")


Eval-Funktion (Auswerten) - Beispiel

Im folgenden Beispiel wird angenommen, daß Sie eine Reihe von 50 Funktionen als A1, A2 usw. definiert haben. Mit Hilfe der Funktion Eval wird jede Funktion der Reihe aufgerufen.

Sub FunktionenDerReiheAufrufen()

Dim intI As Integer

For intI = 1 To 50

Eval("A" & intI & "()")

Next intI

End Sub

Das nächste Beispiel löst das Ereignis Click aus, als ob der Benutzer auf eine Schaltfläche eines Formulars geklickt hätte. Falls der Wert der Eigenschaft OnClick der Schaltfläche mit einem Gleichheitszeichen (=) beginnt (was bedeutet, daß es sich um den Namen einer Funktion handelt), ruft die Funktion Eval diese Funktion auf. Dies entspricht dem Auslösen des Ereignisses Click. Beginnt der Wert nicht mit einem Gleichheitszeichen, muß es sich um einen Makronamen handeln. Die Methode RunMacro des Objekts DoCmd führt dann das genannte Makro aus.

Dim ctl As Control, varTemp As Variant

Set ctl = Forms!Kontakte!cmdHilfe

If (Left(ctl.OnClick, 1) = "=") Then

varTemp = Eval(Mid(ctl.OnClick,2))

Else

DoCmd.RunMacro ctl.OnClick

End If


CurrentUser-Funktion (AktuellerBenutzer)

Mit der Funktion CurrentUser können Sie den Namen des aktuellen Datenbankbenutzers zurückgeben.

Verwenden Sie z.B. die Funktion CurrentUser in einer Prozedur, die die Benutzer protokolliert, die Änderungen an der Datenbank vornehmen.

Syntax

CurrentUser

Bemerkungen

Die Funktion CurrentUser gibt eine Zeichenfolge zurück, die den Namen des aktuellen Benutzerkontos enthält.

Falls Sie keine geschützte Arbeitsgruppe eingerichtet haben, gibt die Funktion CurrentUser den Namen des Standardbenutzerkontos, "Administrator", zurück. Das Benutzerkonto "Administrator" gewährt dem Benutzer uneingeschränkte Zugriffsberechtigungen auf alle Datenbankobjekte.

Falls Sie den Arbeitsgruppenschutz aktiviert haben, gibt die Funktion CurrentUser den Namen des aktuellen Benutzerkontos zurück. Für ein Benutzerkonto, das nicht den Namen "Administrator" hat, können Sie Berechtigungen angeben, die den Zugriff des Benutzers auf die Datenbankobjekte einschränken.

Im folgenden Beispiel wird der Name des aktuellen Benutzers abgerufen und in einem Dialogfeld angezeigt.

MsgBox("Der aktuelle Benutzer heißt: " & CurrentUser)


Command-Funktion (Befehl)

Sie können die Funktion Command verwenden, um den als Argument dienenden Teil der zum Aufrufen von Microsoft Access verwendeten Befehlszeile zurückzugeben.

Syntax

Command

Befehl

Hinweis

Wenn Microsoft Access von der Befehlszeile aus aufgerufen wird, wird jeder Teil der Befehlszeile nach der Option /cmd als Befehlszeilenargument an das Programm übergeben. Sie können die Funktion Command verwenden, um das Argument zurückzugeben, das übergeben wurde.

Sie können ein Befehlszeilenargument ändern, nachdem eine Datenbank geöffnet wurde, indem Sie im Menü Extras auf Optionen klicken. Aktivieren Sie im Dialogfeld Optionen die Registerkarte Weitere, und geben Sie das neue Argument in das Feld Befehlszeilen-Argumente ein. Die Funktion Command gibt nun das neu eingegebene Argument zurück.

Wenn die Funktion Command nicht in einem Modul in Visual Basic-Code, sondern woanders verwendet wird, müssen Sie leere Klammern nach der Funktion einfügen. Wenn Sie z.B. die Funktion Command in einem Textfeld eines Formulars verwenden möchten, müßten Sie die Eigenschaft ControlSource des Textfelds auf einen Ausdruck einstellen, der wie folgt aussieht:

=Befehl()


Command-Funktion (Befehl) - Beispiel

Das folgende Beispiel zeigt, wie Microsoft Access mit einem Befehlszeilenargument aufgerufen und der Wert dieses Arguments mit Hilfe der Funktion Command zurückgegeben wird.

Zum Testen dieses Beispiels klicken Sie in Windows auf die Schaltfläche Start und dann auf Ausführen. Geben Sie im Dialogfeld Ausführen folgendes vollständig als eine Zeile ein. (Sie müssen die einzelnen Teile der Befehlszeile in Anführungszeichen setzen).

"C:\Programme\Microsoft Office\Office\Msaccess.exe" "C:\Programme\Microsoft Office\Office\Beispiele\Nordwind.mdb" /cmd "Bestellungen"

Als nächstes öffnen Sie ein neues Modul in der Beispieldatenbank Nordwind und fügen die folgende Funktion hinzu.

Function BefehlszeilePrüfen()

' Wert prüfen, der von der Funktion Command

' zurückgegeben wird.

If Command = "Bestellungen" Then

DoCmd.OpenForm "Bestellungen"

ElseIf Command = "Personal" Then

DoCmd.OpenForm "Personal"

Else

Exit Function

End If

End Function

Wenn Sie diese Funktion aufrufen, öffnet Microsoft Access das Formular Bestellungen.

Sie können ein Makro namens AutoExec erstellen, um diese Funktion automatisch aufzurufen, wenn die Datenbank geöffnet wird. Weitere Informationen zum Ausführen einer Aktion beim Öffnen einer Datenbank finden Sie unter Ausführen einer Aktion beim ersten Öffnen einer Datenbank.


CurrentDb-Funktion

Die Funktion CurrentDb gibt eine Objektvariable des Typs Database zurück, die der Datenbank entspricht, die momentan im Microsoft Access-Fenster geöffnet ist.

Syntax

CurrentDb

Hinweis

Wenn Sie die Struktur Ihrer Datenbank und deren Daten aus Visual Basic heraus ändern möchten, müssen Sie Datenzugriffsobjekte (DAO) verwenden. Die Funktion CurrentDb bietet eine Möglichkeit zum Zugriff auf die aktuelle Datenbank von Visual Basic-Code aus, ohne daß Sie den Namen der Datenbank kennen müssen. Sobald Sie eine Variable haben, die auf die aktuelle Datenbank zeigt, können Sie auch auf andere Objekte und Auflistungen der DAO-Hierarchie zugreifen und sie bearbeiten.

Mit der Funktion CurrentDb können Sie mehrere Objektvariablen erstellen, die auf die aktuelle Datenbank verweisen. Im folgenden Beispiel verweisen die Variablen dbsA und dbsB beide auf die aktuelle Datenbank:

Dim dbsA As Database, dbsB As Database

Set dbsA = CurrentDb

Set dbsB = CurrentDb

Anmerkung   In älteren Versionen von Microsoft Access haben Sie möglicherweise die Syntax DBEngine.Workspaces(0).Databases(0) oder DBEngine(0)(0) verwendet, um einen Zeiger auf die aktuelle Datenbank zurückzugeben. In Microsoft Access 97 sollten Sie statt dessen die Funktion CurrentDb verwenden. Die Funktion CurrentDb erstellt eine weitere Instanz der aktuellen Datenbank, während die Syntax DBEngine(0)(0) auf die geöffnete Kopie der aktuellen Datenbank verweist. Die Funktion CurrentDb ermöglicht es Ihnen, mehrere Variablen des Typs Database zu erstellen, die alle auf die aktuelle Datenbank verweisen. Microsoft Access unterstützt zwar weiterhin die Syntax DBEngine(0)(0), Sie sollten jedoch die Änderung Ihres Codes in Betracht ziehen, um mögliche Konflikte in einer Mehrbenutzerdatenbank zu vermeiden.

Falls Sie mit einer anderen Datenbank arbeiten müssen, während die aktuelle Datenbank im Microsoft Access-Fenster geöffnet ist, verwenden Sie die Methode OpenDatabase eines Objekts Workspace. Die Methode OpenDatabase öffnet die zweite Datenbank nicht wirklich im Microsoft Access-Fenster, sondern gibt einfach eine Variable des Typs Database zurück, die der zweiten Datenbank entspricht. Im folgenden Beispiel wird ein Zeiger auf die aktuelle Datenbank sowie auf eine Datenbank namens Kontakte.mdb zurückgegeben:

Dim dbsAktuell As Database, dbsKontakte As Database

Set dbsAktuell = CurrentDb

Set dbsKontakte = _ DBEngine.Workspaces(0).OpenDatabase("Kontakte.mdb")


CurrentDb-Funktion - Beispiel

Das folgende Beispiel verwendet die Funktion CurrentDb, um eine Objektvariable des Typs Database zurückzugeben, die auf die aktuelle Datenbank zeigt. Anschließend werden die Namen aller Felder der Tabelle Personal angezeigt, die Bestandteil dieser Datenbank ist.

Sub FelderAuflisten()

Dim dbs As Database, tdf As TableDef, fld As Field

' Database-Variable zurückgeben, die auf aktuelle

' Datenbank zeigt.

Set dbs = CurrentDb

' TableDef-Variable zurückgeben, die auf Tabelle

' "Personal" zeigt.

Set tdf = dbs.TableDefs!Employees

' Die Felder der Tabelle "Personal" durchlaufen.

For Each fld In tdf.Fields

Debug.Print fld.Name

Next fld

End Sub


HyperlinkPart-Funktion

Die Funktion HyperlinkPart liefert Informationen über Daten, die als Datentyp Hyperlink gespeichert sind. Die Daten in einem Hyperlink-Feld können aus bis zu drei Teilen in folgendem Format bestehen:

Anzeigetext#Adresse#Unteradresse

Syntax

Objekt.HyperlinkPart(Hyperlink As Variant[, Teil As Integer])

Die Funktion HyperlinkPart verwendet die folgenden Argumente.

Argument	Beschreibung
Objekt	Optional. Das Objekt Application.
Hyperlink	Ein Wert des Datentyps Variant, der für die in einem Hyperlink-Feld gespeicherten Daten steht.
Teil	Optional. Der Wert für das Argument Teil ist eine eingebaute Konstante zur Darstellung der Informationen, welche die Funktion HyperlinkPart liefern soll:
	Konstante	Wert	Beschreibung
	acDisplayedValue	0	(Voreinstellung) Der unterstrichene Text, der in einem Hyperlink angezeigt wird.
	acDisplayText	1	Der Teil Anzeigetext eines Hyperlink-Feldes.
	acAddress	2	Der Teil Adresse eines Hyperlink-Feldes.
	acSubAddress	3	Der Teil Unteradresse eines Hyperlink-Feldes.
Hinweis

Mit Hilfe der Funktion HyperlinkPart geben Sie einen von drei Werten eines Hyperlink-Feldes oder des angezeigten Wertes zurück. Der gelieferte Wert hängt von der Einstellung des Arguments Teil ab. Das Argument Teil ist optional. Wird es nicht verwendet, liefert die Funktion den Wert, den Microsoft Access für den Hyperlink anzeigt (entspricht der Einstellung acDisplayedValue für das Argument Teil). Bei den gelieferten Werten kann es sich um einen der drei Teile des Hyperlink-Feldes (Anzeigetext, Adresse oder Unteradresse) oder um den Wert handeln, den Microsoft Access für den Hyperlink anzeigt.

Anmerkung   Wenn Sie die Funktion HyperlinkPart in einer Abfrage verwenden, ist das Argument Teil notwendig. Sie können dann die oben aufgelisteten Konstanten nicht verwenden. Verwenden Sie statt dessen den aktuellen Wert.

Enthält der Teil Anzeigetext eines Hyperlink-Feldes einen Wert, zeigt Microsoft Access den Wert der Einstellung Anzeigetext an. Enthält der Teil Anzeigetext eines Hyperlink-Feldes keinen Wert, wird als Wert der Teil Adresse oder Unteradresse des Hyperlink-Feldes angezeigt, je nachdem, welcher Wert im Feld als erster steht.

Die folgende Tabelle zeigt die Werte, die von der Funktion HyperlinkPart für in einem Hyperlink-Feld gespeicherte Daten geliefert werden.

Daten im Hyperlink-Feld	Von der Funktion "HyperlinkPart" gelieferte Werte
#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:
Kunden##Formular Kunden	acDisplayedValue: Kunden acDisplayText: Kunden acAddress: acSubAddress: Formular Kunden
##Formular Kunden	acDisplayedValue: Formular Kunden acDisplayText: acAddress: acSubAddress: Formular Kunden
Wenn Sie einem Hyperlink-Feld über das Dialogfeld Hyperlink einfügen (verfügbar durch Klicken auf Hyperlink im Menü Einfügen) oder durch direktes Eingeben einer Adresse in ein Hyperlink-Feld einen Adresse-Teil hinzufügen, fügt Microsoft Access die beiden #-Symbole hinzu, die die einzelnen Teile der Hyperlink-Daten voneinander abgrenzen.

Sie können den Teil Anzeigetext eines Hyperlink-Feldes hinzufügen oder bearbeiten, indem Sie in einer Tabelle mit der rechten Maustaste auf einen Hyperlink klicken, im Kontextmenü auf Hyperlink zeigen und dann den Text, der angezeigt werden soll, in das Feld Text anzeigen eingeben.

Sehen Sie die beiden #-Symbole zur Abgrenzung der einzelnen Teile der Hyperlink-Daten vor, wenn Sie einem Hyperlink-Feld direkt oder mit Hilfe von DAO-Methoden Daten hinzufügen.


HyperlinkPart-Funktion - Beispiel

Das folgende Beispiel verwendet alle vier Konstanten des Arguments Teil, um die Informationen anzuzeigen, die die Funktion HyperlinkPart für jeden Datensatz in einer Tabelle mit einem Hyperlink-Feld anzeigt. Um dieses Beispiel zu testen, fügen Sie die Prozedur AnzeigenHyperlinkTeile in den Deklarationsbereich eines Moduls ein. Sie können die Prozedur AnzeigenHyperlinkTeile vom Testfenster aus aufrufen und ihr den Namen einer Tabelle übergeben, die Hyperlinks enthält, sowie den Namen des Feldes, das die Hyperlink-Daten enthält. Beispiel:

AnzeigenHyperlinkTeile "HyperlinkTabelle1Name", "HyperlinkFeld1Name"

Sub AnzeigenHyperlinkTeile(strTabelle As String, strFeld As String)

Dim dbs As Database, rst As Recordset

Dim strMsg As String

Set dbs = CurrentDb

Set rst = dbs.OpenRecordset(strTabelle)

While Not rst.EOF	' Für jeden Datensatz in der Tabelle.

strMsg = "DisplayValue = " & HyperlinkPart(rst(strFeld), acDisplayedValue) _

& vbCrLf & "DisplayText = " & HyperlinkPart(rst(strFeld), acDisplayText) _

& vbCrLf & "Address = " & HyperlinkPart(rst(strFeld), acAddress) _

& vbCrLf & "SubAddress = " & HyperlinkPart(rst(strFeld), acSubAddress)

' Von der Hyperlink-Funktion gelieferte Teile anzeigen.

MsgBox strMsg

rst.MoveNext

Wend

End Sub

Wenn Sie die Funktion HyperlinkPart in einer Abfrage verwenden, ist das Argument Teil notwendig. Die folgenden SQL-Anweisung verwendet z.B. die Funktion HyperlinkPart, um Informationen über Daten zu liefern, die im Feld URL-Adresse der Tabelle Verknüpfungen gespeichert sind:

SELECT Verknüpfungen. URL-Adresse, HyperlinkPart([URL-Adresse],0)

AS Display, HyperlinkPart([URL-Adresse],1)

AS Name, HyperlinkPart([URL-Adresse],2)

AS Addr, HyperlinkPart([URL-Adresse],3) AS SubAddr

FROM Verknüpfungen;


Verzeichnis der Visual Basic für Applikationen-Funktionen (Deutsch-Englisch)

Visual Basic für Applikationen ist die gemeinsame Programmiersprache aller Microsoft Office-Anwendungen. Sie müssen die englischen Visual Basic für Applikationen-Schlüsselwörter im Codefenster aller Office-Anwendungen verwenden. In Microsoft Access können Sie jedoch für die meisten Visual Basic für Applikationen-Funktionen auch den deutschen Namen in Ausdrücken von Abfragen, Formularen, Berichten und Makros einsetzen.

Anmerkung   Um weitere Informationen über internationale Features zu erhalten, klicken Sie auf  [image].

In den folgenden Tabellen werden die jeweiligen Entsprechungen der VBA-Funktionen sowohl in deutsch-englischer als auch in englisch-deutscher Reihenfolge aufgeführt.

Deutsch-Englisch

Deutscher Name	Englischer Name		Deutscher Name	Englischer Name
Abs	Abs		Oktal$	Oct$
AktVerz	CurDir$		QWurzel	Sqr
AktVerz$	CurDir$		Rechts	Right
ArcTan	Atn		Rechts$	Right$
Asc	Asc		RechtsB	RightB
AscB	AscB		RechtsB$	RightB$
Ausführen	Shell		RGB	RGB
Bereich	Partition		RGlätten	RTrim
BW	PV		RGlätten$	RTrim$
Cos	Cos		RMZ	Pmt
DatAdd	DateAdd		Schalter	Switch
DatDiff	DateDiff		Sekunde	Second
DatSeriell	DateSerial		Sin	Sin
DatTeil	DatePart		Str	Str
Datum	Date		Str$	Str$
Datum$	Date$		String	String
DatWert	DateValue		String$	String$
DIA	SYD		StrVgl	StrComp
Eingabefeld	InputBox		Stunde	Hour
Exponential	Exp		Tag	Day
Farbe	QBColor		Tan	Tan
Fix	Fix		TeilStr	Mid
Format	Format		TeilStr$	Mid$
Format$	Format$		TeilStrB	MidB
GDA	DDB		TeilStrB$	MidB$
Glätten	Trim		Umgebung	Environ
Glätten$	Trim$		VarTyp	VarType
Großbst	UCase		Verz	Dir
Großbst$	UCase$		Verz$	Dir$
Hex	Hex		Vorzchn	Sgn
Hex$	Hex$		Wählen	Choose
InStr	InStr		Wenn	IIF
InStrB	InStrB		Wert	Val
Int	Int		Wochentag	Weekday
IstDatum	IsDate		ZBoolean	CBool
IstLeer	IsEmpty		ZByte	CByte
IstNull	IsNull		Zchn	Chr
IstNumerisch	IsNumeric		Zchn$	Chr$
Jahr	Year		ZchnB	ChrB
Jetzt	Now		ZchnB$	ChrB$
KAPZ	PPmt		ZCurrency	CCur
Kleinbst	LCase		ZDate	CDate
Kleinbst$	LCase$		ZDouble	CDbl
Länge	Len		Zeit	Time
LängeB	LenB		Zeit$	Time$
LeerZchn	Space		Zeitgeber	Timer
LeerZchn$	Space$		ZeitSeriell	TimeSerial
LGlätten	LTrim		ZeitSeriellStr	TimeValue
LGlätten$	LTrim$		ZINS	Rate
LIA	SLN		ZINSZ	IPmt
Links	Left		ZInteger	CInt
Links$	Left$		ZLong	CLng
LinksB	LeftB		ZSingle	CSng
LinksB$	LeftB$		ZString	CStr
Log	Log		ZVariant	CVar
Meldung	MsgBox		ZW	FV
Minute	Minute		ZZG	Rnd
Monat	Month		ZZR	NPer
Oktal	Oct
Englisch-Deutsch

Englischer Name	Deutscher Name		Englischer Name	Deutscher Name
Abs	Abs		LenB	LängeB
Asc	Asc		Log	Log
AscB	AscB		LTrim	LGlätten
Atn	ArcTan		LTrim$	LGlätten$
CBool	ZBoolean		Mid	TeilStr
CByte	ZByte		Mid$	TeilStr$
CCur	ZCurrency		MidB	TeilStrB
CDate	ZDate		MidB$	TeilStrB$
CDbl	ZDouble		Minute	Minute
Choose	Wählen		Month	Monat
Chr	Zchn		MsgBox	Meldung
Chr$	Zchn$		Now	Jetzt
ChrB	ZchnB		NPer	ZZR
ChrB$	ZchnB$		Oct	Oktal
CInt	ZInteger		Oct$	Oktal$
CLng	ZLong		Partition	Bereich
Cos	Cos		Pmt	RMZ
CSng	ZSingle		PPmt	KAPZ
CStr	ZString		PV	BW
CurDir	AktVerz		QBColor	Farbe
CurDir$	AktVerz$		Rate	ZINS
CVar	ZVariant		RGB	RGB
Date	Datum		Right	Rechts
Date$	Datum$		Right$	Rechts$
DateAdd	DatAdd		RightB	RechtsB
DateDiff	DatDiff		RightB$	RechtsB$
DatePart	DatTeil		Rnd	ZZG
DateSerial	DatSeriell		RTrim	RGlätten
DateValue	DatWert		RTrim$	RGlätten$
Day	Tag		Second	Sekunde
DDB	GDA		Sgn	Vorzchn
Dir	Verz		Shell	Ausführen
Dir$	Verz$		Sin	Sin
Environ	Umgebung		SLN	LIA
Exp	Exponential		Space	LeerZchn
Fix	Fix		Space$	LeerZchn$
Format	Format		Sqr	QWurzel
Format$	Format$		Str	Str
FV	ZW		Str$	Str$
Hex	Hex		StrComp	StrVgl
Hex$	Hex$		String	String
Hour	Stunde		String$	String$
IIF	Wenn		Switch	Schalter
InputBox	Eingabefeld		SYD	DIA
InStr	InStr		Tan	Tan
InStrB	InStrB		Time	Zeit
Int	Int		Time$	Zeit$
IPmt	ZINSZ		Timer	Zeitgeber
IsDate	IstDatum		TimeSerial	ZeitSeriell
IsEmpty	IstLeer		TimeValue	ZeitSeriellStr
IsNull	IstNull		Trim	Glätten
IsNumeric	IstNumerisch		Trim$	Glätten$
LCase	Kleinbst		UCase	Großbst
LCase$	Kleinbst$		UCase$	Großbst$
Left	Links		Val	Wert
Left$	Links$		VarType	VarTyp
LeftB	LinksB		Weekday	Wochentag
LeftB$	LinksB$		Year	Jahr
Len	Länge


Verzeichnis der SQL-Aggregatfunktionen (Deutsch-Englisch)

In Microsoft Access können Sie den deutschen Namen der folgenden SQL-Aggregatfunktionen im Abfrage-Entwurfsbereich einsetzen. Sie müssen den englischen Namen in Aggregatausdrücken der SQL-Eigenschaft eines QueryDef-Objekts verwenden, oder wenn Sie ein Recordset-Objekt basierend auf einer SQL-Abfrage erstellen.

Anmerkung   Um weitere Informationen über internationale Features zu erhalten, klicken Sie auf  [image].

Deutscher Name	Englischer Name		Englischer Name	Deutscher Name
Anzahl Mittelwert StdAbw, StdAbwG Summe Varianz, VarianzG	Count Avg StDev, StDevP Sum Var, VarP		Avg Count StDev, StDevP Sum Var, VarP	Mittelwert Anzahl StdAbw, StdAbwG Summe Varianz, VarianzG


Aktionen, nach Aufgaben gruppiert

Die nachstehende Tabelle gruppiert Aktionen nach Aufgabenkategorien.

Kategorie	Aufgabe	Aktion
Daten in Formularen und Berichten	Daten einschränken	AnwendenFilter
	Durch Daten bewegen	GeheZuSteuerelement, GeheZuSeite, GeheZuDatensatz, SuchenWeiter, SuchenDatensatz
Ausführung	Einen Befehl ausführen	AusführenBefehl
	Microsoft Access beenden	Beenden
	Ein Makro, eine Prozedur oder eine Abfrage ausführen	AusführenCode, AusführenMakro, AusführenSQL, ÖffnenAbfrage
	Eine andere Anwendung ausführen	AusführenAnwendung
	Ausführung anhalten	AbbrechenEreignis, Beenden, StopAlleMakros, StopMakro
Import/Export	Microsoft Access-Objekte an andere Anwendungen senden	AusgabeIn, SendenObjekt
	Daten zwischen Microsoft Access und anderen Datenformaten übertragen	TransferDatenbank, TransferArbeitsblatt, TransferText
Objektmanipulation	Ein Objekt kopieren, speichern oder umbenennen	KopierenObjekt, Speichern, UmbenennenObjekt
	Ein Objekt löschen	LöschenObjekt
	Ein Fenster verschieben oder die Fenstergröße ändern	Positionieren, Symbol, Vollbild, Wiederherstellen
	Ein Objekt öffnen oder schließen	ÖffnenFormular, ÖffnenModul, ÖffnenAbfrage, ÖffnenBericht, ÖffnenTabelle, Schließen
	Ein Objekt drucken	Drucken, ÖffnenFormular, ÖffnenAbfrage, ÖffnenBericht
	Ein Objekt auswählen	AuswählenObjekt
	Den Wert eines Feldes, Steuerelements oder einer Eigenschaft einstellen	SetzenWert
	Daten oder den Bildschirm aktualisieren	AktualisierenDaten,AktualisierenObjekt, AnzeigenAlleDatensätze
Sonstige	Eine benutzerdefinierte Menüleiste, ein benutzerdefiniertes Kontextmenü, eine globale Menüleiste oder ein globales Kontextmenü erstellen	HinzufügenMenü
	Den Status von Menüelementen in einer benutzerdefinierten oder globalen Menüleiste einstellen	SetzenMenüelement
	Informationen am Bildschirm anzeigen	Echo, Meldung, Sanduhr, Warnmeldungen
	Tastaturbefehle generieren	Tastaturbefehle
	Die integrierte oder benutzerdefinierte Befehlsleiste anzeigen oder ausblenden	EinblendenSymbolleiste
	Einen Signalton abspielen	Signalton


Verzeichnis der Ereignisse und Ereigniseigenschaften

Dieses Verzeichnis gruppiert Ereignisse nach Aufgabenkategorien und listet die Ereignisse in alphabetischer Reihenfolge auf.

Nach Aufgaben sortiert

Datenereignisse	Filterereignisse
Druckereignisse	Fokusereignisse
Fehlerereignisse und zeitabhängige Ereignisse	Mausereignisse
Fensterereignisse	Tastaturereignisse
Alphabetisch sortiert

Ereignis	Ereigniseigenschaft
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	keine
ItemAdded	keine
ItemRemoved	keine
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	keine
Timer	OnTimer
Unload	OnUnload
Updated	OnUpdated


Datenereignisse

Datenereignisse treten ein, wenn Daten in einem Formular oder Steuerelement eingegeben, gelöscht oder geändert werden, oder wenn sich der Fokus von einem Datensatz zu einem anderen bewegt.

Ereignis	Ereigniseigenschaft	Eintritt
AfterDelConfirm	AfterDelConfirm (Formulare)	Wenn Sie das Löschen von Datensätzen bestätigen und die Datensätze tatsächlich gelöscht wurden, oder nachdem die Löschvorgänge abgebrochen wurden.
AfterInsert	AfterInsert (Formulare)	Nachdem ein neuer Datensatz zur Datenbank hinzugefügt wurde.
AfterUpdate	AfterUpdate (Formulare, Steuerelemente)	Nachdem ein Steuerelement oder ein Datensatz aktualisiert wurde. Dieses Ereignis tritt ein, wenn das Steuerelement oder der Datensatz den Fokus verliert, oder wenn Sie im Menü Datensätze auf Datensatz speichern klicken. Dieses Ereignis tritt für neue und bestehende Datensätze ein.
BeforeDelConfirm	BeforeDelConfirm (Formulare)	Nachdem einer oder mehrere Datensätze gelöscht wurden, jedoch bevor Microsoft Access das Dialogfeld zum Bestätigen oder Abbrechen des Löschvorgangs anzeigt. Dieses Ereignis tritt nach dem Ereignis Delete ein.
BeforeInsert	BeforeInsert (Formulare)	Bei Eingabe des ersten Zeichens in einen neuen Datensatz, aber bevor der Datensatz zur Datenbank hinzugefügt wird.
BeforeUpdate	BeforeUpdate (Formulare, Steuerelemente)	Bevor ein Steuerelement oder Datensatz aktualisiert wird. Dieses Ereignis tritt ein, wenn das Steuerelement oder der Datensatz den Fokus verliert, oder wenn Sie im Menü Datensätze auf Datensatz speichern klicken. Dieses Ereignis tritt für neue und bestehende Datensätze ein.
Change	OnChange (Steuerelemente)	Wenn sich der Inhalt eines Textfelds oder des Textfeldbereichs in einem Kombinationsfeld ändert; z.B. wenn Sie ein Zeichen in ein Steuerelement eingeben oder die Eigenschaft Text des Steuerelements in einem Makro oder in Visual Basic ändern.
Current	OnCurrent (Formulare)	Wenn sich der Fokus zu einem Datensatz bewegt, der dadurch zum aktuellen Datensatz wird, oder wenn Sie die zugrundeliegenden Daten eines Formulars erneut abfragen. Dieses Ereignis tritt ein, wenn ein Formular erstmals geöffnet wird, und wenn sich der Fokus von einem Datensatz zu einem anderen bewegt. Es tritt auch dann ein, wenn Sie die zugrundeliegenden Daten eines Formulars erneut abfragen - z.B. dann, wenn Sie im Menü Datensätze auf Filter/Sortierung entfernen klicken oder die Aktion AnzeigenAlleDatensätze oder die Aktion AktualisierenDaten verwenden.
Delete	OnDelete (Formulare)	Wenn ein Datensatz gelöscht wird, aber bevor der Löschvorgang bestätigt und durchgeführt wird.
NotInList	OnNotInList (Steuerelemente)	Wenn ein Wert in ein Kombinationsfeld eingegeben wird, der sich nicht in der Kombinationsfeldliste befindet.
Updated	OnUpdated (Steuerelemente)	Wenn die Daten eines OLE-Objekts geändert wurden.


Fehlerereignisse und zeitabhängige Ereignisse

Die folgenden Ereignisse werden zur Fehlerbehandlung und Synchronisation von Daten in Formularen und Berichten verwendet.

Ereignis	Ereigniseigenschaft	Eintritt
Error	OnError (Formulare, Berichte)	Wenn ein Laufzeitfehler in Microsoft Access erzeugt wird, während Sie sich im Formular oder Bericht befinden. Hierzu zählen auch Fehler der Microsoft Jet-Datenbank-Engine, jedoch keine Laufzeitfehler in Visual Basic. (Da Makros die Fehlerart nicht feststellen können, verwenden Sie normalerweise Visual Basic-Ereignisprozeduren für dieses Ereignis.)
Timer	OnTimer (Formulare)	Wenn das Zeitintervall verstrichen ist, das in der Eigenschaft Zeitgeberintervall des Formulars angegeben wurde. Sie können das Ereignis Timer verwenden, um Daten in einer Mehrbenutzerumgebung synchronisiert zu halten, indem Sie Daten in regelmäßigen Abständen erneut abfragen oder aktualisieren.


Filterereignisse

Filterereignisse treten ein, wenn Sie einen Filter in einem Formular anwenden oder erstellen.

Ereignis	Ereigniseigenschaft	Eintritt
ApplyFilter	OnApplyFilter (Formulare)	Wenn Sie im Menü Datensätze auf Filter/Sortierung anwenden oder in der Befehlsleiste auf die Schaltfläche Filter/Sortierung anwenden klicken. Dadurch wird der zuletzt (mit der Schaltfläche Formularbasierter Filter oder im Fenster Filter) erstellte Filter angewendet. Wenn Sie auf Auswahlbasierter Filter klicken, nachdem Sie im Menü Datensätze auf Filter gezeigt haben, oder in der Befehlsleiste auf die Schaltfläche Auswahlbasierter Filter klicken. Dadurch wird ein Filter angewendet, der von der aktuellen Auswahl im Formular abhängt. Wenn Sie im Menü Datensätze auf Filter/Sortierung entfernen oder in der Befehlsleiste auf die Schaltfläche Filter entfernen klicken. Dadurch werden alle Filter (oder Sortierungen) entfernt, die momentan auf das Formular angewendet werden. Wenn Sie das Fenster Filter oder Formularbasierter Filter schließen.
Filter	OnFilter (Formulare)	Wenn Sie auf Formularbasierter Filter klicken, nachdem Sie im Menü Datensätze auf Filter gezeigt haben, oder in der Befehlsleiste auf die Schaltfläche Formularbasierter Filter klicken. Dadurch wird das Fenster Formularbasierter Filter geöffnet, in dem Sie schnell einen auf den Feldern des Formulars basierenden Filter erstellen können. Wenn Sie auf Spezialfilter/-sortierung klicken, nachdem Sie im Menü Datensätze auf Filter gezeigt haben. Dadurch wird das Fenster Filter geöffnet, in dem Sie komplexe Filter für das Formular erstellen können.


Fokusereignisse

Fokusereignisse treten ein, wenn ein Formular oder ein Steuerelement den Fokus verliert oder erhält oder ein Formular oder Bericht aktiv oder inaktiv wird.

Ereignis	Ereigniseigenschaft	Eintritt
Activate	OnActivate (Formulare, Berichte)	Wenn ein Formular oder Bericht zum aktiven Fenster wird.
Deactivate	OnDeactivate (Formulare, Berichte)	Wenn ein anderes Microsoft Access-Fenster zum aktiven Fenster wird, jedoch bevor es zum aktiven Fenster wird. Das Ereignis Deactivate tritt nicht ein, wenn sich der Fokus zum Fenster einer anderen Anwendung, einem Dialogfeld oder einem Popup-Formular bewegt.
Enter	OnEnter (Steuerelemente)	Bevor ein Steuerelement von einem Steuerelement im gleichen Formular oder beim Öffnen des Formulars den Fokus erhält. Dieses Ereignis tritt vor dem Ereignis GotFocus ein.
Exit	OnExit (Steuerelemente)	Unmittelbar bevor ein Steuerelement den Fokus an ein anderes Steuerelement desselben Formulars verliert. Dieses Ereignis tritt vor dem Ereignis LostFocus ein.
GotFocus	OnGotFocus (Formulare, Steuerelemente)	Wenn ein Steuerelement oder ein Formular ohne aktive oder aktivierte Steuerelemente den Fokus erhält. Ein Formular kann den Fokus nur erhalten, wenn alle sichtbaren Steuerelemente des Formulars deaktiviert sind oder das Formular keine Steuerelemente enthält.
LostFocus	OnLostFocus (Formulare, Steuerelemente)	Wenn ein Formular oder Steuerelement den Fokus verliert. Ein Formular kann den Fokus nur erhalten, wenn alle sichtbaren Steuerelemente des Formulars deaktiviert sind oder das Formular keine Steuerelemente enthält.


Tastaturereignisse

Tastaturereignisse treten ein, wenn Sie auf der Tastatur eingeben, oder wenn Tastenfolgen mit der Aktion Tastaturbefehle oder der Anweisung SendKeys übergeben werden.

Ereignis	Ereigniseigenschaft	Eintritt
KeyDown	OnKeyDown (Formulare, Steuerelemente)	Wenn Sie eine Taste der Tastatur drücken, während ein Steuerelement oder ein Formular über den Fokus verfügt. Ein Formular kann den Fokus nur erhalten, wenn alle sichtbaren Steuerelemente des Formulars deaktiviert sind oder das Formular keine Steuerelemente enthält. Das Ereignis KeyDown tritt auch ein, wenn Sie mit der Aktion Tastaturbefehle in einem Makro oder mit der Anweisung SendKeys in Visual Basic eine Tastatureingabe an ein Formular oder Steuerelement senden. Ein Formular erhält auch alle KeyDown-Ereignisse (auch für Steuerelemente), bevor sie für die Steuerelemente eintreten, wenn Sie die Eigenschaft Tastenvorschau des Formulars auf Ja einstellen. Wenn Sie eine Taste gedrückt halten, tritt das Ereignis KeyDown wiederholt ein.
KeyPress	OnKeyPress (Formulare, Steuerelemente)	Wenn Sie eine Taste oder Tastenkombination, die ein Standard-ANSI-Zeichen erzeugt, drücken und wieder loslassen, während ein Steuerelement oder Formular über den Fokus verfügt. Ein Formular kann den Fokus nur erhalten, wenn alle sichtbaren Steuerelemente des Formulars deaktiviert sind oder das Formular keine Steuerelemente enthält. Sie können das Ereignis KeyPress z.B. verwenden, um auf Tastatureingaben in einem Textfeld oder Kombinationsfeld zu antworten. Verwenden Sie für Tastatureingaben, die von KeyPress nicht erkannt werden (wie z.B. Funktionstasten oder Pfeiltasten) die Ereignisse KeyDown und KeyUp. Das Ereignis KeyPress tritt auch ein, wenn Sie eine Tastatureingabe, die ein Standard-ANSI-Zeichen erzeugt, mit der Aktion Tastaturbefehle in einem Makro oder mit der Anweisung SendKeys in Visual Basic an ein Formular oder Steuerelement senden.  Ein Formular erhält auch alle KeyPress-Ereignisse (auch für Steuerelemente), bevor sie für die Steuerelemente eintreten, wenn Sie die Eigenschaft Tastenvorschau des Formulars auf Ja einstellen. Wenn Sie eine Taste gedrückt halten, tritt das Ereignis KeyPress wiederholt ein.
KeyUp	OnKeyUp (Formulare, Steuerelemente)	Wenn Sie eine gedrückte Taste loslassen, während ein Steuerelement oder ein Formular über den Fokus verfügt. Das Objekt mit dem Fokus erhält alle Tastatureingaben. Ein Formular kann den Fokus nur erhalten, wenn alle sichtbaren Steuerelemente des Formulars deaktiviert sind oder das Formular keine Steuerelemente enthält. Das Ereignis KeyUp tritt auch ein, wenn Sie eine Tastatureingabe mit der Aktion Tastaturbefehle in einem Makro oder mit der Anweisung SendKeys in Visual Basic an ein Formular oder Steuerelement senden. Ein Formular erhält auch alle KeyUp-Ereignisse (auch für Steuerelemente), bevor sie für die Steuerelemente eintreten, wenn Sie die Eigenschaft Tastenvorschau des Formulars auf Ja einstellen. Wenn Sie eine Taste gedrückt halten, tritt das Ereignis KeyUp ein, nachdem alle zugehörigen KeyDown- und KeyPress-Ereignisse eingetreten sind.


Mausereignisse

Mausereignisse treten bei Mausaktionen ein, wenn Sie z.B. eine Maustaste gedrückt halten oder darauf klicken.

Ereignis	Ereigniseigenschaft	Eintritt
Click	OnClick (Formulare, Steuerelemente)	Für ein Steuerelement tritt das Ereignis ein, wenn Sie im Steuerelement die linke Maustaste kurz drücken und loslassen (klicken).  Für ein Formular tritt das Ereignis ein, wenn Sie auf einen Datensatzmarkierer oder auf eine Stelle klicken, die keinem Bereich und keinem Steuerelement angehört.
DblClick	OnDblClick (Formulare, Steuerelemente)	Für ein Steuerelement tritt das Ereignis ein, wenn Sie im Steuerelement oder seinem Bezeichnungsfeld die linke Maustaste zweimal kurz drücken und loslassen (doppelklicken).  Für ein Formular tritt dieses Ereignis ein, wenn Sie in einem leeren Bereich oder auf einen Datensatzmarkierer eines Formulars doppelklicken.
MouseDown	OnMouseDown (Formulare, Steuerelemente)	Wenn Sie eine Maustaste drücken, während sich der Zeiger in einem Formular oder Steuerelement befindet. Das Abbrechen des Ereignisses MouseDown mit der Aktion AbbrechenEreignis in einem Makro für ein Formular oder ein Steuerelement verhindert, daß das Kontextmenü angezeigt wird, wenn Sie mit der rechten Maustaste auf das Formular oder Steuerelement klicken.
MouseMove	OnMouseMove (Formulare, Steuerelemente)	Wenn Sie den Mauszeiger über ein Formular, einen Formularbereich oder ein Steuerelement bewegen.
MouseUp	OnMouseUp (Formulare, Steuerelemente)	Wenn Sie eine gedrückte Maustaste loslassen, während sich der Zeiger in einem Formular oder Steuerelement befindet.


Druckereignisse

Druckereignisse treten ein, wenn ein Bericht gedruckt oder für das Drucken formatiert wird.

Ereignis	Ereigniseigenschaft	Eintritt
Format	OnFormat (Berichte)	Wenn Microsoft Access ermittelt, welche Daten in einen Berichtsbereich gehören, jedoch bevor Microsoft Access den Bereich für die Seitenansicht oder zum Drucken formatiert. Ihr Makro oder Ihre Ereignisprozedur kann die Daten aus dem aktuellen Datensatz verwenden, um das Seitenlayout zu ändern.
NoData	OnNoData (Berichte)	Wenn Microsoft Access einen Bericht, der keine Daten enthält, zum Drucken formatiert hat (der Bericht ist an eine leere Datensatzgruppe gebunden), jedoch bevor der Bericht gedruckt wird. Sie können dieses Ereignis verwenden, um das Drucken eines leeren Berichts abzubrechen.
Page	OnPage (Berichte)	Wenn Microsoft Access eine Seite zum Drucken formatiert hat, jedoch bevor die Seite gedruckt wird.
Print	OnPrint (Berichte)	Wenn Microsoft Access die Daten in einem Berichtsabschnitt formatiert hat, jedoch bevor der Abschnitt gedruckt wird.
Retreat	OnRetreat (Berichte)	Wenn Microsoft Access in andere Berichtsbereiche auf einer Seite "zurückblättern" muß, um weitere Formatierungsvorgänge durchzuführen. Dieses Ereignis tritt nach dem Ereignis Format des Bereichs, jedoch vor dem Ereignis Print ein. Das Ereignis Retreat tritt für einen Bereich dann ein, wenn Microsoft Access den Bereich sichert. Sie können dadurch alle Änderungen rückgängig machen, die Sie während des Ereignisses Format für den Bereich durchgeführt haben.


Fensterereignisse

Fensterereignisse treten ein, wenn Sie ein Formular oder einen Bericht öffnen, ändern oder schließen.

Ereignis	Ereigniseigenschaft	Eintritt
Close	OnClose (Formulare, Berichte)	Wenn ein Formular oder Bericht geschlossen und am Bildschirm nicht mehr wird.
Load	OnLoad (Formulare)	Wenn ein Formular geöffnet und seine Datensätze angezeigt werden. Dieses Ereignis tritt vor dem Ereignis Current ein, jedoch nach dem Ereignis Open.
Open	OnOpen (Formulare, Berichte)	Wenn ein Formular geöffnet wird, jedoch bevor der erste Datensatz angezeigt wird. Wenn ein Bericht geöffnet wird, jedoch bevor er gedruckt wird.
Resize	OnResize (Formulare)	Wenn sich die Größe eines Formulars ändert. Dieses Ereignis tritt auch ein, wenn ein Formular zum ersten Mal angezeigt wird.
Unload	OnUnload (Formulare)	Wenn ein Formular geschlossen und seine Datensätze entladen werden, jedoch bevor es vom Bildschirm entfernt wird. Dieses Ereignis tritt vor dem Ereignis Close ein.


Verzeichnis der Anweisungen

Das folgende Verzeichnis listet alle Anweisungen (mit Ausnahme der SQL-Anweisungen) in alphabetischer Reihenfolge auf.

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)


Verzeichnis der Funktionen

Das folgende Verzeichnis listet alle Funktionen in alphabetischer Reihenfolge auf. Die Funktionen, die in Microsoft Access 97 neu hinzugefügt wurden, sind mit zwei Sternchen (**) markiert.

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)	GetAllSetting (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)


Verzeichnis der Methoden

Das folgende Verzeichnis gruppiert alle Methoden nach Objekt oder Auflistung und listet die Methoden in alphabetischer Reihenfolge auf. Die Methoden, die in Microsoft Access 97 neu hinzugefügt wurden, sind mit zwei Sternchen (**) markiert.

Gruppiert nach Objekt oder Auflistung

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)
Alphabetisch sortiert

A–C

AccessError**	Clone (DAO)
Add (VBA)	Close (DAO)
Add (Pages-Auflistung)**	Close
AddFromFile (Module-Objekt)**	CloseCurrentDatabase
AddFromFile (References-Auflistung)**	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 (DoCmd-Objekt)	FindRecord
Echo (Application-Objekt)	Follow**
Edit (DAO)	FollowHyperlink**
Execute (DAO)
G–M

GetChunk (DAO)	Item (VBA)
GetOption	Line
GetRows (DAO)	MakeReplica (DAO)
GoToControl	Maximize
GoToPage (DoCmd-Objekt)	Minimize
GoToPage (Form-Objekt)	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 (DoCmd-Objekt)
OpenRecordset (DAO)	Quit (Application-Objekt)
R

Raise (VBA)	RepaintObject
Recalc	RepairDatabase (DAO)
Refresh (DAO)	ReplaceLine**
Refresh	Requery (DAO)
RefreshDatabaseWindow**	Requery (DoCmd-Objekt)
RefreshLink (DAO)	Requery (Control- oder Form-Objekt)
RefreshTitleBar	Restore
RegisterDatabase (DAO)	Rollback (DAO)
Remove (VBA)	Run
Remove (Pages-Auflistung)**	RunCommand**
Remove (References-Auflistung)**	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


Verzeichnis der Eigenschaften

Das folgende Verzeichnis gruppiert alle Eigenschaften nach Objekt oder Auflistung und listet sie alphabetisch auf. Ein Sternchen (*) zeigt an, daß die Eigenschaft in Microsoft Access 95 hinzugefügt wurde. Die Eigenschaften, die in Microsoft Access 97 neu hinzugefügt wurden, sind mit zwei Sternchen (**) markiert.

Gruppiert nach Objekt oder Auflistung

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)
Alphabetisch sortiert

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 - Datentyp Datum/Zeit
Filter (DAO)	Format - Datentypen Zahl und Währung
Filter	Format - Datentypen Text und Memo
FilterLookup*	Format - Datentyp Ja/Nein
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 (Objektfeld-Steuerelement)
Indexed	Item (Auflistungen)**
Inherit (DAO)*	ItemData
Inherited (DAO)	KeepLocal (DAO)*
IniPath (DAO)*	KeepTogether - Gruppen
InputMask	KeepTogether - Bereiche
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 (Application-Objekt)*
ValidationRule	VisibleValue (DAO)
ValidationText (DAO)	WhatsThisButton (VBA)*
ValidationText	WhatsThisButton*
Value (DAO)	Width
Value	WillContinue*
Verb	WindowHeight
Version (DAO)	WindowWidth


Verzeichnis der Abfrageeigenschaften

Jede Abfrage verfügt über Eigenschafteneinstellungen, die Sie ändern können, um die Funktionsweise der Abfrage und das Aussehen des Abfrageergebnisses zu beeinflussen.

Weitere Informationen über eine Abfrageeigenschaft erhalten Sie, wenn Sie auf einen der folgenden Eigenschaftennamen klicken. Ein Sternchen (*) zeigt an, daß die Eigenschaft Abfragefelder oder Feldlisten betrifft. Eine Eigenschaft ohne Sternchen betrifft die Abfrage als ganzes.

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


Verzeichnis der Feldeigenschaften

Jedes Feld verfügt über Eigenschafteneinstellungen, die Sie ändern können, um Funktionsweise und Aussehen des Feldes zu beeinflussen. Die für ein Feld verfügbaren Eigenschaften hängen vom Datentyp des Feldes ab.

Weitere Informationen über eine Feldeigenschaft erhalten Sie, wenn Sie auf einen der nachstehenden Eigenschaftennamen klicken.

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


Verzeichnis der Tabelleneigenschaften

Jede Tabelle verfügt über Eigenschafteneinstellungen, die Sie ändern können, um Funktionsweise und Aussehen der Tabelle zu beeinflussen.

Weitere Informationen über eine Tabelleneigenschaft erhalten Sie, wenn Sie auf einen der nachstehenden Eigenschaftennamen klicken.

Description	ValidationRule
Filter	ValidationText
OrderBy


Verzeichnis der Steuerelementeigenschaften

Jedes Steuerelement verfügt über Eigenschafteneinstellungen, die Sie ändern können, um Funktionsweise und Aussehen des Steuerelements zu beeinflussen.

Sie können die Standardeigenschafteneinstellungen ändern, bevor Sie ein Steuerelement zu einem Formular oder Bericht hinzufügen. Sie können auch die Eigenschafteneinstellungen für ein Steuerelement ändern, das sich bereits in einem Formular oder Bericht befindet.

Weitere Informationen dazu, welche Möglichkeit für eine bestimmte Eigenschaft verfügbar ist, finden Sie im Thema für diese Eigenschaft.

Weitere Informationen über eine Steuerelementeigenschaft erhalten Sie, wenn Sie auf einen der nachstehenden Steuerelementnamen klicken.

ActiveX	Objektfeld
Befehlsschaltfläche	Optionsgruppe
Bezeichnungsfeld	Rechteck
Bild	Register
Diagramm	Seitenumbruch
Gebundenes Objektfeld	Textfeld
Kombinationsfeld	Umschaltfläche
Kontrollkästchen	Ungebundenes Objektfeld
Linie	Unterformular/-bericht
Listenfeld


Gebundene Objektfelder - Eigenschaften

In der folgenden Liste sind die Eigenschaften aufgeführt, die Sie für ein gebundenes Objektfeld einstellen können. Eigenschaften, die nur gelten, wenn sich das Steuerelement in einem Formular befindet, sind mit (NF) für "Nur Formulare" gekennzeichnet.

Zum Anzeigen weiterer Informationen über die betreffende Eigenschaft, klicken Sie auf einen Namen in der Liste, z.B. weitere Beschränkungen zu ihrer Verfügbarkeit, und ob Sie die Eigenschaft im Eigenschaftenfenster, in einem Makro oder in Visual Basic einstellen können.

A-O

AddColon	LabelAlign
AfterUpdate (NF)	LabelX
AutoActivate (NF)	LabelY
AutoLabel	Left
BackColor	Locked (NF)
BackStyle	Name
BeforeUpdate (NF)	OLETypeAllowed
BorderColor	OnClick (NF)
BorderStyle	OnDblClick (NF)
BorderWidth	OnEnter (NF)
Class	OnExit (NF)
ControlSource	OnGotFocus (NF)
ControlTipText	OnKeyDown (NF)
ControlType	OnKeyPress (NF)
DisplayType	OnKeyUp (NF)
DisplayWhen (NF)	OnLostFocus (NF)
Enabled (NF)	OnMouseDown (NF)
Height	OnMouseMove (NF)
HelpContextID (NF)	OnMouseUp (NF)
InSelection (NF)	OnUpdated (NF)
P-Z

ShortcutMenuBar	TabStop (NF)
SizeMode	Tag
SourceDoc	Top
SourceItem	UpdateOptions
SpecialEffect	Verb
StatusBarText (NF)	Visible
TabIndex (NF)	Width


Kontrollkästchen-Eigenschaften

In der folgenden Liste sind die Eigenschaften aufgeführt, die Sie für ein Kontrollkästchen einstellen können. Eigenschaften, die nur gelten, wenn sich das Steuerelement in einem Formular befindet, sind mit (NF) für "Nur Formulare" gekennzeichnet.

Zum Anzeigen weiterer Informationen über die betreffende Eigenschaft, klicken Sie auf einen Namen in der Liste, z.B. weitere Beschränkungen zu ihrer Verfügbarkeit, und ob Sie die Eigenschaft im Eigenschaftenfenster, in einem Makro oder in Visual Basic einstellen können.

AddColon	OnDblClick (NF)
AfterUpdate (NF)	OnEnter (NF)
AutoLabel	OnExit (NF)
BeforeUpdate (NF)	OnGotFocus (NF)
BorderColor	OnKeyDown (NF)
BorderStyle	OnKeyPress (NF)
BorderWidth	OnKeyUp (NF)
ControlSource	OnLostFocus (NF)
ControlTipText	OnMouseDown (NF)
ControlType	OnMouseMove (NF)
DefaultValue (NF)	OnMouseUp (NF)
DisplayWhen (NF)	ShortcutMenuBar
Enabled (NF)	SpecialEffect
Height	StatusBarText (NF)
HelpContextID (NF)	TabIndex (NF)
InSelection (NF)	TabStop (NF)
LabelAlign	Tag
LabelX	Top
LabelY	TripleState
Left	ValidationRule (NF)
Locked (NF)	ValidationText (NF)
Name	Visible
OnClick (NF)	Width


Kombinationsfeld-Eigenschaften

In der folgenden Liste sind die Eigenschaften aufgeführt, die Sie für ein Kombinationsfeld einstellen können. Eigenschaften, die nur gelten, wenn sich das Steuerelement in einem Formular befindet, sind mit (NF) für "Nur Formulare" gekennzeichnet.

Zum Anzeigen weiterer Informationen über die betreffende Eigenschaft, klicken Sie auf einen Namen in der Liste, z.B. weitere Beschränkungen zu ihrer Verfügbarkeit, und ob Sie die Eigenschaft im Eigenschaftenfenster, in einem Makro oder in Visual Basic einstellen können.

A–M

AddColon	Enabled (NF)
AfterUpdate (NF)	FontItalic
AllowAutoCorrect	FontName
AutoExpand	FontSize
AutoLabel	FontUnderline
BackColor	FontWeight
BackStyle	ForeColor
BeforeUpdate (NF)	Format
BorderColor	Height
BorderStyle	HelpContextID (NF)
BorderWidth	InputMask
BoundColumn	InSelection (NF)
Column	ItemData
ColumnCount	LabelAlign
ColumnHeads	LabelX
ColumnWidths	LabelY
ControlSource	Left
ControlTipText (NF)	LimitToList
ControlType	ListRows
DecimalPlaces	ListWidth
DefaultValue (NF)	Locked (NF)
DisplayWhen (NF)
N–Z

Name	RowSource
OnChange (NF)	RowSourceType
OnClick (NF)	ShortcutMenuBar
OnDblClick (NF)	SpecialEffect
OnEnter (NF)	StatusBarText (NF)
OnExit (NF)	TabIndex (NF)
OnGotFocus (NF)	TabStop (NF)
OnKeyDown (NF)	Tag
OnKeyPress (NF)	TextAlign
OnKeyUp (NF)	Top
OnLostFocus (NF)	ValidationRule (NF)
OnMouseDown (NF)	ValidationText (NF)
OnMouseMove (NF)	Visible
OnMouseUp (NF)	Width
OnNotInList (NF)


Befehlsschaltflächen-Eigenschaften

In der folgenden Liste sind die Eigenschaften aufgeführt, die Sie für eine Befehlsschaltfläche einstellen können. Eigenschaften, die nur gelten, wenn sich das Steuerelement in einem Formular befindet, sind mit (NF) für "Nur Formulare" gekennzeichnet.

Zum Anzeigen weiterer Informationen über die betreffende Eigenschaft, klicken Sie auf einen Namen in der Liste, z.B. weitere Beschränkungen zu ihrer Verfügbarkeit, und ob Sie die Eigenschaft im Eigenschaftenfenster, in einem Makro oder in Visual Basic einstellen können.

AddColon	Name
AutoLabel	OnClick (NF)
AutoRepeat (NF)	OnDblClick (NF)
Cancel (NF)	OnEnter (NF)
Caption	OnExit (NF)
ControlTipText (NF)	OnGotFocus (NF)
ControlType	OnKeyDown (NF)
Default	OnKeyPress (NF)
DisplayWhen (NF)	OnKeyUp (NF)
Enabled (NF)	OnLostFocus (NF)
FontItalic	OnMouseDown (NF)
FontName	OnMouseMove (NF)
FontSize	OnMouseUp (NF)
FontUnderline	Picture
FontWeight	PictureType
ForeColor	ShortcutMenuBar
Height	StatusBarText (NF)
HelpContextID (NF)	TabIndex (NF)
HyperlinkAddress	TabStop (NF)
HyperlinkSubAddress	Tag
InSelection (NF)	Top
LabelAlign	Transparent
LabelX	Visible
LabelY	Width
Left


Diagramm-Eigenschaften

In der folgenden Liste sind die Eigenschaften aufgeführt, die Sie für ein Diagramm einstellen können. Eigenschaften, die nur gelten, wenn sich das Steuerelement in einem Formular befindet, sind mit (NF) für "Nur Formulare" gekennzeichnet.

Zum Anzeigen weiterer Informationen über die betreffende Eigenschaft, klicken Sie auf einen Namen in der Liste, z.B. weitere Beschränkungen zu ihrer Verfügbarkeit, und ob Sie die Eigenschaft im Eigenschaftenfenster, in einem Makro oder in Visual Basic einstellen können.

AddColon	OnClick (NF)
AfterUpdate (NF)	OnDblClick (NF)
AutoActivate (NF)	OnEnter (NF)
AutoLabel	OnExit (NF)
BackColor	OnGotFocus (NF)
BackStyle	OnKeyDown (NF)
BeforeUpdate (NF)	OnKeyPress (NF)
BorderColor	OnKeyUp (NF)
BorderStyle	OnLostFocus (NF)
BorderWidth	OnMouseDown (NF)
Class	OnMouseMove (NF)
ControlSource	OnMouseUp (NF)
ControlTipText	OnUpdated (NF)
ControlType	ShortcutMenuBar
DisplayType	SizeMode
DisplayWhen (NF)	SourceDoc
Enabled (NF)	SourceItem
Height	SpecialEffect
HelpContextID (NF)	StatusBarText (NF)
InSelection (NF)	TabIndex (NF)
LabelAlign	TabStop (NF)
LabelX	Tag
LabelY	Top
Left	UpdateOptions
Locked (NF)	Verb
Name	Visible
OLETypeAllowed	Width


Bild-Eigenschaften

In der folgenden Liste sind die Eigenschaften aufgeführt, die Sie für ein Bild einstellen können. Eigenschaften, die nur gelten, wenn sich das Steuerelement in einem Formular befindet, sind mit (NF) für "Nur Formulare" gekennzeichnet.

Zum Anzeigen weiterer Informationen über die betreffende Eigenschaft, klicken Sie auf einen Namen in der Liste, z.B. weitere Beschränkungen zu ihrer Verfügbarkeit, und ob Sie die Eigenschaft im Eigenschaftenfenster, in einem Makro oder in Visual Basic einstellen können.

BackColor	OnDblClick (NF)
BackStyle	OnMouseDown (NF)
BorderColor	OnMouseMove (NF)
BorderStyle	OnMouseUp (NF)
BorderWidth	Picture
ControlTipText (NF)	PictureAlignment
ControlType	PictureTiling (NF)
DisplayWhen (NF)	PictureType
Height	ShortcutMenuBar
HelpContextID	SizeMode
HyperlinkAddress	SpecialEffect
HyperlinkSubAddress	Tag
InSelection (NF)	Top
Left	Visible
Name	Width
OnClick (NF)


Bezeichnungsfeld-Eigenschaften

In der folgenden Liste sind die Eigenschaften aufgeführt, die Sie für ein Bezeichnungsfeld einstellen können. Eigenschaften, die nur gelten, wenn sich das Steuerelement in einem Formular befindet, sind mit (NF) für "Nur Formulare" gekennzeichnet.

Zum Anzeigen weiterer Informationen über die betreffende Eigenschaft, klicken Sie auf einen Namen in der Liste, z.B. weitere Beschränkungen zu ihrer Verfügbarkeit, und ob Sie die Eigenschaft im Eigenschaftenfenster, in einem Makro oder in Visual Basic einstellen können.

BackColor	HyperlinkAddress
BackStyle	HyperlinkSubAddress
BorderColor	InSelection (NF)
BorderStyle	Left
BorderWidth	Name
Caption	OnClick (NF)
ControlTipText (NF)	OnDblClick (NF)
ControlType	OnMouseDown (NF)
DisplayWhen (NF)	OnMouseMove (NF)
FontItalic	OnMouseUp (NF)
FontName	ShortcutMenuBar
FontSize	SpecialEffect
FontUnderline	Tag
FontWeight	TextAlign
ForeColor	Top
Height	Visible
HelpContextID	Width


Linie-Eigenschaften

In der folgenden Liste sind die Eigenschaften aufgeführt, die Sie für eine Linie einstellen können. Eigenschaften, die nur gelten, wenn sich das Steuerelement in einem Formular befindet, sind mit (NF) für "Nur Formulare" gekennzeichnet.

Zum Anzeigen weiterer Informationen über die betreffende Eigenschaft, klicken Sie auf einen Namen in der Liste, z.B. weitere Beschränkungen zu ihrer Verfügbarkeit, und ob Sie die Eigenschaft im Eigenschaftenfenster, in einem Makro oder in Visual Basic einstellen können.

BorderColor	LineSlant
BorderStyle	Name
BorderWidth	SpecialEffect
ControlType	Tag
DisplayWhen (NF)	Top
Height	Visible
InSelection (NF)	Width
Left


Listenfeld-Eigenschaften

In der folgenden Liste sind die Eigenschaften aufgeführt, die Sie für ein Listenfeld einstellen können. Eigenschaften, die nur gelten, wenn sich das Steuerelement in einem Formular befindet, sind mit (NF) für "Nur Formulare" gekennzeichnet.

Zum Anzeigen weiterer Informationen über die betreffende Eigenschaft, klicken Sie auf einen Namen in der Liste, z.B. weitere Beschränkungen zu ihrer Verfügbarkeit, und ob Sie die Eigenschaft im Eigenschaftenfenster, in einem Makro oder in Visual Basic einstellen können.

A–M

AddColon	Enabled (NF)
AfterUpdate (NF)	FontItalic
AutoLabel	FontName
BackColor	FontSize
BeforeUpdate (NF)	FontUnderline
BorderColor	FontWeight
BorderStyle	ForeColor
BorderWidth	Height
BoundColumn	HelpContextID (NF)
Column (NF)	InSelection (NF)
ColumnCount	ItemData
ColumnHeads	LabelAlign
ColumnWidths	LabelX
ControlSource	LabelY
ControlTipText (NF)	Left
ControlType	Locked (NF)
DefaultValue (NF)	MultiSelect
DisplayWhen (NF)
N–Z

Name	RowSource
OnClick (NF)	RowSourceType
OnDblClick (NF)	ShortcutMenuBar
OnEnter (NF)	SpecialEffect
OnExit (NF)	StatusBarText (NF)
OnGotFocus (NF)	TabIndex (NF)
OnKeyDown (NF)	TabStop (NF)
OnKeyPress (NF)	Tag
OnKeyUp (NF)	Top
OnLostFocus (NF)	ValidationRule (NF)
OnMouseDown (NF)	ValidationText (NF)
OnMouseMove (NF)	Visible
OnMouseUp (NF)	Width


Optionsfeld-Eigenschaften

In der folgenden Liste sind die Eigenschaften aufgeführt, die Sie für ein Optionsfeld einstellen können. Eigenschaften, die nur gelten, wenn sich das Steuerelement in einem Formular befindet, sind mit (NF) für "Nur Formulare" gekennzeichnet.

Zum Anzeigen weiterer Informationen über die betreffende Eigenschaft, klicken Sie auf einen Namen in der Liste, z.B. weitere Beschränkungen zu ihrer Verfügbarkeit, und ob Sie die Eigenschaft im Eigenschaftenfenster, in einem Makro oder in Visual Basic einstellen können.

AddColon	OnDblClick (NF)
AfterUpdate (NF)	OnEnter (NF)
AutoLabel	OnExit (NF)
BeforeUpdate (NF)	OnGotFocus (NF)
BorderColor	OnKeyDown (NF)
BorderStyle	OnKeyPress (NF)
BorderWidth	OnKeyUp (NF)
ControlSource	OnLostFocus (NF)
ControlTipText (NF)	OnMouseDown (NF)
ControlType	OnMouseMove (NF)
DefaultValue (NF)	OnMouseUp (NF)
DisplayWhen (NF)	ShortcutMenuBar
Enabled (NF)	SpecialEffect
Height	StatusBarText (NF)
HelpContextID (NF)	TabIndex (NF)
InSelection (NF)	TabStop (NF)
LabelAlign	Tag
LabelX	Top
LabelY	TripleState
Left	ValidationRule (NF)
Locked (NF)	ValidationText (NF)
Name	Visible
OnClick (NF)	Width


Optionsgruppe-Eigenschaften

In der folgenden Liste sind die Eigenschaften aufgeführt, die Sie für eine Optionsgruppe einstellen können. Eigenschaften, die nur gelten, wenn sich das Steuerelement in einem Formular befindet, sind mit (NF) für "Nur Formulare" gekennzeichnet.

Zum Anzeigen weiterer Informationen über die betreffende Eigenschaft, klicken Sie auf einen Namen in der Liste, z.B. weitere Beschränkungen zu ihrer Verfügbarkeit, und ob Sie die Eigenschaft im Eigenschaftenfenster, in einem Makro oder in Visual Basic einstellen können.

AddColon	Left
AfterUpdate (NF)	Locked (NF)
AutoLabel	Name
BackColor	OnClick (NF)
BackStyle	OnDblClick (NF)
BeforeUpdate (NF)	OnEnter (NF)
BorderColor	OnExit (NF)
BorderStyle	OnMouseDown (NF)
BorderWidth	OnMouseMove (NF)
ControlSource	OnMouseUp (NF)
ControlTipText (NF)	ShortcutMenuBar
ControlType	SpecialEffect
DefaultValue (NF)	StatusBarText (NF)
DisplayWhen (NF)	TabIndex (NF)
Enabled (NF)	TabStop (NF)
Height	Tag
HelpContextID (NF)	Top
InSelection	ValidationRule (NF)
LabelAlign	ValidationText (NF)
LabelX	Visible
LabelY	Width


Seitenumbruch-Eigenschaften

In der folgenden Liste sind die Eigenschaften aufgeführt, die Sie für einen Seitenumbruch einstellen können. Eigenschaften, die nur gelten, wenn sich das Steuerelement in einem Formular befindet, sind mit (NF) für "Nur Formulare" gekennzeichnet.

Zum Anzeigen weiterer Informationen über die betreffende Eigenschaft, klicken Sie auf einen Namen in der Liste, z.B. weitere Beschränkungen zu ihrer Verfügbarkeit, und ob Sie die Eigenschaft im Eigenschaftenfenster, in einem Makro oder in Visual Basic einstellen können.

ControlType	Name
InSelection (NF)	Tag
Left	Top


Rechteck-Eigenschaften

In der folgenden Liste sind die Eigenschaften aufgeführt, die Sie für ein Rechteck einstellen können. Eigenschaften, die nur gelten, wenn sich das Steuerelement in einem Formular befindet, sind mit (NF) für "Nur Formulare" gekennzeichnet.

Zum Anzeigen weiterer Informationen über die betreffende Eigenschaft, klicken Sie auf einen Namen in der Liste, z.B. weitere Beschränkungen zu ihrer Verfügbarkeit, und ob Sie die Eigenschaft im Eigenschaftenfenster, in einem Makro oder in Visual Basic einstellen können.

BackColor	OnClick (NF)
BackStyle	OnDblClick (NF)
BorderColor	OnMouseDown (NF)
BorderStyle	OnMouseMove (NF)
BorderWidth	OnMouseUp (NF)
ControlType	SpecialEffect
DisplayWhen (NF)	Tag
Height	Top
InSelection (NF)	Visible
Left	Width
Name


Unterformular/Unterbericht-Eigenschaften

In der folgenden Liste sind die Eigenschaften aufgeführt, die Sie für ein Unterformular bzw. einen Unterbericht einstellen können. Eigenschaften, die nur gelten, wenn sich das Steuerelement in einem Formular befindet, sind mit (NF) für "Nur Formulare" gekennzeichnet.

Zum Anzeigen weiterer Informationen über die betreffende Eigenschaft, klicken Sie auf einen Namen in der Liste, z.B. weitere Beschränkungen zu ihrer Verfügbarkeit, und ob Sie die Eigenschaft im Eigenschaftenfenster, in einem Makro oder in Visual Basic einstellen können.

AddColon	LinkChildFields
AutoLabel	LinkMasterFields
BorderColor	Locked (NF)
BorderStyle	Name
BorderWidth	OnEnter (NF)
CanGrow	OnExit (NF)
CanShrink	SourceObject
ControlType	SpecialEffect
DisplayWhen (NF)	StatusBarText (NF)
Enabled (NF)	TabIndex (NF)
Height	TabStop (NF)
InSelection (NF)	Tag
LabelAlign	Top
LabelX	Visible
LabelY	Width
Left


Textfeld-Eigenschaften

In der folgenden Liste sind die Eigenschaften aufgeführt, die Sie für ein Textfeld einstellen können. Eigenschaften, die nur gelten, wenn sich das Steuerelement in einem Formular befindet, sind mit (NF) für "Nur Formulare" gekennzeichnet.

Zum Anzeigen weiterer Informationen über die betreffende Eigenschaft, klicken Sie auf einen Namen in der Liste, z.B. weitere Beschränkungen zu ihrer Verfügbarkeit, und ob Sie die Eigenschaft im Eigenschaftenfenster, in einem Makro oder in Visual Basic einstellen können.

A–N

AddColon	EnterKeyBehavior (NF)
AfterUpdate (NF)	FilterLookup
AllowAutoCorrect	FontBold
AutoLabel	FontItalic
AutoTab (NF)	FontName
BackColor	FontSize
BackStyle	FontUnderline
BeforeUpdate (NF)	FontWeight
BorderColor	ForeColor
BorderStyle	Format
BorderWidth	Height
CanGrow	HelpContextID (NF)
CanShrink	InputMask
ControlSource	InSelection (NF)
ControlTipText (NF)	LabelAlign
ControlType	LabelX
DecimalPlaces	LabelY
DefaultValue (NF)	Left
DisplayWhen (NF)	Locked (NF)
Enabled (NF)	Name
O–P

OnChange (NF)	ScrollBars (NF)
OnClick (NF)	ShortcutMenuBar
OnDblClick (NF)	SpecialEffect
OnEnter (NF)	StatusBarText (NF)
OnExit (NF)	TabIndex (NF)
OnGotFocus (NF)	TabStop (NF)
OnKeyDown (NF)	Tag
OnKeyPress (NF)	TextAlign
OnKeyUp (NF)	Top
OnLostFocus (NF)	ValidationRule (NF)
OnMouseDown (NF)	ValidationText (NF)
OnMouseMove (NF)	Visible
OnMouseUp (NF)	Width


Umschaltfläche-Eigenschaften

In der folgenden Liste sind die Eigenschaften aufgeführt, die Sie für eine Umschaltfläche einstellen können. Eigenschaften, die nur gelten, wenn sich das Steuerelement in einem Formular befindet, sind mit (NF) für "Nur Formulare" gekennzeichnet.

Zum Anzeigen weiterer Informationen über die betreffende Eigenschaft, klicken Sie auf einen Namen in der Liste, z.B. weitere Beschränkungen zu ihrer Verfügbarkeit, und ob Sie die Eigenschaft im Eigenschaftenfenster, in einem Makro oder in Visual Basic einstellen können.

AddColon	OnClick (NF)
AfterUpdate (NF)	OnDblClick (NF)
AutoLabel	OnEnter (NF)
BeforeUpdate (NF)	OnExit (NF)
Caption	OnGotFocus (NF)
ControlSource	OnKeyDown (NF)
ControlTipText (NF)	OnKeyPress (NF)
ControlType	OnKeyUp (NF)
DefaultValue (NF)	OnLostFocus (NF)
DisplayWhen (NF)	OnMouseDown (NF)
Enabled (NF)	OnMouseMove (NF)
FontItalic	OnMouseUp (NF)
FontName	Picture
FontSize	PictureType
FontUnderline	ShortcutMenuBar
FontWeight	StatusBarText (NF)
ForeColor	TabIndex (NF)
Height	TabStop (NF)
HelpContextID (NF)	Tag
InSelection (NF)	Top
LabelAlign	TripleState
LabelX	ValidationRule (NF)
LabelY	ValidationText (NF)
Left	Visible
Locked (NF)	Width
Name


Ungebundene Objektfelder - Eigenschaften

In der folgenden Liste sind die Eigenschaften aufgeführt, die Sie für ein ungebundenes Objektfeld einstellen können. Eigenschaften, die nur gelten, wenn sich das Steuerelement in einem Formular befindet, sind mit (NF) für "Nur Formulare" gekennzeichnet.

Zum Anzeigen weiterer Informationen über die betreffende Eigenschaft, klicken Sie auf einen Namen in der Liste, z.B. weitere Beschränkungen zu ihrer Verfügbarkeit, und ob Sie die Eigenschaft im Eigenschaftenfenster, in einem Makro oder in Visual Basic einstellen können.

AutoActivate (NF)	OnDblClick (NF)
BackColor	OnEnter (NF)
BackStyle	OnExit (NF)
BorderColor	OnGotFocus (NF)
BorderStyle	OnLostFocus (NF)
BorderWidth	OnMouseDown (NF)
Class	OnMouseMove (NF)
ColumnCount	OnMouseUp (NF)
ColumnHeads	OnUpdated (NF)
ControlTipText (NF)	RowSource
ControlType	RowSourceType
DisplayType	ShortcutMenuBar
DisplayWhen (NF)	SizeMode
Enabled (NF)	SourceDoc
Height	SourceItem
HelpContextID (NF)	SpecialEffect
InSelection (NF)	StatusBarText
Left	TabIndex (NF)
LinkChildFields	TabStop (NF)
LinkMasterFields	Tag
Locked (NF)	Top
Name	UpdateOptions
OLEClass	Verb
OLEType	Visible
OLETypeAllowed	Width
OnClick (NF)


Register-Steuerelement - Eigenschaften

In der folgenden Liste sind die Eigenschaften aufgeführt, die Sie für ein Register-Steuerelement einstellen können.

Zum Anzeigen weiterer Informationen über die betreffende Eigenschaft, klicken Sie auf einen Namen in der Liste, z.B. weitere Beschränkungen zu ihrer Verfügbarkeit, und ob Sie die Eigenschaft im Eigenschaftenfenster, in einem Makro oder in Visual Basic einstellen können.

BackStyle	OnKeyDown (NF)
ControlType	OnKeyPress (NF)
DisplayWhen	OnKeyUp (NF)
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


ActiveX-Steuerelement - Eigenschaften

In der folgenden Liste sind die Eigenschaften aufgeführt, die Sie für ein ActiveX-Steuerelement einstellen können.

Zum Anzeigen weiterer Informationen über die betreffende Eigenschaft, klicken Sie auf einen Namen in der Liste, z.B. weitere Beschränkungen zu ihrer Verfügbarkeit, und ob Sie die Eigenschaft im Eigenschaftenfenster, in einem Makro oder in Visual Basic einstellen können.

BorderColor	Object
BorderStyle	OLEClass
BorderWidth	OnEnter (NF)
Class	OnExit (NF)
ControlSource	OnGotFocus (NF)
ControlTipText	OnLostFocus (NF)
ControlType	OnUpdated (NF)
Custom	SpecialEffect
DisplayWhen (NF)	TabIndex (NF)
Enabled (NF)	TabStop (NF)
Height	Tag
HelpContextID (NF)	Top
InSelection (NF)	Verb
Left	Visible
Locked (NF)	Width
Name


LoadPicture-Funktion

Die Funktion LoadPicture lädt eine Grafik in ein ActiveX-Steuerelement.

Syntax

LoadPicture(Zeichenfolgenausdruck)

Die Funktion LoadPicture hat folgendes Argument.

Argument	Beschreibung
Zeichenfolgenausdruck	Der Name der Datei, in der sich die zu ladende Grafik befindet. Die Grafik kann in einem der folgenden Dateiformate vorliegen: Bitmap-Datei (.bmp), Symboldatei (Icon-Datei, .ico), Run-Length Encoded-Datei (.rle) oder Metadatei (.wmf).
Hinweis

Weisen Sie den Rückgabewert der Funktion LoadPicture der Eigenschaft Picture eines ActiveX-Steuerelements zu, um eine Grafik dynamisch in das Steuerelement zu laden. Im folgenden Beispiel wird eine Bitmap in ein Steuerelement namens OLEZusatzsteuerelement geladen, das Bestandteil des Formulars Bestellungen ist:

Set Forms!Bestellungen!OLEZusatzsteuerelement.Picture = LoadPicture("Sterne.bmp")

Die Funktion LoadPicture gibt ein Objekt des Typs Picture zurück. Diesen Rückgabewert können Sie mit der Anweisung Set einer Variablen des Typs Object zuweisen.

Das Objekt Picture ist kein Microsoft Access-Objekt, steht aber in Prozeduren in Microsoft Access zur Verfügung.

Anmerkung   Die Eigenschaft Picture eines Bild-Steuerelements können Sie nicht mit der Funktion LoadPicture einstellen. Diese Funktion kann nur für ActiveX-Steuerelemente verwendet werden. Die Eigenschaft Picture eines Bild-Steuerelements stellen Sie ein, indem Sie dieser einfach eine Zeichenfolge zuweisen, die den Pfad und den Namen der Datei angibt, in der sich die gewünschte Grafik befindet.


LoadPicture-Funktion - Beispiel

Im folgenden Beispiel wird die Funktion LoadPicture verwendet, um eine Metadatei in ein ActiveX-Steuerelement zu laden, das sich auf einem Formular namens Personal befindet.

Sub GrafikAnzeigen()

Const strConPfadZuDenBitmaps = "C:\Programme\MSOffice\Office\Bitmaps\Styles\"

' Objektvariablen des Typs Picture und Control deklarieren.

Dim objBild As Object, ctl As Control

' Control-Variable so einstellen, daß sie auf das

' ActiveX-Steuerelement des Formulars verweist.

Set ctl = Forms!Personal!EinZusatzsteuerelement

' Den Rückgabewert von LoadPicture dem Picture-Objekt zuweisen.

Set objBild = LoadPicture(strConPfadZuDenBitmaps & "Globus.wmf")

' Die Eigenschaft Picture des ActiveX-Steuerelements einstellen.

Set ctl.Picture = objBild

End Sub


Geänderte Eigenschaftennamen

In der folgenden Tabelle sind die Eigenschaften aufgelistet, die einen anderen Namen oder eine andere Funktion als in früheren Versionen von Microsoft Access besitzen. Diese Eigenschaften wurden nur wegen der Kompatibilität mit früheren Versionen in diese Microsoft Access-Version aufgenommen. Es wird empfohlen, daß Sie statt dessen die aktuellen Microsoft Access-Eigenschaften verwenden.

In Microsoft Access 95 hinzugefügte Eigenschaften sind im Verzeichnis der Eigenschaften mit einem Sternchen (*) gekennzeichnet. In Microsoft Access 97 hinzugefügte Eigenschaften sind im Verzeichnis der Eigenschaften mit zwei Sternchen (**) gekennzeichnet.

Frühere Microsoft Access-Eigenschaft	Aktuelle Microsoft Access-Eigenschaft
AllowEditing, DefaultEditing	AllowAdditions, AllowDeletions, AllowEdits, DataEntry
MaxButton, MinButton	MinMaxButtons
BorderLineStyle	BorderStyle
AllowUpdating	RecordsetType
Dynaset	RecordsetClone
ShowGrid	DatasheetGridlinesBehavior


Einstellen von Eigenschaften unter Verwendung von Makros

Aus einem Makro können Sie die Eigenschaften für Form-Objekte (Formulare), Report-Objekte (Berichte) und Control-Objekte (Steuerelemente) sowie für Formular- und Berichtsbereiche einstellen. Verwenden Sie die Aktion SetzenWert in einem Makro, um den Wert einer Eigenschaft einzustellen.

Sie können mit einem Makro weder die Eigenschaften anderer Microsoft Access-Objekte oder Datenzugriffsobjekte noch die Standardeigenschaften eines Steuerelements einstellen. Diese können Sie jedoch in Visual Basic oder im Eigenschaftenfenster eines Objekts in der Entwurfsansicht vornehmen.

So stellen Sie eine Formular-, Berichts- oder Steuerelementeigenschaft mit einem Makro ein

1.	Fügen Sie zum Makro eine Aktion SetzenWert hinzu.

2.	Stellen Sie das Aktionsargument Feld der Aktion SetzenWert auf einen Ausdruck ein, der auf die einzustellende Eigenschaft verweist:

•	Um eine Formular- oder Berichtseigenschaft einzustellen, verwenden Sie die Syntax Forms!Formularname.Eigenschaftenname oder Reports!Berichtsname.Eigenschaftenname. Der folgende Ausdruck verweist z.B. auf die Eigenschaft Visible des Formulars Kunden.

Forms!Kunden.Visible

•	Um die Eigenschaft eines Steuerelements in einem Formular oder Bericht einzustellen, verwenden Sie die Syntax Forms!Formularname!Steuerelementname.Eigenschaftenname oder Reports!Berichtsname!Steuerelementname.Eigenschaftenname. Beispielsweise verweist der folgende Ausdruck auf die Eigenschaft Visible des Steuerelements VerborgenerSeitenumbruch im Bericht Rechnung.

Reports!Rechnung!HiddenPageBreak.Visible

Tip   Wenn das Makro, das die Aktion SetzenWert enthält, aus dem Formular oder Bericht mit der einzustellenden Eigenschaft ausgeführt wird, reicht die Syntax Eigenschaftenname aus, um auf die Eigenschaft zu verweisen. Dennoch empfiehlt es sich, mit der vollständigen Syntax auf die Eigenschaft zu verweisen, um Konflikte mit Namen von Steuerelementen oder Visual Basic-Schlüsselwörtern zu vermeiden. Beispielsweise ist Name eine Microsoft Access-Eigenschaft; wenn Sie in Ihrem Formular ebenfalls ein Steuerelement Name verwenden, verwenden Sie sowohl für Verweise auf das Steuerelement als auch auf die Eigenschaft die vollständige Syntax.

3.	Stellen Sie das Aktionsargument Ausdruck der Aktion SetzenWert auf den gewünschten Wert der Eigenschaft ein. Stellt die Einstellung eine Zeichenfolge dar, so setzen Sie diese in Anführungszeichen ("). Wenn Sie z.B. die Eigenschaft Caption eines Formulars auf Bestellungen einstellen möchten, geben Sie "Bestellungen" im Argument Ausdruck ein.

So stellen Sie eine Bereichseigenschaft mit einem Makro ein

1.	Fügen Sie zum Makro eine Aktion SetzenWert hinzu.

2.	Verwenden Sie im Aktionsargument Feld die Syntax Forms!Formularname.Bereich(Konstante).Eigenschaftenname , um auf die einzustellende Eigenschaft zu verweisen. Das Argument Konstante verweist auf einen bestimmten Bereich des Formulars oder Berichts, der in der Eigenschaft Section beschrieben wird. Beispielsweise verweist der folgende Ausdruck auf die Eigenschaft Visible des Seitenkopfbereichs im Formular Kunden.

Forms!Kunden.Section(acHeader).Visible

3.	Stellen Sie das Aktionsargument Ausdruck wie oben beschrieben ein.

Anmerkungen   Zu jeder Eigenschaft, die Sie einstellen möchten, erhalten Sie im Hilfeindex weitere Informationen zu folgenden Punkten:

•	Ob die Eigenschaft in einem Makro eingestellt werden kann.

•	Ansichten, in denen Sie die Eigenschaft einstellen können. Nicht alle Eigenschaften können in jeder Ansicht eingestellt werden. Sie können z.B. die Eigenschaft BorderStyle eines Formulars nur in der Formular-Entwurfsansicht einstellen.

•	Werte, die Sie zur Einstellung der Eigenschaft verwenden können. Einige Eigenschaften erfordern Einstellungen, die nicht den Werten im Eigenschaftenfenster entsprechen, sondern Zahlen sind. Stellen Sie die Eigenschaft unter Umständen mit den Werten ein, die Sie in Visual Basic verwenden, anstatt mit Werten, die Sie im Eigenschaftenfenster verwenden. Wenn die Eigenschafteneinstellungen in einer Dropdown-Liste ausgewählt werden, verwenden Sie für jede Auswahl den Wert oder seine numerische Entsprechung.


Einstellen von Eigenschaften unter Verwendung von Visual Basic

Die meisten Eigenschaften können Sie in Visual Basic-Code einstellen. Wie Sie eine Eigenschaft einstellen, hängt davon ab, ob Sie diese für Form-Objekte (Formulare), Report-Objekte (Berichte) oder Control-Objekte (Steuerelemente) oder für ein Datenzugriffsobjekt einstellen. Die folgenden Themen beschreiben für jeden Objekttyp die Schritte, die zum Einstellen von Eigenschaften erforderlich sind.

Einstellen von Formular-, Berichts- und Steuerelementeigenschaften in Visual Basic

Einstellen der Eigenschaften von Datenzugriffsobjekten in Visual Basic


Einstellen von Formular-, Berichts- und Steuerelementeigenschaften in Visual Basic

Form-Objekte (Formulare), Report-Objekte (Berichte) und Control-Objekte (Steuerelemente) sind Microsoft Access-Objekte. Sie können Eigenschaften dieser Objekte aus einer Sub-Prozedur, einer Funktion oder einer Ereignisprozedur heraus einstellen. Sie können Eigenschaften auch für Formular- und Berichtsbereiche einstellen.

So stellen Sie eine Eigenschaft eines Formulars oder Berichts ein

Verweisen Sie auf das Formular oder den Bericht in der Auflistung Forms oder Reports, und geben Sie dahinter den Namen und den gewünschten Wert der Eigenschaft an. Wenn Sie z.B. die Eigenschaft Visible des Formulars Kunden auf True (-1) einstellen möchten, verwenden Sie die folgende Codezeile.

Forms!Kunden.Visible = True

Sie können eine Eigenschaft eines Formulars oder Berichts auch aus dem Modul des Objekts heraus mit Hilfe der Eigenschaft Me einstellen. Code, der die Eigenschaft Me verwendet, wird schneller ausgeführt als Code, der mit ausführlichen Objektnamen arbeitet. Um z.B. die Eigenschaft RecordSource des Formulars Kunden auf eine SQL-Anweisung einzustellen, die alle Datensätze aus dem Formularmodul Kunden zurückgibt, in denen der Eintrag im Feld Firmenname mit "A" beginnt, verwenden Sie die folgende Codezeile:

Me!RecordSource = "SELECT * FROM Kunden " _

& "WHERE Firma Like 'A*'"

So stellen Sie eine Eigenschaft eines Steuerelements ein

Verweisen Sie auf das Steuerelement in der Auflistung Controls des Form- oder Report-Objekts, in dem sich die einzustellende Eigenschaft befindet. Sie können auf die Auflistung Controls implizit oder explizit verweisen, wobei Code mit impliziten Verweisen schneller ausgeführt wird. Die folgenden Beispiele stellen die Eigenschaft Visible des Textfelds Kunden-Code im Formular Kunden ein.

' Schnelleres Verfahren.

Me![Kunden-Code].Visible = True

' Langsameres Verfahren.

Forms!Kunden.Controls![Kunden-Code].Visible = True

Am schnellsten können Sie eine Eigenschaft eines Steuerelements einstellen, indem Sie aus dem Modul eines Objekts heraus die Eigenschaft Me verwenden. Sie können z.B. die Eigenschaft Visible des Textfelds Kunden-Code im Formular Kunden mit dem folgenden Code umschalten:

With Me![Kunden-Code]

.Visible = Not .Visible

End With

So stellen Sie die Eigenschaft eines Formular- oder Berichtsbereichs ein

Verweisen Sie auf das Formular oder den Bericht in der Auflistung Forms oder Reports, geben Sie dann die Eigenschaft Section und die Zahl oder Konstante ein, die den Bereich kennzeichnet. Das folgende Beispiel stellt die Eigenschaft Visible des Seitenkopfbereichs des Formulars Kunden auf False (0) ein.

Forms!Kunden.Section(3).Visible = False

Me!Section(acPageHeader).Visible = False

Anmerkungen   Zu jeder Eigenschaft, die Sie einstellen möchten, erhalten Sie im Hilfeindex weitere Informationen zu folgenden Punkten:

•	Ob die Eigenschaft in Visual Basic eingestellt werden kann.

•	Ansichten, in denen Sie die Eigenschaft einstellen können. Nicht alle Eigenschaften können in jeder Ansicht eingestellt werden. Sie können z.B. die Eigenschaft BorderStyle eines Formulars nur in der Formular-Entwurfsansicht einstellen.

•	Werte, die Sie zur Einstellung der Eigenschaft verwenden können. Häufig ist es notwendig, eine andere Einstellung zu verwenden, wenn Sie eine Eigenschaft in Visual Basic und nicht im Eigenschaftenfenster einstellen. Wenn die Eigenschafteneinstellungen z.B. in einer Liste ausgewählt werden, verwenden Sie für jede Auswahl den Wert oder seine numerische Entsprechung.

•	Um Standardeigenschaften für Steuerelemente von Visual Basic aus einzustellen, verwenden Sie die Methode DefaultControl.


Einstellen der Eigenschaften von Datenzugriffsobjekten in Visual Basic

Datenzugriffsobjekte (Data Access Objects = DAO) ermöglichen es Ihnen, die Struktur der Datenbank und der darin enthaltenen Daten von Visual Basic aus zu bearbeiten. Viele Datenzugriffsobjekte entsprechen Objekten, die Sie in Ihrer Datenbank sehen können; z.B. entspricht ein TableDef-Objekt einer Microsoft Access-Tabelle, und ein Field-Objekt entspricht einem Feld in einer Tabelle.

Die meisten Eigenschaften, die Sie für Datenzugriffsobjekte einstellen können, sind Datenzugriffseigenschaften. Diese Eigenschaften werden von der Microsoft Jet-Datenbank-Engine definiert und in jeder Anwendung, die die Jet-Datenbank-Engine enthält, auf die gleiche Weise eingestellt. Einige Eigenschaften, die Sie für Datenzugriffsobjekte einstellen können, werden von Microsoft Access definiert und von der Jet-Datenbank-Engine nicht automatisch erkannt. Wie Eigenschaften von Datenzugriffsobjekten eingestellt werden, hängt davon ab, ob eine Eigenschaft von der Jet-Datenbank-Engine oder von Microsoft Access definiert wurde.

Einstellen von Datenzugriffseigenschaften für Datenzugriffsobjekte

Um eine von der Jet-Datenbank-Engine definierte Eigenschaft einzustellen, verweisen Sie auf das Objekt in der Datenzugriffsobjekt-Hierarchie. Am einfachsten und schnellsten gehen Sie hierbei vor, indem Sie Objektvariablen erstellen, die die verschiedenen Objekte darstellen, mit denen Sie arbeiten, und in den nachfolgenden Codeschritten auf diese Objektvariablen verweisen. Beispielsweise erstellt der folgende Code ein neues TableDef-Objekt und stellt dessen Eigenschaft Name ein.

Dim dbs As Database, tdf As TableDef

Set dbs = CurrentDb

Set tdf = dbs.CreateTableDef

tdf.Name = "Kontakte"

Einstellen von Microsoft Access-Eigenschaften für Datenzugriffsobjekte

Wenn Sie eine von Microsoft Access definierte Eigenschaft einstellen, die aber ein Datenzugriffsobjekt betrifft, erkennt die Jet-Datenbank-Engine diese Eigenschaft nicht automatisch als gültige Eigenschaft. Beim ersten Einstellen der Eigenschaft erstellen Sie zuerst die Eigenschaft und fügen sie dann der Auflistung Properties des Objekts hinzu, für das sie gilt. Befindet sich die Eigenschaft einmal in der Auflistung Properties, kann sie auch genauso wie jede Datenzugriffseigenschaft eingestellt werden.

Wird die Eigenschaft zum ersten Mal in der Benutzeroberfläche eingestellt, so wird sie automatisch zur Auflistung Properties hinzugefügt, und Sie können sie wie üblich einstellen.

Wenn Sie Prozeduren schreiben, um von Microsoft Access definierte Eigenschaften einzustellen, erstellen Sie Fehlerbehandlungscode und überprüfen damit, ob die einzustellende Eigenschaft bereits in der Auflistung Properties existiert. Weitere Informationen finden Sie im Hilfethema zur Methode CreateProperty oder in den Themen zu bestimmten Eigenschaften.

Bedenken Sie, daß Sie beim Erstellen einer Eigenschaft zuerst die Eigenschaft Type angeben, bevor Sie sie zur Auflistung Properties hinzufügen. Sie können die Eigenschaft Type anhand der Informationen festlegen, die im Abschnitt Einstellungen des Hilfethemas zu einer Eigenschaft aufgeführt sind. Die folgende Tabelle enthält Richtlinien, um die korrekte Einstellung der Eigenschaft Type zu ermitteln.

Eigenschafteneinstellung	Erforderliche Einstellung der Eigenschaft "Type"
Eine Zeichenfolge	dbText
True/False	dbBoolean
Eine Ganzzahl	dbInteger
In der folgenden Tabelle sind einige von Microsoft Access definierte Eigenschaften aufgeführt, die Datenzugriffsobjekte betreffen.

DAO-Objekt	Von Microsoft Access definierte Eigenschaften
Database	AppTitle, AppIcon, StartupShowDBWindow, StartupShowStatusBar, AllowShortcutMenus, AllowFullMenus, AllowBuiltInToolbars, AllowToolbarChanges, AllowBreakIntoCode, AllowSpecialKeys, Replicable, ReplicationConflictFunction
Container vom Typ SummaryInfo	Title, Subject, Author, Manager, Company, Category, Keywords, Comments, Hyperlink Base (Beachten Sie die Registerkarte Datei-Info des Dialogfelds Datenbankeigenschaften (Menü Datei, Befehl Datenbankeigenschaften)). Die deutschen Einträge dort lauten: Titel, Thema, Autor, Manager, Firma, Kategorie, Stichwörter, Kommentar und Hyperlink-Basis.)
Container vom Typ UserDefined	(Beachten Sie die Registerkarte Datei-Info des Dialogfelds Datenbankeigenschaften (Menü Datei, Befehl Datenbankeigenschaften)).
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


Einstellen von Formular-, Berichts- und Steuerelementeigenschaften

Jedes Formular, jeder Bericht, jeder Bereich und jedes Steuerelement verfügt über Eigenschafteneinstellungen, mit denen Sie das Aussehen und die Funktionsweise eines Elements ändern können. Sie können die Eigenschaften im Eigenschaftenfenster, in einem Makro oder in Visual Basic anzeigen und ändern.

So stellen Sie Eigenschaften ein

1.	Wählen Sie in der Formular-Entwurfsansicht oder Berichts-Entwurfsansicht das Steuerelement, den Bereich, das Formular oder den Bericht aus, für das bzw. den Sie die Eigenschaft einstellen möchten. Sie haben folgende Auswahlmöglichkeiten:

•	Steuerelemente. Wenn Sie mehrere Steuerelemente auswählen möchten, klicken Sie bei gedrückter UMSCHALTTASTE auf die gewünschten Steuerelemente, oder ziehen Sie den Mauszeiger über die gewünschten Steuerelemente. Wenn Sie mehrere Steuerelemente auswählen, zeigt das Eigenschaftenfenster nur die Eigenschaften an, die alle markierten Steuerelemente gemeinsam besitzen.

•	Einen Bereich. Klicken Sie auf den Bereichsmarkierer des gewünschten Bereichs.

•	Das gesamte Formular oder den gesamten Bericht. Klicken Sie auf den Formularmarkierer oder Berichtsmarkierer in der oberen linken Ecke des Formulars bzw. Berichts.

2.	Zeigen Sie das Eigenschaftenfenster an, indem Sie zuerst mit der rechten Maustaste auf das Objekt oder den Bereich und dann im Kontextmenü auf Eigenschaften klicken, oder indem Sie auf Eigenschaften  [image]  in der Symbolleiste klicken.

3.	Klicken Sie auf die Eigenschaft, deren Wert Sie einstellen möchten, und führen Sie dann einen der folgenden Schritte durch:

•	Geben Sie im Einstellungsfeld der Eigenschaft die gewünschte Einstellung oder einen geeigneten Ausdruck ein.

•	Wenn das Einstellungsfeld der Eigenschaft einen Pfeil enthält, klicken Sie auf den Pfeil, und klicken Sie dann in der Liste auf einen Wert.

•	Wenn sich eine Editor-Schaltfläche  [image]  neben dem Einstellungsfeld der Eigenschaft befindet, klicken Sie darauf, um einen Editor oder ein Dialogfeld anzuzeigen, das eine Auswahl von Editoren anbietet. So können Sie z.B. den Code-Editor, den Makro-Editor oder den Abfrage-Editor verwenden, um bestimmte Eigenschaften einzustellen.

Weitere Informationen dazu, wenn das Eigenschaftenfenster leer ist oder nicht die erwarteten Eigenschaften enthält, finden Sie unter Problembehebung in Eigenschaftenfenstern.

Tips

•	Microsoft Access stellt ein Zoom-Feld für die Eingabe und die Anzeige von Ausdrücken oder anderen langen Eigenschafteneinstellungen bereit. Um das Zoom-Feld anzuzeigen, klicken Sie im Eigenschaftenfenster auf das Einstellungsfeld einer Eigenschaft. Drücken Sie dann UMSCHALT+F2, oder klicken Sie zuerst mit der rechten Maustaste, und klicken Sie dann im Kontextmenü auf Zoom.

•	Sie können die Eigenschaft ControlSource für einige Steuerelemente einstellen, indem Sie die Eigenschafteneinstellung im Steuerelement selbst vornehmen. Weitere Informationen finden Sie unter Erstellen eines berechneten Steuerelements.

•	Durch Ändern der Standardeigenschafteneinstellungen für einen Steuerelementtyp können Sie erreichen, daß Steuerelemente, die Sie später erstellen, über die neuen Standardeinstellungen verfügen.

•	Die Eigenschafteneinstellungen eines gebundenen Steuerelements stimmen nicht immer mit den entsprechenden Einstellungen im Feld der zugrundeliegenden Tabelle oder Abfrage überein, an die das Steuerelement gebunden ist. In diesem Fall setzen die Einstellungen des Formulars oder Berichts in der Regel die Einstellungen der Tabelle oder Abfrage außer Kraft. Weitere Informationen über die Vererbung von Eigenschaften finden Sie unter Beziehung zwischen Steuerelementeigenschaften und Eigenschaften in den zugrundeliegenden Feldern.


Einstellen von Starteigenschaften und Optionen in Code

Starteigenschaften beeinflussen die Darstellungsweise einer Datenbankanwendung, wenn diese geöffnet wird. Mit Hilfe der Starteigenschaften können Sie z.B. die Titelleiste, Menüs, Symbolleisten und das Startformular der Anwendung benutzerdefiniert anpassen. Um Eigenschaften im Dialogfeld Start anzuzeigen, klicken Sie im Menü Extras auf Start.

Sie können im Dialogfeld Optionen Optionen einstellen, die verschiedene Elemente der Anwendungsumgebung verändern, während Sie darin arbeiten. Beispielsweise können Sie Standardoptionen für Formulare, Berichte, Tabellen und Abfragen einstellen. Klicken Sie im Menü Extras auf Optionen, um das Dialogfeld Optionen anzuzeigen.

Weitere Informationen über das Einstellen von Starteigenschaften und Optionen in Code finden Sie unter folgenden Themen:

Einstellen von Starteigenschaften von Visual Basic aus

Einstellen von Optionen von Visual Basic aus


Einstellen von Starteigenschaften von Visual Basic aus

Starteigenschaften sind Eigenschaften eines Database-Objekts. Ein Database-Objekt ist ein Datenzugriffsobjekt, das von der Microsoft Jet-Datenbank-Engine bereitgestellt wird. Da Starteigenschaften jedoch von Microsoft Access definiert werden, werden sie nicht automatisch von der Jet-Datenbank-Engine erkannt. Wenn eine Starteigenschaft noch nicht eingestellt wurde, erstellen Sie sie zuerst und fügen sie zur Auflistung Properties des Database-Objekts hinzu. Wenn Sie Starteigenschaften von Visual Basic aus einstellen, erstellen Sie Fehlerbehandlungscode und überprüfen damit, ob die einzustellende Eigenschaft bereits in der Auflistung Properties existiert. Weitere Informationen über das Einstellen der von Microsoft Access definierten Eigenschaften finden Sie unter Einstellen von Eigenschaften von Datenzugriffsobjekten in Visual Basic.

Die Namen der Starteigenschaften lauten anders als die entsprechenden Bezeichnungen im Dialogfeld Start, das angezeigt wird, wenn Sie im Menü Extras auf Start klicken. In der folgenden Tabelle sind die Namen der Starteigenschaften aufgeführt, wie sie im Visual Basic-Code verwendet werden.

Text im Dialogfeld "Start"	Eigenschaftenname

<

Anwendungstitel	AppTitle
Anwendungssymbol	AppIcon
Formular anzeigen	StartupForm
Datenbankfenster anzeigen	StartupShowDBWindow
Statusleiste anzeigen	StartupShowStatusBar
Menüleiste	StartupMenuBar
Kontextmenüleiste	StartupShortcutMenuBar
Unbeschränkte Menüs anzeigen	AllowFullMenus
Standard-Kontextmenüs zugelassen	AllowShortcutMenus
Eingebaute Symbolleisten zulassen	AllowBuiltInToolbars
Symbolleisten- und Menüänderungen zulassen	AllowToolbarChanges
Codeansicht nach Fehler zugelassen	AllowBreakIntoCode
Access-Spezialtasten verwenden	AllowSpecialKeys


Einstellen von Optionen von Visual Basic aus

Mit den Methoden SetOption und GetOption können Sie aus Code heraus Optionswerte im Dialogfeld Optionen einstellen bzw. zurückgeben. Um das Dialogfeld Optionen anzuzeigen, klicken Sie im Menü Extras auf Optionen.

In den folgenden Tabellen sind die Namen aller Optionen aufgeführt, die über Code eingestellt oder zurückgegeben werden können, geordnet nach den Registerkarten, auf denen sich die Optionen im Dialogfeld Optionen befinden. Weiter ist für jede Option das Zeichenfolgen-Argument angegeben, das Sie der Methode SetOption oder GetOption übergeben.

Anmerkungen

•	Sie können die Optionen in der Registerkarte Modul des Dialogfelds Optionen nicht aus Visual Basic heraus einstellen, sondern nur im Dialogfeld Optionen selbst. Wenn Ihre Datenbank mit einer anderen Version von Microsoft Access in einer anderen Sprache als derjenigen, in welcher Sie sie erstellt haben, ausgeführt werden soll, müssen Sie die Argumente für die GetOption- und SetOption-Methoden in Englisch mit ausliefern.

Registerkarte "Ansicht"

Optionstext	Zeichenfolgen-Argument (Deutsch)	Zeichenfolgen-Argument (Englisch)
Statusleiste	Statusleiste anzeigen	Show Status Bar
Start-Dialogfeld	Start-Dialogfeld anzeigen	Show Startup Dialog Box
Ausgeblendete Objekte	Ausgeblendete Objekte anzeigen	Show Hidden Objects
Systemobjekte	Systemobjekte anzeigen	Show System Objects
Namenspalte	Spalte 'Makroname' einblenden	Show Macro Names Column
Bedingungsspalte	Spalte 'Bedingung' einblenden	Show Conditions Column
Registerkarte "Allgemein"

Optionstext	Zeichenfolgen-Argument (Deutsch)	Zeichenfolgen-Argument (Englisch)
Linker Rand	Linker Rand	Left Margin
Rechter Rand	Rechter Rand	Right Margin
Oberer Rand	Oberer Rand	Top Margin
Unterer Rand	Unterer Rand	Bottom Margin
Standarddatenbank- verzeichnis	Standarddatenbank- verzeichnis	Default Database Directory
Sortierreihenfolge bei neuer DB	Sortierreihenfolge bei neuer DB	New Database Sort Order
Audio-Feedback	Audio-Feedback	Provide Feedback with Sound
Registerkarte "Hyperlinks/HTML"

Optionstext	Zeichenfolgen-Argument (Deutsch)	Zeichenfolgen-Argument (Englisch)
Hyperlink-Farbe	Hyperlink-Farbe	Hyperlink Color
Farbe für gesichteten Hyperlink	Farbe für gesichteten Hyperlink	Followed Hyperlink Color
Hyperlinks unterstreichen	Hyperlinks unterstreichen	Underline Hyperlinks
Hyperlink-Adressen in Statusleiste anzeigen	Hyperlink-Adressen in Statusleiste anzeigen	Show Hyperlink Addresses in Status Bar
HTML-Vorlage	HTML-Vorlage	HTML Template
Datenquellenname	Datenquellenname	Data Source Name
Benutzername	Benutzername	User Name
Benutzerkennwort	Kennwort	Password
Server URL	Active Server Pages URL	Active Server Pages URL
Sitzungs-Timeout (min)	Active Server Pages Sitzungs-Timeout	Active Server Pages Session Timeout
Registerkarte "Bearbeiten/Suchen"

Optionstext	Zeichenfolgen-Argument (Deutsch)	Zeichenfolgen-Argument (Englisch)
Suchen/Ersetzen-Standard	Suchen/Ersetzen-Standard	Default Find/Replace Behavior
Datensatzänderungen	Datensatzänderung bestätigen	Confirm Record Changes
Löschen von Dokumenten	Objektlöschen bestätigen	Confirm Document Deletions
Aktionsabfragen	Aktionsabfragen bestätigen	Confirm Action Queries
Lokalen indizierten Feldern	Indizierte Werte anzeigen	Show Values in Indexed
Lokalen nichtindizierten Feldern	Nicht-indizierte Werte anzeigen	Show Values in Non-indexed
ODBC-Feldern	ODBC-Werte anzeigen	Show Values in Remote
Keine Listen anzeigen, wenn mehr als diese Anzahl Zeilen gelesen wird	Wertanzeigemaximum	Show Values Limit
Registerkarte "Tastatur"

Optionstext	Zeichenfolgen-Argument (Deutsch)	Zeichenfolgen-Argument (Englisch)
Cursor mit Eingabetaste bewegen	Markierung mit Eingabetaste bewegen	Move After Enter
Funktion der Pfeiltasten	Funktion der Pfeiltasten	Arrow Key Behavior
Cursorverhalten bei Eintritt in Feld	Cursorverhalten bei Eintritt in Feld	Behavior Entering Field
Cursor stoppt bei erstem/letztem Feld	Cursor stoppt bei erstem/letztem Feld	Cursor Stops at First/Last Field
Registerkarte "Datenblatt"

Optionstext	Zeichenfolgen-Argument (Deutsch)	Zeichenfolgen-Argument (Englisch)
Standardfarben: Schriftart	Standardschriftfarbe	Default Font Color
Standardfarben: Hintergrund	Standardhintergrundfarbe	Default Background Color
Standardfarben: Rasterlinien	Standardrasterlinienfarbe	Default Gridlines Color
Standardschriftart: Schriftart	Standardschriftart	Default Font Name
Standardschriftart: Schriftschnitt	Standardschriftbreite	Default Font Weight
Standardschriftart: Größe	Standardschriftgrad	Default Font Size
Standardschriftart: Kursiv	Standardschrift kursiv	Default Font Italic
Standardschriftart: Unterstrichen	Standardschrift unterstrichen	Default Font Underline
Standardrasterlinien: Horizontal	Horizontale Rasterlinien	Default Gridlines Horizontal
Standardrasterlinien: Vertikal	Vertikale Rasterlinien	Default Gridlines Vertical
Standardspaltenbreite	Standardspaltenbreite	Default Column Width
Standard-Zelleffekt	Standard-Zelleffekt	Default Cell Effect
Animationen anzeigen	Animationen anzeigen	Show Animations
Registerkarte "Tabellen/Abfragen"

Optionstext	Zeichenfolgen-Argument (Deutsch)	Zeichenfolgen-Argument (Englisch)
Text	Standardtextfeldgröße	Default Text Field Size
Zahl	Standardzahlenfeldgröße	Default Number Field Size
Standardfeldtyp	Standardfeldtyp	Default Field Type
AutoIndex bei Importieren/Erstellen	AutoIndex bei Importieren/Erstellen	AutoIndex on Import/Create
Tabellennamen anzeigen	Tabellennamen anzeigen	Show Table Names
Alle Felder ausgeben	Alle Felder ausgeben	Output All Fields
AutoVerknüpfung aktivieren	AutoVerknüpfung aktivieren	Enable AutoJoin
Ausführungsberechtigungen	Ausführungsberechtigungen	Run Permissions
Registerkarte "Formulare/Berichte"

Optionstext	Zeichenfolgen-Argument (Deutsch)	Zeichenfolgen-Argument (Englisch)
Markierungsverhalten	Objektmarkierung	Selection Behavior
Formularvorlage	Formularvorlage	Form Template
Berichtsvorlage	Berichtsvorlage	Report Template
Ereignisprozedur immer verwenden	Ereignisprozedur immer verwenden	Always Use Event Procedures
Registerkarte "Weitere"

Optionstext	Zeichenfolgen-Argument (Deutsch)	Zeichenfolgen-Argument (Englisch)
Standard bei Datensatzsperrung	Standard bei Datensatzsperrung	Default Record Locking
Standard-Öffnungsmodus	Öffnungsmodus für Datenbanken	Default Open Mode for Databases
DDE-Anfragen ignorieren	DDE-Anfragen ignorieren	Ignore DDE Requests
DDE-Aktualisierung ermöglichen	DDE-Aktualisierung ermöglichen	Enable DDE Refresh
OLE/DDE-Timeout (s)	OLE/DDE-Timeout (s)	OLE/DDE Timeout (Sec)
Anzahl der Datenaktualisierungs- versuche	Anzahl d. Datenaktualisierungs- versuche	Number of Update Retries
Intervall für ODBC- Anzeigeaktualisierung (s)	Intervall für ODBC -Anzeigeaktualisierung (s)	ODBC Refresh Interval (Sec)
Intervall für Anzeigeaktualisierung (s)	Intervall für Anzeigeaktualisierung (s)	Refresh Interval (Sec)
Intervall für Datenaktualisierung (ms)	Intervall für Datenaktualisierung (ms)	Update Retry Interval (Msec)
Befehlszeilen-Argumente	Befehlszeilen-Argumente	Command-Line Arguments
Bedingte Kompilierungsargumente	Bedingte Kompilierungsargumente	Conditional Compilation Arguments
Projektname	Projektname	Project Name
Fehlerbehebung	Fehlerbehebung	Error Trapping
Anmerkung   Wenn Sie eine Datenbank-Anwendung, ein Add-in, eine Bibliotheksdatenbank oder eine referenzierte Datenbankentwickeln, achten Sie darauf, daß die Option Fehlerbehebung auf 2 eingestellt ist (Bei unbehandelten Fehlern anhalten), sobald Sie die Fehlersuche im Code abgeschlossen haben.

Der Wert, den Sie der Methode SetOption als Argument Einstellung übergeben, hängt vom einzustellenden Optionstyp ab. Die folgende Tabelle liefert einige Richtlinien für die Optionseinstellung.

Entspricht die Option:	Dann entspricht das Argument Einstellung:
Einem Textfeld	Einer Zeichenfolge
Einem Kontrollkästchen	Einem booleschen Wert: True (–1) oder False (0)
Einem Optionsfeld in einer Optionsgruppe oder einer Option in einem Kombinationsfeld oder in einem Listenfeld	Einer Ganzzahl, die der Optionsposition in der Optionsgruppe oder Liste entspricht (und bei Null [0] startet)


Erstellen von SQL-Anweisungen, die Variablen und Steuerelemente enthalten

Beim Arbeiten mit Datenzugriffsobjekten kann es notwendig sein, eine SQL-Anweisung über Code zu erstellen. Wenn Sie z.B. ein neues QueryDef-Objekt erstellen, stellen Sie seine Eigenschaft SQL auf eine gültige SQL-Zeichenfolge ein. Auch beim Erstellen eines Recordset-Objekts ist häufig eine SQL-Anweisung erforderlich.

Am einfachsten erstellen Sie eine SQL-Anweisung, indem Sie eine Abfrage im Abfrageentwurfsbereich erstellen, zur SQL-Ansicht umschalten und die entsprechende SQL-Anweisung kopieren und in Ihren Code einfügen.

Häufig basiert eine Abfrage auf Werten, die der Benutzer bereitstellt oder die sich in verschiedenen Situationen ändern. Ist dies der Fall, schließen Sie Variablen oder Steuerelementwerte in Ihre Abfrage ein. Die Microsoft Jet-Datenbank-Engine verarbeitet alle SQL-Anweisungen, jedoch keine Variablen oder Steuerelemente. Erstellen Sie deshalb Ihre SQL-Anweisung so, daß Microsoft Access diese Werte zuerst bestimmen und dann mit der SQL-Anweisung verknüpfen kann, die der Jet-Datenbank-Engine übergeben wird.

Das folgende Beispiel zeigt, wie ein QueryDef-Objekt mit einer einfachen SQL-Anweisung erstellt wird. Diese Abfrage gibt alle Bestellungen aus einer Tabelle Bestellungen zurück, die nach dem 31.03.1996 getätigt wurden.

Dim dbs As Database, qdf As QueryDef, strSQL As String

Set dbs = CurrentDb

strSQL = "SELECT * FROM Bestellungen WHERE _ Bestelldatum >#3-31-96#;"

Set qdf = dbs.CreateQueryDef("ZweitesQuartal", strSQL)

Das nächste Beispiel erstellt das gleiche QueryDef-Objekt mit Hilfe eines in einer Variablen gespeicherten Wertes. Beachten Sie, daß die #-Zeichen, die den Datumswert kennzeichnen, in der Zeichenfolge enthalten sind, damit sie mit dem Datumswert verknüpft werden.

Dim dbs As Database, qdf As QueryDef, strSQL As String

Dim datStart As Date

datStart = #3-31-96#

Set dbs = CurrentDb

strSQL = "SELECT * FROM Bestellungen WHERE " & _

"Bestelldatum > #" & datStart & "#;"

Set qdf = dbs.CreateQueryDef("ZweitesQuartal", strSQL)

Das nächste Beispiel erstellt ein QueryDef-Objekt mit Hilfe eines Wertes in dem Steuerelement Bestelldatum in dem Formular Bestellungen. Achten Sie darauf, daß Sie den ausführlichen Verweis auf das Steuerelement bereitstellen und die #-Zeichen angeben, die das Datum in der Zeichenfolge kennzeichnen.

Dim dbs As Database, qdf As QueryDef, strSQL As String

Set dbs = CurrentDb

strSQL = "SELECT * FROM Bestellungen WHERE " & _

"Bestelldatum > #" & _

 Forms!Bestellungen!Bestelldatum & "#;"

Set qdf = dbs.CreateQueryDef("ZweitesQuartal", strSQL)


Veränderte und entfernte Optionen in Microsoft Access 97

Die folgenden Optionen waren in den Versionen 1.x und 2.0 vorhanden und wurden geändert.

Option	Anmerkungen
Syntaxüberprüfung Tabulatorbreite Sortierungs-/Gruppierungsfenster anzeigen	Diese Optionen sind aus Kompatibilitätsgründen zu früheren Versionen von Microsoft Access vorhanden. Ihre Verwendung hat keine Auswirkung, verursacht aber auch keinen Fehler.
Objekte am Raster ausrichten Raster einblenden Lineal einblenden Tastenbelegungsmakro Eingerahmte Steuerelemente bewegen Steuerelement-Assistenten	Diese Optionen können programmgesteuert eingestellt werden, sind jedoch im Dialogfeld Optionen nicht verfügbar.
Eingebaute Symbolleisten verfügbar Symbolleisten anpassen	Diese Optionen wurden durch die Optionen Eingebaute Symbolleisten zulassen und Symbolleisten- und Menüänderungen zulassen im Dialogfeld Start (Menü Extras, Befehl Start) ersetzt. Sie können sie dennoch weiterhin programmgesteuert einstellen.
Standardraster	Diese Option wurde durch die Optionen Standardrasterlinien Horizontal und Standardrasterlinien Vertikal ersetzt. Sie können sie dennoch weiterhin programmgesteuert einstellen.
Die folgenden Optionen wurden in Microsoft Access 97 entfernt. Wenn Sie die folgenden Zeichenfolgen an die Methoden SetOption oder GetOption übergeben, erzeugt Microsoft Access einen Laufzeitfehler:

Erste Woche

Erster Wochentag


Ermitteln der von Visual Basic reservierten Fehlercodes

Die folgende Prozedur erstellt eine Tabelle in Microsoft Access, die die von Visual Basic verwendeten oder reservierten Fehlercodes und -meldungen enthält. Die Tabelle enthält keine Fehler der Datenzugriffsobjekte (DAO).

Visual Basic reserviert einen Bereich der ersten 1.000 möglichen Fehlernummern, so daß dieses Beispiel nur Fehlernummern zwischen 1 und 1.000 berücksichtigt. Andere Fehlernummern sind von der Microsoft Jet-Datenbank-Engine reserviert oder sind zur Definition von benutzerdefinierten Fehlern verfügbar.

Sub TabelleFehlerErstellen()

Dim dbs As Database, tdf As TableDef, fld As Field

Dim rst As Recordset, lngCode As Long

Const conAnwOderObjektFehler = "Anwendungs- oder objektdefinierter Fehler"

' Tabelle "Fehler" mit den Feldern "Fehlernummer" und

' "Fehlerbeschreibung" erstellen.

Set dbs = CurrentDb

Set tdf = dbs.CreateTableDef("Fehler")

Set fld = tdf.CreateField("Fehlernummer", dbLong)

tdf.Fields.Append fld

Set fld = tdf.CreateField("Fehlerbeschreibung", dbText, 255)

tdf.Fields.Append fld

dbs.TableDefs.Append tdf

' Datensatzgruppe auf Basis der Tabelle "Fehler" öffnen.

Set rst = dbs.OpenRecordset("Fehler")

' Schleife für die ersten 1000 Visual Basic-Fehler.

For lngCode = 1 To 1000

On Error Resume Next

' Jeden Fehler provozieren.

Err.Raise lngCode

DoCmd.Hourglass True

' Fehlernummern überspringen, die anwendungs- oder objektdefinierte

' Fehler hervorrufen.

If Err.Description <> conAnwOderObjektFehler Then

' Jede Fehlernummer und jede Zeichenfolge zu der Tabelle

' "Fehler" hinzufügen.

rst.AddNew

rst!Fehlernummer = Err.Number

rst!Fehlerbeschreibung = Err.Description

rst.Update

End If

' Inhalt des Objekts Err löschen.

Err.Clear

Next lngCode

' Die Datensatzgruppe schließen.

rst.Close

DoCmd.Hourglass False

MsgBox "Die Tabelle 'Fehler' wurde erstellt."

End Sub


Konvertieren von Code, der eine DLL aufruft

Aufrufen von Prozeduren der Windows API (Application Programming Interface = Schnittstelle für die Anwendungsprogrammierung)

Wenn eine in früheren Versionen von Microsoft Access erstellte Datenbank Prozeduren des Microsoft Windows API (Application Programming Interface) aufruft, müssen Sie einige Veränderungen in Ihrem Code vornehmen, wenn Sie eine Datenbank, die im Format der Version 2.0 oder früher vorliegt, für Microsoft Access 97 konvertieren.

Das Windows API besteht aus einer Gruppe von DLLs (Dynamic-Link Libraries), die systembezogene Prozeduren enthalten. Dazu zählen Funktionen, Meldungen, Datenstrukturen, Datentypen und Anweisungen, die Sie beim Erstellen von Anwendungen verwenden können, die unter Windows 95 oder Windows NT lauffähig sind. Damit Sie diese Prozeduren von Visual Basic aus aufrufen können, müssen Sie diese zuerst mit entsprechenden Declare-Anweisungen deklarieren. Sie können diese Prozeduren dann wie jede andere Prozedur aufrufen.

Die Versionen 1.x and 2.0 von Microsoft Access sind 16-Bit-Anwendungen und laufen unter 16-Bit-Versionen von Microsoft Windows. Microsoft Access 97 ist eine 32-Bit-Anwendung und läuft nur unter Windows 95 und Windows NT. Sollte Ihr vorhandener Access Basic-Code Prozeduren eines 16-Bit-Windows API aufrufen, müssen Sie die zugehörigen Aufrufe anpassen, wenn Sie Ihre Datenbank für Microsoft Access 97 konvertieren. Die folgende Liste gibt einige Tips zur Konvertierung Ihres Codes.

•	Überprüfen Sie alle Declare-Anweisungen, um sicherzustellen, daß sie auf die korrekten DLLs verweisen. Die folgende Tabelle zeigt die neuen Namen der 32-Bit-Windows-DLLs.

16-Bit-Windows-DLL	32-Bit-Windows-DLL
User.dll	User32.dll
Kernel.dll	Kernel32.dll
GDI.dll	GDI32.dll
•	Die Namen einiger Funktionen des 32-Bit-Windows API wurden geändert. Außerdem beachten Funktionen des 32-Bit-Windows API die Groß- und Kleinschreibung. Stellen Sie sicher, daß Sie den Prozedurnamen und den Aliasnamen korrekt eingegeben haben.

•	Einige Funktionen haben in dem 32-Bit-Windows API neue Parameterdatentypen. Mit Hilfe der weiter unten in diesem Thema aufgeführten Referenzen können Sie ermitteln, welche Funktionsaufrufe Sie aktualisieren müssen.

•	Wenn es auf Ihrem Computer eine 16-Bit- und eine 32-Bit-DLL gibt, die denselben Namen haben, versucht Microsoft Access möglicherweise, eine Funktion der 16-Bit-DLL aufzurufen, wenn das Verzeichnis, in dem diese sich befindet, in Ihrem Pfad vor dem Verzeichnis aufgeführt ist, das die neue Version enthält.

•	Einige 32-Bit-DLLs enthalten Funktionen mit etwas unterschiedlichen Versionen, um sowohl Unicode- als auch ANSI-Zeichenfolgen verarbeiten zu können. Ein A am Ende des Funktionsnamens gibt die ANSI-Version an. Ein W am Ende des Funktionsnamens gibt die Unicode-Version an. Wenn die Funktion Argumente des Typs String erwartet, versuchen Sie, dem Funktionsnamen ein A anzufügen.

Weitere Informationen über die Verwendung von 32-Bit-Windows API-Prozeduren und das Portieren Ihrer bestehenden Datenbankanwendungen in 32-Bit-Microsoft Access 97 finden Sie in den folgenden Ressourcen:

•	Der Windows API-Viewer, verfügbar in der Microsoft Office 97, Developer Edition, enthält die Visual Basic-Syntax für alle 32-Bit-Deklarationen, -Datentypen und -Konstanten.

•	Das Microsoft Office Resource Kit enthält Informationen über das Portieren Ihrer auf der 16-Bit-Version von Microsoft Office basierenden Lösungen, einschließlich der Anwendungen, die mit früheren Versionen von Microsoft Access entwickelt wurden, zu 32-Bit-Lösungen.

•	Das Microsoft Win32 Software Development Kit stellt die kompletten Referenzinformationen für 32-Bit-Windows API-Prozeduren bereit.

Aufrufen von Code anderer DLLs

Wenn Ihre Datenbankanwendung Prozeduren anderer DLLs aufruft und Sie Ihre Datenbank für Microsoft Access 97 konvertieren, müssen Sie 32-Bit-Versionen dieser DLLs erstellen oder erlangen und alle erforderlichen Veränderungen an Ihrem Code vornehmen.

Wenn Sie keine 32-Bit-Version einer DLL erhalten können, benötigen Sie eine dazwischenliegende DLL, die 32-Bit-Aufrufe in 16-Bit-Aufrufe konvertieren kann. Weitere Informationen finden Sie in den oben aufgelisteten Ressourcen.


Microsoft Access-Objekte


Verwenden von internationalen Datumsformaten in SQL-Anweisungen

Sie müssen in Visual Basic in SQL-Anweisungen Datumsformate verwenden, die der Ländereinstellung English (USA) entsprechen. Im Abfrage-Entwurfsbereich können Sie dagegen auch internationale Datumsformate verwenden.


Bestimmen der für Microsoft Access und die Microsoft Jet-Datenbank-Engine reservierten Fehlercodes

Die folgende Prozedur erstellt eine Tabelle, die viele der Fehlercodes und Fehlermeldungen enthält, die von Microsoft Access oder der Microsoft Jet-Datenbank-Engine verwendet werden bzw. für diese reserviert sind. Die ausgegebene Tabelle enthält nicht alle Fehlercodes, da einige außerhalb des von dieser Prozedur ausgewerteten Bereichs von Fehlercodes (0 bis 3500) existieren.

Function AccessUndJetFehlertabelle() As Boolean

Dim DB As Database, tdf As TableDef, fld As Field

Dim rst As Recordset, lngCode As Long

Dim strAccessErr As String

Const conAppObjectError = "Anwendungs- oder " & _

"objektdefinierter Fehler"

On Error GoTo Error_AccessUndJetFehlertabelle

' Fehlertabelle mit den Feldern "Fehlernummer" und

' "Fehlerbeschreibung" erstellen.

Set DB = CurrentDb

Set tdf = DB.CreateTableDef("AccessUndJetFehler")

Set fld = tdf.CreateField("Fehlercode", dbLong)

tdf.Fields.Append fld

Set fld = tdf.CreateField("Fehlerzeichenfolge", dbMemo)

tdf.Fields.Append fld

DB.TableDefs.Append tdf

' Datensatzgruppe für Fehlertabelle öffnen.

Set rst = DB.OpenRecordset("AccessUndJetFehler")

' Schleife durch Fehlercodes durchlaufen.

For lngCode = 0 To 3500

On Error Resume Next

' Jeden Fehler berücksichtigen.

strAccessErr = AccessError(lngCode)

DoCmd.Hourglass True

' Fehlernummern ohne zugehörige Zeichenfolge überspringen.

If strAccessErr <> "" Then

' Codes, die anwendungs- oder objektdefinierte Fehler

' generieren, überspringen.

If strAccessErr <> conAppObjectError Then

' Jeden Fehlercode und jede Fehlerzeichenfolge zur

' Fehlertabelle hinzufügen.

rst.AddNew

rst!Fehlercode = lngCode

' Zeichenfolge an Memo-Feld anfügen.

rst!Fehlerzeichenfolge.AppendChunk strAccessErr

rst.Update

End If

End If

Next lngCode

' Datensatzgruppe schließen.

rst.Close

DoCmd.Hourglass False

RefreshDatabaseWindow

MsgBox "Access- und Jet-Fehlertabelle wurde erstellt."

AccessUndJetFehlertabelle = True

Exit_AccessUndJetFehlertabelle:

Exit Function

Error_AccessUndJetFehlertabelle:

MsgBox Err & ": " & Err.Description

AccessUndJetFehlertabelle = False

Resume Exit_AccessUndJetFehlertabelle

End Function


Item-Methode

Die Methode Item gibt ein bestimmtes Element einer Auflistung entweder nach Position oder nach Schlüssel zurück.

Syntax

Objekt.Item(Index)

Die Methode Item verwendet die folgenden Argumente:

Argument	Beschreibung
Objekt	Die Auflistung References.
Index	Ein Ausdruck, der die Position eines Elements der Auflistung angibt, auf die im Argument Objekt verwiesen wird. Wenn es sich um einen numerischen Ausdruck handelt, muß das Argument Index eine Zahl zwischen 1 und dem Wert der Eigenschaft Count der Auflistung sein. Wenn es sich um einen Zeichenfolgenausdruck handelt, muß das Argument Index der Name eines Elements der Auflistung sein.
Hinweis

Wenn der für das Argument Index angegebene Wert keinem vorhandenen Element der Auflistung entspricht, tritt ein Fehler auf.

Die Methode Item ist das Standardelement der Auflistung References, Sie brauchen die Methode daher nicht explizit anzugeben. Die folgenden zwei Codezeilen z.B. haben dieselbe Bedeutung:

Debug.Print References(1).Name

Debug.Print References.Item(1).Name


Kind-Eigenschaft

Die Eigenschaft Kind gibt an, welche Art von Verweis das Objekt Reference darstellt.

Einstellung

Die Eigenschaft Kind ist schreibgeschützt und kann nur von Visual Basic aus gelesen werden.

Die Eigenschaft Kind gibt die folgenden Werte zurück:

Wert	Beschreibung
Project (1)	Das Reference-Objekt stellt einen Verweis auf ein Visual Basic-Projekt dar.
TypeLib (0)	Das Reference-Objekt stellt einen Verweis auf eine Datei dar, die eine Klassenbibliothek enthält.


ApplyFilter-Methode

Die Methode ApplyFilter führt die Aktion AnwendenFilter in Visual Basic aus. Weitere Informationen zu dieser Aktion und ihren Argumenten finden Sie unter dem Thema zur jeweiligen Aktion.

Syntax

DoCmd.ApplyFilter [Filtername][, Bedingung]

Die Methode ApplyFilter verwendet die folgenden Argumente:

Argument	Beschreibung
Filtername	Ein Zeichenfolgenausdruck, der den gültigen Namen einer Abfrage der aktuellen Datenbank angibt.
Bedingung	Ein Zeichenfolgenausdruck, der eine gültige SQL-WHERE Klausel ohne das Wort WHERE angibt.
Hinweis

Verwenden Sie mindestens ein Argument der Methode ApplyFilter. Wenn Sie für beide Argumente einen Wert eingeben, wird das Argument Bedingung auf den Filter angewendet.

Das Argument Bedingung darf bis zu 32.768 Zeichen lang sein (im Gegensatz zum Aktionsargument Bedingung im Makrofenster, dessen maximale Länge 256 Zeichen beträgt).

Wenn Sie das Argument Bedingung angeben und das Argument Filtername weglassen, geben Sie das Komma des Arguments Filtername an.


ApplyFilter-Methode - Beispiel

Dieses Beispiel verwendet die Methode ApplyFilter, um nur jene Datensätze anzuzeigen, die im Feld Nachname den Namen "Buchwald" enthalten.

DoCmd.ApplyFilter , "Nachname = 'Buchwald'"


Beep-Methode

Die Methode Beep führt die Aktion Signalton in Visual Basic aus. Weitere Informationen zu dieser Aktion finden Sie unter dem Thema zur jeweiligen Aktion.

Syntax

DoCmd.Beep

Diese Methode verwendet keine Argumente.

Hinweis

Sie können auch die Visual Basic-Anweisung Beep verwenden, damit Ihr Computer einen Signalton ausgibt.


CancelEvent-Methode

Die Methode CancelEvent führt die Aktion AbbrechenEreignis in Visual Basic aus. Weitere Informationen zu dieser Aktion finden Sie unter dem Thema zur jeweiligen Aktion.

Syntax

DoCmd.CancelEvent

Diese Methode verwendet keine Argumente.

Hinweis

Die Methode CancelEvent wirkt sich nur aus, wenn sie als Ergebnis eines Ereignisses ausgeführt wird. Diese Methode bricht die Ausführung des Ereignisses ab.

Alle Ereignisse, deren Ausführung in Visual Basic abgebrochen werden kann, weisen das Argument Abbrechen auf. Sie können dieses Argument anstelle der Methode CancelEvent verwenden, um die Ausführung des Ereignisses abzubrechen. Die Ereignisse KeyPress und MouseDown (nur zum Klicken der rechten Maustaste) können nur in Makros und nicht in Ereignisprozeduren abgebrochen werden. Verwenden Sie daher in einem Makro die Aktion AbbrechenEreignis, um die Ausführung dieser Ereignisse abzubrechen.


Close-Methode

Die Methode Close führt die Aktion Schließen in Visual Basic aus. Weitere Informationen zu dieser Aktion und ihren Argumenten finden Sie unter dem Thema zur jeweiligen Aktion.

Syntax

DoCmd.Close [Objekttyp, Objektname], [Speichern]

Die Methode Close verwendet die folgenden Argumente:

Argument	Beschreibung
Objekttyp	Eine der folgenden eingebauten Konstanten:
	acDefault (Standardwert) acForm acMacro acModule acQuery acReport acTable
Objektname	Ein Zeichenfolgenausdruck, der den gültigen Namen eines Objekts vom Typ Objekttyp angibt.
Speichern	Eine der folgenden eingebauten Konstanten:
	acSaveNo acSavePrompt (Standardwert) acSaveYes
	Wenn Sie dieses Argument nicht angeben, wird der Standardwert (acSavePrompt) verwendet.
Hinweis

Wenn Sie die Argumente Objekttyp und Objektname nicht angeben, wird die Standardkonstante (acDefault) für Objekttyp verwendet, und Microsoft Access schließt das aktive Fenster. Wenn Sie das Argument Speichern angeben und die Argumente Objekttyp und Objektname weglassen, geben Sie die Kommas der Argumente Objekttyp und Objektname an.


Close-Methode - Beispiel

Dieses Beispiel verwendet die Methode Close, um das Formular Bestellungen (Übersicht) zu schließen. Dabei werden alle Änderungen am Formular gespeichert, ohne zuvor nachzufragen.

DoCmd.Close acForm, "Bestellungen (Übersicht)", _

acSaveYes


CopyObject-Methode

Die Methode CopyObject führt die Aktion KopierenObjekt in Visual Basic aus. Weitere Informationen zu dieser Aktion und ihren Argumenten finden Sie unter dem Thema zur jeweiligen Aktion.

Syntax

DoCmd.CopyObject [Zieldatenbank][, Neuer Name][, Objekttyp (Herkunft) , Objektname (Herkunft)]

Die Methode CopyObject verwendet die folgenden Argumente:

Argument	Beschreibung
Zieldatenbank	Ein Zeichenfolgenausdruck, der den gültigen Pfad- und Dateinamen der Datenbank angibt, in die Sie das Objekt kopieren möchten. Geben Sie dieses Argument nicht an, wenn Sie die aktuelle Datenbank auswählen möchten.
	Wenn Sie Visual Basic-Code, der die Methode CopyObject enthält, in einer Bibliotheksdatenbank ausführen und dieses Argument nicht angeben, kopiert Microsoft Access das Objekt in die Bibliotheksdatenbank.
Neuer Name	Ein Zeichenfolgenausdruck, der den neuen Namen des zu kopierenden Objekts angibt. Wenn Sie das Objekt unter demselben Namen in eine andere Datenbank kopieren möchten, geben Sie dieses Argument nicht an.
Objekttyp (Herkunft)	Eine der folgenden eingebauten Konstanten:
	acDefault (Standardwert) acForm acMacro acModule acQuery acReport acTable
Objektname (Herkunft)	Ein Zeichenfolgenausdruck, der den gültigen Namen eines Objekts vom Typ Objekttyp (Herkunft) angibt.
	Wenn Sie Visual Basic-Code, der die Methode CopyObject enthält, in einer Bibliotheksdatenbank ausführen, sucht Microsoft Access nach dem Objekt mit diesem Namen zuerst in der Bibliotheksdatenbank und dann in der aktuellen Datenbank.
Hinweis

Verwenden Sie bei dieser Methode das Argument Zieldatenbank, das Argument Neuer Name oder beide Argumente.

Wenn Sie die Argumente Objekttyp (Herkunft) und Objektname (Herkunft) nicht angeben, wird die Standardkonstante (acDefault) für Objekttyp (Herkunft) verwendet, und Microsoft Access kopiert das im Datenbankfenster markierte Objekt. Um ein Objekt im Datenbankfenster zu markieren, verwenden Sie die Aktion AuswählenObjekt oder die Methode SelectObject, wobei das Argument Im Datenbankfenster auf True eingestellt sein muß.

Wenn Sie die Argumente Objekttyp (Herkunft) und Objektname (Herkunft) angeben, aber eines der Argumente Neuer Name oder Zieldatenbank weglassen, geben Sie die Kommas der Argumente Neuer Name bzw. Zieldatenbank an. Wenn Sie Argumente am Anweisungsende weglassen, entfällt auch das Komma nach dem letzten angegebenen Argument.


CopyObject-Methode - Beispiel

Dieses Beispiel verwendet die Methode CopyObject, um die Tabelle Personal zu kopieren und ihr in der aktuellen Datenbank einen neuen Namen zuzuweisen.

DoCmd.CopyObject, "Personalkopie", acTable, "Personal"


DeleteObject-Methode

Die Methode DeleteObject führt die Aktion LöschenObjekt in Visual Basic aus. Weitere Informationen zu dieser Aktion und ihren Argumenten finden Sie unter dem Thema zur jeweiligen Aktion.

Syntax

DoCmd.DeleteObject [Objekttyp, Objektname]

Die Methode DeleteObject verwendet die folgenden Argumente:

Argument	Beschreibung
Objekttyp	Eine der folgenden eingebauten Konstanten:
	acDefault (Standardwert) acForm acMacro acModule acQuery acReport acTable
Objektname	Ein Zeichenfolgenausdruck, der den gültigen Namen eines Objekts vom Typ Objekttyp angibt.
	Wenn Sie Visual Basic-Code, der die Methode DeleteObject enthält, in einer Bibliotheksdatenbank ausführen, sucht Microsoft Access nach dem Objekt mit diesem Namen zuerst in der Bibliotheksdatenbank und dann in der aktuellen Datenbank.
Hinweis

Wenn Sie die Argumente Objekttyp und Objektname nicht angeben, wird die Standardkonstante (acDefault) für Objekttyp verwendet, und Microsoft Access löscht das im Datenbankfenster markierte Objekt. Um ein Objekt im Datenbankfenster zu markieren, verwenden Sie die Aktion AuswählenObjekt oder die Methode SelectObject, wobei das Argument Im Datenbankfenster auf True eingestellt sein muß.


DeleteObject-Methode - Beispiel

Dieses Beispiel löscht die angegebene Tabelle.

DoCmd.DeleteObject acTable, "Alte Personaltabelle"


DoMenuItem-Methode

Die Methode DoMenuItem führt die Aktion AusführenMenübefehl in Visual Basic aus. Weitere Informationen zu dieser Aktion und ihren Argumenten finden Sie unter dem Thema zur jeweiligen Aktion.

Anmerkung   In Microsoft Access 97 wurde die Methode DoMenuItem durch die Methode RunCommand ersetzt. Die Methode DoMenuItem ist in dieser Microsoft Access-Version nur wegen der Kompatibilität mit früheren Versionen vorhanden. Wenn Sie bestehenden Visual Basic-Code ausführen, der eine Methode DoMenuItem enthält, zeigt Microsoft Access den entsprechenden Menü- oder Symbolleistenbefehl für Microsoft Access 97 an. Im Gegensatz zur Aktion AusführenMenübefehl in einem Makro wird eine Methode DoMenuItem in Visual Basic-Code nicht in eine Methode RunCommand konvertiert, wenn Sie eine Datenbank aus einer früheren Microsoft Access-Version konvertieren.

Einige Befehle aus früheren Microsoft Access-Versionen sind in Microsoft Access 97 nicht mehr verfügbar. DoMenuItem-Methoden, die solche Befehle ausführen, erzeugen einen Fehler, wenn sie in Visual Basic ausgeführt werden. Bearbeiten Sie den Visual Basic-Code und ersetzen oder löschen die betreffenden DoMenuItem-Methoden. Eine Liste dieser Befehle finden Sie unter Befehle der Aktion AusführenMenüBefehl, die mit der Aktion AusführenBefehl nicht verfügbar sind.

Syntax

DoCmd.DoMenuItem Menüleiste, Menüname, Befehl[, Unterbefehl][, Version]

Die Methode DoMenuItem verwendet die folgenden Argumente:

Argument	Beschreibung
Menüleiste	Verwenden Sie in der Formularansicht für die Menüleiste die eingebaute Konstante acFormBar.
	Verwenden Sie für andere Ansichten die Nummer der gewünschten Ansicht in der Liste des Arguments Menüleiste (zählen Sie in der Liste abwärts, beginnend bei 0). Die entsprechende Anzeige wurde in früheren Microsoft Access-Versionen im Makrofenster dargestellt.
Menüname	Verwenden Sie eine der folgenden eingebauten Konstanten:
	acFile acEditMenu acRecordsMenu
	Sie können acRecordsMenu nur für die Menüleiste der Formularansicht in Datenbanken von Microsoft Access, Version 2.0, und Microsoft Access 95 verwenden.
	Verwenden Sie für andere Ansichten die Nummer der gewünschten Ansicht in der Liste des Arguments Menüleiste (zählen Sie in der Liste abwärts, beginnend bei 0). Die entsprechende Anzeige wurde in früheren Microsoft Access-Versionen im Makrofenster dargestellt.
Befehl	Verwenden Sie eine der folgenden eingebauten Konstanten:
	acNew acSaveForm acSaveFormAs acSaveRecord acUndo acCut acCopy acPaste acDelete acSelectRecord acSelectAllRecords acObject acRefresh
	Verwenden Sie für andere Befehle die Nummer des gewünschten Befehls in der Liste des Arguments Befehl (zählen Sie in der Liste abwärts, beginnend bei 0). Die entsprechende Anzeige wurde in früheren Microsoft Access-Versionen im Makrofenster dargestellt.
Unterbefehl	Verwenden Sie eine der folgenden eingebauten Konstanten:
	acObjectVerb acObjectUpdate
	Die Konstante acObjectVerb stellt den ersten Befehl im Untermenü des Befehls Objekt aus dem Menü Bearbeiten dar. Der Objekttyp legt den ersten Befehl des Untermenüs fest. Für ein Paintbrush-Objekt, das bearbeitet werden kann, lautet dieser Befehl z.B. Bearbeiten.
	Verwenden Sie für andere Befehle in Untermenüs die Nummer des gewünschten Unterbefehls in der Liste des Arguments Unterbefehl (zählen Sie in der Liste abwärts, beginnend bei 0). Die entsprechende Anzeige wurde in früheren Microsoft Access-Versionen im Makrofenster dargestellt.
Version	Verwenden Sie die eingebaute Konstante acMenuVer70 für Code, der für Microsoft Access 95-Datenbanken geschrieben wurde, die eingebaute Konstante acMenuVer20 für Code, der für Microsoft Access-Datenbanken der Version 2.0 geschrieben wurde, oder die eingebaute Konstante acMenuVer1X für Code, der für Microsoft Access-Datenbanken der Version 1.x geschrieben wurde. Dieses Argument ist nur in Visual Basic verfügbar.
	Anmerkung   Der Standardwert dieses Arguments ist acMenuVer1X, so daß für Microsoft Access, Version 1.x, geschriebener Code unverändert ausgeführt wird. Wenn Sie für eine Datenbank von Microsoft Access 95 oder Microsoft Access, Version 2.0, Code schreiben und mit der Methode DoMenuItem die Menübefehle von Microsoft Access 95 oder Microsoft Access, Version 2.0, verwenden möchten, stellen Sie dieses Argument auf acMenuVer70 bzw. acMenuVer20 ein.
	Wenn Sie im Makrofenster in den Listen für die Aktionsargumente Menüleiste, Menüname, Befehl und Unterbefehl zählen, um die Nummern für die Argumente der Methode DoMenuItem zu ermitteln, verwenden Sie ebenfalls die Listen der richtigen Versionen: Microsoft Access 95, falls das Argument Version auf acMenuVer70 eingestellt ist; Microsoft Access, Version 2.0, falls das Argument Version auf acMenuVer20 eingestellt ist; Microsoft Access, Version 1.x, falls das Argument Version auf acMenuVer1X eingestellt ist oder fehlt.
	Anmerkung   Die Einstellung acMenuVer80 gibt es für dieses Argument nicht. Sie können mit der Methode DoMenuItem keine Microsoft Access 97-Befehle anzeigen (obwohl die bestehenden DoMenuItem-Methoden in Visual Basic-Code weiterhin funktionieren). Verwenden Sie statt dessen die Methode RunCommand.
Hinweis

Die Auswahlmöglichkeiten, die im Makrofenster in den Listen der Aktionsargumente Menüname, Befehl und Unterbefehl angezeigt werden, hängen vom jeweils vorher gewählten Argument ab. Verwenden Sie für die Argumente Menüleiste, Menüname, Befehl und Unterbefehl geeignete Zahlen bzw. eingebaute Konstanten.

Wenn Sie das Argument Unterbefehl weglassen, aber das Argument Version angeben, geben Sie das Komma des Arguments Unterbefehl an. Wenn Sie die Argumente Unterbefehl und Version weglassen, geben Sie nach dem Argument Befehl kein Komma an.


DoMenuItem-Methode - Beispiel

Dieses Beispiel verwendet die Methode DoMenuItem, um in einer Microsoft Access 95-Datenbank in der Formularansicht den Befehl Einfügen aus dem Menü Bearbeiten auszuführen.

DoCmd.DoMenuItem acFormBar, acEditMenu, acPaste, , _

acMenuVer70

Das nächste Beispiel führt für eine Datenbank, die im Format von Microsoft Access, Version 2.0, vorliegt, in der Formularansicht den Befehl Nebeneinander aus dem Menü Fenster aus.

DoCmd.DoMenuItem acFormBar, 4, 0, , acMenuVer20


Echo-Methode (DoCmd-Objekt)

Die Methode Echo des Objekts DoCmd führt die Aktion Echo in Visual Basic aus. Weitere Informationen zu dieser Aktion und ihren Argumenten finden Sie unter dem Thema zur jeweiligen Aktion.

Syntax

DoCmd.Echo Echo[, Statusleistentext]

Die Methode Echo verwendet die folgenden Argumente:

Argument	Beschreibung
Echo	Verwenden Sie True (-1), um das Echo einzuschalten, und False (0), um es auszuschalten.
Statusleistentext	Ein Zeichenfolgenausdruck.
Hinweis

Wenn Sie das Argument Statusleistentext weglassen, geben Sie nach dem Argument Echo kein Komma ein.

Wenn Sie das Echo in Visual Basic ausschalten, schalten Sie es wieder ein. Andernfalls bleibt es ausgeschaltet, selbst wenn der Benutzer STRG+UNTBR drückt oder Visual Basic auf einen Haltepunkt stößt. Sie können ein Makro erstellen, das das Echo einschaltet, und das Makro dann einer Tastenkombination oder einem benutzerdefinierten Menübefehl zuweisen. Sie können dann das Echo mit dieser Tastenkombination oder dem Menübefehl wieder einschalten, wenn es in Visual Basic ausgeschaltet wurde.

Die Methode Echo des Objekts DoCmd wurde hinzugefügt, um die Abwärtskompatibilität zu gewährleisten, wenn die Aktion Echo im Visual Basic-Code in Microsoft Access 95 ausgeführt wird. Es empfiehlt sich jedoch, statt dessen die vorhandene Methode Echo des Objekts Application zu verwenden.


Echo-Methode (DoCmd-Objekt) - Beispiel

Dieses Beispiel verwendet die Methode Echo, um das Echo auszuschalten und während der Ausführung des Visual Basic-Codes den angegebenen Text in der Statusleiste anzuzeigen.

DoCmd.Echo False, "Visual Basic-Code wird ausgeführt."


FindNext-Methode

Die Methode FindNext führt die Aktion SuchenWeiter in Visual Basic aus. Weitere Informationen zu dieser Aktion und ihren Argumenten finden Sie unter dem Thema zur jeweiligen Aktion.

Syntax

DoCmd.FindNext

Diese Methode verwendet keine Argumente.


FindRecord-Methode

Die Methode FindRecord führt die Aktion SuchenDatensatz in Visual Basic aus. Weitere Informationen zu dieser Aktion und ihren Argumenten finden Sie unter dem Thema zur jeweiligen Aktion.

Syntax

DoCmd.FindRecord Suchen nach[, Vergleichen][, Groß-/Kleinschreibung][, Suchen][, Wie formatiert][, Nur aktuelles Feld][, Am Anfang beginnen]

Die Methode FindRecord verwendet die folgenden Argumente:

Argument	Beschreibung
Suchen nach	Ein Ausdruck, der zu einem Text, einer Zahl oder einem Datum ausgewertet wird. Der Ausdruck enthält die zu suchenden Daten.
Vergleichen	Eine der folgenden eingebauten Konstanten:
	acAnywhere acEntire (Standardwert) acStart
	Wenn Sie dieses Argument nicht angeben, wird der Standardwert (acEntire) verwendet.
Groß-/Kleinschreibung	Verwenden Sie True (-1), um bei der Suche Groß- und Kleinschreibung zu beachten, und False (0), um Groß- und Kleinschreibung unberücksichtigt zu lassen. Wenn Sie dieses Argument nicht angeben, wird der Standardwert (False) verwendet.
Suchen	Eine der folgenden eingebauten Konstanten:
	acDown acSearchAll (Standardwert) acUp
	Wenn Sie dieses Argument nicht angeben, wird der Standardwert (acSearchAll) verwendet.
Wie formatiert	Verwenden Sie True, um Daten so zu suchen, wie sie formatiert sind, und False, um Daten so zu suchen, wie sie in der Datenbank gespeichert sind. Wenn Sie dieses Argument nicht angeben, wird der Standardwert (False) verwendet.
Nur aktuelles Feld	Eine der folgenden eingebauten Konstanten:
	acAll acCurrent (Standardwert)
	Wenn Sie dieses Argument nicht angeben, wird der Standardwert (acCurrent) verwendet.
Am Anfang beginnen	Verwenden Sie True, um die Suche im ersten Datensatz zu beginnen. Verwenden Sie False, um die Suche im Datensatz zu beginnen, der auf den aktuellen Datensatz folgt. Wenn Sie dieses Argument nicht angeben, wird der Standardwert (True) verwendet.
Hinweis

Sie können optionale Argumente in der Syntax weglassen, müssen jedoch in jedem Fall das zum Argument gehörende Komma angeben. Wenn Sie Argumente am Anweisungsende weglassen, entfällt auch das Komma nach dem letzten angegebenen Argument.


FindRecord-Methode - Beispiel

Dieses Beispiel sucht im aktuellen Feld der Datensätze nach dem ersten Vorkommen des Namens "Schmitt". Die Zeichenfolgen "schmitt" und "Schmittchen" werden nicht gefunden.

DoCmd.FindRecord "Schmitt",, True,, True


GoToControl-Methode

Die Methode GoToControl führt die Aktion GeheZuSteuerelement in Visual Basic aus. Weitere Informationen zu dieser Aktion und ihren Argumenten finden Sie unter dem Thema zur jeweiligen Aktion.

Syntax

DoCmd.GoToControl Steuerelementname

Die Methode GoToControl verwendet folgendes Argument:

Argument	Beschreibung
Steuerelementname	Ein Zeichenfolgenausdruck, der den Namen eines Steuerelements im aktiven Formular oder Datenblatt angibt.
Hinweis

Geben Sie für das Argument Steuerelementname nur den Namen des Steuerelements ein, nicht die vollständige Syntax.

Sie können für dieses Argument auch eine Variable vom Datentyp Control verwenden.

Dim ctlSteuerelement As Control

Set ctlSteuerelement = Forms!Formular1!Feld3

DoCmd.GoToControl ctlSteuerelement.Name

Sie können auch die Methode SetFocus verwenden, um den Fokus auf ein Steuerelement eines Formulars oder eines seiner Unterformulare oder auf ein Feld einer geöffneten Tabelle, einer geöffneten Abfrage oder eines geöffneten Formulardatenblatts zu setzen. Diese Methode wird in Visual Basic zum Setzen des Fokus bevorzugt, vor allem wenn er auf Steuerelemente in Formularen und verschachtelten Unterformularen gesetzt werden soll, da Sie die vollständige Syntax zum Angeben des Steuerelements verwenden können.


GoToControl-Methode - Beispiel

Dieses Beispiel verwendet die Methode GoToControl, um den Fokus auf das Feld Personal-Nr zu setzen.

DoCmd.GoToControl "Personal-Nr"


GoToPage-Methode (DoCmd-Objekt)

Die Methode GoToPage des Objekts DoCmd führt die Aktion GeheZuSeite in Visual Basic aus. Weitere Informationen zu dieser Aktion und ihren Argumenten finden Sie unter dem Thema zur jeweiligen Aktion.

Syntax

DoCmd.GoToPage [Seitenzahl][, Rechts, Unten]

Die Methode GoToPage verwendet die folgenden Argumente:

Argument	Beschreibung
Seitenzahl	Ein numerischer Ausdruck, der eine gültige Seitenzahl des aktiven Formulars angibt. Wenn Sie dieses Argument nicht angeben, bleibt der Fokus auf der aktuellen Seite. Sie können die Argumente Rechts und Unten verwenden, um den gewünschten Teil der Seite anzuzeigen.
Rechts	Ein numerischer Ausdruck, der einen gültigen horizontalen Versatz für die Seite angibt.
Unten	Ein numerischer Ausdruck, der einen gültigen vertikalen Versatz für die Seite angibt.
Hinweis

Die Maßeinheit für die Argumente Rechts und Unten lautet Twips.

Wenn Sie die Argumente Rechts und Unten angeben, aber Seitenzahl weglassen, geben Sie das Komma des Arguments Seitenzahl an. Wenn Sie die Argumente Rechts und Unten nicht angeben, geben Sie nach dem Argument Seitenzahl kein Komma ein.

Die Methode GoToPage des Objekts DoCmd wurde hinzugefügt, um die Abwärtskompatibilität zu gewährleisten, wenn die Aktion GoToPage im Visual Basic-Code in Microsoft Access 95 ausgeführt wird. Es empfiehlt sich jedoch, statt dessen die vorhandene Methode GoToPage des Objekts Form zu verwenden.


GoToPage-Methode (DoCmd-Objekt) - Beispiel

Dieses Beispiel verwendet die Methode GoToPage, um den Fokus in der zweiten Seite des aktiven Formulars auf die mit dem horizontalen und vertikalen Versatz angegebene Position zu setzen.

DoCmd.GoToPage 2, 1440, 567


GoToRecord-Methode

Die Methode GoToRecord führt die Aktion GeheZuDatensatz in Visual Basic aus. Weitere Informationen zu dieser Aktion und ihren Argumenten finden Sie unter dem Thema zur jeweiligen Aktion.

Syntax

DoCmd.GoToRecord [Objekttyp, Objektname][, Datensatz][, Offset]

Die Methode GoToRecord verwendet die folgenden Argumente:

Argument	Beschreibung
Objekttyp	Eine der folgenden eingebauten Konstanten:
	acActiveDataObject (Standardwert) acDataForm acDataQuery acDataTable
Objektname	Ein Zeichenfolgenausdruck, der den gültigen Namen eines Objekts vom Typ Objekttyp angibt.
Datensatz	Eine der folgenden eingebauten Konstanten:
	acFirst acGoTo acLast acNewRec acNext (Standardwert) acPrevious
	Wenn Sie dieses Argument nicht angeben, wird der Standardwert (acNext) verwendet.
Offset	Ein numerischer Ausdruck, der die Anzahl der Datensätze angibt, um die vorwärts oder rückwärts geblättert werden soll, wenn Sie für das Argument Datensatz acNext oder acPrevious angegeben haben, oder der Datensatz, zu dem Sie gehen möchten, wenn Sie für das Argument Datensatz acGoTo angegeben haben. Der Ausdruck muß eine gültige Datensatznummer ergeben.
Hinweis

Wenn Sie die Argumente Objekttyp und Objektname nicht angeben, wird die Standardkonstante (acActiveDataObject) für Objekttyp angenommen, und das aktive Objekt wird verwendet.

Sie können optionale Argumente in der Syntax weglassen, müssen jedoch in jedem Fall das zum Argument gehörende Komma angeben. Wenn Sie Argumente am Anweisungsende weglassen, entfällt auch das Komma nach dem letzten angegebenen Argument.


GoToRecord-Methode - Beispiel

Dieses Beispiel verwendet die Methode GoToRecord, um den siebten Datensatz im Formular Personal zum aktuellen Datensatz zu machen.

DoCmd.GoToRecord acDataForm, "Personal", acGoTo, 7


Hourglass-Methode

Die Methode Hourglass führt die Aktion Sanduhr in Visual Basic aus. Weitere Informationen zu dieser Aktion und ihren Argumenten finden Sie im Thema zur jeweiligen Aktion.

Syntax

DoCmd.Hourglass Sanduhr

Die Methode Hourglass verwendet das folgende Argument:

Argument	Beschreibung
Sanduhr	Verwenden Sie True (-1), um die Sanduhr (oder ein anderes gewähltes Symbol) anzuzeigen. Verwenden Sie False (0), um den normalen Mauszeiger anzuzeigen.


Hourglass-Methode - Beispiel

Dieses Beispiel verwendet die Methode Hourglass, um während der Ausführung Ihres Visual Basic-Codes eine Sanduhr (oder ein anderes gewähltes Symbol) anzuzeigen.

DoCmd.Hourglass True


Maximize-Methode

Die Methode Maximize führt die Aktion Maximieren in Visual Basic aus. Weitere Informationen zu dieser Aktion und ihren Argumenten finden Sie unter dem Thema zur jeweiligen Aktion.

Syntax

DoCmd.Maximize

Diese Methode verwendet keine Argumente.


Minimize-Methode

Die Methode Minimize führt die Aktion Minimieren in Visual Basic aus. Weitere Informationen zu dieser Aktion und ihren Argumenten finden Sie unter dem Thema zur jeweiligen Aktion.

Syntax

DoCmd.Minimize

Diese Methode verwendet keine Argumente.


MoveSize-Methode

Die Methode MoveSize führt die Aktion Positionieren in Visual Basic aus. Weitere Informationen zu dieser Aktion und ihren Argumenten finden Sie unter dem Thema zur jeweiligen Aktion.

Syntax

DoCmd.MoveSize [Rechts][, Unten][, Breite][, Höhe]

Die Methode MoveSize verwendet die folgenden Argumente:

Argument	Beschreibung
Rechts	Numerischer Ausdruck.
Unten	Numerischer Ausdruck.
Breite	Numerischer Ausdruck.
Höhe	Numerischer Ausdruck.
Hinweis

Verwenden Sie mindestens ein Argument der Methode MoveSize. Für Argumente, die Sie nicht angeben, wird die aktuelle Einstellung für das Fenster verwendet.

Sie können optionale Argumente in der Syntax weglassen, müssen jedoch in jedem Fall das zum Argument gehörende Komma angeben. Wenn Sie Argumente am Anweisungsende weglassen, entfällt auch das Komma nach dem letzten angegebenen Argument.

Die Maßeinheit für die Argumente lautet Twips.


MoveSize-Methode - Beispiel

Dieses Beispiel verschiebt das aktive Fenster und ändert seine Höhe, läßt aber die Fensterbreite unverändert.

DoCmd.MoveSize 1440, 2400, , 2000


OpenForm-Methode

Die Methode OpenForm führt die Aktion ÖffnenFormular in Visual Basic aus. Weitere Informationen zu dieser Aktion und ihren Argumenten finden Sie unter dem Thema zur jeweiligen Aktion.

Syntax

DoCmd.OpenForm Formularname [, Ansicht][, Filtername][, Bedingung][, Datenmodus][, Fenstermodus][, Öffnungsargumente]

Die Methode OpenForm verwendet die folgenden Argumente:

Argument	Beschreibung
Formularname	Ein Zeichenfolgenausdruck, der den gültigen Namen eines Formulars der aktuellen Datenbank angibt.
	Wenn Sie Visual Basic-Code, der die Methode OpenForm enthält, in einer Bibliotheksdatenbank ausführen, sucht Microsoft Access nach dem Formular mit diesem Namen zunächst in der Bibliotheksdatenbank und dann in der aktuellen Datenbank.
Ansicht	Eine der folgenden eingebauten Konstanten:
	acDesign acFormDS acNormal (Standardwert) acPreview
	acNormal öffnet das Formular in der Formularansicht.
	Wenn Sie dieses Argument nicht angeben, wird der Standardwert (acNormal) verwendet.
Filtername	Ein Zeichenfolgenausdruck, der den gültigen Namen einer Abfrage der aktuellen Datenbank angibt.
Bedingung	Ein Zeichenfolgenausdruck, der eine gültige SQL WHERE-Klausel ohne das Wort WHERE angibt.
Datenmodus	Eine der folgenden eingebauten Konstanten:
	acFormAdd acFormEdit acFormPropertySettings (Standardwert) acFormReadOnly
	Wenn Sie dieses Argument nicht angeben, wird der Standardwert (acFormPropertySettings) verwendet, und Microsoft Access öffnet das Formular in dem Datenmodus, der mit den Eigenschaften AllowEdits, AllowDeletions, AllowAdditions und DataEntry eingestellt ist.
Fenstermodus	Eine der folgenden eingebauten Konstanten:
	acDialog acHidden acIcon acWindowNormal (Standardwert)
	Wenn Sie dieses Argument nicht angeben, wird der Standardwert (acWindowNormal) verwendet.
Öffnungsargumente	Ein Zeichenfolgenausdruck, der zum Einstellen der Formulareigenschaft OpenArgs verwendet wird. Diese Einstellung kann dann von Code in einem Formularmodul verwendet werden, z.B. in der jeweiligen Open-Ereignisprozedur. Auf die Eigenschaft OpenArgs kann auch in Makros und Ausdrücken verwiesen werden.
	Wenn Sie z.B. eine Kundenliste öffnen, die als Endlosformular vorliegt, und den Fokus beim Öffnen des Formulars auf einen bestimmten Kundendatensatz setzen möchten, können Sie den Kundennamen im Argument Öffnungsargumente angeben. Anschließend können Sie den Fokus mit der Methode FindRecord auf den Datensatz des Kunden mit dem angegebenen Namen setzen.
	Dieses Argument ist nur in Visual Basic verfügbar.
Hinweis

Das Argument Bedingung darf bis zu 32.768 Zeichen lang sein (im Gegensatz zum Aktionsargument Bedingung im Makrofenster, dessen maximale Länge 256 Zeichen beträgt).

Sie können optionale Argumente in der Syntax weglassen, müssen jedoch in jedem Fall das zum Argument gehörende Komma angeben. Wenn Sie Argumente am Anweisungsende weglassen, entfällt auch das Komma nach dem letzten angegebenen Argument.


OpenForm-Methode - Beispiel

Dieses Beispiel öffnet das Formular Personal in der Formularansicht und zeigt nur die Datensätze an, in denen im Feld Nachname der Name "Buchwald" steht. Die angezeigten Datensätze können bearbeitet, und es können neue Datensätze hinzugefügt werden.

DoCmd.OpenForm "Personal", , ,"[Nachname] = 'Buchwald'"


OpenModule-Methode

Die Methode OpenModule führt die Aktion ÖffnenModul in Visual Basic aus. Weitere Informationen zu dieser Aktion und ihren Argumenten finden Sie unter dem Thema zur jeweiligen Aktion.

Syntax

DoCmd.OpenModule [Modulname][, Prozedurname]

Die Methode OpenModule verwendet die folgenden Argumente:

Argument	Beschreibung
Modulname	Ein Zeichenfolgenausdruck, der den gültigen Namen des zu öffnenden Visual Basic-Moduls angibt. Wenn Sie dieses Argument nicht angeben, sucht Microsoft Access in allen Standardmodulen der Datenbank nach der im Argument Prozedurname angegebenen Prozedur und öffnet das Modul an dieser Prozedur.
	Wenn Sie Visual Basic-Code, der die Methode  OpenModule enthält, in einer Bibliotheksdatenbank ausführen, sucht Microsoft Access nach diesem Modul mit diesem Namen zuerst in der Bibliotheksdatenbank und dann in der aktuellen Datenbank.
Prozedurname	Ein Zeichenfolgenausdruck, der den gültigen Namen einer Prozedur angibt, an der das Modul geöffnet werden soll. Wenn Sie dieses Argument nicht angeben, wird das Modul geöffnet und sein Deklarationsbereich angezeigt.
Hinweis

Verwenden Sie mindestens ein Argument der Methode OpenModule. Wenn Sie für beide Argumente einen Wert eingeben, öffnet Microsoft Access das angegebene Modul an der angegebenen Prozedur.

Wenn Sie das Argument Prozedurname weglassen, geben Sie nach dem Argument Modulname kein Komma ein.


OpenModule-Methode - Beispiel

Dieses Beispiel öffnet das Modul Dienstprogramme an der Funktion IsLoaded().

DoCmd.OpenModule "Dienstprogramme","IsLoaded"


OpenQuery-Methode

Die Methode OpenQuery führt die Aktion ÖffnenAbfrage in Visual Basic aus. Weitere Informationen zu dieser Aktion und ihren Argumenten finden Sie unter dem Thema zur jeweiligen Aktion.

Syntax

DoCmd.OpenQuery Abfragename[, Ansicht][, Datenmodus]

Die Methode OpenQuery verwendet die folgenden Argumente:

Argument	Beschreibung
Abfragename	Ein Zeichenfolgenausdruck, der den gültigen Namen einer Abfrage der aktuellen Datenbank angibt.
	Wenn Sie Visual Basic-Code, der die Methode OpenQuery enthält, in einer Bibliotheksdatenbank ausführen, sucht Microsoft Access die Abfrage mit diesem Namen zuerst in der Bibliotheksdatenbank und dann in der aktuellen Datenbank.
Ansicht	Eine der folgenden eingebauten Konstanten:
	acViewDesign acViewNormal (Standardwert) acViewPreview
	Wenn für das Argument Abfragename entweder der Name einer Auswahl-, Kreuztabellen-, Union- oder der Name einer Pass-Through-Abfrage angegeben wird, deren Eigenschaft ReturnsRecords auf -1 eingestellt ist, zeigt acNormal die Ergebnismenge der Abfrage an. Wenn sich das Argument Abfragename auf eine Aktions- oder Datendefinitionsabfrage bzw. auf eine Pass-Through-Abfrage bezieht, deren Eigenschaft ReturnsRecords auf 0 eingestellt ist, führt acViewNormal die Abfrage aus.
	Wenn Sie dieses Argument nicht angeben, wird der Standardwert (acViewNormal) verwendet.
Datenmodus	Eine der folgenden eingebauten Konstanten:
	acAdd acEdit (Standardwert) acReadOnly
	Wenn Sie dieses Argument nicht angeben, wird der Standardwert (acEdit) verwendet.
Hinweis

Wenn Sie das Argument Datenmodus angeben und das Argument Ansicht weglassen, geben Sie das Komma des Arguments Ansicht an. Wenn Sie Argumente am Anweisungsende weglassen, entfällt auch das Komma nach dem letzten angegebenen Argument.


OpenQuery-Methode - Beispiel

Dieses Beispiel öffnet die Abfrage Umsätze (Gesamt) in der Datenblattansicht und ermöglicht dem Benutzer das Anzeigen, aber nicht das Bearbeiten oder Hinzufügen von Datensätzen.

DoCmd.OpenQuery "Umsätze (Gesamt)", , acReadOnly


OpenReport-Methode

Die Methode OpenReport führt die Aktion ÖffnenBericht in Visual Basic aus. Weitere Informationen zu dieser Aktion und ihren Argumenten finden Sie unter dem Thema zur jeweiligen Aktion.

Syntax

DoCmd.OpenReport Berichtsname[, Ansicht][, Filtername][, Bedingung]

Die Methode OpenReport verwendet die folgenden Argumente:

Argument	Beschreibung
Berichtsname	Ein Zeichenfolgenausdruck, der den gültigen Namen eines Berichts in der aktuellen Datenbank angibt.
	Wenn Sie Visual Basic-Code, der die Methode OpenReport enthält, in einer Bibliotheksdatenbank ausführen, sucht Microsoft Access nach dem Bericht mit diesem Namen zuerst in der Bibliotheksdatenbank und dann in der aktuellen Datenbank.
Ansicht	Eine der folgenden eingebauten Konstanten:
	acViewDesign acViewNormal (Standardwert) acViewPreview
	acViewNormal druckt den Bericht sofort aus. Wenn Sie dieses Argument nicht angeben, wird der Standardwert (acViewNormal) verwendet.
Filtername	Ein Zeichenfolgenausdruck, der den gültigen Namen einer Abfrage der aktuellen Datenbank angibt
Bedingung	Ein Zeichenfolgenausdruck, der eine gültige SQL WHERE-Klausel ohne das Wort WHERE angibt.
Hinweis

Das Argument Bedingung darf bis zu 32.768 Zeichen lang sein (im Gegensatz zum Aktionsargument Bedingung im Makrofenster, dessen maximale Länge 256 Zeichen beträgt).

Sie können optionale Argumente in der Syntax weglassen, geben jedoch in jedem Fall das zum Argument gehörende Komma an. Wenn Sie Argumente am Anweisungsende weglassen, entfällt auch das Komma nach dem letzten angegebenen Argument.


OpenReport-Methode - Beispiel

Dieses Beispiel druckt den Bericht Umsätze unter Verwendung der bestehenden Abfrage Berichtsfilter.

DoCmd.OpenReport "Umsätze", acViewNormal, _

"Berichtsfilter"


OpenTable-Methode

Die Methode OpenTable führt die Aktion ÖffnenTabelle in Visual Basic aus. Weitere Informationen zu dieser Aktion und ihren Argumenten finden Sie unter dem Thema zur jeweiligen Aktion.

Syntax

DoCmd.OpenTable Tabellenname[, Ansicht][, Datenmodus]

Die Methode OpenTable verwendet die folgenden Argumente:

Argument	Beschreibung
Tabellenname	Ein Zeichenfolgenausdruck, der den gültigen Namen einer Tabelle der aktuellen Datenbank angibt.
	Wenn Sie Visual Basic-Code, der die Methode OpenTable enthält, in einer Bibliotheksdatenbank ausführen, sucht Microsoft Access nach der Tabelle mit diesem Namen zuerst in der Bibliotheksdatenbank und dann in der aktuellen Datenbank.
Ansicht	Eine der folgenden eingebauten Konstanten:
	acViewDesign acViewNormal (Standardwert) acViewPreview
	acViewNormal öffnet die Tabelle in der Datenblattansicht.
	Wenn Sie dieses Argument nicht angeben, wird der Standardwert (acViewNormal) verwendet.
Datenmodus	Eine der folgenden eingebauten Konstanten:
	acAdd acEdit (Standardwert) acReadOnly
	Wenn Sie dieses Argument nicht angeben, wird der Standardwert (acEdit) verwendet.
Hinweis

Wenn Sie das Argument Datenmodus angeben und das Argument Ansicht weglassen, geben Sie das Komma des Arguments Ansicht an. Wenn Sie Argumente am Anweisungsende weglassen, entfällt auch das Komma nach dem letzten angegebenen Argument.


OpenTable-Methode - Beispiel

Dieses Beispiel öffnet die Tabelle Personal in der Seitenansicht.

DoCmd.OpenTable "Personal", acViewPreview


OutputTo-Methode

Die Methode OutputTo führt die Aktion AusgabeIn in Visual Basic aus. Weitere Informationen zu dieser Aktion und ihren Argumenten finden Sie unter dem Thema zur jeweiligen Aktion.

Syntax

DoCmd.OutputTo Objekttyp[, Objektname][, Ausgabeformat][, Ausgabedatei][, Autostart][, Vorlagedatei]

Die Methode OutputTo verwendet die folgenden Argumente:

Argument	Beschreibung
Objekttyp	Eine der folgenden eingebauten Konstanten:
	acOutputForm acOutputModule acOutputQuery acOutputReport acOutputTable
Objektname	Ein Zeichenfolgenausdruck, der den gültigen Namen eines Objekts vom Typ Objekttyp angibt. Wenn Sie das aktive Objekt ausgeben möchten, geben Sie mit dem Argument Objekttyp den Typ des Objekts an, und lassen Sie dieses Argument weg.
	Wenn Sie Visual Basic-Code, der die Methode OutputTo enthält, in einer Bibliotheksdatenbank ausführen, sucht Microsoft Access nach dem Objekt mit diesem Namen zuerst in der Bibliotheksdatenbank und dann in der aktuellen Datenbank.
Ausgabeformat	Eine der folgenden eingebauten Konstanten:
	acFormatASP acFormatHTML acFormatIIS acFormatRTF acFormatTXT acFormatXLS
	Wenn Sie dieses Argument weglassen, fordert Microsoft Access Sie auf, eine Ausgabedatei anzugeben.
Ausgabedatei	Ein Zeichenfolgenausdruck, der den vollständigen Namen und Pfad der Datei angibt, in die das Objekt ausgegeben werden soll.
	Wenn Sie dieses Argument weglassen, fordert Microsoft Access Sie auf, eine Ausgabedatei anzugeben.
Autostart	Verwenden Sie True (-1), um die entsprechende auf Windows basierende Anwendung sofort zu starten und die im Argument Ausgabedatei angegebene Datei zu laden. Verwenden Sie False (0), wenn die Anwendung nicht gestartet werden soll. Dieses Argument wird für Microsoft Internet Information Server-Dateien (.htx, .idc) und Microsoft Active Server Pages-Dateien (*.asp) nicht beachtet.
	Wenn Sie dieses Argument nicht angeben, wird der Standardwert (False) verwendet.
Vorlagedatei	Ein Zeichenfolgenausdruck, der den vollständigen Namen und Pfad der Datei angibt, die Sie als Vorlage für eine HTML-, HTX- oder ASP-Datei verwenden möchten.
Hinweis

Module können nur im MS-DOS-Textformat ausgegeben werden. Wenn Sie also für das Argument Objekttyp acOutputModule angeben, geben Sie für das Argument Ausgabeformat acFormatTXT an. Microsoft Internet Information Server-Formate und das Microsoft Active Server Page-Format sind nur für Tabellen, Abfragen und Formulare verfügbar. Wenn Sie also für das Argument Ausgabeformat acFormatIIS oder acFormatASP angeben, geben Sie für das Argument Objekttyp acOutputTable, acOutputQuery oder acOutputForm an.

Sie können optionale Argumente in der Syntax weglassen, müssen jedoch in jedem Fall das zum Argument gehörende Komma angeben. Wenn Sie Argumente am Anweisungsende weglassen, entfällt auch das Komma nach dem letzten angegebenen Argument.


OutputTo-Methode - Beispiel

Dieses Beispiel gibt die Tabelle Personal im Rich Text-Format (.RTF) aus und öffnet die Datei in Microsoft Word für Windows.

DoCmd.OutputTo acOutputTable, "Personal", _

acFormatRTF, "PERSONAL.RTF", True


PrintOut-Methode

Die Methode PrintOut führt die Aktion Drucken in Visual Basic aus. Weitere Informationen zu dieser Aktion und ihren Argumenten finden Sie unter dem Thema zur jeweiligen Aktion.

Syntax

DoCmd.PrintOut [Druckbereich][, Von, Bis][, Druckqualität][, Exemplare][, Exemplare sortieren]

Die Methode PrintOut verwendet die folgenden Argumente:

Argument	Beschreibung
Druckbereich	Eine der folgenden eingebauten Konstanten:
	acPrintAll (Standardwert) acSelection acPages
	Wenn Sie dieses Argument nicht angeben, wird der Standardwert (acPrintAll) verwendet.
Von	Ein numerischer Ausdruck, der eine gültige Seitenzahl des aktiven Formulars oder Datenblatts angibt. Dieses Argument ist erforderlich, wenn Sie für das Argument Druckbereich die Konstante acPages angegeben haben.
Bis	Ein numerischer Ausdruck, der eine gültige Seitenzahl des aktiven Formulars oder Datenblatts angibt. Dieses Argument ist erforderlich, wenn Sie für das Argument Druckbereich die Konstante acPages angegeben haben.
Druckqualität	Eine der folgenden eingebauten Konstanten:
	acDraft acHigh (Standardwert) acLow acMedium
	Wenn Sie dieses Argument nicht angeben, wird der Standardwert (acHigh) verwendet.
Exemplare	Ein numerischer Ausdruck. Wenn Sie dieses Argument nicht angeben, wird der Standardwert (1) verwendet.
Exemplare sortieren	Verwenden Sie True (-1), um die Exemplare beim Drucken sortieren zu lassen, und False (0), um die Exemplare nicht sortieren zu lassen. Wenn Sie dieses Argument nicht angeben, wird der Standardwert (True) verwendet.
Hinweis

Sie können optionale Argumente in der Syntax weglassen, müssen jedoch in jedem Fall das zum Argument gehörende Komma angeben. Wenn Sie Argumente am Anweisungsende weglassen, entfällt auch das Komma nach dem letzten angegebenen Argument.


PrintOut-Methode - Beispiel

Dieses Beispiel druckt zwei sortierte Exemplare von den ersten vier Seiten des aktiven Formulars oder Datenblatts.

DoCmd.PrintOut acPages, 1, 4, , 2


Quit-Methode (DoCmd-Objekt)

Die Methode Quit des Objekts DoCmd führt die Aktion Beenden in Visual Basic aus. Weitere Informationen zu dieser Aktion und ihren Argumenten finden Sie unter dem Thema zur jeweiligen Aktion.

Syntax

DoCmd.Quit [Optionen]

Die Methode Quit verwendet das folgende Argument:

Argument	Beschreibung
Optionen	Eine der folgenden eingebauten Konstanten:
	acQuitPrompt acQuitSaveAll (Standardwert) acQuitSaveNone
	Wenn Sie dieses Argument nicht angeben, wird der Standardwert (acQuitSaveAll) verwendet.
Hinweis

Die Methode Quit des Objekts DoCmd wurde hinzugefügt, um die Abwärtskompatibilität zu gewährleisten, wenn die Aktion Quit im Visual Basic-Code in Microsoft Access, Version 7.0, ausgeführt wird. Es empfiehlt sich jedoch, statt dessen die vorhandene Methode Quit des Objekts Application zu verwenden.


Quit-Methode (DoCmd-Objekt) - Beispiel

Dieses Beispiel zeigt ein oder mehrere Dialogfelder an, in denen Sie gefragt werden, ob geänderte Objekte vor dem Beenden von Microsoft Access gespeichert werden sollen.

DoCmd.Quit acQuitPrompt


Rename-Methode

Die Methode Rename führt die Aktion UmbenennenObjekt in Visual Basic aus. Weitere Informationen zu dieser Aktion und ihren Argumenten finden Sie unter dem Thema zur jeweiligen Aktion.

Syntax

DoCmd.Rename Neuer Name[, Objekttyp, Alter Name]

Die Methode Rename verwendet die folgenden Argumente:

Argument	Beschreibung
Neuer Name	Ein Zeichenfolgenausdruck, der den neuen Namen des umzubenennenden Objekts angibt. Der Name muß den Benennungskonventionen für Objekte in Microsoft Access entsprechen.
Objekttyp	Eine der folgenden eingebauten Konstanten:
	acDefault (Standardwert) acForm acMacro acModule acQuery acReport acTable
Alter Name	Ein Zeichenfolgenausdruck, der den gültigen Namen eines Objekts vom Typ Objekttyp angibt.
	Wenn Sie Visual Basic-Code, der die Methode Rename enthält, in einer Bibliotheksdatenbank ausführen, sucht Microsoft Access nach den Objekt mit diesem Namen zuerst in der Bibliotheksdatenbank und dann in der aktuellen Datenbank.
Hinweis

Wenn Sie die Argumente Objekttyp und Objektname nicht angeben, wird die Standardkonstante (acDefault) für Objekttyp verwendet, und Microsoft Access benennt das im Datenbankfenster markierte Objekt um. Um ein Objekt im Datenbankfenster zu markieren, verwenden Sie die Aktion AuswählenObjekt oder die Methode SelectObject, wobei das Argument Im Datenbankfenster auf True eingestellt sein muß.

Wenn Sie die Argumente Objekttyp und Alter Name weglassen, geben Sie nach dem Argument Neuer Name kein Komma ein.


Rename-Methode - Beispiel

Dieses Beispiel benennt die Tabelle Personal unter Verwendung des angegebenen Namens um.

DoCmd.Rename "Alte Personaltabelle", acTable, _

"Personal"


RepaintObject-Methode

Die Methode RepaintObject führt die Aktion AktualisierenObjekt in Visual Basic aus. Weitere Informationen zu dieser Aktion und ihren Argumenten finden Sie unter dem Thema zur jeweiligen Aktion.

Syntax

DoCmd.RepaintObject [Objekttyp, Objektname]

Die Methode RepaintObject verwendet die folgenden Argumente:

Argument	Beschreibung
Objekttyp	Eine der folgenden eingebauten Konstanten:
	acDefault (Standardwert) acForm acMacro acModule acQuery acReport acTable
Objektname	Ein Zeichenfolgenausdruck, der den gültigen Namen eines Objekts vom Typ Objekttyp angibt.
Hinweis

Wenn Sie die Methode RepaintObject ohne Argumente verwenden, wird die Standardkonstante (acDefault) verwendet, und das aktive Fenster wird aktualisiert.

Die Methode RepaintObject des Objekts DoCmd wurde hinzugefügt, um die Abwärtskompatibilität zu gewährleisten, wenn die Aktion UmbenennenObjekt im Visual Basic-Code in Microsoft Access 95 ausgeführt wird. Wenn Sie ein Formular aktualisieren möchten, empfiehlt es sich jedoch, statt dessen die vorhandene Methode Repaint des Objekts Form zu verwenden.


RepaintObject-Methode - Beispiel

Dieses Beispiel aktualisiert das Formular Kunden.

DoCmd.RepaintObject acTable, "Kunden"


Requery-Methode (DoCmd-Objekt)

Die Methode Requery des Objekts DoCmd führt die Aktion AktualisierenDaten in Visual Basic aus. Weitere Informationen zu dieser Aktion und ihren Argumenten finden Sie unter dem Thema zur jeweiligen Aktion.

Syntax

DoCmd.Requery [Steuerelementname]

Die Methode Requery verwendet das folgende Argument:

Argument	Beschreibung
controlname	Ein Zeichenfolgenausdruck, der den Namen eines Steuerelements des aktiven Formulars angibt.
Hinweis

Geben Sie für das Argument Steuerelementname nur den Namen des Steuerelements ein, nicht die vollständige Syntax.

Sie können für dieses Argument auch eine Variable vom Datentyp Control verwenden.

Dim ctlListenfeld As Control

Set ctlListenfeld = Forms!Formular1!Feld3

DoCmd.Requery ctlListenfeld.Name

Die Methode Requery des Objekts DoCmd unterscheidet sich von der Methode Requery in Visual Basic. Die Methode Requery des Objekts DoCmd wurde hinzugefügt, um beim Ausführen der Aktion AktualisierenDaten im Visual Basic-Code in Microsoft Access 95 Abwärtskompatibilität zu gewährleisten. Wenn Sie ein Steuerelement, das sich nicht im aktiven Objekt befindet, durch erneutes Abfragen aktualisieren möchten, verwenden Sie die Methode Requery in Visual Basic; die Aktion AktualisierenDaten und die entsprechende Methode Requery des Objekts DoCmd sind dafür nicht geeignet. Die Methode Requery in Visual Basic ist schneller als die Aktion AktualisierenDaten oder die Methode DoCmd.Requery. Außerdem schließt Microsoft Access die Abfrage und lädt sie erneut aus der Datenbank, wenn Sie die Aktion AktualisierenDaten oder die Methode DoCmd.Requery verwenden. Verwenden Sie dagegen die Methode Requery in Visual Basic, so führt Microsoft Access die Abfrage erneut aus, ohne sie zu schließen und erneut zu laden.

Anmerkung   Die Methode Requery für Datenzugriffsobjekte (DAO) funktioniert genauso wie die Methode Requery in Microsoft Access.


Requery-Methode (DoCmd-Objekt) - Beispiel

Dieses Beispiel verwendet die Methode Requery, um das Steuerelement Personalliste zu aktualisieren.

DoCmd.Requery "Personalliste"


Restore-Methode

Die Methode Restore führt die Aktion Wiederherstellen in Visual Basic aus. Weitere Informationen zu dieser Aktion und ihren Argumenten finden Sie unter dem Thema zur jeweiligen Aktion.

Syntax

DoCmd.Restore

Diese Methode verwendet keine Argumente.


RunMacro-Methode

Die Methode RunMacro führt die Aktion AusführenMakro in Visual Basic aus. Weitere Informationen zu dieser Aktion und ihren Argumenten finden Sie unter dem Thema zur jeweiligen Aktion.

Syntax

DoCmd.RunMacro Makroname[, Wiederholungen][, Wiederholbedingung]

Die Methode RunMacro verwendet die folgenden Argumente:

Argument	Beschreibung
Makroname	Ein Zeichenfolgenausdruck, der den gültigen Namen eines Makros der aktuellen Datenbank angibt.
	Wenn Sie Visual Basic-Code, der die Methode RunMacro enthält, in einer Bibliotheksdatenbank ausführen, sucht Microsoft Access nach dem Makro mit diesem Namen zuerst in der Bibliotheksdatenbank und dann in der aktuellen Datenbank.
Wiederholungen	Ein numerischer Ausdruck, der zu einer ganzen Zahl ausgewertet wird und angibt, wie oft das Makro ausgeführt wird.
Wiederholbedingung	Ein numerischer Ausdruck, der bei jeder Ausführung des Makros ausgewertet wird. Sobald der Ausdruck den Wert False (0) annimmt, wird die Ausführung des Makros angehalten.
Hinweis

Sie können für das Argument Makroname auch Makrogruppenname.Makroname verwenden, um ein bestimmtes Makro einer Makrogruppe auszuführen.

Wenn Sie das Argument Wiederholbedingung angeben und das Argument Wiederholungen weglassen, geben Sie das Komma des Arguments Wiederholungen an. Wenn Sie Argumente am Anweisungsende weglassen, entfällt auch das Komma nach dem letzten angegebenen Argument.


RunMacro-Methode - Beispiel

Dieses Beispiel führt das Makro Umsätze drucken aus.

DoCmd.RunMacro "Umsätze drucken"


RunSQL-Methode

Die Methode RunSQL führt die Aktion AusführenSQL in Visual Basic aus. Weitere Informationen zu dieser Aktion und ihren Argumenten finden Sie unter dem Thema zur jeweiligen Aktion.

Syntax

DoCmd.RunSQL SQL-Anweisung[, TransaktionVerwenden]

Die Methode RunSQL verwendet das folgende Argument:

Argument	Beschreibung
SQL-Anweisung	Ein Zeichenfolgenausdruck, der eine gültige SQL-Anweisung für eine Aktionsabfrage oder Datendefinitionsabfrage angibt. Der Ausdruck verwendet eine der folgenden Anweisungen: INSERT INTO, DELETE, SELECT...INTO, UPDATE, CREATE TABLE, ALTER TABLE, DROP TABLE, CREATE INDEX oder DROP INDEX. Fügen Sie eine IN-Klausel ein, wenn Sie auf eine andere Datenbank zugreifen möchten.
TransaktionVerwenden	Verwenden Sie True (-1), um die Abfrage in eine Tansaktion aufzunehmen. Verwenden Sie False (0), wenn Sie keine Transaktion verwenden möchten. Wenn Sie dieses Argument nicht angeben, wird der Standardwert (True) verwendet.
Hinweis

Das Argument SQL-Anweisung darf bis zu 32.768 Zeichen lang sein (im Gegensatz zum Aktionsargument SQL-Anweisung im Makrofenster, dessen maximale Länge 256 Zeichen beträgt).

Wenn Sie das Argument TransaktionVerwenden weglassen, geben Sie nach dem Argument SQL-Anweisung kein Komma ein.


RunSQL-Methode - Beispiel

Dieses Beispiel aktualisiert die Tabelle Personal. Dabei wird die Position aller Verkaufsleiter in Gebietsverkaufsleiter geändert.

DoCmd.RunSQL "UPDATE Personal " & _

"SET Personal.Position = " & _

"'Gebietsverkaufsleiter' " & _

"WHERE Personal.Position = 'Verkaufsleiter';"


Save-Methode

Die Methode Save führt die Aktion Speichern in Visual Basic aus. Weitere Informationen zu dieser Aktion und ihren Argumenten finden Sie unter dem Thema zur jeweiligen Aktion.

Syntax

DoCmd.Save [Objekttyp, Objektname]

Die Methode Save verwendet die folgenden Argumente:

Argument	Beschreibung
Objekttyp	Eine der folgenden eingebauten Konstanten:
	acDefault (Standardwert) acForm acMacro acModule acQuery acReport acTable
Objektname	Ein Zeichenfolgenausdruck, der den gültigen Namen eines Objekts vom Typ Objekttyp angibt.
Hinweis

Wenn Sie die Argumente Objekttyp und Objektname nicht angeben, wird die Standardkonstante (acDefault) für das Argument Objekttyp verwendet, und Microsoft Access speichert das aktive Objekt. Wenn Sie das Argument Objekttyp weglassen, aber im Argument Objektname einen Namen eingeben, speichert Microsoft Access das aktive Objekt unter dem angegebenen Namen. Wenn Sie das Argument Objekttyp angeben, geben Sie im Argument Objektname den Namen eines vorhandenen Objekts an.

Wenn Sie das Argument Objekttyp weglassen, aber im Argument Objektname einen Namen eingeben, geben Sie das Komma des Arguments Objekttyp angeben.

Anmerkung   Sie können die Methode Save nicht verwenden, um die folgenden Objekte unter einem neuen Namen zu speichern:

•	Ein Formular in der Formularansicht oder Datenblattansicht.

•	Einen Bericht in der Seitenansicht.

•	Ein Modul.

Die Methode Save speichert das angegebene oder aktive Objekt immer in der Datenbank, in der es erstellt wurde, unabhängig davon, ob sie in der aktuellen Datenbank oder in einer Bibliotheksdatenbank ausgeführt wird.


Save-Methode - Beispiel

Dieses Beispiel verwendet die Methode Save, um das Formular Neues Personal zu speichern. Das Formular muß geöffnet sein, wenn der Code ausgeführt wird, der diese Methode enthält.

DoCmd.Save acForm, "Neues Personal"


SelectObject-Methode

Die Methode SelectObject führt die Aktion AuswählenObjekt in Visual Basic aus. Weitere Informationen zu dieser Aktion und ihren Argumenten finden Sie unter dem Thema zur jeweiligen Aktion.

Syntax

DoCmd.SelectObject Objekttyp[, Objektname][, Im Datenbankfenster]

Die Methode SelectObject verwendet die folgenden Argumente:

Argument	Beschreibung
Objekttyp	Eine der folgenden eingebauten Konstanten:
	acForm acMacro acModule acQuery acReport acTable
	Anmerkung   Die Konstante acDefault, die in der Liste Elemente automatisch auflisten für dieses Argument angezeigt wird, ist für dieses Argument ungültig. Wählen Sie eine der oben aufgeführten Konstanten aus.
objectname	Ein Zeichenfolgenausdruck, der den gültigen Namen eines Objekts vom Typ Objekttyp angibt. Dieses Argument ist nur dann nicht erforderlich, wenn Sie für das Argument Im Datenbankfenster True (–1) angeben. Wenn Sie für das Argument Im Datenbankfenster True angeben und das Argument Objektname weglassen, wählt Microsoft Access im Datenbankfenster die Registerkarte aus, die dem im Argument Objekttyp angegebenen Datenbankobjekt entspricht.
indatabasewindow	Verwenden Sie True, um das Objekt im Datenbankfenster zu markieren. Verwenden Sie False, um ein bereits geöffnetes Objekt zu markieren. Wenn Sie dieses Argument nicht angeben, wird der Standardwert (False) verwendet.
Hinweis

Wenn Sie das Argument Im Datenbankfenster weglassen, geben Sie nach dem Argument Objektname kein Komma ein.

Wenn Sie das Argument Im Datenbankfenster auf True einstellen und das Argument Objektname weglassen, geben Sie das zum Argument Objektname gehörende Komma an. Wenn Sie Argumente am Anweisungsende weglassen, entfällt auch das Komma nach dem letzten angegebenen Argument.


SelectObject-Methode - Beispiel

Dieses Beispiel markiert das Formular Kunden im Datenbankfenster.

DoCmd.SelectObject acForm, "Kunden", True


SendObject-Methode

Die Methode SendObject führt die Aktion SendenObjekt in Visual Basic aus. Weitere Informationen zu dieser Aktion und ihren Argumenten finden Sie unter dem Thema zur jeweiligen Aktion.

Syntax

DoCmd.SendObject [Objekttyp][, Objektname][, Ausgabeformat][, An][, cc][, Bcc][, Betreff][, Nachricht][, Nachricht bearbeiten][, Vorlagedatei]

Die Methode SendObject verwendet die folgenden Argumente:

Argument	Beschreibung
Objekttyp	Eine der folgenden eingebauten Konstanten:
	acSendForm acSendModule acSendNoObject (Standardwert) acSendQuery acSendReport acSendTable
Objektname	Ein Zeichenfolgenausdruck, der den gültigen Namen eines Objekts vom Typ Objekttyp angibt. Wenn Sie das aktive Objekt in die E-Mail-Nachricht aufnehmen möchten, geben Sie das Argument Objekttyp an, und lassen Sie dieses Argument weg. Wenn Sie weder Objekttyp noch Objektname angeben, wird die Standardkonstante (acSendNoObject) für das Argument Objekttyp verwendet, und Microsoft Access sendet eine Meldung ohne Datenbankobjekt an die E-Mail-Anwendung.
	Wenn Sie Visual Basic-Code, der die Methode SendObject enthält, in einer Bibliotheksdatenbank ausführen, sucht Microsoft Access nach dem Objekt mit diesem Namen zuerst in der Bibliotheksdatenbank und dann in der aktuellen Datenbank.
Ausgabeformat	Eine der folgenden eingebauten Konstanten:
	acFormatHTML  acFormatRTF acFormatTXT acFormatXLS
	Wenn Sie dieses Argument weglassen, fordert Microsoft Access Sie auf, eine Ausgabedatei anzugeben.
An	Ein Zeichenfolgenausdruck, der die Empfänger auflistet, deren Namen in die Zeile An der E-Mail-Nachricht aufgenommen werden sollen.
	Wenn Sie mehrere Empfänger in den Argumenten An, Cc und Bcc eingeben, trennen Sie diese mit einem Semikolon (;) oder dem Listentrennzeichen, das in der Windows-Systemsteuerung im Dialogfeld Eigenschaften von Ländereinstellungen in der Registerkarte Zahlen festgelegt wurde. Wenn die E-Mail-Anwendung die Empfängernamen nicht zuordnen kann, wird die Nachricht nicht gesendet.
	Wenn Sie dieses Argument weglassen, fordert Microsoft Access Sie auf, die Empfänger anzugeben.
cc	Ein Zeichenfolgenausdruck, der die Empfänger auflistet, deren Namen in die Zeile Cc der E-Mail-Nachricht aufgenommen werden sollen. Wenn Sie dieses Argument nicht angeben, ist die Zeile Cc der E-Mail-Nachricht leer.
Bcc	Ein Zeichenfolgenausdruck, der die Empfänger auflistet, deren Namen in die Zeile Bcc der E-Mail-Nachricht aufgenommen werden sollen. Wenn Sie dieses Argument nicht angeben, ist die Zeile Bcc der E-Mail-Nachricht leer.
Betreff	Ein Zeichenfolgenausdruck mit dem Text, der in die Zeile Betreff der E-Mail-Nachricht aufgenommen werden soll. Wenn Sie dieses Argument nicht angeben, ist die Zeile Betreff der E-Mail-Nachricht leer.
Nachricht	Ein Zeichenfolgenausdruck mit dem Text, der hinter dem Objekt zusätzlich in die Nachricht aufgenommen werden soll. Wenn Sie dieses Argument nicht angeben, ist nur das Objekt in der Nachricht enthalten.
Nachricht bearbeiten	Verwenden Sie True (-1), wenn die E-Mail-Anwendung sofort zusammen mit der geladenen Nachricht geöffnet werden soll, so daß die Nachricht noch bearbeitet werden kann. Verwenden Sie False (0), um die Nachricht ohne vorherige Bearbeitung zu senden. Wenn Sie dieses Argument nicht angeben, wird der Standardwert (True) verwendet.
Vorlagedatei	Ein Zeichenfolgenausdruck, der den vollständigen Namen und Pfad der Datei angibt, die Sie als Vorlage für eine HTML-Datei verwenden möchten.
Hinweis

Module können nur im MS-DOS-Textformat ausgegeben werden. Wenn Sie also für das Argument Objekttyp acSendModule angeben, geben Sie für das Argument Ausgabeformat acFormatTXT an.

Sie können optionale Argumente in der Syntax weglassen, müssen jedoch in jedem Fall das zum Argument gehörende Komma angeben. Wenn Sie Argumente am Anweisungsende weglassen, entfällt auch das Komma nach dem letzten angegebenen Argument.


SendObject-Methode - Beispiel

Dieses Beispiel nimmt die Tabelle Personal im Microsoft Excel-Format in eine E-Mail-Nachricht auf und gibt die Zeilen An, Cc und Betreff der Nachricht an. Die Nachricht wird sofort ohne vorherige Bearbeitung gesendet.

DoCmd.SendObject acSendTable, "Personal", _

acFormatXLS, "Nancy Davolio; Andreas Fuhlmann", _

"Johannes Weber", , _

"Aktuelle Personaltabelle", , False


SetMenuItem-Methode

Die Methode SetMenuItem führt die Aktion SetzenMenüelement in Visual Basic aus. Weitere Informationen zu dieser Aktion und ihren Argumenten finden Sie unter dem Thema zur jeweiligen Aktion.

Anmerkung   Die Methode SetMenuItem betrifft nur benutzerdefinierte Menüleisten und globale Menüleisten, die mit Menüleistenmakros erstellt wurden. Die Methode SetMenuItem ist in dieser Microsoft Access-Version nur wegen der Kompatibilität mit früheren Versionen vorhanden. Sie funktioniert nicht mit der neuen Befehlsleisten-Funktionalität.

Syntax

DoCmd.SetMenuItem Menüindex[, Befehlsindex][, Unterbefehlsindex][, Kennzeichen]

Die Methode SetMenuItem verwendet die folgenden Argumente:

Argument	Beschreibung
Menüindex	Eine ganze Zahl, die den gültigen Index eines Menüs in der benutzerdefinierten oder globalen Menüleiste des aktiven Fensters angibt, wobei das erste Menü den Index 0 hat. Die Menüleiste ist im Menüleistenmakro für die benutzerdefinierte bzw. globale Menüleiste definiert.
	Wenn Sie ein Menü mit diesem Argument auswählen und die Argumente Befehlsindex und Unterbefehlsindex nicht angeben (oder auf -1 setzen), können Sie den Menünamen aktivieren oder deaktivieren. Sie können einen Menünamen jedoch nicht mit einem Häkchen kennzeichnen, da Microsoft Access für Menünamen die Einstellungen acMenuCheck und acMenuUncheck des Arguments Kennzeichen ignoriert.
Befehlsindex	Eine ganze Zahl, die den gültigen Index eines Befehls in dem Menü angibt, das im Argument Menüindex angegeben ist, wobei der erste Befehl den Index 0 hat. Der Index verweist auf den Eintrag der Makrogruppe, in der das ausgewählte Menü für die benutzerdefinierte oder globale Menüleiste des aktiven Fensters definiert wird.
Unterbefehlsindex	Eine ganze Zahl, beginnend bei 0, die den gültigen Index eines Unterbefehls in dem Untermenü angibt, das mit dem Argument Befehlsindex ausgewählt wurde, wobei der erste Unterbefehl den Index 0 hat. Der Index verweist auf den Eintrag der Makrogruppe, in der das ausgewählte Untermenü für die benutzerdefinierte oder globale Menüleiste des aktiven Fensters definiert ist.
Kennzeichen	Eine der folgenden eingebauten Konstanten:
	acMenuCheck acMenuGray acMenuUncheck acMenuUngray (Standardwert)
	Wenn Sie dieses Argument nicht angeben, wird der Standardwert (acMenuUngray) verwendet.
Hinweis

Sie können optionale Argumente in der Syntax weglassen, müssen jedoch in jedem Fall das zum Argument gehörende Komma angeben. Wenn Sie Argumente am Anweisungsende weglassen, entfällt auch das Komma nach dem letzten angegebenen Argument.


SetMenuItem-Methode - Beispiel

Dieses Beispiel verwendet die Methode SetMenuItem, um den zweiten Befehl im ersten Menü der benutzerdefinierten Menüleiste für das aktive Fenster zu deaktivieren.

DoCmd.SetMenuItem 0, 1, , acMenuGray


SetWarnings-Methode

Die Methode SetWarnings führt die Aktion Warnmeldungen in Visual Basic aus. Weitere Informationen zu dieser Aktion und ihren Argumenten finden Sie unter dem Thema zur jeweiligen Aktion.

Syntax

DoCmd.SetWarnings Warnmeldungen an

Die Methode SetWarnings verwendet das folgende Argument:

Argument	Beschreibung
Warnmeldungen an	Verwenden Sie True (-1), um die Anzeige von Systemmeldungen einzuschalten, und False (0), um sie auszuschalten.
Hinweis

Wenn Sie die Anzeige von Systemmeldungen in Visual Basic ausschalten, müssen Sie sie wieder einschalten. Andernfalls bleibt sie ausgeschaltet, selbst wenn der Benutzer STRG+UNTBR drückt oder Visual Basic auf einen Haltepunkt stößt. Sie können ein Makro erstellen, das die Anzeige von Systemmeldungen einschaltet, und das Makro dann einer Tastenkombination oder einem benutzerdefinierten Menübefehl zuweisen. Sie können dann die Anzeige von Systemmeldungen mit dieser Tastenkombination oder dem Menübefehl wieder einschalten, wenn sie in Visual Basic ausgeschaltet wurde.


SetWarnings-Methode - Beispiel

Dieses Beispiel schaltet die Anzeige von Systemmeldungen aus.

DoCmd.SetWarnings False


ShowAllRecords-Methode

Die Methode ShowAllRecords führt die Aktion AnzeigenAlleDatensätze in Visual Basic aus. Weitere Informationen zu dieser Aktion und ihren Argumenten finden Sie unter dem Thema zur jeweiligen Aktion.

Syntax

DoCmd.ShowAllRecords

Diese Methode verwendet keine Argumente.


ShowToolbar-Methode

Die Methode ShowToolbar führt die Aktion EinblendenSymbolleiste in Visual Basic aus. Weitere Informationen zu dieser Aktion und ihren Argumenten finden Sie unter dem Thema zur jeweiligen Aktion.

Anmerkung   Die Methode ShowToolbar betrifft nur Symbolleisten, keine Menüleisten oder Kontextmenüs.

Syntax

DoCmd.ShowToolbar Symbolleistenname[, Einblenden]

Die Methode ShowToolbar verwendet die folgenden Argumente:

Argument	Beschreibung
Symbolleistenname	Ein Zeichenfolgenausdruck, der den gültigen Namen einer in Microsoft Access eingebauten Symbolleiste oder einer bereits erstellten benutzerdefinierten Symbolisierte angibt.
	Wenn Sie Visual Basic-Code, der die Methode ShowToolbar enthält, in einer Bibliotheksdatenbank ausführen, sucht Microsoft Access nach der Symbolleiste mit diesem Namen zuerst in der Bibliotheksdatenbank und dann in der aktuellen Datenbank.
Einblenden	Eine der folgenden eingebauten Konstanten:
	acToolbarNo acToolbarWhereApprop acToolbarYes (Standardwert)
	Wenn Sie dieses Argument nicht angeben, wird der Standardwert (acToolbarYes) verwendet.
Hinweis

Wenn Sie das Argument Einblenden weglassen, geben Sie nach dem Argument Symbolleistenname kein Komma ein.


ShowToolbar-Methode - Beispiel

Dieses Beispiel zeigt die benutzerdefinierte Symbolleiste Symbolleiste 1 in allen Microsoft Access-Fenstern an, die aktiviert werden.

DoCmd.ShowToolbar "Symbolleiste 1", acToolbarYes


TransferDatabase-Methode

Die Methode TransferDatabase führt die Aktion TransferDatenbank in Visual Basic aus. Weitere Informationen zu dieser Aktion und ihren Argumenten finden Sie unter dem Thema zur jeweiligen Aktion.

Syntax

DoCmd.TransferDatabase [Transfertyp], Datenbankformat, Datenbankname[, Objekttyp], Herkunft, Ziel[, Nur Struktur][, Anmeldename speichern]

Die Methode TransferDatabase verwendet die folgenden Argumente:

Argument	Beschreibung
Transfertyp	Eine der folgenden eingebauten Konstanten:
	acExport acImport (Standardwert) acLink
	Wenn Sie dieses Argument nicht angeben, wird der Standardwert (acImport) verwendet.
Datenbankformat	Ein Zeichenfolgenausdruck, der den Namen eines Datenbankformats angibt, das zum Importieren, Exportieren oder Einbinden (Verknüpfen) von Daten verwendet werden kann.
	Die Datenbankformate werden im Makrofenster in der Liste des Aktionsarguments Datenbankformat der Aktion TransferDatenbank angezeigt.
Datenbankname	Ein Zeichenfolgenausdruck, der den vollständigen Namen und Pfad der Datenbank angibt, die zum Importieren, Exportieren oder Einbinden (Verknüpfen) von Daten verwendet werden soll.
Objekttyp	Eine der folgenden eingebauten Konstanten:
	acForm acMacro acModule acQuery acReport acTable (Standardwert)
	Dieses Argument gibt den Typ des Objekts an, dessen Daten importiert, exportiert oder eingebunden (verknüpft) werden sollen. Sie können für dieses Argument nur dann einen anderen Wert als acTable angeben, wenn Sie Daten zwischen zwei Microsoft Access-Datenbanken im- oder exportieren. Wenn Sie das Ergebnis einer Auswahlabfrage in Microsoft Access in ein anderes Datenbankformat exportieren, geben Sie acTable an.
	Wenn Sie dieses Argument nicht angeben, wird der Standardwert (acTable) verwendet.
	Anmerkung   Die Konstante acDefault, die in der Liste Elemente automatisch auflisten für dieses Argument angezeigt wird, ist für dieses Argument ungültig. Wählen Sie eine der oben aufgeführten Konstanten aus.
Herkunft	Ein Zeichenfolgenausdruck, der den Namen des Objekts angibt, dessen Daten importiert, exportiert oder eingebunden werden sollen.
Ziel	Ein Zeichenfolgenausdruck, der den Namen des importierten, exportierten oder eingebundenen (verknüpften) Objekts in der Zieldatenbank angibt.
Nur Struktur	Verwenden Sie True (-1), um nur die Struktur einer Datenbanktabelle zu importieren oder zu exportieren. Verwenden Sie False (0), um die Struktur der Tabelle sowie deren Daten zu importieren oder zu exportieren.
	Wenn Sie dieses Argument nicht angeben, wird der Standardwert (False) verwendet.
Anmeldename speichern	Verwenden Sie True, um in der Verbindungszeichenfolge einer eingebundenen Tabelle den Anmeldenamen (ID) und das Kennwort für eine ODBC-Datenbank zu speichern, zu der die Tabelle gehört. Sie brauchen sich dann nicht jedesmal anzumelden, wenn Sie die Tabelle öffnen. Verwenden Sie False, wenn Sie den Anmeldenamen und das Kennwort nicht speichern möchten.
	Wenn Sie dieses Argument nicht angeben, wird der Standardwert (False) verwendet.
	Dieses Argument ist nur in Visual Basic verfügbar.
Hinweis

Sie können optionale Argumente in der Syntax weglassen, müssen jedoch in jedem Fall das zum Argument gehörende Komma angeben. Wenn Sie Argumente am Anweisungsende weglassen, entfällt auch das Komma nach dem letzten angegebenen Argument.

Der Administrator einer ODBC-Datenbank kann die Funktion des Arguments Anmeldename speichern deaktivieren, so daß alle Benutzer beim Herstellen einer Verbindung zu einer ODBC-Datenbank ihren Anmeldenamen und ihr Kennwort jedesmal neu eingeben.

Anmerkung   Obwohl Sie mit der Methode TransferDatabase in Visual Basic Tabellen verknüpfen können, ist es empfehlenswert, statt dessen Datenzugriffsobjekte (DAO) zu verwenden. Um eine Verknüpfung mit Hilfe von DAO zu erstellen, verwenden Sie die Eigenschaft Connect für das Objekt TableDef.


TransferDatabase-Methode - Beispiel

Dieses Beispiel importiert den Bericht NW-Umsätze für April aus der Microsoft Access-Datenbank NWVERKÄUFE.MDB in den Bericht Gesamtumsätze für April in die aktuelle Datenbank.

DoCmd.TransferDatabase acImport, "Microsoft Access", _

"C:\DBS\NWVERKÄUFE.MDB", acReport, _

"NW-Umsätze für April", _

"Gesamtumsätze für April"

Dieses Beispiel bindet die Tabelle Authors einer ODBC-Datenbank in die aktuelle Datenbank ein.

DoCmd.TransferDatabase acLink, "ODBC-Datenbank", _

"ODBC;DSN=Datenquelle1;UID=Benutzer2;" & _

"PWD=www;LANGUAGE=us_english;" & _

"DATABASE=Pubs", acTable, "Authors", _

"ODBCVerfasser"


TransferSpreadsheet-Methode

Die Methode TransferSpreadsheet führt die Aktion TransferArbeitsblatt in Visual Basic aus. Weitere Informationen zu dieser Aktion und ihren Argumenten finden Sie unter dem Thema zur jeweiligen Aktion.

Syntax

DoCmd.TransferSpreadsheet [Transfertyp][, Dateiformat], Tabellenname, Dateiname[, Besitzt Feldnamen][, Bereich]

Die Methode TransferSpreadsheet verwendet die folgenden Argumente:

Argument	Beschreibung
Transfertyp	Eine der folgenden eingebauten Konstanten:
	acImport (Standardwert) acExport acLink
	Wenn Sie dieses Argument nicht angeben, wird der Standardwert (acImport) verwendet.
Dateiformat	Eine der folgenden eingebauten Konstanten oder deren numerische Entsprechung:
	0  acSpreadsheetTypeExcel3 (Standardwert) 6  acSpreadsheetTypeExcel4 5  acSpreadsheetTypeExcel5 5  acSpreadsheetTypeExcel7 8  acSpreadsheetTypeExcel97 2  acSpreadsheetTypeLotusWK1 3  acSpreadsheetTypeLotusWK3 7  acSpreadsheetTypeLotusWK4 4  acSpreadsheetTypeLotusWJ2 - Nur japanische Version
	Anmerkung   Sie können zu Daten in Lotus 1-2-3-Tabellen verknüpfen, jedoch sind diese Daten in Microsoft Access schreibgeschützt. Sie können Daten aus Lotus .WK4-Dateien importieren und verknüpfen (schreibgeschützt), aber keine Microsoft Access-Daten in dieses Format exportieren. Darüber hinaus unterstützt Microsoft Access nicht mehr das Importieren, Exportieren und Einbinden (Verknüpfen) von Daten aus Tabellen von Lotus (.WKS) und Microsoft Excel, Version 2.0.
	Wenn Sie dieses Argument nicht angeben, wird der Standardwert (acSpreadsheetTypeExcel3) verwendet.
Tabellenname	Ein Zeichenfolgenausdruck, der den Namen einer Microsoft Access-Tabelle zum Importieren, Exportieren oder Einbinden (Verknüpfen) von Kalkulationsdaten angibt, oder die Microsoft Access-Auswahlabfrage, deren Ergebnisse in eine Kalkulationstabelle exportiert werden sollen.
Dateiname	Ein Zeichenfolgenausdruck, der den Dateinamen und Pfad der Kalkulationstabelle angibt, die zum Importieren, Exportieren oder Einbinden (Verknüpfen) von Daten verwendet werden soll.
Besitzt Feldnamen	Verwenden Sie True (-1), um die erste Zeile der Kalkulationstabelle beim Importieren, Exportieren oder Einbinden (Verknüpfen) als Feldnamen zu verwenden. Verwenden Sie False (0), wenn die erste Zeile als normale Datenzeile gelten soll. Wenn Sie dieses Argument nicht angeben, wird der Standardwert (False) verwendet.
	Wenn Sie Daten aus einer Microsoft Access-Tabelle oder Microsoft Access-Auswahlabfrage in eine Kalkulationstabelle exportieren, werden die Feldnamen in der ersten Zeile der Kalkulationstabelle eingefügt, unabhängig vom Wert dieses Arguments.
Bereich	Ein Zeichenfolgenausdruck, der einen gültigen Zellenbereich oder den Namen eines Bereichs in der Kalkulationstabelle angibt. Dieses Argument betrifft nur das Importieren. Geben Sie dieses Argument nicht an, wenn Sie die gesamte Kalkulationstabelle importieren möchten.
	Wenn Sie in eine Kalkulationstabelle exportieren, lassen Sie dieses Argument weg. Wenn Sie einen Bereich eingeben, wird das Exportieren fehlschlagen.
Hinweis

Sie können optionale Argumente in der Syntax weglassen, müssen jedoch in jedem Fall das zum Argument gehörende Komma angeben. Wenn Sie Argumente am Anweisungsende weglassen, entfällt auch das Komma nach dem letzten angegebenen Argument.

Anmerkung   Obwohl Sie mit der Methode TransferSpreadsheet in Visual Basic Verknüpfungen mit Kalkulationstabellendaten herstellen können, ist es empfehlenswert, statt dessen Datenzugriffsobjekte (DAO) zu verwenden. Um eine Verknüpfung mit Hilfe von DAO zu erstellen, verwenden Sie die Eigenschaft Connect für das Objekt TableDef.


TransferSpreadsheet-Methode - Beispiel

Dieses Beispiel importiert die Daten aus dem angegebenen Bereich der Lotus-Kalkulationstabelle PERSNEU.WK3 in die Microsoft Access-Tabelle Personal. Dabei wird die erste Zeile der Kalkulationstabelle für die Feldnamen verwendet.

DoCmd.TransferSpreadsheet acImport, 3, _

"Personal","C:\LOTUS\PERSNEU.WK3", True, "A1:G12"


TransferText-Methode

Die Methode TransferText führt die Aktion TransferText in Visual Basic aus. Weitere Informationen zu dieser Aktion und ihren Argumenten finden Sie unter dem Thema zur jeweiligen Aktion.

Syntax

DoCmd.TransferText [Transfertyp][, Spezifikationsname], Tabellenname, Dateiname[, Besitzt Feldnamen][, HTML-Tabellenname]

Die Methode TransferText verwendet die folgenden Argumente:

Argument	Beschreibung
Transfertyp	Eine der folgenden eingebauten Konstanten:
	acExportDelim acExportFixed acExportHTML acExportMerge acImportDelim (Standardwert) acImportFixed acImportHTML acLinkDelim acLinkFixed acLinkHTML
	Wenn Sie dieses Argument nicht angeben, wird der Standardwert (acImportDelim) verwendet.
	Anmerkung   Sie können Verknüpfungen zu Daten in einer Textdatei oder HTML-Datei herstellen, jedoch sind diese Daten in Microsoft Access schreibgeschützt.
Spezifikationsname	Ein Zeichenfolgenausdruck, der den Namen einer Import- oder Exportspezifikation angibt, die Sie in der aktuellen Datenbank erstellt und gespeichert haben.
	Dieses Argument ist für Textdateien mit festgelegtem Format erforderlich. Für Textdateien mit Trennzeichen und Serienbriefdateien von Microsoft Word können Sie dieses Argument weglassen, wenn Sie die Standardspezifikationen für den Import/Export verwenden möchten. Dieses Argument betrifft keine HTML-Dateien.
Tabellenname	Ein Zeichenfolgenausdruck, der den Namen einer Microsoft Access-Tabelle zum Importieren, Exportieren oder Einbinden (Verknüpfen) von Textdaten angibt, oder die Microsoft Access-Auswahlabfrage, deren Ergebnisse in eine Textdatei exportiert werden sollen.
Dateiname	Ein Zeichenfolgenausdruck, der den vollständigen Namen und den Pfad der Textdatei angibt, die zum Importieren, Exportieren oder Einbinden (Verknüpfen) von Daten verwendet werden soll.
Besitzt Feldnamen	Verwenden Sie True (-1), um die erste Zeile der Kalkulationstabelle beim Importieren, Exportieren oder Einbinden (Verknüpfen) als Feldnamen zu verwenden. Verwenden Sie False (0), wenn die erste Zeile als normale Datenzeile gelten soll. Wenn Sie dieses Argument nicht angeben, wird der Standardwert (False) verwendet.
	Dieses Argument wird bei Word für Windows-Serienbriefdateien ignoriert, da diese in der ersten Zeile immer Feldnamen enthalten müssen.
HTML-Tabellenname	Ein Zeichenfolgenausdruck, der den Namen der Tabelle oder Liste in der HTML-Datei angibt, die Sie importieren oder einbinden (verknüpfen) möchten. Dieses Argument wird nur dann beachtet, wenn das Argument Transfertyp auf acImportHTML oder acLinkHTML eingestellt ist. Wenn Sie dieses Argument weglassen, wird die erste Tabelle oder Liste in der HTML-Datei importiert oder verknüpft.
	Der Tabellen- oder Listenname in der HTML-Datei wird durch den in der Marke <CAPTION> angegebenen Text bestimmt, falls dieser vorhanden ist. Andernfalls wird der Name durch den Text bestimmt, der in der Marke <TITLE> angegeben ist. Wenn mehrere Tabellen oder Listen denselben Namen besitzen, unterscheidet sie Microsoft Access durch Anhängen einer Zahl an den Tabellen- oder Listennamen, wie z.B. Personal1 und Personal2.
Hinweis

Sie können optionale Argumente in der Syntax weglassen, müssen jedoch in jedem Fall das zum Argument gehörende Komma angeben. Wenn Sie Argumente am Anweisungsende weglassen, entfällt auch das Komma nach dem letzten angegebenen Argument.

Anmerkung   Obwohl Sie mit der Methode TransferText in Visual Basic Verknüpfungen mit Textdaten herstellen können, ist es empfehlenswert, statt dessen Datenzugriffsobjekte (DAO) zu verwenden. Um eine Verknüpfung mit Hilfe von DAO zu erstellen, verwenden Sie die Eigenschaft Connect für das Objekt TableDef.


TransferText-Methode - Beispiel

Dieses Beispiel exportiert die Daten aus der Microsoft Access-Tabelle Externer Bericht in die Textdatei mit Trennzeichen APRIL.DOC unter Verwendung der Spezifikation Standardausgabe.

DoCmd.TransferText acExportDelim, "Standardausgabe", _

"Externer Bericht", "C:\TXTDATEIEN\APRIL.DOC"


Echo-Methode (Application-Objekt)

Die Methode Echo gibt an, ob Microsoft Access die Bildschirmanzeige des Computers aktualisieren soll.

Syntax

Application.Echo EchoEin[, Statusleistentext]

Die Methode Echo hat folgende Argumente.

Argument	Beschreibung
EchoEin	True (Standardeinstellung) gibt an, daß die Bildschirmanzeige aktualisiert werden soll; False gibt an, daß sie nicht aktualisiert werden soll.
Statusleistentext	Ein Zeichenfolgenausdruck mit dem Text, der in der Statusleiste angezeigt werden soll, wenn die Bildschirmaktualisierung ein- oder ausgeschaltet wird.
Hinweis

Wenn Sie Visual Basic-Code ausführen, der die auf dem Bildschirm angezeigten Objekte stark ändert, wird der Code in der Regel schneller ausgeführt, wenn Sie die Bildschirmaktualisierung ausschalten, bis die Prozedur beendet ist. Sie können die Aktualisierung auch ausschalten, wenn der Code Änderungen durchführt, die der Benutzer nicht sehen soll oder nicht sehen muß.

Die Methode Echo verhindert nicht die Anzeige von gebundenen Dialogfeldern, wie z.B. Fehlermeldungen, oder Popup-Formularen, wie z.B. Eigenschaftenfenstern.

Schalten Sie die Bildschirmaktualisierung aus, so zeigt der Bildschirm keinerlei Veränderungen an, auch dann nicht, wenn der Benutzer STRG+UNTBR drückt oder Visual Basic auf einen Haltepunkt trifft, und zwar solange, bis Sie die Bildschirmaktualisierung wieder einschalten. Es empfiehlt sich, ein Makro zu schreiben, das die Bildschirmaktualisierung einschaltet, und das Makro einer Taste oder einem benutzerdefinierten Menübefehl zuzuweisen. Sie können dann mit der Tastenkombination oder dem Menübefehl die Aktualisierung einschalten, wenn sie in Visual Basic ausgeschaltet wurde.

Wenn Sie die Bildschirmaktualisierung ausschalten und versuchen, den Code im Einzelschrittmodus auszuführen, können Sie die Code-Verarbeitung nicht verfolgen und erhalten auch keine anderen optischen Hinweise, bis die Aktualisierung wieder eingeschaltet wird. Der Code wird dennoch weiterhin ausgeführt.

Anmerkung   Verwechseln Sie die Methode Echo nicht mit der Methode Repaint. Die Methode Echo schaltet die Bildschirmaktualisierung ein oder aus. Die Methode Repaint führt dagegen eine sofortige Bildschirmaktualisierung durch.


Echo-Methode (Application-Objekt) - Beispiel

Das folgende Beispiel verwendet die Methode Echo, um die Aktualisierung der Bildschirmanzeige zu verhindern, solange bestimmte Vorgänge durchgeführt werden. Während die Prozedur ein Formular öffnet und es minimiert, sieht der Benutzer lediglich das Sanduhr-Symbol, das auf die laufende Verarbeitung hinweist; der Bildschirm wird dagegen nicht aktualisiert. Nach Beendigung des Vorgangs ändert sich die Sanduhr wieder in einen Zeiger, und die Bildschirmaktualisierung wird erneut eingeschaltet.

Sub EchoAus()

Application.Echo False

DoCmd.Hourglass True

DoCmd.OpenForm "Personal", acNormal

DoCmd.Minimize

Application.

Echo True

DoCmd.Hourglass False

End Sub


GetOption-, SetOption-Methoden

•	Die Methode GetOption gibt den aktuellen Wert einer Option des Dialogfelds Optionen zurück, das durch Klicken auf Optionen im Menü Extras verfügbar ist.

•	Die Methode SetOption legt den aktuellen Wert einer Option des Dialogfelds Optionen fest.

Syntax

Objekt.GetOption(Optionsname)

Objekt.SetOption Optionsname, Einstellung

Die Methoden GetOption und SetOption haben folgende Argumente.

Argument	Beschreibung
Objekt	Optional: Das Application-Objekt.
Optionsname	Der Name der Option. Eine Liste der Argument-Zeichenfolgen für Optionsname finden Sie unter Einstellen von Optionen aus Visual Basic.
Einstellung	Ein Wert vom Datentyp Variant, der der Optionseinstellung entspricht. Der Wert des Arguments Einstellung hängt von den möglichen Einstellungen für eine Option ab.
Hinweis

Mit den Methoden GetOption und SetOption können Sie Umgebungsoptionen aus Visual Basic-Code heraus ändern. Mit den beiden Methoden können Sie jede im Dialogfeld Optionen verfügbare Option einstellen oder lesen, mit Ausnahme der Optionen der Registerkarte Modul.

Die verfügbaren Optionseinstellungen hängen vom Typ der einzustellenden Option ab. Grundsätzlich gibt es drei Typen von Optionen:

•	Ja/Nein-Optionen. Sie werden durch Aktivieren oder Deaktivieren von Kontrollkästchen eingestellt.

•	Optionen. Sie werden durch Eingabe einer Zeichenfolge oder einer Zahl eingestellt.

•	Vordefinierte Optionen. Diese können aus einem Listenfeld, Kombinationsfeld oder einer Optionsgruppe ausgewählt werden.

Für Optionen, die der Benutzer durch Aktivieren oder Deaktivieren eines Kontrollkästchens einstellt, gibt die Methode GetOption den Wert True (-1), falls die Option auf Ja (Kontrollkästchen ist aktiviert) eingestellt ist, oder den Wert False zurück, falls die Option auf Nein (Kontrollkästchen ist deaktiviert) eingestellt ist. Um eine derartige Option mit der Methode SetOption einzustellen, geben Sie für das Argument Einstellung den Wert True oder False wie im folgenden Beispiel an:

Application.SetOption "Show Status Bar", True

Für Optionen, die der Benutzer durch Eingabe einer Zeichenfolge oder einer Zahl einstellt, gibt die Methode GetOption die Einstellung so zurück, wie sie im Dialogfeld angezeigt wird. Das folgende Beispiel gibt eine Zeichenfolge mit der Einstellung für den linken Rand zurück:

Dim varEinstellung As Variant

varEinstellung = Application.GetOption("Linker Rand")

Wenn Sie diesen Optionstyp mit der Methode SetOption einstellen möchten, geben Sie die Zeichenfolge oder Zahl an, die sonst im Dialogfeld eingegeben würde. Das folgende Beispiel stellt die Standardformularvorlage auf Bestellvorlage ein:

Application.SetOption "Formularvorlage", "Bestellvorlage"

Für Optionen, deren Einstellungen in Listenfeldern oder Kombinationsfeldern aufgeführt werden, gibt die Methode GetOption eine Zahl zurück, die der Position der betreffenden Einstellung in der Liste entspricht. Die Numerierung beginnt bei 0, so daß die Methode GetOption für den ersten Eintrag 0, für den zweiten Eintrag 1, usw. zurückgibt. Ist z.B. die Option Standardfeldtyp in der Registerkarte Tabellen/Abfragen auf AutoWert (das sechste Element in der Liste) eingestellt, so gibt die Methode GetOption den Wert 5 zurück.

Um diesen Optionstyp einzustellen, geben Sie die Position der Option innerhalb der Liste als Argument Einstellung der Methode SetOption an. Das folgende Beispiel stellt die Option Standardfeldtyp auf AutoWert ein:

Application.SetOption "Standardfeldtyp", 5

Andere Optionen werden eingestellt, indem Sie im Dialogfeld Optionen in einer Optionsgruppe auf eine Optionsschaltfläche klicken. In Visual Basic werden diese Optionen auch durch Angabe der Position der betreffenden Option innerhalb der Optionsgruppe eingestellt. Die erste Option der Gruppe hat die Nummer 0, die zweite die Nummer 1, usw. Ist z.B. die Option Markierungsverhalten in der Registerkarte Formulare/Berichte auf Teilweise eingerahmt eingestellt, gibt die Methode GetOption wie im folgenden Beispiel den Wert 0 zurück:

Debug.Print Application.GetOption("Objektmarkierung")

Anmerkung   Für die Option Markierungsverhalten in der Registerkarte Formulare/Berichte muß in Visual Basic-Code die Zeichenfolge Objektmarkierung verwendet werden.

Damit Sie eine Option einstellen können, die ein Element einer Optionsgruppe ist, geben Sie die Indexnummer der Option innerhalb der Gruppe an. Das folgende Beispiel stellt Markierungsverhalten auf Voll eingerahmt ein.

Application.SetOption "Objektmarkierung", 1

Anmerkungen

•	Wenn Sie mit den Methoden GetOption oder SetOption eine Option im Dialogfeld Optionen einstellen, brauchen Sie die Registerkarte, auf der sich die Option befindet, nicht anzugeben.

•	Sie können mit den Methoden GetOption oder SetOption keine Option lesen oder einstellen, die sich auf der Registerkarte Modul des Dialogfelds Optionen befindet.

•	Wird der Rückgabewert der Methode GetOption einer Variablen zugewiesen, so muß diese als Variable vom Datentyp Variant deklariert werden.

•	Wenn Ihre Datenbank mit einer anderen Version von Microsoft Access in einer anderen Sprache als derjenigen, in welcher Sie sie erstellt haben, ausgeführt werden soll, müssen Sie die Argumente für die Methoden GetOption und SetOption in Englisch mit ausliefern.

Beim Beenden von Microsoft Access können Sie alle Optionen auf die Originaleinstellungen zurücksetzen, indem Sie die Methode SetOption auf alle geänderten Optionen anwenden. Sie können auch öffentliche Variablen erstellen, um die Werte der Originaleinstellungen zu speichern. Sie können Code zum Zurücksetzen der Optionen auch in der Close-Ereignisprozedur für ein Formular oder in einer benutzerdefinierten Exit-Prozedur einfügen, die der Benutzer vor dem Beenden der Anwendung ausführen muß.


GetOption-, SetOption-Methoden - Beispiel

Das folgende Beispiel verwendet die Methode GetOption zur Rückgabe der Einstellung der Option Standardfeldtyp aus der Registerkarte Tabellen/Abfragen des Dialogfelds Optionen und speichert anschließend die Einstellung in einer Variablen. Ist die Option Standardfeldtyp momentan nicht auf Text eingestellt, fragt Microsoft Access den Benutzer in einem Dialogfeld, ob die Option auf Text eingestellt werden soll. Klickt der Benutzer auf Ja, ändert die Methode SetOption die Option.

Sub FeldgrößeÄndern()

' Die Konstante entspricht der Text-Einstellung für die Option

' Standardfeldtyp.

Const conText = 0

Dim varSize As Variant, intResponse As Integer

Dim strMsg As String

' Aktuelle Einstellung ermitteln.

varSize = Application.GetOption("Standardfeldtyp")

strMsg = "Standardfeldtyp auf Text einstellen?"

If varSize <> conText Then

' Benutzer zum Ändern der Einstellung auffordern, wenn kein Text.

If MsgBox(strMsg, vbYesNo) = vbYes Then

' Einstellung auf Text ändern.

Application.SetOption "Standardfeldtyp", conText

End If

End If

End Sub


GoToPage-Methode (Formular-Objekt)

Die Methode GoToPage setzt den Fokus auf das erste Steuerelement auf der angegebenen Seite des aktiven Formulars.

Syntax

Formularname.GoToPage Seitenzahl[, rechts, unten]

Die Methode GoToPage hat folgende Argumente.

Argument	Beschreibung
Formularname	Ein Form-Objekt, das das aktive Formular darstellt.
Seitenzahl	Ein numerischer Ausdruck, der eine gültige Seitenzahl des aktiven Formulars angibt.
Rechts	Ein numerischer Ausdruck, der ein gültiges horizontales Offset (in Twips)vom linken Rand des Fensters zum anzuzeigenden Teil der Seite angibt.
Unten	Ein numerischer Ausdruck, der ein gültiges vertikales Offset (in Twips) vom oberen Rand des Fensters zum anzuzeigenden Teil der Seite angibt.
Hinweis

Wenn Sie mit dieser Methode eine bestimmte Seite eines Formulars anzeigen möchten, wird der Fokus auf das erste Steuerelement (gemäß der Reihenfolge der Steuerelemente des Formulars) auf der Seite gesetzt. Möchten Sie den Fokus jedoch auf ein bestimmtes Steuerelement im Formular setzen, verwenden Sie statt dessen die Methode SetFocus. Sie können die Methode GoToPage verwenden, wenn Sie Seitenumbrüche in einem Formular erstellt haben, um zusammenhängende Informationen zu gruppieren. Beispielsweise können Sie in einem Formular Personal, das persönliche Daten auf der ersten Seite, betriebliche Daten auf der zweiten Seite und Gehaltsdaten auf der dritten Seite enthält, mit der Methode GoToPage den Fokus auf die gewünschte Seite setzen.

Die Argumente rechts und unten können Sie bei Formularen verwenden, die breiter als das Microsoft Access-Fenster sind. Mit dem Argument Seitenzahl gelangen Sie zu der gewünschten Seite und können anschließend mit den Argumenten rechts und unten den Teil der Seite anzeigen, den Sie ansehen möchten. Microsoft Access zeigt den Teil der Seite an, der von der oberen linken Ecke des Fensters den in rechts und unten angegebenen Abstand besitzt.


GoToPage-Methode (Application-Objekt) - Beispiel

Das folgende Beispiel verwendet die Methode GoToPage, um den Fokus auf die zweite Seite des Formulars Kunden auf die Position zu setzen, die durch die Argumente rechts und unten festgelegt ist.

Forms!Kunden.GoToPage 2, 1440, 600


ItemData-Eigenschaft

Die Eigenschaft ItemData gibt die Daten zurück, die sich in der gebundenen Spalte für die angegebene Zeile in einem Kombinationsfeld oder Listenfeld befinden.

Syntax

Steuerelementname.ItemData(Zeilenindex)

Die Eigenschaft ItemData hat folgende Argumente.

Argument	Beschreibung
Steuerelementname	Ein Control-Objekt, das ein Kombinationsfeld oder Listenfeld darstellt.
Zeilenindex	Die Zeile im Kombinations- oder Listenfeld mit den zurückzugebenden Daten. Zeilen in Kombinations- und Listenfeldern werden mit 0 beginnend indiziert. Um z.B. das Element in der sechsten Zeile eines Kombinationsfelds zurückzugeben, geben Sie für das Argument Zeilenindex den Wert 5 an.
Hinweis

Die Eigenschaft ItemData ermöglicht es Ihnen, eine Schleife durch die Listeneinträge in einem Kombinations- oder Listenfeld durchzuführen. Angenommen, Sie möchten die Elemente eines Listenfelds nach einem bestimmten Eintrag durchsuchen. Verwenden Sie dazu die Eigenschaft ListCount, um die Anzahl der Zeilen im Listenfeld zu ermitteln, und anschließend die Eigenschaft ItemData, um die Daten für die gebundene Spalte in den einzelnen Zeilen zurückzugeben.

Sie können die Eigenschaft ItemData auch verwenden, um nur Daten aus ausgewählten Zeilen in einem Listenfeld zurückzugeben. Sie können eine Schleife durch die Auflistung ItemsSelected durchführen, um zu ermitteln, welche Zeile oder Zeilen im Listenfeld ausgewählt wurden, und anschließend die Daten in diesen Zeilen mit der Eigenschaft ItemData zurückgeben. Stellen Sie die Eigenschaft MultiSelect des Listenfelds auf Einzeln oder Erweitert ein, um dem Benutzer die gleichzeitige Auswahl mehrerer Zeilen zu ermöglichen.

Tip   Sie können die Eigenschaft Column verwenden, um Daten aus einer bestimmten Zeile und Spalte zurückzugeben, auch dann, wenn die angegebene Spalte nicht die gebundene Spalte ist.


ItemData-Eigenschaft - Beispiel

Das folgende Beispiel gibt den Wert der gebundenen Spalte für jede ausgewählte Zeile in einem Listenfeld Angestelltenliste im Formular Personal aus. Die Eigenschaft MultiSelect des Listenfelds muß auf Einzeln oder Erweitert eingestellt sein.

Sub AusgewählteZeilen()

Dim ctlListe As Control, varElement As Variant

' Control-Objektvariable zurückgeben, die auf das Listenfeld zeigt.

Set ctlListe = Forms!Personal!Angestelltenliste

' Ausgewählte Elemente durchlaufen.

For Each varElement in ctlListe.ItemsSelected

' Wert der gebundenen Spalte ausgeben.

Debug.Print ctlListe.ItemData(varElement)

Next varElement

End Sub


Quit-Methode (Application-Objekt)

Die Methode Quit beendet Microsoft Access. Beim Beenden können Sie unter mehreren Optionen zum Speichern von Datenbankobjekten auswählen.

Syntax

Application.Quit [Option]

Die Methode Quit hat folgendes Argument.

Argument	Beschreibung
Option	Eine eingebaute Konstante,die festlegt, was beim Beenden von Microsoft Access mit nicht gespeicherten Objekten geschehen soll. Das Argument kann eine der folgenden Konstanten sein:
	Konstante	Beschreibung
	acSaveYes	(Standardeinstellung). AcSaveYes speichert alle Objekte, ohne ein Dialogfeld anzuzeigen.
	acPrompt	acPrompt zeigt ein Dialogfeld an, das fragt, ob Sie alle geänderten, aber noch nicht gespeicherten Datenbankobjekte speichern möchten.
	acExit	acExit beendet Microsoft Access, ohne Objekte zu speichern.
Hinweis

Die Methode Quit hat die gleiche Wirkung wie das Klicken auf Beenden im Menü Datei. Sie können einen benutzerdefinierten Befehl oder eine Befehlsschaltfläche in einem Formular erstellen und dieser eine Prozedur zuordnen, die die Methode Quit enthält. Sie können z.B. eine Schaltfläche Beenden in ein Formular einbinden und in das Click-Ereignis der Schaltfläche eine Prozedur einfügen, in der die Methode Quit mit der Einstellung acSaveYes für das Argument Option verwendet wird.


Quit-Methode (Application-Objekt) - Beispiel

Das folgende Beispiel zeigt die Click-Ereignisprozedur für eine Befehlsschaltfläche namens AnwBeenden. Nachdem der Benutzer auf diese Schaltfläche geklickt hat, fordert ihn ein Dialogfeld auf, seine Änderungen zu speichern. Danach beendet die Prozedur Microsoft Access.

Private Sub AnwBeenden_Click()

Application.Quit acPrompt

End Sub


Refresh-Methode

Die Methode Refresh aktualisiert sofort die Datensätze der zugrundeliegenden Datenherkunft für ein angegebenes Formular oder Datenblatt und berücksichtigt dadurch die Änderungen, die Sie oder andere Benutzer in einer Mehrbenutzerumgebung an den Daten vorgenommen haben.

Syntax

Formularname.Refresh

Die Methode Refresh hat folgendes Argument.

Argument	Beschreibung
Formularname	Ein Form-Objekt, das das zu aktualisierende Formular darstellt.
Hinweis

Die Verwendung der Methode Refresh entspricht dem Klicken auf Aktualisieren im Menü Datensätze.

Microsoft Access aktualisiert Datensätze automatisch aufgrund der Einstellung für Anzeigeaktualisierungsintervall in der Registerkarte Fortgeschritten des Dialogfelds Optionen, das durch Klicken auf Optionen im Menü Extras verfügbar ist. ODBC-Datenherkünfte werden entsprechend der Einstellung ODBC-Anzeigeaktualisierungsintervall in der Registerkarte Fortgeschritten des Dialogfelds Optionen aktualisiert. Mit der Methode Refresh können Sie feststellen, welche Änderungen an den aktuellen Datensätzen in einem Formular oder Datenblatt seit der letzten automatischen Aktualisierung der dem Formular oder Datenblatt zugrundeliegenden Datenherkunft vorgenommen wurden.

Die Methode Refresh zeigt lediglich Änderungen an, die an Datensätzen der aktuellen Gruppe vorgenommen wurden. Da die Methode Refresh die Datenbank nicht erneut abfragt, werden in die Gruppe keine Datensätze aufgenommen, die hinzugefügt wurden, oder Datensätze daraus entfernt, die gelöscht wurden, seit die Datenbank das letzte Mal abgefragt wurde. Auch Datensätze, die nicht mehr den Kriterien der Abfrage oder des Filters entsprechen, werden nicht entfernt. Wenn Sie eine erneute Abfrage der Datenbank durchführen möchten, verwenden Sie die Methode Requery. Wenn die Datenherkunft für ein Formular erneut abgefragt wird, gibt die aktuelle Gruppe der Datensätze alle Daten in der Datenherkunft wieder.

Anmerkungen

•	Manchmal ist die Aktualisierung eines Formulars oder Datenblatts schneller als eine erneute Abfrage. Dies gilt insbesondere dann, wenn die ursprüngliche Abfrage zeitaufwendig war.

•	Verwechseln Sie die Methode Refresh nicht mit der Methode Repaint, die den Bildschirm mit allen anstehenden optischen Änderungen aktualisiert.


Refresh-Methode - Beispiel

Das folgende Beispiel verwendet die Methode Refresh, um die Datensätze der zugrundeliegenden Datenherkunft im Formular Kunden zu aktualisieren, sobald das Formular den Fokus erhält.

Private Sub Form_Activate()

Me.Refresh

End Sub


Repaint-Methode

Die Methode Repaint führt alle anstehenden Bildschirmaktualisierungen eines bestimmten Formulars aus. Wird diese Methode für ein Formular ausgeführt, so führt Repaint auch alle anstehenden Neuberechnungen der Steuerelemente durch.

Syntax

Formular.Repaint

Die Methode Repaint hat folgendes Argument.

Argument	Beschreibung
Formularname	Ein Form-Objekt, das das zu aktualisierende Formular darstellt.
Hinweis

Gelegentlich wartet Microsoft Access mit der Ausführung von anstehenden Bildschirmaktualisierungen, bis andere Aufgaben beendet wurden. Mit der Methode Repaint können Sie die sofortige Aktualisierung der Steuerelemente des angegebenen Formulars erzwingen. Sie können die Methode Repaint in folgenden Situationen verwenden:

Wenn Sie in mehreren Feldern Werte ändern. Bis Sie eine Aktualisierung erzwingen, kann Microsoft Access die Änderungen möglicherweise nicht sofort anzeigen. Dies trifft besonders dann zu, wenn andere Felder, z.B. solche in dem Ausdruck eines berechneten Steuerelements, von Werten der geänderten Felder abhängig sind.

Wenn Sie sicherstellen möchten, daß ein Formular Daten in allen Feldern anzeigt. Beispielsweise zeigen Felder mit OLE-Objekten ihre Daten häufig nicht sofort nach dem Öffnen eines Formulars an.

Diese Methode bewirkt weder eine erneute Abfrage der Datenbank, noch zeigt sie neue oder geänderte Datensätze aus der dem Formular zugrundeliegenden Datenherkunft an. Verwenden Sie für eine erneute Abfrage der Datenherkunft des Formulars oder seiner Steuerelemente die Methode Requery.

Anmerkungen

•	Verwechseln Sie die Methode Repaint nicht mit der Methode Refresh oder dem Befehl Aktualisieren im Menü Datensätze. Die Methode Refresh und der Befehl Aktualisieren zeigen alle Änderungen an, die Sie oder andere Benutzer in der zugrundeliegenden Datenherkunft an den gerade angezeigten Datensätzen in Formularen und Datenblättern vorgenommen haben. Die Methode Repaint aktualisiert lediglich den Bildschirm, wenn die Aktualisierung dadurch verzögert wurde, daß Microsoft Access andere Aufgaben ausführen mußte.

•	Die Methode Repaint unterscheidet sich von der Methode Echo darin, daß die Methode Repaint eine einzelne sofortige Aktualisierung erzwingt, während die Methode Echo die Bildschirmaktualisierung ein- oder ausschaltet.


Repaint-Methode - Beispiel

Das folgende Beispiel verwendet die Methode Repaint zum Aktualisieren eines Formulars, sobald der Fokus darauf gesetzt wird.

Private Sub Form_Activate()

Me.Repaint

End Sub


Requery-Methode (Steuerelement- oder Formular-Objekt)

Die Methode Requery aktualisiert die zugrundeliegenden Daten eines angegebenen Formulars oder eines Steuerelements auf dem aktiven Formular durch erneutes Abfragen der Datenherkunft des Formulars bzw. Steuerelements.

Syntax

[Objektname.]Requery

Die Methode Requery hat folgendes Argument.

Argument	Beschreibung
Objektname	Ein Form- oder Control-Objekt, das das zu aktualisierende Formular oder Steuerelement darstellt. Geben Sie dieses Argument nicht an, wenn die Datenherkunft des aktiven Objekts erneut abgefragt werden soll.
Hinweis

Mit dieser Methode stellen Sie sicher, daß im Formular oder Steuerelement die aktuellen Daten angezeigt werden.

Die Methode Requery führt einen der folgenden Vorgänge aus:

Erneutes Ausführen der Abfrage, auf der das Formular oder Steuerelement basiert.

Anzeigen aller neuen oder geänderten Datensätze oder Entfernen gelöschter Datensätze aus der Tabelle, auf der das Formular oder Steuerelement basiert.

Aktualisieren der angezeigten Datensätze, die auf den Änderungen der Eigenschaft Filter des Formulars basieren.

Folgende Steuerelemente können auf einer Abfrage oder Tabelle basieren:

•	Listenfelder und Kombinationsfelder.

•	Unterformular-Steuerelemente.

•	OLE-Objekte wie z.B. Diagramme.

•	Steuerelemente, für die die Einstellung der Eigenschaft ControlSource Aggregatfunktionen für Domänen oder SQL-Aggregatfunktionen enthält.

Wenn Sie für das Argument Objektname ein Steuerelement anderen Typs angeben, wird die Datenherkunft des Formulars erneut abgefragt.

Wenn das im Argument Objektname angegebene Steuerelement nicht an ein Feld einer Tabelle oder Abfrage gebunden ist, erzwingt die Methode Requery eine Neuberechnung des Steuerelements.

Wenn Sie das Argument Objektname nicht angeben, führt die Methode Requery eine Abfrage der zugrundeliegenden Datenherkunft des Formulars oder Steuerelements durch, das den Fokus besitzt. Wenn das Steuerelement, das den Fokus hat, eine Datenherkunft oder Datensatzherkunft besitzt, wird diese erneut abgefragt. Andernfalls werden die Daten des Steuerelements einfach aktualisiert.

Wenn ein Unterformular-Steuerelement den Fokus hat, löst diese Methode lediglich eine Neuabfrage der Datenherkunft dieses Unterformulars aus, nicht des übergeordneten Formulars.

Anmerkungen

•	Die Methode Requery aktualisiert die einem Formular oder Steuerelement zugrundeliegenden Daten, um Datensätze anzuzeigen, die neu sind oder seit der letzten Abfrage aus der Datenherkunft gelöscht wurden. Die Methode Refresh zeigt nur Änderungen, die an den aktuellen Datensätzen vorgenommen wurden, und keine neuen oder in der Datenherkunft gelöschten Datensätze. Die Methode Repaint aktualisiert lediglich das angegebene Formular und dessen Steuerelemente.

•	Die Methode Requery gibt die Kontrolle nicht an das Betriebssystem zurück, um es Microsoft Windows so zu ermöglichen, die Verarbeitung von Nachrichten fortzusetzen. Verwenden Sie die Funktion DoEvents, falls Sie die Kontrolle temporär an das Betriebssystem übergeben möchten.

•	Die Methode Requery ist schneller als die Aktion AktualisierenDaten. Wenn Sie die Aktion AktualisierenDaten verwenden, schließt Microsoft Access zuerst die Abfrage und lädt sie dann neu aus der Datenbank. Wenn Sie die Methode Requery verwenden, führt Microsoft Access die Abfrage erneut aus, ohne sie vorher zu schließen und neu zu laden.


Requery-Methode (Steuerelement- oder Formular-Objekt) - Beispiel

Das folgende Beispiel verwendet die Methode Requery, um die Daten erneut abzufragen, die im Formular Personal im Listenfeld Angestelltenliste angezeigt werden.

Sub ListeErneutAbfragen()

Dim ctlListe As Control

' Control-Objekt zurückgeben, das auf das Listenfeld zeigt.

Set ctlListe = Forms!Personal!Angestelltenliste

' Datenherkunft des Listenfelds erneut abfragen.

ctlListe.Requery

End Sub


SetFocus-Methode

Die Methode SetFocus setzt den Fokus auf das angegebene Formular, auf das angegebene Steuerelement auf dem aktiven Formular oder auf das angegebene Feld des aktiven Datenblatts.

Syntax

Objektname.SetFocus

Die Methode SetFocus hat folgendes Argument.

Argument	Beschreibung
Objektname	Ein Form-Objekt, das ein Formular darstellt, oder ein Control-Objekt, das ein Steuerelement des aktiven Formulars oder Datenblatts ist.
Hinweis

Verwenden Sie die Methode SetFocus, wenn ein bestimmtes Feld oder Steuerelement den Fokus besitzen soll, damit alle Benutzereingaben an das betreffende Objekt geleitet werden.

Damit Sie die Eigenschaften eines Steuerelements lesen können, stellen Sie sicher, daß das Steuerelement den Fokus besitzt. Ein Textfeld z.B. muß zuerst den Fokus besitzen, bevor Sie seine Eigenschaft Text lesen können.

Andere Eigenschaften können nur eingestellt werden, wenn ein Steuerelement nicht den Fokus besitzt. Sie können z.B. die Eigenschaften Visible oder Enabled eines Steuerelements nicht auf False (0) einstellen, wenn das Steuerelement den Fokus besitzt.

Mit der Methode SetFocus können Sie außerdem in einem Formular entsprechend bestimmten Bedingungen navigieren. Wählt der Benutzer z.B. für die erste Frage einer Fragengruppe in einem Formular, das einen Fragebogen darstellt, Nicht zutreffend aus, kann Visual Basic-Code die weiteren Fragen dieser Gruppe automatisch überspringen und den Fokus auf das erste Steuerelement in der nächsten Fragengruppe setzen.

Sie können den Fokus nur auf ein sichtbares Steuerelement oder Formular setzen. Ein Formular und seine Steuerelemente sind so lange ausgeblendet, bis das Ereignis Load des Formulars abgeschlossen ist. Dies hat folgende Konsequenz: Wenn Sie die Methode SetFocus in der Load-Ereignisprozedur eines Formulars verwenden, um den Fokus auf dieses Formular zu setzen, verwenden Sie vor der Methode SetFocus die Methode Repaint.

Sie können den Fokus nicht auf ein Steuerelement setzen, dessen Eigenschaft Enabled auf False eingestellt ist. Deshalb stellen Sie zuerst die Eigenschaft Enabled eines Steuerelements auf True (-1) ein, bevor Sie den Fokus auf dieses Steuerelement setzen können. Allerdings können Sie den Fokus auf ein Steuerelement setzen, dessen Eigenschaft Locked auf den Wert True eingestellt ist.

Wenn ein Formular Steuerelemente enthält, deren Eigenschaft Enabled auf True eingestellt ist, können Sie den Fokus nicht auf das Formular selbst setzen, sondern nur auf die Steuerelemente des Formulars. Wenn Sie bei dieser Ausgangslage versuchen, den Fokus mit SetFocus auf ein Formular zu setzen, erhält dasjenige Steuerelement des Formulars den Fokus, das den Fokus zuletzt besaß.

Tip   Mit der Methode SetFocus können Sie den Fokus auch auf ein Unterformular setzen, das eine Art Steuerelement ist. Außerdem können Sie den Fokus auf ein Steuerelement in einem Unterformular setzen, indem Sie ihn mit der Methode SetFocus zunächst auf das Unterformular und anschließend auf das Steuerelement im Unterformular setzen.


SetFocus-Methode - Beispiel

Das folgende Beispiel verwendet die Methode SetFocus, um den Fokus auf das Textfeld Personal-Nr im Formular Personal zu setzen.

Forms!Personal![Personal-Nr].SetFocus


Circle-Methode

Die Methode Circle zeichnet einen Kreis, eine Ellipse oder einen Bogen auf einem Report-Objekt, wenn das Ereignis Print eintritt.

Syntax

Objekt.Circle [Step](x, y), Radius[, [Farbe][, [Startwert][, [Endwert][, Seitenverhältnis]]]]

Sie können diese Methode nur in einer Ereignisprozedur oder in einem Makro verwenden, die bzw. das in den Ereigniseigenschaften für einen Berichtsbereich oder in der Ereigniseigenschaft OnPage für einen Bericht angegeben ist.

Die Methode Circle hat folgende Argumente.

Argument	Beschreibung
Objekt	Das Report-Objekt, auf dem der Kreis gezeichnet werden soll.
Step	Ein Schlüsselwort, das angibt, daß der Kreis-, Ellipsen- oder Bogenmittelpunkt relativ zu den aktuellen Koordinaten liegt, die von den Einstellungen der Eigenschaften CurrentX und CurrentY des Arguments Objekt angegeben werden.
x, y	Werte vom Datentyp Single, die die Koordinaten des Kreis-, Ellipsen- oder Bogenmittelpunkts angeben. Die Scale-Eigenschaften (ScaleMode, ScaleLeft, ScaleTop, ScaleHeight und ScaleWidth) des im Argument Objekt angegebenen Report-Objekts legen die verwendete Maßeinheit fest.
Radius	Ein Wert vom Datentyp Single, der den Radius des Kreises, der Ellipse oder des Bogens angibt. Die Scale-Eigenschaften (ScaleMode, ScaleLeft, ScaleTop, ScaleHeight und ScaleWidth) des im Argument Objekt angegebenen Report-Objekts legen die verwendete Maßeinheit fest. Standardmäßig werden die Strecken in Twips gemessen.
Farbe	Ein Wert vom Datentyp Long, der die RGB-Farbe (rot-grün-blau) der Kreislinie angibt. Wird dieses Argument nicht angegeben, wird der Wert der Eigenschaft ForeColor verwendet. Sie können zum Definieren der Farbe auch die Funktionen RGB oder QBColor verwenden.
Startwert, Endwert	Werte vom Datentyp Single. Wenn ein Kreis- oder Ellipsenbogen gezeichnet wird, geben die Argumente Startwert und Endwert die Anfangs- und die Endposition des Bogens (im Bogenmaß) an. Der Standardwert für Startwert ist 0; der Standardwert für Endwert ist 2 Pi. Der Bereich für beide Werte lautet -2 Pi bis 2 Pi (im Bogenmaß).
Seitenverhältnis	Ein Wert vom Datentyp Single, der das Seitenverhältnis des Kreises definiert. Standardmäßig lautet dieser Wert 1.0, was auf jedem beliebigen Bildschirm einen echten (keine Ellipse) ergibt.
Hinweis

Wenn beim Zeichnen eines Kreis- oder Ellipsenbogens das Argument Startwert negativ eingestellt ist, zeichnet die Methode Circle eine Radiuslinie bis zur Position, die das Argument Startwert angibt, und interpretiert den Winkel als positiven Winkel. Ist das Argument Endwert negativ, zeichnet die Methode Circle eine Radiuslinie bis zur Position, die das Argument Endwert angibt, und interpretiert den Winkel ebenfalls positiv. Die Methode Circle zeichnet immer gegen den Uhrzeigersinn.

Damit Sie einen Kreis ausfüllen können, stellen Sie die Eigenschaften FillColor und FillStyle des Berichts ein. Nur geschlossene Figuren können ausgefüllt werden; dazu  zählen Kreise, Ellipsen und Kreissektoren (Bögen mit Radiuslinien bis zu beiden Endpunkten).

Wenn Sie beim Zeichnen von Kreissektoren eine Radiuslinie für den Winkel 0 zeichnen möchten, um eine nach rechts laufende horizontale Radiuslinie zu erzeugen, geben Sie für das Argument Startwert nicht 0, sondern einen sehr kleinen negativen Wert an, z.B. -.00000001.

Sie brauchen nicht alle in der Syntax aufgeführten Argumente anzugeben, müssen aber für jedes weggelassene Argument das zugehörige Komma vor dem nächsten Argument einfügen. Wenn Sie Argumente am Ende weglassen, dürfen Sie nach dem letzten angegebenen Argument kein Komma angeben.

Die Linienbreite, die Sie zum Zeichnen des Kreises, der Ellipse oder des Bogens verwenden, ist abhängig von der Einstellung der Eigenschaft DrawWidth. Wie der Kreis auf dem Hintergrund gezeichnet wird, hängt von den Einstellungen der Eigenschaften DrawMode und DrawStyle ab.

Wenn Sie die Methode Circle anwenden, werden die Eigenschaften CurrentX und CurrentY auf die Mittelpunktskoordinaten eingestellt, die durch die Argumente x und y bestimmt sind.


Circle-Methode - Beispiel

Das folgende Beispiel verwendet die Methode Circle, um einen Kreis zu zeichnen, anschließend im Kreis einen Kreissektor zu erstellen und diesen rot zu färben.

Damit Sie dieses Beispiel in Microsoft Access testen können, erstellen Sie einen neuen Bericht. Stellen Sie die Eigenschaft OnPrint des Detailbereichs auf [Ereignisprozedur] ein. Geben Sie den folgenden Code in das Modul des Berichts ein, und wechseln Sie dann zur Seitenansicht.

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

' Horizontale Mittelpunktposition.

sngHCtr = Me.ScaleWidth / 2

' Vertikale Mittelpunktposition.

sngVCtr = Me.ScaleHeight / 2

' Kreisradius.

sngRadius = Me.ScaleHeight / 3

' Kreis zeichnen.

Me.Circle(sngHCtr, sngVCtr), sngRadius

' Beginn des Kreissektors.

sngStart = -0.00000001

' Ende des Kreissektors.

sngEnd = -2 * conPI / 3

' Kreissektor rot färben.

Me.FillColor = RGB(255,0,0)

' Kreissektor füllen.

Me.FillStyle = 0

' Kreissektor innerhalb des Kreises zeichnen.

Me.Circle(sngHCtr, sngVCtr) sngRadius, , sngStart, sngEnd

End Sub


Line-Methode

Die Methode Line zeichnet Linien und Rechtecke auf einem Report-Objekt, wenn das Ereignis Print eintritt.

Syntax

Objekt.Line [[Step](x1, y1)] - [Step](x2, y2)[, [Farbe][, B[F]]]

Sie können diese Methode nur in einer Ereignisprozedur oder in einem Makro verwenden, die bzw. das in den Ereigniseigenschaften OnPrint oder OnFormat für einen Berichtsbereich oder in der Ereigniseigenschaft OnPage für einen Bericht angegeben ist.

Die Methode Line hat folgende Argumente.

Argument	Beschreibung
Objekt	Das Report-Objekt, auf dem die Linie oder das Rechteck gezeichnet werden soll.
Step	Ein Schlüsselwort, das angibt, daß die Koordinaten des Anfangspunkts relativ zur aktuellen Grafikposition liegen, die durch die Einstellungen der Eigenschaften CurrentX und CurrentY des Arguments Objekt festgelegt ist.
x1, y1	Werte vom Datentyp Single, die die Koordinaten des Anfangspunkts der Linie oder des Rechtecks angeben. Die Scale-Eigenschaften (ScaleMode, ScaleLeft, ScaleTop, ScaleHeight  und ScaleWidth) des im Argument Objekt angegebenen Report-Objekts legen die verwendete Maßeinheit fest. Wird dieses Argument nicht angegeben, so beginnt die Linie an der von den Eigenschaften CurrentX und CurrentY definierten Position.
Step	Ein Schlüsselwort, das angibt, daß die Endpunktkoordinaten relativ zum Anfangspunkt der Linie liegen.
x2, y2	Werte vom Datentyp Single, die die Koordinaten des Endpunkts der zu zeichnenden Linie angeben. Diese Argumente müssen angegeben werden.
Farbe	Ein Wert vom Datentyp Long, der die RGB-Farbe (rot-grün-blau) für die zu zeichnende Linie angibt. Wird dieses Argument nicht angegeben, wird der Wert der Eigenschaft ForeColor verwendet. Sie können zum Definieren der Farbe auch die Funktionen RGB oder QBColor verwenden.
B	Diese Option bewirkt, daß ein Rechteck gezeichnet wird, dessen gegenüberliegende Ecken durch die angegebenen Koordinaten bestimmt sind.
F	F kann nur zusammen mit der Option B verwendet werden. Wurde B eingestellt, gibt die Option F an, daß das Rechteck mit derselben Farbe ausgefüllt werden soll, die zum Zeichnen der Linien verwendet wurde. Wird B ohne F verwendet, wird das Rechteck mit der Farbe ausgefüllt, die durch die aktuellen Einstellungen der Eigenschaften FillColor und BackStyle festgelegt ist. Für Linien und Rechtecke ist Normal die Standardeinstellung für die Eigenschaft BackStyle.
Hinweis

Wenn Sie zwei Linien verbinden möchten, stellen Sie sicher, daß die zweite Linie am Endpunkt der vorhergehenden Linie beginnt.

Die Breite der gezeichneten Linien hängt von der Einstellung der Eigenschaft DrawWidth ab. Wie die Linie oder das Rechteck auf dem Hintergrund dargestellt wird, hängt von den Einstellungen der Eigenschaften DrawMode und DrawStyle ab.

Wenn Sie die Methode Line anwenden, werden die Eigenschaften CurrentX und CurrentY auf die Endpunktkoordinaten eingestellt, die durch die Argumente x und y bestimmt sind.


Line-Methode - Beispiel

Das folgende Beispiel verwendet die Methode Line zum Zeichnen eines roten Rechtecks jeweils 5 Pixel innerhalb des Randes des Berichts Personalbericht. Mit Hilfe der Funktion RGB wird die Linie rot dargestellt.

Damit Sie dieses Beispiel in Microsoft Access testen können, erstellen Sie einen neuen Bericht. Geben Sie den folgenden Code im Deklarationsbereich des Moduls des Berichts ein, und wechseln Sie dann zur Seitenansicht.

Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)

' Prozedur LinieZeichnen aufrufen.

LinieZeichnen

End Sub

Sub LinieZeichnen()

Dim rpt As Report, lngFarbe As Long

Dim sngOben As Single, sngLinks As Single

Dim sngBreite As Single, sngHöhe As Single

Set rpt = Reports!Personalbericht

' Skalierung auf Pixel einstellen.

rpt.ScaleMode = 3

' Obere Innenkante.

sngOben = rpt.ScaleTop + 5

' Linke Innenkante.

sngLinks = rpt.ScaleLeft + 5

' Breite der Innenkante.

sngBreite = rpt.ScaleWidth - 10

' Höhe der Innenkante.

sngHöhe = rpt.ScaleHeight - 10

' Rot färben.

lngFarbe = RGB(255,0,0)

' Linie als Rechteck zeichnen.

rpt.Line(sngOben, sngLinks) - (sngBreite, sngHöhe), lngFarbe, B

End Sub


PSet-Methode

Die Methode PSet färbt einen Punkt auf einem Report-Objekt in der angegebenen Farbe, wenn das Ereignis Print eintritt.

Syntax

Objekt.PSet [Step](x, y)[, Farbe]

Sie können diese Methode nur in einer Ereignisprozedur oder in einem Makro verwenden, die bzw. das in den Ereigniseigenschaften OnPrint oder OnFormat für einen Berichtsbereich oder in der Ereigniseigenschaft OnPage für einen Bericht angegeben ist.

Die Methode PSet hat folgende Argumente.

Argument	Beschreibung
Objekt	Das Report-Objekt, auf dem der Punkt gezeichnet werden soll.
Step	Ein Schlüsselwort, das angibt, daß die Koordinaten relativ zur aktuellen Grafikposition liegen, die durch die Einstellungen der Eigenschaften CurrentX und CurrentY des Arguments Objekt festgelegt ist.
x, y	Werte vom Datentyp Single, die die horizontale und vertikale Koordinate des zu färbenden Punktes definieren.
Farbe	Ein Wert vom Datentyp Long, der die RGB-Farbe (rot-grün-blau) für den zu färbenden Punkt angibt. Wird dieses Argument nicht angegeben, wird der Wert der Eigenschaft ForeColor verwendet. Sie können zum Festlegen der Farbe auch die Funktionen RGB oder QBColor verwenden.
Hinweis

Die Größe des Punktes hängt von der Einstellung der Eigenschaft DrawWidth. Wenn die Eigenschaft DrawWidth auf 1 eingestellt ist, stellt die Methode PSet ein einzelnes Pixel auf die angegebene Farbe ein. Ist der Wert der Eigenschaft DrawWidth größer als 1, wird der Punkt auf den angegebenen Koordinaten zentriert.

Wie der Punkt gezeichnet wird, hängt von den Einstellungen der Eigenschaften DrawMode und DrawStyle ab.

Wenn Sie die Methode PSet anwenden, werden die Eigenschaften CurrentX und CurrentY auf die Punktkoordinaten eingestellt, die durch die Argumente x und y bestimmt sind.

Wenn Sie ein Pixel mit der Methode PSet löschen möchten, geben Sie die Koordinaten des Pixels an, und verwenden Sie &HFFFFFF (Weiß) für das Argument Farbe.

Tip   Mit der Methode Line wird eine Linie schneller als mit der Methode PSet gezeichnet.


PSet-Methode - Beispiel

Das folgende Beispiel verwendet die Methode PSet zum Zeichnen einer Linie entlang der horizontalen Achse eines Berichts.

Damit Sie dieses Beispiel in Microsoft Access testen können, erstellen Sie einen neuen Bericht. Stellen Sie die Eigenschaft OnPrint des Detailbereichs auf [Ereignisprozedur] ein. Geben Sie den folgenden Code in das Modul des Berichts ein, und wechseln Sie dann zur Seitenansicht.

Sub Detail_Print(Cancel As Integer, PrintCount As Integer)

Dim sngMittelp As Single, intI As Integer

' Skalierung auf Pixel setzen.

Me.ScaleMode = 3

' Mittelpunkt berechnen.

sngMittelp = Me.ScaleHeight / 2

' Schleife zum pixelweisen Zeichnen der Linie entlang der horizontalen Achse.

For intI = 1 To Me.ScaleWidth

Me.PSet(intI, sngMittelp)

Next intI

End Sub


Scale-Methode

Die Methode Scale definiert das Koordinatensystem für -Objekt ein Report-Objekt.

Syntax

Objekt.Scale[(x1, y1) – (x2, y2)]

Sie können diese Methode nur in einer Ereignisprozedur oder in einem Makro verwenden, die bzw. das in den Ereigniseigenschaften OnPrint oder OnFormat für einen Berichtsbereich oder in der Ereigniseigenschaft OnPage für einen Bericht angegeben ist.

Die Methode Scale hat folgende Argumente.

Argument	Beschreibung
Objekt	Das Report-Objekt, dem das Koordinatensystem zugeordnet werden soll.
x1, y1	Werte vom Datentyp Single für die horizontale und vertikale Koordinate, die die obere linke Ecke des Objekts definieren.
x2, y2	Werte vom Datentyp Single für die horizontale und vertikale Koordinate, die die untere rechte Ecke des Objekts definieren.
Hinweis

Mit der Methode Scale können Sie das Koordinatensystem auf jede beliebige Maßeinteilung einstellen. Wenn Sie die Methode Scale ohne Argumente verwenden, wird das Koordinatensystem auf Twips zurückgesetzt. Die Methode Scale wirkt sich auf das Koordinatensystem aus, das für die Methode Print und die Grafikmethoden für Berichte (Circle, Line und PSet) verwendet wird.


Scale-Methode - Beispiel

Das folgende Beispiel zeichnet eine Linie mit einer bestimmten Maßeinteilung, ändert diese dann mit der Methode Scale und zeichnet eine neue Linie mit der neuen Maßeinteilung.

Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)

KreisZeichnen

End Sub

Sub KreisZeichnen()

Dim sngHCtr As Single, sngVCtr As Single

Dim sngNewH As Single, sngNewV As Single

Dim sngRadius As Single

' Skalierung auf Pixel setzen.

Me.ScaleMode = 3

' Horizontale Mittelpunktposition.

sngHCtr = Me.ScaleWidth / 2

' Vertikale Mittelpunktposition.

sngVCtr = Me.ScaleHeight / 2

' Kreisradius.

sngRadius = Me.ScaleHeight / 3

' Kreis zeichnen.

Me.Circle (sngHCtr, sngVCtr), sngRadius

' Neue horizontale Skalierung.

sngNewH = Me.ScaleWidth * 0.9

' Neue vertikale Skalierung.

sngNewV = Me.ScaleHeight * 0.9

' Wechseln auf die neue Skalierung.

Me.Scale(0, 0)-(sngNewH, sngNewV)

' Kreis zeichnen.

Me.Circle (sngHCtr + 100, sngVCtr), sngRadius, RGB(0, 256, 0)

End Sub


TextHeight-Methode

Die Methode TextHeight gibt die Höhe einer Textzeichenfolge zurück, wie diese in der aktuellen Schriftart des Report-Objekts gedruckt wird.

Syntax

Objekt.TextHeight(Zeichenfolgenausdruck)

Die Methode TextHeight hat folgende Argumente.

Argument	Beschreibung
Objekt	Das Report-Objekt, das die Schriftart und den Schriftgrad festlegt.
Zeichenfolgenausdruck	Die Textzeichenfolge, deren Texthöhe bestimmt wird.
Hinweis

Mit der Methode TextHeight können Sie die Gesamthöhe ermitteln, die eine Textzeichenfolge in der aktuellen Schriftart einnimmt, wenn der Bericht formatiert und gedruckt wird. Eine Textzeichenfolge, die z.B. in Arial mit 9 Punkt formatiert ist, benötigt eine andere Höhe als eine in Courier mit 12 Punkt formatierte Textzeichenfolge. Damit Sie die aktuelle Schriftart und den Schriftgrad für den Text in einem Bericht ermitteln können, überprüfen Sie die Einstellungen der Eigenschaften FontName und FontSize für den Bericht.

Der von der Methode TextHeight zurückgegebene Wert wird in der Maßeinheit des Koordinatensystems ausgedrückt, das für den Bericht gültig ist und mit der Methode Scale festgelegt wurde. Sie können mit der Eigenschaft ScaleMode das für den Bericht verwendete Koordinatensystem ermitteln.

Wenn das Argument Zeichenfolgenausdruck eingebettete Wagenrücklaufzeichen enthält, gibt die Methode TextHeight die kumulierte Höhe der Zeilen zurück, einschließlich des normalen Abstands über und unter jeder Zeile. Sie können den von der Methode TextHeight zurückgegebenen Wert verwenden, um den erforderlichen Platz zu berechnen, wenn mehrere Textzeilen innerhalb eines Berichts zu positionieren sind.


TextHeight-, TextWidth-Methoden - Beispiel

Das folgende Beispiel verwendet die Methoden TextHeight und TextWidth, um die Höhe und die Breite des Bereichs zu ermitteln, der zum Drucken einer Textzeichenfolge in der aktuellen Schriftart des Berichts benötigt wird.

Damit Sie dieses Beispiel in Microsoft Access testen können, erstellen Sie einen neuen Bericht. Stellen Sie die Eigenschaft OnPrint des Detailbereichs auf [Ereignisprozedur] ein. Geben Sie den folgenden Code in das Modul des Berichts ein, und wechseln Sie dann zur Seitenansicht.

Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)

' Maßeinheit auf Twips einstellen (Standardskalierung).

Me.Scalemode = 1

' Name und Schriftgrad der Berichtsschriftart ausgeben.

Debug.Print "Berichtsschriftart: "; Me.FontName

Debug.Print "Berichtsschriftgrad: "; Me.FontSize

' Für die Textzeichenfolge benötigte Höhe und Breite ausgeben.

Debug.Print "Texthöhe (Twips): "; Me.TextHeight("Produktbericht")

Debug.Print "Textbreite (Twips): "; Me.TextWidth("Produktbericht")

End Sub


TextWidth-Methode

Die Methode TextWidth gibt die Breite einer Textzeichenfolge zurück, wie diese in der aktuellen Schriftart des Report-Objekts gedruckt wird.

Syntax

Objekt.TextWidth(Zeichenfolgenausdruck)

Die Methode TextWidth hat folgende Argumente.

Argument	Beschreibung
Objekt	Das Report-Objekt, das die Schriftart und den Schriftgrad festlegt.
Zeichenfolgenausdruck	Die Textzeichenfolge, deren Textbreite bestimmt wird.
Hinweis

Mit der Methode TextWidth können Sie die horizontale Ausdehnung (Breite) ermitteln, die eine Textzeichenfolge in der aktuellen Schriftart einnimmt, wenn der Bericht formatiert und gedruckt wird. Eine Textzeichenfolge, die z.B. in Arial mit 9 Punkt formatiert ist, benötigt eine andere Breite als eine in Courier mit 12 Punkt formatierte Textzeichenfolge. Damit Sie die aktuelle Schriftart und den Schriftgrad für den Text im Bericht ermitteln können, überprüfen Sie die Einstellungen der Eigenschaften FontName und FontSize des Berichts.

Der von der Methode TextWidth zurückgegebene Wert wird in der Maßeinheit des Koordinatensystems ausgedrückt, das für den Bericht gültig ist und mit der Methode Scale festgelegt wurde. Sie können mit der Eigenschaft ScaleMode das für den Bericht verwendete Koordinatensystem ermitteln.

Wenn das Argument Zeichenfolgenausdruck eingebettete Wagenrücklaufzeichen enthält, gibt die Methode TextWidth die Länge der längsten Zeile zurück, gemessen vom Zeilenanfang bis zum Wagenrücklaufzeichen. Sie können den von der Methode TextWidth zurückgegebenen Wert verwenden, um den erforderlichen Platz zu berechnen, wenn mehrere Textzeilen innerhalb eines Berichts zu positionieren sind.


Recalc-Methode

Die Methode Recalc aktualisiert sofort alle berechneten Steuerelemente eines Formulars.

Syntax

Formularname.Recalc

Die Methode Recalc hat folgendes Argument.

Argument	Beschreibung
Formularname	Ein Form-Objekt, das das Formular mit den Steuerelementen darstellt, deren Werte Sie neu berechnen möchten.
Hinweis

Diese Methode bewirkt dasselbe wie das Drücken von F9, während das Formular den Fokus besitzt. Sie können mit dieser Methode die Werte von Steuerelementen neu berechnen, die von anderen Feldern, deren Inhalt sich möglicherweise geändert hat, abhängig sind.


Recalc-Methode - Beispiel

Das folgende Beispiel verwendet die Methode Recalc, um Steuerelemente im Formular Bestellungen zu aktualisieren. Dieses Formular enthält das Textfeld Frachtkosten, das die Frachtkosten anzeigt, sowie ein berechnetes Steuerelement, das die Gesamtkosten der Bestellungen inklusive Fracht anzeigt. Wenn die Anweisung, die die Methode Recalc enthält, in die AfterUpdate-Ereignisprozedur des Textfelds Frachtkosten eingefügt wird, werden die Gesamtkosten einer Bestellung bei jeder Eingabe eines neuen Frachtbetrags neu berechnet.

Sub Frachtkosten_AfterUpdate()

Me.Recalc

End Sub


Print-Methode

Die Methode Print druckt Text auf ein Report-Objekt unter Verwendung der aktuellen Farbe und Schriftart.

Syntax

Objekt.Print [{Spc(n) | Tab(n)}][Ausdruckliste][{;|,}]

Die Methode Print hat folgende Argumente.

Argument	Beschreibung
Objekt	Das Report-Objekt, auf dem der Text gedruckt werden soll.
Spc(n)	Visual Basic-Funktion, mit der n Leerzeichen in die Druckausgabe eingefügt werden. Dieses Argument kann mehrmals angegeben werden.
Tab(n)	Visual Basic-Funktion, mit der die Einfügemarke in den n-ten Ausgabebereich verschoben wird, bevor das Argument Ausdruckliste gedruckt wird. Ausgabebereiche beginnen nach jeweils 14 Spalten. Die Spaltenbreite wird als Durchschnittswert aus der Breite aller Zeichen im angegebenen Schriftgrad für die gewählte Schriftart ermittelt. Dieses Argument kann mehrmals angegeben werden.
Ausdruckliste	Die zu druckenden numerischen Ausdrücke oder Zeichenfolgenausdrücke. Wird das Argument nicht angegeben, druckt die Methode Print eine Leerzeile. Wenn Sie mehrere Ausdrücke angeben, trennen Sie diese mit einem Leerzeichen, einem Semikolon oder einem Komma. Leerzeichen und Semikolon haben dieselbe Bedeutung. Sie können die Ausdruckspaare auch mit Hilfe der Funktionen Spc und Tab voneinander trennen.
{;|,}	Legt die Position der Einfügemarke für das nächste Druckzeichen fest. Ein Semikolon setzt die Einfügemarke unmittelbar hinter das zuletzt gedruckte Zeichen. Ein Komma positioniert die Einfügemarke an den Anfang des nächsten Ausgabebereichs.
Hinweis

Sie können diese Methode nur in einer Ereignisprozedur oder in einem Makro verwenden, die bzw. das in der Ereigniseigenschaft OnPrint eines Bereichs angegeben ist.

Die im Argument Ausdruckliste angegebenen Ausdrücke werden auf dem Objekt ab der Position gedruckt, die durch die Einstellungen der Eigenschaften CurrentX und CurrentY festgelegt ist.

Beim Drucken der Ausdruckliste wird in der Regel ein Wagenrücklaufzeichen angefügt, so daß die nächste Methode Print in der nächsten Zeile druckt. Beim Auftreten eines Wagenrücklaufzeichens wird der Wert der Eigenschaft CurrentY um die Höhe des Arguments Ausdruckliste vergrößert (entspricht dem Rückgabewert der Methode TextHeight), und die Eigenschaft CurrentX wird auf 0 eingestellt.

Folgt dem Argument Ausdruckliste ein Semikolon, so wird kein Wagenrücklaufzeichen angefügt, und die nächste Methode Print druckt in derselben Zeile wie die aktuelle Methode Print. Die Eigenschaften CurrentX und CurrentY werden auf die Position unmittelbar hinter dem letzten Druckzeichen eingestellt. Wenn die Ausdruckliste selbst Wagenrücklaufzeichen enthält, stellt jedes Wagenrücklaufzeichen die Eigenschaften CurrentX und CurrentY so ein, wie für die Methode Print ohne Semikolon beschrieben.

Wenn dem Argument Ausdruckliste ein Befehl folgt, werden die Eigenschaften CurrentX und CurrentY auf den nächsten Druckbereich in derselben Zeile gesetzt.

Wenn das Argument Ausdruckliste auf einem Report-Objekt gedruckt wird, erfolgt kein Zeilenumbruch für Zeilen, die nicht in die angegebene Position passen. Der Text wird statt dessen durch Abschneiden an das Objekt angepaßt.

Da die Methode Print Zeichen normalerweise in Proportionalschrift ausgibt, besteht kein Zusammenhang zwischen der Anzahl der ausgegebenen Zeichen und der Anzahl der Spalten mit fester Breite, die diese Zeichen belegen. Beispielsweise belegt ein breiter Buchstabe wie "W" mehrere Spalten fester Breite, während ein schmaler Buchstabe wie "I" weniger Platz benötigt. Damit überdurchschnittlich breite Zeichen in jedem Fall richtig dargestellt werden, positionieren Sie die Tabulatorspalten unbedingt weit genug voneinander entfernt. Alternativ können Sie eine Schriftart mit fester Zeichenbreite (beispielsweise Courier) verwenden, um sicherzustellen, daß jedes Zeichen genau eine Spalte benötigt


Print-Methode - Beispiel

Das folgende Beispiel verwendet die Methode Print, um Text im Bericht Bericht1 auszugeben. Mit den Methoden TextWidth und TextHeight wird der Text horizontal und vertikal zentriert.

Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)

Dim rpt as Report

Dim strMeldung As String

Dim intBreite As Integer, intHöhe As Integer

Set rpt = Me

strMeldung = "Hier ist die Meldung"

With rpt

'Skalierung auf Pixel sowie Eigenschaften FontName und FontSize einstellen.

.ScaleMode = 3

.FontName = "Courier"

.FontSize = 24

End With

' Horizontale Breite.

intBreite = Rpt.TextWidth(strMeldung)

' Vertikale Höhe.

intHöhe = Rpt.TextHeight(strMeldung)

' Position des anzuzeigenden Textes berechnen.

Rpt.CurrentX = (Rpt.ScaleWidth/2) - (intBreite/2)

Rpt.CurrentY = (Rpt.ScaleHeight/2) - (intHöhe/2)

' Text auf Report-Objekt ausgeben.

Rpt.Print strMeldung

End Sub


BuildCriteria-Methode

Die Methode BuildCriteria gibt eine analysierte Kriterienzeichenfolge so zurück, wie sie im Abfrageentwurfsbereich oder im Modus Formularbasierter Filter angezeigt wird. Sie können diese Methode z.B. einsetzen, wenn Sie die Eigenschaft Filter eines Formulars abhängig von verschiedenen Kriterien einstellen möchten, die der Benutzer angegeben hat. Mit der Methode BuildCriteria können Sie den Zeichenfolgenausdruck erstellen, der der Eigenschaft Filter zugewiesen werden soll.

Syntax

Anwendung.BuildCriteria(Feld, Feldtyp, Ausdruck)

Die Methode BuildCriteria hat die folgenden Argumente.

Argument	Beschreibung
Anwendung	(Optional) Das Application-Objekt.
Feld	Ein Zeichenfolgenausdruck, der das Feld angibt, für das Sie Kriterien definieren möchten.
Feldtyp	Eine eingebaute Konstante, die den Datentyp des Feldes angibt. Eine Liste der möglichen Felddatentypen finden Sie unter der DAO-Eigenschaft Type.
Ausdruck	Ein Zeichenfolgenausdruck, der die zu analysierenden Kriterien angibt.
Die Methode BuildCriteria gibt eine Zeichenfolge zurück.

Hinweis

Die Methode BuildCriteria ermöglicht es Ihnen, Kriterien für einen auf Benutzereingaben basierenden Filter problemlos zusammenzustellen. Sie analysiert das Argument Ausdruck genauso, wie der Ausdruck analysiert werden würde, wenn Sie ihn in den Abfrageentwurfsbereich oder im Modus Formularbasierter Filter eingeben würden.

So könnte z.B. ein Benutzer, der eine Abfrage zu der Tabelle Bestellungen erstellt, die Ergebnismenge auf nach dem 1. Januar 1996 erteilte Aufträge beschränken, indem er Kriterien für das Feld Bestelldatum eingibt. Der Benutzer kann einen Ausdruck, wie etwa den folgenden, in die Zeile Kriterien unterhalb des Feldes Bestelldatum eingeben:

>1.1.96

Microsoft Access analysiert diesen Ausdruck automatisch und gibt den folgenden Ausdruck zurück:

>#01.01.96#

Die Methode BuildCriteria ermöglicht es, Ausdrücke in Visual Basic-Code auf dieselbe Weise zu analysieren. Damit z.B. die obige, richtig analysierte Zeichenfolge zurückgegeben wird, können Sie die folgenden Argumente an die Methode BuildCriteria übergeben:

Dim strKriterien As String

strKriterien = BuildCriteria("Bestelldatum", dbDate, ">1.1.96")

Da Sie für die Eigenschaft Filter Kriterien in korrekt analysierter Form zur Verfügung stellen müssen, können Sie die Methode BuildCriteria zum Aufbauen einer korrekt analysierten Zeichenfolge verwenden.

Sie können die Methode BuildCriteria zum Zusammenstellen einer Zeichenfolge mit mehreren Kriterien verwenden, wenn sich diese Kriterien auf dasselbe Feld beziehen. Die Methode BuildCriteria kann z.B. mit den folgenden Argumenten verwendet werden, um eine mit dem Feld Bestelldatum zusammenhängende Zeichenfolge mit mehreren Kriterien zusammenzustellen:

strKriterien = BuildCriteria("Bestelldatum", dbDate, ">1.1.96 Und <1.5.96")

Dieses Beispiel gibt die folgende Kriterienzeichenfolge zurück:

Bestelldatum>#1/1/96# And Bestelldatum<#5/1/96#

Falls Sie jedoch eine Kriterienzeichenfolge erstellen möchten, die auf mehrere Felder verweist, müssen Sie die Zeichenfolgen erstellen und selbst miteinander verketten. Wenn Sie z.B. Kriterien für einen Filter erstellen, um Datensätze für Bestellungen anzuzeigen, die nach dem 1. Januar 1996 aufgegeben wurden und für die die Frachtkosten unter 75 DM liegen, müssen Sie die Methode BuildCriteria zweimal verwenden und die sich daraus ergebenden Zeichenfolgen verketten.


BuildCriteria-Methode - Beispiel

Im folgenden Beispiel wird der Benutzer aufgefordert, die ersten Buchstaben eines Artikelnamens einzugeben. Anschließend wird mit Hilfe der Methode BuildCriteria eine Kriterienzeichenfolge zusammengestellt, die auf den Eingaben des Benutzers basiert. Als nächstes übergibt die Prozedur diese Zeichenfolge als Argument an die Eigenschaft Filter des Formulars Produkte. Schließlich wird die Eigenschaft FilterOn eingestellt, damit der Filter zugewiesen wird.

Sub FilterEinstellen()

Dim frm As Form, strMldg As String

Dim strEingabe As String, strFilter As String

' Formular "Artikel" in der Formularansicht öffnen.

DoCmd.OpenForm "Artikel"

' Die Form-Objektvariable einstellen, die auf das Formular

' "Artikel" zeigt.

Set frm = Forms!Artikel

strMldg = "Geben Sie einen oder mehrere Buchstaben des " _

& "Artikelnamens ein, gefolgt von einem Sternchen."

' Benutzer zur Eingabe von Text auffordern.

strEingabe = InputBox(strMldg)

' Kriterienzeichenfolge erstellen.

strFilter = BuildCriteria("Artikelname", dbText, strEingabe)

' Eigenschaft Filter einstellen, damit der Filter zugewiesen wird.

frm.Filter = strFilter

' Eigenschaft FilterOn einstellen; das Formular enthält jetzt

' gefilterte Datensätze.

frm.FilterOn = True

End Sub


CloseCurrentDatabase-Methode

Sie können die Methode CloseCurrentDatabase verwenden, um die aktuelle Datenbank von einer anderen Anwendung aus zu schließen, die eine Datenbank über Automatisierung geöffnet hat. Sie können diese Methode z.B. von Microsoft Excel aus verwenden, um die derzeit im Microsoft Access-Fenster geöffnete Datenbank zu schließen, bevor Sie eine andere Datenbank öffnen.

Syntax

Anwendung.CloseCurrentDatabase

Die Methode CloseCurrentDatabase hat das folgende Argument.

Argument	Beschreibung
Anwendung	Das Objekt Application.
Hinweis

Die Methode CloseCurrentDatabase ist sinnvoll, wenn Sie eine Microsoft Access-Datenbank von einer anderen Anwendung aus über Automatisierung geöffnet haben. Sobald Sie eine Instanz von Microsoft Access aus einer anderen Anwendung heraus erstellt haben, müssen Sie auch eine neue Datenbank erstellen oder eine vorhandene Datenbank angeben, die geöffnet werden soll. Diese Datenbank wird im Microsoft Access-Fenster geöffnet.

Wenn Sie die Methode CloseCurrentDatabase verwenden, um die in der aktuellen Instanz von Microsoft Access geöffnete Datenbank zu schließen, können Sie anschließend eine andere Datenbank öffnen, ohne daß Sie eine weitere Instanz von Microsoft Access erstellen müssen.

Anmerkung   Verwechseln Sie die Methode CloseCurrentDatabase nicht mit der DAO-Methode Close. Die DAO-Methode Close schließt eine Objektvariable des Typs Database, so daß diese Variable nicht länger gültig ist, sie schließt jedoch nicht die im Microsoft Access-Fenster geöffnete Datenbank. Die Methode CloseCurrentDatabase schließt die Datenbank, die im Microsoft Access-Fenster geöffnet ist.


CloseCurrentDatabase-Methode - Beispiel

Das folgende Beispiel öffnet über Automatisierung eine Microsoft Access-Datenbank von einer anderen Anwendung aus, erstellt ein neues Formular, speichert es und schließt anschließend die Datenbank.

Sie können diesen Code in jeder Anwendung, die als ActiveX-Element fungieren kann, in ein Visual Basic-Modul eingeben. Sie könnten z.B. den folgenden Code aus Microsoft Excel oder Microsoft Visual Basic heraus ausführen.

Wenn der Programmbereich verlassen wird, in dem die Variable gültig ist, die auf das Objekt Application zeigt, wird auch die Microsoft Access-Instanz geschlossen, die der Variablen entspricht. Sie sollten diese Variable daher auf Modulebene deklarieren.

' Geben Sie folgende Zeile in den Deklarationsbereich des Moduls ein.

Dim appAccess As Access.Application

Sub FormularErstellen()

Const strConPfadZuDenBeisp = "C:\Programme\Microsoft Office\Office\Beispiel\"

Dim frm As Form, strDB As String

' Den Pfad der Datenbank angeben.

strDB = strConPfadZuDenBeisp & "Nordwind.mdb"

' Neue Instanz von Microsoft Access erstellen.

Set appAccess = CreateObject("Access.Application.8")

' Datenbank im Microsoft Access-Fenster öffnen.

appAccess.OpenCurrentDatabase strDB

' Ein neues Formular erstellen.

Set frm = appAccess.CreateForm

' Das neue Formular speichern.

appAccess.DoCmd.Save , "NeuesFormular1"

' Die momentan geöffnete Datenbank schließen.

appAccess.CloseCurrentDatabase

Set AppAccess = Nothing

End Sub


DefaultControl-Methode

Die Methode DefaultControl gibt ein Objekt Control zurück, mit dem Sie für ein bestimmtes Formular die Standardeigenschaften eines bestimmten Typs von Steuerelement einstellen können. Bevor Sie z.B. ein Textfeld auf einem Formular erstellen, möchten Sie möglicherweise die Standardeigenschaften für das Textfeld einstellen. Als nächstes können Sie eine Reihe von Textfeldern erstellen, die über die gleichen grundlegenden Eigenschafteneinstellungen verfügen, anstatt die Eigenschaften für jedes Textfeld einzeln einstellen zu müssen, sobald Sie es erstellt haben.

Syntax

Set Steuerelement = Objekt.DefaultControl(Steuerelementtyp)

Die Methode DefaultControl hat die folgenden Argumente.

Argument	Beschreibung
Steuerelement	Ein Objekt Control, für das die Standardeigenschaften eingestellt werden sollen.
Objekt	Ein Objekt Form oder Report, auf dem Steuerelemente erstellt werden sollen. Die für eine Steuerelementart definierten Standardeigenschafteneinstellungen gelten nur für die auf diesem Formular oder Bericht erstellten Steuerelemente desselben Typs.
Steuerelementtyp	Eine eingebaute Konstante, die den Typ des Steuerelements angibt, für das Standardeigenschafteneinstellungen festgelegt werden sollen.
Hinweis

Die Methode DefaultControl ermöglicht es Ihnen, die Standardeigenschaften eines Steuerelements aus Code heraus festzulegen. Sobald Sie die Standardeigenschaften für einen bestimmten Steuerelementtyp eingestellt haben, hat jedes daraufhin erstellte Steuerelement dieses Typs dieselben Standardwerte.

Wenn Sie z.B. die Eigenschaft FontSize der standardmäßigen Befehlsschaltfläche auf 12 einstellen, wird jede neue Befehlsschaltfläche den Schriftgrad 12 Punkt haben.

Nicht alle Eigenschaften eines Steuerelements sind als Standardeigenschaften verfügbar. Die für ein Steuerelement verfügbaren Standardeigenschaften hängen vom Typ des Steuerelements ab.

Die Methode DefaultControl gibt ein Objekt Control des Typs zurück, der durch das Argument Steuerelementart festgelegt ist. Dieses Objekt Control stellt kein tatsächliches Steuerelement eines Formular dar, sondern ein Standardsteuerelement, das als Vorlage für alle anschließend erstellten Steuerelemente dieses Typs dient. Sie stellen die Standardsteuerelementeigenschaften für das von der Methode DefaultControl zurückgegebene Objekt Control auf die gleiche Weise ein, wie Sie die Eigenschaften für ein Steuerelement eines Formulars einstellen würden.

Eine Liste der eingebauten Konstanten, die als Argument Steuerelementart übergeben werden können, finden Sie unter der Funktion CreateControl. Diese Konstanten werden auch aufgelistet, wenn Sie im Objektkatalog das Modul Constants auswählen.

Die Methode DefaultControl kann nur in der Entwurfsansicht eines Formulars oder der Entwurfsansicht eines Berichts verwendet werden. Falls Sie versuchen, diese Methode auf ein Formular oder einen Bericht anzuwenden, das oder der sich nicht in der Entwurfsansicht befindet, ergibt sich ein Laufzeitfehler.

Wenn Sie versuchen, eine Eigenschaft einzustellen, die nicht als Standardeigenschaft mit der Methode DefaultControl eingestellt werden kann, ergibt sich ein Laufzeitfehler. Wenn Sie ermitteln möchten, welche Eigenschaften Standardeigenschaften sein können, müssen Sie die Auflistung Properties des Objekts Control auswerten, das von der Methode DefaultControl zurückgegeben wird.


DefaultControl-Methode - Beispiel

Das folgende Beispiel erstellt ein neues Formular und verwendet die Methode DefaultControl, um ein Objekt Control zurückzugeben, das die Standardbefehlsschaltfläche darstellt. Die Prozedur stellt einige der Standardeigenschaften für die Befehlsschaltfläche ein und erstellt anschließend eine neue Befehlsschaltfläche auf dem Formular.

Sub StandardeigenschaftenEinstellen()

Dim frm As Form, ctlStandard As Control, ctlNeu As Control

' Ein neues Formular erstellen.

Set frm = CreateForm

' Das Control-Objekt zurückgeben, das der Standardbefehls-

' schaltfläche enstpricht.

Set ctlStandard = frm.DefaultControl(acCommandButton)

' Einige Standardeigenschaften einstellen.

With ctlStandard

.FontWeight = 700

.FontSize = 12

.Width = 3000

.Height = 1000

End With

' Eine neue Befehlsschaltfläche erstellen.

Set ctlNeu = CreateControl(frm.Name, acCommandButton, , , , 500, 500)

' Die Beschriftung des Steuerelements angeben.

ctlNeu.caption = "Neue Befehlsschaltfläche"

' Das Formular aktualisieren.

DoCmd.Restore

End Sub


SizeToFit-Methode

Mit der Methode SizeToFit können Sie die Größe eines Steuerelements an den Text oder das Symbol anpassen, den oder das es enthält. Sie können z.B. die Methode SizeToFit auf eine Befehlsschaltfläche anwenden, die zum Anzeigen des gesamten in ihrer Eigenschaft Caption angegebenen Textes zu schmal ist.

Syntax

Steuerelement.SizeToFit

Die Methode SizeToFit hat das folgende Argument.

Argument	Beschreibung
Steuerelement	Ein Steuerelement, das einen Text oder ein Bild anzeigt. Dazu gehören folgende Steuerelemente: Bezeichnungsfeld, Umschaltfläche, Befehlsschaltfläche, Bild, Objektfeld und Unterformular/-bericht.
Hinweis

Die Anwendung der Methode SizeToFit entspricht der Auswahl eines Steuerelements eines Formulars oder Berichts, dem anschließenden Zeigen auf Größe im Menü Format und dem Klicken auf An Textgröße. Sie können die Methode SizeToFit nur in der Entwurfsansicht eines Formulars oder in der Entwurfsansicht eines Berichts auf Steuerelemente anwenden.

Die Methode SizeToFit vergrößert oder verkleinert ein Steuerelement, je nach der Größe des darin enthaltenen Textes oder Bildes.

Sie können die Methode SizeToFit in Verbindung mit der Funktion CreateControl verwenden, um die Größe neuer Steuerelemente zu ändern, die Sie in Code erstellt haben.

Anmerkung   Nicht alle Steuerelemente, die Text oder ein Bild enthalten, können mit der Methode SizeToFit vergrößert oder verkleinert werden. Einige Steuerelemente sind an Daten gebunden, deren Größe sich von einem Datensatz zum nächsten ändern kann. Zu diesen Steuerelementen gehören folgende Steuerelemente: Textfeld, Listenfeld, Kombinationsfeld und Gebundenes Objektfeld.


SizeToFit-Methode - Beispiel

Das folgende Beispiel erstellt ein neues Formular sowie eine neue Befehlsschaltfläche auf dem Formular. Die Prozedur stellt anschließend die Eigenschaft Caption des Steuerelements ein und paßt die Größe des Steuerelements an die Beschriftung an.

Sub GrößeEinesNeuenSteuerelementsAnpassen()

Dim frm As Form, ctl As Control

' Ein neues Formular erstellen.

Set frm = CreateForm

' Eine neue Befehlsschaltfläche erstellen.

Set ctl = CreateControl(frm.Name, acCommandButton, , , , 500, 500)

' Die Anzeige des Formulars aktualisieren.

DoCmd.Restore

' Die Eigenschaft Caption des Steuerelements einstellen.

ctl.Caption = "Extrem lange Beschriftung für Steuerelement"

' Die Größe des Steuerelements an die Beschriftung anpassen.

ctl.SizeToFit

End Sub


DefaultWorkspaceClone-Methode

Sie können die Methode DefaultWorkspaceClone verwenden, um ein neues Objekt Workspace zu erstellen, ohne daß sich der Benutzer erneut anmelden muß. Wenn Sie z.B. zwei Transaktionen gleichzeitig in getrennten Arbeitsbereichen durchführen müssen, können Sie mit der Methode DefaultWorkspaceClone ein zweites Objekt Workspace mit demselben Benutzernamen und Kennwort erstellen, ohne daß der Benutzer erneut zur Eingabe dieser Informationen aufgefordert wird.

Syntax

Anwendung.DefaultWorkspaceClone

Die Methode DefaultWorkspaceClone hat das folgende Argument.

Argument	Beschreibung
Anwendung	Das Objekt Application.
Hinweis

Die Methode DefaultWorkspaceClone erstellt in Microsoft Access ein Duplikat des standardmäßigen Objekts Workspace. Die Eigenschaften des duplizierten Objekts Workspace haben dieselben Einstellungen wie das standardmäßige Objekt Workspace, mit Ausnahme der Eigenschaft Name. Für das standardmäßige Objekt Workspace ist der Wert der Eigenschaft Name stets #Default Workspace#. Für das duplizierte Objekt Workspace ist der Wert #CloneAccess#.

Die Eigenschaft UserName des standardmäßigen Objekts Workspace zeigt den Namen an, unter dem der jetzige Benutzer angemeldet ist. Das duplizierte Objekt Workspace entspricht dem Objekt Workspace, das erstellt werden würde, wenn sich derselbe Benutzer erneut unter demselben Kennwort anmeldete.


DefaultWorkspaceClone-Methode - Beispiel

Im folgenden Beispiel wird zunächst das standardmäßige Objekt Workspace dupliziert, anschließend werden die Eigenschaften jedes Objekts Workspace aufgelistet.

Sub ArbeitsbereichDuplizieren()

Dim wrkStandard As Workspace, wrkDuplikat As Workspace

Dim prp As Property

On Error Resume Next

' Den Standardarbeitsbereich abrufen.

Set wrkStandard = DBEngine.Workspaces(0)

' Den Standardarbeitsbereich duplizieren.

Set wrkDuplikat = Application.DefaultWorkspaceClone

' Die Eigenschaften jedes Arbeitsbereichs anzeigen.

For Each prp In wrkStandard.Properties

Debug.Print ">>>"; prp.Name; "   "; prp.Value

Next prp

For Each prp In wrkDuplikat.Properties

Debug.Print ">>>"; prp.Name; "   "; prp.Value

Next prp

End Sub


Nz-Funktion

Sie können die Funktion Nz verwenden, um Null, eine leere Zeichenfolge (" ") oder einen anderen festgelegten Wert zurückzugeben, wenn eine Variable des Typs Variant den Wert Null hat. Sie können diese Funktion z.B. verwenden, um einen Wert Null in einen anderen Wert umzuwandeln und so zu verhindern, daß der Wert durch einen Ausdruck verbreitet wird.

Syntax

Nz(Variant[, WertWennNull])

Die Funktion Nz hat die folgenden Argumente.

Argument	Beschreibung
Variant	Eine Variable des Datentyps Variant.
WertWennNull	Optional (wenn nicht in einer Abfrage verwendet). Eine Variable des Datentyps Variant, die einen Wert liefert, der zurückgegeben wird, falls das Argument Variant den Wert Null hat. Dieses Argument ermöglicht es Ihnen, einen Wert zurückzugeben, der ungleich 0 bzw. keine leere Zeichenfolge ist. Wenn Sie in einem Ausdruck in einer Abfrage die Nz-Funktion ohne das Argument WertWennNull verwenden, werden die Ergebnisse in den Feldern, die Nullwerte enthalten leer sein.I
Falls der Wert des Arguments Variant gleich Null ist, gibt die Funktion Nz die Zahl Null oder eine leere Zeichenfolge zurück, je nachdem, ob der Kontext anzeigt, daß der Wert eine Zahl oder eine Zeichenfolge sein soll. Wenn das optionale Argument WertWennNull angegeben ist, gibt die Funktion Nz den durch dieses Argument festgelegten Wert zurück, wenn das Argument Variant den Wert Null hat.

Wenn der Wert von Variant ungleich Null ist, gibt die Funktion Nz den Wert von Variant zurück.

Hinweis

Die Funktion Nz ist für Ausdrücke sinnvoll, die Werte Null enthalten können. Damit ein Ausdruck einen Wert liefert, der ungleich Null ist, auch wenn er einen Wert Null enthält, verwenden Sie die Funktion Nz, um eine 0, eine leere Zeichenfolge oder einen benutzerdefinierten Rückgabewert zurückzugeben.

Der Ausdruck 2 + varX gibt z.B. immer den Wert Null zurück, wenn die Variable varX den Typ Variant hat und mit Null belegt ist. Der Ausdruck 2 + Nz(varX) gibt dagegen 2 zurück.

Sie können die Funktion Nz häufig als Alternative zur Funktion IIf verwenden. So sind z.B. im folgenden Code zwei jeweils mit der Funktion IIf formulierte Ausdrücke erforderlich, um das gewünschte Ergebnis zurückzugeben. Der erste Ausdruck mit der Funktion IIf wird verwendet, um den Wert einer Variablen zu überprüfen und, sofern dieser gleich Null ist, in 0 umzuwandeln.

varTemp = IIf(IsNull(varFracht), 0, varFracht)

varErgebnis = IIf(varTemp > 50, "Hoch", "Niedrig")

Im nächsten Beispiel erledigt die Funktion Nz die gleiche Aufgabe wie der erste Ausdruck, und das gewünschte Ergebnis wird in einem Schritt statt in zwei Schritten erreicht.

varErgebnis = IIf(Nz(varFracht) > 50, "Hoch", "Niedrig")

Wenn Sie einen Wert für das optionale Argument WertWennNull angeben, wird dieser Wert zurückgegeben, wenn Variant den Wert Null hat. Durch Verwendung dieses optionalen Arguments können Sie eventuell darauf verzichten, einen Ausdruck zu verwenden, der die Funktion IIf enthält. Der folgende Ausdruck verwendet z.B. die Funktion IIf, um eine Zeichenfolge zurückzugeben, falls der Wert von varFracht gleich Null ist.

varErgebnis = IIf(IsNull(varFracht), "Keine Frachtkosten", varFracht)

Im nächsten Beispiel liefert das an die Funktion Nz übergebene optionale Argument die Zeichenfolge, die zurückgegeben werden soll, falls varFracht gleich Null ist.

varErgebnis = Nz(varFracht, "Keine Frachtkosten")


Nz-Funktion - Beispiel

Das folgende Beispiel wertet ein Steuerelement eines Formulars aus und gibt eine von zwei Zeichenfolgen zurück, basierend auf dem Wert des Steuerelements. Sofern der Wert des Steuerelements gleich Null ist, verwendet die Prozedur die Funktion Nz, um den Wert Null in eine leere Zeichenfolge umzuwandeln.

Sub WertPrüfen()

Dim frm As Form, ctl As Control

Dim varErgebnis As Variant

' Die Form-Objektvariable einstellen, die auf das Formular

' "Bestellungen" zeigt.

Set frm = Forms!Bestellungen

' Die Control-Objektvariable einstellen, die auf

' "BestellungenRegion" zeigt.

Set ctl = frm!BestellungenRegion

' Das Ergebnis ausgehend vom Wert des Steuerelements wählen.

varErgebnis = IIf(Nz(ctl.Value) = "", "Kein Wert", "Der Wert ist " _

& ctl.Value)

' Das Ergebnis anzeigen.

MsgBox varErgebnis

End Sub


RefreshTitleBar-Methode

Die Methode RefreshTitleBar aktualisiert die Microsoft Access-Titelleiste, nachdem in Visual Basic eine der Eigenschaften AppTitle oder AppIcon eingestellt wurde. Sie können z.B. die Beschriftung in der Microsoft Access-Titelleiste in "Adreßdatenbank" ändern, indem Sie die Eigenschaft AppTitle einstellen.

Syntax

Anwendung.RefreshTitleBar

Die Methode RefreshTitleBar hat das folgende Argument.

Argument	Beschreibung
Anwendung	Das Objekt Application.
Hinweis

Mit den Eigenschaften AppTitle und AppIcon können Sie Ihre Anwendung individuell gestalten und den Titel und das Symbol, die in der Microsoft Access-Titelleiste angezeigt werden, ändern. Die Titelleiste wird nicht automatisch aktualisiert, nachdem Sie diese Eigenschaften eingestellt haben. Damit die Änderungen in der Titelleiste sichtbar werden, müssen Sie die Methode RefreshTitleBar verwenden.

Sie können die Eigenschaften AppTitle und AppIcon auf ihren jeweiligen Standardwert zurücksetzen, indem Sie beide aus der Auflistung Properties des Objekts Database löschen, das der aktuellen Datenbank entspricht. Nachdem Sie diese Eigenschaften gelöscht haben, müssen Sie die Methode RefreshTitleBar anwenden, damit für die Titelleiste wieder die Microsoft Access-Standardeinstellungen wirksam werden.


RefreshTitleBar-Methode - Beispiel

Im folgenden Beispiel wird die Eigenschaft AppTitle der aktuellen Datenbank eingestellt und die Methode RefreshTitleBar zur Aktualisierung der Titelleiste angewandt.

Sub TitelÄndern()

Dim dbs As Database, prp As Property

Const conEigenschNichtGefFehler = 3270

On Error GoTo Fehlerbehandlung

' Die Database-Objektvariable einstellen, die auf die

' aktuelle Datenbank zeigt.

Set dbs = CurrentDb

' Die Titelleiste ändern.

dbs.Properties!AppTitle = "Adreßdatenbank"

'  Die Titelleiste auf dem Bildschirm aktualisieren.

Application.RefreshTitleBar

Exit Sub

FehlerBehandlung:

If Err.Number = conEigenschNichtGefFehler Then

Set prp = dbs.CreateProperty("AppTitle", dbText, "Adreßdatenbank")

dbs.Properties.Append prp

Else

MsgBox "Fehler: " & Err.Number & vbCrLf & Err.Description

End If

Resume Next

End Sub


AddToFavorites-Methode

Die Methode AddToFavorites fügt eine Hyperlinkadresse zum Ordner FAVORITEN hinzu.

Syntax

Objekt.Hyperlink.AddToFavorites

Die Methode AddToFavorites hat folgende Argumente.

Argument	Beschreibung
Objekt	Das Application-Objekt oder ein Control-Objekt, das einen Hyperlink enthält. Bezeichnungsfeld-, Befehlsschaltfläche- und Bild-Steuerelemente können Hyperlinks enthalten.
Hyperlink	Der Hyperlink des Control-Objekts.
Hinweis

Wenn die Methode AddToFavorites auf ein Application-Objekt angewendet wird, fügt sie den Namen der aktuellen Datenbank zum Ordner FAVORITEN hinzu. Wenn Sie beispielsweise mit der Nordwind-Beispieldatenbank arbeiten, bewirkt die Anwendung der Methode AddToFavorites auf das Application-Objekt, daß die Hyperlinkadresse der Nordwind-Datenbank zum Ordner FAVORITEN hinzugefügt wird.

Wenn sie auf ein Control-Objekt angewendet wird, fügt die Methode AddToFavorites die in einem Steuerelement enthaltene Hyperlinkadresse zum Ordner FAVORITEN hinzu. Der Ordner FAVORITEN wird standardmäßig im Ordner WINDOWS eingerichtet.

Sie erzielen dieselbe Wirkung wie die Methode AddToFavorites, wenn Sie in der Web-Symbolleiste im Menü Favoriten auf Zu Favoriten hinzufügen klicken, sofern das Dokument, dessen Adresse hinzugefügt werden soll, geöffnet ist.


AddToFavorites-Methode - Beispiel

Das folgende Beispiel stellt die Eigenschaft HyperlinkAddress einer Befehlsschaltfläche ein. Wenn der Benutzer auf die Befehlsschaltfläche klickt, wird die Adresse mit Hilfe der Methode AddToFavorites zum Ordner FAVORITEN hinzugefügt.

Damit Sie dieses Beispiel testen können, erstellen Sie ein neues Formular, und fügen Sie die Befehlsschaltfläche Befehl0 hinzu. Fügen Sie den folgenden Code in das Modul des Formulars ein. Wechseln Sie dann zur Formularansicht, und klicken Sie auf die Befehlsschaltfläche.

Private Sub Formular_Laden()

Me!Befehl0.HyperlinkAddress = "http://www.microsoft.com/"

End Sub

Private Sub Befehl0_Klicken()

Me!Befehl0.Hyperlink.AddToFavorites

End Sub


AddFromFile-Methode (Module-Objekt)

Die Methode AddFromFile fügt den Inhalt einer Textdatei zu einem Module-Objekt hinzu. Das Module-Objekt kann ein Standardmodul oder ein Klassenmodul sein.

Syntax

Objekt.AddFromFile Dateiname

Die Methode AddFromFile hat folgende Argumente.

Argument	Beschreibung
Objekt	Ein Module-Objekt.
Dateiname	Name und vollständiger Pfad einer Textdatei (.TXT) oder einer anderen Datei, die Text im ANSI-Format speichert.
Hinweis

Die Methode AddFromFile legt den Inhalt der angegebenen Datei unmittelbar hinter dem Deklarationsbereich und vor der ersten Prozedur im Modul ab, falls dieser andere Prozeduren enthält.

Mit der Methode AddFromFile können Sie Code oder in einer Textdatei gespeicherte Kommentare importieren.

Um den Inhalt einer Datei zu einem Formular oder Bericht hinzuzufügen, öffnen Sie das Formular bzw. der Bericht in der Formular-Entwurfsansicht oder Berichts-Entwurfsansicht. Zum Hinzufügen einer Datei zu einem Standard- oder Klassenmodul öffnen Sie das betreffende Modul.


AddFromFile-, AddFromString-Methoden - Beispiel

Die folgende Funktion fügt mit den Methoden AddFromString und AddFromFile eine Zeichenfolge und den Inhalt einer Textdatei zu einem Standardmodul hinzu.

Function HinzufügenVonTextZuModul(strModulname As String, strDateiname As String, strText As String) As Boolean

Dim mdl As Module

On Error GoTo Error_HinzufügenVonTextZuModul

DoCmd.OpenModule strModulname

Set mdl = Modules(strModulname)

mdl.AddFromFile strDateiname

mdl.AddFromString strText

HinzufügenVonTextZuModul = True

Exit_HinzufügenVonTextZuModul:

Exit Function

Error_HinzufügenVonTextZuModul:

MsgBox Err & ": " & Err.Description

HinzufügenVonTextZuModul = False

Resume Exit_HinzufügenVonTextZuModul

End Function

Sie können diese Funktion etwa aus der folgenden Prozedur aufrufen. Erstellen Sie zunächst eine Textdatei mit dem Namen FUNKTIONEN.TXT, fügen Sie einige Visual Basic-Prozeduren hinzu, und speichern Sie die Datei im Verzeichnis EIGENE DATEIEN. Fügen Sie dann die oben aufgeführte Funktion und die folgende Prozedur in ein neues Standardmodul in die Beispieldatenbank Nordwind ein. Führen Sie anschließend die folgende Prozedur aus:

Sub HinzufügenVonFunktionenAusText()

Dim strModulname As String, strDateiname As String

Dim strText As String

strModulname = "Hilfsfunktionen"

strDateiname = "C:\My Documents\Funktionen.txt"

strText = "Public intX As Integer" & vbCrLf _

& "Const conPfadname As String = " _

& """C:\Program Files\Microsoft Office\Office\Beispiel\"""

If HinzufügenVonTextZuModul(strModulname, strDateiname, strText) = True Then

Debug.Print "Zeichenfolge und Dateiinhalt wurden erfolgreich hinzugefügt."

Else

Debug.Print "Zeichenfolge und Dateiinhalt wurden nicht erfolgreich hinzugefügt."

End If

End Sub

Das folgende Beispiel erstellt ein neues Formular und fügt eine Zeichenfolge sowie den Inhalt der Datei FUNKTIONEN.TXT zu dessen Modul hinzu. Führen Sie die folgende Prozedur aus einem Standardmodul heraus aus:

Sub HinzufügenVonTextZuFormularmodul()

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\Funktionen.txt"

End Sub


AddFromString-Methode

Die Methode AddFromString fügt eine Zeichenfolge zu einem Module-Objekt hinzu. Das Module-Objekt kann ein Standardmodul oder ein Klassenmodul sein.

Syntax

Objekt.AddFromString Zeichenfolgenausdruck

Die Methode AddFromString hat folgende Argumente.

Argument	Beschreibung
Objekt	Ein Module-Objekt.
Zeichenfolgenausdruck	Ein Zeichenfolgenausdruck.
Hinweis

Die Methode AddFromString legt den Inhalt einer Zeichenfolge unmittelbar hinter dem Deklarationsbereich und vor der ersten Prozedur im Modul ab, falls dieser andere Prozeduren enthält.

Um den Inhalt einer Zeichenfolge zu einem Formular oder Bericht hinzuzufügen, öffnen Sie das Formular bzw. der Bericht in der Formular-Entwurfsansicht oder Berichts-Entwurfsansicht. Zum Hinzufügen einer Zeichenfolge zu einem Standard- oder Klassenmodul öffnen Sie das betreffende Modul.


CreateEventProc-Methode

Die Methode CreateEventProc erstellt eine Ereignisprozedur in einem Klassenmodul. Sie gibt einen Wert vom Datentyp Long zurück, der die Nummer der ersten Zeile der Ereignisprozedur angibt.

Syntax

Objekt.CreateEventProc(Ereignisname, Objektname)

Die Methode CreateEventProc hat folgende Argumente.

Argument	Beschreibung
Objekt	Ein Module-Objekt vom Typ Form oder Report; dessen Type-Eigenschaft acClassModule, eine Konstante mit dem Wert 1, zurückgibt.
Ereignisname	Ein Zeichenfolgenausdruck, der zum Namen eines Ereignisses ausgewertet wird.
Objektname	Ein Objekt, auf das das im Argument Ereignisname angegebene Ereignis zutrifft. Es kann ein Form-, Report- oder Control-Objekt, ein Formular- oder Berichtsbereich oder ein Klassenmodul sein.
Hinweis

Die Methode CreateEventProc erstellt einen Code-Abschnitt für eine Ereignisprozedur für das angegebene Objekt. Beispielsweise können Sie mit dieser Methode eine Click-Ereignisprozedur für eine Befehlsschaltfläche auf einem Formular erstellen. Microsoft Access erstellt die Click-Ereignisprozedur in dem Modul, das dem Formular mit der betreffenden Befehlsschaltfläche zugeordnet ist.

Wenn Sie den Code-Abschnitt für die Ereignisprozedur mit der Methode CreateEventProc erstellt haben, können Sie Codezeilen mit Hilfe anderer Methoden des Module-Objekts hinzufügen. Beispielsweise können Sie mit der Methode InsertLines eine Codezeile einfügen.


CreateEventProc-, InsertLines-Methoden - Beispiel

Das folgende Beispiel erstellt ein neues Formular, fügt eine Befehlsschaltfläche hinzu und erstellt eine Click-Ereignisprozedur für die Befehlsschaltfläche.

Function ClickEreignisproz() As Boolean

Dim frm As Form, ctl As Control, mdl As Module

Dim lngZurück As Long

On Error GoTo Error_ClickEreignisproz

' Neues Formular erstellen.

Set frm = CreateForm

' Befehlsschaltfläche auf dem Formular erstellen.

Set ctl = CreateControl(frm.Name, acCommandButton, , , , 1000, 1000)

ctl.Caption = "Hier klicken"

' Verweis auf Formularmodul zurückgeben.

Set mdl = frm.Module

' Ereignisprozedur hinzufügen.

lngZurück = mdl.ClickEreignisproz("Click", ctl.Name)

' Text in den Prozedurrumpf einfügen.

mdl.InsertLines lngZurück + 1, vbTab & "MsgBox ""Ruhig bleiben!"""

ClickEreignisproz= True

Exit_ClickEreignisproz:

Exit Function

Error_ClickEreignisproz:

MsgBox Err & " :" & Err.Description

ClickEreignisproz = False

Resume Exit_ClickEreignisproz

End Function


AddFromFile-Methode (References-Auflistung)

Die Methode AddFromFile erstellt einen Verweis auf eine Klassenbibliothek in einer angegebenen Datei.

Syntax

Set Objekt = References.AddFromFile(Dateiname)

Die Methode AddFromFile hat folgende Argumente.

Argument	Beschreibung
Objekt	Ein Reference-Objekt.
Dateiname	Ein Zeichenfolgenausdruck, der zum vollständigen Pfad und Dateinamen der Datei mit der Klassenbibliothek ausgewertet wird, auf die ein Verweis hergestellt werden soll.
Hinweis

In der folgenden Tabelle sind Dateitypen aufgeführt, die häufig Klassenbibliotheken enthalten.

Dateinamenserweiterung	Dateityp
.olb, .tlb	Klassenbibliotheksdatei
.mdb, .mda, .mde	Datenbank
.exe, .dll	Ausführbare Datei
.ocx	ActiveX-Steuerelement


AddFromFile-Methode (References-Auflistung) - Beispiel

Das folgende Beispiel erstellt einen Verweis auf eine angegebene Klassenbibliothek.

Function VerweisAusDatei(strDateiname As String) As Boolean

Dim ref As Reference

On Error GoTo Error_VerweisAusDatei

' Neuen Verweis erstellen.

Set ref = References.AddFromFile(strDateiname)

VerweisAusDatei = True

Exit_VerweisAusDatei:

Exit Function

Error_VerweisAusDatei:

MsgBox Err & ": " & Err.Description

VerweisAusDatei = False

Resume Exit_VerweisAusDatei

End Function

Sie können diese Funktion etwa aus der folgenden Prozedur aufrufen, die einen Verweis auf das Kalender-Steuerelement erstellt.

Sub ErstellenKalenderVerweis()

If VerweisAusDatei("C:\Windows\System\Mscal.ocx") = True Then

MsgBox "Verweis auf Kalender-Steuerelement wurde erfolgreich erstellt."

Else

MsgBox "Verweis auf Kalender-Steuerelement wurde nicht erfolgreich erstellt."

End If

End Sub


AddFromGUID-Methode

Die Methode AddFromGUID erstellt ein Reference-Objekt, das auf dem GUID-Wert für eine Klassenbibliothek basiert.

Syntax

Objekt.AddFromGUID(guid)

Die Methode AddFromGUID hat folgende Argumente.

Argument	Beschreibung
Objekt	Ein Reference-Objekt.
Guid	Ein GUID-Wert, der eine Klassenbibliothek identifiziert.
Hinweis

Die Eigenschaft GUID gibt den GUID-Wert für ein angegebenes Reference-Objekt zurück. Wenn Sie den Wert der Eigenschaft GUID einmal gespeichert haben, können Sie ihn zum Neuerstellen eines verlorengegangenen Verweises verwenden.


DeleteLines-Methode

Die Methode DeleteLines löscht Zeilen in einem Standardmodul oder Klassenmodul.

Syntax

Objekt.DeleteLines Anfangszeile, Anzahl

Die Methode DeleteLines hat folgende Argumente.

Argument	Beschreibung
Objekt	Ein Module-Objekt.
Anfangszeile	Ein Wert vom Datentyp Long, der angibt, ab welcher Zeile gelöscht werden soll.
Anzahl	Ein  Wert vom Datentyp Long, der angibt, wie viele Zeilen gelöscht werden sollen.
Hinweis

Die Zeilen in einem Modul sind ab Eins numeriert. Sie können die Anzahl der Zeilen in einem Modul mit der Eigenschaft CountOfLines ermitteln.

Um eine Zeile durch eine andere zu ersetzen, verwenden Sie die Methode ReplaceLine.


DeleteLines-Methode-, Lines-Eigenschaft - Beispiel

Das folgende Beispiel löscht die angegebene Zeile aus einem Modul.

Function ZeileLöschen(strModulname, strText As String) As Boolean

Dim mdl As Module, lngAnzahlZeilen As Long

Dim lngAnfzeile As Long, lngAnfspalte As Long

Dim lngEndzeile As Long, lngEndspalte As Long

Dim strTemp As String

On Error GoTo Error_ZeileLöschen

DoCmd.OpenModule strModulname

Set mdl = Modules(strModulname)

If mdl.Find(strText, lngAnfzeile, lngAnfspalte, lngEndzeile, lngEndspalte) Then

lngAnzahlZeilen = Abs(lngEndzeile - lngAnfzeile) + 1

strTemp = LTrim$(mdl.Lines(lngAnfzeile, lngAnzahlZeilen))

strTemp = RTrim$(strTemp)

If strTemp = strText Then

mdl.DeleteLines lngAnfzeile, lngAnzahlZeilen

Else

MsgBox "Zeile enthält weiteren Text zusätzlich zu '" _

& strText & "'."

End If

Else

MsgBox "Text '" & strText & "' nicht gefunden."

End If

ZeileLöschen = True

Exit_ZeileLöschen:

Exit Function

Error_ZeileLöschen:

MsgBox Err & " :" & Err.Description

ZeileLöschen = False

Resume Exit_ZeileLöschen

End Function

Sie können diese Funktion etwa aus der folgenden Prozedur aufrufen, die im Modul Modul1 eine Konstantendeklaration sucht und löscht.

Sub LöschenKonstantePi()

If ZeileLöschen("Modul1", "Const conPi = 3.14") Then

Debug.Print "Deklaration der Konstanten Pi wurde erfolgreich gelöscht."

Else

Debug.Print "Deklaration der Konstanten Pi wurde nicht gelöscht."

End If

End Sub


Find-Methode

Die Methode Find sucht den angegebenen Text in einem Standardmodul oder Klassenmodul.

Syntax

Objekt.Find(Ziel, Anfangszeile, Anfangsspalte, Endzeile, Endspalte[, GanzesWort, GroßKlein, Mustervergleich])

Die Methode Find hat folgende Argumente.

Argument	Beschreibung
Objekt	Ein Module-Objekt.
Ziel	Ein Zeichenfolgenausdruck, der zum Suchbegriff ausgewertet wird.
Anfangszeile	Ein Wert vom Datentyp Long, der angibt, ab welcher Zeile gesucht werden soll. Wenn der Suchbegriff gefunden wird, zeigt der Wert des Arguments Anfangszeile auf die Zeile, in der sich das erste Zeichen des betreffenden Textes befindet.
Anfangsspalte	Ein Wert vom Datentyp Long, der angibt, ab welcher Spalte gesucht werden soll. Jedes Zeichen einer Zeile befindet sich in einer eigenen Spalte, wobei die Spalte ganz links im Modul die Spalte Null ist. Wenn der Suchbegriff gefunden wird, zeigt der Wert des Arguments Anfangsspalte auf die Spalte, in der sich das erste Zeichen des betreffenden Textes befindet.
Endzeile	Ein Wert vom Datentyp Long, der angibt, in welcher Zeile der Suchvorgang beendet werden soll. Wenn der Suchbegriff gefunden wird, zeigt der Wert des Arguments Endzeile auf die Zeile, in der sich das letzte Zeichen des betreffenden Textes befindet.
Endspalte	Ein Wert vom Datentyp Long, der angibt, in welcher Spalte der Suchvorgang beendet werden soll. Wenn der Suchbegriff gefunden wird, zeigt der Wert des Arguments Endspalte auf die Zeile, in der sich das letzte Zeichen des betreffenden Textes befindet.
GanzesWort	Optional. Ein Wert vom Datentyp Boolean. True (-1) bewirkt, daß nur nach ganzen Wörtern gesucht wird. False (0) bewirkt, daß der Suchbegriff auch eingebettet in längere Wörter gesucht wird. Standardeinstellung ist False.
GroßKlein	Optional. Ein Wert vom Datentyp Boolean. True bewirkt, daß nur nach Wörtern gesucht wird, deren Groß- und Kleinschreibung mit dem im Argument Ziel angegebenen Suchbegriff genau übereinstimmt. False bewirkt, daß unabhängig von der Groß-/Kleinschreibung gesucht wird. Standardeinstellung ist False.
Mustervergleich	Optional. Ein Wert vom Datentyp Boolean. True bewirkt, daß im Argument Ziel Platzhalter, wie z.B. Sternchen (*) und Fragezeichen (?) als besondere Suchoperatoren erlaubt sind. False (0) bewirkt, daß Fragezeichen und Sternchen nicht als Platzhalter interpretiert werden. Standardeinstellung ist False.
Hinweis

Die Methode Find sucht die angegebene Textzeichenfolge in einem Module-Objekt. Wenn die Zeichenfolge gefunden wird, gibt die Methode Find den Wert True zurück, andernfalls False.

Wenn Sie die Position des gefundenen Textes im Modul ermitteln möchten, übergeben Sie an die Methode Find leere Variablen für die Argumente Anfangszeile, Anfangsspalte, Endzeile und Endspalte. Wenn der Suchbegriff gefunden wird, enthalten diese Argumente die Nummern der Zeile und Spalte, an der der gefundene Text beginnt (Anfangszeile, Anfangsspalte) und endet (Endzeile, Endspalte).

Wenn z.B. der gefundene Text in Zeile 5 ab Spalte 10 beginnt und in Spalte 20 endet, haben diese Argumente folgende Werte: Anfangszeile = 5, Anfangsspalte = 10, Endzeile = 5, Endspalte = 20.


Find-, ReplaceLine-Methoden - Beispiel

Die folgende Funktion sucht eine bestimmte Zeichenfolge in einem Modul und ersetzt die Zeile, in der sich die Zeichenfolge befindet, durch eine andere angegebene Zeile.

Function SuchenUndErsetzen(strModulname As String, strSuchText As String, _

strNeuerText As String) As Boolean

Dim mdl As Module

Dim lngAnfangszeile As Long, lngAnfangsspalte As Long

Dim lngEndzeile As Long, lngEndspalte As Long

Dim strzeile As String, strNeueZeile As String

Dim intChr As Integer, intVorher As Integer, intNachher As Integer

Dim strLinks As String, strRechts As String

' Modul öffnen.

DoCmd.OpenModule strModulname

' Verweis auf Module-Objekt zurückgeben.

Set mdl = Modules(strModulname)

' Zeichenfolge suchen.

If mdl.Find(strSuchText, lngAnfangszeile, lngAnfangsspalte, lngEndzeile, lngEndspalte) Then

' Textzeile speichern, in der der Suchbegriff vorkommt.

strZeile = mdl.Lines(lngAnfangszeile, Abs(lngEndzeile - lngAnfangszeile) + 1)

' Zeilenlänge ermitteln.

intChr = Len(strZeile)

' Anzahl der Zeichen vor dem Suchbegriff ermitteln.

intVorher = lngAnfangsspalte - 1

' Anzahl der Zeichen hinter dem Suchbegriff ermitteln.

intNachher = intChr - CInt(lngEndspalte - 1)

' Zeichen links vom Suchbegriff speichern.

strLinks = Left$(strZeile, intVorher)

' Zeichen rechts vom Suchbegriff speichern.

strRechts = Right$(strZeile, intNachher)

' Zeichenfolge mit dem Ersatztext erstellen.

strNeueZeile = strLinks & strNeuerText & strRechts

' Ursprüngliche Zeile ersetzen.

mdl.ReplaceLine lngAnfangszeile, strNeueZeile

SuchenUndErsetzen = True

Else

MsgBox "Text nicht gefunden."

SuchenUndErsetzen = False

End If

Exit_SuchenUndErsetzen:

Exit Function

Error_SuchenUndErsetzen:

MsgBox Err & ": " & Err.Description

SuchenUndErsetzen = False

Resume Exit_SuchenUndErsetzen

End Function


Follow-Methode

Die Methode Follow öffnet das Dokument oder die Web-Seite, das bzw. die durch eine Hyperlinkadresse angegeben und einem Steuerelement auf einem Formular oder Bericht zugeordnet ist.

Syntax

Objekt.Hyperlink.Follow[([NeuesFenster], [VerlaufHinzufügen], [Extrainfo], [Methode], [Kopfinfo])]

Die Methode Follow hat folgende Argumente.

Argument	Beschreibung
Objekt	Ein Control-Objekt, das einen Hyperlink enthält. Bezeichnungsfeld-, Befehlsschaltfläche- und Bild-Steuerelemente können Hyperlinks enthalten.
Hyperlink	Der Hyperlink des Control-Objekts.
NeuesFenster	Ein Wert vom Datentyp Boolean. True (-1) bewirkt, daß das Dokument in einem neuen Fenster geöffnet wird. False (0) bewirkt, daß das Dokument im aktuellen Fenster geöffnet wird. Standardeinstellung ist False.
VerlaufHinzufügen	Ein Wert vom Datentyp Boolean. True bewirkt, daß der Hyperlink zum Ordner VERLAUF hinzugefügt wird. False bewirkt, daß der Hyperlink nicht zum Ordner VERLAUF hinzugefügt wird. Standardeinstellung ist True.
Extrainfo	Eine Zeichenfolge oder ein Datenfeld vom Typ Byte, die bzw. der Zusatzinformationen für das Navigieren zu einem Hyperlink enthält. Beispielsweise können Sie in diesem Argument einen Suchparameter für eine .ASP- oder .IDC-Datei angeben. In Ihrem WebBrowser kann das Argument Extrainfo nach der Hyperlinkadresse, von dieser durch ein Fragezeichen (?) getrennt, auftauchen. Sie müssen das Fragezeichen nicht mit einbeziehen, wenn Sie das Argument Extrainfo angeben.
Methode	Ein Wert vom Datentyp Integer, der angibt, wie das Argument Extrainfo verknüpft ist. Für das Argument Methode sind folgende eingebaute Konstanten zulässig:
	Konstante	Beschreibung
	msoMethodGet	Das Argument Extrainfo wird an die Hyperlinkadresse angefügt und kann nur eine Zeichenfolge sein. Dieser Wert wird standardmäßig übergeben.
	MsoMethodPost	Das Argument Extrainfo wird als Zeichenfolge oder als Datenfeld vom Typ Byte gesendet.
Kopfinfo	Eine Zeichenfolge, die Kopfinformationen angibt. Standardmäßig ist das Argument Kopfinfo eine leere Zeichenfolge (" ").
Hinweis

Die Methode Follow hat dieselbe Wirkung wie das Klicken auf einen Hyperlink.

Sie können die Methode Follow in eine Ereignisprozedur einschließen, um einen Hyperlink als Antwort auf eine Benutzeraktion zu öffnen. Beispielsweise können Sie eine Web-Seite mit Referenzinformationen öffnen, wenn ein Benutzer ein bestimmtes Formular öffnet.

Wenn Sie die Methode Follow verwenden, brauchen Sie die in der Eigenschaft HyperlinkAddress des Steuerelements angegebene Adresse nicht zu kennen. Es genügt, wenn Sie den Namen des Steuerelements kennen, das den Hyperlink enthält. Wenn Sie dagegen die Methode FollowHyperlink verwenden, geben Sie die Adresse für den Hyperlink an, dem Sie folgen möchten.


Follow-Methode - Beispiel

Das folgende Beispiel stellt die Eigenschaft HyperlinkAddress einer Befehlsschaltfläche ein und öffnet den Hyperlink, wenn das Formular geladen wird.

Damit Sie dieses Beispiel testen können, erstellen Sie ein Formular und fügen Sie die Befehlsschaltfläche Befehl0 hinzu. Fügen Sie dann den folgenden Code in das Modul des Formulars ein, und wechseln Sie zur Formularansicht.

Private Sub Formular_Laden()

Dim ctl As CommandButton

Set ctl = Me!Befehl0

With ctl

.Visible = False

.HyperlinkAddress = "http://www.microsoft.com/"

.Hyperlink.Follow

End With

End Sub


FollowHyperlink-Methode

Die Methode FollowHyperlink öffnet das Dokument oder die Web-Seite, das bzw. die durch eine Hyperlinkadresse angegeben ist.

Syntax

[Anwendung.]FollowHyperlink Adresse, [Unteradresse], [NeuesFenster], [VerlaufHinzufügen], [Extrainfo], [Methode], [Kopfinfo]

Die Methode FollowHyperlink hat folgende Argumente.

Argument	Beschreibung
Anwendung	Das Microsoft Access Application-Objekt.
Adresse	Ein Zeichenfolgenausdruck, der zu einer gültigen Hyperlinkadresse ausgewertet wird.
Unteradresse	Ein Zeichenfolgenausdruck, der zu einer benannten Position in dem Dokument ausgewertet wird, das im Argument Adresse angegeben wird. Standardeinstellung ist eine leere Zeichenfolge (" ").
NeuesFenster	Ein Wert vom Datentyp Boolean. True (-1) bewirkt, daß das Dokument in einem neuen Fenster geöffnet wird. False (0) bewirkt, daß das Dokument im aktuellen Fenster geöffnet wird. Standardeinstellung ist False.
VerlaufHinzufügen	Ein Wert vom Datentyp Boolean. True bewirkt, daß der Hyperlink zum Ordner VERLAUF hinzugefügt wird. False bewirkt, daß der Hyperlink nicht zum Ordner VERLAUF hinzugefügt wird. Standardeinstellung ist True.
Extrainfo	Eine Zeichenfolge oder ein Datenfeld vom Typ Byte, die bzw. der Zusatzinformationen für das Navigieren zu einem Hyperlink enthält. Beispielsweise können Sie in diesem Argument einen Suchparameter für eine .asp- oder .idc-Datei angeben. In Ihrem WebBrowser kann das Argument Extrainfo nach der Hyperlinkadresse, von dieser durch ein Fragezeichen (?) getrennt, auftauchen. Sie müssen das Fragezeichen nicht mit einbeziehen, wenn Sie das Argument Extrainfo angeben.
Methode	Ein Wert vom Datentyp Integer, der angibt, wie das Argument Extrainfo verknüpft ist. Für das Argument Methode sind folgende eingebaute Konstanten zulässig:
	Konstante	Beschreibung
	msoMethodGet	Das Argument Extrainfo wird an die Hyperlinkadresse angefügt und kann nur eine Zeichenfolge sein. Dieser Wert wird standardmäßig übergeben.
	msoMethodPost	Das Argument Extrainfo wird als Zeichenfolge oder als Datenfeld vom Typ Byte gesendet.
Kopfinfo	Eine Zeichenfolge, die Kopfinformationen angibt. Standardmäßig ist das Argument Kopfinfo eine leere Zeichenfolge (" ").
Hinweis

Mit der Methode FollowHyperlink können Sie einem Hyperlink folgen, der keinem Steuerelement zugeordnet ist. Der Hyperlink kann von Ihnen selbst oder vom Benutzer bereitgestellt werden. Beispielsweise können Sie einen Benutzer zur Eingabe einer Hyperlinkadresse in einem Dialogfeld auffordern und dann die Methode FollowHyperlink verwenden, um dem Hyperlink zu folgen.

Sie können die Argumente Extrainfo und Methode dazu verwenden, zusätzliche Informationen bereitzustellen, wenn Sie zu einem Hyperlink navigieren. Sie können z. B. Parameter für eine Suchmaschine bereitstellen. Um auf der Yahoo-Site nach Informationen über Microsoft zu suchen, können Sie die Methode FollowHyperlink folgendermaßen aufrufen:

Application.FollowHyperlink "http://search.yahoo.com/bin/search", _

, , , "p=Microsoft", msoMethodGet

Sie können die Methode Follow verwenden, um einem Hyperlink zu folgen, der einem Steuerelement zugeordnet ist.


FollowHyperlink-Methode - Beispiel

Die folgende Funktion fordert den Benutzer zur Eingabe einer Hyperlinkadresse auf und folgt dann dem Hyperlink.

Function HolenBenutzeradresse() As Boolean

Dim strEingabe As String

On Error GoTo Error_HolenBenutzeradresse

strEingabe = InputBox("Geben Sie eine gültige Adresse ein")

Application.FollowHyperlink strEingabe, , True

HolenBenutzeradresse = True

Exit_HolenBenutzeradresse:

Exit Function

Error_HolenBenutzeradresse:

MsgBox Err & ": " & Err.Description

HolenBenutzeradresse= False

Resume Exit_HolenBenutzeradresse

End Function

Sie können diese Funktion etwa aus der folgenden Prozedur aufrufen.

Sub AufrufHolenBenutzeradresse()

If HolenBenutzeradresse = True Then

MsgBox "Dem Hyperlink wurde erfolgreich gefolgt."

Else

MsgBox "Dem Hyperlink konnte nicht gefolgt werden."

End If

End Sub


InsertLines-Methode

Die Methode InsertLines fügt eine oder mehrere Codezeilen in ein Standardmodul oder Klassenmodul ein.

Syntax

Objekt.InsertLines Zeile, Zeichenfolge

Die Methode InsertLines hat folgende Argumente.

Argument	Beschreibung
Objekt	Ein Module-Objekt.
Zeile	Die Nummer der Zeile, ab der eingefügt werden soll.
Zeichenfolge	Der Text, der im Modul eingefügt werden soll.
Hinweis

Bei Verwendung der Methode InsertLines wird der Code in der im Argument Zeile angegebenen Zeile nach unten verschoben.

Wenn Sie mehrere Zeilen hinzufügen möchten, verwenden Sie die eingebaute Konstante vbCrLf an den vorgesehenen Zeilenumbrüchen in der Zeichenfolge, die Sie im Argument Zeichenfolge angeben. Diese Konstante fügt einen Wagenrücklauf und Zeilenvorschub ein.

Die Zeilen in einem Modul sind ab Eins numeriert. Sie können die Anzahl der Zeilen in einem Modul mit der Eigenschaft CountOfLines ermitteln.


InsertText-Methode

Die Methode InsertText fügt eine Textzeichenfolge in ein Standardmodul oder Klassenmodul ein.

Syntax

Objekt.InsertText Text

Die Methode InsertText hat folgende Argumente.

Argument	Beschreibung
Objekt	Ein Module-Objekt.
Text	Der Text, der im Modul eingefügt werden soll.
Hinweis

Wenn Sie eine Zeichenfolge mit der Methode InsertText einfügen, fügt Microsoft Access den neuen Text am Modulende hinter allen anderen Prozeduren an.

Wenn Sie mehrere Zeilen hinzufügen möchten, verwenden Sie die eingebaute Konstante vbCrLf an den vorgesehenen Zeilenumbrüchen in der Zeichenfolge, die Sie im Argument Text angeben. Diese Konstante fügt einen Wagenrücklauf und Zeilenvorschub ein.

Wenn Sie angeben möchten, in welcher Zeile der Text eingefügt werden soll, verwenden Sie die Methode InsertLines. Zum Einfügen von Code im Deklarationsbereich des Moduls verwenden Sie nicht die Methode InsertText, sondern die Methode InsertLines.

Anmerkung   In früheren Versionen von Microsoft Access war InsertText eine Methode des Application-Objekts. Sie können die Methode InsertText des Application-Objekts weiterhin verwenden; es wird jedoch empfohlen, statt dessen die Methode InsertText des Module-Objekts zu verwenden.


InsertText-Methode - Beispiel

Das folgende Beispiel fügt eine Textzeichenfolge in ein Standardmodul ein.

Function EinfügenText(strModulname) As Boolean

Dim mdl As Module, strText As String

On Error GoTo Error_EinfügenText

' Modul öffnen.

DoCmd.OpenModule strModulname

' Verweis auf Module-Objekt zurückgeben.

Set mdl = Modules(strModulname)

' Zeichenfolgenvariable initialisieren.

strText = "Sub DisplayMessage()" & vbCrLf _

& vbTab & "MsgBox ""Super!""" & vbCrLf _

& "End Sub"

' Text in Modul einfügen.

mdl.InsertText strText

EinfügenText = True

Exit_EinfügenText:

Exit Function

Error_EinfügenText:

MsgBox Err & ": " & Err.Description

EinfügenText = False

Resume Exit_EinfügenText

End Function


RefreshDatabaseWindow-Methode

Die Methode RefreshDatabaseWindow aktualisiert das Datenbankfenster, nachdem eine Tabelle, eine Abfrage, ein Formular, ein Bericht, ein Makro oder ein Modul erstellt, gelöscht oder umbenannt wurde.

Syntax

[Anwendung.]RefreshDatabaseWindow

Die Methode RefreshDatabaseWindow hat folgende Argumente.

Argument	Beschreibung
Anwendung	Das Microsoft Access Application-Objekt.
Hinweis

Mit der Methode RefreshDatabaseWindow können Sie Änderungen von Objekten in Microsoft Access unmittelbar im Datenbankfenster darstellen. Wenn Sie beispielsweise ein neues Formular aus Visual Basic hinzufügen und speichern, können Sie den Namen des neuen Formulars mit der Methode RefreshDatabaseWindow auf der Registerkarte Formulare des Datenbankfensters unmittelbar nach dem Speichern des Formulars anzeigen.


RefreshDatabaseWindow-Methode - Beispiel

Das folgende Beispiel erstellt ein neues Formular, speichert es, und aktualisiert das Datenbankfenster.

Sub ErstellenFormularUndAktualisieren()

Dim frm As Form

Set frm = CreateForm

DoCmd.Save , "NeuesFormular"

RefreshDatabaseWindow

End Sub


ReplaceLine-Methode

Die Methode ReplaceLine ersetzt eine angegebene Zeile in einem Standardmodul oder Klassenmodul.

Syntax

Objekt.ReplaceLine Zeile, Zeichenfolge

Die Methode ReplaceLine hat folgende Argumente.

Argument	Beschreibung
Objekt	Ein Module-Objekt.
Zeile	Ein Wert vom Datentyp Long, der die Nummer der zu löschenden Zeile angibt.
Zeichenfolge	Der Text, der die bestehende Zeile ersetzen soll.
Hinweis

Die Zeilen in einem Modul sind ab Eins numeriert. Sie können die Anzahl der Zeilen in einem Modul mit der Eigenschaft CountOfLines ermitteln.


RunCommand-Methode

Die Methode RunCommand führt einen eingebauten Menü- oder Symbolleistenbefehl aus.

Syntax

[Objekt.]RunCommand Befehl

Die Methode RunCommand hat folgende Argumente.

Argument	Beschreibung
Objekt	Optional. Das Application-Objekt oder das DoCmd-Objekt.
Befehl	Eine eingebaute Konstante, die festlegt, welcher eingebaute Menü- oder Symbolleistenbefehl ausgeführt wird.
Hinweis

Jedem Menü- und Symbolleistenbefehl ist in Microsoft Access eine Konstante zugeordnet, den Sie mit der Methode RunCommand verwenden können, um den Befehl aus Visual Basic auszuführen.

Eine Liste der zulässigen Konstanten für das Argument Befehl finden Sie unter RunCommand-Konstanten. Sie können sich diese Konstanten ebenfalls im Objektkatalog anschauen. Wählen Sie Access in der Drop-Down-Liste Projekt/Bibliothek, wählen Sie dann AcCommand in der Liste Klassen aus. Die Konstanten werden in der Liste Elemente von angezeigt.

Sie können die Methode RunCommand nicht dazu verwenden, einen Befehl in einem benutzerdefinierten Menü oder einer benutzerdefinierten Symbolleiste auszuführen. Sie können sie nur mit eingebauten Menüs und Symbolleisten verwenden.

Die Methode RunCommand ersetzt die Methode DoMenuItem des DoCmd-Objekts.


RunCommand-Methode - Beispiel

Das folgende Beispiel verwendet die Methode RunCommand, um das Dialogfeld Optionen (im Menü Extras durch Klicken auf Optionen verfügbar) zu öffnen.

Function ÖffnenDialogfeldOptionen() As Boolean

On Error GoTo Error_ÖffnenDialogfeldOptionen

DoCmd.RunCommand acCmdOptions

ÖffnenDialogfeldOptionen = True

Exit_ÖffnenDialogfeldOptionen:

Exit Function

Error_ÖffnenDialogfeldOptionen:

MsgBox Err & ": " & Err.Description

ÖffnenDialogfeldOptionen = False

Resume Exit_ÖffnenDialogfeldOptionen

End Function


GUIDFromString-Funktion

Die Funktion GUIDFromString wandelt eine Zeichenfolge in einen GUID-Wert um. Dieser ist ein Datenfeld vom Typ Byte.

Syntax

GUIDFromString(Zeichenfolgenausdruck)

Die Funktion GUIDFromString hat folgende Argumente.

Argument	Beschreibung
Zeichenfolgenausdruck	Ein Zeichenfolgenausdruck, der zu einem als Zeichenfolge vorliegenden GUID-Wert ausgewertet wird.
Hinweis

Die Microsoft Jet-Datenbank-Engine speichert GUIDs als Datenfelder vom Typ Byte. Microsoft Access kann jedoch keine Byte-Daten aus einem Steuerelement auf einem Formular oder Bericht zurückgeben. Um einen GUID-Wert aus einem Steuerelement zurückzugeben, wandeln Sie ihn daher in eine Zeichenfolge um. Verwenden Sie zum Umwandeln eines GUID-Werts in eine Zeichenfolge die Funktion StringFromGUID. Um eine Zeichenfolge in einen GUID-Wert umzuwandeln, verwenden Sie die Funktion GUIDFromString.


GUIDFromString-Funktion - Beispiel

Das folgende Beispiel wandelt mit der Funktion GUIDFromString eine Zeichenfolge in einen GUID-Wert um. Die Zeichenfolge ist ein GUID-Wert, der als Zeichenfolge in der replizierten Tabelle Personal gespeichert ist. Das Feld s_GUID ist ein ausgeblendetes Feld, das in einer replizierten Datenbank zu jeder replizierten Tabelle hinzugefügt wird.

Sub ÜberprüfenGUIDTyp()

Dim dbs As Database, rst As Recordset

Set dbs = CurrentDb

Set rst = dbs.OpenRecordset("Personal")

Debug.Print rst!s_GUID

Debug.Print TypeName(rst!s_GUID)

Debug.Print TypeName(GuidFromString(rst!s_GUID))

End Sub


StringFromGUID-Funktion

Die Funktion StringFromGUID wandelt einen GUID-Wert in eine Zeichenfolge um. Ein GUID-Wert ist ein Datenfeld vom Typ Byte.

Syntax

StringFromGUID(guid)

Die Funktion StringFromGUID hat folgende Argumente.

Argument	Beschreibung
guid	Ein Datenfeld vom Typ Byte, das eine Anwendung, eine Komponente oder ein Datenelement für das Betriebssystem eindeutig identifiziert.
Hinweis

Die Microsoft Jet-Datenbank-Engine speichert GUIDs als Datenfelder vom Typ Byte. Microsoft Access kann jedoch keine Byte-Daten aus einem Steuerelement auf einem Formular oder Bericht zurückgeben. Um einen GUID-Wert aus einem Steuerelement zurückzugeben, wandeln Sie ihn daher in eine Zeichenfolge um. Verwenden Sie zum Umwandeln eines GUID-Werts in eine Zeichenfolge die Funktion StringFromGUID. Wandeln Sie umgekehrt eine Zeichenfolge in einen GUID-Wert mit der Funktion GUIDFromString um.

Es kommt beispielsweise vor, daß Sie bei der Datenbankreplikation auf ein Feld verweisen möchten, das einen GUID-Wert enthält. Um in einem Formular den Wert eines Steuerelements zurückzugeben, das an ein Feld gebunden ist, welches einen GUID-Wert enthält, wandeln Sie den GUID-Wert mit der Funktion StringFromGUID in eine Zeichenfolge um.

Wenn Sie ein Steuerelement an das Feld s_GUID einer replizierten Tabelle binden möchten, beachten Sie, daß Sie zunächst im Menü Extras auf Optionen klicken und dann im Dialogfeld Optionen auf der Registerkarte Ansicht das Kontrollkästchen Systemobjekte aktivieren.


StringFromGUID-Funktion - Beispiel

Das folgende Beispiel gibt den Wert des Steuerelements s_GUID auf dem Formular Personal als Zeichenfolge zurück und weist ihn einer Zeichenfolgenvariablen zu. Das Steuerelement s_GUID ist an das Feld s_GUID gebunden, ein Systemfeld, das in einer replizierten Datenbank zu jeder replizierten Tabelle hinzugefügt wird.

Sub ZeichenfolgenwertVonGUID()

Dim ctl As Control, strGUID As String

Set ctl = Forms!Personal!s_GUID

Debug.Print TypeName(ctl.Value)

strGUID = StringFromGUID(ctl.Value)

Debug.Print TypeName(strGUID)

End Sub


Add-Methode (Pages-Auflistung)

Die Methode Add fügt ein neues Page-Objekt zur Pages-Auflistung eines Register-Steuerelements hinzu.

Syntax

Objekt.Add [Vor]

Die Methode Add hat folgende Argumente.

Argument	Beschreibung
Objekt	Die Pages-Auflistung eines Register-Steuerelements.
Vor	Ein Integer-Wert, der den Index des Page-Objekts angibt, vor dem das neue Page-Objekt hinzugefügt werden soll. Der Index des Page-Objekts entspricht dem Wert der Eigenschaft PageIndex für das Page-Objekt. Wenn Sie dieses Argument weglassen, wird das neue Page-Objekt am Ende der Auflistung angefügt.
Hinweis

Das erste Page-Objekt in der Pages-Auflistung entspricht der am weitesten links liegenden Seite im Register-Steuerelement und besitzt den Index 0. Das zweite Page-Objekt befindet sich unmittelbar rechts neben der ersten Seite und hat den Index 1 usw. für alle Page-Objekte im Register-Steuerelement.

Wenn Sie 0 für das Argument Vor angeben, wird das neue Page-Objekt vor dem ersten Page-Objekt in der Pages-Auflistung hinzugefügt. Das neue Page-Objekt wird dann das erste Page-Objekt in der Auflistung und erhält den Index 0.

Sie können ein Page-Objekt zur Pages-Auflistung eines Register-Steuerelements nur dann hinzufügen, wenn sich das Formular in der Entwurfsansicht befindet.


Add-, Remove-Methoden (Pages-Auflistung) - Beispiel

Das folgende Beispiel fügt eine Seite zu einem Register-Steuerelement auf einem Formular hinzu, das sich in der Entwurfsansicht befindet. Damit Sie dieses Beispiel testen können, erstellen Sie das neue Formular Formular1 mit dem Register-Steuerelement RegCtl0. Fügen Sie den folgenden Code in ein Standardmodul ein, und führen Sie ihn aus.

Function HinzufügenSeite() As Boolean

Dim frm As Form

Dim tbc As TabControl, pge As Page

On Error GoTo Error_HinzufügenSeite

Set frm = Forms!Formular1

Set tbc = frm!RegCtl0

tbc.Pages.Add

HinzufügenSeite = True

Exit_HinzufügenSeite:

Exit Function

Error_HinzufügenSeite:

MsgBox Err & ": " & Err.Description

HinzufügenSeite = False

Resume Exit_HinzufügenSeite

End Function

Das folgende Beispiel entfernt Seiten aus dem Register-Steuerelement.

Function EntfernenSeite() As Boolean

Dim frm As Form

Dim tbc As TabControl, pge As Page

On Error GoTo Error_EntfernenSeite

Set frm = Forms!Formular1

Set tbc = frm!RegCtl0

tbc.Pages.Remove

EntfernenSeite = True

Exit_EntfernenSeite:

Exit Function

Error_EntfernenSeite:

MsgBox Err & ": " & Err.Description

EntfernenSeite = False

Resume Exit_EntfernenSeite

End Function


Remove-Methode (Pages-Auflistung)

Die Methode Remove entfernt ein Page-Objekt aus der Pages-Auflistung eines Register-Steuerelements.

Syntax

Objekt.Remove [Element]

Die Methode Remove hat folgende Argumente.

Argument	Beschreibung
Objekt	Ein Zeichenfolgenausdruck, der zur Pages-Auflistung eines Register-Steuerelements ausgewertet wird.
Element	Ein Integer-Wert, der den Index des Page-Objekts angibt, das entfernt werden soll. Der Index des Page-Objekts entspricht dem Wert der Eigenschaft PageIndex für das Page-Objekt. Wenn Sie dieses Argument weglassen, wird das letzte Page-Objekt aus der Auflistung entfernt.
Hinweis

Die Indizierung der Pages-Auflistung beginnt bei Null. Die am weitesten links liegende Seite im Register-Steuerelement besitzt den Index 0, die Seite unmittelbar rechts daneben hat den Index 1 usw.

Sie können ein Page-Objekt aus der Pages-Auflistung eines Register-Steuerelements nur dann entfernen, wenn sich das Formular in der Entwurfsansicht befindet.


Remove-Methode (References-Auflistung)

Die Methode Remove entfernt ein Reference-Objekt aus der References-Auflistung.

Syntax

Objekt.Remove Referenz

Die Methode Remove hat folgende Argumente.

Argument	Beschreibung
Objekt	Ein Zeichenfolgenausdruck, der zur References-Auflistung ausgewertet wird.
Referenz	Das Reference-Objekt, das den zu entfernenden Verweis darstellt.
Hinweis

Um den Namen des zu entfernenden Reference-Objekts zu ermitteln, überprüfen Sie das Feld Projekt/Bibliothek im Objektkatalog. In diesem Feld werden die Namen aller momentan eingestellten Verweise aufgeführt. Jeder Name entspricht dem Wert der Eigenschaft Name eines Reference-Objekts.


Remove-Methode (References-Auflistung) - Beispiel

Die beiden folgenden Funktionen verwalten Verweise auf Kalender-Steuerelemente. Die erste Funktion fügt zur References-Auflistung einen Verweis auf das Kalender-Steuerelement hinzu. Die zweite Funktion entfernt den Verweis auf das Kalender-Steuerelement.

Function HinzufügenReferenz() As Boolean

Dim ref As Reference, strDatei As String

On Error GoTo Error_HinzufügenReferenz

strDatei = "C:\Windows\System\Mscal.ocx"

' Verweis auf Kalender-Steuerelement erstellen.

Set ref = References.AddFromFile(strDatei)

HinzufügenReferenz = True

Exit_HinzufügenReferenz:

Exit Function

Error_HinzufügenReferenz:

MsgBox Err & ": " & Err.Description

HinzufügenReferenz = False

Resume Exit_HinzufügenReferenz

End Function

Function EntfernenReferenz() As Boolean

Dim ref As Reference

On Error GoTo Error_EntfernenReferenz

Set ref = References!MSACAL

' Verweis auf Kalender-Steuerelement entfernen.

References.Remove ref

EntfernenReferenz= True

Exit_EntfernenReferenz:

Exit Function

Error_EntfernenReferenz:

MsgBox Err & ": " & Err.Description

EntfernenReferenz = False

Resume Exit_EntfernenReferenz

End Function


DoCmd-Objekt

Sie können die Methoden des Objekts DoCmd verwenden, um Microsoft Access-Aktionen aus Visual Basic heraus auszuführen. Eine Aktion führt Operationen durch, wie das Schließen von Fenstern, das Öffnen von Formularen und das Einstellen der Werte von Steuerelementen. Sie können z.B. mit der Methode OpenForm des Objekts DoCmd ein Formular öffnen oder mit der Methode Hourglass dem Mauszeiger das Aussehen eines Sanduhrsymbols geben.

Anmerkung   Das Objekt DoCmd ersetzt die in Microsoft Access, Version 1.x und 2.0, verwendete Anweisung DoCmd. Die Aktionen, die als Argumente der Anweisung DoCmd verwendet wurden, sind jetzt Methoden des Objekts DoCmd. In Microsoft Access, Version 2.0, könnten Sie z.B. folgende Befehlszeile verwenden, um aus Access Basic heraus ein Formular zu öffnen: DoCmd OpenForm "Bestellungen". In Microsoft Access 97 verwenden Sie folgende Syntax:

DoCmd.OpenForm "Bestellungen"

Syntax

[Anwendung.]DoCmd.Methode [Arg1, Arg2, ...]

Das Objekt DoCmd hat die folgenden Argumente.

Argument	Beschreibung
Anwendung	Optional. Das Application-Objekt.
Methode	Eine der von diesem Objekt unterstützten Methoden.
Arg1, Arg2, ...	Die Argumente für die ausgewählte Methode. Diese Argumente entsprechen den Aktionsargumenten für die zugehörige Aktion.
Hinweis

Die meisten Methoden des Objekts DoCmd haben Argumente, von denen einige erforderlich, während andere optional sind. Für optionale Argumente, die Sie nicht angeben, werden deren für die jeweilige Methode wirksamen Standardwerte angenommen. Die Methode OpenForm hat z.B. sieben Argumente, von denen jedoch lediglich das erste Argument, Formularname, erforderlich ist. Das folgende Beispiel zeigt, wie Sie das Formular Personal in der aktuellen Datenbank öffnen können. Es werden nur Angestellte berücksichtigt, die die Position einer Vertriebsmitarbeiterin einnehmen.

DoCmd.OpenForm "Personal", , ,"[Position] = 'Vertriebsmitarbeiterin'"

Das Objekt DoCmd unterstützt keine Methoden, die den folgenden Aktionen entsprechen:

•	HinzufügenMenü

•	Meldung. Verwenden Sie die Funktion MsgBox.

•	AusführenAnwendung. Verwenden Sie die Funktion Shell, um eine andere Anwendung auszuführen.

•	AusführenCode. Führen Sie die jeweilige Funktion direkt in Visual Basic aus.

•	Tastaturbefehle. Verwenden Sie die Anweisung SendKeys.

•	SetzenWert. Stellen Sie den Wert direkt in Visual Basic ein.

•	StopAlleMakros

•	StopMakro

Weitere Informationen zu den Microsoft Access-Aktionen, die einer Methode DoCmd entsprechen, finden Sie im Hilfeindex unter dem Namen der jeweiligen Aktion.


DoCmd-Objekt - Beispiel

Das folgende Beispiel öffnet ein Formular in der Formularansicht und wechselt zu einem neuen Datensatz.

Sub NeuenDatensatzAnzeigen()

DoCmd.OpenForm "Personal", acNormal

DoCmd.GoToRecord , , acNewRec

End Sub


OpenCurrentDatabase-Methode

Mit der Methode OpenCurrentDatabase können Sie eine vohandene Datenbank als aktuelle Datenbank öffnen. Sie könnten mit dieser Methode z.B. eine Datenbank aus einer anderen Anwendung öffnen, von der Microsoft Access über Automatisierung, früher OLE-Automatisierung genannt, gesteuert wird. So könnten Sie z.B. die Methode OpenCurrentDatabase in Microsoft Excel verwenden, um die Nordwind-Beispieldatenbank im Microsoft Access-Fenster zu öffnen.

Syntax

Anwendung.OpenCurrentDatabase DBName[, Exklusiv]

Die Methode OpenCurrentDatabase hat die folgenden Argumente.

Argument	Beschreibung
Anwendung	Das Application-Objekt.
DBName	Ein Zeichenfolgenausdruck, der den Namen einer bestehenden Datenbankdatei angibt, einschließlich Pfadname und Dateinamenerweiterung. Wenn Ihr Netzwerk dies unterstützt, können Sie einen Netzwerkpfad auch in folgender Schreibweise angeben: \\Server\Freigabe\Ordner\Dateiname.mdb
Exklusiv	Optional. Ein Boolscher Integer Wert, der angibt, ob Sie die Datenbank im Exklusivmodus öffnen möchten. Der Standardwert ist False, was bedeutet, daß eine Datenbank im Modus für gemeinsame Nutzung geöffnet wird.
Hinweis

Die Methode OpenCurrentDatabase ermöglicht es Ihnen, eine Microsoft Access-Datenbank über Automatisierung aus einer anderen Anwendung heraus zu öffnen. Nachdem Sie eine Instanz von Microsoft Access aus der anderen Anwendung heraus erstellt haben, müssen Sie entweder eine neue Datenbank erstellen oder eine Datenbank angeben, die geöffnet werden soll. Diese Datenbank wird dann im Microsoft Access-Fenster geöffnet.

Wenn Sie bereits eine Datenbank geöffnet haben und eine andere Datenbank im Microsoft Access-Fenster öffnen möchten, können Sie mit der Methode CloseCurrentDatabase die erste Datenbank schließen, bevor Sie eine andere öffnen.

Stellen Sie das Argument Exklusiv auf True ein, um die Datenbank im Exklusivmodus zu öffnen. Wenn Sie dieses Argument nicht angeben, wird die Datenbank im Modus für gemeinsame Nutzung geöffnet.

Anmerkung   Verwechseln Sie die Methode OpenCurrentDatabase nicht mit der DAO-Methode OpenDatabase. Die Methode OpenCurrentDatabase öffnet eine Datenbank im Microsoft Access-Fenster. Die DAO-Methode OpenDatabase gibt dagegen lediglich eine Database-Objektvariable zurück, die einer bestimmten Datenbank entspricht, ohne diese Datenbank im Microsoft Access-Fenster zu öffnen.


OpenCurrentDatabase-Methode - Beispiel

Im folgenden Beispiel wird eine Microsoft Access-Datenbank über Automatisierung aus einer anderen Anwendung heraus geöffnet. Anschließend wird in dieser Datenbank ein Formular geöffnet.

Sie können diesen Code in jeder Anwendung, die als ActiveX Element fungieren kann, in ein Visual Basic-Modul eingeben. Sie könnten den Code z.B. aus Microsoft Excel, Microsoft Visual Basic oder sogar aus Microsoft Access heraus ausführen.

Wenn der Programmbereich verlassen wird, in dem die Variable gültig ist, die auf das Application-Objekt zeigt, wird auch die Microsoft Access-Instanz geschlossen, die der Variablen entspricht. Sie sollten diese Variable daher auf Modulebene deklarieren.

' Fügen Sie folgende Zeile in den Deklarationsbereich

' des Moduls ein.

Dim appAccess As Access.Application

Sub FormularAnzeigen()

Const strConPfadZuDenBeispielen = "C:\Programme" _

& "\MSOffice\Access\Beispiel\"

Dim strDB As String

' Die Zeichenfolge initialisieren, die den Pfad

' der Datenbank angibt.

strDB = strConPfadZuDenBeispielen & "Nordwind.mdb"

' Eine neue Instanz von Microsoft Access erstellen.

Set appAccess = _

CreateObject("Access.Application.8")

' Die Datenbank im Microsoft Access-Fenster öffnen.

appAccess.OpenCurrentDatabase strDB

' Das Formular "Bestellungen" öffnen.

appAccess.DoCmd.OpenForm "Bestellungen"

End Sub

Anmerkung   In einigen Anwendungen, z.B. Microsoft Visual Basic, können Sie das Schlüsselwort New hinzufügen, wenn Sie eine Application-Objektvariable deklarieren. Dieses Schlüsselwort erstellt automatisch eine neue Instanz von Microsoft Access, ohne daß Sie die Funktion CreateObject verwenden müssen. Lesen Sie in der zugehörigen Dokumentation nach, ob die entsprechende Anwendung diese Syntax unterstützt.


NewCurrentDatabase-Methode

Mit der Methode NewCurrentDatabase können Sie im Microsoft Access-Fenster eine neue Datenbank erstellen. Sie können mit dieser Methode eine neue Datenbank aus einer anderen Anwendung heraus erstellen, von der Microsoft Access über Automatisierung, früher OLE-Automatisierung genannt, gesteuert wird. So können Sie z.B. in Microsoft Excel die Methode NewCurrentDatabase verwenden, um eine neue Datenbank im Microsoft Access-Fenster zu erstellen.

Syntax

Anwendung.NewCurrentDatabase DBName

Die Methode NewCurrentDatabase hat die folgenden Argumente.

Argument	Beschreibung
Anwendung	Das Application-Objekt.
DBName	Ein Zeichenfolgenausdruck, der den Namen der neuen Datenbankdatei angibt, einschließlich Pfad und Dateinamenerweiterung. Wenn Ihr Netzwerk dies unterstützt, können Sie einen Netzwerkpfad auch in folgender Schreibweise angeben: \\Server\Freigabe\Ordner\Dateiname.mdb
Hinweis

Die Methode NewCurrentDatabase ermöglicht es Ihnen, eine neue Microsoft Access-Datenbank über Automatisierung aus einer anderen Anwendung zu erstellen. Nachdem Sie eine Instanz von Microsoft Access aus der anderen Anwendung heraus erstellt haben, müssen Sie eine neue Datenbank erstellen. Diese Datenbank wird dann im Microsoft Access-Fenster geöffnet.

Wenn die unter DBName angegebene Datenbank bereits existiert, tritt ein Fehler auf.

Die neue Datenbank wird unter dem Administrator-Benutzerkonto geöffnet.


NewCurrentDatabase-Methode - Beispiel

Im folgenden Beispiel wird eine neue Microsoft Access-Datenbank über Automatisierung aus einer anderen Anwendung heraus erstellt. Anschließend wird in dieser Datenbank eine neue Tabelle erstellt.

Sie können diesen Code in jeder Anwendung, die als ActiveX Element fungieren kann, in ein Visual Basic-Modul eingeben. Sie könnten den Code z.B. aus Microsoft Excel, Microsoft Visual Basic oder sogar aus Microsoft Access heraus ausführen.

Wenn der Programmbereich verlassen wird, in dem die Variable gültig ist, die auf das Application-Objekt zeigt, wird auch die Microsoft Access-Instanz geschlossen, die der Variablen entspricht. Sie sollten diese Variable daher auf Modulebene deklarieren.

' Fügen Sie folgende Zeile in den Deklarationsbereich

' des Moduls ein.

Dim appAccess As Access.Application

Sub NeueAccessDatenbank()

Dim dbs As Database, tdf As TableDef, fld As Field

Dim strDB As String

' Die Zeichenfolge initialisieren, die den Pfad

' der Datenbank angibt.

strDB = "C:\Eigene Dateien\NeueDB.mdb"

' Eine neue Instanz von Microsoft Access erstellen.

Set appAccess = _

CreateObject("Access.Application.8")

' Die Datenbank im Microsoft Access-Fenster öffnen.

appAccess.NewCurrentDatabase strDB

' Die Database-Objektvariable einstellen.

Set dbs = appAccess.CurrentDb

' Eine neue Tabelle erstellen.

Set tdf = dbs.CreateTableDef("Kontakte")

' Ein Feld für die neue Tabelle erstellen.

Set fld = tdf. _

CreateField("Firmenname", dbText, 40)

' Das Field- und das TableDef-Objekt anfügen.

tdf.Fields.Append fld

dbs.TableDefs.Append tdf

Set appAccess = Nothing

End Sub

Anmerkung   In einigen Anwendungen, z.B. Microsoft Visual Basic, können Sie das Schlüsselwort New hinzufügen, wenn Sie eine Application-Objektvariable deklarieren. Dieses Schlüsselwort erstellt automatisch eine neue Instanz von Microsoft Access, ohne daß Sie die Funktion CreateObject verwenden müssen. Lesen Sie in der zugehörigen Dokumentation nach, ob die entsprechende Anwendung diese Syntax unterstützt.


Run-Methode

Mit der Methode Run können Sie eine bestimmte Microsoft Access- oder benutzerdefinierte Funktion oder Sub-Prozedur ausführen. Diese Methode ist nützlich, wenn Sie Microsoft Access über Automatisierung, früher OLE-Automatisierung genannt, aus einer anderen Anwendung heraus steuern. Sie können z.B. die Methode Run aus einem ActiveX Element verwenden, um eine Sub-Prozedur auszuführen, die in einer Microsoft Access-Datenbank definiert ist.

Syntax

Anwendung.Run Prozedur[, Arg1, Arg2, ..., Arg30]

Die Methode Run hat die folgenden Argumente.

Argument	Beschreibung
Anwendung	Das Application-Objekt.
Prozedur	Der Name der Function- oder Sub-Prozedur, die ausgeführt werden soll. Wenn Sie eine Prozedur in einer anderen Datenbank aufrufen, verwenden Sie im Formular den Projektnamen und den Prozedurnamen, getrennt durch einen Punkt: "Projektname.Prozedurname" Wenn Sie Visual Basic Code ausführen, der die Methode Run in einer Bibliotheksdatenbank enthält, sucht Microsoft Access die Prozedur zuerst in der Bibliotheksdatenbank und danach in der aktuellen Datenbank.
Arg1, Arg2, ...	Optional. Die Argumente für die angegebene Sub-Prozedur oder Funktion. Sie können maximal 30 Argumente angeben.
Hinweis

Sie können in jedem anderen ActiveX Element eine Referenz bzw. einen Verweis auf die Klassenbibliothek von Microsoft Access aktivieren und die in der Bibliothek definierten Objekte, Methoden und Eigenschaften in Ihrem Code verwenden. Allerdings können Sie keine Referenz auf eine einzelne Microsoft Access-Datenbank aus einer anderen Anwendung als Microsoft Access festlegen. Die Methode Run bietet eine Möglichkeit, aus einer anderen Anwendung heraus eine Prozedur aufzurufen, die Sie in einer Microsoft Access-Datenbank definiert haben.

Angenommen, Sie haben in einer Datenbank, deren Eigenschaft ProjektName auf RUNCODE gesetzt ist, eine Prozedur namens NeuesFormular definiert, die als Argument eine Zeichenfolge erwartet. Sie können NeuesFormular folgendermaßen aus Visual Basic heraus aufrufen.

Dim appAccess As New Access.Application

appAccess.OpenCurrentDatabase ("C:\Eigene Dateien\RunCode.mdb")

appAccess.Run "RunCode.NeuesFormular", "Eine Zeichenfolge"

Enthält eine andere Datenbank eine Prozedur gleichen Namens, müssen Sie das Argument Prozedur, wie im obigen Beispiel gezeigt, um den Namen der Datenbank erweitern, in der sich die entsprechende Prozedur befindet.

Sie können mit der Methode Run aus einer Datenbank heraus auch eine Prozedur aufrufen, die sich in einer referenzierten Microsoft Access-Datenbank befindet.

Microsoft Access ignoriert alle Werte, die von einer Prozedur zurückgegeben werden, die mit der Methode Run aufgerufen wurde.


Run-Methode - Beispiel

Im folgenden Beispiel wird eine benutzerdefinierte Sub-Prozedur in einem Modul einer Microsoft Access-Datenbank aus einer anderen Anwendung heraus ausgeführt, die als Active X Element dient.

Wenn Sie dieses Beispiel ausprobieren möchten, erstellen Sie eine Datenbank namens RUNCODE.MDB, und stellen Sie deren Eigenschaft ProjektName auf RUNCODE. Öffnen Sie ein neues Modul in der Datenbank, und geben Sie den folgenden Code ein. Speichern Sie das Modul, und schließen Sie die Datenbank.

Sub Begrüßung(strName As String)

MsgBox("Hallo " & strName)

End Sub

Führen Sie nach diesem Schritt den folgenden Code in Microsoft Excel oder Microsoft Visual Basic aus. Prüfen Sie, ob Sie eine Referenz auf die Klassenbibliothek von Microsoft Access aktiviert haben. Klicken Sie dazu im Menü Extras auf Verweise, und aktivieren Sie im Dialogfeld Verweise den Eintrag Microsoft Access 8.0 Object Library.

' Fügen Sie folgende Zeile in den Deklarationsbereich

' des Moduls ein.

Dim appAccess As Access.Application

Sub AccessSubProzAusführen()

' Eine neue Instanz von Microsoft Access erstellen.

Set appAccess = _

CreateObject("Access.Application.8")

' Die Datenbank RunCode im Microsoft Access-Fenster öffnen.

appAccess.OpenCurrentDatabase "C:\Eigene Dateien\RunCode.mdb", False

' Die Sub-Prozedur ausführen.

appAccess.Run "Begrüßung", "Horst"

Set appAccess = Nothing

End Sub


Dropdown-Methode

Mit der Methode Dropdown können Sie erzwingen, daß die Liste des angegebenen Kombinationsfelds geöffnet wird. Sie könnten z.B. mit Hilfe dieser Methode veranlassen, daß die Dropdown-Liste eines Kombinationsfelds, in dem Händlercodes aufgelistet werden, geöffnet wird, sobald das Steuerelement für die Händlercodes während der Dateneingabe den Fokus erhalten hat.

Syntax

Kombinationsfeld.Dropdown

Die Methode Dropdown hat das folgende Argument.

Argument	Beschreibung
Kombinationsfeld	Ein Kombinationsfeld-Steuerelement auf einem Formular.
Hinweis

Wenn das angegebene Kombinationsfeld-Steuerelement nicht den Fokus hat, tritt ein Fehler auf. Das Verwenden dieser Methode entspricht dem Drücken der F4-TASTE, wenn das Steuerelement den Fokus hat.


Dropdown-Methode - Beispiel

Das folgende Beispiel zeigt Ihnen, wie Sie die Methode Dropdown in einer GotFocus-Ereignisprozedur verwenden können, die Liste eines Kombinationsfelds namens AnbieterID zu öffnen, sobald das Kombinationsfeld den Fokus erhalten hat.

Private Sub AnbieterID_GotFocus()

Me!AnbieterID.Dropdown

End Sub


Undo-Methode

Mit der Methode Undo können Sie ein Steuerelement oder Formular zurücksetzen, wenn sich dessen Wert geändert hat. Sie können die Methode Undo z.B. verwenden, um eine Änderung eines Datensatzes aufzuheben, der einen ungültigen Dateneintrag enthält.

Syntax

Objekt.Undo

Die Methode Undo hat folgendes Argument.

Argument	Beschreibung
Objekt	Ein Form-Objekt oder ein Control-Objekt.
Hinweis

Wird die Methode Undo auf ein Formular angewandt, gehen alle Änderungen am aktuellen Datensatz verloren. Wird die Methode Undo auf ein Steuerelement angewandt, ist lediglich das Steuerelement selbst betroffen.

Diese Methode muß angewandt werden, bevor das Formular oder Steuerelement aktualisiert wird. Es empfiehlt sich, diese Methode zur Ereignisprozedur BeforeUpdate eines Formulars bzw. zur Ereignisprozedur Change eines Steuerelements hinzuzufügen.

Die Methode Undo läßt sich alternativ zu der Anweisung SendKeys einsetzen, um in einer Ereignisprozedur den Wert der ESC-TASTE zu senden.


Undo-Methode - Beispiel

Das folgende Beispiel zeigt, wie Sie die Methode Undo innerhalb der Change-Ereignisprozedur eines Steuerelements verwenden können, um das Feld Nachname auf den Originalwert zurückzusetzen, nachdem es geändert wurde.

Private Sub Nachname_Change()

Me!Nachname.Undo

End Sub

Im nächsten Beispiel wird die Methode Undo verwendet, um alle in einem Formular vorgenommenen Änderungen zurückzusetzen, bevor das Formular aktualisiert wird.

Private Sub Form_BeforeUpdate(Cancel As Integer)

Me.Undo

End Sub


ItemsSelected-Auflistung

Die Auflistung ItemsSelected bietet eine Möglichkeit, auf Daten in den ausgewählten Zeilen eines Listenfeld- Steuerelements zuzugreifen.

Hinweis

Die Auflistung ItemsSelected unterscheidet sich von anderen Auflistungen dadurch, daß sie keine Auflistung aus Objekten ist, sondern aus Elementen des Typs Variants besteht. Jedes Element des Typs Variant ist ein ganzzahliger Index, der auf eine ausgewählte Zeile eines Listen- oder Kombinationsfelds verweist.

Verwenden Sie die Methode ItemsSelected zusammen mit der Eigenschaft Column oder der Eigenschaft ItemData, um Daten aus ausgewählten Zeilen eines Listen- oder Kombinationsfelds abzurufen. Sie können die Auflistung ItemsSelected durchlaufen und auswerten, indem Sie die Anweisung For Each...Next verwenden.

Wenn z.B. ein Formular ein Listenfeld namens Personal enthält, können Sie die Auflistung ItemsSelected durchlaufen und die Eigenschaft ItemData des Steuerelements verwenden, um für jede ausgewählte Zeile des Listenfelds den Wert der gebundenen Spalte zurückzugeben.

Tip   Sie können die Mehrfachauswahl von Zeilen in einem Listenfeld ermöglichen, indem Sie die Eigenschaft MultiSelect  auf Einzeln oder Erweitert einstellen.

Die Auflistung ItemsSelected hat keine Methoden und nur eine Eigenschaft, die Eigenschaft Count.


ItemsSelected-Auflistung - Beispiel

Das folgende Beispiel zeigt die Werte aller Zeilen an, die auf dem Formular Kontakte im Listenfeld Namen ausgewählt sind. Wenn Sie dieses Beispiel ausprobieren möchten, erstellen Sie ein Listenfeld, und stellen Sie dessen Eigenschaft BoundColumn wie gewünscht ein. Stellen Sie die Eigenschaft MultiSelect des Listenfelds auf Einzeln oder Erweitert ein. Wechseln Sie in die Formularansicht, wählen Sie mehrere Zeilen im Listenfeld aus, und führen Sie folgenden Code aus:

Sub GebundeneDaten()

Dim frm As Form, ctl As Control

Dim varElement As Variant

Set frm = Forms!Kontakte

Set ctl = frm!Namen

For Each varElement In ctl.ItemsSelected

Debug.Print ctl.ItemData(varElement)

Next varElement

End Sub

Im folgenden Beispiel wird dasselbe Listenfeld-Steuerelement verwendet, allerdings werden jetzt für jede im Listenfeld ausgewählte Zeile nicht nur die Werte der gebundenen Spalte, sondern die Werte aller Spalten angezeigt.

Sub AlleAusgewähltenDaten()

Dim frm As Form, ctl As Control

Dim varElement As Variant, intI As Integer

Set frm = Forms!Kontakte

Set ctl = frm!Names

For Each varElement In ctl.ItemsSelected

For intI = 0 To ctl.ColumnCount - 1

Debug.Print ctl.Column(intI, varElement)

Next intI

Debug.Print

Next varElement

End Sub


Application-Objekt

Das Objekt Application bezieht sich auf die aktive Microsoft Access-Anwendung.

Hinweis

Das Objekt Application enthält alle Microsoft Access-Objekte und Auflistungen; hierzu zählen die Auflistung Forms, die Auflistung Reports, die Auflistung Modules, die Auflistung References, das Objekt Screen und das Objekt DoCmd.

Verwenden Sie das Objekt Application, um Methoden oder Eigenschafteneinstellungen auf die gesamte Microsoft Access-Anwendung anzuwenden. Beispielsweise können Sie die Methode SetOption des Objekts Application verwenden, um Datenbankoptionen aus Visual Basic festzulegen. Das folgende Beispiel zeigt, wie Sie das Kontrollkästchen Statusleiste unter Anzeigen auf der Registerkarte Ansicht des Dialogfelds Optionen einstellen können.

Application.SetOption "Statusleiste anzeigen", True

Microsoft Access ist eine ActiveX-Komponente, die Automatisierung, bisher OLE-Automatisierung genannt, unterstützt. Sie können Microsoft Access-Objekte von einer anderen Anwendung aus bearbeiten, die ebenfalls Automatisierung unterstützt. Verwenden Sie hierzu das Objekt Application.

Beispielsweise ist Microsoft Visual Basic eine ActiveX-Komponente. Sie können eine Microsoft Access-Datenbank aus Microsoft Visual Basic öffnen und mit Ihren Objekten arbeiten. Erstellen Sie zunächst in Visual Basic einen Verweis auf die Microsoft Access 8.0-Objektbibliothek. Erstellen Sie dann eine neue Instanz der Klasse Application, und zeigen Sie mit einer Objektvariablen auf die Instanz, wie im folgenden Beispiel.

Dim appAccess As New Access.Application

Aus Anwendungen, die das Schlüsselwort New nicht unterstützen, können Sie eine neue Instanz der Klasse Application mit Hilfe der Funktion CreateObject wie folgt erstellen:

Dim appAccess As Object

Set appAccess = CreateObject("Access.Application.8")

Sobald Sie eine neue Instanz des Microsoft Access-Objekts Application erstellt haben, können Sie eine Datenbank öffnen oder neu erstellen, indem Sie die Methode OpenCurrentDatabase oder die Methode NewCurrentDatabase verwenden. Dann können Sie die Eigenschaften des Objekts Application einstellen und dessen Methoden aufrufen. Wenn Sie mit der Eigenschaft DBEngine des Objekts Application einen Verweis auf das Objekt DBEngine erstellen, können Sie unter Verwendung dieses Verweises auf alle DAO-Objekte und Auflistungen zugreifen.

Sie können auch andere Microsoft Access-Objekte durch das Objekt Application bearbeiten. Beispielsweise können Sie unter Verwendung der Methode OpenForm des Microsoft Access-Objekts DoCmd ein Microsoft Access-Formular aus Microsoft Excel heraus öffnen.

appAccess.DoCmd.OpenForm "Bestellformular"

Weitere Informationen zum Erstellen eines Verweises und zum Steuern von Objekten durch Automatisierung finden Sie in der Dokumentation der Anwendung, die als ActiveX-Komponente fungiert.


Application-Objekt - Beispiel

Das folgende Beispiel gibt einige aktuelle Eigenschafteneinstellungen des Objekts Application aus, stellt eine Option ein und beendet anschließend die Anwendung, wobei alle Objekte gespeichert werden.

Sub AnwendungsInformation()

' Name und Typ des aktuellen Objekts ausgeben.

Debug.Print Application.CurrentObjectName

Debug.Print Application.CurrentObjectType

' Option "Ausgeblendete Objekte anzeigen" unter "Anzeigen" auf Registerkarte "Ansicht" einstellen.

Application.SetOption "Ausgeblendete Objekte anzeigen", True

' Microsoft Access beenden, alle Objekte speichern.

Application.Quit acSaveYes

End Sub

Das nächste Beispiel zeigt, wie Sie Microsoft Access als ActiveX-Komponente verwenden können. Erstellen Sie in Microsoft Excel, Visual Basic oder einer anderen Anwendung, die als ActiveX-Komponente fungiert, einen Verweis auf Microsoft Access, indem Sie im Modulfenster im Menü Extras auf Verweise klicken. Aktivieren Sie das Kontrollkästchen neben Microsoft Access 8.0-Objektbibliothek. Geben Sie dann den folgenden Code in ein Visual Basic-Modul innerhalb dieser Anwendung ein, und rufen Sie die Prozedur GetAccessData auf.

Das folgende Beispiel übergibt einen Datenbanknamen und einen Berichtsnamen an eine Prozedur, die eine neue Instanz der Klasse Application erstellt, öffnet die Datenbank und gibt den angegebenen Bericht aus.

' Objektvariable im Deklarationsbereich des Moduls deklarieren.

Dim appAccess As Access.Application

Sub AccessDatenHolen()

Dim strDB As String

Dim strBerichtName As String

' Zeichenfolge für den Datenbankpfad initialisieren.

strDB = "C:\Program Files\Microsoft Office\Office\Samples\Nordwind.mdb"

' Zeichenfolge für den Berichtsnamen initialisieren.

strBerichtName = "Katalog"

PrintAccessBericht strDB, strBerichtName

End Sub

Sub PrintAccessBericht(strDB As String, strBerichtName As String)

' Bezug auf Microsoft Access Application-Objekt zurückgeben.

Set appAccess = New Access.Application

' Datenbank in Microsoft Access öffnen.

appAccess.OpenCurrentDatabase strDB

' Bericht ausgeben.

appAccess.DoCmd.OpenReport strBerichtName

MsgBox "Klicken Sie auf OK, sobald" & strBerichtName & _

" vollständig ausgegeben ist."

appAccess.CloseCurrentDatabase

Set appAccess = Nothing

End Sub


Control-Objekt

Ein Control-Objekt stellt ein Steuerelement dar, das sich in einem Formular, einem Bericht einem Bereich oder innerhalb eines anderen Steuerelements befindet oder einem anderen Steuerelement beigefügt ist. Die folgende Abbildung zeigt das Objekt Control in Beziehung zu einem Form- oder Report- Objekt.

Hinweis

Alle Steuerelemente eines Formulars oder Berichts gehören zur Auflistung Controls des entsprechenden Objekts Form oder Report. Steuerelemente innerhalb eines bestimmten Bereichs gehören zur Auflistung Controls dieses Bereichs. Steuerelemente innerhalb eines Register-Steuerelements oder eines Optionsgruppen- Steuerelements gehören zur Auflistung Controls dieses Steuerelements. Ein Bezeichnungsfeld- Steuerelement, das einem anderen Steuerelement beigefügt ist, gehört zur Auflistung Controls dieses Steuerelements.

Wenn Sie auf ein bestimmtes Control-Objekt der Auflistung Controls verweisen, können Sie auf die Auflistung Controls implizit oder explizit verweisen.

' Impliziter Verweis auf das Steuerelement NeueDaten in der Controls-Auflistung

Me!NeueDaten

' Eckige Klammern, wenn Steuerelementname Leerzeichen enthält.

Me![Neue Daten]

' Etwas schlechteres Leistungsverhalten.

Me("NeueDaten")

' Verweis auf ein Steuerelement über den Index in der Controls-Auflistung.

Me(0)

' Verweis auf das Steuerelement NeueDaten unter Verwendung des Unterformular-Steuerelements der Controls-Auflistung.

Me.ctlUnterformular.Controls!NeueDaten

' Expliziter Verweis auf das Steuerelement NeueDaten in der Controls-Auflistung

Me.Controls!NeueDaten

Me.Controls("NeueDaten")

Me.Controls(0)

Anmerkung   Sie können das Schlüsselwort Me nur dann im Code zur Darstellung eines Form- oder Report-Objekts verwenden, wenn Sie auf das Formular oder den Bericht im Code innerhalb des Klassenmoduls verweisen. Bei Verweisen aus einem Standardmodul oder einem Modul eines anderen Formulars oder Berichts auf ein Formular oder einen Bericht verwenden Sie die vollständige Referenz auf das Formular oder den Bericht.

Jedem Control-Objekt ist eine eingebaute Konstante zugeordnet. Beispielsweise ist die eingebaute Konstante acTextBox mit einem Textfeld-Steuerelement verbunden, und acCommandButton ist mit einer Befehlsschaltfläche verbunden. Die Konstanten für die verschiedenen Microsoft Access-Steuerelemente werden in der Eigenschaft ControlType verwaltet.

Um den Typ eines vorhandenen Steuerelements zu ermitteln, verwenden Sie die Eigenschaft ControlType. Sie brauchen den Typ eines Steuerelements jedoch nicht zu kennen, um es im Code verwenden zu können. Sie können das Steuerelement einfach durch eine Variable des Datentyps Control darstellen.

Wenn Sie den Datentyp des Steuerelements, auf das Sie sich beziehen, kennen, und wenn es sich dabei um ein eingebautes Microsoft Access Steuerelement handelt, sollten Sie es durch eine Variable eines bestimmten Datentyps darstellen. Wenn Sie beispielsweise wissen, daß ein bestimmtes Steuerelement ein Textfeld ist, deklarieren Sie dafür eine Variable des Typs Textfeld, wie im folgenden Code gezeigt wird.

Dim txt As TextBox

Set txt = Forms!Kunden!Nachname

Anmerkung   Wenn ein Steuerelement ein ActiveX Steuerelement ist, müssen Sie eine Variable vom Typ Control deklarieren, um es darzustellen; Sie können dazu keinen bestimmten Typ verwenden. Wenn Sie nicht sicher sind, auf welchen Steuerelement-Typ die Variable zeigen wird, deklarieren Sie die Variable als Typ Control.

Das Optionsgruppe-Steuerelement kann andere Steuerelemente innerhalb seiner Auflistung Controls enthalten. Dazu gehören Optionsfeld-, Kontrollkästchen-, Umschaltfläche- und Bezeichnungsfeld-Steuerelemente.

Das Register-Steuerelement enthält eine Auflistung Pages, bei der es sich um einen bestimmten Typ der Auflistung Controls handelt. Die Auflistung Pages enthält Page- Objekte, die Steuerelemente sind. Jedes Page-Objekt seinerseits enthält eine Auflistung Controls, die alle Steuerelemente dieser Seite enthält.

Andere Control-Objekte haben eine Auflistung Controls, die ein beigefügtes Bezeichnungsfeld enthalten kann. Diese Steuerelemente umfassen Textfeld-, Optionsgruppe-, Optionsfeld-, Umschaltfläche-, Kontrollkästchen-, Kombinationsfeld-, Listenfeld-, Befehlsschaltfläche-, Gebundenes Objektfeld- und Objektfeld- Steuerelemente.


Control-Objekt, Controls-Auflistung (Steuerelemente) - Beispiel

Das folgende Beispiel durchläuft alle Steuerelemente in der Auflistung Controls eines Formulars. Die Prozedur wird von einem Formularmodul aufgerufen. Das Objekt Form wird mit dem Schlüsselwort Me an die Prozedur übergeben. Die Prozedur stellt bestimmte Eigenschaften ein, falls das Steuerelement ein Textfeld ist.

' Prozedur TextfeldEigenschaftenEinstellen aufrufen.

SetTTextfeldEigenschaftenEinstellen Me

Sub TextfeldEigenschaftenEinstellen(frm As Form)

Dim ctl As Control

' Controls-Auflistung durchlaufen.

For Each ctl In frm.Controls

' Prüfen, ob das Steuerelement ein Textfeld ist.

If ctl.ControlType = acTextBox Then

' Eigenschaften des Steuerelements einstellen.

With ctl

.SetFocus

.Enabled = True

.Height = 400

.SpecialEffect = 0

End With

End If

Next ctl

End Sub


Form-Objekt

Ein Form-Objekt verweist auf ein bestimmtes Microsoft Access-Formular.

Hinweis

Ein Form-Objekt ist ein Element der Auflistung Forms, einer Auflistung aller momentan geöffneten Formulare. Die einzelnen Formulare in der Auflistung Forms werden durch einen bei Null beginnenden Index numeriert. Sie verweisen auf einzelne Form-Objekte in der Auflistung Forms über den Formularnamen oder über den Index des Formulars innerhalb der Auflistung. Verwenden Sie bei Verweisen auf ein bestimmtes Form-Objekt in der Auflistung Forms vorzugsweise den Formularnamen, da sich der Formularindex in der Auflistung unter Umständen ändert. Enthält der Formularname Leerzeichen, so muß der Name in eckigen Klammern ([ ]) stehen.

Syntax	Beispiel
Forms!Formularname	Forms!Bestellformular
Forms![Name des Formulars]	Forms![Formular Bestellungen]
Forms("Formularname")	Forms("Bestellformular")
Forms(Index)	Forms(0)
Jedes Form-Objekt verfügt über eine Auflistung Controls, die alle Steuerelemente des Formulars enthält. Sie verweisen auf ein Steuerelement in einem Formular durch eine implizite oder explizite Referenz auf die Auflistung Controls. Der Code ist effizienter, wenn Sie implizit auf die Auflistung Controls verweisen. Die folgenden Beispiele zeigen zwei Möglichkeiten, um auf das Steuerelement NeueDaten im Formular Bestellformular zu verweisen.

' Impliziter Verweis.

Forms!Bestellformular!NeueDaten

' Expliziter Verweis.

Forms!Bestellformular.Controls!NeueDaten

Die beiden folgenden Beispiele zeigen, wie Sie auf das Steuerelement NeueDaten im Unterformular ctlUnterformular des Formulars Bestellformular verweisen können.

Forms!Bestellformular.ctlUnterformular.Form!Controls.NeueDaten

Forms!Bestellformular.ctlUnterformular!NeueDaten


Forms-Auflistung (Formulare)

Die Auflistung Forms enthält alle aktuell geöffneten Formulare einer Microsoft Access-Datenbank.

Hinweis

Verwenden Sie die Auflistung Forms in Visual Basic oder in einem Ausdruck, um auf momentan geöffnete Formulare zu verweisen. Sie können z.B. die Auflistung Forms in einer Schleife durchlaufen, um die Werte der Eigenschaften einzelner Formulare in der Auflistung einzustellen oder zurückzugeben.

Tip   Die Anweisung For Each...Next ist hilfreich zum Durchlaufen einer Auflistung.

Sie verweisen auf ein bestimmtes Form-Objekt in der Auflistung Forms über den Formularnamen oder über den Index des Formulars innerhalb der Auflistung. Verwenden Sie bei Verweisen auf ein bestimmtes Formular in der Auflistung Forms vorzugsweise den Formularnamen, da sich der Formularindex in der Auflistung unter Umständen ändert.

Die Auflistung Forms wird beginnend mit Null indiziert. Wenn Sie über den Index auf ein Formular verweisen, ist das erste Formular Forms(0), das zweite Formular Forms(1), usw. Öffnen Sie beispielsweise zuerst Formular1 und dann Formular2, so erfolgen Verweise über den Index auf Formular2 in der Auflistung Forms mit Forms(1). Wenn Sie anschließend Formular1 schließen, erfolgen Verweise über den Index auf Formular2 in der Auflistung Forms mit Forms(0).

Anmerkung   Wenn Sie alle Formulare (geöffnete und geschlossene) der Datenbank auflisten möchten, durchlaufen Sie die Auflistung Documents des Objekts Container des Formulars. Sie können dann die Eigenschaft Name eines Objekts Document verwenden, um den Namen des betreffenden Formulars zurückzugeben.

Sie können ein Form-Objekt aus der Auflistung Forms weder löschen noch zu ihr hinzufügen.


Form-Objekt, Forms-Auflistung (Formulare) - Beispiel

Das folgende Beispiel erstellt ein neues Formular und stellt bestimmte Eigenschaften ein.

Sub NeuesFormular()

Dim frm As Form

' Neues Formular erstellen.

Set frm = CreateForm

' Formulareigenschaften einstellen.

With frm

.RecordSource = "Artikel"

.Caption = "Formular: Artikel"

.ScrollBars = 0

.NavigationButtons = True

End With

' Formular wiederherstellen.

DoCmd.Restore

End Sub

Das nächste Beispiel durchläuft die Auflistung Forms und gibt die Namen aller Formulare in der Auflistung Forms aus. Dann durchläuft es die Auflistung Controls jedes Formulars und gibt die Namen aller auf dem Formular befindlichen Steuerelemente aus.

Sub AlleOffenenFormulare()

Dim frm As Form, ctl As Control

' Forms-Auflistung durchlaufen.

For Each frm In Forms

' Name des Formulars ausgeben.

Debug.Print frm.Name

' Controls-Auflistung jedes Formulars durchlaufen.

For Each ctl In frm.Controls

' Namen der Steuerelemente ausgeben.

Debug.Print ">>>"; ctl.Name

Next ctl

Next frm

End Sub

Im folgenden Beispiel wird die Auflistung Forms in einem Ausdruck verwendet. In einem Formular Bestellungen mit einem Steuerelement Bestimmungsland können Sie mit der Funktion IIf einen Wert zurückgeben, der auf dem aktuellen Wert des Steuerelements basiert. Ist der Wert von Bestimmungsland gleich Null, so gibt der Ausdruck eine leere Zeichenfolge, andernfalls den Inhalt des Feldes zurück. Geben Sie den folgenden Ausdruck für die Eigenschaft ControlSource eines Textfelds ein, das sich auf einem Formular befindet.

= IIf(IsNull(Formulare!Bestellungen! Bestimmungsland), "", Formulare!Bestellungen!Bestimmungsland)


Report-Objekt

Ein Report-Objekt verweist auf einen bestimmten Microsoft Access-Bericht.

Hinweis

Ein Report-Objekt ist ein Element der Auflistung Reports, einer Auflistung aller momentan geöffneten Berichte. Die einzelnen Berichte in der Auflistung Reports werden durch einen bei Null beginnenden Index numeriert. Sie verweisen auf einzelne Report-Objekte in der Auflistung Reports über den Berichtsnamen oder über den Index des Berichts innerhalb der Auflistung. Enthält der Formularname Leerzeichen, so muß der Name in eckigen Klammern ([ ]) stehen.

Syntax	Beispiel
Reports!Berichtsname	Reports!Bestellbericht
Reports![Name des Berichts]	Reports![Bericht Bestellungen]
Reports("Berichtsname")	Reports("Bestellbericht")
Reports(Index)	Reports(0)
Jedes Report-Objekt verfügt über eine Auflistung Controls, die alle Steuerelemente des Berichts enthält. Sie verweisen auf ein Steuerelement in einem Bericht durch eine implizite oder explizite Referenz auf die Auflistung Controls. Der Code ist effizienter, wenn Sie implizit auf die Auflistung Controls verweisen. Die folgenden Beispiele zeigen zwei Möglichkeiten, um auf das Steuerelement NeueDaten im Bericht Bestellbericht zu verweisen.

' Impliziter Verweis.

Reports!Bestellbericht!NeueDaten

' Expliziter Verweis

Reports!Bestellbericht.Controls!NeueDaten


Reports-Auflistung (Berichte)

Die Auflistung Reports enthält alle aktuell geöffneten Berichte einer Microsoft Access-Datenbank.

Hinweis

Sie können die Auflistung Reports in Visual Basic oder in einem Ausdruck verwenden, um auf aktuell geöffnete Berichte zu verweisen. Beispielsweise können Sie die Auflistung Reports durchlaufen, um die Werte der Eigenschaften einzelner Berichte der Auflistung einzustellen oder zurückzugeben.

Tip   Die Anweisung For Each...Next ist hilfreich zum Durchlaufen einer Auflistung.

Sie verweisen auf ein bestimmtes Report-Objekt in der Auflistung Reports über den Berichtsnamen oder über den Index des Berichts innerhalb der Auflistung.

Die Auflistung Reports wird beginnend mit Null indiziert. Wenn Sie über den Index auf einen Bericht verweisen, ist der erste Bericht Reports(0), der zweite Bericht Reports(1), usw. Öffnen Sie beispielsweise zuerst Bericht1 und dann Bericht2, so erfolgen Verweise über den Index auf Bericht2 in der Auflistung Reports mit Reports(1). Wenn Sie anschließend Bericht1 schließen, erfolgen Verweise über den Index auf Bericht2 in der Auflistung Reports mit Reports(0).

Anmerkung   Wenn Sie alle Berichte (geöffnete und geschlossene) der Datenbank auflisten möchten, durchlaufen Sie die Auflistung Documents des Container-Objekts des Formulars. Sie können dann die Eigenschaft Name eines Document-Objekts verwenden, um den Namen des betreffenden Berichts zurückzugeben.

Sie können ein Report-Objekt aus der Auflistung Reports weder löschen noch zu ihr hinzufügen.


Report-Objekt, Reports-Auflistung (Berichte) - Beispiel

Das folgende Beispiel erstellt einen neuen Bericht und stellt einige Eigenschaften ein.

Sub NeuerBericht ()

Dim rpt As Report

' Variable des Datentyps "Report" als Bezug auf das neue Report-Objekt zurückgeben.

Set rpt = CreateReport

' Eigenschaften des neuen Berichts einstellen.

With rpt

.RecordSource = "Artikel"

.Caption = "Bericht: Artikel"

End With

' Neuen Bericht wiederherstellen.

DoCmd.Restore

End Sub

Das nächste Beispiel durchläuft die Auflistung Reports und gibt die Namen aller Berichte in der Auflistung Reports aus. Dann durchläuft es die Auflistung Controls jedes Berichts und gibt die Namen aller auf dem Bericht befindlichen Steuerelemente aus.

Sub AlleOffenenBerichte()

Dim rpt As Report, ctl As Control

' Reports-Auflistung durchlaufen.

For Each rpt In Reports

' Name des Berichts ausgeben.

Debug.Print rpt.Name

' Controls-Auflistung jedes Berichts durchlaufen.

For Each ctl In rpt.Controls

' Namen der Steuerelemente ausgeben.

Debug.Print ">>>"; ctl.Name

Next ctl

Next rpt

End Sub


Screen-Objekt (Bildschirm)

Das Objekt Screen verweist auf das Formular, den Bericht oder das Steuerelement, das bzw. der momentan den Fokus hat.

Hinweis

Sie können das Objekt Screen und seine Eigenschaften verwenden, um auf ein bestimmtes Formular, einen Bericht oder ein Steuerelement zu verweisen, das oder der den Fokus hat. Sie können z.B. das Objekt Screen mit der Eigenschaft ActiveForm verwenden, um auf das Formular im aktiven Fenster zu verweisen, ohne den Namen des Formulars zu kennen. Das folgende Beispiel zeigt den Namen des Formulars an, das sich im aktiven Fenster befindet.

MsgBox Screen.ActiveForm.Name

Das Verweisen auf das Objekt Screen macht ein Formular, einen Bericht oder ein Steuerelement nicht aktiv. Um ein Formular, einen Bericht oder ein Steuerelement aktiv zu machen, verwenden Sie die Aktion AuswählenObjekt des Objekts DoCmd.

Wenn Sie auf das Objekt Screen verweisen, obwohl kein aktives Formular, kein aktiver Bericht oder kein aktives Steuerelement vorhanden ist, gibt Microsoft Access einen Laufzeitfehler zurück. Wenn sich z.B. ein Standardmodul im aktiven Fenster befindet, gibt der Code im obigen Beispiel einen Fehler zurück.


Screen-Objekt (Bildschirm) - Beispiel

Das folgende Beispiel verwendet das Objekt Screen, um den Namen des Formulars, das sich im aktiven Fenster befindet, und den Namen des Steuerelements, das auf diesem Formular aktiv ist, auszugeben.

Sub AktiveObjekte()

Dim frm As Form, ctl As Control

' Form-Objekt zurückgeben, das auf das aktive Formular zeigt.

Set frm = Screen.ActiveForm

MsgBox frm.Name & " ist das aktive Formular."

' Control-Objekt zurückgeben, das auf das aktive Steuerelement zeigt.

Set ctl = Screen.ActiveControl

MsgBox ctl.Name & " ist das aktive Steuerelement " _

& "in diesem Formular."

End Sub


Module-Objekt

Ein Module-Objekt verweist auf ein Standardmodul oder ein Klassenmodul.

Hinweis

Microsoft Access enthält Klassenmodule, die keinem Objekt zugeordnet sind; Formularmodule und Berichtsmodule sind einem Formular bzw. Bericht zugeordnet.

Wenn Sie mit Hilfe von Code feststellen möchten, ob ein Module-Objekt ein Standardmodul oder ein Klassenmodul darstellt, prüfen Sie die Eigenschaft Type des Module-Objekts.

Die Auflistung Modules enthält alle geöffneten Module-Objekte, unabhängig von deren Typ. Module in der Auflistung Modules können kompiliert oder unkompiliert sein.

Wenn Sie einen Verweis auf ein Module-Objekt für ein bestimmtes Standard- oder Klassenmodul in der Auflistung Modules zurückgeben möchten, verwenden Sie eine der folgenden Syntaxformen.

Syntax	Beschreibung
Modules!Modulname	Das Argument Modulname ist der Name des Module-Objekts.
Modules("Modulname")	Das Argument Modulname ist der Name des Module-Objekts.
Modules(Index)	Das Argument Index ist die numerische Position des Objekts in der Auflistung.
Das folgende Beispiel gibt einen Verweis auf ein Module-Objekt für ein Standardmodul zurück und weist diesen einer Objektvariablen zu:

Dim mdl As Module

Set mdl = Modules![Dienstprogramme]

Beachten Sie, daß die eckigen Klammern um den Namen des Module-Objekts nur erforderlich sind, wenn der Name des Module-Objekts Leerzeichen enthält.

Das nächste Beispiel gibt einen Verweis auf ein Module-Objekt für ein Formularmodul zurück und weist diesen einer Objektvariablen zu:

Dim mdl As Module

Set mdl = Modules!Form_Personal

Wenn Sie auf ein bestimmtes Formular- oder Berichtsmodul verweisen möchten, können Sie auch die Eigenschaft Module des Form- oder Report-Objekts verwenden:

Forms!Formularname.Module

Das folgende Beispiel gibt auch einen Verweis auf das dem Formular Personal zugeordnete Module-Objekt zurück und weist diesen einer Objektvariablen zu:

Dim mdl As Module

Set mdl = Forms!Personal.Module

Nachdem Sie einen Verweis auf ein Module-Objekt zurückgegeben haben, können Sie dessen Eigenschaften einstellen oder lesen und dessen Methoden anwenden.


Module-Objekt, Modules-Auflistung - Beispiel

Das folgende Beispiel gibt einen Verweis auf ein Module-Objekt der Auflistung Modules zurück und druckt die Anzahl der Codezeilen des Moduls aus:

Function LinesInModule(strModulname As String) As Long

Dim mdl As Module

On Error GoTo Error_LinesInModule

' Modul öffnen.

DoCmd.OpenModule strModulname

' Verweis auf "Module"-Objekt zurückgeben.

Set mdl = Modules(strModulname)

' Zahl der Zeilen des Moduls zurückgeben.

LinesInModule = mdl.CountOfLines

Exit_LinesInModule:

Exit Function

Error_LinesInModule:

MsgBox Err & ": " & Err.Description

' Wenn Funktion fehlschlägt, -1 zurückgeben.

LinesInModule = -1

Resume Exit_LinesInModule

End Function


Modules-Auflistung

Die Auflistung Modules enthält alle geöffneten Standardmodule und Klassenmodule in einer Microsoft Access-Datenbank.

Hinweis

Sie können die Auflistung Modules durchlaufen, indem Sie die Anweisung For Each...Next verwenden. Wenn Sie feststellen möchten, ob ein bestimmtes Module-Objekt ein Standardmodul oder ein Klassenmodul darstellt, prüfen Sie die Eigenschaft Type des Module-Objekts.

Alle geöffneten Module sind in der Auflistung Modules enthalten, unabhängig davon, ob sie unkompiliert oder kompiliert sind, ob sie sich im Unterbrechungsmodus befinden oder den gerade ausgeführten Code enthalten.

Die Auflistung Modules gehört zum Microsoft Access-Objekt Application.

Die einzelnen Module-Objekte in der Auflistung Modules sind, beginnend bei Null, indiziert.


Page-Objekt

Ein Page-Objekt entspricht einer einzelnen Seite auf einem Registerkarten-Steuerelement.

Hinweis

Ein Page-Objekt ist ein Element der Auflistung Pages eines Reigisterkarten-Steuerelements.

Wenn Sie einen Verweis auf ein bestimmtes Page-Objekt in der Auflistung Pages zurückgeben möchten, verwenden Sie eine der folgenden Syntaxformen.

Syntax	Beschreibung
Pages!Seitenname	Das Argument Seitenname ist der Name des Page-Objekts.
Pages("Seitenname")	Das Argument Seitenname ist der Name des Page-Objekts.
Pages(Index)	Das Argument Index ist die numerische Position des Objekts in der Auflistung.
Sie können Page-Objekte entweder in Visual Basic oder in der Formular-Entwurfsansicht erstellen, verschieben oder löschen und deren Eigenschaften einstellen. Wenn Sie ein neues Page-Objekt in Visual Basic erstellen möchten, verwenden Sie die Methode Add der Auflistung Pages. Wenn Sie ein Page-Objekt löschen möchten, verwenden Sie die Methode Remove der Auflistung Pages.

Wenn Sie ein neues Page-Objekt in der Formular-Entwurfsansicht erstellen möchten, klicken Sie im Register-Steuerelement auf die rechte Maustaste, und klicken Sie anschließend im Kontextmenü auf Seite einfügen. Außerdem können Sie eine vorhandene Seite kopieren und einfügen. Sie können die Eigenschaften des neues Page-Objekts in der Formular-Entwurfsansicht unter Verwendung des Eigenschaftenfensters einstellen.

Jedes Page-Objekt besitzt eine Eigenschaft PageIndex, die seine Position innerhalb der Auflistung Pages angibt. Die Eigenschaft Value des Registerkarten-Steuerelements entspricht der Eigenschaft PageIndex der aktuellen Seite. Sie können Eigenschaften verwenden, um zu bestimmen, welche Seite aktuell ausgewählt ist, nachdem der Benutzer von einer Seite zur andern gewechselt ist, oder um die Reihenfolge zu bestimmen, in der die Seiten im Steuerelement angezeigt werden.

Ein Page-Objekt ist auch eine Art Control-Objekt. Die Eigenschaftenkonstante ControlType für ein Page-Objekt ist acPage. Obwohl es sich um ein Steuerelement handelt, gehört ein Page-Objekt eher zu der Auflistung Pages als zu der Auflistung Controls. Die Auflistung Pages eines Register-Steuerelements ist eine besondere Art der Auflistung Controls.

Jedes Page-Objekt kann auch ein oder mehrere Steuerelemente enthalten. Steuerelemente in einem Page-Objekt gehören zur Auflistung Controls dieses Page-Objekts. Wenn Sie mit einem Steuerelement in einem Page-Objekt arbeiten möchten, verweisen Sie auf dieses Steuerelement innerhalb der Auflistung Controls dieses Page-Objekts verweisen.


Page-Objekt, Pages-Auflistung - Beispiel

Die folgende Ereignisprozedur durchläuft alle Steuerelemente auf jeder Seite eines Registerkarten-Steuerelements, wenn der Benutzer die entsprechende Seite auswählt.

Wenn Sie dieses Beispiel ausführen möchten, erstellen Sie ein neues Formular mit einem Registerkarten-Steuerelement RegisterStr0, und stellen Sie dessen Eigenschaft OnChange auf [Ereignisprozedur] ein. Fügen Sie den folgenden Code in das Modul des Formulars ein. Wechseln Sie in die Formularansicht, und klicken Sie auf die verschiedenen Registerkarten, um deren Steuerelemente zu durchlaufen.

Private Sub RegisterStr0_Change()

Dim tbc As Control, pge As Page

Dim ctl As Control

' Verweis auf Registerkarten-Steuerelement zurückgeben.

Set tbc = Me!RegisterStr0

' Verweis auf aktuell ausgewählte Seite zurückzugeben.

Set pge = tbc.Pages(tbc.Value)

' Steuerelemente auf der aktuell ausgewählten Seite durchlaufen.

Debug.Print pge.Name & " Steuerelemente:"

For Each ctl In pge.Controls

Debug.Print ctl.Name

Next ctl

Debug.Print

End Sub


Pages-Auflistung

Die Auflistung Pages enthält alle Page-Objekte in einem Registerkarten-Steuerelement.

Hinweis

Die Auflistung Pages ist eine besondere Art der Auflistung Controls, die zu dem Register-Steuerelement gehört. Sie enthält Page-Objekte, die Steuerelemente sind. Die Auflistung Pages unterscheidet sich von einer typischen Auflistung Controls dadurch, daß Sie Page-Objekte hinzufügen und löschen können, indem Sie Methoden der Auflistung Pages verwenden.

Wenn Sie in Visual Basic ein neues Page-Objekt zur Auflistung Pages hinzufügen möchten, verwenden Sie die Methode Add der Auflistung Pages. Wenn Sie ein vorhandenes Page-Objekt entfernen möchten, verwenden Sie die Methode Remove der Auflistung Pages. Wenn Sie die Anzahl der Page-Objekte in der Auflistung Pages feststellen möchten, verwenden Sie die Eigenschaft Count der Auflistung Pages.

Sie können die Methode CreateControl ebenfalls verwenden, um ein Page-Objekt zu der Auflistung Pages eines Register-Steuerelements hinzuzufügen. Zu diesem Zweck müssen Sie den Namen des Register-Steuerelements für das Argument parent der Funktion CreateControl angeben. Die Eigenschaftenkonstante ControlType für ein Page-Objekt ist acPage.

Sie können die Auflistung Pages durchlaufen, indem Sie die Anweisung For Each...Next verwenden.

Die einzelnen Page-Objekte in der Auflistung Pages sind, beginnend bei Null, indiziert.


Reference-Objekt

Das Reference-Objekt stellt einen Verweis auf die Klassenbibliothek einer anderen Anwendung oder eines anderen Projekts dar.

Hinweis

Wenn Sie ein Reference-Objekt erstellen, stellen Sie dynamisch über Visual Basic einen Verweis ein.

Das Reference-Objekt ist ein Element der Auflistung References. Wenn Sie auf ein bestimmtes Reference-Objekt in der Auflistung References verweisen möchten, verwenden Sie eine der folgenden Syntaxformen.

Syntax	Beschreibung
References!Verweisname	Das Argument Verweisname ist der Name des Reference-Objekts.
References("Verweisname")	Das Argument Verweisname ist der Name des Reference-Objekts.
References(Index)	Das Argument Index ist die numerische Position des Objekts in der Auflistung.
Das folgende Beispiel verweist auf das Reference-Objekt, das den Verweis auf die Klassenbibliothek von Microsoft Access darstellt:

Dim ref As Reference

Set ref = References!Access


Reference-Objekt, References-Auflistung - Beispiel

Das folgende Beispiel erstellt einen Verweis auf eine bestimmte Klassenbibliothek:

Function ReferenceFromFile(strDateiname As String) As Boolean

Dim ref As Reference

On Error GoTo Error_ReferenceFromFile

Set ref = References.AddFromFile(strDateiname)

ReferenceFromFile = True

Exit_ReferenceFromFile:

Exit Function

Error_ReferenceFromFile:

MsgBox Err & ": " & Err.Description

ReferenceFromFile = False

Resume Exit_ReferenceFromFile

End Function

Sie können diese Funktion aufrufen, indem Sie eine Prozedur ähnlich der folgenden verwenden, die einen Verweis auf das Kalender-Steuerelement erstellt:

Sub CreateCalendarReference()

If ReferenceFromFile("C:\WINDOWS\SYSTEM\MSCAL.OCX") = True Then

MsgBox "Verweis wurde erfolgreich eingestellt."

Else

MsgBox "Verweis konnte nicht eingestellt werden."

End If

End Sub


References-Auflistung

Die Auflistung References enthält Reference-Objekte, die alle aktuell eingestellten Verweise darstellen.

Hinweis

Die Reference-Objekte in der Auflistung References entsprechen der Liste der Verweise im Dialogfeld Verweise. Sie öffnen das Dialogfeld, indem Sie im Menü Extras auf Verweise klicken. Jedes Reference-Objekt stellt einen ausgewählten Verweis in der Liste dar. Im Dialogfeld Verweise angezeigte aber nicht ausgewählte Verweise sind nicht in der Auflistung References enthalten.

Sie können die Auflistung References durchlaufen, indem Sie die Anweisung For Each...Next verwenden.

Die Auflistung References Auflistung gehört zum Microsoft Access-Objekt Application.

Die einzelnen Reference-Objekte in der Auflistung References sind, beginnend bei 1, indiziert.


hWndAccessApp-Eigenschaft

Mit der Eigenschaft hWndAccessApp können Sie die Kennummer (Handle) ermitteln, die Microsoft Windows 95 dem Microsoft Access-Hauptfenster zugewiesen hat.

Einstellung

Die Eigenschaft hWndAccessApp ist ein Wert des Typs Long Integer, der von Microsoft Access eingestellt wird und schreibgeschützt ist.

Hinweis

Sie können diese Eigenschaft in Visual Basic verwenden, wenn Sie Funktionen des Microsoft Windows API (Application Programming Interface) oder andere externe Prozeduren aufrufen, die als Argument eine Fensterkennummer (Fenster-Handle) erwarten.

Mit der Eigenschaft hWnd können Sie die Kennummer eines Fensters ermitteln, das ein Microsoft Access-Objekt, z.B. ein Formular oder einen Bericht, enthält.


PictureType-Eigenschaft (Bildtyp)

Mit der Eigenschaft PictureType können Sie angeben, ob Microsoft Access das Bild eines Objekts als verknüpftes oder als eingebettetes Objekt speichert.

Einstellungen

Die Eigenschaft PictureType kann eine der folgenden Einstellungen annehmen.

Einstellung	Beschreibung	Visual Basic
Eingebettet	(Standardeinstellung) Das Bild wird in das Objekt eingebettet und wird Bestandteil der Datenbankdatei.	0
Verknüpft	Das Bild wird mit dem Objekt verknüpft. Microsoft Access speichert einen Zeiger auf die Stelle, an der das Bild auf dem Datenträger gespeichert ist.	1
Sie können die Eigenschaft PictureType im Eigenschaftenfenster des jeweiligen Objekts, mit einem Makro oder mit Visual Basic einstellen.

Diese Eigenschaft kann nur in der Entwurfsansicht eines Formulars oder der Entwurfsansicht eines Berichts eingestellt werden.

Für Steuerelemente können Sie die Standardeinstellung dieser Eigenschaft mit den Standardeigenschafteneinstellungen oder der Methode DefaultControl- in Visual Basic festlegen.

Hinweis

Wenn diese Eigenschaft auf Eingebettet eingestellt ist, wird die Datenbank um die Größe der Bilddatei vergrößert, wobei diese Vergrößerung bei einigen .WMF-Dateien bis zum Doppelten der Größe der Bilddatei betragen kann. Wenn diese Eigenschaft auf Verknüpft eingestellt ist, wird die Datenbank nicht vergrößert, da Microsoft Access nur einen Zeiger auf die Stelle des Datenträgers speichert, an der sich die Bilddatei befindet.

Anmerkung   Wenn eine verknüpfte Datei an eine andere Stelle des Datenträgers verschoben wurde, müssen Sie die Verknüpfung mit Hilfe der Eigenschaft Picture neu einrichten.

Für eingebettete Objekte speichert die Eigenschaft PictureData die einzelnen Bits, die das eigentliche Bild ergeben. Für verknüpfte Bilder speichert diese Eigenschaft den Pfad zu der Datei des Bildes.

Sie können ein verknüpftes Bild mit einer separaten Anwendung bearbeiten. Die an dem Bild vorgenommenen Änderungen werden in der Datenbank angezeigt, sobald das Objekt, das das Bild enthält, das nächste Mal angezeigt wird.


Assistant-Eigenschaft

Mit der Eigenschaft Assistant können Sie einen Verweis auf das Objekt Assistant zurückgeben.

Einstellung

[Anwendung.]Assistant[.Methode oder Eigenschaft]

Die Eigenschaft Assistant verwendet die folgenden Einstellungen:

Einstellung	Beschreibung
Anwendung	Optional. Das Objekt Application.
Assistant	Erforderlich. Wird die Eigenschaft Assistant ohne Angabe einer Methode oder Eigenschaft verwendet, gibt sie die Eigenschaft Item des Objekts Assistant zurück.
Methode oder Eigenschaft	Eine Methode oder Eigenschaft des Objekts Assistant.
Die Eigenschaft Assistant ist nur in Visual Basic verfügbar.

Hinweis

Nachdem Sie einen Verweis auf das Objekt Assistant eingestellt haben, können Sie auf alle Eigenschaften und Methoden des Objekts zugreifen. Sie stellen einen Verweis auf das Objekt Assistant ein, indem Sie in der Modul-Entwurfsansicht im Menü Extras auf Verweise klicken. Anschließend stellen Sie im Dialogfeld Verweise einen Verweis auf die Microsoft Office 8.0 Object Library ein, indem Sie das entsprechende Kontrollkästchen aktivieren. Microsoft Access kann diesen Verweis automatisch einstellen, wenn Sie eine Konstante der Microsoft Office 8.0 Object Library zum Einstellen einer Eigenschaft des Objekts Assistant oder als Argument einer Methode des Objekts Assistant verwenden.


Assistant-Eigenschaft - Beispiel

Das folgende Beispiel verwendet die Eigenschaft Assistant des Objekts Application, um verschiedene Eigenschaften und Methoden des Objekts Assistant zu bearbeiten. Wenn Sie dieses Beispiel ausführen möchten, fügen Sie den folgenden Code in den Deklarationsbereich eines Standardmoduls ein. Erstellen Sie unter Verwendung des Dialogfelds Verweise einen Verweis auf die Microsoft Office 8.0 Object Library. (Zum Öffnen des Dialogfelds klicken Sie im Menü Extras auf Verweise.) Klicken Sie anschließend auf eine beliebige Stelle in der Prozedur, und drücken Sie F5, um die Prozedur auszuführen.

Sub AnimateAssistant()

Dim blnStatus As Boolean

With Assistant

' Anzeigestatus des Assistenten speichern.

blnStatus = .Visible

' Assistent einblenden.

If blnStatus = False Then .Visible = True

' Animation des Assistenten.

.Animation = msoAnimationAppear

' Die Eigenschaften "Item" und "FileName" des "Assistant"-

' Objekts anzeigen.

MsgBox "Hallo, mein Name ist " & .Item & ". Ich wohne in " & _ 	FileName, , "Assistenteninformation:"

' Anzeigestatus des Assistenten auf ursprüngliche Einstellung

' zurücksetzen.

.Visible = blnStatus

End With

End Sub


CommandBars-Eigenschaft

Mit der Eigenschaft CommandBars können Sie einen Verweis auf das Auflistungsobjekt CommandBars zurückgeben.

Einstellung

[Anwendung.]CommandBars[.Methode oder Eigenschaft]

Die Eigenschaft CommandBars verwendet die folgenden Einstellungen:

Einstellung	Beschreibung
Anwendung	Optional. Das Objekt Application.
CommandBars	Erforderlich. Wird die Eigenschaft CommandBars ohne Angabe einer Methode oder Eigenschaft verwendet, gibt sie das Auflistungsobjekt CommandBars zurück.
Methode oder Eigenschaft	Eine Methode oder Eigenschaft des Auflistungsobjekts CommandBars. Die Eigenschaft Item (Auflistungen) ist die Standardeigenschaft des Auflistungsobjekts CommandBars.
Die Eigenschaft CommandBars ist nur in Visual Basic verfügbar.

Hinweis

Das Auflistungsobjekt CommandBars ist die Auflistung aller eingebauten und benutzerdefinierten Befehlsleisten in einer Anwendung. Sie können auf einzelne Elemente der Auflistung verweisen, indem Sie den Index des Elementobjekts oder einen Zeichenfolgenausdruck verwenden, der den Namen des Elementobjekts darstellt. Das erste Elementobjekt in der Auflistung besitzt den Indexwert 1, und die Gesamtanzahl der Elementobjekte in der Auflistung entspricht dem Wert der Eigenschaft Count der Auflistung CommandBars.

Nachdem Sie einen Verweis auf das Auflistungsobjekt CommandBars eingestellt haben, können Sie auf alle Eigenschaften und Methoden des Objekts zugreifen. Sie stellen einen Verweis auf das Auflistungsobjekt CommandBars ein, indem Sie in der Modul-Entwurfsansicht im Menü Extras auf Verweise klicken. Stellen Sie im Dialogfeld Verweise einen Verweis auf die Microsoft Office 8.0 Object Library ein, indem Sie das entsprechende Kontrollkästchen aktivieren.


CommandBars-Eigenschaft - Beispiel

Das folgende Beispiel verwendet die Eigenschaft CommandBars des Objekts Application, um verschiedene Eigenschaften und Methoden des Auflistungsobjekts CommandBars zu bearbeiten. Wenn Sie dieses Beispiel ausführen möchten, fügen Sie den folgenden Code in den Deklarationsbereich eines Standardmoduls ein. Erstellen Sie unter Verwendung des Dialogfelds Verweise einen Verweis auf die Microsoft Office 8.0 Object Library. (Zum Öffnen des Dialogfelds klicken Sie im Menü Extras auf Verweise.) Klicken Sie anschließend auf eine beliebige Stelle in der Prozedur GetCommandBarInfo, und drücken Sie F5, um die Prozedur auszuführen.

Sub GetCommandBarInfo()

Dim strBefehlsleistenname As String

strBefehlsleistenname = InputBox("Geben Sie den Namen einer Befehlsleiste ein", "Abrufen der Befehlsleisteninformation", "Menu Bar")

If Len(strBefehlsleistenname) > 0 Then

CommandBarInfo strBefehlsleistenname

End If

End Sub

Sub CommandBarInfo(strBefehlsleistenname As String)

Dim cbr As CommandBar

On Error Resume Next

Set cbr = CommandBars(strBefehlsleistenname)

If Err = 0 then

With cbr

MsgBox "Die Befehlsleiste '" & .Name & "' enthält " & _

.Controls.Count & IIf(.Controls.Count = 1, " Steuerelement und ", _

" Steuerelemente und ") & IIf(.BuiltIn, "ist eine", "ist keine") & _

" eingebaute Symbolleiste", vbOKOnly, "'" & _

.Name & "' Information:"

End With

Else

MsgBox "Ungültiger Befehlsleistenname"

End If

End Sub


Item-Eigenschaft (Auflistungen)

Die Eigenschaft Item gibt ein bestimmtes Element einer Auflistung entweder nach Position oder nach Index zurück.

Einstellung

Objekt.Item(Index)

Die Eigenschaft Item verwendet die folgenden Einstellungen:

Einstellung	Beschreibung
Objekt	Eine der folgenden Auflistungen: Controls, Forms, Modules, Pages, Properties, Reports.
Index	Ein Ausdruck, der die Position eines Elements der Auflistung bestimmt, auf die im Argument Objekt verwiesen wird. Wenn es sich um einen numerischen Ausdruck handelt, muß das Argument Index eine Zahl zwischen 0 und dem Wert der Eigenschaft Count der Auflistung minus 1 sein. Wenn es sich um einen Zeichenfolgenausdruck handelt, muß das Argument Index der Name eines Elements der Auflistung sein.
Die Eigenschaft Item ist nur in Visual Basic verfügbar und ist schreibgeschützt.

Hinweis

Wenn der für das Argument Index angegebene Wert keinem vorhandenen Element der Auflistung entspricht, tritt ein Fehler auf.

Die Eigenschaft Item ist das Standardelement einer Auflistung, Sie brauchen die Eigenschaft daher nicht explizit anzugeben. Die folgenden zwei Codezeilen haben z.B. dieselbe Bedeutung:

Debug.Print Modules(0)

Debug.Print Modules.Item(0)


OLEData-Eigenschaft

Mit der Eigenschaft OLEData können Sie Daten aus einem ungebundenen Objektfeld in ein anderes oder aus einem ActiveX-Steuerelement in ein anderes kopieren.

Einstellung

Steuerelementname.OLEData

Die Eigenschaft OLEData verwendet die folgenden Einstellungen:

Einstellung	Beschreibung
Steuerelementname	Erforderlich. Der Name des ungebundenen Objektfeld-Steuerelements.
OLEData	Erforderlich. Die Daten in einem ungebundenen Objektfeld oder ActiveX-Steuerelement.
Die Eigenschaft OLEData ist nur in Visual Basic verfügbar. Für ActiveX-Steuerelemente kann die Eigenschaft OLEData eines ActiveX-Steuerelements nur in der Entwurfsansicht auf die Eigenschaft OLEData eines anderen ActiveX-Steuerelements eingestellt werden.

Hinweis

Sie können diese Eigenschaft verwenden, um in einem ungebundenen Objektfeld Daten anzuzeigen, die auf den Daten in einem anderen ungebundenen Objektfeld basieren.

Wenn Sie die Eigenschaft OLEData eines ActiveX-Steuerelements auf den Wert der Eigenschaft OLEData eines anderen ActiveX-Steuerelements einstellen, wird das erste ActiveX-Steuerelement zu einer weiteren Instanz des zweiten ActiveX-Steuerelements. Das Ergebnis der folgenden Eigenschaftenzuweisung besteht z.B. darin, daß das Hierarchieansicht-Steuerelement in ein Kalender-Steuerelement geändert wird:

Me!HierarchieansichtSteuerelement1.OLEData = Me!KalenderSteuerelement1.OLEData


Properties-Eigenschaft

Mit der Eigenschaft Properties können Sie einen Verweis auf das Auflistungsobjekt Properties eines Steuerelements zurückgeben.

Einstellung

Steuerelementname.Properties[.Methode oder Eigenschaft]

Die Eigenschaft Properties verwendet die folgenden Einstellungen:

Einstellung	Beschreibung
Steuerelementname	Erforderlich. Der Name des Steuerelements, auf dessen Auflistungsobjekt Properties Sie verweisen möchten.
Properties	Erforderlich. Wird die Eigenschaft Properties ohne Angabe einer Methode oder Eigenschaft verwendet, gibt sie das Auflistungsobjekt Properties zurück.
Methode oder Eigenschaft	Eine Methode oder Eigenschaft des Auflistungsobjekts Properties. Die Eigenschaft Item (Auflistungen) ist die Standardeigenschaft für das Auflistungsobjekt Properties.
Die Eigenschaft Properties ist nur in Visual Basic verfügbar.

Hinweis

Das Auflistungsobjekt Properties ist die Auflistung aller Eigenschaften eines Steuerelements. Sie können auf einzelne Elemente der Auflistung verweisen, indem Sie den Index des Elementobjekts oder einen Zeichenfolgenausdruck verwenden, der den Namen des Elementobjekts darstellt. Das erste Elementobjekt in der Auflistung besitzt den Indexwert 0, und die Gesamtanzahl der Elementobjekte in der Auflistung entspricht dem Wert der Eigenschaft Count der Auflistung Properties minus 1.


Properties-Eigenschaft - Beispiel

Die folgende Prozedur verwendet die Eigenschaft Properties, um alle Eigenschaften der Steuerelemente eines Formulars im Testfenster zu drucken. Wenn Sie diesen Code ausführen möchten, fügen Sie eine Befehlsschaltfläche mit dem Namen cmdEigenschaftenAuflisten zu einem Formular hinzu, und fügen Sie den folgenden Code in den Deklarationsbereich des Formulars ein. Klicken Sie auf die Befehlsschaltfläche, um die Liste der Eigenschaften im Testfenster zu drucken.

Sub cmdEigenschaftenAuflisten_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 & " = Nur zur Entwurfszeit verfügbar."

Resume Next

Else

Debug.Print vbTab & prp.Name & " = Fehler aufgetreten: " & Err

Resume Next

End If

End Sub


BorderColor-Eigenschaft (Rahmenfarbe)

Mit der Eigenschaft BorderColor können Sie die Farbe des Rahmens eines Steuerelements angeben.

Einstellung

Die Einstellung der Eigenschaft BorderColor ist ein numerischer Ausdruck, der der Farbe entspricht, die Sie für den Rahmen des Steuerelements verwenden möchten.

Sie können diese Eigenschaft mit dem Farb-Editor einstellen, indem Sie im Eigenschaftenfenster auf die Editor-Schaltfläche  [image]  rechts neben der Eigenschaft klicken. Mit Hilfe des Farb-Editors können Sie benutzerdefinierte Rahmenfarben für Steuerelemente definieren.

Sie können diese Eigenschaft auch mit Linien-/Rahmenfarbe  [image]  aus der Format-Symbolleiste (Formular/Bericht), mit einem Makro oder mit Visual Basic einstellen.

Sie können die Standardeinstellung für diese Eigenschaft mit Hilfe der Standardeigenschafteneinstellungen eines Steuerelements oder der Methode DefaultControl in Visual Basic einstellen.

Hinweis

Die Rahmenfarbe eines Steuerelements ist nur sichtbar, wenn dessen Eigenschaft SpecialEffect  auf Flach oder Schattiert eingestellt ist. Ist die Eigenschaft SpecialEffect auf einen anderen Wert als Flach oder Schattiert eingestellt, wird deren Einstellung in Flach geändert, sobald die Eigenschaft BorderColor eingestellt wurde.


BorderColor-, BackColor-, ForeColor-Eigenschaft (Rahmenfarbe, Hintergrundfarbe, Textfarbe) - Beispiel

Im folgenden Beispiel werden die Eigenschaften BorderColor, BackColor und ForeColor mit der Funktion RGB abhängig davon eingestellt, welchen Wert das Textfeld txtÜberfällig hat. Sie können diese Eigenschaften auch mit der Funktion QBColor einstellen. Wird der folgende Code in die Ereignisprozedur Form_Current( ) eingefügt, werden die Farbmerkmale für die Anzeige des Textfelds eingestellt, sobald der Benutzer das Formular öffnet oder zu einem anderen Datensatz wechselt.

Sub Form_Current()

Dim curFälligerBetrag As Currency, lngSchwarz As Long

Dim lngRot As Long, lngGelb As Long, lngWeiß As Long

If Not IsNull(Me!txtÜberfällig.Value) Then

curFälligerBetrag = Me!txtÜberfällig.Value

Else

Exit Sub

End If

lngRot = RGB(255, 0, 0)

lngSchwarz = RGB(0, 0, 0)

lngGelb = RGB(255, 255, 0)

lngWeiß = RGB(255, 255, 255)

If curFälligerBetrag > 100 Then

Me!txtÜberfällig.BorderColor = lngRot

Me!txtÜberfällig.ForeColor = lngRot

Me!txtÜberfällig.BackColor = lngGelb

Else

Me!txtÜberfällig.BorderColor = lngSchwarz

Me!txtÜberfällig.ForeColor = lngSchwarz

Me!txtÜberfällig.BackColor = lngWeiß

End If

End Sub


BorderStyle-Eigenschaft (Rahmenart)

•	Formulare. Mit der Eigenschaft BorderStyle können Sie den Rahmentyp sowie die Rahmenelemente (Titelleiste, Systemmenü, Schaltflächen Minimieren und Maximieren oder Schließen) angeben, die für das Formular verwendet werden sollen. Üblicherweise verwenden Sie für normale Formulare, Popup-Formulare und benutzerdefinierte Dialogfelder verschiedene Rahmenarten.

•	Steuerelemente. Mit der Eigenschaft BorderStyle können Sie angeben, wie der Rahmen eines Steuerelements angezeigt wird.

Einstellungen

Für Formulare kann die Eigenschaft BorderStyle eine der folgenden Einstellungen annehmen.

Einstellung	Beschreibung	Visual Basic
Keine	Das Formular hat weder einen Rahmen noch zugehörige Rahmenelemente. Die Größe des Formulars kann nicht geändert werden.	0
Dünn	Das Formular hat einen dünnen Rahmen und kann alle Rahmenelemente enthalten. Die Größe des Formulars kann nicht geändert werden (im Systemmenü ist der Befehl Größe ändern nicht verfügbar). Diese Einstellung wird häufig für Popup-Formulare verwendet. (Soll ein Formular immer im Vordergrund vor allen anderen Microsoft Access-Fenstern angezeigt werden, müssen Sie dessen Eigenschaft PopUp auf Ja einstellen.)	1
Veränderbar	(Standardeinstellung) Das Formular hat den Standardrahmen für Microsoft Access-Formulare, kann jedes der Rahmenelemente enthalten und kann in der Größe geändert werden. Diese Einstellung wird häufig für normale Microsoft Access-Formulare verwendet.	2
Dialog	Das Formular hat einen dicken (doppelten) Rahmen und kann nur eine Titelleiste, eine Schließen-Schaltfläche und ein Systemmenü enthalten. Das Formular kann nicht maximiert, minimiert oder in der Größe geändert werden (im Systemmenü sind die Befehle Maximieren, Minimieren und Größe ändern nicht verfügbar). Diese Einstellung wird häufig für benutzerdefinierte Dialogfelder verwendet. (Soll ein Formular gebunden sein, müssen Sie dessen Eigenschaft Modal  auf Ja einstellen. Soll es ein gebundenes Popup-Formular sein, wie es z.B. für Dialogfelder üblich ist, müssen Sie sowohl die Eigenschaft PopUp als auch die Eigenschaft Modal des Formulars auf Ja einstellen.	3
Sie können die Eigenschaft BorderStyle eines Formulars im Eigenschaftenfenster des Formulars (nur in der Entwurfsansicht eines Formulars), mit einem Makro oder mit Visual Basic einstellen.

Für Steuerelemente kann die Eigenschaft BorderStyle eine der folgenden Einstellungen annehmen.

Einstellung	Beschreibung	Visual Basic
Transparent	(Standardeinstellung nur für Bezeichnungsfeld, Diagramm und Unterbericht) Transparent	0
Durchgezogen	(Standardeinstellung) Durchgezogene Linie	1
Strichlinien	Gestrichelte Linie	2
Kurze Strichlinien	Gestrichelte Linie mit kurzen Strichen	3
Punkte	Gepunktete Linie	4
Wenige Punkte	Gepunktete Linie mit weit auseinander liegenden Punkten	5
Strichlinie Punkt	Linie mit einer Strich-Punkt-Kombination	6
Strichlinie Punkt Punkt	Linie mit einer Strich-Punkt-Punkt-Kombination	7
Die Eigenschaft BorderStyle eines Steuerelements können Sie im Eigenschaftenfenster des Steuerelements, mit einem Makro oder mit Visual Basic einstellen.

Sie können die Standardeinstellung für diese Eigenschaft mit Hilfe der Standardeigenschafteneinstellungen eines Steuerelements oder der Methode DefaultControl in Visual Basic einstellen.

Hinweis

Die Rahmenfarbe eines Steuerelements ist nur sichtbar, wenn dessen Eigenschaft SpecialEffect  auf Flach oder Schattiert eingestellt ist. Ist die Eigenschaft SpecialEffect auf einen anderen Wert als Flach oder Schattiert eingestellt, wird deren Einstellung in Flach geändert, sobald die Eigenschaft BorderColor eingestellt wurde.

Bei einem Formular legt die Eigenschaft BorderStyle die Merkmale fest, die das Formular optisch als normales Formular, als Popup-Formular oder als benutzerdefiniertes Dialogfeld kennzeichnen. Sie können auch die Eigenschaften Modal und PopUp einstellen, um die Merkmale eines Formulars noch weiter zu definieren.

Eventuell möchten Sie auch die folgenden Eigenschaften eines Formulars einstellen: ControlBox , CloseButton , MinMaxButtons , ScrollBars , NavigationButtons  und RecordSelectors . Diese Eigenschaften beeinflussen sich wechselseitig auf folgende Weise:

•	Ist die Eigenschaft BorderStyle auf Keine oder Dialog eingestellt, hat das Formular unabhängig davon, wie seine Eigenschaft MinMaxButtons eingestellt ist, weder eine Maximieren- noch eine Minimieren-Schaltfläche.

•	Ist die Eigenschaft BorderStyle auf Keine eingestellt, hat das Formular unabhängig davon, wie seine Eigenschaft ControlBox eingestellt ist, kein Systemmenü.

•	Die Einstellung der Eigenschaft BorderStyle hat keinerlei Auswirkungen darauf, wie die Bildlaufleisten, die Navigationsschaltflächen, das Datensatznummernfeld oder die Datensatzmarkierer angezeigt werden.

Die Eigenschaft BorderStyle wirkt sich nur in der Formularansicht aus. In der Entwurfsansicht eines Formulars wird die Eigenschaft ignoriert.

Wenn Sie die Eigenschaft BorderStyle eines Popup-Formulars auf Keine einstellen, können Sie das Formular nur schließen, wenn Sie eine z.B. mit Schließen beschriftete Schaltfläche einfügen, über die entweder ein Makro ausgeführt wird, das die Aktion Schließen enthält, oder in Visual Basic eine Ereignisprozedur, in der die Methode Close verwendet wird.

Popup-Formulare haben in der Regel eine unveränderliche Größe. Sie können die Größe eines Popup-Formulars aber veränderbar machen, indem Sie dessen Eigenschaft PopUp auf Ja und dessen Eigenschaft BorderStyle auf Veränderbar einstellen.

Sie können auch in der Aktion ÖffnenFormular in dessen Argument Fenstermodus die Einstellung Dialog verwenden, um ein Formular so zu öffnen, daß seine Eigenschaften Modal und PopUp auf Ja eingestellt sind.


ForeColor-Eigenschaft (Textfarbe)

Sie können die Eigenschaft ForeColor verwenden, um die Farbe anzugeben, in der der Text eines Steuerelements angezeigt werden soll. Sie können diese Eigenschaft für Steuerelemente eines Formulars oder Berichts verwenden, damit sie einfacher lesbar sind oder um ihre spezielle Bedeutung hervorzuheben. Sie können z.B. für ein Steuerelement namens EinheitenImLager dessen Textfarbe ändern, wenn sein Wert unter den Mindestbestand fällt und eine Neubestellung erforderlich ist.

Sie können diese Eigenschaft für Berichte verwenden, um spezielle optische Effekte zu erzielen, wenn Sie mit einem Farbdrucker arbeiten. Für einen Bericht gibt diese Eigenschaft die Farbe an, mit der die Methoden Print, Line und Circle drucken bzw. zeichnen.

Einstellung

Die Eigenschaft ForeColor enthält einen numerischen Ausdruck, der dem Wert der Textfarbe des Steuerelements entspricht.

Sie können diese Eigenschaft mit dem Farb-Editor einstellen, indem Sie im Eigenschaftenfenster auf die Editor-Schaltfläche  [image]  rechts neben der Eigenschaft klicken. Mit Hilfe des Farb-Editors können Sie benutzerdefinierte Farben für die Texte von Steuerelementen definieren.

Für Steuerelemente können Sie diese Eigenschaft mit Schrift-/Vordergrundfarbe  [image]  aus der Format-Symbolleiste (Formular/Bericht), im Eigenschaftenfenster des jeweiligen Steuerelements, mit einem Makro oder mit Visual Basic einstellen.

Die Standardeinstellung dieser Eigenschaft können Sie in den Standardeigenschafteneinstellungen eines Steuerelements oder der Methode DefaultControl in Visual Basic festlegen.

Für Berichte können Sie die Eigenschaft ForeColor nur mit einem Makro oder einer Visual Basic-Ereignisprozedur einstellen, das bzw. die in der Ereigniseigenschaft OnPrint  eines Bereichs angegeben ist.

Für TableDef- oder QueryDef-Objekte können Sie diese Eigenschaft mit Schrift-/Vordergrundfarbe  [image]  aus der Format-Symbolleiste (Datenblatt) oder in Visual Basic mit der Eigenschaft DatasheetForeColor einstellen.

Hinweis

Für ein Textfeld, Kombinationsfeld, Bezeichnungsfeld oder eine Befehlsschaltfläche, die einen Hyperlink enthalten, stellt Microsoft Access die Eigenschaft ForeColor automatisch auf die Farbe ein, die im Dialogfeld Optionen auf der Registerkarte Hyperlinks/HTML im Feld Farbe für gesichteten Hyperlink oder Hyperlink-Farbe angegeben ist. Sie öffnen das Dialogfeld Optionen, indem Sie im Menü Extras auf Optionen klicken. Wenn Sie den Hyperlink aus dem Steuerelement entfernen (z.B., indem Sie der Eigenschaft ControlSource eines gebundenen Textfelds eine Quelle zuweisen, die kein Hyperlink-Feld ist), stellt Microsoft Access die Eigenschaft ForeColor wieder auf die Standardeigenschafteneinstellung ein. Bei Befehlsschaltflächen hat die Einstellung der ForeColor-Eigenschaft nur dann eine Auswirkung, wenn die Befehlsschaltfläche eine Beschriftung und kein Bild enthält.


Picture-Eigenschaft (Bild)

Sie können die Eigenschaft Picture verwenden, um eine Bitmap oder eine Grafik anderen Typs anzugeben, die auf einer Befehlsschaltfläche, einem Bild-Steuerelement, einer Umschaltfläche, einer Seite auf einem Register-Steuerelement oder auf einem Formular bzw. Bericht als Hintergrundbild angezeigt werden soll. Eine Schalfläche kann entweder eine Beschriftung oder ein Bild anzeigen.

Einstellung

Die Eigenschaft Picture enthält entweder (Bitmap) oder den Pfad und den Dateinamen einer Bitmap oder einer Grafik anderen Typs, die angezeigt werden soll.

Sie können diese Eigenschaft wie folgt einstellen:

•	Im jeweiligen Eigenschaftenfenster. Klicken Sie auf die Editor-Schaltfläche  [image]  rechts neben dem Eigenschaftenfeld (bei Befehlsschaltflächen und Umschaltflächen). Wenn Sie eine Bitmap aus der Liste Verfügbare Bilder auswählen, wird die Eigenschaft auf (Bitmap) eingestellt.

•	Mit einem Makro.

•	Mit Visual Basic. Sie können einen Zeichenfolgenausdruck verwenden, der den Pfad und den Namen der Grafik enthält, wie im folgenden Beispiel:

btnLogoAnzeigen.Picture = "c:\Windows\Winlogo.bmp"

•	Mit dem Befehl Grafik aus dem Menü Einfügen (für Bild-Steuerelemente eines Formulars oder Berichts), um eine Bitmap oder eine Grafik anderen Typs auszuwählen.

Die Standardeinstellung ist (keine). Sobald die jeweilige Grafik in das Objekt geladen wurde, wird die Eigenschaft entweder auf (Bitmap) oder auf den Pfad und den Dateinamen der Grafik eingestellt. Wenn Sie (Bitmap) oder den Pfad und den Dateinamen der Grafik aus der Einstellung der Eigenschaft löschen, wird das Bild aus dem Objekt gelöscht und die Eigenschaft wieder auf (keine) eingestellt.

Ist die Eigenschaft PictureType  auf Eingebettet eingestellt, wird die Grafik zusammen mit dem Objekt gespeichert.

Hinweis

Sie können benutzerdefinierte Bitmaps mit Hilfe von Microsoft Paintbrush oder einer anderen Anwendung erstellen, die Bitmap-Dateien erstellen kann. Eine Bitmap-Datei muß eine der Dateinamenerweiterungen .bmp, .ico oder .dib haben. Sie können auch Grafikdateien verwenden, die im .wmf- oder .emf-Format vorliegen, oder Grafikdateien anderen Typs, für die Sie Grafikfilter besitzen. Formulare, Berichte und Bild-Steuerelemente unterstützen alle Grafiken. Befehlsschaltflächen und Umschaltflächen unterstützen nur Bitmaps.

Schaltflächen können entweder eine Beschriftung oder ein Bild anzeigen. Wenn Sie einer Schaltfläche beides zuweisen, wird das Bild angezeigt, die Beschriftung jedoch nicht. Wird das Bild gelöscht, wird wieder die Beschriftung angezeigt. Microsoft Access stellt das Bild auf der Schaltfläche zentriert dar und schneidet überstehende Teile ab, wenn das Bild größer ist als die Schaltfläche.

Tip   Wenn Sie eine Befehlsschaltfläche oder Umschaltfläche erstellen möchten, die sowohl eine Beschriftung als auch ein Bild hat, können Sie die gewünschte Beschriftung als Teil der Bitmap erstellen und die Bitmap der Eigenschaft Picture des Steuerelements zuweisen.


Visible-Eigenschaft (Sichtbar)

Mit der Eigenschaft Visible können Sie ein Formular, einen Bericht, einen Bereich eines Formulars oder Berichts oder ein Steuerelement ein- bzw. ausblenden. Dies bietet sich z.B. an, wenn Sie Zugriff auf Informationen haben möchten, die sich auf einem Formular befinden, dieses Formular aber nicht sichtbar sein soll. Z.B. könnten Sie den Wert eines Steuerelements eines ausgeblendeten Formulars als Kriterium einer Abfrage verwenden.

Einstellung

Die Eigenschaft Visible kann eine der folgenden Einstellungen annehmen.

Einstellung	Beschreibung	Visual Basic
Ja	(Standardeinstellung) Das Objekt ist sichtbar.	True (–1)
Nein	Das Objekt ist nicht sichtbar.	False (0)
Sie können diese Eigenschaft im Eigenschaftenfenster des jeweiligen Objekts (für Bereiche und alle Steuerelemente außer Seitenumbruch), mit einem Makro oder mit Visual Basic einstellen.

Für Formulare und Berichte müssen Sie diese Eigenschaft mit einem Makro oder mit Visual Basic einstellen.

Für Steuerelemente können Sie die Standardeinstellung für diese Eigenschaft mit Hilfe der Standardeigenschafteneinstellungen oder der Methode DefaultControl in Visual Basic einstellen.

Hinweis

Die Eigenschaft Visible wirkt sich nicht darauf aus, ob eine Spalte in der Datenblattansicht angezeigt wird. Wenn Sie angeben möchten, ob eine Spalte in der Datenblattansicht sichtbar sein soll oder nicht, verwenden Sie die Eigenschaft ColumnHidden .

Soll ein Objekt ausgeblendet werden, wenn gedruckt wird, verwenden Sie die Eigenschaft DisplayWhen .

Sie können die Eigenschaft Visible verwenden, um ein Steuerelement eines Formulars oder Berichts auszublenden, indem Sie die Eigenschaft in einem Makro oder in einer Ereignisprozedur einstellen, das bzw. die ausgeführt wird, wenn das Ereignis Current eintritt. Sie können z.B. auf einem Verkaufsbericht abhängig davon, wie groß die Umsatzzahlen sind, eine Glückwunschmeldung neben den monatlichen Umsatzzahlen eines Verkaufsberaters anzeigen oder ausblenden.

Anmerkung   Das Objekt Application hat ebenfalls die Eigenschaft Visible, die so eingestellt werden kann, daß die Anwendung nicht sichtbar ist. Diese Eigenschaft kann nur mit Visual Basic eingestellt werden.


BackColor-Eigenschaft (Hintergrundfarbe)

Mit der Eigenschaft BackColor können Sie die Farbe im Inneren eines Steuerelements oder Bereichs angeben.

Einstellung

Die Eigenschaft BackColor enthält einen numerischen Ausdruck, welcher der Farbe entspricht, in der das Innere eines Steuerelements oder Bereichs angezeigt werden soll.

Sie können den Farb-Editor verwenden, um diese Eigenschaft einzustellen, indem Sie auf die Editor-Schaltfläche  [image] rechts neben der Eigenschaft im Eigenschaftenfenster klicken. Mit dem Farb-Editor können Sie benutzerdefinierte Hintergrundfarben für Steuerelemente und Bereiche definieren.

Sie können diese Eigenschaft auch mit Fill/Back Color  [image]  in der Format-Symbolleiste (Formular/Bericht), im Eigenschaftenfenster eines Steuerelements oder Bereichs, in einem Makro oder in Visual Basic einstellen.

In Visual Basic verwenden Sie einen numerischen Ausdruck, um diese Eigenschaft einzustellen. Die Einstellung für diese Eigenschaft hat den Datentyp Long.

Sie können die Standardeinstellung für diese Eigenschaft mit Hilfe der Standardeigenschafteneinstellungen des Steuerelements oder der Methode DefaultControl in Visual Basic einstellen.

Für TableDef- oder QueryDef-Objekte können Sie diese Eigenschaft einstellen, indem Sie Füllen/Hintergrundfarbe  [image]  in der Format-Symbolleiste (Datenblatt) oder in Visual Basic die Eigenschaft DatasheetBackColor verwenden.

Hinweis

Sie können die Eigenschaft BackColor nur verwenden, wenn die Eigenschaft BackStyle (falls verfügbar) auf Normal eingestellt ist.


BackStyle-Eigenschaft (Hintergrundart)

Mit der Eigenschaft BackStyle können Sie angeben, ob ein Steuerelement durchsichtig (transparent) sein soll.

Einstellung

Die Eigenschaft BackStyle verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Normal	(Standardeinstellung für alle Steuerelemente mit Ausnahme der Optionsgruppe) Die Farbe für das Innere des Steuerelements wird durch die Eigenschaft BackColor eingestellt.	1
Transparent	(Standardeinstellung für die Optionsgruppe) Das Steuerelement ist transparent. Die Farbe des Formulars oder Berichts hinter dem Steuerelement ist sichtbar.	0
Sie können diese Eigenschaft mit Fill/Back Color  [image]  in der Format-Symbolleiste (Formular/Bericht) im Eigenschaftenfenster eines Steuerelements oder Bereichs, in einem Makro oder in Visual Basic einstellen.

Sie können die Standardeinstellung für diese Eigenschaft mit Hilfe der Standardeigenschafteneinstellungen des Steuerelements oder der Methode DefaultControl in Visual Basic einstellen.

Hinweis

Ist in der Palette der Schaltfläche Hintergrundfarbe die Schaltfläche Transparent ausgewählt, so wird die Eigenschaft BackStyle auf Transparent eingestellt; andernfalls auf Normal.

Tip   Sie blenden eine Befehlsschaltfläche aus, indem Sie deren Eigenschaft Transparent auf Ja einstellen.


BorderWidth-Eigenschaft (Rahmenbreite)

Mit der Eigenschaft BorderWidth können Sie die Breite eines Steuerelementrahmens angeben.

Einstellung

Die Eigenschaft BorderWidth verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Haarlinie	(Standardeinstellung) Der schmalste auf dem System mögliche Rahmen.	0
1 pt bis 6 pt	Die Breite in Punkt.	1 to 6
Sie können diese Eigenschaft mit Linien-/Rahmenbreite [image] in der Format-Symbolleiste (Formular/Bericht), im Eigenschaftenfenster des Steuerelements, in einem Makro oder in Visual Basic einstellen.

Sie können die Standardeinstellung für diese Eigenschaft mit Hilfe der Standardeigenschafteneinstellungen des Steuerelements oder der Methode DefaultControl in Visual Basic einstellen.

Hinweis

Sie können die Eigenschaft BorderWidth nur verwenden, wenn die Eigenschaft SpecialEffect auf Flach oder Schattiert eingestellt ist und die Eigenschaft BorderStyle nicht auf Transparent eingestellt ist. Wenn die Eigenschaft SpecialEffect auf einen anderen Wert und/oder die Eigenschaft BorderStyle auf Transparent eingestellt ist und Sie die Eigenschaft BorderWidth einstellen, wird die Eigenschaft SpecialEffect automatisch auf Flach und die Eigenschaft BorderStyle auf Durchgezogen zurückgesetzt.

Die genaue Rahmenbreite hängt vom Computer und Drucker ab. Auf manchen Systemen werden die Rahmenbreiten Haarlinie und 1 pt identisch dargestellt.


FillColor Property

Mit der Eigenschaft FillColor geben Sie die Farbe an, mit denen die Methoden Line und Circle Felder und Kreise in Berichten ausfüllen. Sie können diese Eigenschaft auch in Visual Basic verwenden, um optische Spezialeffekte in benutzerdefinierten Berichten zu erzielen, wenn Sie diese auf Farbdruckern drucken oder auf Farbbildschirmen anzeigen.

Einstellung

Die Eigenschaft FillColor enthält einen numerischen Ausdruck, der die Füllfarbe für alle Felder und Kreise angibt.

Sie können diese Eigenschaft nur in einem Makro oder in einer Visual Basic-Ereignisprozedur einstellen, die in der Ereigniseigenschaft OnPrint eines Bereichs angegeben ist.

Sie können die Funktionen RGB oder QBColor verwenden, um diese Eigenschaft einzustellen. Die Einstellung der Eigenschaft FillColor hat den Datentyp Long.


LineSlant-Eigenschaft (Neigung)

Mit der Eigenschaft LineSlant geben Sie an, ob eine Linie von oben links nach unten rechts oder von oben rechts nach unten links verläuft.

Einstellung

Die Eigenschaft LineSlant verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
\	(Standardeinstellung) Von oben links nach unten rechts.	False (0)
/	Von oben rechts nach unten links.	True (1)
Sie können diese Eigenschaft im Eigenschaftenfenster des Steuerelements, in einem Makro oder in Visual Basic einstellen.

Hinweis

Verwenden Sie die Eigenschaft LineSlant, um die Richtung einer Linie zu ändern. Verwenden Sie die Maus, um die Position oder Größe der Linie im Formular oder Bericht zu ändern.


SpecialEffect-Eigenschaft (Spezialeffekt)

Mit der Eigenschaft SpecialEffect können Sie angeben, ob einem Bereich oder Steuerelement eine besondere Formatierung zugewiesen wird.

Einstellung

Die Eigenschaft SpecialEffect verwendet die folgenden Einstellungen.

Einstellung	Beispiel	Beschreibung	Visual Basic
Flach		Das Objekt wird flach und in den Standardfarben des Systems oder in benutzerdefinierten Farben angezeigt, die in der Entwurfsansicht eingestellt wurden.	0
Erhöht		Das Objekt ist oben und links hervorgehoben und hat unten und rechts einen Schatten.	1
Vertieft		Das Objekt hat oben und links einen Schatten und ist unten und rechts hervorgehoben.	2
Graviert		Das Objekt hat eine vertiefte Linie um das Steuerelement.	3
Schattiert		Das Objekt hat einen Schatten unterhalb und rechts des Steuerelements.	4
Unterstrichen		Das Objekt hat eine vertiefte Linie unterhalb des Steuerelements.	5
Sie können diese Eigenschaft mit der Schaltfläche Spezialeffekt in der Format-Symbolleiste (Formular/Bericht), im Eigenschaftenfenster des Objekts, in einem Makro oder in Visual Basic einstellen.

Bei Steuerelementen können Sie die Standardeinstellung für diese Eigenschaft mit Hilfe der Standardeigenschafteneinstellungen des Steuerelements oder der Methode DefaultControl in Visual Basic einstellen.

Hinweis

Die Einstellung der Eigenschaft SpecialEffect hat Auswirkungen auf die Einstellungen der verwandten Eigenschaften BorderStyle, BorderColor und BorderWidth. Ist z.B. die Eigenschaft SpecialEffect auf Erhöht eingestellt, werden die Einstellungen der Eigenschaften BorderStyle, BorderColor und BorderWidth ignoriert. Ebenso kann das Ändern oder Einstellen der Eigenschaften BorderStyle, BorderColor und BorderWidth bewirken, daß Microsoft Access die Einstellung der Eigenschaft SpecialEffect auf Flach ändert.

Anmerkung   Wenn Sie die Eigenschaft SpecialEffect eines Textfelds auf Schattiert einstellen, verringert sich die Höhe des Textanzeigebereichs. Sie können die Eigenschaft Height des Textfelds ändern, um den Textanzeigebereich wieder zu vergrößern.


Transparent-Eigenschaft (Transparent)

Mit der Eigenschaft Transparent können Sie angeben, ob eine Befehlsschaltfläche sichtbar oder transparent ist.

Tip   Verwenden Sie die Eigenschaft BackStyle, um andere Steuerelemente ein- oder auszublenden.

Einstellung

Die Eigenschaft Transparent verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Ja	Die Schaltfläche ist transparent.	True (-1)
Nein	(Standardeinstellung) Die Schaltfläche ist sichtbar.	False (0)
Sie können diese Eigenschaft im Eigenschaftenfenster der Befehlsschaltfläche, in einem Makro oder in Visual Basic einstellen.

Hinweis

Sie können diese Eigenschaft verwenden, um eine transparente Befehlsschaltfläche über einem anderen Steuerelement zu positionieren. Sie können z.B. mehrere transparente Schaltflächen über einem Bild positionieren, das in einem Bildrahmen angezeigt wird, und verschiedene Makros oder Visual Basic-Ereignisprozeduren ausführen, wenn der Benutzer auf unterschiedliche Teile des Bildes klickt.

Anmerkung   Sie können eine Schaltfläche ausblenden und deaktivieren, indem Sie die Eigenschaft Visible verwenden. Um eine Schaltfläche zu deaktivieren, ohne sie auszublenden, verwenden Sie die Eigenschaft Enabled. Um eine Schaltfläche nur dann auszublenden, wenn ein Formular oder Bericht gedruckt wird, verwenden Sie die Eigenschaft DisplayWhen.


FillColor-, FillStyle-Eigenschaften - Beispiel

Das folgende Beispiel verwendet die Methode Circle, um einen Kreis zu zeichnen und im Kreis einen Kreissektor zu erstellen. Anschließend werden die Eigenschaften FillColor und FillStyle verwendet, um den Kreissektor rot zu färben. Schließlich wird eine Linie von oben links zum Kreismittelpunkt gezeichnet.

Um das folgende Beispiel in Microsoft Access durchzuführen, erstellen Sie zuerst einen neuen Bericht. Stellen Sie dann die Eigenschaft OnPrint des Detailbereichs auf [Ereignisprozedur] ein. Geben Sie den folgenden Code in das Modul des Berichts ein, und wechseln Sie dann in die Seitenansicht.

Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)

Const conPI = 3.14159265359

Dim sngHMitte As Single, sngVMitte As Single, sngRadius As Single

Dim sngStart As Single, sngEnde As Single

sngHMitte = Me.ScaleWidth / 2	' Horizontale Position des Mittelpunkts.

sngVMitte = Me.ScaleHeight / 2	' Vertikale Position des Mittelpunkts.

sngRadius = Me.ScaleHeight / 3	' Kreisradius.

Me.Circle(sngHMitte, sngVMitte), sngRadius	' Kreis zeichnen.

sngStart = -0.00000001	' Beginn des Kreissektors.

sngEnde = -2 * conPI / 3	' Ende des Kreissektors.

Me.FillColor = RGB(255,0,0)	' Kreissektor rot färben.

Me.FillStyle = 0	' Kreissektor füllen.

' Kreissektor innerhalb des Kreises zeichnen.

Me.Circle(sngHMitte, sngVMitte), sngRadius, , sngStart, sngEnde

' Linie zum Kreismittelpunkt zeichnen.

Dim intFarbe As Integer

Dim sngOben As Single, sngLinks As Single

Dim sngBreite As Single, sngHöhe As Single

Me.ScaleMode = 3	' Maßeinheit auf Pixel einstellen.

sngOben = Me.ScaleTop	' Oberer Innenrand.

sngLinks = Me.ScaleLeft	' Linker Innenrand.

sngBreite = Me.ScaleWidth / 2	' Innenbreite.

sngHöhe = Me.ScaleHeight / 2	' Innenhöhe.

intFarbe = RGB(255, 0, 0)	' Farbe Rot verwenden.

' Linie zeichnen.

Me.Line (sngOben, sngLinks)-(sngBreite, sngHöhe), intFarbe

End Sub


ActiveDatasheet-Eigenschaft (AktivesDatenblatt)

Sie können die Eigenschaft ActiveDatasheet zusammen mit dem Screen-Objekt verwenden, um das Datenblatt, das den Fokus hat, zu ermitteln oder darauf zu verweisen.

Einstellung

Die Einstellung der Eigenschaft ActiveDatasheet enthält das Datenblattobjekt, das zur Laufzeit den Fokus hat.

Diese Eigenschaft ist in einem Makro oder in Visual Basic verfügbar und in allen Ansichten schreibgeschützt.

Hinweis

Sie können diese Eigenschaft verwenden, um auf ein aktives Datenblatt mit einer seiner Eigenschaften oder Methoden zu verweisen. Der folgende Code z.B. verwendet die Eigenschaft ActiveDatasheet, um auf die oberste Zeile der Auswahl zu verweisen, die im aktiven Datenblatt wirksam ist.

TopRow = Screen.ActiveDatasheet.SelTop


ActiveDatasheet-Eigenschaft (AktivesDatenblatt) - Beispiel

Das folgende Beispiel verwendet die Eigenschaft ActiveDatasheet, um die Datenblattzelle zu ermitteln, die den Fokus hat. Sind mehrere Zellen markiert, ermittelt die Prozedur die Position der Zelle, in der sich die erste Zeile und die erste Spalte der Auswahl kreuzen.

Sub AuswahlAbrufen()

Dim objDatasheet As Object

Dim lngErsteZeile As Long, lngErsteSpalte As Long

Const conKeinAktivesDatenblatt = 2484

On Error GoTo AuswahlAbrufen_Fehler

Set objDatasheet = Screen.ActiveDatasheet

lngErsteZeile = objDatasheet.SelTop

lngErsteSpalte = objDatasheet.SelLeft

MsgBox "Das erste Element dieser Auswahl befindet sich in "_

& "Zeile " & lngErsteZeile & ", Spalte " & lngErsteSpalte

AuswahlAbrufen_Bye:

Exit Sub

AuswahlAbrufen_Fehler:

If Err = conKeinAktivesDatenblatt Then

Resume AuswahlAbrufen_Bye

End If

End Sub


BoundColumn-Eigenschaft (GebundeneSpalte)

Wenn Sie eine Auswahl in einem Listenfeld oder Kombinationsfeld treffen, ermittelt Microsoft Access aus der Eigenschaft BoundColumn, aus welcher Spalte die Werte für das Steuerelement verwendet werden sollen. Ist das Steuerelement an ein Feld gebunden, so wird der Wert in der von der Eigenschaft BoundColumn festgelegten Spalte in dem Feld gespeichert, das in der Eigenschaft ControlSource genannt wird.

Einstellung

Die Eigenschaft BoundColumn verwendet die folgenden Einstellungen.

Einstellung	Beschreibung
0	Der Wert der Eigenschaft ListIndex wird anstelle des Spaltenwerts im aktuellen Datensatz gespeichert. Der Wert von ListIndex ist für die erste Zeile 0, für die zweite Zeile 1 usw. Microsoft Access stellt die Eigenschaft ListIndex ein, wenn ein Eintrag aus einem Listenfeld oder dem Listenfeldteil eines Kombinationsfelds ausgewählt wird. Das Einstellen der Eigenschaft BoundColumn auf 0 und das Verwenden des Wertes der Eigenschaft ListIndex des Steuerelements sind hilfreich, wenn Sie z.B. lediglich eine Folge von Zahlen speichern möchten.
1 oder größer	(Standardeinstellung ist 1) Der Wert in der angegebenen Spalte wird zum Steuerelementwert. Ist das Steuerelement an ein Feld gebunden, so wird der Wert im betreffenden Feld des aktuellen Datensatzes gespeichert. Die Eigenschaft BoundColumn kann auf keinen Wert eingestellt werden, der größer als der Wert der Eigenschaft ColumnCount ist.
Sie können die Eigenschaft BoundColumn im Eigenschaftenfenster des Steuerelements, in einem Makro oder in Visual Basic einstellen.

Bei Tabellenfeldern können Sie diese Eigenschaft in der Tabellen-Entwurfsansicht im Abschnitt Feldeigenschaften auf der Registerkarte Nachschlagen für Felder einstellen, deren Eigenschaft DisplayControl auf Kombinationsfeld oder Listenfeld eingestellt ist.

Tip   Microsoft Access stellt die Eigenschaft BoundColumn automatisch ein, wenn Sie in der Tabellen-Entwurfsansicht Nachschlage-Assistent als Datentyp für ein Feld auswählen.

Stellen Sie in Visual Basic die Eigenschaft BoundColumn unter Verwendung einer Zahl oder eines numerischen Ausdrucks auf einen Wert ein, der zwischen 0 und dem Wert der Eigenschaft ColumnCount liegt.

Hinweis

Die am weitesten links sichtbare Spalte in einem Kombinationsfeld (das ist die am weitesten links liegende Spalte des Kombinationsfelds, dessen Eigenschaft ColumnWidths nicht auf 0 eingestellt ist), enthält die Daten, die im Textfeldteil des Kombinationsfelds in der Formularansicht oder in einem Bericht angezeigt werden. Die Eigenschaft BoundColumn legt fest, welche Spalte der Text- oder Kombinationsfeldliste gespeichert wird, wenn Sie eine Auswahl treffen. Dadurch können Sie andere Daten anzeigen als die, die Sie als Wert des Steuerelements gespeichert haben.

Anmerkung   Entspricht die gebundene Spalte nicht der am weitesten links sichtbaren Spalte des Steuerelements (oder haben Sie die Eigenschaft BoundColumn auf 0 eingestellt), so wird die Eigenschaft LimitToList auf Ja eingestellt.

Microsoft Access verwendet zum Verweisen auf Spalten in der Eigenschaft Column Zahlen ab Null. Auf die erste Spalte wird mit dem Ausdruck Column(0)verwiesen, auf die zweite Spalte mit dem Ausdruck Column(1) usw. Dagegen verwendet die Eigenschaft BoundColumn Zahlen ab Eins, um auf Spalten zu verweisen. Das bedeutet, daß Sie mit dem Ausdruck Column(0) auf den in dieser Spalte gespeicherten Wert zugreifen können, falls die Eigenschaft BoundColumn auf 1 eingestellt ist.

Ist die Eigenschaft AutoExpand auf Ja eingestellt, so füllt Microsoft Access den Textfeldteil des Kombinationsfelds automatisch mit einem Wert, der den von Ihnen in das Kombinationsfeld eingegebenen Zeichen entspricht.


Column-Eigenschaft (Spalte)

Sie können die Eigenschaft Column verwenden, um auf eine bestimmte Spalte oder Spalten- und Zeilenkombination in einem mehrspaltigen Kombinationsfeld oder Listenfeld zu verweisen. Mit 0 verweisen Sie auf die erste Spalte, mit 1 auf die zweite Spalte usw. Entsprechend verweisen Sie mit 0 auf die erste Zeile, mit 1 auf die zweite Zeile usw. Beispielsweise können Sie in einem Listenfeld, das eine Spalte mit Kundennummern und eine Spalte mit Kundennamen enthält, auf den Kundennamen in der zweiten Spalte und fünften Zeile wie folgt verweisen:

Forms!Kontakte!Kunden.Column(1, 4)

Einstellung

Steuerelement.Column(Spalte, Zeile)

Die Eigenschaft Column verwendet die folgenden Einstellungen.

Einstellung	Beschreibung
Steuerelement	Ein Control-Objekt, das das aktive Kombinationsfeld- oder Listenfeld-Steuerelement darstellt.
Spalte	Ein Wert vom Typ Integer zwischen 0 und dem Wert der Eigenschaft ColumnCount minus 1.
Zeile	Optional. Ein Wert vom Typ Integer zwischen 0 und dem Wert der Eigenschaft ListCount minus 1.
Diese Eigenschafteneinstellung steht nur in einem Makro oder in Visual Basic zur Verfügung. Sie ist nicht in der Entwurfsansicht verfügbar und ist in anderen Ansichten schreibgeschützt.

Hinweis

Sie können die Eigenschaft Column verwenden, um den Inhalt eines Kombinationsfelds oder Listenfelds einem anderen Steuerelement zuzuweisen, etwa einem Textfeld. Beispielsweise können Sie den folgenden Ausdruck verwenden, um die Eigenschaft ControlSource eines Textfelds auf den Wert der zweiten Spalte eines Listenfelds einzustellen:

=Forms!Kunden!Firma.Column(1)

Hat der Benutzer keine Auswahl getroffen, wenn Sie auf eine Spalte in einem Kombinationsfeld oder Listenfeld verweisen, so wird die Eigenschaft Column auf Null eingestellt. Sie können mit der Funktion IsNull feststellen, ob eine Auswahl getroffen wurde, wie im folgenden Beispiel gezeigt wird.

If IsNull(Forms!Kunden!Land)

Then MsgBox "Keine Auswahl."

End If

Anmerkung   Um festzustellen, wie viele Spalten ein Kombinationsfeld oder Listenfeld besitzt, können Sie die Einstellung der Eigenschaft ColumnCount überprüfen.


Column-, ColumnCount-Eigenschaften (Spalte, Spaltenanzahl) - Beispiel

Das folgende Beispiel verwendet die Eigenschaften Column und ColumnCount zum Ausgeben der Werte einer Listenfeldauswahl.

Sub Listenfeld_lesen()

Dim intAnzSpalten As Integer, intI As Integer

Dim frmKunde As Form

Set frmKunde = Forms!frmKunden

If frmKunde![lstKundennamen].ItemsSelected.Count > 0 Then

' Auswahl getroffen?

IntAnzSpalten = frmKunde!lstKundennamen.ColumnCount

Debug.Print "Das Listenfeld enthält "; intAnzSpalten; _

IIf(intAnzSpalten = 1, " Spalte", " Spalten"); " mit Daten."

Debug.Print "Die aktuelle Auswahl enthält:"

For intI = 0 To intAnzSpalten - 1

Debug.Print frmKunde!lstKundennamen.Column(intI)   ' Spaltendaten ausgeben.

Next intI

Else

Debug.Print "Sie haben keinen Eintrag im Listenfeld ausgewählt."

End If

End Sub


ColumnCount-Eigenschaft (Spaltenanzahl)

Sie können mit der Eigenschaft ColumnCount die Anzahl an Spalten angeben, die in einem Listenfeld bzw. im Listenfeldteil eines Kombinationsfelds angezeigt oder die an OLE-Objekte in einem Diagramm-Steuerelement oder ungebundenen Objektfeld gesendet werden.

Wenn Sie z.B. die Eigenschaft ColumnCount für ein Listenfeld des Formulars Personal auf 3 einstellen, kann eine Spalte die Nachnamen anzeigen, eine andere die Vornamen und eine dritte die Personalnummern.

Einstellung

Die Eigenschaft ColumnCount enthält eine Ganzzahl zwischen 1 und der maximalen Anzahl an Feldern in der Tabelle, Abfrage oder SQL-Anweisung bzw. der maximalen Anzahl an Werten in der Wertliste, die in der Eigenschaft RowSource des Steuerelements angegeben ist.

Sie können die Eigenschaft ColumnCount im Eigenschaftenfenster des Steuerelements, in einem Makro oder in Visual Basic einstellen.

Bei Tabellenfeldern können Sie diese Eigenschaft in der Tabellen-Entwurfsansicht im Abschnitt Feldeigenschaften auf der Registerkarte Nachschlagen für Felder einstellen, deren Eigenschaft DisplayControl auf Kombinationsfeld oder Listenfeld eingestellt ist.

Anmerkung   Microsoft Access stellt die Eigenschaft ColumnCount automatisch ein, wenn Sie in der Tabellen-Entwurfsansicht Nachschlage-Assistent als Datentyp für ein Feld auswählen.

Hinweis

Ein Kombinationsfeld oder Listenfeld kann mehrere Spalten besitzen. Enthält die Eigenschaft RowSource des Steuerelements den Namen einer Tabelle, Abfrage oder SQL-Anweisung, zeigt ein Kombinationsfeld oder Listenfeld die Felder dieser Datensatzherkunft von links nach rechts an, und zwar bis zu der in der Eigenschaft ColumnCount festgelegten Anzahl.

Um davon abweichende Felderzusammenstellungen anzuzeigen, erstellen Sie eine neue Abfrage oder eine neue SQL-Anweisung für die Eigenschaft RowSource, in der Sie die Felder und die gewünschte Reihenfolge angeben.

Wenn die Eigenschaft RowSource eine Wertliste enthält (die Eigenschaft RowSourceType ist in diesem Fall auf Wertliste eingestellt), werden die Werte in den Zeilen und Spalten des Kombinations- oder Listenfelds in der Reihenfolge eingetragen, in der sie in der Eigenschaft RowSource aufgeführt sind. Enthält die Eigenschaft RowSource beispielsweise die Liste "Rot; Grün; Blau; Gelb", und ist die Eigenschaft ColumnCount auf 2 eingestellt, dann enthält die erste Zeile des Kombinations- oder Listenfelds in der ersten Spalte "Rot" und in der zweiten Spalte "Grün". Die zweite Zeile enthält "Blau" in der ersten Spalte und "Gelb" in der zweiten Spalte.

Sie können die Eigenschaft ColumnWidths verwenden, um die Breite der im Steuerelement angezeigten Spalten einzustellen oder um Spalten auszublenden.


ColumnHeads-Eigenschaft (Spaltenüberschriften)

Sie können die Eigenschaft ColumnHeads zur Anzeige einer einzelnen Zeile von Spaltenüberschriften für Listenfelder, Kombinationsfelder und OLE-Objekte, die Spaltenüberschriften akzeptieren, verwenden. Sie können diese Eigenschaft auch zur Erstellung von Bezeichnungsfeldern für die Einträge eines Diagramm-Steuerelements verwenden. Welche Spaltenüberschrift tatsächlich als erste angezeigt wird, hängt von der Einstellung der Eigenschaft RowSourceType des Objekts ab.

Einstellung

Die Eigenschaft ColumnHeads verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Ja	Spaltenüberschriften sind aktiviert, und als Spaltenüberschriften oder Diagramm-Bezeichnungsfelder werden Feldbeschriftungen, Feldnamen oder die erste Datenzeile verwendet.	True (-1)
Nein	(Standardeinstellung) Spaltenüberschriften sind nicht aktiviert.	False (0)
Sie können die Eigenschaft ColumnHeads im Eigenschaftenfenster des Steuerelements, in einem Makro oder in Visual Basic einstellen.

Bei Tabellenfeldern können Sie diese Eigenschaft in der Tabellen-Entwurfsansicht im Abschnitt Feldeigenschaften auf der Registerkarte Nachschlagen für Felder einstellen, deren Eigenschaft DisplayControl auf Kombinationsfeld oder Listenfeld eingestellt ist.

Tip   Microsoft Access stellt die Eigenschaft ColumnHeads automatisch ein, wenn Sie in der Tabellen-Entwurfsansicht Nachschlage-Assistent als Datentyp für ein Feld auswählen.

Hinweis

Die Eigenschaft RowSourceType gibt an, ob Feldnamen oder die erste Datenzeile zur Erstellung von Spaltenüberschriften verwendet werden. Ist die Eigenschaft RowSourceType auf Tabelle/Abfrage eingestellt, werden die Feldnamen als Spaltenüberschriften verwendet. Hat das Feld eine Beschriftung, dann wird die Beschriftung angezeigt. Verfügt z.B. ein Listenfeld über drei Spalten (die Eigenschaft ColumnCount ist auf 3 eingestellt), und ist die Eigenschaft RowSourceType auf Tabelle/Abfrage eingestellt, werden die ersten drei Feldnamen (oder Beschriftungen) als Überschriften verwendet.

Ist die Eigenschaft RowSourceType auf Wertliste eingestellt, wird die erste Datenzeile der Wertliste (die die Einstellung der Eigenschaft RowSource ist) als Spaltenüberschrift verwendet. Wenn beispielsweise ein Listenfeld drei Spalten hat und die Eigenschaft RowSourceType auf Wertliste eingestellt ist, werden die ersten drei Elemente der Einstellung der Eigenschaft RowSource als Überschriften verwendet.

Tip   Wenn Sie die erste Zeile eines Listen- oder Kombinationsfelds in der Formularansicht nicht auswählen können, überprüfen Sie, ob die Eigenschaft ColumnHeads auf Ja eingestellt ist.

Überschriften in Kombinationsfeldern werden nur angezeigt, wenn die Liste im Steuerelement angezeigt wird.


ColumnWidths-Eigenschaft (Spaltenbreiten)

Sie können die Eigenschaft ColumnWidths zur Einstellung der Breite jeder einzelnen Spalte in einem mehrspaltigen Kombinationsfeld oder Listenfeld verwenden. Sie können diese Eigenschaft auch verwenden, um Spalten auszublenden.

Einstellung

Die Eigenschaft ColumnWidths enthält einen Wert, der die Breite jeder Spalte in Zentimeter oder Zoll angibt, abhängig vom Maßsystem, das in der Windows-Systemsteuerung auf der Registerkarte Zahlen des Dialogfelds Eigenschaften von Ländereinstellungen im Feld Maßsystem ausgewählt ist. Die Standardeinstellung ist 2,54 Zentimeter oder 1 Zoll. Die Eigenschaft ColumnWidths muß für jede Spalte des Listen- oder Kombinationsfelds einen Wert zwischen 0 und 55,87 cm (22 Zoll) besitzen.

Verwenden Sie für die Spalteneinträge als Listentrennzeichen Semikolons (;) (oder das im Feld Ländereinstellungen auf der Registerkarte Zahlen des Dialogfelds Eigenschaften von Ländereinstellungen ausgewählte Listentrennzeichen).

Eine Breite von 0 blendet eine Spalte aus. Beliebig viele Einstellungen der Eigenschaft ColumnWidths können leer sein. Sie erstellen eine leere Einstellung, indem Sie ein Listentrennzeichen ohne vorhergehenden Wert eingeben. Leere Werte bewirken in Microsoft Access automatisch das Einstellen einer Standardspaltenbreite, die von der Spaltenanzahl und der Breite des Kombinations- oder Listenfelds abhängt.

Anmerkung   In einem Kombinationsfeld wird die erste sichtbare Spalte im Textfeldteil des Steuerelements angezeigt.

Sie können die Eigenschaft ColumnWidths im Eigenschaftenfenster des Steuerelements, in einem Makro oder in Visual Basic einstellen.

Bei Tabellenfeldern können Sie diese Eigenschaft in der Tabellen-Entwurfsansicht im Abschnitt Feldeigenschaften auf der Registerkarte Nachschlagen für Felder einstellen, deren Eigenschaft DisplayControl auf Kombinationsfeld oder Listenfeld eingestellt ist.

Tip   Microsoft Access stellt die Eigenschaft ColumnWidths automatisch ein, wenn Sie in der Tabellen-Entwurfsansicht Nachschlage-Assistent als Datentyp für ein Feld auswählen.

Verwenden Sie in Visual Basic einen Zeichenfolgenausdruck zur Einstellung des Spaltenbreitenwerts in Twips. Die Spaltenbreitenwerte werden durch Semikolons getrennt. Sie können eine andere Maßeinheit (Zentimeter oder Zoll) festlegen, indem Sie diese zusammen mit dem Wert angeben. Beispielsweise gibt der folgende Zeichenfolgenausdruck drei Spaltenbreiten in Zentimetern an.

"6 cm;0;6 cm"

Hinweis

Wenn Sie keinen Wert für die Eigenschaft ColumnWidths angeben, stellt Microsoft Access jede Spalte auf die Gesamtbreite des Listen- oder Kombinationsfelds, dividiert durch die Spaltenanzahl, ein.

Wenn Sie die Spaltenbreiten so groß einstellen, daß sie insgesamt nicht vollständig im Kombinations- oder Listenfeld angezeigt werden können, werden einige Spalten von rechts beginnend ausgeblendet, und eine horizontale Bildlaufleiste wird angezeigt.

Wenn Sie die Breite für einige Spalten angeben, für andere Spalten jedoch nicht, dividiert Microsoft Access die verbleibende Breite durch die der Spalten, deren Breite Sie nicht angegeben haben. Als Mindestspaltenbreite wird 1.440 Twips (entspricht 2,54 cm oder 1 Zoll) verwendet.

Beispielsweise werden für ein 11 Zentimeter breites Listenfeld mit drei Spalten die folgenden Einstellungen verwendet.

Einstellung	Beschreibung
3,5 cm;0;7,5 cm	Die erste Spalte ist 3,5 cm breit, die zweite Spalte ist ausgeblendet, und die dritte Spalte ist 7,5 cm breit.
5 cm;;5 cm	Die erste Spalte ist 5 cm breit, die zweite Spalte ist 2,54 cm breit (Standardeinstellung), und die dritte Spalte ist 5 cm breit. Da die dritte Spalte nur zur Hälfte sichtbar ist, wird eine horizontale Bildlaufleiste angezeigt.
(Leer)	Die drei Spalten haben die gleiche Breite (3,66 cm).
Anmerkung   Diese Eigenschaft unterscheidet sich von der Eigenschaft ColumnWidth; diese gibt die Breite einer bestimmten Spalte eines Datenblatts an.


LimitToList-Eigenschaft (NurListeneinträge)

Sie können mit der Eigenschaft LimitToList festlegen, daß die zulässigen Werte in einem Kombinationsfeld auf die in der Liste aufgeführten Einträge beschränkt bleiben.

Einstellung

Die Eigenschaft LimitToList verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Ja	Wählt der Benutzer einen Eintrag aus der Kombinationsfeldliste aus oder gibt er Text ein, der einem Eintrag entspricht, akzeptiert Microsoft Access dies. Eingegebener Text, der mit keinem aufgelisteten Eintrag übereinstimmt, wird nicht akzeptiert. Der Benutzer muß dann seine Eingabe wiederholen, einen Eintrag auswählen, ESC drücken oder im Menü Bearbeiten auf Rückgängig klicken.	True (-1)
Nein	(Standardeinstellung) Microsoft Access akzeptiert jeden Text, der den Regeln der Eigenschaft ValidationRule genügt.	False (0)
Sie können die Eigenschaft LimitToList im Eigenschaftenfenster des Kombinationsfelds, in einem Makro oder in Visual Basic einstellen.

Bei Tabellenfeldern können Sie diese Eigenschaft in der Tabellen-Entwurfsansicht im Abschnitt Feldeigenschaften auf der Registerkarte Nachschlagen für Felder einstellen, deren Eigenschaft DisplayControl auf Kombinationsfeld eingestellt ist.

Tip   Microsoft Access stellt die Eigenschaft LimitToList automatisch ein, wenn Sie in der Tabellen-Entwurfsansicht Nachschlage-Assistent als Datentyp für ein Feld auswählen.

Hinweis

Wird die Eigenschaft LimitToList eines gebundenen Kombinationsfelds auf Nein eingestellt, können Sie in das Kombinationsfeld einen Wert eingeben, der nicht in der Liste aufgeführt ist. Microsoft Access speichert den neuen Wert in der dem Formular zugrundeliegenden Tabelle oder Abfrage (in dem Feld, das in der Eigenschaft ControlSource des Kombinationsfelds angegeben ist), und nicht in der Tabelle oder Abfrage, auf die das Kombinationsfeld über die Eigenschaft RowSource eingestellt ist. Damit neu eingegebene Werte im Kombinationsfeld angezeigt werden, fügen Sie die neuen Werte zu der Tabelle oder Abfrage hinzu, die von der Eigenschaft RowSource festgelegt ist, indem Sie ein Makro oder eine Visual Basic-Ereignisprozedur verwenden, die beim Auftreten des Ereignisses NotInList ausgeführt wird.

Anmerkung   Stellen Sie die Eigenschaft BoundColumn des Kombinationsfelds auf eine andere als die erste sichtbare Spalte (oder auf 0) ein, wird die Eigenschaft LimitToList automatisch auf Ja eingestellt.

Wenn Sie die Eigenschaften LimitToList und AutoExpand auf Ja einstellen, sucht Microsoft Access in der Liste nur Zeichenfolgen aus, die mit der Eingabe des Benutzers im Textfeldteil des Kombinationsfelds übereinstimmen, und läßt bei der Eingabe nur Zeichenfolgen zu, die in der Liste vorkommen.

Wenn die Eigenschaft LimitToList auf Ja eingestellt ist und der Benutzer auf den Pfeil neben dem Kombinationsfeld klickt, wählt Microsoft Access in der Liste genau die Zeichenfolgen aus, die mit der fortlaufenden Eingabe des Benutzers im Textfeldteil des Kombinationsfelds übereinstimmen, selbst wenn die Eigenschaft AutoExpand auf Nein eingestellt ist. Drückt der Benutzer die EINGABETASTE oder wechselt er zu einem anderen Steuerelement oder Datensatz, wird der ausgewählte Wert im Kombinationsfeld angezeigt.

In Microsoft Access 97 nehmen Kombinationsfelder Null- Werte an, wenn die Eigenschaft LimitToList auf Ja oder True gesetzt ist, egal ob die Liste Null-Werte enthält oder nicht. Wenn Benutzer daran gehindert werden sollen, einen Null-Wert in ein Kombinationsfeld einzugeben, stellen Sie die Eigenschaft Required des Feldes in der Tabelle, an die das Kombinationsfeld gebunden ist, auf Ja ein.


AutoExpand-Eigenschaft (AutomatischErgänzen)

Mit der Eigenschaft AutoExpand können Sie angeben, ob Microsoft Access automatisch im Textfeldteil eines Kombinationsfelds einen Wert anzeigen soll, der mit Ihrer fortlaufenden Eingabe im Kombinationsfeld übereinstimmt. Dies ermöglicht Ihnen die schnelle Eingabe eines bestehenden Wertes in ein Kombinationsfeld, ohne den Listenfeldteil des Kombinationsfelds anzuzeigen.

Einstellung

Die Eigenschaft AutoExpand verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Ja	(Standardeinstellung) Microsoft Access trägt in das Kombinationsfeld aus der Liste den ersten Wert ein, dessen erstes Zeichen mit Ihrem ersten Eingabezeichen übereinstimmt. Geben Sie weitere Zeichen ein, zeigt Microsoft Access jeweils die Zeichenfolge an, deren Anfang mit allen bisher eingegebenen Zeichen übereinstimmt.	True (-1)
Nein	Sie müssen einen Wert der Liste auswählen oder den gesamten Wert eingeben.	False (0)
Sie können die Eigenschaft AutoExpand im Eigenschaftenfenster des Kombinationsfelds, in einem Makro oder in Visual Basic einstellen.

Hinweis

Wenn Sie Zeichen in den Textfeldteil eines Kombinationsfelds eingeben, sucht Microsoft Access in der Liste die Einträge, die mit den von Ihnen eingegebenen Zeichen übereinstimmen. Ist die Eigenschaft AutoExpand auf Ja eingestellt, zeigt Microsoft Access automatisch den ersten Listeneintrag an, der den bis zu diesem Zeitpunkt eingegebenen Zeichen entspricht.

Wenn die Eigenschaft LimitToList auf Ja eingestellt ist und die Dropdown-Kombinationsfeldliste geöffnet wird, wählt Microsoft Access in der Liste genau die Zeichenfolgen aus, die mit der fortlaufenden Eingabe des Benutzers im Textfeldteil des Kombinationsfelds übereinstimmen, selbst wenn die Eigenschaft AutoExpand auf Nein eingestellt ist. Drückt der Benutzer die EINGABETASTE oder wechselt er zu einem anderen Steuerelement oder Datensatz, wird der ausgewählte Wert im Kombinationsfeld angezeigt.


ListCount-Eigenschaft (Listenzähler)

Mit der Eigenschaft ListCount können Sie feststellen, wie viele Zeilen ein Listenfeld oder der Listenfeldteil eines Kombinationsfelds enthält.

Einstellung

Microsoft Access stellt die Eigenschaft ListCount auf die Anzahl der Zeilen im Listenfeld oder im Listenfeldteil des Kombinationsfelds ein. Der Wert der Eigenschaft ListCount ist schreibgeschützt und kann daher nicht vom Benutzer eingestellt werden.

Diese Eigenschaft ist nur in einem Makro oder in Visual Basic verfügbar. Sie können diese Eigenschaft nur in der Formularansicht und der Datenblattansicht lesen.

Hinweis

Die Eigenschaft ListCount enthält die Gesamtanzahl der Zeilen in der Kombinationsfeldliste oder im Listenfeld, wie mit den Eigenschaften RowSource und RowSourceType des Steuerelements festgelegt. Wenn das Steuerelement auf einer Tabelle oder Abfrage basiert (d.h., die Eigenschaft RowSourceType ist auf Tabelle/Abfrage und die Eigenschaft RowSource auf eine bestimmte Tabelle oder Abfrage eingestellt), enthält die Eigenschaft ListCount die Anzahl der Datensätze der Tabelle bzw. der Ergebnismenge. Ist die Eigenschaft RowSourceType auf Wertliste eingestellt, gibt die Eigenschaft ListCount an, wie viele Zeilen die in der Eigenschaft RowSource angegebene Wertliste enthält (diese Anzahl hängt von der Wertliste und der Anzahl der Spalten im Listenfeld oder in der Kombinationsfeldliste ab, wie mit der Eigenschaft ColumnCount eingestellt).

Wenn Sie die Eigenschaft ColumnHeads auf Ja einstellen, wird die Zeile mit den Spaltenüberschriften bei der Anzahl der Zeilen, die die Eigenschaft ListCount zurückgibt, mitgezählt. Für Kombinations- und Listenfelder, die auf einer Tabelle oder Abfrage basieren, wird durch Hinzufügen von Spaltenüberschriften eine Zeile hinzugefügt. Für Kombinations- und Listenfelder, die auf einer Wertliste basieren, ändert sich die Zeilenanzahl nicht (die erste Datenzeile wird für die Spaltenüberschriften verwendet).

Sie können die Eigenschaft ListCount gemeinsam mit der Eigenschaft ListRows verwenden, um festzulegen, wie viele Zeilen im Listenfeldteil eines Kombinationsfelds angezeigt werden sollen.


ListCount-, ListRows-Eigenschaften (Listenzähler, Zeilenanzahl) - Beispiel

Das folgende Beispiel verwendet die Eigenschaft ListCount, um die Anzahl der Zeilen im Listenfeldteil des Kombinationsfelds Kundenliste im Formular Kunden zu ermitteln. Anschließend stellt es die Eigenschaft ListRows so ein, daß eine bestimmte Anzahl an Zeilen in der Liste angezeigt wird.

Sub Kundenlistengröße()

Dim Listenfeld As Control

Set Listenfeld = Forms!Kunden!Kundenliste

With Listenfeld

If .ListCount < 8 Then

.ListRows = .ListCount

Else

.ListRows = 8

End If

End With

End Sub


ListIndex-Eigenschaft

Mit der Eigenschaft ListIndex können Sie herausfinden, welches Element in einem Listenfeld oder Kombinationsfeld ausgewählt ist.

Einstellung

Die Eigenschaft ListIndex enthält eine Ganzzahl zwischen 0 und der maximalen Anzahl der Einträge in einem Listen- oder Kombinationsfeld minus 1. Microsoft Access stellt den Wert der Eigenschaft ListIndex ein, sobald ein Eintrag in einem Listenfeld oder in einem Listenfeldteil eines Kombinationsfelds ausgewählt wurde. Der Wert von ListIndex für den ersten Eintrag einer Liste ist 0, der Wert für den zweiten Eintrag ist 1 usw.

Diese Eigenschaft ist nur in einem Makro oder in Visual Basic verfügbar. Sie können diese Eigenschaft nur in der Formularansicht und der Datenblattansicht lesen. Die Eigenschaft ist schreibgeschützt und in anderen Ansichten nicht verfügbar.

Hinweis

Der Wert der Eigenschaft ListIndex ist auch verfügbar, indem die Eigenschaft BoundColumn für ein Kombinations- oder Listenfeld auf 0 eingestellt wird. In diesem Fall enthält das zugrundeliegende Tabellenfeld, an das das Kombinations- oder Listenfeld gebunden ist, den gleichen Wert wie die Eigenschaft ListIndex.

Listenfelder haben auch die Eigenschaft MultiSelect, die dem Benutzer die Auswahl mehrerer Elemente aus dem Steuerelement gestattet. Wurden mehrere Auswahlen in einem Listenfeld getätigt, so können Sie mit der Eigenschaft Selected des Steuerelements feststellen, welche Einträge ausgewählt sind. Die Eigenschaft Selected ist ein Datenfeld mit Werten zwischen 0 und dem Wert der Eigenschaft ListCount minus 1. Die Eigenschaft Selected hat für jedes im Listenfeld ausgewählte Element den Wert True (-1) und für jedes nicht ausgewählte Element den Wert False (0).

Die Auflistung ItemsSelected bietet ebenfalls eine Möglichkeit, auf Daten in ausgewählten Zeilen eines Listenfelds oder Kombinationsfelds zuzugreifen.


ListRows-Eigenschaft (Zeilenanzahl)

Mit der Eigenschaft ListRows können Sie einstellen, wie viele Zeilen höchstens im Listenfeldteil eines Kombinationsfelds angezeigt werden sollen.

Einstellung

Die Eigenschaft ListRows enthält eine Ganzzahl, die angibt, wie viele Zeilen maximal angezeigt werden sollen. Die Standardeinstellung ist 8. Die zulässigen Werte für die Eigenschaft ListRows liegen zwischen 1 und 255.

Sie können die Eigenschaft ListRows im Eigenschaftenfenster des Kombinationsfelds, in einem Makro oder in Visual Basic einstellen.

Bei Tabellenfeldern können Sie diese Eigenschaft in der Tabellen-Entwurfsansicht im Abschnitt Feldeigenschaften auf der Registerkarte Nachschlagen für Felder einstellen, deren Eigenschaft DisplayControl auf Kombinationsfeld eingestellt ist.

Tip   Microsoft Access stellt die Eigenschaft ListRows automatisch ein, wenn Sie in der Tabellen-Entwurfsansicht Nachschlage-Assistent als Datentyp für ein Feld auswählen.

Stellen Sie den Wert dieser Eigenschaft in Visual Basic unter Verwendung eines numerischen Ausdrucks ein.

Sie können die Standardeinstellung dieser Eigenschaft auch in den Standardeigenschafteneinstellungen eines Kombinationsfelds oder in Visual Basic mit der Methode DefaultControl einstellen.

Hinweis

Überschreitet die aktuelle Zeilenanzahl die in der Einstellung der Eigenschaft ListRows angegebene Anzahl, wird eine vertikale Bildlaufleiste im Listenfeldteil des Kombinationsfelds angezeigt.


ListWidth-Eigenschaft (Listenbreite)

Mit der Eigenschaft ListWidth können Sie die Breite des Listenfeldteils eines Kombinationsfelds einstellen.

Einstellung

Die Eigenschaft ListWidth enthält die Breite des Listenfeldteils eines Kombinationsfelds in Zoll oder Zentimetern, abhängig vom Maßsystem (Metrisch oder US-Maße), das in der Systemsteuerung von Windows 95 im Dialogfeld Ländereinstellungen auf der Registerkarte Zahlen im Feld Maßsystem ausgewählt ist. Wenn Sie die eingestellte Standardmaßeinheit nicht verwenden möchten, geben Sie zusätzlich die gewünschte Maßeinheit, wie cm oder Zoll, an. Mit der Standardeinstellung (Automatisch) wird der Listenfeldteil des Kombinationsfelds genauso breit wie das Kombinationsfeld.

Sie können die Eigenschaft ListWidth im Eigenschaftenfenster des Kombinationsfelds, in einem Makro oder in Visual Basic einstellen.

Bei Tabellenfeldern können Sie diese Eigenschaft in der Tabellen-Entwurfsansicht im Abschnitt Feldeigenschaften auf der Registerkarte Nachschlagen für Felder einstellen, deren Eigenschaft DisplayControl auf Kombinationsfeld eingestellt ist.

Tip   Microsoft Access stellt die Eigenschaft ListWidth automatisch ein, wenn Sie in der Tabellen-Entwurfsansicht Nachschlage-Assistent als Datentyp für ein Feld auswählen.

Stellen Sie den Wert dieser Eigenschaft in Visual Basic unter Verwendung eines numerischen Ausdrucks ein. Die Standardmaßeinheit in Visual Basic ist Twips.

Sie können die Standardeinstellung dieser Eigenschaft auch in den Standardeigenschafteneinstellungen eines Kombinationsfelds oder in Visual Basic mit der Methode DefaultControl einstellen.

Hinweis

Der Listenteil des Kombinationsfelds kann breiter, aber nicht schmaler als das Kombinationsfeld selbst sein.

Wenn Sie eine Liste mit mehreren Spalten anzeigen möchten, geben Sie einen entsprechend großen Wert an, damit alle Spalten im Listenfeld angezeigt werden können.

Tip   Achten Sie beim Erstellen von Kombinationsfeldern darauf, daß genügend Platz zur Anzeige Ihrer Daten und der von Microsoft Access eingefügten vertikalen Bildlaufleiste verfügbar ist.


Text-Eigenschaft

Mit der Eigenschaft Text können Sie den Text einstellen oder zurückgeben, der sich in einem Textfeld oder im Textfeldteil eines Kombinationsfelds befindet.

Einstellung

Sie können die Eigenschaft Text auf den Text einstellen, den Sie im Steuerelement anzeigen möchten. Mit der Eigenschaft Text können Sie auch den Text lesen, den das Steuerelement momentan enthält.

Sie können diese Eigenschaft nur in einem Makro oder in Visual Basic einstellen bzw. lesen.

Anmerkung   Damit die Eigenschaft Text eines Steuerelements eingestellt oder zurückgegeben werden kann, muß das Steuerelement über den Fokus haben. Zum Setzen des Fokus auf ein Steuerelement können Sie die Methode SetFocus oder die Aktion GeheZuSteuerelement verwenden.

Hinweis

Solange das Steuerelement den Fokus besitzt, enthält die Eigenschaft Text die momentan im Steuerelement vorhandenen Textdaten. Die Eigenschaft Value enthält die zuletzt für das betreffende Steuerelement gespeicherten Daten. Wenn Sie den Fokus auf ein anderes Steuerelement einstellen, werden die Daten des Steuerelements aktualisiert, und die Eigenschaft Value wird auf den neuen Wert eingestellt. Die Einstellung der Eigenschaft Text ist anschließend so lange nicht mehr verfügbar, bis das Steuerelement erneut den Fokus erhält. Wenn Sie im Menü Datensätze auf Datensatz speichern klicken, um die Daten des Steuerelements zu speichern, ohne daß der Fokus verschoben wird, sind die Einstellungen der Eigenschaften Text und Value identisch.


Text-Eigenschaft - Beispiel

Das folgende Beispiel verwendet die Eigenschaft Text, um eine Schaltfläche Nächste (Name btnNächste) zu aktivieren, sobald der Benutzer in das Textfeld txtName Text eingibt. Solange das Textfeld leer ist, bleibt die Schaltfläche Nächste deaktiviert.

Sub txtName_Change()

btnNächste.Enabled = Len(Me!txtName.Text & "")<>0

End Sub


AutoTab-Eigenschaft (AutomatischWeiter)

Mit der Eigenschaft AutoTab können Sie angeben, ob automatisch zum nächsten Feld gewechselt werden soll, wenn das letzte mit dem Eingabeformat des Steuerelements eines Textfelds mögliche Zeichen eingegeben wurde. Ein automatischer Wechsel setzt den Fokus auf das nächste Steuerelement in der Reihenfolge der Steuerelemente des Formulars.

Einstellung

Die Eigenschaft AutoTab verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Ja	Wechselt zum nächsten Feld, wenn das letzte mögliche Zeichen in einem Textfeld eingegeben wurde	True (-1)
Nein	(Voreinstellung) Wechselt nicht zum nächsten Feld, wenn das letzte mögliche Zeichen in einem Textfeld eingegeben wurde	False (0)
Sie können diese Eigenschaft im Eigenschaftenfenster des Formulars, in einem Makro oder in Visual Basic einstellen.

Sie können die Voreinstellung mit Hilfe der Standardeigenschafteneinstellungen des Steuerelements oder der Methode DefaultControl in Visual Basic einstellen.

Die Eigenschaft AutoTab wirkt sich in der Formularansicht und in der Datenblattansicht auf die Reihenfolge der Steuerelemente aus.

Hinweis

Sie erstellen ein Eingabeformat für ein Steuerelement unter Verwendung der Eigenschaft InputMask.

Sie können auch ein Eingabeformat für ein Textfeld-Steuerelement erstellen, das an ein Feld gebunden ist, indem Sie die Eigenschaft InputMask für das Feld in der dem Formular zugrundeliegenden Tabelle oder Abfrage einstellen. Wird das Feld aus der Feldliste auf ein Formular gezogen, dann wird das Eingabeformat des Feldes vom Textfeld-Steuerelement geerbt.

Sie können die Eigenschaft AutoTab beispielsweise verwenden, wenn ein Formular ein Textfeld enthält, in das Sie in der Regel die zulässige Höchstzahl an Zeichen für jeden Datensatz eingeben. Sobald die maximale Anzahl an Zeichen eingegeben ist, wird der Fokus auf das nächste Steuerelement in der Reihenfolge verschoben. Sie könnten diese Eigenschaft z.B. für ein Feld namens Kategorietyp verwenden, das immer fünf Zeichen enthalten muß.


Enabled-, Locked-Eigenschaften (Aktiviert, Gesperrt)

•	Die Eigenschaft Enabled gibt an, ob ein Steuerelement in der Formularansicht den Fokus haben kann.

•	Die Eigenschaft Locked gibt an, ob Sie Daten in einem Steuerelement in der Formularansicht bearbeiten können.

Einstellung

Die Eigenschaft Enabled verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Ja	(Voreinstellung für alle Steuerelemente mit Ausnahme von ungebundenen Objektfeldern). Das Steuerelement kann den Fokus haben. Ist das Steuerelement ein ungebundenes Objektfeld, wird durch Doppelklicken auf dieses Objekt das Hauptverb des Steuerelements ausgeführt. Ungebundene Objektfelder können z.B. ein eingebettetes Klang-Objekt abspielen.	True (-1)
Nein	(Voreinstellung für ungebundene Objektfelder) Das Steuerelement kann nicht über den Fokus verfügen und wird abgeblendet angezeigt. Ist das Steuerelement eine Optionsgruppe, so können weder die Optionsgruppe noch die darin enthaltenen Steuerelemente über den Fokus verfügen.	False (0)
Die Eigenschaft Locked verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Ja	(Voreinstellung für ungebundene Objektfelder) Das Steuerelement arbeitet normal, erlaubt jedoch kein Bearbeiten, Hinzufügen oder Löschen von Daten.	True (-1)
Nein	(Voreinstellung für alle Steuerelemente mit Ausnahme von ungebundenen Objektfeldern) Das Steuerelement arbeitet normal und erlaubt das Bearbeiten, Hinzufügen und Löschen von Daten.	False (0)
Sie können diese Eigenschaften im Eigenschaftenfenster des Steuerelements, in einem Makro oder in Visual Basic einstellen.

Hinweis

Verwenden Sie die Eigenschaft Enabled, um Steuerelemente zu aktivieren und zu deaktivieren. In der Formularansicht z.B. können Sie eine Befehlsschaltfläche solange deaktivieren, bis Sie Daten in einem Textfeld-Steuerelement verändert haben. Dann können Sie das Ereignis AfterUpdate des Steuerelements verwenden, um eine Ereignisprozedur oder ein Makro zur Aktivierung der Befehlsschaltfläche aufzurufen.

Verwenden Sie die Eigenschaft Locked, um Daten in einem Feld zu schützen und es mit Schreibschutz zu versehen. Ein Steuerelement soll z.B. nur Informationen anzeigen, ohne das Bearbeiten zuzulassen, oder es soll gesperrt sein, bis eine bestimmte Bedingung erfüllt ist.

Sie können die Einstellungen der Eigenschaften Enabled und Locked kombinieren, um folgende Ergebnisse zu erzielen.

Enabled	Locked	Ergebnis
Ja	Ja	Das Steuerelement kann den Fokus haben. Daten werden normal angezeigt und können kopiert, aber nicht bearbeitet werden.
Ja	Nein	Das Steuerelement kann den Fokus haben. Daten werden normal angezeigt und können kopiert und bearbeitet werden
Nein	Ja	Das Steuerelement kann nicht den Fokus haben. Daten werden normal angezeigt, können aber nicht kopiert und bearbeitet werden.
Nein	Nein	Das Steuerelement kann nicht den Fokus haben. Steuerelement und Daten sind deaktiviert (abgeblendet).
Die Eigenschaft TabStop kann mit der Eigenschaft Enabled kombiniert werden, um das Auswählen einer Befehlsschaltfläche mit der TAB-TASTE zu unterbinden, während sie weiterhin durch Klicken ausgewählt werden kann. Die Einstellung der Eigenschaft TabStop auf Nein bedeutet, daß sich die Befehlsschaltfläche nicht in der Reihenfolge der Steuerelemente befindet. Dennoch können Sie, wenn die Eigenschaft Enabled auf Ja eingestellt ist, weiterhin auf die Befehlsschaltfläche klicken.

Damit Sie ein eingebettetes oder verknüpftes Objekt in einem ungebundenen Objektfeld bearbeiten können, müssen Sie die Eigenschaft Enabled des Objektfelds auf Ja und die Eigenschaft Locked auf Nein einstellen.


Enabled-, Locked-Eigenschaften (Aktiviert, Gesperrt) - Beispiel

Das folgende Beispiel schaltet die Eigenschaft Enabled einer Befehlsschaltfläche und die Eigenschaften Enabled und Locked eines Steuerelements abhängig vom Typ des im aktuellen Datensatz angezeigten Angestellten um. Ist der/die Angestellte ein Manager oder eine Managerin, so wird die Schaltfläche Gehaltdetails aktiviert und das Steuerelement PersAngaben freigegeben und aktiviert.

Sub Aktuelles_Formular()

If Me!AngTyp = "Manager" Then

Me!Gehaltdetails.Enabled = True

Me!PersAngaben.Enabled = True

Me!PersAngaben.Locked = False

Else

Me!Gehaltdetails.Enabled = False

Me!PersAngaben.Enabled = False

Me!PersAngaben.Locked = True

End If

End Sub


Enabled-, Locked-Eigenschaften (Aktiviert, Gesperrt) - Gilt für

Enabled-Eigenschaft

Locked-Eigenschaft


EnterKeyBehavior-Eigenschaft (Eingabetastenverhalten)

Mit der Eigenschaft EnterKeyBehavior können Sie angeben, was passiert, wenn Sie in einem Textfeld-Steuerelement in der Formularansicht oder Datenblattansicht die EINGABETASTE drücken. Sie können diese Eigenschaft z.B. verwenden, wenn Sie ein Steuerelement an ein Memo-Feld in einer Tabelle gebunden haben, um mehrzeiligen Text einfacher eingeben zu können. Wenn Sie diese Eigenschaft nicht auf Neue Zeile im Feld einstellen, müssen Sie STRG+EINGABE drücken, um eine neue Zeile im Textfeld einzugeben.

Einstellung

Die Eigenschaft EnterKeyBehavior verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Standard	(Voreinstellung) Microsoft Access verwendet das Ergebnis, das im Dialogfeld Optionen in der Registerkarte Tastatur unter Cursor mit EINGABETASTE bewegen festgelegt ist. (Zum Öffnen des Dialogfelds klicken Sie im Menü Extras auf Optionen.) Weitere Informationen finden Sie unter "Hinweis".	False (0)
Neue Zeile im Feld	Wenn Sie im Steuerelement die EINGABETASTE drücken, wird eine neue Zeile im Steuerelement erstellt, so daß Sie weiteren Text eingeben können.	True (-1)
Sie können diese Eigenschaft im Eigenschaftenfenster des Formulars, in einem Makro oder in Visual Basic einstellen.

Sie können die Voreinstellung mit Hilfe der Standardeigenschafteneinstellungen des Steuerelements oder der Methode DefaultControl in Visual Basic einstellen.

Hinweis

Folgende Optionen sind im Dialogfeld Optionen in der Registerkarte Tastatur unter Cursor mit EINGABETASTE bewegen verfügbar:

Option	Beschreibung
Nicht bewegen	Das Drücken der EINGABETASTE hat keine Auswirkung.
Nächstes Feld	Das Drücken von EINGABETASTE bewegt die Einfügemarke zum nächsten Steuerelement oder Feld im Formular oder Datenblatt in der Reihenfolge der Steuerelemente.
Nächster Datensatz	Das Drücken von EINGABETASTE bewegt die Einfügemarke zum ersten Steuerelement oder Feld im nächsten Datensatz des Formulars oder Datenblatts.


RecordLocks-Eigenschaft (DatensätzeSperren)

Mit der Eigenschaft RecordLocks können Sie angeben, wie Datensätze gesperrt werden und was passiert, wenn zwei Benutzer versuchen, gleichzeitig denselben Datensatz zu bearbeiten. Wenn Sie einen Datensatz bearbeiten, kann Microsoft Access diesen Datensatz automatisch sperren, um Veränderungen durch andere Benutzer zu verhindern, bevor Sie die Bearbeitung abgeschlossen haben.

•	Formulare. Gibt an, wie Datensätze in der zugrundeliegenden Tabelle oder Abfrage gesperrt werden, wenn Daten in einer Mehrbenutzerdatenbank aktualisiert werden.

•	Berichte. Gibt an, ob Datensätze in der zugrundeliegenden Tabelle oder Abfrage gesperrt werden, während ein Bericht angezeigt oder gedruckt wird.

•	Abfragen. Gibt an, wie Datensätze in einer Abfrage (in der Regel eine Aktionsabfrage in einer Mehrbenutzerdatenbank) gesperrt werden, während die Abfrage ausgeführt wird.

Einstellung

Die Eigenschaft RecordLocks verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Keine Sperrungen	(Voreinstellung) In Formularen können mehrere Benutzer denselben Datensatz gleichzeitig bearbeiten. Dies wird auch als "eingeschränktes" Sperren bezeichnet. Versuchen zwei Benutzer gleichzeitig, Änderungen am selben Datensatz zu speichern, so zeigt Microsoft Access dem Benutzer, der den Datensatz als zweiter speichern wollte, eine Meldung an. Dieser Benutzer kann dann die Änderungen am Datensatz verwerfen, den Datensatz in die Zwischenablage kopieren oder die Änderungen des anderen Benutzers ersetzen. Diese Einstellung wird in der Regel in schreibgeschützten Formularen oder in Einzelbenutzerdatenbanken verwendet. Sie wird auch in Mehrbenutzerdatenbanken verwendet, um mehreren Benutzern die gleichzeitige Änderung desselben Datensatzes zu ermöglichen. In Berichten werden Datensätze nicht gesperrt, während der Bericht angezeigt oder gedruckt wird. In Abfragen werden Datensätze nicht gesperrt, während die Abfrage ausgeführt wird.	0
Alle Datensätze	Alle Datensätze in der zugrundeliegenden Tabelle oder Abfrage werden gesperrt, während das Formular in der Formularansicht oder Datenblattansicht geöffnet ist, der Bericht angezeigt oder gedruckt oder die Abfrage ausgeführt wird. Die Benutzer können  Datensätze zwar lesen, aber erst dann bearbeiten, hinzufügen oder löschen, wenn das Formular geschlossen, der Bericht gedruckt oder die Abfrage ausgeführt ist.	1
Bearbeitete Datensätze	(Nur Formulare und Abfragen) Eine Seite von Datensätzen wird gesperrt, sobald ein Benutzer die Bearbeitung eines Feldes im Datensatz beginnt, und bleibt gesperrt, bis der Benutzer zu einem anderen Datensatz wechselt. Demzufolge kann ein Datensatz nur jeweils von einer Person bearbeitet werden. Dies wird auch als "vollständiges" Sperren bezeichnet.	2
Sie können diese Eigenschaft im Eigenschaftenfenster des Formulars, in einem Makro oder in Visual Basic einstellen.

Hinweis

Sie können auch die Einstellung Keine Sperrungen für Formulare verwenden, wenn nur eine Person die zugrundeliegenden Tabellen oder Abfragen verwendet oder sämtliche Änderungen an den Daten vornimmt.

In einer Mehrbenutzerdatenbank können Sie die Einstellung Keine Sperrungen verwenden, wenn Sie eingeschränktes Sperren verwenden und Benutzer beim Zugriff auf den gleichen Datensatz in einem Formular warnen möchten. Sie können die Einstellung Bearbeiteter Datensatz verwenden, wenn Sie verhindern möchten, daß mehrere Benutzer Daten gleichzeitig bearbeiten können.

Sie können die Einstellung Alle Datensätze verwenden, wenn Sie sicherstellen müssen, daß keine Änderungen an den Daten vorgenommen werden, nachdem Sie angefangen haben, einen Bericht anzuzeigen oder zu drucken bzw. eine Anfüge-, Lösch-, Tabellenerstellungs- oder Aktualisierungs-Abfrage auszuführen.

In der Formularansicht oder Datenblattansicht wird für jeden gesperrten Datensatz ein  [image]  im Datensatzmarkierer angezeigt.

Tip   Sie können die Voreinstellung der Eigenschaft RecordLocks für Formulare ändern, indem Sie zuerst im Menü Extras auf Optionen klicken, dann im Dialogfeld Optionen auf die Registerkarte Weitere klicken und anschließend im Gruppenfeld Standard bei Datensatzsperrung die gewünschte Option auswählen.

Daten in einem Formular, einem Bericht oder einer Abfrage aus einer ODBC-Datenbank (Open Database Connectivity) werden unabhängig von der tatsächlichen Einstellung der Eigenschaft RecordLocks behandelt, als ob die Einstellung Keine Sperrungen ausgewählt ist.


RecordsetType-Eigenschaft (Datensatzgruppentyp)

Mit der Eigenschaft RecordsetType können Sie den Typ der Datensatzgruppe angeben, die einem Formular verfügbar gemacht wird. Wenn z.B. Daten in gebundenen Steuerelementen nicht bearbeitet werden sollen, wenn ein Formular sich in der Formularansicht oder der Datenblattansicht befindet, können Sie die Eigenschaft RecordsetType auf Snapshot setzen.

Einstellung

Die Eigenschaft RecordsetType verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Dynaset	(Voreinstellung) Sie können gebundene Steuerelemente auf der Basis einer einzigen Tabelle oder von Tabellen mit einer 1:1-Beziehung bearbeiten. Bei Steuerelementen, die an Felder gebunden sind, welche auf Tabellen mit einer 1:n-Beziehung basieren, können Sie Daten im Verknüpfungsfeld auf der "1-Seite" der Beziehung nur bearbeiten, wenn die Aktualisierungsweitergabe zwischen den Tabellen aktiviert ist. Weitere Informationen finden Sie unter Aktualisieren von Datensätzen aus einer Abfrage.	0
Dynaset (Unregelmäßige Aktualisierungen)	Alle Tabellen und an ihre Felder gebundenen Steuerelemente können bearbeitet werden.	1
Snapshot	Es können keine Tabellen oder an ihre Felder gebundenen Steuerelemente bearbeitet werden.	2
Sie können diese Eigenschaft im Eigenschaftenfenster des Formulars, in einem Makro oder in Visual Basic einstellen.

Hinweis

Sie können Formulare erstellen, die auf mehreren zugrundeliegenden Tabellen basieren, an deren Felder Steuerelemente in den Formularen gebunden sind. Abhängig von der Einstellung der Eigenschaft RecordsetType können Sie einschränken, welche gebundenen Steuerelemente bearbeitet werden können.

Zusätzlich zu dem von der Eigenschaft RecordsetType bereitgestellten Bearbeitungssteuerelement verfügt jedes Steuerelement in einem Formular über eine Eigenschaft Locked, mit der Sie angeben können, ob das Steuerelement und die ihm zugrundeliegenden Daten bearbeitet werden können. Ist die Eigenschaft Locked auf "Ja" eingestellt, dann können die Daten nicht bearbeitet werden.


RecordsetType-Eigenschaft (Datensatzgruppentyp) - Beispiel

Im folgenden Beispiel können Datensätze nur dann aktualisiert werden, wenn die Benutzer-ID ADMIN lautet. In diesem Codebeispiel wird die Eigenschaft RecordsetType auf Snapshot eingestellt, wenn die öffentliche Variable gstrBenutzerID nicht den Wert ADMIN hat.

Sub Form_Open(Cancel As Integer)

Const conSnapshot = 2

If gstrBenutzerID <> "ADMIN" Then

Forms!Personal.RecordsetType = conSnapshot

End If

End Sub


Value-Eigenschaft (Wert) (Microsoft Access)

Mit der Eigenschaft Value können Sie ermitteln oder angeben, ob ein Steuerelement ausgewählt ist, welcher Wert oder welche Option innerhalb des Steuerelements ausgewählt ist oder welcher Text in einem Textfeld-Steuerelement enthalten ist.

•	Kontrollkästchen-, Optionsfeld- und Umschaltfläche-Steuerelemente. Ermitteln oder geben an, ob das Steuerelement ausgewählt ist oder nicht.

•	Kombinationsfeld-, Listenfeld- und Optionsgruppen-Steuerelemente. Ermitteln oder geben an, welcher Wert oder welche Option im Steuerelement ausgewählt ist.

•	Textfeld-Steuerelemente. Ermitteln den Text im Textfeld oder geben ihn an.

•	Register-Steuerelement. Emittelt das ausgewählte Page-Objekt oder gibt es an.

Einstellung

Die Eigenschaft Value verwendet die folgende Einstellung (abhängig vom angegebenen Steuerelement).

Steuerelement	Einstellung	Beschreibung	Visual Basic
Kontrollkästchen	True False	Das Kontrollkästchen ist aktiviert. (Voreinstellung) Das Kontrollkästchen ist deaktiviert.	True (-1) False (0)
Kombinationsfeld	[Der Text im Textfeldbereich des Steuerelements]	Dies kann der Einstellung der Eigenschaft Text des Steuerelements entsprechen (muß aber nicht). Die aktuelle Einstellung der Eigenschaft Text entspricht dem im Textfeldbereich des Kombinationsfelds angezeigten Wert. Die Eigenschaft Value wird nur dann auf die Einstellung der Eigenschaft Text eingestellt, wenn dieser Text gespeichert wird.
Listenfeld	[Der Wert des Listenfeld-eintrags]	Der Wert in der gebundenen Spalte für den in der Liste ausgewählten Eintrag.
Optionsfeld	True False	Das Optionsfeld ist ausgewählt. (Voreinstellung) Das Optionsfeld ist nicht ausgewählt.	True (-1) False (0)
Optionsgruppe	[Einstellung der Eigenschaft OptionValue]	Die Einstellung der Eigenschaft OptionValue für das ausgewählte Steuerelement in der Gruppe.
Textfeld	[Wert der Eigenschaft Text des Steuerelements]	Die Eigenschaft Text gibt die formatierte Zeichenfolge zurück. Die Einstellung dieser Eigenschaft kann sich von der Einstellung der Eigenschaft Value für ein Textfeld-Steuerelement unterscheiden. Die Eigenschaft Text entspricht dem aktuellen Inhalt des Steuerelements. Die Eigenschaft Value entspricht dem gespeicherten Wert des Textfeld-Steuerelements. Die Eigenschaft Text ist immer dann aktuell, wenn das Steuerelement über den Fokus verfügt.
Umschaltfläche	True	Die Umschaltfläche ist ausgewählt (gedrückt).	True (-1)
	False	Die Umschaltfläche ist nicht ausgewählt (nicht gedrückt).	False (0)
Register-Steuerelement	[Ein Integer- Wert,der die Indexnummer des aktuell ausgewählten Page-Objekts darstellt]	Die Eigenschaft Value eines Register-Steuerelements enthält die Indexnummer des aktuellen Page-Objekts. Jedes Register in einem Register-Steuerelement hat ein Page-Objekt. Das erste Page-Objekt weist immer die Indexnummer 0 auf, das zweite die Indexnummer 1 und so weiter.
Gebundenes Objektfeld-Steuerelement oder Diagramm-Steuerelement		Die Eigenschaft Value für ein gebundenes Objektfeld- oder ein gebundenes Diagramm-Steuerelement wird auf den Wert des Feldes eingestellt, an das das Steuerelement gebunden ist. Da diese Felder normalerweise OLE-Objekte oder Diagramm-Objekte, die als Binärdaten gespeichert werden, enthalten, ist dieser Wert gewöhnlich ohne Bedeutung.
ActiveX-Steuerelement		Einige ActiveX-Steuerelemente unterstützen die Eigenschaft Value. Die Einstellung der Eigenschaft Value eines Kalender-Steuerelements ist beispielsweise das aktuell ausgewählte Datum in dem Steuerelement. Weitere Informationen finden Sie im Handbuch jedes ActiveX-Steuerelements.
Sie können diese Eigenschaft in einem Makro oder in Visual Basic einstellen.

Hinweis

Die Eigenschaft Value gibt die Standardeigenschaft eines Steuerelements zurück oder stellt diese ein, also die Eigenschaft, die angenommen wird, wenn Sie keinen Eigenschaftsnamen explizit angeben. Da der Standardwert des Textfelds dem Wert der Eigenschaft Text entspricht, können Sie im folgenden Beispiel auf die Einstellung der Eigenschaft Text verweisen, ohne den Namen der Eigenschaft explizit anzugeben.

Forms!frmKunden!txtNachname = "Schmidt"

Dies bedeutet, daß die beiden folgenden Anweisungen äquivalent sind.

Forms!frmKunden!optKreditOK.Value = True

Forms!frmKunden!optKreditOK = True

Anmerkung   Die Eigenschaft Value entspricht nicht der Eigenschaft DefaultValue. Diese gibt den Wert an, der einer Eigenschaft zugewiesen wird, wenn ein neuer Datensatz erstellt wird.


Value-Eigenschaft (Wert) - Beispiel

Dieses Beispiel zeigt, wie Sie abhängig davon, ob das Kontrollkästchen Kredit im Formular Kunden aktiviert oder deaktiviert ist, eine von zwei Prozeduren aufrufen können.

Sub Zahlungsart()

If Forms!Kunden!Kredit.Value = False Then

BarzahlungBearbeiten

ElseIf Forms!Kunden!Kredit.Value = True Then

KreditzahlungBearbeiten

End If

End Sub


OldValue-Eigenschaft (AlterWert)

Mit der Eigenschaft OldValue können Sie den unbearbeiteten Wert eines gebundenen Steuerelements ermitteln.

Einstellung

Die Eigenschaft OldValue enthält unbearbeitete Daten aus einem gebundenen Steuerelement und ist in allen Ansichten schreibgeschützt.

Sie können auf diese Eigenschaft nur in einem Makro oder in Visual Basic zugreifen.

Der Wert der Eigenschaft OldValue kann mit Hilfe der folgenden Syntax einer Variablen zugewiesen werden:

OriginalWert = Forms!Kunden!BezahlterBetrag.OldValue

Hinweis

Microsoft Access verwendet die Eigenschaft OldValue, um den ursprünglichen Wert eines gebundenen Steuerelements zu speichern. Bearbeiten Sie ein gebundenes Steuerelement in einem Formular, so werden die Änderungen erst gespeichert, wenn Sie zu einem anderen Datensatz wechseln. Die Eigenschaft OldValue enthält die unbearbeitete Version der zugrundeliegenden Daten.

Sie können eine eigene Funktion zum Rückgängigmachen der letzten Operation implementieren, indem Sie die Einstellung der Eigenschaft OldValue einem Steuerelement zuweisen. Das folgende Beispiel zeigt, wie Sie alle Änderungen von Textfeld-Steuerelementen in einem Formular rückgängigmachen können.

Sub btnUndo_Click()

Dim ctlTextfeld As Control

For Each ctlTextfeld in Me.Controls

If ctlTextfeld.ControlType = acTextfeld Then

ctlTextfeld.Value = ctlTextfeld.OldValue

End If

Next ctlTextfeld

End Sub

Wurde das Steuerelement nicht bearbeitet, so hat dieser Code keine Auswirkung. Wenn Sie zu einem anderen Datensatz wechseln, wird die Datensatzquelle aktualisiert, so daß der aktuelle Wert und die Eigenschaft OldValue übereinstimmen.

Die Einstellung der Eigenschaft OldValue hat denselben Datentyp wie das Feld, an welches das Steuerelement gebunden ist.


OldValue-Eigenschaft (AlterWert) - Beispiel

Das folgende Beispiel überprüft, ob neu in ein Feld eingegebene Daten mehr als 10 Prozent vom ursprünglichen Wert abweichen. Beträgt die Änderung mehr als 10 Prozent, so wird der ursprüngliche Wert mit Hilfe der Eigenschaft OldValue wiederhergestellt. Diese Prozedur könnte vom Ereignis Before Update des Steuerelements, das die zu überprüfenden Daten enthält, aufgerufen werden.

Sub FeldÜberprüfen()

Dim curNeuerWert As Currency,

Dim curOriginalwert As Currency

Dim curÄnderung As Currency, strMldg As String

curNeuerWert = Forms!Artikel!Einzelpreis

curOriginalwert = Forms!Artikel!Einzelpreis.OldValue

curÄnderung = Abs(curNeuerWert - curOriginalwert)

If curÄnderung > (curOriginalwert * .1) Then

strMldg = "Mehr als 10 Prozent Abweichung vom alten Einzelpreis." _

& "Alter Wert wird wiederhergestellt."

MsgBox strMldg, vbExclamation, "Änderung unzulässig."

Forms!Artikel!Einzelpreis = curOriginalwert

End If

End Sub


SelLength-, SelStart-, SelText-Eigenschaften (AuswahlLänge, AuswahlBeginn, AuswahlText)

Sie können diese Eigenschaften für Aufgaben wie z. B. das Positionieren der Einfügemarke, Herstellen eines Einfügebereichs, Auswählen von Teilzeichenfolgen in einem Textfeld- oder Kombinationsfeld-Steuerelement und Löschen von Text verwenden.

•	Die Eigenschaft SelLength gibt die Anzahl der markierten Zeichen in einem Textfeld oder im Textfeldbereich eines Kombinationsfelds an oder ermittelt diese.

•	Die Eigenschaft SelStart gibt den Startpunkt des markierten Textes oder, wenn kein Text ausgewählt ist, die Position der Einfügemarke an oder ermittelt diese.

•	Die Eigenschaft SelText gibt eine Zeichenfolge mit dem markierten Text zurück. Wurde kein Text markiert, enthält die Eigenschaft SelText den Wert Null.

Einstellung

•	Die Eigenschaften SelLength und SelStart verwenden einen Integer im Bereich von 0 bis zur Gesamtanzahl der Zeichen in einem Textfeld oder im Textfeldbereich eines Kombinationsfelds.

•	Die Eigenschaft SelText verwendet einen Zeichenfolgenausdruck, der den im Steuerelement markierten Text enthält. Wenn das Steuerelement markierten Text enthält und diese Eigenschaft eingestellt ist, wird der markierte Text durch die neue Einstellung von SelText ersetzt.

Sie können die Eigenschaften SelLength und SelStart nur mit einem Makro oder in Visual Basic einstellen. Die Eigenschaft SelText ist schreibgeschützt.

Hinweis

Sie können diese Eigenschaften für ein Steuerelement nur einstellen oder zurückgeben, wenn das Steuerelement über den Fokus verfügt. Um den Fokus auf ein Steuerelement zu setzen, können Sie die Methode SetFocus verwenden.

Das Einstellen der Eigenschaft SelLength auf eine negative Zahl löst einen Laufzeitfehler aus.

Das Einstellen der Eigenschaft SelStart auf eine Zahl, die größer als die Anzahl der Zeichen im Steuerelement ist, stellt die Eigenschaft auf die bestehende Textlänge ein.

Das Ändern der Eigenschaft SelStart bricht die Auswahl ab, setzt eine Einfügemarke in den Text und stellt die Eigenschaft SelLength auf 0 ein.


SelLength-, SelStart-, SelText-Eigenschaften (AuswahlLänge, AuswahlBeginn, AuswahlText) - Beispiel

Das folgende Beispiel verwendet zwei Ereignisprozeduren, um einen vom Benutzer angegebenen Text zu suchen. Der zu suchende Text wird in der Load-Ereignisprozedur des Formulars eingestellt. Die Ereignisprozedur Click-Ereignisprozedur für die Schaltfläche Suchen (auf diese klickt der Benutzer, um die Suche zu starten) fordert vom Benutzer den zu suchenden Text an und markiert den Text im Textfeld, falls die Suche erfolgreich war.

Sub Form_Load()

Dim ctlSuchtext As Control

Set ctlSuchtext = Forms!Formular1!Textfeld1

ctlSuchtext.SetFocus	  ' Fokus auf Textfeld setzen.

ctlSuchtext.Text = "Diese Firma bestellt zweimal jährlich große Mengen " _

& "Knoblauch, Oregano, Chili und Kreuzkümmel."

End Sub

Sub Suchen_Click()

Dim strSuche As String, intWo As Integer

Dim ctlSuchtext As Control

' Suchzeichenfolge vom Benutzer holen.

With Me!Textfeld1

strSuche = InputBox("Geben Sie den Suchtext ein:")

' Zeichenfolge im Text suchen.

intWo = InStr(.Value, strSuche)

If intWo Then

' Falls gefunden.

.SetFocus

.SelStart = intWo - 1

.SelLength = Len(strSuche)

Else

' Benutzer benachrichtigen.

MsgBox "Zeichenfolge nicht gefunden."

End If

End With

End Sub


DefaultValue-Eigenschaft (Standardwert)

Mit der Eigenschaft DefaultValue können Sie einen Wert angeben, der automatisch in ein Feld eingetragen wird, wenn ein neuer Datensatz erstellt wird. Beispielsweise können Sie in einer Tabelle Adressen den Standardwert für das Feld Ort auf Seeheim einstellen. Tragen die Benutzer der Tabelle einen neuen Datensatz in die Tabelle ein, so können sie diesen Standardwert übernehmen oder den Namen eines anderen Ortes eingeben.

Anmerkungen

•	Die Eigenschaft DefaultValue gilt nicht für Kontrollkästchen-, Optionsfeld- und Umschaltfläche-Steuerelemente, die sich in einer Optionsgruppe befinden. Sie gelten nur für die Optionsgruppe selbst.

•	Die Eigenschaft DefaultValue gilt für alle Tabellenfelder, außer für solche mit dem Datentyp AutoWert und OLE-Objekt.

Einstellung

Die Eigenschaft DefaultValue gibt einen Text oder Ausdruck an, der beim Erstellen eines neuen Datensatzes automatisch in ein Feld eingetragen wird. Stellen Sie z.B. die Eigenschaft DefaultValue für ein Textfeld-Steuerelement auf = Jetzt() ein, so zeigt das Steuerelement das aktuelle Datum und die aktuelle Uhrzeit an. Der Wert der Eigenschaft DefaultValue kann maximal 255 Zeichen lang sein.

Für ein Steuerelement können Sie die Eigenschaft DefaultValue im Eigenschaftenfenster des Steuerelements einstellen. Für ein Feld können Sie diese Eigenschaft in der Tabellen-Entwurfsansicht (unter Feldeigenschaften), in einem Makro oder in Visual Basic einstellen.

Verwenden Sie in Visual Basic einen Zeichenfolgenausdruck, um den Wert dieser Eigenschaft einzustellen. Beispielsweise stellt die folgende Codezeile die Eigenschaft DefaultValue für das Textfeld-Steuerelement Zahlungsmethode auf "Bar" ein.

Forms!frmRechnung!Zahlungsart!.DefaultValue = """Bar"""

Anmerkung   Wenn Sie diese Eigenschaft für ein Feld mit Visual Basic einstellen möchten, verwenden Sie die DAO-Eigenschaft DefaultValue.

Hinweis

Die Eigenschaft DefaultValue wird nur angewendet, wenn Sie einen neuen Datensatz erstellen. Wenn Sie die Eigenschaft DefaultValue ändern, wird die Änderung nicht automatisch für bestehende Datensätze übernommen.

Wenn Sie die Eigenschaft DefaultValue eines Formular-Steuerelements, in einem Formular für ein Feld einstellen, für das auch in der Tabelle eine Einstellung für die Eigenschaft DefaultValue besteht, hat die Steuerelementeinstellung Vorrang vor der Einstellung in der Tabelle.

Erstellen Sie ein Steuerelement durch Ziehen eines Feldes aus der Feldliste, so wird die in der Tabelle definierte Einstellung der Eigenschaft DefaultValue des Feldes auf das Steuerelement im Formular angewendet. Hierbei bleibt die Einstellung der Eigenschaft DefaultValue des Steuerelements jedoch leer.

Ein Steuerelement kann den Standardwert für ein anderes Steuerelement bereitstellen. Wenn Sie z.B. die Eigenschaft DefaultValue für ein Steuerelement auf den folgenden Ausdruck einstellen, wird der Standardwert des Feldes auf die Einstellung der Eigenschaft DefaultValue für das Steuerelement txtAusliefernAn eingestellt.

=Forms![frmRechnung]!txtAusliefernAn

Befinden sich die Steuerelemente in demselben Formular, so muß das Steuerelement, das die Herkunft des Standardwerts darstellt, weiter vorne in der Reihenfolge der Steuerelemente angezeigt werden als das Steuerelement, das den Ausdruck enthält.


Format-Eigenschaft

Mit der Eigenschaft Format können Sie die Darstellung von Zahlen, Datumsangaben, Zeitangaben und Text auf dem Bildschirm und im Ausdruck anpassen. Wenn Sie z.B. ein Textfeld-Steuerelement mit dem Namen Preis erstellen, können Sie dessen Eigenschaft Format auf Währung und dessen Eigenschaft DecimalPlaces auf "2" oder Auto einstellen. Wenn Sie dann 4321,678 im Steuerelement eingeben, wird die Zahl als 4.321,68 DM angezeigt.

Sie können ein vordefiniertes Format verwenden oder ein benutzerdefiniertes Format mit Hilfe von Formatierungssymbolen erstellen.

Einstellung

Die Eigenschaft Format verwendet verschiedene Einstellungen für unterschiedliche Datentypen. Informationen zu den Einstellungen für einen bestimmten Datentyp finden Sie unter den folgenden Themen:

•	Datentyp Datum/Zeit

•	Datentypen Zahl und Währung

•	Datentypen Text und Memo

•	Datentyp Ja/Nein

Für ein Steuerelement können Sie die Eigenschaft Format im Eigenschaftenfenster des Steuerelements einstellen. Für ein Feld können Sie diese Eigenschaft in der Tabellen-Entwurfsansicht (unter Feldeigenschaften) oder in der Entwurfsansicht des Abfragefensters (im Eigenschaftenfenster der Feldeigenschaften) einstellen. Sie können aber auch ein Makro oder Visual Basic verwenden.

Anmerkung   Geben Sie in Visual Basic einen Zeichenfolgenausdruck ein, der einem vordefinierten Format entspricht, oder geben Sie ein benutzerdefiniertes Format ein.

Hinweis

Die Eigenschaft Format wirkt sich nur darauf aus, wie die Daten angezeigt werden, aber nicht darauf, wie sie gespeichert werden.

Microsoft Access stellt vordefinierte Formate für die Datentypen Datum/Zeit, Zahl und Währung, Text und Memo sowie Ja/Nein zur Verfügung. Die vordefinierten Formate hängen von dem Gebietsschema ab, das in der Systemsteuerung von Windows unter Ländereinstellungen ausgewählt wurde. Microsoft Access zeigt Daten in dem für das ausgewählte Land geeigneten Format an. Wenn in der Registerkarte Gebietsschema z.B. Englisch (USA) ausgewählt ist, wird 1234.56 im Format Währung als $1,234.56 angezeigt; ist dagegen Englisch (Großbritannien) ausgewählt, wird die Zahl als £1,234.56 angezeigt.

Wenn Sie die Eigenschaft Format eines Feldes in der Tabellen-Entwurfsansicht einstellen, verwendet Microsoft Access dieses Format, um die Daten in Datenblättern anzuzeigen. Microsoft Access verwendet die Eigenschaft Format des Feldes auch für neue Steuerelemente in Formularen und Berichten.

Sie können in benutzerdefinierten Formaten für alle Datentypen die folgenden Symbole verwenden.

Symbol	Bedeutung
(Leerzeichen)	Zeigt Leerzeichen als Literal an.
"ABC"	Zeigt alle Zeichen in Anführungszeichen als Literal an.
!	Ausrichtung ist linksbündig statt rechtsbündig.
*	Der verfügbare Platz wird mit dem nächsten Zeichen aufgefüllt.
\	Das nächste Zeichen wird als Literal angezeigt. Sie können Literale auch in Anführungszeichen einschließen.
[Farbe]	Zeigt die formatierten Daten in der in eckigen Klammern angegebenen Farbe an. Verfügbare Farben: Schwarz, Blau, Grün, Zyan, Rot, Magenta, Gelb, Weiß.
Sie können benutzerdefinierte Formatierungssymbole für den Datentyp Zahl nicht mit Formatierungssymbolen für die Datentypen Datum/Zeit, Ja/Nein oder Text und Memo mischen.

Wenn Sie ein Eingabeformat definiert haben und für dieselben Daten die Eigenschaft Format einstellen, hat die Eigenschaft Format Priorität bei der Datenanzeige, d.h. das Eingabeformat wird ignoriert. Wenn Sie z.B. ein Eingabeformat für ein Kennwort in der Tabellen-Entwurfsansicht erstellen und zusätzlich die Eigenschaft Format in der Tabelle oder in einem Steuerelement eines Formulars einstellen, wird das Eingabeformat für das Kennwort ignoriert, und die Daten werden entsprechend der Einstellung der Eigenschaft Format angezeigt.


Format-Eigenschaft - Beispiel

Die folgenden drei Beispiele stellen die Eigenschaft Format mit Hilfe eines vordefinierten Formats ein.

Me![Datum].Format = "Medium Date"

Me![Uhrzeit].Format = "Long Time"

Me![Registriert].Format = "Yes/No"

Das nächste Beispiel stellt die Eigenschaft Format mit Hilfe eines benutzerdefinierten Formats ein. Dieses Format zeigt das Datum in der folgenden Form an: Jan 1996.

Forms![Personal]![Einstellungsdatum].Format = "mmm yyyy"

Das folgende Beispiel zeigt eine Visual Basic-Funktion, die numerische Daten mit dem Format Währung und Textdaten vollständig in Großbuchstaben formatiert. Die Funktion wird vom Ereignis OnLostFocus des ungebundenen Steuerelements Steuerrückerstattung aufgerufen.

Function FormatierenWert() As Integer

Dim varEingWert As Variant

varEingWert = Forms!Fragebogen!Steuerrückerstattung.Value

If IsNumeric(varEingWert) = True Then

Forms!Fragebogen!Steuerrückerstattung.Format = "Currency"

Else

Forms!Fragebogen!Steuerrückerstattung.Format = ">"

End If

End Function


Format-Eigenschaft - Datentypen "Zahl" und "Währung"

Sie können die Eigenschaft Format Datentypen Zahl und Währung auf vordefinierte oder benutzerdefinierte Zahlenformate einstellen.

Einstellung

Vordefinierte Formate

Die folgende Tabelle zeigt die vordefinierten Einstellungen der Eigenschaft Format für Zahlen.

Einstellung	Beschreibung
Allgemeine Zahl	(Standardeinstellung) Zeigt die Zahl wie eingegeben an.
Währung	Verwendet das Tausender-Trennzeichen; zeigt negative Zahlen in Klammern an. Die Standardeinstellung der Eigenschaft DecimalPlaces ist 2.
Festkommazahl	Zeigt mindestens eine Ziffer an. Die Standardeinstellung der Eigenschaft DecimalPlaces ist 2.
Standardzahl	Verwendet das Tausender-Trennzeichen. Die Standardeinstellung der Eigenschaft DecimalPlaces ist 2.
Prozentzahl	Multipliziert den Wert mit 100 und fügt ein Prozentzeichen (%) an. Die Standardeinstellung der Eigenschaft DecimalPlaces ist 2.
Exponentialzahl	Verwendet die Standardschreibweise für Exponentialzahlen.
Benutzerdefinierte Formate

Benutzerdefinierte Zahlenformate können bis zu vier Bereichen enthalten, die jeweils durch ein Semikolon (;) als Listentrennzeichen voneinander getrennt sind. Jeder Bereich enthält die Formatangabe für einen anderen Zahlentyp.

Bereich	Beschreibung
Erster	Das Format für positive Zahlen.
Zweiter	Das Format für negative Zahlen.
Dritter	Das Format für leere Werte.
Vierter	Das Format für Null-Werte.
Beispielsweise können Sie das folgende benutzerdefinierte Format für Währung verwenden:

$#,##0.00[Grün];($#,##0.00)[Rot];"Zero";"Null"

Dieses Zahlenformat enthält vier Bereiche, die durch ein Semikolon voneinander getrennt sind. Für jeden Bereich wird ein anderes Format verwendet.

Wenn Sie mehrere Bereiche verwenden, aber nicht für jeden Bereich ein eigenes Format angeben, wird in den Bereichen ohne Formatangabe nichts angezeigt, oder es wird das Format des ersten Bereichs als Standardformat übernommen.

Sie können benutzerdefinierte Zahlenformate mit Hilfe der folgenden Symbole erstellen.

Symbol	Beschreibung
. (Punkt)	Dezimaltrennzeichen. Trennzeichen werden in der Systemsteuerung von Windows durch Doppelklicken auf Ländereinstellungen eingestellt.
, (Komma)	Tausender-Trennzeichen.
0	Platzhalter für eine Ziffer. Zeigt eine Ziffer oder 0 an.
#	Platzhalter für eine Ziffer. Zeigt eine Ziffer oder nichts an.
$	Zeigt das Literalzeichen $ an.
%	Prozentsatz. Der Wert wird mit 100 multipliziert, und ein Prozentzeichen wird angefügt.
E– oder e–	Schreibweise für Exponentialzahlen mit einem Minuszeichen (-) vor negativen Exponenten und keinem Vorzeichen vor positiven Exponenten. Das Symbol muß zusammen mit anderen Symbolen verwendet werden, z.B. wie in 0.00E-00 oder 0.00E00.
E+ oder e+	Schreibweise für Exponentialzahlen mit einem Minuszeichen vor negativen Exponenten und einem Pluszeichen (+) vor positiven Exponenten. Das Symbol muß zusammen mit anderen Symbolen verwendet werden, z.B. wie in 0.00E+00.
Hinweis

Sie können die Eigenschaft DecimalPlaces verwenden, um die Standardzahl von Dezimalstellen für das vordefinierte Format anzuzeigen, das mit der Eigenschaft Format festgelegt wurde.


Format-Eigenschaft - Datentypen "Zahl" und "Währung" - Beispiel

Im folgenden sind Beispiele für die vordefinierten Zahlenformate dargestellt.

Einstellung	Daten	Anzeige
Allgemeine Zahl	3456,789 -3456,789 213,21 DM	3456,789 -3456,789 213,21 DM
Währung	3456,789 -3456,789	3.456,79 DM  (3.456,79 DM)
Festkommazahl	3456,789 -3456,789 3,56645	3456,79 -3456,79 3,57
Standardzahl	3456,789	3.456,79
Prozentzahl	3 0,45	300% 45%
Exponentialzahl	3456,789 -3456,789	3.46E+03 -3.46E+03
Im folgenden sind Beispiele für benutzerdefinierte Zahlenformate dargestellt.

Einstellung	Beschreibung
0;(0);;"Null"	Zeigt positive Werte normal und negative Werte in Anführungszeichen an. Zeigt das Wort "Null" an, falls der Wert Null ist.
+0.0;–0.0;0.0	Zeigt ein Pluszeichen (+) oder Minuszeichen (-) mit positiven oder negativen Zahlen an; zeigt 0,0 an, falls der Wert Null ist.


Format-Eigenschaft - Datentyp "Datum/Zeit"

Sie können die Eigenschaft Format auf vordefinierte Datums- und Zeitformate oder auf benutzerdefinierte Formate für die Datentypen Datum und Zeit einstellen.

Einstellung

Vordefinierte Formate

Die folgende Tabelle zeigt die vordefinierten Einstellungen der Eigenschaft Format für die Datentypen Datum/Zeit.

Einstellung	Beschreibung
Standarddatum	(Standardeinstellung) Enthält der Wert nur ein Datum, so wird keine Uhrzeit angezeigt. Enthält der Wert nur eine Uhrzeit, so wird kein Datum angezeigt. Diese Einstellung ist eine Kombination der Einstellungen Datum, kurz und Zeit, lang. Beispiele: 03.04.93; 17:34:00; 03.04.93 17:34:00
Datum, lang	Entspricht der Einstellung Langes Datumsformat im Dialogfeld Eigenschaften von Ländereinstellungen in der Systemsteuerung von Windows. Beispiel: Samstag, 6. April 1996.
Datum, mittel	Beispiel: 03. Apr. 93.
Datum, kurz	Entspricht der Einstellung Kurzes Datumsformat im Dialogfeld Eigenschaften von Ländereinstellungen in der Systemsteuerung von Windows. Beispiel: 06.04.96. Warnung   Bei der Einstellung Kurzes Datum wird davon ausgegangen, daß Daten zwischen dem 1.1.00 und 31.12.29 Daten des 21. Jahrhunderts darstellen (d. h. daß die Jahre als 2000 und 2029 angesehen werden). Bei Daten zwischen dem 1.1.30 und dem 31.12.99 wird davon ausgegangen, daß es sich um Daten des 20. Jahrhunderts handelt (d. h. daß die Jahre als 1930 und 1999 angesehen werden).
Zeit, lang	Entspricht der Einstellung auf der Registerkarte Zeitformat im Dialogfeld Eigenschaften von Ländereinstellungen in der Systemsteuerung von Windows. Beispiel: 17:34:23.
Zeit, 12Std	Beispiel: 05:34.
Zeit, 24Std	Beispiel: 17:34.
Benutzerdefinierte Formate

Sie können benutzerdefinierte Datums- und Zeitformate mit Hilfe der folgenden Symbole erstellen.

Symbol	Beschreibung
: (Doppelpunkt)	Zeit-Trennzeichen. Trennzeichen werden im Dialogfeld Eigenschaften von Ländereinstellungen in der Systemsteuerung von Windows eingestellt.
. (Punkt)	Datumstrennzeichen.
g	Entspricht dem vordefinierten Format Standarddatum.
t	Monatstag mit einer oder zwei Ziffern (1 bis 31).
tt	Monatstag mit zwei Ziffern (01 bis 31).
ttt	Die ersten drei Buchstaben des Wochentags (Son bis Sam).
tttt	Vollständiger Name des Wochentags (Sonntag bis Samstag).
ttttt	Entspricht dem vordefinierten Format Datum, kurz.
tttttt	Entspricht dem vordefinierten Format Datum, lang.
w	Wochentag (1 bis 7).
ww	Kalenderwoche (1 bis 53).
m	Monat des Jahres mit einer oder zwei Ziffern (1 bis 12).
mm	Monat des Jahres mit zwei Ziffern (01 bis 12).
mmm	Die ersten drei Buchstaben des Monats (Jan bis Dez).
mmmm	Vollständiger Name des Monats (Januar bis Dezember).
q	Datum als Quartal angezeigt (1 bis 4).
j	Kalendertag (1 bis 366).
jj	Die letzten zwei Ziffern der Jahreszahl (01 bis 99).
jjjj	Vollständige Jahreszahl (0100 bis 9999).
h	Stunde mit einer oder zwei Ziffern (0 bis 23).
hh	Stunde mit zwei Ziffern (00 bis 23).
n	Minute mit einer oder zwei Ziffern (0 bis 59).
nn	Minute mit zwei Ziffern (00 bis 59).
s	Sekunde mit einer oder zwei Ziffern (0 bis 59).
SMS	Sekunde mit zwei Ziffern (00 bis 59).
zzzzz	Entspricht dem vordefinierten Format Zeit, lang.
AM/PM	Zwölf-Stunden-Format mit den Großbuchstaben AM oder PM.
am/pm	Zwölf-Stunden-Format mit den Kleinbuchstaben am oder pm.
A/P	Zwölf-Stunden-Format mit den Großbuchstaben A oder P.
a/p	Zwölf-Stunden-Format mit den Kleinbuchstaben a oder p.
AMPM	Zwölf-Stunden-Format mit der Kennzeichnung für Vormittag/Nachmittag, wie im Dialogfeld Eigenschaften von Ländereinstellungen in der Systemsteuerung von Windows angegeben.
Die benutzerdefinierten Formate werden so angezeigt wie im Dialogfeld Eigenschaften von Ländereinstellungen in der Systemsteuerung von Windows angegeben. Benutzerdefinierte Formate, die mit dieser Einstellung nicht verträglich sind, werden ignoriert.

Anmerkung   Wenn Sie zu einem benutzerdefinierten Format ein Komma oder ein anderes Trennzeichen hinzufügen möchten, geben Sie es in Anführungszeichen wie folgt ein: mmm t", "jjjj.


Format-Eigenschaft - Datentyp "Datum/Zeit" - Beispiel
Format-Eigenschaft — Datentyp "Datum/Zeit" - Beispiel

Nachfolgend werden Beispiele von benutzerdefinierten Datum/Zeit-Formaten dargestellt.

Einstellung	Anzeige
ttt", "mmm t", "jjjj	Mon, Jun 3, 1996
mmmm tt", "jjjj	Juni 03, 1996
"Dies ist Woche Nummer "ww	Dies ist Woche Nummer 22
"Heute ist "tttt	Heute ist Dienstag
Sie können ein benutzerdefiniertes Format erstellen, das Jahresangaben bei Eingabe einer positiven Zahl um "A.D." (vor dem Jahr) bzw. bei Eingabe einer negativen Zahl um "v. Chr." (hinter dem Jahr) ergänzt. Wenn Sie dieses benutzerdefinierte Format testen möchten, erstellen Sie ein neues Tabellenfeld, stellen Sie den Datentyp auf Zahl ein, und geben Sie das folgende Datenformat ein:

"A.D. " #;# " v.Chr."

Positive Zahlen werden als Jahreszahlen mit vorgestelltem "A.D." (Anno Domini) angezeigt. Negative Zahlen werden als Jahreszahlen mit nachgestelltem "v. Chr." dargestellt.


Format-Eigenschaft - Datentyp "Ja/Nein"

Sie können die Eigenschaft Format für den Datentyp Ja/Nein auf die vordefinierten Formate Ja/Nein, Wahr/Falsch und An/Aus oder auf ein benutzerdefiniertes Format einstellen.

Einstellung

Microsoft Access verwendet ein Kontrollkästchen-Steuerelement als Standard-Steuerelement für den Datentyp Ja/Nein. Vordefinierte und benutzerdefinierte Formate werden nicht beachtet, wenn ein Kontrollkästchen-Steuerelement verwendet wird. Daher gelten diese Formate nur für Daten, die in einem Textfeld-Steuerelement angezeigt werden.

Vordefinierte Formate

Die Eigenschaft Format stellt die vordefinierten Formate Ja/Nein, Wahr/Falsch und An/Aus bereit. Ja, Wahr und An sind äquivalent, und Nein, Falsch und Aus sind äquivalent. Wenn Sie ein vordefiniertes Format angeben und dann einen äquivalenten Wert eingeben, wird das vordefinierte Format des äquivalenten Wertes angezeigt. Wenn Sie z.B. Wahr oder An in einem Textfeld-Steuerelement eingeben, dessen Eigenschaft Format auf Ja/Nein eingestellt ist, wird der Wert automatisch in Ja umgewandelt.

Benutzerdefinierte Formate

Der Datentyp Ja/Nein verwendet benutzerdefinierte Formate mit maximal drei Bereichen.

Bereich	Beschreibung
Erster	Dieser Bereich hat keine Auswirkung auf den Datentyp Ja/Nein. Ein Semikolon (;) muß jedoch als Platzhalter angegeben werden.
Zweiter	Der Text, der anstelle der Werte Ja, Wahr oder An angezeigt werden soll.
Dritter	Der Text, der anstelle der Werte Nein, Falsch oder Aus angezeigt werden soll.


Format-Eigenschaft - Datentyp "Ja/Nein" - Beispiel

Das folgende Beispiel zeigt ein benutzerdefiniertes Ja/Nein-Format für ein Textfeld-Steuerelement. Das Steuerelement zeigt für Ja, Wahr oder An das Wort "Immer" in Blau und für Nein, Falsch oder Aus das Wort "Niemals" in Rot an.

;"Immer"[Blau];"Niemals"[Rot]


Format-Eigenschaft - Datentypen "Text" und "Memo"

Sie können in der Eigenschaft Format verschiedene Sonderzeichen angeben, um benutzerdefinierte Formate für Felder vom Typ Text und Memo zu erstellen.

Einstellung

Sie können benutzerdefinierte Text- und Memo-Formate mit Hilfe der folgenden Sonderzeichen erstellen.

Symbol	Beschreibung
@	Ein Textzeichen (kann auch ein Leerzeichen sein) muß angegeben werden.
&	Ein Textzeichen kann angegeben werden, muß aber nicht.
<	Alle Zeichen in Kleinbuchstaben.
>	Alle Zeichen in Großbuchstaben.
Benutzerdefinierte Formate für Felder vom Typ Text und Memo können aus maximal zwei Bereichen bestehen. Jeder Bereich enthält die Formatangabe für andere Daten in einem Feld.

Bereich	Beschreibung
Erster	Format für Felder mit Text.
Zweiter	Format für Felder mit leeren Zeichenfolgen und Null-Werten.
Soll z.B. in einem Textfeld-Steuerelement das Wort "Keine" angezeigt werden, wenn sich keine Zeichenfolge im Feld befindet, so geben Sie das benutzerdefinierte Format @;"Keine" als Einstellung der Eigenschaft Format des Steuerelements ein. Das Symbol @ bewirkt, daß der Text des Feldes angezeigt wird; der zweite Bereich bewirkt, daß das Wort "Keine" angezeigt wird, wenn das Feld eine leere Zeichenfolge oder einen Null-Wert enthält.

Anmerkung   In der Version 2.0 von Microsoft Access können Sie die Format- Funktion verwenden, um einen Wert für eine leere Zeichenfolge zurückzugeben und einen anderen für einen Null-Wert. In gleicher Weise können Sie die Format-Eigenschaft dazu verwenden, um Felder in der Datenblattansicht der Tabelle oder Steuerelemente auf einem Formular oder einem Bericht automatisch zu formatieren.

In Microsoft Access 97 müssen Sie für den Fall eines Null-Werts getrennt testen und dann den entsprechenden, auf dem Ergebnis beruhenden Wert zurückgeben. Sie können beispielsweise die IIf- Funktion in einem Ausdruck mit der Format-Funktion folgendermaßen verwenden:

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

Diese Änderung trifft nur dann zu, wenn Sie die Format-Funktion verwenden, um eine Zeichenfolge zu formatieren, abhängig davon ob es sich um eine leere Zeichenfolge oder einen Null-Wert handelt. Andere mit der Format-Funktion verwendete Format-Ausdrücke funktionieren weiterhin wie in den vorherigen Versionen.

Sie können die Format-Eigenschaft eines Steuerelements nicht so einstellen, daß unterschiedliche Werte für Null-Werte und leere Zeichenfolgen angezeigt werden. Um zwischen Null-Werten und leeren Zeichenfolgen in einem Steuerelement oder Formular zu unterscheiden, stellen Sie die ControlSource-Eigenschaft des Steuerelements auf einen Ausdruck ein, der auf den Fall eines Null-Werts überprüft. Um beispielsweise "Null" or "ZLS" in einem Steuerelement anzuzeigen, stellen Sie dessen ControlSource-Eigenschaft auf den folgenden Ausdruck ein:

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


Format-Eigenschaft - Datentypen "Text" und "Memo" - Beispiel

Im folgenden sind Beispiele für benutzerdefinierte Text- und Memo-Formate dargestellt.

Einstellung	Daten	Anzeige
@@@-@@-@@@@	465043799	465-04-3799
@@@@@@@@@	465-04-3799 465043799	465-04-3799 465043799
>	klaush KLAUSH KlausH	KLAUSH KLAUSH KLAUSH
<	klaush KLAUSH KlausH	klaush klaush klaush
@;"Unbekannt"	Null-Wert	Unbekannt
	Leere Zeichenfolge	Unbekannt
	Beliebiger Text	Text wird wie eingegeben angezeigt.


InputMask-Eigenschaft (Eingabeformat)

Mit der Eigenschaft InputMask können Sie die Dateneingabe vereinfachen und die Werte festlegen, die Benutzer in einem Textfeld-Steuerelement eingeben können. Sie können z.B. ein Eingabeformat für ein Telefonnummernfeld erstellen, das genau vorgibt, wie eine neue Nummer eingegeben werden muß: (___) ___-____. Häufig ist es einfacher, zur Einstellung der Eigenschaft den Eingabeformat-Assistenten zu verwenden.

Einstellung

Die Eigenschaft InputMask kann maximal drei Bereiche enthalten, die durch Semikolons (;) voneinander getrennt sind.

Bereich	Beschreibung
Erster	Gibt das Eingabeformat selbst an, wie z.B. (999) 000-0000!. Eine Liste der zur Definition des Eingabeformats zulässigen Zeichen finden Sie in der folgenden Tabelle.
Zweiter	Gibt an, ob Microsoft Access die angezeigten Literalzeichen in der Tabelle speichert, wenn Sie Daten eingeben. Wenn Sie für diesen Bereich den Wert 0 verwenden, werden alle Literale (z.B. die Klammern in einem Telefonnummern-Eingabeformat) zusammen mit dem Wert gespeichert. Wenn Sie den Wert 1 oder keinen Wert in diesem Bereich eingeben, werden nur die Zeichen gespeichert, die tatsächlich im Steuerelement eingegeben werden.
Dritter	Gibt das Zeichen an, das Microsoft Access an den Stellen des Eingabeformats anzeigt, an der Zeichen eingeben werden sollen. Hierzu können Sie jedes beliebige Zeichen verwenden. Um eine leere Zeichenfolge anzuzeigen, verwenden Sie ein in Anführungszeichen eingeschlossenes Leerzeichen (" ").
In Visual Basic verwenden Sie einen Zeichenfolgenausdruck, um diese Eigenschaft einzustellen. Beispielsweise legt die folgende Codezeile ein Eingabeformat für ein Textfeld-Steuerelement zur Eingabe von Telefonnummern fest:

Forms![Kunden]![Telefon].InputMask = "(###) ###-####"

Wenn Sie ein Eingabeformat erstellen, können Sie durch Angabe von Sonderzeichen festlegen, daß bestimmte Daten (z.B. die Vorwahl) eingegeben werden sollen und die Eingabe anderer Daten (z.B. der Durchwahl) optional ist, indem Sie spezielle Zeichen verwenden. Diese Zeichen legen fest, welchen Typ von Daten Sie für jedes Zeichen im Eingabeformat eingeben können.

Sie können ein Eingabeformat mit Hilfe der folgenden Zeichen definieren.

Zeichen	Beschreibung
0	Ziffer (0 bis 9, Eingabe erforderlich, Plus- (+) und Minuszeichen (-) sind nicht erlaubt).
9	Ziffer oder Leerzeichen (Eingabe nicht erforderlich, Plus- und Minuszeichen sind nicht erlaubt).
#	Ziffer oder Leerzeichen (Eingabe nicht erforderlich, Leerzeichen werden als Leerzeichen im Bearbeitungsmodus angezeigt, aber beim Speichern der Daten entfernt, Plus- und Minuszeichen sind erlaubt).
L	Buchstabe (A bis Z, Eingabe erforderlich).
?	Buchstabe (A bis Z, Eingabe optional).
A	Buchstabe oder Ziffer (Eingabe erforderlich).
a	Buchstabe oder Ziffer (Eingabe optional).
&	Beliebiges Zeichen oder Leerzeichen (Eingabe erforderlich).
C	Beliebiges Zeichen oder Leerzeichen (Eingabe optional).
.  ,  :  ;  -  /	Platzhalter für Dezimaltrennzeichen sowie Tausender-, Datums- und Zeit-Trennzeichen. (Das tatsächlich verwendete Zeichen hängt von den Einstellungen im Dialogfeld Eigenschaften von Ländereinstellungen in der Systemsteuerung von Windows ab.
<	Alle Buchstaben werden in Kleinbuchstaben umgewandelt.
>	Alle Buchstaben werden in Großbuchstaben umgewandelt.
!	Das Eingabeformat wird von rechts nach links und nicht von links nach rechts angezeigt. Die eingegebenen Zeichen füllen das Eingabeformat immer von links nach rechts auf. Sie können das Ausrufezeichen im Eingabeformat an beliebiger Stelle angeben.
\	Das folgende Zeichen wird als Literal angezeigt, die Wirkung als Sonderzeichen wird ggf. dadurch aufgehoben. (z.B. wird \A als A angezeigt).
Anmerkung   Die Einstellung der Eigenschaft InputMask auf das Wort "Kennwort" erstellt ein Steuerelement zur Eingabe von Kennwörtern. Jedes in das Steuerelement eingegebenen Zeichen wird zwar wie eingegeben gespeichert, jedoch als Sternchen (*) angezeigt. Sie verwenden das Eingabeformat "Kennwort", um zu verhindern, daß die eingegebenen Zeichen auf dem Bildschirm angezeigt werden.

Für ein Steuerelement können Sie die Eigenschaft InputMask im Eigenschaftenfenster des Steuerelements einstellen. Für ein Feld in einer Tabelle können Sie diese Eigenschaft in der Tabellen-Entwurfsansicht (unter Feldeigenschaften) oder in der Entwurfsansicht des Abfragefensters (im Eigenschaftenfenster der Feldeigenschaften) einstellen.

Sie können diese Eigenschaft aber auch ein in einem Makro oder in Visual Basic einstellen.

Hinweis

Wenn Sie Daten in einem Feld eingeben, für das Sie ein Eingabeformat definiert haben, werden die Daten immer im Überschreibungsmodus eingegeben. Wenn Sie mit der RÜCKTASTE ein Zeichen löschen, wird es durch ein Leerzeichen ersetzt.

Wenn Sie Text aus einem Feld, für das Sie ein Eingabeformat definiert haben, in die Zwischenablage kopieren, werden die Literalzeichen kopiert, auch wenn Sie festgelegt haben, daß diese mit den Daten gespeichert werden.

Anmerkung   Nur direkt in ein Steuerelement oder Kombinationsfeld eingegebene Zeichen sind vom Eingabeformat betroffen. Microsoft Access beachtet keine Eingabeformate, wenn Sie Daten importieren, eine Aktionsabfrage ausführen oder Zeichen in ein Steuerelement eintragen, indem Sie in Visual Basic die Eigenschaft Text des Steuerelements einstellen oder in einem Makro die Aktion SetzenWert verwenden.

Haben Sie ein Eingabeformat definiert und für das gleiche Feld die Eigenschaft Format eingestellt, so hat die Eigenschaft Format bei der Datenanzeige Priorität. Selbst wenn Sie ein Eingabeformat gespeichert haben, wird es in diesem Fall beim Formatieren und Anzeigen der Daten nicht beachtet. Die Daten in der zugrundeliegenden Tabelle selbst werden jedoch nicht geändert; die Eigenschaft Format hat nur Auswirkungen auf die Anzeige der Daten.


InputMask-Eigenschaft (Eingabeformat) - Beispiel (Hilfreiche Eingabeformate)

Die folgende Tabelle enthält hilfreiche Eingabeformate und zeigt, welche Werte Sie jeweils eingeben können.

Eingabeformat	Beispielwerte
(0000) 000-0000	(0231) 721-4642
(9999) 000-0000!	(0231) 721-4642
	(   ) 721-4642
(0000) AAA-AAAA	(0231) 721-HUGO
#999	–20
	2000
>L???L?000L0	GELBGE339M3
	MAI  R 452B7
>L0L 0L0	T2F 8M4
00000-9999	98115-
	98115-3007
>L<??????????????	Petra
	Kruggel
ISBN 0-&&&&&&&&&-0	ISBN 1-55615-507-7
>LL00000-0000	DB51392-0493


ValidationRule-, ValidationText-Eigenschaften (Gültigkeitsregel, Gültigkeitsmeldung)

Mit der Eigenschaft ValidationRule können Sie angeben, welche Anforderungen die Eingabedaten in einem Datensatz, Feld oder Steuerelement erfüllen müssen. Für den Fall, daß eingegebene Daten die mit der Eigenschaft ValidationRule festgelegten Regeln verletzen, können Sie mit der Eigenschaft ValidationText eine Meldung festlegen, die dem Benutzer angezeigt wird.

Anmerkung   Die Eigenschaften ValidationRule und ValidationText gelten nicht für Kontrollkästchen-, Optionsfeld- und Umschaltfläche-Steuerelemente, die sich in einer Optionsgruppe befinden. Sie gelten nur für die Optionsgruppe selbst.

Einstellung

Geben Sie einen Ausdruck für die Einstellung der Eigenschaft ValidationRule und Text für die Einstellung der Eigenschaft ValidationText ein. Der Wert der Eigenschaft ValidationRule kann maximal 2048 Zeichen lang sein. Der Wert der Eigenschaft ValidationText kann maximal 255 Zeichen lang sein.

Für Steuerelemente können Sie die Eigenschaft DefaultValue auf jeden gültigen Ausdruck einstellen. Bei Feld- und Datensatz-Gültigkeitsregeln darf der Ausdruck keine benutzerdefinierten Funktionen, Domänenaggregat- oder Aggregatfunktionen, die Funktionen CurrentUser oder Eval sowie Verweise auf Formulare, Abfragen oder Tabellen enthalten. Außerdem dürfen Feld-Gültigkeitsregeln keine Verweise auf andere Felder enthalten. Bei Datensätzen können Ausdrücke Verweise auf Felder in derselben Tabelle enthalten.

Sie können die Eigenschaften ValidationRule und ValidationText wie folgt einstellen:

•	Im Bereich Feldeigenschaften der Tabellen-Entwurfsansicht (für Feld-Gültigkeitsregeln).

•	Im Eigenschaftenfenster einer Tabelle, indem Sie in der Tabellen-Entwurfsansicht im Menü Ansicht auf Eigenschaften klicken (für Datensatz-Gültigkeitsregeln).

•	Im Eigenschaftenfenster eines Steuerelements in einem Formular.

•	In einem Makro oder in Visual Basic. Verwenden Sie in Visual Basic einen Zeichenfolgenausdruck, um diese Eigenschaften einzustellen.

Für Tabellenfelder und Datensätze können Sie diese Eigenschaft in Visual Basic auch mit der DAO-Eigenschaft ValidationRuleeinstellen.

Hinweis

Microsoft Access überprüft Werte automatisch daraufhin, ob sie mit dem Datentyp eines Feldes verträglich sind. Dadurch unterbindet Microsoft Access beispielsweise die Eingabe von Text in einem numerischen Feld. Genauere Regeln können Sie mit der Eigenschaft ValidationRule festlegen.

Wenn Sie die Eigenschaft ValidationRule einstellen, aber nicht die Eigenschaft ValidationText, zeigt Microsoft Access eine Standard-Fehlermeldung an, falls die Gültigkeitsregel verletzt wird. Stellen Sie dagegen die Eigenschaft ValidationText ein, so wird der von Ihnen eingegebene Text als Fehlermeldung angezeigt.

Wird z.B. ein Datensatz für einen neuen Angestellten hinzugefügt, so können Sie die Eigenschaft ValidationRule so einstellen, daß im Feld Startdatum des Angestellten nur Werte zwischen dem Gründungsdatum der Firma und dem heutigen Datum eingegeben werden können. Wenn sich das eingegebene Datum nicht in diesem Bereich befindet, können Sie mit der Eigenschaft ValidationText die Meldung "Startdatum ist falsch." ausgeben.

Wenn Sie ein Steuerelement durch Ziehen eines Feldes aus der Feldliste erstellen, bleibt die Feld-Gültigkeitsregel wirksam, obwohl sie im Eigenschaftenfenster im Einstellungsfeld der Eigenschaft ValidationRule des Steuerelements nicht angezeigt wird. Dies liegt daran, daß Feld-Gültigkeitsregeln von dem Steuerelement übernommen werden, das an das Feld gebunden ist.

Gültigkeitsregeln für Steuerelemente, Felder und Datensätze werden wie folgt angewendet:

•	Gültigkeitsregeln für Felder und Steuerelemente werden angewendet, wenn Sie die Daten bearbeiten und das Feld oder Steuerelement den Fokus abgibt.

•	Gültigkeitsregeln für Datensätze werden angewendet, wenn Sie zu einem anderen Datensatz wechseln.

•	Wenn Sie Gültigkeitsregeln für ein Feld und für ein Steuerelement erstellen, das an dieses Feld gebunden ist, werden beide Gültigkeitsregeln angewendet, wenn Sie Daten bearbeiten und das Steuerelement den Fokus abgibt.

Die folgende Tabelle enthält Beispiele für Ausdrücke, die in den Eigenschaften ValidationRule und ValidationText angegeben werden können.

ValidationRule	ValidationText
<> 0	Eingabewert muß ungleich Null sein.
> 1000 Or Is Null	Eingabe muß leer oder größer als 1000 sein.
Like "A????"	Eingabe muß 5 Zeichen lang sein und mit dem Buchstaben A beginnen.
>= #1/1/96# And <#1/1/97#	Eingabe muß ein Datum im Jahr 1996 sein.
DLookup("[Kunden-Code]", "Kunden", "[Kunden-Code] = Forms![Kunden]![Kunden-Code]") Is Null	Eingabe muß eindeutiger Kunden-Code sein (Domänenaggregatfunktionen sind nur für Gültigkeitsüberprüfungen auf Formularebene zulässig).
Wenn Sie eine Gültigkeitsregel für ein Feld erstellen, läßt Microsoft Access normalerweise nicht zu, daß ein Null-Wert in dem Feld gespeichert wird. Sollen Null-Werte gespeichert werden können, so fügen Sie der Gültigkeitsregel Ist Null hinzu, wie z.B. in "<> 8 Oder Ist Null". Stellen Sie außerdem sicher, daß die Eigenschaft Required auf Nein eingestellt ist.

Sie können Feld- oder Datensatz-Gültigkeitsregeln nicht für Tabellen einstellen, die nicht mit Microsoft Access (sondern z.B. mit dBASE, Paradox oder SQL Server) erstellt wurden. Bei derartigen Tabellen können Sie Gültigkeitsregeln nur für Steuerelemente erstellen.


ValidationRule-, ValidationText-Eigenschaften (Gültigkeitsregel, Gültigkeitsmeldung) - Beispiel

Das folgende Beispiel erstellt eine Gültigkeitsregel für ein Feld, das nur die Eingabe von Werten größer als 65 zuläßt. Wird eine kleinere Zahl als 65 eingegeben, so wird eine Meldung angezeigt. Die Eigenschaften werden mit der Funktion SetFieldValidation eingestellt.

Dim strTblName As String, strFldName As String

Dim strGültRegel As String

Dim strGültText As String, intX As Integer

strTblName = "Kunden"

strFldName = "Alter"

strGültRegel = ">= 65"

strGültText = "Geben Sie eine Zahl größer oder gleich 65 ein."

intX = SetFieldValidation(strTblName, strFldName, _

strGültRegel, strGültText)

Function EinstellenFeldPrüfung(strTblName As String, _

strFldName As String, strGültRegel As String, _

strGültText 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 = strGültRegel

fld.ValidationText = strGültText

End Function

Das nächste Beispiel verwendet die Funktion SetTableValidation zum Einstellen einer Gültigkeitsüberprüfung auf Datensatzebene. Die Regel stellt sicher, daß das Datum im Feld EndDat jünger als das Datum im Feld StartDat ist.

Dim strTblName As String, strGültRegel As String

Dim strGültText As String

Dim intX As Integer

strTblName = "Personal"

strGültRegel = "EndDat > StartDat"

strGültText = "Geben Sie einen Wert für EndDat ein, der nach StartDat liegt."

intX = EinstellenTabellenPrüfung (strTblName, strGültRegel, strGültText)

Function EinstellenTabellenPrüfung (strTblName As String, _

strGültRegel As String, strGültText As String) _

As Integer

Dim dbs As Database, tdf As TableDef

Set dbs = CurrentDb

Set tdf = dbs.TableDefs(strTblName)

tdf.ValidationRule = strGültRegel

tdf.ValidationText = strGültText

End Function


Ereigniseigenschaften

Ereigniseigenschaften starten ein Makro oder die zugehörige Visual Basic-Ereignisprozedur, wenn ein bestimmtes Ereignis eintritt. Wenn Sie z.B. den Namen eines Makros in der Eigenschaft OnClick einer Befehlsschaltfläche eingeben, wird dieses Makro gestartet, wenn auf die Befehlsschaltfläche geklickt wird. Eine vollständige Liste der Ereigniseigenschaften finden Sie im Verzeichnis der Ereignisse und Ereigniseigenschaften.

Einstellung

Sie starten ein Makro, indem Sie den Namen des Makros eingeben. Sie können ein bereits existierendes Makro aus der Liste auswählen. Wenn sich das Makro in einer Makrogruppe befindet, wird es unter dem Namen der Makrogruppe in der Form Makrogruppenname.Makroname angezeigt.

Sie starten die mit dem Ereignis verbundene Ereignisprozedur, indem Sie in der Liste den Eintrag [Ereignisprozedur] auswählen.

Anmerkung   Wenn Sie Visual Basic-Code als Reaktion auf ein Ereignis ausführen, wird die Verwendung einer Ereignisprozedur empfohlen. Sie können aber auch eine benutzerdefinierte Funktion ausführen, wenn ein Ereignis eintritt. Setzen Sie dazu ein Gleichheitszeichen (=) vor den Funktionsnamen und Klammern hinter den Funktionsnamen, wie z.B. in =Funktionsname( ).

Sie können Ereigniseigenschaften im Eigenschaftenfenster für ein Objekt, in einem Makro oder in Visual Basic festlegen. Sie können keine Ereigniseigenschaften festlegen, während Sie ein Formular oder einen Bericht formatieren oder drucken.

Tip   Sie können Editoren verwenden, die Ihnen beim Festlegen einer Ereigniseigenschaft helfen. Klicken Sie hierzu auf die Editor-Schaltfläche  [image]  rechts neben dem Einstellungsfeld der Eigenschaft, oder klicken Sie mit der rechten Maustaste zuerst auf das Einstellungsfeld der Eigenschaft und dann im Kontextmenü auf den Befehl Erstellen. Wählen Sie im Dialogfeld Editor auswählen folgendes aus:

•	den Makro-Editor, um ein Makro für diese Ereigniseigenschaft zu erstellen und anzugeben. Sie können den Makro-Editor auch verwenden, um ein durch diese Eigenschaft bereits angegebenes Makro zu bearbeiten.

•	den Code-Editor, um eine Ereignisprozedur für diese Ereigniseigenschaft zu erstellen und anzugeben. Sie können den Code-Editor auch verwenden, um eine durch diese Eigenschaft bereits angegebene Ereignisprozedur zu bearbeiten.

•	den Ausdrucks-Editor, um eine benutzerdefinierte Funktion für diese Ereigniseigenschaft auszuwählen und anzugeben.

Weisen Sie der Eigenschaft in Visual Basic einen Zeichenfolgenausdruck zu.

Ausführen von	Verwendete Syntax	Beispiel
Makros	"Makroname"	Schaltfläche1.OnClick = "Makro1"
Ereignisprozeduren	"[Ereignisprozedur]"	Schaltfläche1.OnClick = "[Ereignisprozedur]"
Benutzerdefinierte Funktionen	"=Funktionsname()"	Schaltfläche1.OnClick = "=Funktion1()"


Ereigniseigenschaften - Visual Basic-Beispiel
Ereigniseigenschaften – Visual Basic-Beispiel

Das folgende Beispiel zeigt, wie Sie den im Steuerelement Land eingegebenen Wert verwenden können, um festzulegen, welches von zwei Makros ausgeführt werden soll, wenn Sie auf die Schaltfläche Länderbericht drucken klicken.

Private Sub Land_AfterUpdate ()

If Land = "Deutschland" Then

[Länderbericht drucken].OnClick = "DeutschlandberichtDrucken"

ElseIf Land = "USA" Then

[Länderbericht drucken].OnClick = "USABerichtDrucken"

End If

End Sub


Ereigniseigenschaften und Objekte, für die diese gelten

Ereigniseigenschaft	Gilt für
AfterDelConfirm	Formulare.
AfterInsert	Formulare.
AfterUpdate*	Formulare. Steuerelemente (gebundenes Objektfeld, Kontrollkästchen, Kombinationsfeld, Listenfeld, Optionsfeld, Optionsgruppe, Textfeld, Umschaltfläche) in einem Formular.
BeforeDelConfirm	Formulare.
BeforeInsert	Formulare.
BeforeUpdate*	Formulare. Steuerelemente (gebundenes Objektfeld, Kontrollkästchen, Kombinationsfeld, Listenfeld, Optionsfeld, Optionsgruppe, Textfeld, Umschaltfläche) in einem Formular.
OnActivate	Formulare und Berichte.
OnApplyFilter	Formulare.
OnChange	Steuerelemente (Kombinationsfeld, Register, Textfeld) in einem Formular.
OnClick*	Formulare. Formularbereiche. Steuerelemente (gebundenes Objektfeld, Diagramm, Kontrollkästchen, Kombinationsfeld, Befehlsschaltfläche, Bild, Bezeichnungsfeld, Listenfeld, Optionsfeld, Optionsgruppe, Rechteck, Register, Textfeld, Umschaltfläche, Objektfeld) in einem Formular.
OnClose	Formulare und Berichte.
OnCurrent	Formulare.
OnDblClick*	Formulare. Formularbereiche. Steuerelemente (gebundenes Objektfeld, Diagramm, Kontrollkästchen, Kombinationsfeld, Befehlsschaltfläche, Bild, Bezeichnungsfeld, Listenfeld, Optionsfeld, Optionsgruppe, Rechteck, Register, Textfeld, Umschaltfläche, Objektfeld) in einem Formular.
OnDeactivate	Formulare und Berichte.
OnDelete	Formulare.
OnEnter*	Steuerelemente (ActiveX, gebundenes Objektfeld, Diagramm, Kontrollkästchen, Kombinationsfeld, Befehlsschaltfläche, Listenfeld, Optionsfeld, Optionsgruppe, Unterformular/-bericht, Register, Textfeld, Umschaltfläche, Objektfeld) in einem Formular.
OnError	Formulare und Berichte.
OnExit*	Steuerelemente (ActiveX, gebundenes Objektfeld, Diagramm, Kontrollkästchen, Kombinationsfeld, Befehlsschaltfläche, Listenfeld, Optionsfeld, Optionsgruppe, Unterformular/-bericht, Register, Textfeld, Umschaltfläche, Objektfeld) in einem Formular.
OnFilter	Formulare.
OnFormat	Berichtsbereiche.
OnGotFocus	Formulare. Steuerelemente (ActiveX, gebundenes Objektfeld, Kontrollkästchen, Kombinationsfeld, Befehlsschaltfläche, Listenfeld, Optionsfeld, Register, Textfeld, Umschaltfläche, Objektfeld) in einem Formular.
OnKeyDown	Formulare. Steuerelemente (gebundenes Objektfeld, Kontrollkästchen, Kombinationsfeld, Befehlsschaltfläche, Listenfeld, Optionsfeld, Register, Textfeld, Umschaltfläche, Objektfeld) in einem Formular.
OnKeyPress	Formulare. Steuerelemente (gebundenes Objektfeld, Kontrollkästchen, Kombinationsfeld, Befehlsschaltfläche, Listenfeld, Optionsfeld, Register, Textfeld, Umschaltfläche, Objektfeld) in einem Formular.
OnKeyUp	Formulare. Steuerelemente (gebundenes Objektfeld, Kontrollkästchen, Kombinationsfeld, Befehlsschaltfläche, Listenfeld, Optionsfeld, Register, Textfeld, Umschaltfläche, Objektfeld) in einem Formular.
OnLoad	Formulare.
OnLostFocus	Formulare. Steuerelemente (ActiveX, gebundenes Objektfeld, Kontrollkästchen, Kombinationsfeld, Befehlsschaltfläche, Listenfeld, Optionsfeld, Register, Textfeld, Umschaltfläche, Objektfeld) in einem Formular.
OnMouseDown	Formulare. Formularbereiche.Steuerelemente (gebundenes Objektfeld, Diagramm, Kontrollkästchen, Kombinationsfeld, Befehlsschaltfläche, Bild, Bezeichnungsfeld, Listenfeld, Optionsfeld, Optionsgruppe, Rechteck, Register, Textfeld, Umschaltfläche, Objektfeld) in einem Formular.
OnMouseMove	Formulare. Formularbereiche. Steuerelemente (gebundenes Objektfeld, Diagramm, Kontrollkästchen, Kombinationsfeld, Befehlsschaltfläche, Bild, Bezeichnungsfeld, Listenfeld, Optionsfeld, Optionsgruppe, Rechteck, Register, Textfeld, Umschaltfläche, Objektfeld) in einem Formular.
OnMouseUp	Formulare. Formularbereiche. Steuerelemente (gebundenes Objektfeld, Diagramm, Kontrollkästchen, Kombinationsfeld, Befehlsschaltfläche, Bezeichnungsfeld, Listenfeld, Optionsfeld, Optionsgruppe, Rechteck, Register, Textfeld, Umschaltfläche, Objektfeld) in einem Formular.
OnNoData	Berichte.
OnNotInList	Steuerelemente (Kombinationsfeld) in einem Formular.
OnOpen	Formulare und Berichte.
OnPage	Berichte.
OnPrint	Berichtsbereiche.
OnResize	Formulare.
OnRetreat	Berichtsbereiche.
OnTimer	Formulare.
OnUnload	Formulare.
OnUpdated	Steuerelemente (ActiveX, gebundenes Objektfeld, Objektfeld) in einem Formular.
* Diese Eigenschaften gelten nicht für Kontrollkästchen, Optionsfelder oder Umschaltflächen in einer Optionsgruppe. Sie gelten dann nur für die Optionsgruppe selbst.


Filter-Eigenschaft (Filter) (Microsoft Access)

Mit der Eigenschaft Filter können Sie eine Teilmenge von Datensätzen angeben, die angezeigt werden soll, wenn ein Filter auf ein Formular, eine Abfrage oder eine Tabelle angewendet wird.

Einstellung

Die Eigenschaft Filter ist ein Zeichenfolgenausdruck und besteht aus einer Klausel WHERE ohne das Schlüsselwort WHERE. Der folgende Visual Basic-Code z.B. definiert und wendet einen Filter an, der nur Kunden aus den USA anzeigt:

Me.Filter = "Land = 'USA'"

Me.FilterOn = True

Sie können die Eigenschaft Filter im Eigenschaftenfenster einer Tabelle oder eines Formulars, in einem Makro oder in Visual Basic einstellen.

Sie können diese Eigenschaft auch in der Formularansicht oder der Datenblattansicht einstellen, indem Sie im Menü Datensätze auf Filter zeigen und dann im Untermenü auf einen geeigneten Befehl klicken.

Anmerkung   Das Einstellen der Eigenschaft Filter hat keine Auswirkungen auf die DAO-Eigenschaft Filter.

Hinweis

Mit Hilfe der Eigenschaft Filter können Sie einen Filter speichern und zu einem späteren Zeitpunkt anwenden. Filter werden mit den Objekten gespeichert, in denen sie erstellt wurden. Sie werden zwar automatisch geladen, wenn das Objekt geöffnet wird, aber werden nicht automatisch angewendet.

Wenn ein neues Objekt erstellt wird, erbt es von der Tabelle oder Abfrage, auf deren Basis es erstellt wurde, die Eigenschaften RecordSource, Filter, OrderBy und OrderByOn.

Wenn Sie einen gespeicherten Filter auf ein Formular, eine Abfrage oder eine Tabelle anwenden möchten, können Sie in der Symbolleiste auf Filter/Sortierung anwenden  [image]  klicken, im Menü Datensätze auf Filter/Sortierung anwenden klicken oder mit einem Makro oder Visual Basic die Eigenschaft FilterOn auf True (-1) einstellen. Auf Berichte können Sie einen Filter anwenden, indem Sie im Eigenschaftenfenster des Berichts die Eigenschaft FilterOn auf Ja einstellen.

Die Schaltfläche Filter/Sortierung anwenden zeigt den Status der Eigenschaften Filter und FilterOn an. Die Schaltfläche ist deaktiviert, solange es keinen Filter gibt, der angewendet werden kann. Ist bereits ein vorhandener Filter angewendet, wird die Schaltfläche Filter/Sortierung anwenden im gedrückten Zustand angezeigt.

Wenn Sie einen Filter automatisch beim Öffnen eines Formulars anwenden möchten, geben Sie in der Einstellung der Ereigniseigenschaft OnOpen des Formulars entweder ein Makro an, das die Aktion AnwendenFilter verwendet, oder eine Ereignisprozedur, die die Methode ApplyFilter des Objekts DoCmd verwendet.

Sie entfernen einen Filter, indem Sie auf die gedrückte Schaltfläche Filter/Sortierung anwenden klicken, im Menü Datensätze auf Filter/Sortierung entfernen klicken, oder indem Sie mit Visual Basic die Eigenschaft FilterOn auf False (0) einstellen.

Anmerkung   Sie können einen Filter als Abfrage speichern, indem Sie im Menü Datei auf Als Abfrage speichern klicken, während Sie sich im Fenster Formularbasierter Filter oder Spezialfilter/-sortierung befinden.

Wenn die Eigenschaft Filter in der Entwurfsansicht für Formulare eingestellt wird, versucht Microsoft Access nicht, den SQL-Ausdruck zu bestätigen. Ist der SQL-Ausdruck ungültig, so tritt beim Anwenden des Filters ein Fehler auf.


FilterLookup-Eigenschaft (FilterAnwenden)

Mit der Eigenschaft FilterLookup können Sie angeben, ob Werte in einem gebundenen Textfeld-Steuerelement angezeigt werden, wenn Sie mit dem Fenster Formularbasierter Filter arbeiten.

Einstellung

Die Eigenschaft FilterLookup verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Nie	Die Feldwerte werden nicht angezeigt. Sie können angeben, ob die gefilterten Datensätze Null-Werte enthalten dürfen.	0
Datenbankstandard	(Voreinstellung) Die Feldwerte werden angezeigt entsprechend den Einstellungen im Dialogfeld Optionen in der Registerkarte Bearbeiten/Suchen unter Standards für formularbasierte Filter. Sie öffnen dieses Dialogfeld, indem Sie im Menü Extras auf Optionen klicken.	1
Immer	Die Feldwerte werden immer angezeigt.	2
Sie können die Eigenschaft FilterLookup im Eigenschaftenfenster des Textfelds, in einem Makro oder in Visual Basic einstellen.

Sie können die Voreinstellung für diese Eigenschaft mit den Standardeigenschafteneinstellungen des Steuerelements oder der Methode DefaultControl in Visual Basic einstellen.

Hinweis

Wenn Sie die Feldarten, die angezeigt werden sollen, begrenzen möchten, deaktivieren Sie im Dialogfeld Optionen in der Registerkarte Bearbeiten/Suchen unter Standard für formularbasierte Filter das entsprechende Kontrollkästchen. Sie öffnen das Dialogfeld, indem Sie im Menü Extras auf Optionen klicken. Wenn keine Feldlisten angezeigt werden, geben Sie im Feld Keine Liste anzeigen, wenn mehr als diese Anzahl Zeilen gelesen wird eine Zahl an, die größer oder gleich der maximalen Anzahl von Datensätzen in den Feldern der zugrundeliegenden Datenherkunft ist.


FilterOn-Eigenschaft (FilterAktiv)

Mit der Eigenschaft FilterOn können Sie angeben oder ermitteln, ob die Eigenschaft Filter für ein Formular oder einen Bericht angewendet wird.

Einstellung

Die Eigenschaft FilterOn verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Ja	Die Eigenschaft Filter des Objekts wird angewendet.	True (-1)
Nein	(Voreinstellung) Die Eigenschaft Filter des Objekts wird nicht angewendet.	False (0)
Für Berichte können Sie die Eigenschaft FilterOn im Eigenschaftenfenster des Berichts oder mit Visual Basic einstellen.

Für Formulare können Sie die Eigenschaft FilterOn in einem Makro oder in Visual Basic einstellen. Sie können diese Eigenschaft auch einstellen, indem Sie in der Formularansichts-Symbolleiste oder in der Filter-/Sortier-Symbolleiste auf Filter/Sortierung anwenden  [image]  klicken.

Hinweis

Sie wenden einen gespeicherten Filter an, indem Sie auf die Schaltfläche Filter/Sortierung anwenden (für Formulare) klicken, oder indem Sie mit einem Makro oder Visual Basic die Eigenschaft FilterOn für Formulare und Berichte auf True einstellen. Für einen Bericht können Sie die Eigenschaft FilterOn im Eigenschaftenfenster des Berichts auf Ja einstellen.

Die Schaltfläche Filter/Sortierung anwenden zeigt den Status der Eigenschaften Filter und FilterOn an. Die Schaltfläche ist solange deaktiviert, bis ein Filter vorhanden ist, der angewendet werden kann. Wird momentan ein vorhandener Filter angewendet, wird die Schaltfläche in gedrücktem Zustand dargestellt. Wenn ein Filter beim Öffnen eines Formulars oder Berichts automatisch angewendet werden soll, geben Sie in der Ereigniseigenschaft OnOpen des Formulars entweder ein Makro an, das die Aktion AnwendenFilter verwendet, oder eine Ereignisprozedur, die die Methode ApplyFilter des Objekts DoCmd verwendet.

Sie entfernen einen Filter, indem Sie auf die gedrückte Schaltfläche Filter/Sortierung anwenden klicken, im Menü Datensätze auf Filter/Sortierung entfernen klicken oder mit Hilfe von Visual Basic die Eigenschaft FilterOn auf False einstellen. Sie entfernen einen Filter für Berichte, indem Sie die Eigenschaft FilterOn im Eigenschaftenfenster des Berichts auf Nein einstellen.

Anmerkung   Wenn ein neues Objekt erstellt wird, erbt es von der Tabelle oder Abfrage, auf deren Basis es erstellt wurde, die Eigenschaften RecordSource, Filter, OrderBy und OrderByOn. Bei Formularen und Berichten werden geerbte Filter nicht automatisch angewendet, wenn ein Objekt geöffnet wird.


OrderBy-Eigenschaft (SortiertNach)

Mit der Eigenschaft OrderBy können Sie angeben, wie Datensätze in einem Formular, einer Abfrage, einem Bericht oder einer Tabelle sortiert werden sollen.

Einstellung

Die Eigenschaft OrderBy ist ein Zeichenfolgenausdruck, der den Namen des Feldes oder der Felder angibt, nach dem oder denen die Datensätze sortiert werden sollen. Wenn Sie mehrere Feldnamen angeben, müssen Sie die Namen durch Semikolons (;) voneinander trennen.

Wenn Sie die Eigenschaft OrderBy durch das Eingeben eines oder mehrerer Feldnamen einstellen, sind die Datensätze in aufsteigender Reihenfolge sortiert. Auch in Visual Basic werden diese Felder standardmäßig in aufsteigender Reihenfolge sortiert.

Falls Sie Datensätze in absteigender Reihenfolge sortieren möchten, geben Sie DESC am Ende des Zeichenfolgenausdrucks ein. Sie ordnen z.B. Kundendatensätze in absteigender Reihenfolge nach dem Namen der Kontaktperson, indem Sie die Eigenschaft OrderBy auf Kontaktperson DESC einstellen.

Sie können die Eigenschaft OrderBy im Eigenschaftenfenster des Objekts, in einem Makro oder in Visual Basic einstellen.

Hinweis

Für Berichte muß die Eigenschaft OrderByOn auf Ja eingestellt werden, damit die Sortierreihenfolge angewendet wird, die in der Eigenschaft OrderBy des Objekts angegeben ist. Bei Formularen wählen Sie das Feld aus, nach dem die Datensätze sortiert werden sollen, und klicken Sie in der Symbolleiste auf die entsprechende Sortieren-Schaltfläche, oder zeigen Sie im Menü Datensätze auf Sortierung, und klicken Sie dann im Untermenü auf den entsprechenden Befehl. Sie können die Eigenschaft OrderByOn für Formulare und für Berichte auch in Visual Basic einstellen.

Durch das Einstellen der OrderBy-Eigenschaft für einen geöffneten Bericht werden die Close- und Open-Ereignisprozeduren des Berichts ausgeführt.

Anmerkung   Wenn ein neues Objekt erstellt wird, erbt es von der Tabelle oder Abfrage, auf deren Basis es erstellt wurde, die Eigenschaften RecordSource, Filter, OrderBy und OrderByOn. Bei Formularen und Berichten werden geerbte Filter nicht automatisch angewendet, wenn ein Objekt geöffnet wird.


OrderByOn-Eigenschaft (SortierungAktiv)

Mit der Eigenschaft OrderByOn können Sie angeben, ob die Einstellung der Eigenschaft OrderBy eines Objekts angewendet wird.

Einstellung

Die Eigenschaft OrderByOn verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Ja	(Voreinstellung) Die Einstellung der Eigenschaft OrderBy wird angewendet, wenn das Objekt geöffnet wird.	True (-1)
Nein	Die Einstellung der Eigenschaft OrderBy wird nicht angewendet, wenn das Objekt geöffnet wird.	False (0)
Für Berichte können Sie die Eigenschaft OrderByOn im Eigenschaftenfenster des Berichts, in einem Makro oder in Visual Basic einstellen.

Für alle anderen Objekte können Sie die Eigenschaft OrderByOn einstellen, indem Sie in der Symbolleiste auf eine der Schaltflächen zum Sortieren klicken oder Visual Basic verwenden.

Hinweis

Wenn ein neues Objekt erstellt wird, erbt es von der Tabelle oder Abfrage, auf deren Basis es erstellt wurde, die Eigenschaften RecordSource, Filter, OrderBy, OrderByOn und FilterOn.


AllowFilters-Eigenschaft (FilterZulassen)

Mit der Eigenschaft AllowFilters können Sie angeben, ob Datensätze in einem Formular gefiltert werden können.

Einstellung

Die Eigenschaft AllowFilters verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Ja	(Standardeinstellung) Datensätze können gefiltert werden.	True (–1)
Nein	Datensätze können nicht gefiltert werden.	False (0)
Sie können die Eigenschaft AllowFilters im Eigenschaftenfenster des Formulars, in einem Makro oder in Visual Basic einstellen.

Hinweis

Filter werden normalerweise verwendet, um eine temporäre Teilmenge der Datensätze in einer Datenbank anzuzeigen. Durch Verwenden des Filters wenden Sie Kriterien an, um nur solche Datensätze anzuzeigen, die diese Kriterien erfüllen. Beispielsweise können Sie in einer Tabelle Personal einen Filter verwenden, um nur Datensätze zu den Angestellten anzuzeigen, die länger als 5 Jahre im Betrieb beschäftigt sind. Sie können einen Filter auch verwenden, um den Zugriff auf Datensätze mit vertraulichen Informationen, wie z.B. Gehaltsangaben oder medizinische Daten, einzuschränken.

Wenn die Eigenschaft AllowFilters auf Nein eingestellt ist, sind alle Filteroptionen im Menü Datensätze, das Kontextmenü des Formulars und die Format-Symbolleiste (Formular/Bericht) deaktiviert. Dies betrifft die folgenden Befehle und Schaltflächen:

•	Die Befehle Filter, Filter/Sortierung anwenden und Filter/Sortierung entfernen.

•	Die Befehle Formularbasierter Filter, Filter/Sortierung anwenden und Filter/Sortierung entfernen im Kontextmenü des Formulars.

•	Die entsprechenden Schaltflächen Auswahlbasierter Filter  [image], Formularbasierter Filter  [image] und Filter anwenden / Filter entfernen  [image].

Anmerkung   Das Einstellen der Eigenschaft AllowFilters auf Nein wirkt sich auf die Eigenschaften Filter und FilterOn nicht aus. Sie können diese Eigenschaften weiter zum Einstellen und Entfernen von Filtern verwenden.

Aktionen	Methoden
AnwendenFilter	ApplyFilter
ÖffnenFormlular	OpenForm
AnzeigenAlle Datensätze	ShowAllRecords


AllowFilters-Eigenschaft (FilterZulassen) - Beispiel

Das folgende Beispiel zeigt eine Funktion, welche die Eigenschaft AllowFilters eines Formulars ein- und ausschaltet.

Function FilterZulassenUmschalten() As Integer

Forms!Kunden.AllowFilters = Not Forms!Kunden.AllowFilters

End Function


ControlBox-Eigenschaft (MitSystemmenüfeld)

Mit der Eigenschaft ControlBox können Sie angeben, ob ein Formular in der Formularansicht und in der Datenblattansicht über ein Systemmenü verfügt.

Einstellung

Die Eigenschaft ControlBox verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Ja	(Standardeinstellung) Das Formular verfügt in der Formular- und Datenblattansicht über ein Systemmenü.	True (-1)
Nein	Das Formular verfügt in der Formular- und Datenblattansicht über kein Systemmenü.	False (0)
Anmerkung   Das Einstellen der Eigenschaft ControlBox auf Nein entfernt die Minimieren-, Maximieren- und Schließen-Schaltflächen in einem Formular.

Sie können die Eigenschaft ControlBox im Eigenschaftenfenster des Formulars, in einem Makro oder in Visual Basic einstellen.

Sie können diese Eigenschaft nur in der Formular-Entwurfsansicht einstellen.

Hinweis

Zur Anzeige eines Systemmenüs in einem Formular muß die Eigenschaft ControlBox auf Ja und die Eigenschaft BorderStyle des Formulars auf Dünn, Veränderbar oder Dialog eingestellt sein.

Auch wenn die Eigenschaft ControlBox eines Formulars auf Nein eingestellt ist, verfügt das Formular stets über ein Systemmenü, wenn es in der Entwurfsansicht geöffnet wird.

Das Einstellen der Eigenschaft ControlBox auf Nein unterbindet die Anzeige des Systemmenüs in folgenden Fällen:

•	Beim Öffnen des Formulars in der Formularansicht aus dem Datenbankfenster.

•	Beim Öffnen des Formulars aus einem Makro.

•	Beim Öffnen des Formulars in Visual Basic.

•	Beim Öffnen des Formulars in der Datenblattansicht.

•	Beim Wechseln aus der Entwurfsansicht zur Formular- oder Datenblattansicht.


ControlBox-Eigenschaft (MitSystemmenüfeld) - Beispiel

Dieses Beispiel stellt die Eigenschaft ControlBox im Formular Warnung auf False (0) ein.

Forms!Warnung.ControlBox = False


DisplayWhen-Eigenschaft (Anzeigen)

Mit der Eigenschaft DisplayWhen können Sie angeben, welche Bereiche oder Steuerelemente eines Formulars auf dem Bildschirm angezeigt oder gedruckt werden sollen.

Anmerkung   Die Eigenschaft DisplayWhen gilt nur für die folgenden Formularbereiche: Detail, Formularkopf und Formularfuß. Sie gilt auch für alle Steuerelemente (außer Seitenumbruch) in einem Formular.

Einstellung

Die Eigenschaft DisplayWhen verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Immer	(Standardeinstellung) Das Objekt wird in der Formularansicht und im Ausdruck angezeigt.	0
Nur beim Drucken	Das Objekt wird in der Formularansicht ausgeblendet, erscheint jedoch im Ausdruck.	1
Nur am Bildschirm	Das Objekt wird in der Formularansicht angezeigt, jedoch nicht im Ausdruck.	2
Sie können die Eigenschaft DisplayWhen im Eigenschaftenfenster des Objekts, in einem Makro oder in Visual Basic einstellen.

Für Steuerelemente können Sie die Standardeinstellung dieser Eigenschaft mit Hilfe der Standardeigenschafteneinstellungen oder in Visual Basic mit der Methode DefaultControl einstellen.

Hinweis

In vielen Fällen erweisen sich bestimmte Steuerelemente nur in der Formularansicht als hilfreich. Damit Microsoft Access diese Steuerelemente nicht ausdruckt, können Sie deren Eigenschaft DisplayWhen auf Nur am Bildschirm einstellen. Beispielsweise kann ein Formular eine Befehlsschaltfläche oder Anweisungen enthalten, die Sie nicht drucken möchten, oder es gibt Formularkopf- und Formularfuß-Bereiche, die nicht am Bildschirm angezeigt, jedoch gedruckt werden sollen. Stellen Sie in diesem Fall die Eigenschaft DisplayWhen auf Nur beim Drucken ein.

Tip   Verwenden Sie für Berichte die Ereignisse Format und Retreat, um eine Ereignisprozedur oder ein Makro anzugeben, die/das die Eigenschaft Visible derjenigen Steuerelemente einstellt, die nicht gedruckt werden sollen. Weiterhin können Sie für einen Berichtsbereich die Ereignisse Format oder Print abbrechen, damit dieser Bereich nicht gedruckt wird.


LayoutForPrint-Eigenschaft (Drucklayout)

Mit der Eigenschaft LayoutForPrint können Sie angeben, ob das Formular oder der Bericht Drucker- oder Bildschirm-Schriftarten verwenden soll.

Einstellung

Die Eigenschaft LayoutForPrint verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Ja	(Standardeinstellung für Berichte) Verwenden von Druckerschriftarten.	True (–1)
Nein	(Standardeinstellung für Berichte) Verwenden von Bildschirmschriftarten.	False (0)
Sie können die Eigenschaft LayoutForPrint im Eigenschaftenfenster des Formulars, in einem Makro oder in Visual Basic einstellen.

Die Eigenschaft kann nur in der Formular-Entwurfsansicht und in der Berichts-Entwurfsansicht eingestellt werden.

Hinweis

Beim Wählen einer Schriftart in Microsoft Access wählen Sie entweder eine Bildschirmschriftart oder eine Druckerschriftart, abhängig von der Einstellung der Eigenschaft LayoutForPrint. Druckerschriftarten und Bildschirmschriftarten können jedoch voneinander abweichen, so daß die Zeichen auf dem Bildschirm nicht immer genau mit den gedruckten Zeichen übereinstimmen.

Tip   Wenn Sie eine skalierbare Schriftart, z.B. eine TrueType-Schriftart, wählen, sind die Zeichen auf dem Bildschirm und auf der gedruckten Seite nahezu identisch.

Bildschirmschriftarten sind Abbilder von Buchstaben, Zahlen und Symbolen, die im System für die Bildschirmausgabe installiert werden. Wenn Sie einen Drucker installiert haben, sind unter Umständen automatisch zusätzliche Bildschirmschriftarten installiert worden.

Druckerschriftarten sind die Buchstaben, Zahlen und Symbole, die beim Drucken eines Berichts oder Formulars ausgegeben werden. Verfügbar sind diejenigen Schriftarten, die beim Einrichten des Druckers installiert wurden; sie sind druckerabhängig.

Wenn Sie ein Formular oder einen Bericht auf einem System mit einem anderen als dem von Ihnen eingerichteten Drucker erstellen, teilt Microsoft Access in einer Meldung mit, daß das Formular oder der Bericht für einen anderen Druckertyp erstellt worden ist. Drucken Sie das Formular oder den Bericht trotzdem, so verwendet der Drucker möglicherweise andere Schriftarten. Auch wenn Sie die Einstellung der Eigenschaft LayoutForPrint ändern, verwendet Microsoft Access möglicherweise anderes Schriftarten. Sie können beispielsweise ein Formular oder einen Bericht erstellen, für das bzw. den LayoutForPrint auf Nein eingestellt ist, und dann die Einstellung auf Ja ändern. Sie können die Schriftart für jedes Steuerelement erneut auswählen, um das Aussehen des Formulars oder des Berichts festzulegen.

Stellen Sie die Eigenschaft LayoutForPrint auf Ja ein, so zeigt die Format-Symbolleiste (Formular/Bericht) die verfügbaren Schriftarten und Punktgrößen für Ihren Drucker an.


MinMaxButtons-Eigenschaft (MinMaxSchaltflächen)

Mit der Eigenschaft MinMaxButtons können Sie angeben, ob die Maximieren- oder Minimieren-Schaltflächen in einem Formular sichtbar sein sollen.

Einstellung

Die Eigenschaft MinMaxButtons verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Keine	Das Formular verfügt nicht über die Maximieren- und Minimieren-Schaltflächen.	0
Min vorhanden	Nur die Minimieren-Schaltfläche ist verfügbar.	1
Max vorhanden	Nur die Maximieren-Schaltfläche ist verfügbar.	2
Beide vorhanden	(Standardeinstellung) Die Maximieren- und Minimieren-Schaltflächen sind beide verfügbar.	3
Sie können die Eigenschaft MinMaxButtons im Eigenschaftenfenster des Formulars, in einem Makro oder in Visual Basic einstellen.

Sie können diese Eigenschaft nur in der Formular-Entwurfsansicht einstellen.

Hinweis

Das Klicken auf die Maximieren-Schaltfläche eines Formulars vergrößert das Formular, so daß es das Microsoft Access-Fenster vollständig ausfüllt. Das Klicken auf die Minimieren-Schaltfläche eines Formulars verkleinert das Formular zu einer kleinen Titelleiste ganz unten im Microsoft Access-Fenster.

Damit die Maximieren- und Minimieren-Schaltflächen in einem Formular angezeigt werden, stellen Sie die Eigenschaft BorderStyle des Formulars auf Dünn oder Veränderbar und die Eigenschaft ControlBox auf Ja ein. Wenn Sie die Eigenschaft BorderStyle auf Keine oder Dialog oder die Eigenschaft ControlBox auf Nein einstellen, enthält das Formular weder die Maximieren- noch die Minimieren-Schaltfläche, unabhängig von der Einstellung der Eigenschaft MinMaxButtons.

Auch wenn die Eigenschaft MinMaxButtons auf Keine eingestellt ist, verfügt ein Formular in der Entwurfsansicht immer über die Maximieren- und Minimieren-Schaltflächen.

Ist die Eigenschaft MinMaxButtons eines Formulars auf Keine eingestellt, so sind die Befehle Maximieren und Minimieren im Systemmenü des Formulars nicht verfügbar.


MenuBar-Eigenschaft (Menüleiste)

Mit der Eigenschaft MenuBar können Sie angeben, welche Menüleiste für eine Datenbank, ein Formular oder einen Bericht verwendet wird.

Sie erstellen Menüleisten, indem Sie aus dem Menü Ansicht den Befehl Extras und dann den Befehl Anpassen verwenden. Weitere Informationen über das Erstellen von benutzerdefinierten Symbolleisten finden Sie unter Erstellen einer benutzerdefinierten Menüleiste für die aktuelle Datenbank.

Sie können mit der Eigenschaft MenuBar auch das Menüleistenmakro festlegen, das zum Anzeigen einer benutzerdefinierten Menüleiste für eine Datenbank, ein Formular oder einen Bericht verwendet wird.

Anmerkung   In früheren Versionen von Microsoft Access konnten Sie benutzerdefinierte Menüleisten erstellen, indem Sie die Eigenschaft MenuBar auf den Namen eines Menüleistenmakros einstellten. Anschließend konnten Makrogruppen erstellt werden, die die Befehle für die Menüs auf der betreffenden Menüleiste enthielten. Dieses Verfahren wird in Microsoft Access 97 weiterhin unterstützt. Es wird jedoch dringend empfohlen, benutzerdefinierte Menüleisten mit dem neuen Dialogfeld Anpassen zu erstellen, das im Menü Ansicht durch Klicken auf Extras ausgewählt werden kann.

Einstellung

Geben Sie den Namen der anzuzeigenden Menüleiste ein. Wenn Sie die Einstellung der Eigenschaft MenuBar leer lassen, zeigt Microsoft Access die eingebaute Menüleiste (Standard-Menüleiste) oder die globale Menüleiste der Anwendung an.

Wenn Sie die Eigenschaft MenuBar nicht auf den Namen einer bestehenden Menüleiste oder eines bestehenden Menüleistenmakros einstellen, hat das Formular bzw. der Bericht keine Menüleiste (die Standard-Menüleiste wird in diesem Fall nicht angezeigt).

Sie können die Eigenschaft MenuBar im Eigenschaftenfenster des Objekts, in einem Makro oder in Visual Basic einstellen.

Stellen Sie den Wert dieser Eigenschaft in Visual Basic unter Verwendung eines Zeichenfolgenausdrucks ein, der den Namen der anzuzeigenden Menüleiste angibt.

Um die eingebaute oder globale Menüleiste für eine Datenbank, ein Formular oder einen Bericht unter Verwendung eines Makros oder aus Visual Basic anzuzeigen, stellen Sie die Eigenschaft MenuBar auf eine leere Zeichenfolge (" ") ein.

Hinweis

Wenn Sie die Eigenschaft MenuBar für Formulare und Berichte verwenden, zeigt Microsoft Access die angegebene Menüleiste an, wenn das Formular oder der Bericht geöffnet wird. Diese Menüleiste wird immer dann angezeigt, wenn das Formular oder der Bericht über den Fokus verfügt.

Wird die Eigenschaft MenuBar mit dem Objekt Application verwendet, so können Sie eine benutzerdefinierte Menüleiste in der gesamten Datenbank anzeigen. Wenn Sie jedoch die Eigenschaft MenuBar für ein Formular oder einen Bericht in der Datenbank eingestellt haben, so wird die benutzerdefinierte Menüleiste dieses Formulars/Berichts anstelle der benutzerdefinierten Menüleiste der Datenbank angezeigt, sobald das Formular oder der Bericht über den Fokus verfügt. Gibt das Formular oder der Bericht den Fokus ab, so wird die benutzerdefinierte Menüleiste für die Datenbank angezeigt.

Anmerkung   Sie können zwischen der benutzerdefinierten Menüleiste einer Datenbank und der eingebauten Menüleiste durch Drücken von STRG+F11 wechseln.


MenuBar-Eigenschaft (Menüleiste) - Beispiel

Das folgende Beispiel stellt die Eigenschaft MenuBar auf ein Menüleistenmakro mit dem Namen Kundenmenü ein.

Forms![Kunden].MenuBar = "Kundenmenü"

Um die eingebaute Menüleiste für das Formular oder die globale Menüleiste der Anwendung anzuzeigen, stellen Sie die Eigenschaft MenuBar auf eine leere Zeichenfolge (" ") ein.

Forms![Kunden].MenuBar = ""


Modal-Eigenschaft (Gebunden)

Mit der Eigenschaft Modal können Sie angeben, ob ein Formular als gebundenes Formular geöffnet wird. Ist dies der Fall, schließen Sie das Formular, bevor Sie den Fokus auf ein anderes Objekt verschieben können.

Einstellung

Die Eigenschaft Modal verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Ja	Das Formular wird als gebundenes Formular in der Formularansicht geöffnet.	True (–1)
Nein	(Standardeinstellung) Das Formular wird als nicht gebundenes Formular in der Formularansicht geöffnet.	False (0)
Sie können die Eigenschaft Modal im Eigenschaftenfenster des Formulars, in einem Makro oder in Visual Basic einstellen.

Hinweis

Wenn Sie ein gebundenes Formular öffnen, sind alle anderen Fenster gesperrt, bis Sie das Formular schließen (das Wechseln zu Fenstern in anderen Anwendungen ist jedoch möglich). Um außer den anderen Fenstern auch Menüs und Symbolleisten zu sperren, stellen Sie die Eigenschaften Modal und PopUp des Formulars auf Ja ein.

Sie können die Eigenschaft BorderStyle zur Einstellung der Rahmenart eines Formulars verwenden. In der Regel ist die Eigenschaft BorderStyle von gebundenen Formularen auf Dialog eingestellt.

Tip   Sie können die Eigenschaften Modal, PopUp und BorderStyle zur Erstellung eines benutzerdefinierten Dialogfelds verwenden. Für benutzerdefinierte Dialogfelder stellen Sie die Eigenschaft Modal auf Ja, die Eigenschaft PopUp auf Ja und die Eigenschaft BorderStyle auf Dialog ein.

Das Einstellen der Eigenschaft Modal auf Ja bewirkt, daß das Formular nur in folgenden Fällen als gebunden behandelt wird:

•	Beim Öffnen des Formulars in der Formularansicht aus dem Datenbankfenster.

•	Beim Öffnen des Formulars in der Formularansicht mit einem Makro oder Visual Basic.

•	Beim Wechseln von der Entwurfsansicht zur Formularansicht.

In einem gebundenen Formular können Sie nicht von der Formularansicht zur Datenblattansicht wechseln. Sie können aber zur Entwurfsansicht und dann zur Formularansicht wechseln.

In der Entwurfsansicht und in der Datenblattansicht ist das Formular nicht gebunden. Dies gilt auch, wenn Sie von der Datenblattansicht zur Entwurfsansicht wechseln.

Anmerkung   Sie können die Einstellung Dialog des Arguments Fenstermodus der Aktion ÖffnenFormular verwenden, um ein Formular so zu öffnen, daß dessen Eigenschaften Modal und PopUp auf Ja eingestellt sind.


NavigationButtons-Eigenschaft (Navigationsschaltflächen)

Mit der Eigenschaft NavigationButtons können Sie angeben, ob Navigationsschaltflächen und ein Datensatznummernfeld in einem Formular angezeigt werden.

Einstellung

Die Eigenschaft NavigationButtons verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Ja	(Standardeinstellung) Das Formular verfügt über Navigationsschaltflächen und ein Datensatznummernfeld.	True (-1)
Nein	Das Formular verfügt weder über Navigationsschaltflächen noch über ein Datensatznummernfeld.	False (0)
Sie können die Eigenschaft NavigationButtons im Eigenschaftenfenster des Formulars, in einem Makro oder in Visual Basic einstellen.

Hinweis

Navigationsschaltflächen bieten die Möglichkeit, auf effiziente Weise zum ersten, vorigen, nächsten, letzten oder zu einem leeren (neuen) Datensatz zu gelangen. Das Datensatznummernfeld zeigt die Nummer des aktuellen Datensatzes an. Die Gesamtzahl der Datensätze wird unmittelbar neben den Navigationsschaltflächen angezeigt. Sie können im Datensatznummernfeld eine Zahl eingeben, um direkt zu einem bestimmten Datensatz zu gelangen.

Wenn Sie die Navigationsschaltflächen aus einem Formular entfernen und eigene Navigationshilfsmittel für das Formular erstellen möchten, können Sie benutzerdefinierte Navigationsschaltflächen erstellen und zum Formular hinzufügen. Weitere Informationen zum Erstellen von benutzerdefinierten Navigationsschaltflächen finden Sie unter Navigieren zwischen Steuerelementen, Datensätzen und Formularseiten mit Visual Basic.


ObjectPalette-Eigenschaft (Objektpalette)

Die Eigenschaft ObjectPalette gibt die Palette an, die in der Anwendung verwendet wurde, mit der folgendes Objekt erstellt wurde:

•	Ein OLE-Objekt das in einem gebundenen Objektfeld, einem Diagramm oder einem Objektfeld enthalten ist.

•	Eine Bitmap oder eine andere Grafik, die mit Hilfe der Eigenschaft Picture in eine Befehlsschaltfläche, ein Bild-Steuerelement oder eine Umschaltfläche geladen wird.

Einstellung

Microsoft Access stellt die Eigenschaft ObjectPalette auf einen Wert des Typs String ein, der die Paletteninformationen enthält. Diesen Wert können Sie verwenden, um die Eigenschaft PaintPalette eines Formulars oder Berichts einzustellen.

Für die folgenden Objekte, Ansichten und Steuerelemente ist die Einstellung der Eigenschaft ObjectPalette schreibgeschützt. In den anderen Ansichten steht die Einstellung dieser Eigenschaft für diese Steuerelemente nicht zur Verfügung.

Objekt	Ansicht	Steuerelement
Formulare	Entwurfsansicht eines Formulars und Formularansicht	Befehlsschaltfläche, Diagramm, Bild-Steuerelement, Umschaltfläche und Objektfeld
	Formularansicht	Gebundenes Objektfeld
Reports	Entwurfsansicht eines Berichts	Befehlsschaltfläche, Diagramm, Bild-Steuerelement Umschaltfläche und Objektfeld. Die Einstellung dieser Eigenschaft ist für ein gebundenes Objektfeld eines Berichts in keiner Ansicht verfügbar.
Sie können die Einstellung dieser Eigenschaft nur in einem Makro oder in Visual Basic verwenden.

Ist für die Anwendung, die dem OLE-Objekt, der Bitmap oder der Grafik anderen Typs zugeordnet ist, keine Palette festgelegt, wird die Eigenschaft ObjectPalette auf eine leere Zeichenfolge eingestellt.

Hinweis

Die Einstellung der Eigenschaft ObjectPalette macht die Palette der mit dem OLE-Objekt, der Bitmap oder der Grafik anderen Typs verbundenen Anwendung für die Eigenschaft PaintPalette eines Formulars oder eines Berichts verfügbar. Damit z.B. die in Microsoft Graph verwendete Palette verfügbar ist, wenn Sie ein Formular in Microsoft Access erstellen, stellen Sie die Eigenschaft PaintPalette des Formulars auf den Wert der Eigenschaft ObjectPalette eines existierenden Diagramm-Steuerelements ein.

Anmerkung   Microsoft Windows kann nur jeweils eine aktive Palette verwenden. Sie können in Microsoft Access mehrere Grafiken in einem Formular verwalten, die alle eine andere Farbpalette verwenden. Mit Hilfe der Eigenschaften PaintPalette und PaletteSource geben Sie an, welche Farbpalette ein Formular bei der Anzeige von Grafiken verwenden soll.


ObjectPalette-, PaintPalette-Eigenschaft (Objektpalette, Farbpalette) - Beispiel

Das folgende Beispiel stellt die Eigenschaft PaintPalette des Formulars Wasser auf die Eigenschaft ObjectPalette des Steuerelements Ozean des Formulars BilderAnzeigen ein. (Ozean kann ein gebundenes Objektfeld, eine Befehlsschaltfläche, ein Diagramm, eine Umschaltfläche oder ein Objektfeld sein.)

Forms!Wasser.PaintPalette = Forms!BilderAnzeigen!Ozean.ObjectPalette

Mit Hilfe der Eigenschaften ObjectPalette und PaintPalette kann die Farbpalette, die von einem geöffneten Formular verwendet wird, zur Laufzeit aus dem Programm geändert werden. Diese Eigenschaften werden häufig verwendet, um die Eigenschaft PaintPalette des aktuellen Formulars auf die Farbpalette einer Grafik einzustellen, die in dem Steuerelement angezeigt wird, das den Fokus hat.

Sie verwenden z.B. ein Formular mit einem Bild des Ozeans, das viele blaue Farbtöne enthält, sowie mit einem Bild des Sonnenuntergangs, das viele rote Farbtöne enthält. Da Microsoft Windows nur jeweils eine aktive Farbpalette unterstützt, wird ein Bild erheblich besser aussehen als das andere. Das folgende Beispiel verwendet das Ereignis Enter eines Steuerelements, um die Eigenschaft PaintPalette des Formulars auf die Eigenschaft ObjectPalette des Steuerelements einzustellen, so daß die Grafik, die den Fokus hat, optimal dargestellt wird.

Sub Ozeanbild_Enter()

Me.PaintPalette = Me!Ozeanbild.ObjectPalette

End Sub

Sub Sonnenuntergang_Enter()

Me.PaintPalette = Me!Sonnenuntergang.ObjectPalette

End Sub


PaintPalette-Eigenschaft (Farbpalette)

Mit der Eigenschaft PaintPalette können Sie die Palette angeben, die für ein Formular oder einen Bericht verwendet werden soll.

Einstellung

Sie können die Eigenschaft PaintPalette in einem Makro oder in Visual Basic einstellen. Diese Eigenschaft muß auf einen Wert des Datentyps String eingestellt sein, der die Paletteninformationen enthält.

Sie können die Eigenschaft PaintPalette einstellen, indem Sie ihr in einem Makro oder in Visual Basic den Wert der Eigenschaft ObjectPalette zuweisen, indem Sie die Eigenschaft PaletteSource einstellen (in diesem Fall stellt Microsoft Access die Eigenschaft PaintPalette automatisch auf den Wert von PaletteSource ein) oder indem Sie die Eigenschaft PaintPalette eines Formulars oder Berichts auf die Eigenschaft PaintPalette eines anderen Formulars oder Berichts einstellen.

Bei einem Formular können Sie die Eigenschaft PaintPalette in der Formular-Entwurfsansicht und der Formularansicht einstellen.

Bei einem Bericht können Sie die Eigenschaft PaintPalette nur in der Berichts-Entwurfsansicht einstellen.

Hinweis

Wenn Sie die Eigenschaft PaintPalette einstellen, legt Microsoft Access eine Kopie der von Ihnen angegebenen Palette an und speichert diese zusammen mit dem Formular oder Bericht. Die Palette ist dann verfügbar, wenn Sie das Formular oder den Bericht verändern.

Änderungen an der Palette, die Sie beim Einstellen der Eigenschaft PaintPalette angegeben haben, haben keine Auswirkungen auf die mit dem Formular oder dem Bericht gespeicherte Kopie der Palette. Möchten Sie diese Kopie der Palette aktualisieren, so müssen Sie den Code oder das Makro zum Einstellen der Eigenschaft PaintPalette erneut ausführen oder die Eigenschaft PaletteSource zurücksetzen, während das Formular oder der Bericht geöffnet ist.

Wenn Sie die Eigenschaft PaintPalette für ein Formular oder einen Bericht einstellen, aktualisiert Microsoft Access automatisch die zugehörige Eigenschaft PaletteSource. Analog dazu wird die Eigenschaft PaintPalette aktualisiert, wenn Sie die Eigenschaft PaletteSource für ein Formular oder einen Bericht einstellen. Wenn Sie z.B. eine benutzerdefinierte Palette mit Hilfe der Eigenschaft PaintPalette angeben, wird die Einstellung der Eigenschaft PaletteSource in (Benutzerdefiniert) geändert. Mit der Eigenschaft PaintPalette (die nur in einem Makro oder in Visual Basic verfügbar ist) wird die Palette des Formulars oder Berichts eingestellt. Die Eigenschaft PaletteSource ermöglicht es Ihnen, die Palette für das Formular oder den Bericht im Eigenschaftenfenster anzugeben, indem Sie eine vorhandene Grafikdatei verwenden.

Anmerkung   Unter Microsoft Windows kann nur jeweils eine Farbpalette aktiv sein. Microsoft Access ermöglicht Ihnen, mehrere Grafiken in einem Formular zu verwalten, die jeweils eine andere Farbpalette haben. Mit den Eigenschaften PaintPalette und PaletteSource können Sie angeben, welche Farbpalette ein Formular beim Anzeigen von Grafiken verwenden soll.

Mit der Eigenschaft ObjectPalette können Sie die Palette einer Anwendung, die einem OLE-Objekt, einer Bitmap oder einer sonstigen, in einem Steuerelement eines Formulars oder Berichts enthaltenen Grafik zugeordnet ist, für die Eigenschaft PaintPalette verfügbar machen. Wenn Sie z.B. in Microsoft Access ein Formular erstellen und dafür die Palette zur Verfügung stellen möchten, die in Microsoft Graph verwendet wird, stellen Sie die Eigenschaft PaintPalette des Formulars auf den Wert der Eigenschaft ObjectPalette eines vorhandenen Diagramm-Steuerelements ein.


PaletteSource-Eigenschaft (Palettenherkunft)

Mit der Eigenschaft PaletteSource können Sie die Palette für ein Formular oder einen Bericht angeben.

Einstellung

Geben Sie den Pfad und Dateinamen eines der folgenden Dateitypen ein:

•	.DIB (Datei mit geräteunabhängiger Bitmap)

•	.PAL (Microsoft Windows-Palettendatei)

•	.ICO (Microsoft Windows-Symboldatei)

•	.BMP (Microsoft Windows Bitmap-Datei)

•	.WMF- oder .EMF-Datei oder sonstige Grafikdatei, für die Sie einen Grafikfilter haben

Die Standardeinstellung ist (Standard), d.h., die in Microsoft Access enthaltene Palette wird verwendet. Ändern Sie diese Einstellung durch Eingabe eines Pfades und Dateinamens, so zeigt die Eigenschafteneinstellung das Wort (Benutzerdefiniert) an.

Sie können diese Eigenschaft im Eigenschaftenfenster eines Formulars oder Berichts, in einem Makro oder in Visual Basic einstellen.

Bei einem Formular können Sie die Eigenschaft PaletteSource in der Formular-Entwurfsansicht und in der Formularansicht einstellen. In den anderen Ansichten steht die Einstellung dieser Eigenschaft nicht zur Verfügung.

Bei einem Bericht können Sie die Eigenschaft PaletteSource nur in der Berichts-Entwurfsansicht einstellen. In den anderen Ansichten steht die Einstellung dieser Eigenschaft nicht zur Verfügung.

Hinweis

Unter Microsoft Windows kann nur jeweils eine Farbpalette aktiv sein. Mit Microsoft Access können Sie mehrere Grafiken in einem Formular verwalten, die jeweils eine andere Farbpalette haben. Mit den Eigenschaften PaletteSource und PaintPalette geben Sie an, welche Farbpalette ein Formular für das Anzeigen von Grafiken verwenden soll.

Wenn Sie die Eigenschaft PaletteSource für ein Formular oder einen Bericht einstellen, aktualisiert Microsoft Access automatisch die zugehörige Eigenschaft PaintPalette. Analog dazu wird die Eigenschaft PaletteSource aktualisiert, wenn Sie die Eigenschaft PaintPalette für ein Formular oder einen Bericht einstellen. Wenn Sie z.B. eine benutzerdefinierte Palette mit Hilfe der Eigenschaft PaintPalette angeben, wird die Einstellung der Eigenschaft PaletteSource in (Benutzerdefiniert) geändert. Mit der Eigenschaft PaintPalette (die nur in einem Makro oder in Visual Basic verfügbar ist) wird die Palette des Formulars oder Berichts eingestellt. Die Eigenschaft PaletteSource ermöglicht es Ihnen, die Palette für das Formular oder den Bericht im Eigenschaftenfenster anzugeben, indem Sie eine vorhandene Grafikdatei verwenden.


PopUp-Eigenschaft

Mit der Eigenschaft PopUp können Sie angeben, ob ein Formular als ein Popup-Formular geöffnet wird. Sie stellen z.B. die Eigenschaft PopUp eines Formulars auf Ja, dessen Eigenschaft Modal auf Ja und dessen Eigenschaft BorderStyle auf Dialog ein, um ein benutzerdefiniertes Dialogfeld zu erstellen.

Einstellung

Die Eigenschaft PopUp kann eine der folgenden Einstellungen annehmen.

Einstellung	Beschreibung	Visual Basic
Ja	Das Formular wird als ein Popup-Formular in der Formularansicht geöffnet. Es wird vor allen anderen Microsoft Access-Fenstern angezeigt.	True (-1)
Nein	(Standardeinstellung) Das Formular ist kein Popup-Formular.	False (0)
Sie können diese Eigenschaft im Eigenschaftenfenster des Formulars, in einem Makro oder in Visual Basic einstellen.

Die Eigenschaft PopUp kann nur in der Entwurfsansicht eines Formulars eingestellt werden.

Hinweis

Geben Sie die gewünschte Rahmenart in einem Popup-Formular mit der Eigenschaft BorderStyle an. In der Regel stellen Sie die Eigenschaft BorderStyle für Popup-Formulare auf Dünn ein.

Tip   Mit den Eigenschaften PopUp, Modal und BorderStyle können Sie ein benutzerdefiniertes Dialogfeld erstellen, indem Sie die Eigenschaft Modal auf Ja, die Eigenschaft PopUp auf Ja und die Eigenschaft BorderStyle auf Dialog einstellen.

Das Einstellen der Eigenschaft PopUp auf Ja bewirkt die Darstellung des Formulars als Popup-Formular nur dann, wenn Sie einen der folgenden Schritte ausführen:

•	Öffnen des Formulars in der Formularansicht aus dem Datenbankfenster.

•	Öffnen des Formulars in der Formularansicht mit einem Makro oder Visual Basic.

•	Wechseln von der Entwurfsansicht in die Formularansicht.

Ist die Eigenschaft PopUp auf Ja eingestellt, können Sie aus der Formularansicht nicht zu anderen Ansichten wechseln, da die Symbolleiste des Formulars nicht verfügbar ist. (Sie können bei einem Popup-Formular nicht aus der Formularansicht in die Datenblattansicht wechseln, auch nicht in einem Makro oder in Visual Basic.) Sie müssen das Formular schließen und erneut in der Entwurfsansicht oder Datenblattansicht öffnen.

Das Formular ist weder in der Entwurfsansicht noch in der Datenblattansicht, noch dann ein Popup-Formular, wenn Sie von der Datenblattansicht in die Formularansicht wechseln.

Anmerkung   Sie können die Einstellung Dialog des Arguments Fenstermodus der Aktion ÖffnenFormular zum Öffnen eines Formulars verwenden, dessen Eigenschaften PopUp und Modal auf Ja eingestellt sind.

Tip   Wenn Sie in Microsoft Access ein Fenster maximieren, werden alle anderen Fenster ebenfalls maximiert, wenn Sie diese öffnen oder zu diesen wechseln. Popup-Formulare werden dagegen nicht maximiert. Wenn Sie möchten, daß ein Formular auch dann seine Größe behält, wenn andere Fenster maximiert sind, stellen Sie die Eigenschaft PopUp des Formulars auf Ja ein.


ShortcutMenu-Eigenschaft (Kontextmenü)

Mit der Eigenschaft ShortcutMenu können Sie angeben, ob ein Kontextmenü angezeigt wird, wenn Sie mit der rechten Maustaste auf ein Objekt eines Formulars klicken. Sie können z.B. die Anzeige eines Kontextmenüs deaktivieren, um den Benutzer daran zu hindern, Daten in der dem Formular zugrundeliegenden Datenherkunft zu ändern, indem er einen der Filterbefehle aus dem Kontextmenü des Formulars verwendet.

Einstellung

Die Eigenschaft ShortcutMenu kann eine der folgenden Einstellungen annehmen.

Einstellung	Beschreibung	Visual Basic
Ja	(Standardeinstellung) Kontextmenüs werden angezeigt.	True (-1)
Nein	Kontextmenüs werden nicht angezeigt.	False (0)
Sie können diese Eigenschaft im Eigenschaftenfenster des Formulars, in einem Makro oder in Visual Basic einstellen.

Hinweis

Diese Eigenschaft steuert die Anzeige der Kontextmenüs eines Formulars sowie der Kontextmenüs aller Steuerelemente des Formulars. Wenn die Eigenschaft ShortcutMenu auf Nein eingestellt ist, werden keine Kontextmenüs angezeigt, wenn Sie mit der rechten Maustaste auf ein Formular oder eines seiner Steuerelemente klicken.

Wenn Sie einen Assistenten entwickeln, blenden Sie ggf. die Kontextmenüs in Ihren Assistentenformularen aus, um die Benutzer an der Anzeige oder Verwendung zu hindern. Dies trifft besonders auf Formulare zu, die Auswahlmöglichkeiten anbieten. Die Eigenschaft ShortcutMenu ist z.B. für das Formular Start in der Beispieldatenbank Nordwind auf Nein eingestellt. Dies hindert die Benutzer daran, Kontextmenüs für das Formular oder die Steuerelemente des Formulars anzuzeigen.


ShortcutMenu-Eigenschaft (Kontextmenü) - Beispiel

Das folgende Beispiel deaktiviert das Kontextmenü für das Formular Rechnung sowie für dessen Steuerelemente:

Forms!Rechnung.ShortcutMenu = False


TabIndex-Eigenschaft (Reihenfolgenposition)

Mit der Eigenschaft TabIndex können Sie die Position eines Steuerelements in der Reihenfolge der Steuerelemente eines Formulars angeben.

Anmerkung   Die Eigenschaft TabIndex betrifft nur die Steuerelemente eines Formulars, nicht die Steuerelemente eines Berichts.

Einstellung

Sie können die Eigenschaft TabIndex auf eine Ganzzahl einstellen, die die Position des Steuerelements innerhalb der Reihenfolge der Steuerelemente im Formular darstellt. Gültige Einstellungen liegen im Bereich von 0 für die erste Position bis zur Gesamtanzahl an Steuerelementen minus 1 für die letzte Position. Verfügt ein Formular z.B. über drei Steuerelemente, von denen jedes über die Eigenschaft TabIndex verfügt, so sind 0, 1 und 2 gültige Einstellungen für die Eigenschaft TabIndex.

Das Einstellen der Eigenschaft TabIndex auf eine Ganzzahl kleiner als 0 löst einen Fehler aus.

Sie können diese Eigenschaft im Eigenschaftenfenster eines Steuerelements, in einem Makro oder in Visual Basic einstellen.

Anmerkung   Sie können die Reihenfolge der Steuerelemente eines Formulars auch einstellen, indem Sie im Menü Ansicht auf den Befehl Aktiviereihenfolge klicken. Auch dadurch wird die Eigenschaft TabOrder der Steuerelemente eingestellt.

Hinweis

Standardmäßig weist Microsoft Access die Reihenfolge der Steuerelemente den Steuerelementen in der Reihenfolge zu, in der Sie sie in einem Formular erstellen. Ein neues Steuerelement erhält die letzte Position in der Reihenfolge der Steuerelemente. Wenn Sie die Einstellung der Eigenschaft TabIndex eines Steuerelements ändern, um die Reihenfolge der Steuerelemente anzupassen, legt Microsoft Access automatisch neue Einstellungen der Eigenschaft TabIndex für die anderen Steuerelemente fest, um eingefügte oder gelöschte Steuerelemente zu berücksichtigen.

In der Formularansicht verbleiben unsichtbare oder deaktivierte Steuerelemente in der Reihenfolge der Steuerelemente, werden jedoch übersprungen, wenn Sie die TAB-TASTE drücken.

Das Verändern der Reihenfolge anderer Steuerelemente im Formular hat keine Auswirkungen, wenn Sie die Zugriffstaste eines Steuerelements drücken. Haben Sie z.B. eine Zugriffstaste für das Bezeichnungsfeld eines Textfelds erstellt, so wird der Fokus immer dann auf das Textfeld gesetzt, wenn Sie die Zugriffstaste des Bezeichnungsfelds drücken, auch bei geänderter Einstellung der Eigenschaft TabIndex für das Textfeld.

Wenn Sie eine Zugriffstaste für ein Steuerelement drücken, wie z.B. ein Bezeichnungsfeld, das nicht über die Eigenschaft TabIndex verfügt (und daher nicht in der Reihenfolge der Steuerelemente ist), wird der Fokus auf das nächste Steuerelement in der Reihenfolge der Steuerelemente gesetzt, das den Fokus erhalten kann.


TabIndex-Eigenschaft (Reihenfolgenposition) - Beispiel

Das folgende Beispiel kehrt die Reihenfolge der Steuerelemente eines Formulars mit einer Befehlsschaltfläche und einem Textfeld um. Da Text1 zuerst erstellt wurde, hat es den Wert 0 als Einstellung der Eigenschaft TabIndex, und Befehl1 hat den Wert 1.

Sub Form_Click()

Me!Befehl1.TabIndex = 0

Me!Text1.TabIndex = 1

End Sub


TabStop-Eigenschaft (InReihenfolge)

Mit der Eigenschaft TabStop können Sie angeben, ob Sie die TAB-TASTE dazu verwenden können, den Fokus in der Formularansicht auf ein Steuerelement zu setzen.

Anmerkung   Die Eigenschaft TabStop betrifft nur die Steuerelemente eines Formulars, nicht die Steuerelemente eines Berichts.

Diese Eigenschaft betrifft keine Kontrollkästchen-, Optionsfeld- oder Umschaltfläche-Steuerelemente, die zu einer Optionsgruppe gehören. Sie betrifft nur die Optionsgruppe selbst.

Einstellung

Die Eigenschaft TabStop kann eine der folgenden Einstellungen annehmen.

Einstellung	Beschreibung	Visual Basic
Ja	(Standardeinstellung) Sie können den Fokus durch Drücken der TAB-TASTE zum Steuerelement bewegen.	True (-1)
Nein	Sie können den Fokus nicht durch Drücken der TAB-TASTE zum Steuerelement bewegen.	False (0)
Sie können diese Eigenschaft im Eigenschaftenfenster eines Steuerelements, in einem Makro oder in Visual Basic einstellen.

Hinweis

Wenn Sie ein Steuerelement in einem Formular erstellen, weist Microsoft Access dem Steuerelement automatisch eine Position in der Reihenfolge der Steuerelemente des Formulars zu. Ein neues Steuerelement erhält die letzte Position in der Reihenfolge der Steuerelemente. Soll ein Steuerelement nicht verfügbar sein, wenn Sie mit der TAB-TASTE den Fokus auf die Steuerelemente in einem Formular setzen, so müssen Sie die Eigenschaft TabStop des Steuerelements auf Nein einstellen.

In der Formularansicht verbleiben unsichtbare oder deaktivierte Steuerelemente in der Reihenfolge der Steuerelemente, werden jedoch übersprungen, wenn Sie sich durch Drücken der TAB-TASTE durch die Steuerelemente bewegen, auch wenn deren Eigenschaft TabStop auf Ja eingestellt ist.

Solange die Eigenschaft Enabled eines Steuerelements auf Ja eingestellt ist, können Sie auf das Steuerelement klicken oder eine Zugriffstaste verwenden, um sie zu wählen, unabhängig von der Einstellung der Eigenschaft TabStop. Sie können z.B. die Eigenschaft TabStop einer Befehlsschaltfläche auf Nein einstellen, um Benutzer daran zu hindern, die Schaltfläche durch Drücken von TAB auszuwählen. Die Benutzer können aber weiterhin auf die Befehlsschaltfläche klicken, um sie zu wählen.


Tag-Eigenschaft (Marke)

Mit der Eigenschaft Tag können Sie beliebige Zusatzinformationen zu einem Formular, einem Bericht, einem Bereich oder einem Steuerelement speichern, die von Ihrer Anwendung benötigt werden.

Einstellung

Sie können einen Zeichenfolgenausdruck mit bis zu 2048 Zeichen eingeben. Die Standardeinstellung ist eine leere Zeichenfolge (" ").

Sie können diese Eigenschaft im Eigenschaftenfenster des Objekts, in einem Makro oder in Visual Basic einstellen.

Hinweis

Im Gegensatz zu anderen Eigenschaften hat die Einstellung der Eigenschaft Tag keine Auswirkungen auf die Attribute eines Objekts.

Sie können diese Eigenschaft verwenden, um einem Objekt eine kennzeichnende Zeichenfolge zuzuweisen, ohne andere Eigenschafteneinstellungen zu verändern oder andere Nebeneffekte auszulösen. Die Eigenschaft Tag erweist sich als hilfreich, wenn Sie die Kennzeichnung eines Formulars, Berichts, Bereichs oder Steuerelements, die als Variable an eine Prozedur übergeben wird, überprüfen müssen.


Tag-Eigenschaft (Marke) - Beispiel

Das folgende Beispiel verwendet die Eigenschaft Tag zur Anzeige von benutzerdefinierten Meldungen über Steuerelemente eines Formulars. Hat ein Steuerelement den Fokus, so wird ein beschreibender Text in einem Bezeichnungsfeld-Steuerelement namens lblMeldung angezeigt. Sie geben den Text für die Meldung an, indem Sie die Eigenschaft Tag für jedes Steuerelement auf eine kurze Textzeichenfolge einstellen. Erhält ein Steuerelement den Fokus, wird dessen Eigenschaft Tag der Eigenschaft Caption des Bezeichnungsfeld-Steuerelements zugewiesen. Dieses Beispiel zeigt den beschreibenden Text eines Textfelds namens txtBeschreibung sowie einer Befehlsschaltfläche namens cmdBefehl an, die sich auf einem Formular befinden.

Sub Form_Load()

Dim frmMeldungen As Form

Set frmMeldungen = Forms!Formular1

frmMeldungen!lblMeldung.Caption = ""	 ' Den Text löschen.

frmMeldungen!txtBeschreibung.Tag = "Hilfetext für das Textfeld."

frmMeldungen!cmdBefehl.Tag = "Hilfetext für die Befehlsschaltfläche."

End Sub

Sub txtBeschreibung_GotFocus()

' Die Einstellung der Eigenschaft Tag als Beschriftung.

Me!lblMeldung.Caption = Me!txtBeschreibung.Tag

End Sub

Sub txtBeschreibung_LostFocus()

Me!lblMeldung.Caption = ""

End Sub

Sub cmdBefehl_GotFocus()

' Die Einstellung der Eigenschaft Tag als Beschriftung.

Me!lblMeldung.Caption = Me!cmdBefehl.Tag

End Sub

Sub cmdBefehl_LostFocus()

Me.lblMeldung.Caption = " "

End Sub


AutoResize-Eigenschaft (GrößeAnpassen)

Mit der Eigenschaft AutoResize können Sie angeben, ob die Größe eines Formularfensters beim Öffnen automatisch für die Anzeige vollständiger Datensätze angepaßt wird.

Einstellung

Die Eigenschaft AutoResize kann eine der folgenden Einstellungen annehmen.

Einstellung	Beschreibung	Visual Basic
Ja	(Standardeinstellung) Die Größe des Formularfensters wird automatisch so angepaßt, daß ein vollständiger Datensatz angezeigt werden kann.	True (-1)
Nein	Wird das Formularfenster geöffnet, so hat es die zuletzt gespeicherte Größe. Sie speichern die Größe eines Formularfensters, indem Sie das Formular öffnen, die Fenstergröße anpassen, das Formular durch Klicken auf Speichern im Menü Datei speichern und dann das Formular schließen. Wenn Sie das nächste Mal das Formular öffnen, wird es mit der gespeicherten Fenstergröße angezeigt.	False (0)
Sie können diese Eigenschaft im Eigenschaftenfenster des Formulars, in einem Makro oder in Visual Basic einstellen.

Diese Eigenschaft kann nur in der Entwurfsansicht eingestellt werden

Hinweis

Die Größe des Formularfensters wird nur angepaßt, wenn es in der Formularansicht geöffnet wird. Öffnen Sie das Formular zuerst in der Entwurfsansicht oder in der Datenblattansicht und wechseln dann zur Formularansicht, wird die Größe des Formularfensters nicht angepaßt.

Wenn Sie in der Entwurfsansicht Änderungen an einem Formular vornehmen, dessen Eigenschaft AutoResize auf Nein und dessen Eigenschaft AutoCenter auf Ja eingestellt ist, wechseln Sie in die Formularansicht, bevor Sie das Formular speichern. Wenn Sie dies nicht tun, schneidet Microsoft Access das Formular beim nächsten Öffnen am rechten und unteren Rand ab.

Wenn die Eigenschaft AutoCenter auf Nein eingestellt ist, wird die linke obere Ecke eines Formularfensters beim Öffnen immer an derselben Stelle angezeigt, an der sie beim Schließen des Formularfensters angezeigt wurde.


Cancel-Eigenschaft (Abbrechen)

Mit der Eigenschaft Cancel können Sie für eine Befehlsschaltfläche angeben, ob sie gleichzeitig die Schaltfläche Abbrechen des Formulars sein soll.

Einstellung

Die Eigenschaft Cancel kann eine der folgenden Einstellungen annehmen.

Einstellung	Beschreibung	Visual Basic
Ja	Die Befehlsschaltfläche ist die Schaltfläche Abbrechen.	True (-1)
Nein	(Standardeinstellung) Die Befehlsschaltfläche ist nicht die Schaltfläche Abbrechen.	False (0)
Sie können diese Eigenschaft im Eigenschaftenfenster der Befehlsschaltfläche, in einem Makro oder in Visual Basic einstellen.

Hinweis

Wird die Eigenschaft Cancel einer Befehlsschaltfläche auf Ja eingestellt, wird diese zur Schaltfläche Abbrechen des Formulars. Sie müssen aber nach wie vor das Makro oder die Visual Basic-Ereignisprozedur schreiben, in der die Schritte ausgeführt werden, die als Reaktion auf das Wählen der Schaltfläche Abbrechen erfolgen sollen (z.B. Schließen des Formulars, ohne daß vorgenommene Änderungen gespeichert werden). Stellen Sie die Ereigniseigenschaft OnClick der Befehlsschaltfläche auf den Namen des Makros oder auf [Ereignisprozedur] ein.

Wenn die Eigenschaft Cancel einer Befehlsschaltfläche auf Ja eingestellt und das Formularfenster aktiv ist, kann der Benutzer die Befehlsschaltfläche wählen, indem er ESC drückt, indem er die EINGABETASTE drückt, wenn die Befehlsschaltfläche den Fokus hat, oder indem er auf die Befehlsschaltfläche klickt.

Anmerkung   Hat ein Textfeld den Fokus, wenn der Benutzer ESC drückt, gehen alle an den Daten in dem Textfeld vorgenommenen Veränderungen verloren, und die Originaldaten werden wiederhergestellt.

Ist die Eigenschaft Cancel einer Befehlsschaltfläche eines Formulars auf Ja eingestellt, wird diese Eigenschaft für alle anderen Befehlsschaltflächen des Formulars automatisch auf Nein eingestellt.

Tip   In Formularen, die unwiderrufliche Operationen (z.B. das Löschen von Daten) unterstützen, sollte die Schaltfläche Abbrechen die Standard-Befehlsschaltfläche sein. Dazu stellen Sie die Eigenschaften Cancel und Default auf Ja ein.


Default-Eigenschaft (BeiEingabetaste)

Mit der Eigenschaft Default können Sie angeben, ob eine Befehlsschaltfläche die Standardschaltfläche eines Formulars sein soll.

Einstellung

Die Eigenschaft Default kann eine der folgenden Einstellungen annehmen.

Einstellung	Beschreibung	Visual Basic
Ja	Die Befehlsschaltfläche ist die Standardschaltfläche.	True (-1)
Nein	(Standardeinstellung) Die Befehlsschaltfläche ist nicht die Standardschaltfläche.	False (0)
Sie können diese Eigenschaft im Eigenschaftenfenster der Befehlsschaltfläche, in einem Makro oder in Visual Basic einstellen.

Hinweis

Ist die Eigenschaft Default der Befehlsschaltfläche auf Ja eingestellt und ist das Formularfenster aktiv, kann der Benutzer die Befehlsschaltfläche wählen, indem er die EINGABETASTE drückt (falls keine andere Befehlsschaltfläche den Fokus hat) oder indem er auf diese Befehlsschaltfläche klickt.

Nur eine Befehlsschaltfläche eines Formulars kann die Standardschaltfläche sein. Ist die Eigenschaft Default für eine Befehlsschaltfläche auf Ja eingestellt, wird sie automatisch für alle anderen Befehlsschaltflächen des Formulars auf Nein eingestellt.

Tip   In Formularen, die unwiderrufliche Operationen (z.B. das Löschen von Daten) unterstützen, sollte die Schaltfläche Abbrechen die Standard-Befehlsschaltfläche sein. Dazu stellen Sie die Eigenschaften Cancel und Default auf Ja ein.


DefaultView-, ViewsAllowed-Eigenschaft (Standardansicht, ZugelasseneAnsicht(en))

•	Sie können die Eigenschaft DefaultView zur Angabe der Startansicht eines Formulars verwenden.

•	Mit der Eigenschaft ViewsAllowed können Sie angeben, ob ein Benutzer dadurch zwischen der Datenblattansicht und der Formularansicht wechseln kann, daß er entweder im Menü Ansicht auf Formularansicht bzw. Datenblattansicht oder auf den Pfeil rechts neben der Schaltfläche Ansicht und anschließend auf Formularansicht bzw. Datenblattansicht klickt.

Einstellung

Die Eigenschaft DefaultView kann eine der folgenden Einstellungen annehmen.

Einstellung	Beschreibung	Visual Basic
Einzelnes Formular	(Standardeinstellung) Zeigt jeweils einen Datensatz an.	0
Endlosformular	Zeigt so viele Datensätze an, wie in das aktuelle Fenster passen, jeweils in einer eigenen Kopie des Detailbereichs des Formulars.	1
Datenblatt	Zeigt die Felder des Formulars in Zeilen und Spalten an, wie in einem Tabellenblatt.	2
Die Eigenschaft ViewsAllowed kann eine der folgenden Einstellungen annehmen.

Einstellung	Beschreibung	Visual Basic
Beide	(Standardeinstellung) Die Benutzer können zwischen Formularansicht und Datenblattansicht wechseln.	0
Formular	Die Benutzer können aus der Formularansicht nicht zur Datenblattansicht wechseln.	1
Datenblatt	Die Benutzer können aus der Datenblattansicht nicht zur Formularansicht wechseln.	2
Die Entwurfsansicht ist immer verfügbar (es sei denn, die Berechtigungen sind anders eingestellt).

Sie können diese Eigenschaften im Eigenschaftenfenster des Formulars, in einem Makro oder in Visual Basic einstellen.

Hinweis

Welche Ansichten in der Liste der Schaltfläche Ansicht sowie im Menü Ansicht angezeigt werden, hängt von der Einstellung der Eigenschaft ViewsAllowed ab. Ist die Eigenschaft ViewsAllowed z.B. auf Datenblatt eingestellt, ist Formularansicht sowohl in der Liste der Schaltfläche Ansicht als auch im Menü Ansicht deaktiviert.

Durch Kombination dieser Eigenschaften sind folgende Zustände möglich.

DefaultView	ViewsAllowed	Beschreibung
Einzelnes Formular, Endlosformular oder Datenblatt	Beide	Benutzer können zwischen Formularansicht und Datenblattansicht wechseln.
Einzelne Formulare oder Endlosformulare	Formular	Benutzer können von der Formularansicht nicht zur Datenblattansicht wechseln.
Einzelne Formulare oder Endlosformulare	Datenblatt	Benutzer können von der Formularansicht zur Datenblattansicht, aber nicht wieder zurück wechseln.
Datenblatt	Formular	Benutzer können von der Datenblattansicht zur Formularansicht, jedoch nicht wieder zurück wechseln.
Datenblatt	Datenblatt	Benutzer können nicht von der Datenblattansicht zur Formularansicht wechseln.


GridX, GridY-Eigenschaft (RasterX, RasterY)

Mit den Eigenschaften GridX und GridY können Sie die horizontalen und vertikalen Einheiten des Ausrichtungsrasters in der Entwurfsansicht eines Formulars oder der Entwurfsansicht eines Berichts angeben.

Einstellung

Geben Sie eine Ganzzahl von 1 bis 64 ein, die die Anzahl an Unterteilungen pro Maßeinheit festlegt. Ist in der Windows-Systemsteuerung im Dialogfeld Ländereinstellungen auf der Registerkarte Zahlen das Feld Maßsystem auf US-Maße eingestellt, ist die Standardeinstellung 24 für die Eigenschaft GridX (horizontal) und 24 für die Eigenschaft GridY (vertikal).

Sie können diese Eigenschaft im Eigenschaftenfenster, in einem Makro oder in Visual Basic einstellen.

In Visual Basic stellen Sie diese Eigenschaft mit Hilfe eines numerischen Ausdrucks ein.

Hinweis

Die Eigenschaften GridX und GridY ermöglichen die Steuerung bei der Positionierung und Ausrichtung von Objekten in einem Formular oder Bericht. Sie können die Genauigkeit des Rasters vergrößern oder verkleinern. Sie zeigen das Raster an, indem Sie im Menü Ansicht auf Raster klicken. Ist die Einstellung der Eigenschaft GridX oder GridY größer als 24, verschwinden die Rasterpunkte aus der Ansicht (obwohl die Rasterlinien weiterhin angezeigt werden).


Painting-Eigenschaft (Bildschirm aktualisieren)

Mit der Eigenschaft Painting können Sie angeben, ob die Darstellung von Formularen oder Berichten aktualisiert werden soll.

Einstellung

Die Eigenschaft Painting kann eine der folgenden Einstellungen annehmen.

Einstellung	Beschreibung
True (-1)	(Standardeinstellung) Das Formular oder der Bericht wird aktualisiert.
False (0)	Das Formular oder der Bericht wird nicht aktualisiert.
Sie können diese Eigenschaft in einem Makro oder in Visual Basic einstellen.

Diese Eigenschaft kann nur in der Formularansicht eingestellt werden und steht in den anderen Ansichten nicht zur Verfügung.

Hinweis

Die Eigenschaft Painting ähnelt der Aktion Echo. Jedoch unterbindet die Eigenschaft Painting die Aktualisierung eines einzelnen Formulars oder Berichts, während die Aktion Echo die Aktualisierung aller offenen Fenster in einer Anwendung unterbindet.

Die Einstellung der Eigenschaft Painting für ein Formular oder einen Bericht auf False unterbindet auch die Aktualisierung aller Steuerelemente (ausgenommen Unterformular- oder Unterbericht-Steuerelemente) in einem Formular oder einem Bericht. Damit die Aktualisierung eines Unterformular- oder Unterbericht-Steuerelements unterbunden wird, stellen Sie die Eigenschaft Painting für das Unterformular oder den Unterbericht auf False ein. (Beachten Sie, daß Sie die Eigenschaft Painting für das Unterformular oder den Unterbericht einstellen und nicht für das Unterformular- oder Unterbericht-Steuerelement.)

Die Eigenschaft Painting wird immer dann automatisch auf True eingestellt, wenn das Formular oder der Bericht den Fokus erhält oder verliert. Wenn Sie möchten, daß die an einem Formular oder Bericht bzw. an dessen Steuerelementen vorgenommenen Änderungen nicht zu sehen sind, können Sie diese Eigenschaft auf False einstellen, während mit dem Formular oder Bericht gearbeitet wird. Angenommen, ein Formular hat mehrere Steuerelemente, deren Größen automatisch angepaßt werden, wenn die Größe des Formulars geändert wird. Wenn Sie nicht möchten, daß der Benutzer das Verschieben jedes Steuerelements sehen kann, können Sie die Eigenschaft Painting auf False einstellen, danach die Steuerelemente verschieben und dann Painting wieder auf True einstellen.


Painting-Eigenschaft (Bildschirm aktualisieren) - Beispiel

Dieses Beispiel verwendet die Eigenschaft Painting zur Aktivierung oder Deaktivierung der Formularaktualisierung in Abhängigkeit von der Einstellung der Variablen PaintingWert auf True (-1) oder False (0). Ist die Formularaktualisierung deaktiviert, zeigt Microsoft Access solange das Sanduhr-Symbol an, bis die Aktualisierung wieder aktiviert wurde.

Function PaintingEinst (frmName As Form, ByVal PaintingWert As Integer) As Integer

frmName.Painting = PaintingWert

If PaintingWert = False Then	  ' Formularaktualisierung ist deaktiviert.

DoCmd.Hourglass True	  ' Sanduhr-Symbol anzeigen.

Else

DoCmd.Hourglass False	  ' Sanduhr-Symbol nicht anzeigen.

End If

End Function


RecordSelectors-Eigenschaft (Datensatzmarkierer)

Mit der Eigenschaft RecordSelectors können Sie angeben, ob ein Formular in der Formularansicht Datensatzmarkierer anzeigen soll.

Einstellung

Die Eigenschaft RecordSelectors kann eine der folgenden Einstellungen annehmen.

Einstellung	Beschreibung	Visual Basic
Ja	(Standardeinstellung) Jeder Datensatz verfügt über einen Datensatzmarkierer.	True (-1)
Nein	Kein Datensatz verfügt über einen Datensatzmarkierer.	False (0)
Sie können diese Eigenschaft im Eigenschaftenfenster des Formulars, in einem Makro oder in Visual Basic einstellen.

Hinweis

Sie können diese Eigenschaft zur Entfernung von Datensatzmarkierern verwenden, wenn Sie ein Formular als ein benutzerdefiniertes Dialogfeld oder als eine Palette erstellen oder verwenden. Sie können diese Eigenschaft auch für Formulare verwenden, deren Eigenschaft DefaultView auf Einzelnes Formular eingestellt ist.

Der Datensatzmarkierer zeigt beim Bearbeiten eines Datensatzes das Symbol Ungespeicherter Datensatz  [image]  an. Ist die Eigenschaft RecordSelectors auf Nein und die Eigenschaft RecordLocks auf Bearbeiteter Datensatz (der Datensatz ist "pessimistisch" gesperrt, d.h, nur eine Person kann den jeweiligen Datensatz bearbeiten) eingestellt, gibt es keinen sichtbaren Hinweis darauf, daß der Datensatz gesperrt ist.


ScrollBars-Eigenschaft (Bildlaufleisten)

Mit der Eigenschaft ScrollBars können Sie angeben, ob Bildlaufleisten auf einem Formular oder in einem Textfeld-Steuerelement angezeigt werden sollen.

Einstellung

Die Eigenschaft ScrollBars kann eine der folgenden Einstellungen annehmen.

Einstellung	Beschreibung	Visual Basic
Nein (Formulare) Keine (Textfelder)	(Standardeinstellung für Textfelder) Es werden keine Bildlaufleisten im Formular oder Textfeld angezeigt.	0
Nur horizontal (Formulare)	Horizontale Bildlaufleisten werden im Formular angezeigt. Nicht anwendbar auf Textfelder.	1
Nur vertikal (Formulare) Vertikal (Textfelder)	Vertikale Bildlaufleisten werden  im Formular oder Textfeld angezeigt.	2
In beide Richtungen (Formulare)	(Standardeinstellung für Formulare) Vertikale und horizontale Bildlaufleisten werden im Formular angezeigt. Nicht anwendbar auf Textfelder.	3
Sie können diese Eigenschaft im Eigenschaftenfenster des Formulars oder Steuerelements, in einem Makro oder in Visual Basic einstellen.

Bei einem Textfeld können Sie die Standardeinstellung dieser Eigenschaft mit Hilfe der Standardeigenschafteneinstellungen oder in Visual Basic mit der Methode DefaultControl einstellen.

Hinweis

Ist Ihr Formular größer als das verfügbare Anzeigefenster, können Sie die Eigenschaft ScrollBars verwenden, um dem Benutzer die Ansicht des gesamten Formulars zu ermöglichen.

Mit der Eigenschaft NavigationButtons können Sie die Navigation zwischen Datensätzen steuern.


StatusBarText-Eigenschaft (Statusleistentext)

Mit der Eigenschaft StatusBarText können Sie den Text angeben, der in der Statusleiste angezeigt wird, wenn ein Steuerelement ausgewählt ist.

Anmerkung   Die Eigenschaft StatusBarText betrifft nur Steuerelemente eines Formulars, nicht Steuerelemente eines Berichts.

Einstellung

Sie stellen die Eigenschaft StatusBarText mit Hilfe eines bis zu 255 Zeichen langen Zeichenfolgenausdrucks ein.

Sie können diese Eigenschaft im Eigenschaftenfenster des Steuerelements, in einem Makro oder in Visual Basic einstellen.

Anmerkung   Die Länge des Textes, der in der Statusleiste angezeigt werden kann, hängt von Ihrer Hardware und Ihrem Grafikmodus ab.

Hinweis

Sie können die Eigenschaft StatusBarText verwenden, um bestimmte Informationen zu einem Steuerelement bereitzustellen. Hat z.B. ein Textfeld den Fokus, so kann ein kurzer Hinweis dem Benutzer mitteilen, welche Art von Daten einzugeben sind.

Anmerkung   Sie können auch die Eigenschaft ControlTipText verwenden, um für ein Steuerelement einen Bildschirmtip anzuzeigen.

Wenn Sie ein Steuerelement erstellen, indem Sie ein Feld aus der Feldliste ziehen, wird der Wert in der Eigenschaft Description eines Feldes in die Eigenschaft StatusBarText kopiert.

Bei einem Steuerelement, das einen Hyperlink enthält, wird in der Statusleiste die Hyperlink-Adresse angezeigt, wenn sich der Mauszeiger auf dem Steuerelement befindet und das Kontrollkästchen Hyperlink-Adressen in Statusleiste anzeigen aktiviert ist. Sie finden dieses Kontrollkästchen im Dialogfeld Optionen auf der Registerkarte Hyperlinks/HTML. Sie öffnen dieses Dialogfeld, indem Sie im Menü Extras auf Optionen klicken. Wenn Sie das Steuerelement bearbeiten, wird in der Statusleiste der Text angezeigt, auf den die Eigenschaft StatusBarText eingestellt ist.


AllowAdditions-Eigenschaft (AnfügenZulassen)

Sie können mit der Eigenschaft AllowAdditions angeben, ob es einem Benutzer möglich sein soll, mit einem Formular Datensätze hinzuzufügen.

Einstellung

Die Eigenschaft AllowAdditions verwendet die folgenden Einstellungen:

Einstellung	Beschreibung	Visual Basic
Ja	(Standardeinstellung) Der Benutzer kann neue Datensätze hinzufügen.	True (-1)
Nein	Der Benutzer kann keine neuen Datensätze hinzufügen.	False (0)
Sie können die Eigenschaft AllowAdditions im Eigenschaftenfenster des Formulars, in einem Makro oder in Visual Basic einstellen.

Hinweis

Das Einstellen der Eigenschaft AllowAdditions auf Nein ermöglicht den Benutzern das Anzeigen oder Bearbeiten bestehender, jedoch nicht das Hinzufügen neuer Datensätze.

Wenn Sie das Ändern von bestehenden Datensätzen verhindern (einem Formular Schreibschutz zuweisen) möchten, stellen Sie die Eigenschaften AllowAdditions, AllowDeletions und AllowEdits auf Nein ein. Sie können Datensätze auch gegen Überschreiben schützen, indem Sie die Eigenschaft RecordsetType auf Snapshot einstellen.

Wenn Sie ein Formular nur für die Dateneingabe öffnen möchten, stellen Sie die Eigenschaft DataEntry des Formulars auf Ja ein.

Wenn die Eigenschaft AllowAdditions auf Nein eingestellt ist, ist der Befehl Daten eingeben im Menü Datensätze nicht verfügbar.

Anmerkung   Wenn das Argument Datenmodus der Aktion ÖffnenFormular verwendet wird, überschreibt Microsoft Access eine Reihe von Formulareigenschaften. Wenn das Argument Datenmodus der Aktion ÖffnenFormular auf Bearbeiten eingestellt ist, öffnet Microsoft Access das Formular mit den folgenden Eigenschafteneinstellungen:

•	AllowEdits - Ja

•	AllowDeletions - Ja

•	AllowAdditions - Ja

•	DataEntry - Nein

Wenn Sie verhindern möchten, daß die Aktion ÖffnenFormular diese vorhandenen Eigenschafteneinstellungen überschreibt, lassen Sie die Einstellung des Arguments Datenmodus weg, damit Microsoft Access die vom Formular definierten Eigenschafteneinstellungen verwendet.


AllowAutoCorrect-Eigenschaft (AutoKorrekturZulassen)

Sie können mit der Eigenschaft AllowAutoCorrect angeben, ob ein Textfeld- oder ein Kombinationsfeld-Steuerelement Benutzereingaben automatisch korrigieren soll.

Einstellung

Die Eigenschaft AllowAutoCorrect verwendet die folgenden Einstellungen:

Einstellung	Beschreibung	Visual Basic
Ja	(Standardeinstellung) Einträge werden entsprechend den Einstellungen im Dialogfeld AutoKorrektur automatisch korrigiert.	True (-1)
Nein	Einträge werden nicht korrigiert.	False (0)
Sie können die Eigenschaft AllowAutoCorrect im Eigenschaftenfenster eines Steuerelements, in einem Makro oder in Visual Basic einstellen. Sie können die Standardeinstellung für diese Eigenschaft festlegen, indem Sie die Standardeigenschafteneinstellungen eines Steuerelements oder die Methode DefaultControl in Visual Basic verwenden.

Hinweis

Sie öffnen das Dialogfeld AutoKorrektur durch Klicken auf AutoKorrektur im Menü Extras.


AllowDeletions-Eigenschaft (LöschenZulassen)

Sie können mit der Eigenschaft AllowDeletions angeben, ob es einem Benutzer möglich sein soll, mit einem Formular Datensätze zu löschen.

Einstellung

Die Eigenschaft AllowDeletions verwendet die folgenden Einstellungen:

Einstellung	Beschreibung	Visual Basic
Ja	(Standardeinstellung) Der Benutzer kann Datensätze löschen.	True (-1)
Nein	Der Benutzer kann keine Datensätze löschen.	False (0)
Sie können die Eigenschaft AllowDeletions im Eigenschaftenfenster des Formulars, in einem Makro oder in Visual Basic einstellen.

Hinweis

Sie können diese Eigenschaft auf Nein einstellen, um Benutzern das Anzeigen und das Bearbeiten, jedoch nicht das Löschen bestehender Datensätze zu erlauben. Wenn die Eigenschaft AllowDeletions auf Ja eingestellt ist, können Datensätze gelöscht werden, sofern dadurch nicht die Regeln verletzt werden, die bezüglich der referentiellen Integrität definiert sind.

Wenn Sie das Ändern von bestehenden Datensätzen verhindern (einem Formular Schreibschutz zuweisen) möchten, stellen Sie die Eigenschaften AllowAdditions, AllowDeletions und AllowEdits auf Nein ein. Sie können Datensätze auch gegen Überschreiben schützen, indem Sie die Eigenschaft RecordsetType auf Snapshot einstellen.

Wenn die Eigenschaft AllowDeletions auf Nein eingestellt ist, ist der Befehl Datensatz löschen im Menü Bearbeiten nicht verfügbar.

Anmerkung   Wenn das Argument Datenmodus der Aktion ÖffnenFormular eingestellt wird, überschreibt Microsoft Access eine Reihe von Formulareigenschaften. Wenn das Argument Datenmodus der Aktion ÖffnenFormular auf Bearbeiten eingestellt ist, öffnet Microsoft Access das Formular mit den folgenden Eigenschafteneinstellungen:

•	AllowEdits - Ja

•	AllowDeletions - Ja

•	AllowAdditions - Ja

•	DataEntry - Nein

Wenn Sie verhindern möchten, daß die Aktion ÖffnenFormular diese vorhandenen Eigenschafteneinstellungen überschreibt, lassen Sie die Einstellung des Arguments Datenmodus weg, damit Microsoft Access die vom Formular definierten Eigenschafteneinstellungen verwendet.


AllowEdits-Eigenschaft (BearbeitungenZulassen)

Sie können mit der Eigenschaft AllowEdits angeben, ob es einem Benutzer möglich sein soll, mit einem Formular Datensätze zu bearbeiten, die gespeichert sind.

Einstellung

Die Eigenschaft AllowEdits verwendet die folgenden Einstellungen:

Einstellung	Beschreibung	Visual Basic
Ja	(Standardeinstellung) Der Benutzer kann gespeicherte Datensätze bearbeiten.	True (-1)
Nein	Der Benutzer kann gespeicherte Datensätze nicht bearbeiten.	False (0)
Sie können die Eigenschaft AllowEdits im Eigenschaftenfenster des Formulars, in einem Makro oder in Visual Basic einstellen.

Hinweis

Sie können die Eigenschaft AllowEdits verwenden, um das Ändern aller in einem Formular angezeigten Daten zu verhindern. Wenn Sie das Ändern der Daten in einem bestimmten Steuerelement verhindern möchten, verwenden Sie die Eigenschaften Enabled oder Locked.

Wenn Sie das Ändern von bestehenden Datensätzen verhindern (einem Formular Schreibschutz zuweisen) möchten, stellen Sie die Eigenschaften AllowAdditions, AllowDeletions und AllowEdits auf Nein ein. Sie können Datensätze auch gegen Überschreiben schützen, indem Sie die Eigenschaft RecordsetType auf Snapshot einstellen.

Wenn die Eigenschaft AllowEdits auf Nein eingestellt ist, sind die Befehle Datensatz löschen im Menü Bearbeiten und Daten eingeben im Menü Datensätze nicht verfügbar.

Anmerkung   Wenn das Argument Datenmodus der Aktion ÖffnenFormular eingestellt wird, überschreibt Microsoft Access eine Reihe von Formulareigenschaften. Wenn das Argument Datenmodus der Aktion ÖffnenFormular auf Bearbeiten eingestellt ist, öffnet Microsoft Access das Formular mit den folgenden Eigenschafteneinstellungen:

•	AllowEdits - Ja

•	AllowDeletions - Ja

•	AllowAddition - Ja

•	DataEntry - Nein

Wenn Sie verhindern möchten, daß die Aktion ÖffnenFormular diese vorhandenen Eigenschafteneinstellungen überschreibt, lassen Sie die Einstellung des Arguments Datenmodus weg, damit Microsoft Access die vom Formular definierten Eigenschafteneinstellungen verwendet.


CloseButton-Eigenschaft (SchaltflächeSchließen)

Sie können mit der Eigenschaft CloseButton angeben, ob für ein Formular die Schaltfläche Schließen  [image]  aktiviert ist.

Einstellung

Die Eigenschaft CloseButton verwendet die folgenden Einstellungen:

Einstellung	Beschreibung	Visual Basic
Ja	(Standardeinstellung) Die Schaltfläche Schließen ist aktiviert.	True (-1)
Nein	Die Schaltfläche Schließen ist deaktiviert, und im Systemmenü ist der Befehl Schließen nicht verfügbar.	False (0)
Sie können die Eigenschaft CloseButton im Eigenschaftenfenster des Formulars, in einem Makro oder in Visual Basic einstellen.

Sie können die Eigenschaft CloseButton nur in der Formular-Entwurfsansicht einstellen.

Hinweis

Wenn Sie die Eigenschaft CloseButton auf Nein einstellen, bleibt die Schaltfläche Schließen sichtbar, ist jedoch abgeblendet, und Sie müssen eine andere Möglichkeit zum Schließen des Formulars bereitstellen (z.B. eine Befehlsschaltfläche oder einen benutzerdefinierten Menübefehl, die oder der ein Makro oder eine Ereignisprozedur zum Schließen des Formulars ausführt.

Tip   Sie können das Formular auch durch Drücken der Tastenkombination ALT+F4 schließen.


ControlType-Eigenschaft (Steuerelementtyp)

Sie können die Eigenschaft ControlType in Visual Basic einsetzen, um den Typ (die Art) eines Steuerelements zu ermitteln, das zu einem Formular oder Bericht gehört.

Einstellung

Das Einstellen der Eigenschaft ControlType ist eine eingebaute Konstante, die den Steuerelementtyp angibt.

Konstante	Steuerelement
acLabel	Bezeichnungsfeld
acRectangle	Rechteck
acLine	Linie
acImage	Bild
acCommandButton	Befehlsschaltfläche
acOptionButton	Optionsschaltfläche
acCheckBox	Kontrollkästchen
acOptionGroup	Optionsgruppe
acBoundObjectFrame	Gebundenes Objektfeld
acTextBox	Textfeld
acListBox	Listenfeld
acComboBox	Konbinationsfeld
acSubform	Unterformular/-bericht
acObjectFrame	Objektfeld oder Diagramm
acPageBreak	Seitenumbruch
acPage	Seite
acCustomControl	ActiveX-Steuerelement
acToggleButton	Umschaltfläche
acTabCtl	Registerkarte
Die Eigenschaft ControlType kann nur über Visual Basic in der Formular-Entwurfsansicht oder Berichts-Entwurfsansicht eingestellt werden, jedoch in allen Ansichten gelesen werden.

Hinweis

Die Eigenschaft ControlType ist nicht nur für die Suche nach einem bestimmten Steuerelementtypen im Code, sondern auch für den Wechsel des Steuerelementtyps nützlich. Sie können z.B. ein Textfeld in ein Kombinationsfeld umwandeln, indem Sie die Eigenschaft ControlType des Textfelds auf acComboBox einstellen, während das Formular in der Entwurfsansicht angezeigt wird.

Sie können die Eigenschaft ControlType zum Ändern der Merkmale ähnlicher Steuerelemente in einem Formular abhängig von bestimmten Bedingungen verwenden. Wenn Sie z.B. nicht möchten, daß Benutzer bestehende Daten in Textfeldern bearbeiten, können Sie die Eigenschaft SpecialEffect für alle Textfelder auf Flach und die Eigenschaft AllowEdits des Formulars auf Nein einstellen. (Die Eigenschaft SpecialEffect hat keine Auswirkungen darauf, ob die Daten bearbeitet werden können; sie wird hier verwendet, um einen sichtbaren Anhaltspunkt über die Veränderung des Steuerelementverhaltens bereitzustellen.)

Die Eigenschaft ControlType wird auch verwendet, um die Typen der Steuerelemente festzulegen, die mit der Funktion CreateControl erstellt werden.


ControlType-, AllowAdditions-, AllowDeletions-, AllowEdits-Eigenschaften (Steuerelementtyp, AnfügenZulassen, LöschenZulassen,
ControlType-, AllowAdditions-, AllowDeletions-, AllowEdits-Eigenschaften (Steuerelementtyp, AnfügenZulassen, LöschenZulassen, BearbeitungenZulassen) - Beispiel

Das folgende Beispiel wertet die Eigenschaft ControlType für alle Steuerelemente eines Formulars aus. Für jedes Bezeichnungsfeld- und Textfeld-Steuerelement schaltet die Prozedur die jeweilige Eigenschaft SpecialEffect um. Wenn die Eigenschaft SpecialEffect des Bezeichnungsfeld-Steuerelements auf Schattiert und die Eigenschaft SpecialEffect des Textfeld-Steuerelements auf Normal eingestellt ist, und die Eigenschaften AllowAdditions, AllowDeletions und AllowEdits auf True eingestellt sind, wird die Variable intBearbMöglich umgeschaltet, um das Bearbeiten der zugrundeliegenden Daten zu erlauben.

Sub UmschaltSteuerelement(frm As Form)

Dim ctl As Control

Dim intI As Integer, intBearbMöglich 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

intBearbMöglich = True

Else

.SpecialEffect = acEffectShadow

intBearbMöglich = 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 intBearbMöglich = 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-Eigenschaft (DatenEingeben)

Sie können mit der Eigenschaft DataEntry angeben, ob ein gebundenes Formular nur für die Dateneingabe geöffnet werden soll. Die Eigenschaft Data Entry gibt nicht an, ob Datensätze hinzugefügt werden können, sondern nur, ob bestehende Datensätze angezeigt werden.

Einstellung

Die Eigenschaft DataEntry verwendet die folgenden Einstellungen:

Einstellung	Beschreibung	Visual Basic
Ja	Das Formular zeigt beim Öffnen nur einen leeren Datensatz an.	True (-1)
Nein	(Standardeinstellung) Das Formular zeigt beim Öffnen vorhandene Datensätze an.	False (0)
Sie können die Eigenschaft DataEntry im Eigenschaftenfenster eines Formulars, in einem Makro oder in Visual Basic einstellen.

Diese Eigenschaft kann in allen Ansichten eingestellt werden.

Hinweis

Die Eigenschaft DataEntry ist nur dann wirksam, wenn die Eigenschaft AllowAdditions auf Ja eingestellt ist.

Das Einstellen der Eigenschaft DataEntry auf Ja mit Visual Basic hat den gleichen Effekt wie das Klicken auf Daten eingeben im Menü Datensätze. Das Einstellen der Eigenschaft auf Nein mit Visual Basic entspricht dem Klicken auf Filter/Sortierung entfernen im Menü Datensätze.

Anmerkung   Wenn das Argument Datenmodus der Aktion ÖffnenFormular eingestellt wird, überschreibt Microsoft Access eine Reihe von Formulareigenschaften. Wenn das Argument Datenmodus der Aktion ÖffnenFormular auf Bearbeiten eingestellt ist, öffnet Microsoft Access das Formular mit den folgenden Eigenschafteneinstellungen:

•	AllowEdits - Ja

•	AllowDeletions - Ja

•	AllowAdditions - Ja

•	DataEntry - Nein

Wenn Sie verhindern möchten, daß die Aktion ÖffnenFormular diese vorhandenen Eigenschafteneinstellungen überschreibt, lassen Sie die Einstellung des Arguments Datenmodus weg, damit Microsoft Access die vom Formular definierten Eigenschafteneinstellungen verwendet.


MultiSelect-Eigenschaft (Mehrfachauswahl)

Sie können mit der Eigenschaft MultiSelect angeben, ob und wie ein Benutzer mehrere Einträge in einem Listenfeld auf einem Formular auswählen kann.

Einstellung

Die Eigenschaft MultiSelect verwendet die folgenden Einstellungen:

Einstellung	Beschreibung	Visual Basic
Keine	(Standardeinstellung) Mehrfachauswahl ist nicht möglich.	0
Einzeln	Mehrere Elemente werden ausgewählt bzw. ihre Auswahl wird aufgehoben, indem Sie mit der Maus darauf klicken oder die LEERTASTE drücken.	1
Erweitert	Mehrere Elemente werden durch Klicken mit der Maustaste bei gleichzeitigem Drücken von UMSCHALT oder durch Drücken von UMSCHALT+PFEILTASTE zur Erweiterung der Auswahl vom vorher ausgewählten Element bis zum aktuellen Element ausgewählt. Sie können Elemente auch durch Ziehen mit der Maus auswählen. Das Gedrückthalten von STRG und das Klicken auf ein Element wählt dieses Element aus bzw. hebt die Auswahl auf.	2
Sie können die Eigenschaft MultiSelect im Eigenschaftenfenster des Listenfelds, in einem Makro oder in Visual Basic einstellen.

Diese Eigenschaft kann nur in der Formular-Entwurfsansicht eingestellt werden.

Hinweis

Sie können die Eigenschaft ListIndex verwenden, um den Index des ausgewählten Elements zurückzugeben. Wenn die Eigenschaft MultiSelect auf Erweitert oder Einzeln eingestellt ist, können Sie die Eigenschaft Selected oder die Auflistung ItemsSelected des Listenfelds verwenden, um die ausgewählten Elemente zu bestimmen. Wenn in einem Listenfeld mehrere Elemente ausgewählt wurden, ist der Wert des Listenfeld-Steuerelements immer Null.

Wenn die Eigenschaft MultiSelect auf Erweitert eingestellt ist, wird die vom Benutzer vorgenommene Auswahl gelöscht, indem Sie eine erneute Abfrage für das Listenfeld durchführen.


DividingLines-Eigenschaft (Trennlinien)

Sie können mit der Eigenschaft DividingLines angeben, ob die Bereiche eines Formulars oder die Datensätze, die in einem Endlosformular angezeigt werden, durch Trennlinien voneinander getrennt werden sollen.

Einstellung

Die Eigenschaft DividingLines verwendet die folgenden Einstellungen:

Einstellung	Beschreibung	Visual Basic
Ja	(Standardeinstellung) Trennlinien unterteilen Bereiche und Datensätze in Endlosformularen.	True (-1)
Nein	Es werden keine Trennlinien verwendet.	False (0)
Sie können die Eigenschaft DividingLines im Eigenschaftenfenster des Formulars, in einem Makro oder in Visual Basic einstellen.

Diese Eigenschaft kann in allen Ansichten eingestellt werden.


Selected-Eigenschaft (Ausgewählt)

Sie können mit der Eigenschaft Selected in Visual Basic für ein Element eines Listenfelds ermitteln, ob es ausgewählt ist.

Einstellung

Die Eigenschaft Selected ist ein auf Null basierendes Datenfeld, das für jeden Eintrag eines Listenfelds angibt, ob er ausgewählt ist oder nicht.

Einstellung	Beschreibung
True (-1)	Das Listenfeldelement ist ausgewählt.
False (0)	Das Listenfeldelement ist nicht ausgewählt.
Sie können die Eigenschaft Selected über Visual Basic abrufen oder einstellen.

Diese Eigenschaft ist nur zur Laufzeit verfügbar.

Hinweis

Wenn die Eigenschaft MultiSelect eines Listenfeld-Steuerelements auf Keine eingestellt ist, kann nur für ein Element die Eigenschaft Selected auf True eingestellt sein. Wenn die Eigenschaft MultiSelect eines Listenfeld-Steuerelements auf Einzeln oder Erweitert eingestellt ist, kann die Eigenschaft Selected für jedes Element auf True eingestellt sein. Die Eigenschaft Value eines Mehrfachauswahl-Listenfelds, das an ein Feld gebunden ist, ist immer auf Null eingestellt. Sie können die Eigenschaft Selected oder die Auflistung ItemsSelected verwenden, um die ausgewählten Elemente zu bestimmen.

Sie können die Eigenschaft Selected verwenden, um Elemente eines Listenfelds über Visual Basic auszuwählen. Der folgende Ausdruck wählt z.B. das fünfte Element der Liste aus:

Me!Listbox.Selected(4) = True


Selected-Eigenschaft (Ausgewählt) - Beispiel

Das folgende Beispiel verwendet die Eigenschaft Selected, um ausgewählte Elemente des Listenfelds lstQuelle zum Listenfeld lstZiel zu übertragen. Die Eigenschaft RowSourceType des Listenfelds lstZiel ist auf Wertliste eingestellt, und die Eigenschaft RowSource des Steuerelements wird aus allen im Steuerelement lstQuelle ausgewählten Elementen gebildet. Die Eigenschaft MultiSelect des Listenfelds lstQuelle ist auf Erweitert eingestellt. Die Funktion CopySelected( ) wird durch die Befehlsschaltfläche cmdElementeKopieren aufgerufen.

Sub cmdElementeKopieren_Click()

CopySelected Me

End Sub

Function CopySelected(frm As Form) As Integer

Dim ctlQuelle As Control

Dim ctlZiel As Control

Dim strElemente As String

Dim intAktuelleZeile As Integer

Set ctlQuelle = frm!lstQuelle

Set ctlZiel = frm!lstZiel

For intAktuelleZeile = 0 To ctlQuelle.Listcount - 1

If ctlQuelle.Selected(intAktuelleZeile) Then

strElemente = strElemente & ctlQuelle.Column(0, intAktuelleZeile) & ";"

End If

Next intAktuelleZeile

' Eigenschaft RowSource des Zielsteuerelements

' zurücksetzen.

ctlZiel.RowSource = ""

ctlZiel.RowSource = strElemente

End Function


TripleState-Eigenschaft (DreifacherStatus)

Sie können mit der Eigenschaft TripleState angeben, wie Null-Werte von einem Kontrollkästchen, einer Umschaltfläche oder einem Optionsfeld angezeigt werden sollen.

Anmerkung   Die Eigenschaft TripleState gilt nicht für die angegebenen Steuerelemente, wenn diese innerhalb eines Optionsgruppen-Steuerelements verwendet werden.

Einstellung

Die Eigenschaft TripleState verwendet die folgenden Einstellungen:

Einstellung	Beschreibung	Visual Basic
Ja	Das Steuerelement durchläuft verschiedene Stadien für Ja-, Nein- und Null-Werte. Das Steuerelement wird abgeblendet dargestellt, wenn seine Eigenschaft Value auf Null eingestellt ist.	True (-1)
Nein	(Standardeinstellung) Das Steuerelement durchläuft Stadien für Ja- und Nein-Werte. Null-Werte werden wie Nein-Werte angezeigt.	False (0)
Sie können die Eigenschaft TripleState im Eigenschaftenfenster eines Steuerelements, in einem Makro oder in Visual Basic einstellen.

Diese Eigenschaft kann in allen Ansichten eingestellt werden.


CurrentX-, CurrentY-Eigenschaften (KoordinateX, KoordinateY)

Sie können die Eigenschaften CurrentX und CurrentY zum Einstellen der horizontalen und vertikalen Koordinaten für die Startposition der nächsten Druck- und Zeichen-Methode in einem Bericht verwenden. Sie können mit diesen Eigenschaften z.B. feststellen, wo sich der Kreismittelpunkt in einem Berichtsbereich befindet.

Einstellung

•	Die Eigenschaft CurrentX gibt einen Wert vom Datentyp Single in einem numerischen Ausdruck an, der die horizontale Koordinate der nächsten Druck- oder Zeichenmethode einstellt.

•	Die Eigenschaft CurrentY gibt einen Wert vom Datentyp Single in einem numerischen Ausdruck an, der die vertikale Koordinate der nächsten Druck- oder Zeichenmethode einstellt.

Die Koordinaten werden von der oberen linken Ecke des Berichtsbereichs aus gemessen, der den Verweis auf die Eigenschaft CurrentX oder CurrentY enthält. Die Einstellung der Eigenschaft CurrentX hat für den linken Rand des Bereichs den Wert 0, und die Einstellung der Eigenschaft CurrentY hat für den oberen Rand des Bereichs den Wert 0.

Die Eigenschaften CurrentX und CurrentY können nur in einem Makro oder in einer Visual Basic-Ereignisprozedur eingestellt werden, die in der Einstellung der Eigenschaft OnPrint eines Berichtsbereichs angegeben ist.

Hinweis

Verwenden Sie die Eigenschaft ScaleMode, um die Maßeinheit (Punkt, Pixel, Zeichen, Zoll, Millimeter oder Zentimeter) zu definieren, die für die Koordinaten verwendet werden.

Wenn Sie die folgenden Grafikmethoden verwenden, werden die Einstellungen für CurrentX und CurrentY wie folgt geändert:

Methode	Wert für CurrentX und CurrentY
Circle	Mittelpunkt des Objekts.
Line	Endpunkt der Linie (die Koordinaten x2 und y2).
Print	Nächste Druckposition.


DrawMode-Eigenschaft

Mit der Eigenschaft DrawMode können Sie angeben, wie sich der Stift (die beim Zeichnen verwendete Farbe) auf vorhandene Hintergrundfarben in einem Bericht auswirkt, wenn eine der Methoden Line, Circle oder PSet zum Zeichnen in einem Bericht verwendet wird.

Einstellung

Die Eigenschaft DrawMode hat folgende Einstellungen.

Einstellung	Beschreibung
1	Schwarzer Stift.
2	Umkehrung von Einstellung 15 (Nicht-Stift-Mischen, NotMergePen).
3	Kombination der Farben, die die Hintergrundfarbe und die Umkehrung der Stiftfarbe gemeinsam haben (Maskieren-Nicht-Stift, MaskNotPen).
4	Umkehrung von Einstellung 13 (Nicht-Stift-Kopieren, NotCopyPen).
5	Kombination der Farben, die der Stift und die Umkehrung des Bildschirms gemeinsam haben (Stift-Maskieren-Nicht, MaskPenNot).
6	Umkehrung der Bildschirmfarbe (Invers, Invert).
7	Kombination der Farben des Stifts und des Bildschirms, die beide nicht gemeinsam haben (Stift-Xor, XorPen).
8	Umkehrung von Einstellung 9 (Nicht-Stift-Maskieren, NotMaskPen).
9	Kombination der Farben, die Stift und Bildschirm gemeinsam haben (Stift-Maskieren, MaskPen).
10	Umkehrung von Einstellung 7 (Nicht-Stift-Xor, NotXorPen).
11	Keine Operation - die Ausgabe wird nicht verändert. Diese Einstellung deaktiviert den Zeichenmodus (Keine-Operation, Nop).
12	Kombination der Bildschirmfarbe und der Umkehrung der Stiftfarbe (Mischen-Nicht-Stift, MergeNotPen).
13	(Standardeinstellung) Die mit der Eigenschaft ForeColor festgelegte Farbe (Stift-Kopieren, CopyPen).
14	Kombination der Stiftfarbe und der Umkehrung der Bildschirmfarbe (Stift-Mischen-Nicht, MergePenNot).
15	Kombination der Stiftfarbe und der Bildschirmfarbe (Stift-Mischen, MergePen).
16	Weißer Stift.
Die Einstellung der Eigenschaft DrawMode ist ein Wert vom Typ Integer.

Sie können die Eigenschaft DrawMode in einem Makro oder in einer Visual Basic-Ereignisprozedur einstellen, die in der Einstellung der Eigenschaft OnPrint eines Bereichs angegeben ist.

Hinweis

Verwenden Sie diese Eigenschaft, um beim Zeichnen in einem Bericht optische Effekte zu erzielen. Microsoft Access vergleicht jedes Pixel im Zeichenmuster mit dem entsprechenden Pixel im vorhandenen Hintergrund, um festzustellen, wie die Zeichnung im Bericht ausgegeben wird. Beispielsweise verwendet Einstellung 7 den Operator Xor, um ein Zeichenmuster-Pixel mit einem Hintergrund-Pixel zu kombinieren.


DrawStyle-Eigenschaft

Sie können die Eigenschaft DrawStyle verwenden, um die Linienart für die Methoden Line und Circle zu definieren, wenn Sie Linien in Berichten ausgeben möchten.

Einstellung

Die Eigenschaft DrawStyle verwendet die folgenden Einstellungen.

Einstellung	Beschreibung
0	(Standardeinstellung) Durchgezogen, innen transparent
1	Gestrichelt, innen transparent
2	Gepunktet, innen transparent
3	Strichlinie Punkt, innen transparent
4	Strichlinie Punkt Punkt, innen transparent
5	Unsichtbare Linie, innen transparent
6	Unsichtbare Linie, innen durchgezogen
Die Einstellung der Eigenschaft DrawStyle ist ein Wert vom Typ Integer.

Sie können diese Eigenschaft in einem Makro oder in einer Visual Basic-Ereignisprozedur einstellen, die in der Einstellung der Eigenschaft OnPrint eines Bereichs angegeben ist.

Hinweis

Die Eigenschaft DrawStyle erzielt die oben beschriebenen Ergebnisse, wenn Sie für die Eigenschaft DrawWidth den Wert 1 einstellen. Wenn für die Eigenschaft DrawWidth ein größerer Wert als 3 eingestellt ist, erzeugen die Einstellungen 1 bis 4 der Eigenschaft DrawStyle eine durchgezogene Linie (der Wert der Eigenschaft DrawStyle wird nicht verändert).


DrawWidth-Eigenschaft

Sie können die Eigenschaft DrawWidth verwenden, um die Linienbreite für die Methoden Line, Circle und PSet einzustellen, wenn Sie Linien in Berichten ausgeben möchten.

Einstellung

Sie können für die Eigenschaft DrawWidth einen Wert vom Typ Integer im Bereich von 1 bis 32.767 einstellen. Dieser Wert gibt die Linienbreite in Pixeln an. Die Standardeinstellung ist 1, d.h. eine Breite von 1 Pixel.

Sie können diese Eigenschaft in einem Makro oder in einer Visual Basic-Ereignisprozedur einstellen, die in der Einstellung der Eigenschaft OnPrint eines Bereichs angegeben ist.

Hinweis

Erhöhen Sie den Wert für diese Einstellung, um die Linienbreite zu vergrößern. Wenn für die Eigenschaft DrawWidth ein größerer Wert als 3 eingestellt ist, erzeugen die Einstellungen 1 bis 4 der Eigenschaft DrawStyle eine durchgezogene Linie (der Wert der Eigenschaft DrawStyle wird nicht verändert). Wenn Sie für die Eigenschaft DrawWidth den Wert 1 einstellen, können Sie die in der Tabelle der Eigenschaft DrawStyle beschriebenen Ergebnisse erzielen.


FillStyle-Eigenschaft

Mit der Eigenschaft FillStyle können Sie angeben, ob ein Kreis oder eine Linie, der bzw. die mit der Methode Circle oder Line gezeichnet wird, transparent, undurchsichtig oder mit einem Muster gefüllt ist.

Einstellung

Die Eigenschaft FillStyle verwendet die folgenden Einstellungen.

Einstellung	Beschreibung
0	Undurchsichtig
1	(Standardeinstellung) Transparent
2	Horizontale Linie
3	Vertikale Linie
4	Steigende Diagonale
5	Fallende Diagonale
6	Kreuzschraffur
7	Diagonale Kreuzschraffur
Sie können die Eigenschaft FillStyle in einem Makro oder in einer Visual Basic-Ereignisprozedur einstellen, die in der Einstellung der Eigenschaft OnPrint eines Bereichs angegeben ist.

Hinweis

Wenn die Eigenschaft FillStyle auf 0 eingestellt wird, wird die Farbe des Kreises oder der Linie durch die Einstellung der Eigenschaft FillColor bestimmt. Ist die Eigenschaft FillStyle auf 1 eingestellt, so wird das Innere des Kreises oder der Linie transparent und in der Farbe des im Hintergrund dargestellten Berichts angezeigt.

Um die Eigenschaft FillStyle verwenden zu können, müssen Sie die Eigenschaft SpecialEffect auf Normal einstellen.


ScaleHeight-, ScaleWidth-Eigenschaften

Sie können die Eigenschaften ScaleHeight und ScaleWidth verwenden, um die Anzahl der Einheiten für die horizontale und vertikale Abmessung der Seite anzugeben, wenn die Methoden Circle, Line, PSet oder Print verwendet werden, während ein Bericht in der Seitenansicht angezeigt, gedruckt oder die Ausgabe in einer Datei gespeichert wird.

Einstellung

•	Die Eigenschaft ScaleHeight gibt einen Wert vom Datentyp Single in einem numerischen Ausdruck an, der die Anzahl der Einheiten für die vertikale Abmessung der Seite einstellt.

•	Die Eigenschaft ScaleWidth gibt einen Wert vom Datentyp Single in einem numerischen Ausdruck an, der die Anzahl der Einheiten für die horizontale Abmessung der Seite einstellt.

Die Standardeinstellungen sind die interne Höhe und Breite einer Berichtsseite in Twips.

Sie können die Eigenschaften ScaleHeight und ScaleWidth in einem Makro oder in einer Visual Basic-Ereignisprozedur einstellen, die in der Einstellung der Eigenschaft OnPrint eines Bereichs angegeben ist.

Hinweis

Mit Hilfe der Eigenschaften ScaleHeight und ScaleWidth können Sie eine benutzerdefinierte Koordinatenskala zum Zeichnen oder Drucken erstellen. Beispielsweise definiert die Anweisung ScaleHeight = 100 die Innenhöhe des Bereichs zu 100 Einheiten, d.h. eine vertikale Einheit entspricht 1/100 der Höhe.

Verwenden Sie die Eigenschaft ScaleMode, um einen Maßstab auf der Basis einer Standardmaßeinheit, wie z.B. Punkt, Pixel, Zeichen, Zoll, Millimeter oder Zentimeter, zu definieren.

Wenn Sie für die Eigenschaften ScaleHeight und ScaleWidth positive Werte angeben, werden die Koordinatenwerte von oben nach unten und von links nach rechts größer. Wenn Sie negative Werte angeben, werden die Koordinatenwerte von unten nach oben und von rechts nach links größer.

Wenn Sie diese Eigenschaften und die verwandten Eigenschaften ScaleLeft und ScaleTop verwenden, können Sie ein vollständiges Koordinatensystem mit positiven und negativen Koordinaten einrichten. Diese vier Skalierungseigenschaften und die Eigenschaft ScaleMode stehen in folgender Wechselwirkung miteinander:

•	Wenn Sie eine andere Skalierungseigenschaft auf einen beliebigen Wert einstellen, wird die Eigenschaft ScaleMode automatisch auf den Wert 0 eingestellt.

•	Wenn Sie für die Eigenschaft ScaleMode einen größeren Wert als 0 einstellen, werden die Werte für die Eigenschaften ScaleHeight und ScaleWidth in die neue Maßeinheit geändert, und für die Eigenschaften ScaleLeft und ScaleTop wird automatisch der Wert 0 eingestellt. Darüber hinaus ändern sich auch die Einstellungen der Eigenschaften CurrentX und CurrentY entsprechend den neuen Koordinaten der aktuellen Position.

Sie können auch die Methode Scale verwenden, um die Eigenschaften ScaleHeight, ScaleWidth, ScaleLeft und ScaleTop in einer einzigen Anweisung einzustellen.

Anmerkung   Die Eigenschaften ScaleHeight und ScaleWidth sind nicht mit den Eigenschaften Height und Width identisch.


ScaleLeft-, ScaleTop-Eigenschaften

Sie können die Eigenschaften ScaleLeft und ScaleTop verwenden, um die horizontalen und vertikalen Koordinaten der Position des linken und oberen Seitenrandes anzugeben, wenn die Methoden Circle, Line, PSet oder Print verwendet werden, während ein Bericht in der Seitenansicht angezeigt, gedruckt oder die Ausgabe in einer Datei gespeichert wird.

Einstellung

•	Die Eigenschaft ScaleLeft gibt einen Wert vom Datentyp Single in einem numerischen Ausdruck an, der die Anzahl der Einheiten für die horizontale Koordinate des linken Randes einer Seite angibt. Die Standardeinstellung ist 0.

•	Die Eigenschaft ScaleTop gibt einen Wert vom Datentyp Single in einem numerischen Ausdruck an, der die Anzahl der Einheiten für die vertikale Koordinate des oberen Randes einer Seite angibt. Die Standardeinstellung ist 0.

Sie können die Eigenschaften ScaleLeft und ScaleTop in einem Makro oder in einer Visual Basic-Ereignisprozedur einstellen, die in der Einstellung der Eigenschaft OnPrint eines Bereichs angegeben ist.

Hinweis

Wenn Sie diese Eigenschaften und die verwandten Eigenschaften ScaleHeight und ScaleWidth verwenden, können Sie ein vollständiges Koordinatensystem mit positiven und negativen Koordinaten einrichten. Diese vier Skalierungseigenschaften und die Eigenschaft ScaleMode stehen in folgender Wechselwirkung miteinander:

•	Wenn Sie eine andere Skalierungseigenschaft auf einen beliebigen Wert einstellen, wird die Eigenschaft ScaleMode automatisch auf den Wert 0 eingestellt.

•	Wenn Sie für die Eigenschaft ScaleMode einen größeren Wert als 0 einstellen, werden die Werte für die Eigenschaften ScaleHeight und ScaleWidth in die neue Maßeinheit geändert, und für die Eigenschaften ScaleLeft und ScaleTop wird automatisch der Wert 0 eingestellt. Darüber hinaus ändern sich auch die Einstellungen der Eigenschaften CurrentX und CurrentY entsprechend den neuen Koordinaten der aktuellen Position.

Sie können auch die Methode Scale verwenden, um die Eigenschaften ScaleHeight, ScaleWidth, ScaleLeft und ScaleTop in einer einzigen Anweisung einzustellen.

Anmerkung   Die Eigenschaften ScaleLeft und ScaleTop sind nicht mit den Eigenschaften Left und Top identisch.


ScaleMode-Eigenschaft

Sie können die Eigenschaft ScaleMode in Visual Basic verwenden, um die Maßeinheit für die Koordinaten auf einer Seite anzugeben, wenn die Methoden Circle, Line, PSet oder Print verwendet werden, während ein Bericht in der Seitenansicht angezeigt, gedruckt oder die Ausgabe in einer Datei gespeichert wird.

Einstellung

Die Eigenschaft ScaleMode verwendet die folgenden Einstellungen.

Einstellung	Beschreibung
0	Mindestens eine der Eigenschaften ScaleHeight, ScaleWidth, ScaleLeft und ScaleTop ist auf einen benutzerdefinierten Wert eingestellt.
1	(Standardeinstellung) Twip
2	Punkt
3	Pixel
4	Zeichen (horizontal = 120 Twips je Einheit; vertikal = 240 Twips je Einheit)
5	Zoll
6	Millimeter
7	Zentimeter
Die Einstellung der Eigenschaft ist ein Wert vom Typ Integer.

Sie können die Eigenschaft ScaleMode in einem Makro oder in einer Visual BasicEreignisprozedur einstellen, die in der Einstellung der Eigenschaft OnPrint eines Bereichs angegeben ist.

Hinweis

Wenn Sie die verwandten Eigenschaften ScaleHeight, ScaleWidth, ScaleLeft und ScaleTop verwenden, können Sie ein vollständiges Koordinatensystem mit positiven und negativen Koordinaten einrichten. Diese vier Skalierungseigenschaften stehen mit der Eigenschaft ScaleMode in folgender Wechselwirkung:

•	Wenn Sie eine andere Skalierungseigenschaft auf einen beliebigen Wert einstellen, wird die Eigenschaft ScaleMode automatisch auf den Wert 0 eingestellt.

•	Wenn Sie für die Eigenschaft ScaleMode einen größeren Wert als 0 einstellen, werden die Werte für die Eigenschaften ScaleHeight und ScaleWidth in die neue Maßeinheit geändert, und für die Eigenschaften ScaleLeft und ScaleTop wird automatisch der Wert 0 eingestellt. Darüber hinaus ändern sich auch die Einstellungen der Eigenschaften CurrentX und CurrentY entsprechend den neuen Koordinaten der aktuellen Position.


DateGrouping-Eigenschaft (Datumsgruppierung)

Mit der Eigenschaft DateGrouping können Sie angeben, wie Datumsangaben in einem Bericht gruppiert werden sollen. Verwenden Sie z.B. die Einstellung US-Standard, so beginnt die Woche mit dem Sonntag. Wenn Sie die Eigenschaft GroupOn eines Feldes Datum/Uhrzeit auf Woche einstellen, gruppiert der Bericht die Daten daher von Sonntag bis Samstag.

Anmerkung   Die Einstellung der Eigenschaft DateGrouping gilt für den gesamten Bericht, nicht nur für eine bestimmte Gruppe im Bericht.

Einstellung

Die Eigenschaft DateGrouping verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
US-Standard	Microsoft Access verwendet die US-Standardeinstellungen für den ersten Tag in der Woche (Sonntag) und die erste Woche des Jahres (Woche, in die der 1. Januar fällt).	0
Systemeinstellungen verwenden	(Standardeinstellung) Microsoft Access verwendet die Einstellungen, die in der Systemsteuerung von Windows in den Ländereinstellungen unter Gebietsschema im Dialogfeld Eigenschaften von Ländereinstellungen ausgewählt sind.	1
Sie können diese Eigenschaft im Eigenschaftenfenster des Berichts, in einem Makro oder in Visual Basic einstellen.

Sie können die Eigenschaft DateGrouping nur in der Berichts-Entwurfsansicht oder in der Ereignisprozedur Open eines Berichts einstellen.

Hinweis

Die Einstellung der Eigenschaft DateGrouping wirkt sich nicht auf die in einem Bericht verwendete Sortierreihenfolge aus.


GroupHeader-, GroupFooter-Eigenschaften (Gruppenkopf, Gruppenfuß)

Sie können die Eigenschaften GroupHeader und GroupFooter verwenden, um einen Gruppenkopf oder einen Gruppenfuß für ein ausgewähltes Feld oder einen ausgewählten Ausdruck in einem Bericht zu erstellen. Sie können Gruppenköpfe und -füße zur Bezeichnung von Gruppen oder zur Zusammenfassung von Daten in einer Gruppe verwenden. Wenn Sie beispielsweise die Eigenschaft GroupHeader für das Feld Kategorie auf Ja einstellen, beginnt jede Artikelgruppe mit ihrem Kategorienamen.

Einstellung

Die Eigenschaften GroupHeader und GroupFooter verwenden die folgenden Einstellungen.

Einstellung	Beschreibung
Ja	Erstellt einen Gruppenkopf oder Gruppenfuß.
Nein	(Standardeinstellung) Erstellt keinen Gruppenkopf oder Gruppenfuß.
Sie stellen diese Eigenschaften im Fenster Sortieren und Gruppieren ein.

Sie können diese Eigenschaften nur in der Berichts-Entwurfsansicht einstellen.

Anmerkung   In Visual Basic können Sie diese Eigenschaften nicht direkt einstellen oder auf sie verweisen. Um einen Gruppenkopf oder -fuß für ein Feld oder einen Ausdruck in Visual Basic zu erstellen, verwenden Sie die Funktion CreateGroupLevel.

Hinweis

Wenn die Gruppierungseigenschaften GroupOn, GroupInterval und KeepTogether - von der Standardeinstellung abweichende Werte erhalten sollen, müssen Sie zuerst die Eigenschaften GroupHeader und/oder GroupFooter für das ausgewählte Feld oder den ausgewählten Ausdruck auf Ja einstellen.


GroupInterval-Eigenschaft (Intervall)

Sie können die Eigenschaft GroupInterval zusammen mit der Eigenschaft GroupOn verwenden, um anzugeben, wie Daten in einem Bericht gruppiert werden. Die Eigenschaft GroupInterval gibt ein Intervall an, nach dem die Daten gruppiert werden. Das Intervall hängt vom Datentyp und der Einstellung der Eigenschaft GroupOn des Feldes oder Ausdrucks ab, nach dem Sie gruppieren. Sie können z.B. die Eigenschaft GroupInterval auf 1 einstellen, um Datensätze nach dem ersten Zeichen eines Textfelds wie z.B. Artikelname zu gruppieren.

Einstellung

Die Einstellungen der Eigenschaft GroupInterval sind Werte vom Typ Integer, die vom Datentyp des Feldes und von der Einstellung der Eigenschaft GroupOn abhängen. Die Standardeinstellung der Eigenschaft GroupInterval ist 1.

Sie können diese Eigenschaft im Fenster Sortieren und Gruppieren, in einem Makro oder in Visual Basic einstellen.

Sie können die Eigenschaft GroupInterval nur in der Berichts-Entwurfsansicht oder in der Ereignisprozedur Open eines Berichts einstellen.

Hinweis

Die folgenden Beispiele zeigen Einstellungen für die Eigenschaft GroupInterval für verschiedene Felddatentypen.

Felddatentyp	Einstellung für GroupOn (Gruppieren nach)	Einstellung für GroupInterval (Intervall)
Alle	Jedem Wert	(Standardeinstellung) 1.
Text	Anfangszeichen	3. Es wird nach den ersten drei Zeichen im Feld gruppiert (z.B. würden Chai, Chartreuse und Chang zusammen gruppiert).
Datum/Zeit	Woche	2. Die Daten werden in 14-Tage-Gruppen (2 Wochen) zurückgegeben.
Datum/Zeit	Stunde	12. Die Daten werden in 12-Stunden-Gruppen (Halbtag) zurückgegeben.
Wenn die Eigenschaft GroupInterval einen von der Standardeinstellung (1) abweichenden Wert erhalten soll, müssen Sie zuerst die Eigenschaften GroupHeader und/oder GroupFooter für das markierte Feld oder den markierten Ausdruck auf Ja einstellen.


GroupLevel-Eigenschaft (Gruppenebene)

Sie können die Eigenschaft GroupLevel in Visual Basic verwenden, um auf die Gruppenebene zu verweisen, nach der ein Bericht gruppiert oder sortiert werden soll.

Einstellung

Die Einstellung für die Eigenschaft GroupLevel ist ein Datenfeld, in dem jeder Eintrag eine Gruppenebene kennzeichnet. Verwenden Sie die folgende Syntax, um auf eine Gruppenebene zu verweisen:

GroupLevel (n)

Die Zahl n ist die Gruppenebene, beginnend mit 0. Das erste Feld oder der erste Ausdruck, nach dem Sie gruppieren, hat die Gruppenebene 0, das zweite die Gruppenebene 1 usw. Bis zu 10 Gruppenebenen (0 bis 9) sind möglich.

Die folgenden Beispiele zeigen, wie Sie die Eigenschaft GroupLevel verwenden, um auf eine Gruppenebene zu verweisen.

Group level	Bezug auf
GroupLevel(0)	das erste Feld oder den ersten Ausdruck, nach dem Sie sortieren oder gruppieren.
GroupLevel(1)	das zweite Feld oder den zweiten Ausdruck, nach dem Sie sortieren oder gruppieren.
GroupLevel(2)	das dritte Feld oder den dritten Ausdruck, nach dem Sie sortieren oder gruppieren.
Sie können diese Eigenschaft nur in Visual Basic verwenden, um die Eigenschaften SortOrder, GroupOn, GroupInterval, KeepTogether und ControlSource einzustellen. Sie stellen diese Eigenschaften in der Ereignisprozedur Open eines Berichts ein.

Hinweis

In Berichten können Sie nach mehreren Feldern oder Ausdrücken gruppieren oder sortieren. Jedes Feld oder jeder Ausdruck, nach dem Sie gruppieren oder sortieren, ist eine Gruppenebene.

Mit der Funktion CreateGroupLevel geben Sie die Felder und Ausdrücke an, nach denen sortiert und gruppiert wird.

Wenn für einen Bericht bereits eine Gruppe definiert ist (die Eigenschaft GroupLevel ist auf 0 eingestellt), können Sie mit der Eigenschaft ControlSource die Gruppenebene in der Ereignisprozedur Open des Berichts zurücksetzen. Beispielsweise ändert der folgende Code die Eigenschaft ControlSource auf den Wert des Textfelds txtEingabe in einem geöffneten Formular namens FormularSortieren:

Private Sub Report_Open(Cancel As Integer)

Me.GroupLevel(0).ControlSource _

= Forms!FormularSortieren!txtEingabe

End Sub


Gruppierungseigenschaften - Beispiel

Das folgende Beispiel stellt die Eigenschaft SortOrder und die Gruppierungseigenschaften für die erste Gruppenebene im Bericht Artikel nach Kategorie ein, um eine alphabetische Artikelliste zu erstellen.

Private Sub Report_Open(Cancel As Integer)

' Eigenschaft SortOrder (Sortierreihenfolge) auf aufsteigend einstellen.

Me.GroupLevel(0).SortOrder = False

' Eigenschaft GroupOn (GruppierenNach)auf Anfangszeichen einstellen.

Me.GroupLevel(0).GroupOn = 1

' Eigenschaft GroupInterval (Intervall) auf 1 einstellen.

Me.GroupLevel(0).GroupInterval = 1

' Eigenschaft KeepTogether(Zusammenhalten) auf "Mit 1. Detaildatensatz" einstellen.

Me.GroupLevel(0).KeepTogether = 2

End Sub


GroupOn-Eigenschaft (GruppierenNach)

Mit der Eigenschaft GroupOn können Sie angeben, wie Daten in einem Feld oder Ausdruck nach Datentyp gruppiert werden sollen. Diese Eigenschaft ermöglicht beispielsweise das Gruppieren eines Datumsfelds nach Monaten.

Einstellung

Die möglichen Einstellungen der Eigenschaft GroupOn für ein Feld hängen vom Datentyp des Feldes ab; sie werden in der folgenden Tabelle beschrieben. Bei einem Ausdruck stehen alle Einstellungen zur Verfügung. Die Standardeinstellung für alle Datentypen ist Jedem Wert.

Felddatentyp	Einstellung	Datensätze gruppieren nach	Visual Basic
Text	(Standardeinstellung) Jedem Wert	demselben Wert im Feld oder Ausdruck.	0
	Anfangszeichen	den ersten n übereinstimmenden Zeichen im Feld oder Ausdruck.	1
Datum/Zeit	(Standardeinstellung) Jedem Wert	demselben Wert im Feld oder Ausdruck.	0
	Jahr	Datumsangaben im selben Kalenderjahr.	2
	Quartal	Datumsangaben in demselben Quartal.	3
	Monat	Monat.	4
	Woche	Datumsangaben in derselben Woche.	5
	Tag	Datumsangaben an demselben Tag.	6
	Stunde	Zeitangaben in derselben Stunde.	7
	Minute	Zeitangaben in derselben Minute.	8
AutoWert, Währung, Zahl	(Standardeinstellung) Jedem Wert	demselben Wert im Feld oder Ausdruck.	0
	Intervall	Werten innerhalb eines von Ihnen angegebenen Intervalls.	9
Sie können die Eigenschaft GroupOn im Fenster Sortieren und Gruppieren, in einem Makro oder in Visual Basic einstellen.

In Visual Basic stellen Sie diese Eigenschaft in der Ereignisprozedur Open eines Berichts ein.

Hinweis

Wenn die Eigenschaft GroupOn einen anderen Wert als Jedem Wert erhalten soll, müssen Sie vorher die Eigenschaften GroupHeader und/oder GroupFooter für das ausgewählte Feld oder den ausgewählten Ausdruck auf Ja einstellen.


KeepTogether-Eigenschaft (Zusammenhalten) - Gruppen

Sie können die Eigenschaft KeepTogether für eine Gruppe in einem Bericht verwenden, um Teile einer Gruppe - einschließlich des Gruppenkopfs, des Detailbereichs und des Gruppenfußes - auf der gleichen Seite zusammenzuhalten. Beispielsweise können Sie hiermit erreichen, daß Gruppenkopf und erster Detailbereich immer auf der gleichen Seite gedruckt werden.

Einstellung

Die Eigenschaft KeepTogether verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Nein	(Standardeinstellung) Die Gruppe wird gedruckt, ohne Gruppenkopf, Detailbereich und Gruppenfuß auf derselben Seite zusammenzuhalten.	0
Ganze Gruppe	Gruppenkopf, Detailbereich und Gruppenfuß werden auf derselben Seite gedruckt	1
Mit 1. Detaildatensatz	Der Gruppenkopf wird nur dann auf einer Seite gedruckt, wenn auch der erste Detaildatensatz gedruckt werden kann.	2
Sie können die Eigenschaft KeepTogether im Fenster Sortieren und Gruppieren eines Berichts, in einem Makro oder in Visual Basic einstellen.

In Visual Basic stellen Sie die Eigenschaft KeepTogether für eine Gruppe in der Entwurfsansicht oder in der Ereignisprozedur Open eines Berichts unter Verwendung der Eigenschaft GroupLevel ein.

Hinweis

Wenn die Eigenschaft KeepTogether einen anderen Wert als Nein erhalten soll, müssen Sie zuerst die Eigenschaften GroupHeader und/oder GroupFooter für das markierte Feld oder den markierten Ausdruck auf Ja einstellen.

Eine Gruppe umfaßt Gruppenkopf, Detailbereich und Gruppenfuß. Wenn Sie die Eigenschaft KeepTogether für eine Gruppe auf Ganze Gruppe einstellen und die Gruppe nicht auf eine Seite paßt, ignoriert Microsoft Access die Einstellung für diese Gruppe. Die Einstellung wird ebenfalls ignoriert, wenn Sie Mit 1. Detaildatensatz wählen und der Gruppenkopf oder der Detaildatensatz nicht auf eine Seite paßt.

Wenn die Eigenschaft KeepTogether für einen Bereich auf Nein und für eine Gruppe auf Ganze Gruppe oder Mit 1. Detaildatensatz eingestellt ist, wird die Einstellung für den Bereich ignoriert.


SortOrder-Eigenschaft (Sortierreihenfolge)

Sie können die Eigenschaft SortOrder zur Einstellung der Sortierreihenfolge für Felder und Ausdrücke in einem Bericht verwenden. Wenn Sie beispielsweise eine Lieferantenliste drucken, können Sie die Datensätze alphabetisch nach dem Firmennamen sortieren.

Einstellung

Die Eigenschaft SortOrder verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Aufsteigend	(Standardeinstellung) Die Werte werden in aufsteigender Reihenfolge (A-Z, 0-9) sortiert.	False (0)
Absteigend	Die Werte werden in absteigender Reihenfolge (Z-A, 9-0) sortiert.	True (-1)
Sie können die Eigenschaft SortOrder im Fenster Sortieren und Gruppieren eines Berichts, in einem Makro oder in Visual Basic einstellen.

In Visual Basic stellen Sie die Eigenschaft SortOrder in der Berichts-Entwurfsansicht oder in der Ereignisprozedur Open eines Berichts unter Verwendung der Eigenschaft GroupLevel ein.


ImageHeight-Eigenschaft

Sie können die Eigenschaft ImageHeight in Visual Basic verwenden, um die Höhe des Bildes in einem Bild-Steuerelement in Twips festzulegen.

Einstellung

Die Eigenschaft ImageHeight ist ein Wert vom Datentyp Integer, der der Höhe eines Bildes in Twips entspricht.

Diese Eigenschaft ist in allen Ansichten schreibgeschützt.

Hinweis

Sie können die Eigenschaft ImageHeight zusammen mit der Eigenschaft ImageWidth zur Festlegung der Größe eines Bildes in einem Bild-Steuerelement verwenden. Sie könnten diese Information dann dazu verwenden, die Eigenschaften Height und Width des Bild-Steuerelements der Größe des angezeigten Bildes anzupassen.


ImageHeight-, ImageWidth-Eigenschaft - Beispiel

Das folgende Beispiel fordert den Benutzer dazu auf, den Namen einer Bitmap einzugeben, und weist diese Bitmap dann der Eigenschaft Picture des Bild-Steuerelements Bild1 zu. Die Eigenschaften ImageHeight und ImageWidth werden zur Größenänderung des Bild-Steuerelements in Abhängigkeit zur Größe der Bitmap verwendet.

Sub NeuesBildAbrufen(frm As Form)

Dim ctlBild As Control

Set ctlBild = frm!Bild1

ctlBild.Picture = InputBox("Pfad und Dateiname für neue Bitmap?")

ctlBild.Height = ctlBild.ImageHeight

ctlBild.Width = ctlBild.ImageWidth

End Sub


ImageWidth-Eigenschaft

Sie können die Eigenschaft ImageWidth in Visual Basic dazu verwenden, die Breite eines Bildes in einem Bild-Steuerelement in Twips festzulegen.

Einstellung

Die Eigenschaft ImageWidth ist ein Wert vom Datentyp Integer, der der Breite eines Bildes in Twips entspricht.

Diese Eigenschaft ist in allen Ansichten schreibgeschützt.

Hinweis

Sie können die Eigenschaft ImageWidth zusammen mit der Eigenschaft ImageHeight zur Festlegung der Größe eines Bildes in einem Bild-Steuerelement verwenden. Sie könnten diese Information dann dazu verwenden, die Eigenschaften Height und Width des Bild-Steuerelements der Größe des angezeigten Bildes anzupassen.


EventProcPrefix-Eigenschaft (EreignisprozPräfix)

Mit der Eigenschaft EventProcPrefix können Sie das Präfix des Namens einer Ereignisprozedur ermitteln. Wenn Sie z.B. eine Befehlsschaltfläche mit einer Ereignisprozedur namens Details_Click haben, gibt die Eigenschaft EventProcPrefix die Zeichenfolge "Details" zurück.

Einstellung

Die Einstellung der Eigenschaft EventProcPrefix ist ein Zeichenfolgenausdruck.

Diese Eigenschaft ist nur in einem Makro oder in Visual Basic verfügbar und ist in allen Ansichten schreibgeschützt.

Hinweis

Microsoft Access setzt das Präfix des Namens einer Ereignisprozedur zusammen mit einem Unterstrich (_) vor den Namen des jeweiligen Ereignisses.


TimerInterval-Eigenschaft (Zeitgeberintervall)

Mit der Eigenschaft TimerInterval können Sie in Millisekunden die Länge des Intervalls angeben, das zwischen zwei Timer-Ereignissen eines Formulars liegen soll.

Einstellung

Die Einstellung der Eigenschaft TimerInterval ist ein Wert des Typs Long Integer zwischen 0 und 2.147.483.647.

Sie können diese Eigenschaft im Eigenschaftenfenster des jeweiligen Formulars, mit einem Makro oder mit Visual Basic einstellen.

Anmerkung   Aus Visual Basic stellen Sie die Eigenschaft TimerInterval in der Ereignisprozedur ein, die nach Eintreten des Ereignisses Load ausgeführt wird.

Hinweis

Wenn Sie Visual Basic-Code in Intervallen ausführen möchten, deren Länge durch die Eigenschaft TimerInterval angegeben ist, fügen Sie diesen Code in die Timer-Ereignisprozedur des entsprechenden Formulars ein. Wenn Sie z.B. alle 30 Sekunden Datensätze erneut abfragen möchten, können Sie wie folgt vorgehen: Sie schreiben den Code, mit dem die Datensätze wiederholt abgefragt werden, in die Timer-Ereignisprozedur des Formulars; danach stellen Sie die Eigenschaft TimerInterval auf 30000 ein.


TimerInterval-Eigenschaft (Zeitgeberintervall) - Beispiel

Das folgende Beispiel zeigt, wie Sie eine blinkende Schaltfläche auf einem Formular erstellen, indem Sie auf der Schaltfläche ein Symbol anzeigen und ausblenden. Die Load-Ereignisprozedur des Formulars stellt die Eigenschaft TimerInterval des Formulars auf 1000 ein, so daß die Anzeige des Symbols einmal pro Sekunde umgeschaltet wird.

Sub Form_Load()

Me.TimerInterval = 1000

End Sub

Sub Form_Timer()

Static intBildAnzeigen As Integer

If intBildAnzeigen Then

' Das Symbol anzeigen.

Me!btnBild.Picture = "C:\Icons\Flash.ico"

Else

' Das Symbol nicht anzeigen.

Me!btnBild.Picture = ""

End If

intBildAnzeigen = Not intBildAnzeigen

End Sub


AutoRepeat-Eigenschaft (MakroWiederholen)

Mit der Eigenschaft AutoRepeat können Sie angeben, ob eine Ereignisprozedur oder ein Makro wiederholt ausgeführt wird, solange die entsprechende Befehlsschaltfläche eines Formulars gedrückt ist.

Einstellung

Die Eigenschaft AutoRepeat  verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Ja	Das Makro oder die Ereignisprozedur, das bzw. die für das Ereignis Click angegeben ist, wird wiederholt ausgeführt, solange die Befehlsschaltfläche gedrückt ist.	True (-1)
Nein	(Standardeinstellung) Das Makro oder die Ereignisprozedur wird nur einmal ausgeführt.	False (0)
Sie können diese Eigenschaft im Eigenschaftenfenster der jeweiligen Befehlsschaltfläche, mit einem Makro oder mit Visual Basic einstellen

Hinweis

Die Ereignisprozedur oder das Makro wird, nachdem es das erstemal ausgeführt wurde, 0,5 Sekunden später erneut ausgeführt. Die weiteren Wiederholungen erfolgen dann abhängig davon, welcher Zeitraum länger ist, entweder alle 0,25 Sekunden oder im Anschluß an den Zeitraum, der für die Ausführung der Ereignisprozedur bzw. des Makros benötigt wird.

Bewirkt der Code, der der Befehlsschaltfläche zugeordnet ist, daß der aktueIle Datensatz geändert wird, hat die Eigenschaft AutoRepeat keine Auswirkungen.

Bewirkt der Code, der der Befehlsschaltfläche zugeordnet ist, daß ein anderes Steuerelement des jeweiligen Formulars geändert wird, sorgen Sie mit der Funktion DoEvents dafür, daß der Bildschirm korrekt aktualisiert wird.


Count-Eigenschaft (Anzahl)

Mit der Eigenschaft Count können Sie sowohl ermitteln, wie viele Formulare oder Berichte geöffnet sind, als auch, wie viele Steuerelemente sich auf einem geöffneten Formular oder Bericht befinden.

Einstellung

Die Einstellung der Eigenschaft Count ist ein Wert des Typs Integer und ist in allen Ansichten schreibgeschützt.

Die Einstellung der Eigenschaft Count eines Objekts können Sie mit einem Makro oder mit Visual Basic ermitteln.

Wenn keine Formulare oder Berichte geöffnet sind, hat die Eigenschaft Count den Wert 0.


Count-Eigenschaft (Anzahl) - Beispiel

Im folgenden Beispiel wird die Eigenschaft Count zum Steuern einer Schleife verwendet, die Informationen über alle geöffneten Formulare sowie deren Steuerelemente ausgibt.

Sub AnzeigenFormularSteuerelem()

Dim frm As Form, intI As Integer

Dim intJ As Integer

Dim intSteuerelem As Integer, intFormulare As Integer

intFormulare = Forms.Count	' Anzahl der geöffneten Formulare.

If intFormulare > 0 Then

For intI = 0 To intFormulare - 1

Set frm = Forms(intI)

Debug.Print frm.Name

intSteuerelem = frm.Count

If intSteuerelem > 0 Then

For intJ = 0 To intSteuerelem - 1

Debug.Print vbTab; frm(intJ).Name

Next intJ

Else

Debug.Print vbTab; "(Keine Steuerelemente)"

End If

Next intI

Else

MsgBox "Es ist kein Formular geöffnet.", vbExclamation, _

"Steuerelemente der Formulare"

End If

End Sub

Das nächste Beispiel ermittelt die Anzahl der Steuerelemente eines Formulars sowie eines Berichts und weist die jeweilige Zahl einer Variablen zu.

Dim intFormularSteuerlemente As Integer

Dim intBerichtSteuerlemente As Integer

intFormularSteuerlemente = Forms![Personal].Count

intBerichtSteuerlemente = Reports![Frachtkosten].Count


CurrentView-Eigenschaft (AktuelleAnsicht)

Mit der Eigenschaft CurrentView können Sie ermitteln, wie ein Formular momentan angezeigt wird. Sie möchten z.B. wissen, ob ein Formular in der Formularansicht oder in der Datenblattansicht angezeigt wird, bevor Sie versuchen, mit Visual Basic Steuerelemente auf dem Formular anzuordnen.

Einstellung

Die Eigenschaft CurrentView verwendet folgenden Einstellungen.

Einstellung	Beschreibung
0	Das Formular wird in der Entwurfsansicht angezeigt.
1	Das Formular wird in der Formularansicht angezeigt.
2	Das Formular wird in der Datenblattansicht angezeigt.
Diese Eigenschaft steht nur in einem Makro oder in Visual Basic zur Verfügung und ist in allen Ansichten schreibgeschützt.

Hinweis

Sie können diese Eigenschaft auch verwenden, um abhängig von der aktuellen Ansicht unterschiedliche Vorgänge auszuführen. In einer Ereignisprozedur kann z.B. ermittelt werden, in welcher Ansicht das Formular angezeigt wird, und dann ein Vorgang ausgeführt werden, wenn das Formular in der Formularansicht angezeigt wird, bzw. ein anderer Vorgang, wenn das Formular in der Datenblattansicht angezeigt wird.


CurrentView-Eigenschaft (AktuelleAnsicht) - Beispiel

Im folgenden Beispiel wird mit der Unterroutine AktuelleAnsichtErmitteln ermittelt, ob das aktuelle Formular in der Formularansicht oder der Datenblattansicht angezeigt wird. Wird es in der Formularansicht angezeigt, wird dies dem Benutzer in einem Textfeld des Formulars mitgeteilt; wird es in der Datenblattansicht angezeigt, wird dieselbe Meldung in einem Meldungsfeld angezeigt.

AktuelleAnsichtErmitteln Me, "Wenden Sie sich an den Systemadministrator."

Sub AktuelleAnsichtErmitteln(frm As Form, strMeldung As String)

Const conFormularansicht = 1

Const conDatenblattansicht = 2

Dim intAnsicht As Integer

intAnsicht = frm.CurrentView

Select Case intAnsicht

Case conFormularansicht

frm!TextfeldFürMeldung.SetFocus

' Die Meldung im Textfeld anzeigen.

frm!TextfeldFürMeldung = strMeldung

Case conDatenblattansicht

' Die Meldung in einem Meldungsfeld anzeigen.

MsgBox strMeldung

End Select

End Sub


HelpContextID-, HelpFile-Eigenschaft (Hilfekontext-ID, Hilfedatei)

•	Die Eigenschaft HelpContextID gibt die Kennummer eines Themas an, das sich in der benutzerdefinierten Hilfedatei befindet, die als Einstellung der Eigenschaft HelpFile angegeben ist.

•	Die Eigenschaft HelpFile gibt den Namen einer benutzerdefinierten Hilfedatei an, die dem aktuellen Formular oder Bericht zugeordnet ist.

Einstellung

•	Geben Sie für die Eigenschaft HelpContextID einen Wert des Typs Long Integer ein, der zwischen 0 und 2.147.483.647 liegt und die Kennummer des Themas der Hilfedatei angibt, das Sie anzeigen möchten. Die Standardeinstellung ist 0.

•	Geben Sie für die Eigenschaft HelpFile einen Zeichenfolgenausdruck ein, der den Pfad und den Namen einer benutzerdefinierten Hilfedatei enthält, die mit dem Windows Hilfe-Compiler erstellt wurde.

Sie können diese Eigenschaften im Eigenschaftenfenster, mit einem Makro oder mit Visual Basic einstellen. Diese Eigenschaften gelten nicht für Steuerelemente eines Berichts.

Hinweis

Anmerkung   Zum Erstellen einer benutzerdefinierten Hilfedatei benötigen Sie den Windows Hilfe-Compiler und einen Texteditor, der das Format RTF (Rich Text Format) unterstützt, wie z.B. Microsoft Word für Windows.

Sie können eine benutzerdefinierte Hilfedatei erstellen, um Formulare, Berichte oder Anwendungen zu beschreiben, die Sie mit Microsoft Access erstellt haben.

Wenn Sie in der Formularansicht die Taste F1 drücken, ruft Microsoft Access das Anwendungsprogramm Windows Hilfe auf, lädt die benutzerdefinierte Hilfedatei, die von der Eigenschaft HelpFile des Formulars oder Berichts angegeben wird, und zeigt das Hilfethema an, das von der Einstellung der Eigenschaft HelpContextID angegeben wird.

Ist die Eigenschaft HelpContextID eines Steuerelements auf 0 eingestellt (Standardeinstellung), verwendet Microsoft Access die Eigenschaften HelpContextID und HelpFile des Formulars, um das anzuzeigende Hilfethema zu ermitteln. Wenn Sie F1 nicht in der Formularansicht, sondern in einer anderen Ansicht drücken oder wenn sowohl die Eigenschaft HelpContextID des Formulars als auch die des Steuerelements auf 0 eingestellt ist, wird ein Microsoft Access-Hilfethema angezeigt.


HelpContextID-, HelpFile-Eigenschaft (Hilfekontext-ID, Hilfedatei) - Gilt für

HelpContextID-Eigenschaft

HelpFile-Eigenschaft


hWnd-Eigenschaft

Mit der Eigenschaft hWnd können Sie die Kennummer (Handle) ermitteln, die Microsoft Windows dem aktuellen Fenster zugewiesen hat. Diese Kennummer hat den Datentyp Long Integer und ist eindeutig.

Einstellung

Diese Eigenschaft ist schreibgeschützt und nur in einem Makro oder in Visual Basic verfügbar.

Hinweis

Sie können diese Eigenschaft in Visual Basic verwenden, wenn Sie eine Funktion des Microsoft Windows API (Application Programming Interface) oder eine andere externe Routine aufrufen, die als Argument die Eigenschaft hWnd erwartet. Es gibt viele Windows-Funktionen, die als eines ihrer Argumente den Wert erfordern, den die Eigenschaft hWnd des aktuellen Fensters hat.

Vorsicht   Speichern Sie den Wert der Eigenschaft hWnd nicht in einer öffentlichen Variablen, da sich der Wert dieser Eigenschaft ändern kann, während das jeweilige Programm läuft.


hWnd-Eigenschaft - Beispiel

Im folgenden Beispiel wird die Eigenschaft hWnd zusammen mit der Windows API-Funktion IsZoomed verwendet, um zu ermitteln, ob ein Fenster maximiert ist.

' Geben Sie die folgende Anweisung als eine Zeile in

' den Deklarationsbereich des Modulfensters ein.

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-Eigenschaft (InAuswahl)

Mit der Eigenschaft InSelection können Sie für ein Steuerelement eines Formulars ermitteln bzw. festlegen, ob es in der Entwurfsansicht ausgewählt ist bzw. sein soll.

Einstellung

Die Eigenschaft InSelection verwendet die folgenden Einstellungen.

Einstellung	Beschreibung
True (-1)	Das Steuerelement ist ausgewählt.
False (0)	Das Steuerelement ist nicht ausgewählt.
Diese Eigenschaft steht nur in einem Makro oder in Visual Basic zur Verfügung.

Hinweis

Wenn ein Steuerelement ausgewählt ist, sind seine Ziehpunkte sichtbar, so daß der Benutzer die Größe des Steuerelements ändern kann. Es können auch gleichzeitig mehrere Steuerelemente ausgewählt sein.


InSelection-Eigenschaft (InAuswahl) - Beispiel

In der folgenden Funktion wird mit der Eigenschaft InSelection ermittelt, ob auf dem angegebenen Formular das Steuerelement strSteuElemName ausgewählt ist.

Gehen Sie wie folgt vor, wenn Sie diese Funktion testen möchten: Kopieren Sie die Funktion IstSteuElemAusgewählt in den Deklarationsbereich eines Codemoduls der Nordwind-Beispieldatenbank; öffnen Sie das Formular Kunden in der Entwurfsansicht; wählen Sie das Steuerelement Firma aus; und geben Sie dann folgende Zeile in das Testfenster ein:

? IstSteuElemAusgewählt (Forms!Kunden, "Firma")

Function IstSteuElemAusgewählt(frm As Form, strSteuElemName As String) As Integer

Dim intI As Integer, ctl As Control

If frm.CurrentView <> 0 Then

' Das Formular ist nicht in der Entwurfsansicht geöffnet.

Exit Function

Else

For intI = 0 To frm.Count - 1

Set ctl = frm(intI)

If ctl.InSelection = True Then

' Ist das gewünschte Steuerelement ausgewählt?

If UCase(ctl.Name) = UCase(strSteuElemName) Then

IstSteuElemAusgewählt = True

Exit Function

End If

Else

IstSteuElemAusgewählt = False

End If

Next intI

End If

End Function


OpenArgs-Eigenschaft (Öffnungsargumente)

Mit der Eigenschaft OpenArgs können Sie den Zeichenfolgenausdruck ermitteln, der durch das Argument Öffnungsargumente der Methode OpenForm angegeben wurde, die das jeweilige Formular geöffnet hat.

Einstellung

Diese Eigenschaft steht nur in einem Makro oder in Visual Basic zur Verfügung und in Visual Basic wiederum nur mit der Methode OpenForm des Objekts DoCmd. Diese Eigenschaft ist in allen Ansichten schreibgeschützt.

Hinweis

Wenn Sie die Eigenschaft OpenArgs verwenden möchten, öffnen Sie mit der Methode OpenForm des Objekts DoCmd ein Formular und stellen das Argument Öffnungsargumente auf den gewünschten Zeichenfolgenausdruck ein. Die Einstellung der Eigenschaft OpenArgs kann dann in Code des Formulars verwendet werden, wie z.B. in der Open-Ereignisprozedur. Sie können die Einstellung dieser Eigenschaft auch in einem Makro, z.B. in einem Öffnen-Makro, oder in einem Ausdruck abfragen, z.B. in einem Ausdruck, der die Eigenschaft ControlSource eines Steuerelements des Formulars einstellt.

Nehmen Sie z.B. an, das Formular, das Sie öffnen, ist eine als Endlosformular gestaltete Kundenliste. Soll der Fokus auf einen ganz bestimmten Kundendatensatz verschoben werden, sobald das Formular geöffnet wurde, können Sie wie folgt vorgehen: Stellen Sie die Eigenschaft OpenArgs auf den Namen des Kunden ein; verwenden Sie dann in einem Öffnen-Makro die Aktion SuchenDatensatz, um den Fokus auf den Datensatz des Kunden zu verschieben, dessen Namen Sie angegeben haben.


OpenArgs-Eigenschaft (Öffnungsargumente) - Beispiel

Im folgenden Beispiel wird die Eigenschaft OpenArgs verwendet, um das Formular Personal so zu öffnen, daß der Datensatz einer bzw. eines bestimmten Angestellten angezeigt wird. Außerdem wird in dem Beispiel gezeigt, wie die Eigenschaft OpenArgs mit der Methode OpenForm eingestellt wird. Sie können diese Prozedur je nach Bedarf ausführen, z.B. wenn für ein benutzerdefiniertes Dialogfeld, in das neue Informationen zu einer bzw. einem Angestellten eingegeben werden, das Ereignis AfterUpdate auftritt.

Sub ÖffnenMitCallahan()

DoCmd.OpenForm "Personal", acNormal, , , acReadOnly, , "Callahan"

End Sub

Sub Form_Open(Cancel As Integer)

Dim strAngestName As String

' Wenn die Eigenschaft OpenArgs den Namen einer bzw.

' eines Angestellten enthält, soll der entsprechende

' Personaldatensatz gesucht und auf dem Formular angezeigt

' werden. Enthält die Eigenschaft OpenArgs z.B. "Callahan",

' erfolgt ein Sprung zum ersten "Callahan"-Datensatz.

strAngestName = Forms!Personal.OpenArgs

If Len(strAngestName) > 0 Then

DoCmd.GoToControl "Nachname"

DoCmd.FindRecord strAngestName, , True, , True, , True

End If

End Sub

Im nächsten Beispiel wird die Methode FindFirst verwendet, um nach der bzw. dem Angestellten zu suchen, deren bzw. dessen Name in der Eigenschaft OpenArgs angegeben ist.

Private Sub Form_Open(Cancel As Integer)

If Not IsNull(Me.OpenArgs) Then

Dim strAngestName As String

strAngestName = Me.OpenArgs

Dim RS As Recordset

Set RS = Me.RecordsetClone

RS.FindFirst "Nachname = '" & strAngestName & "'"

If Not RS.NoMatch Then

Me.Bookmark = RS.Bookmark

End If

End If

End Sub


PreviousControl-Eigenschaft (VorigesSteuerelement)

Sie können die Eigenschaft PreviousControl zusammen mit dem Screen-Objekt verwenden, um eine Referenz an das Steuerelement zurückzugeben, das als vorletztes den Fokus erhalten hat.

Einstellung

Die Einstellung der Eigenschaft PreviousControl enthält eine Referenz auf das Steuerelement, das zuletzt den Fokus hatte. Sobald Sie eine Referenz auf das Steuerelement hergestellt haben, können Sie auf alle Eigenschaften und Methoden des Steuerelements zugreifen.

Diese Eigenschaft steht nur in einem Makro oder in Visual Basic zur Verfügung und ist schreibgeschützt.

Hinweis

Wenn ein Formular geöffnet wurde, können Sie die Eigenschaft PreviousControl erst verwenden, nachdem mindestens zwei Steuerelemente des Formulars den Fokus erhalten haben. Microsoft Access meldet einen Fehler, wenn Sie diese Eigenschaft verwenden, aber erst ein Steuerelement des jeweiligen Formulars den Fokus erhalten hat.


PreviousControl-Eigenschaft (VorigesSteuerelement) - Beispiel

Im folgenden Beispiel wird eine Meldung angezeigt, wenn das Steuerelement, das als vorletztes den Fokus erhalten hat, nicht das Textfeld txtLetzterEintrag ist.

Function DatenVerarbeiten() As Integer

Dim ctlPrevious As Control

' Fehler "Kein vorheriges Steuerelement".

Const conKeinVorherigesSteuerelement = 2483

On Error GoTo Verarbeitung_Fehler

Set ctlPrevious = Screen.PreviousControl

If ctlPrevious.Name = "txtLetzterEintrag" Then

' Die Daten hier verarbeiten.

.

.

.

DatenVerarbeiten = True

Else

' Den Fokus auf txtLetzterEintrag setzen und eine Meldung anzeigen.

Me!txtLetzterEintrag.SetFocus

MsgBox "Geben Sie hier einen Wert ein."

DatenVerarbeiten = False

End If

Verarbeitung_Ende:

Exit Function

Verarbeitung_Fehler:

If Err = conKeinVorherigesSteuerelement Then

Me!txtLetzterEintrag.SetFocus

MsgBox "Geben Sie einen Wert ein, der verarbeitet werden soll."

DatenVerarbeiten = False

End If

Resume Verarbeitung_Ende

End Function


Cycle-Eigenschaft (Zyklus)

Mit der Eigenschaft Cycle können Sie festlegen, wie reagiert werden soll, wenn TAB gedrückt wird und sich der Fokus im letzten Steuerelement eines gebundenen Formulars befindet.

Einstellung

Die Eigenschaft Cycle verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Alle Datensätze	(Standardeinstellung) Wird TAB gedrückt, wenn das letzte Steuerelement eines Formulars den Fokus hat, erfolgt ein Wechsel zum nächsten Datensatz, und der Fokus wird auf das Steuerelement verschoben, das in der Reihenfolge der Steuerelemente das erste Steuerelement ist.	0
Aktueller Datensatz	Wird TAB gedrückt, wenn das letzte Steuerelement den Fokus hat, wird der Fokus auf das in der Reihenfolge der Steuerelemente erste Steuerelement verschoben. Es erfolgt aber kein Wechsel zum nächsten Datensatz.	1
Aktuelle Seite	Wird TAB gedrückt, wenn das letzte Steuerelement den Fokus hat, wird der Fokus auf das Steuerelement verschoben, das bezüglich der aktuellen Seite in der Reihenfolge der Steuerelemente das erste Steuerelement ist.	2
Sie können die Eigenschaft Cycle im Eigenschaftenfenster des Formulars, in einem Makro oder in Visual Basic einstellen.

Sie können die Eigenschaft Cycle in jeder Ansicht einstellen.

Hinweis

Wenn Sie TAB auf einem Formular drücken, bewegt sich der Fokus von Steuerelement zu Steuerelement entsprechend der Position, die jedes Steuerelement in der Reihenfolge der Steuerelemente einnimmt.

Bei Formularen, die für die Eingabe von Daten vorgesehen sind, können Sie die Eigenschaft Cycle auf Alle Datensätze einstellen. Dies ermöglicht es dem Benutzer, durch Drücken von TAB zum nächsten Datensatz zu wechseln.

Anmerkung   Die Eigenschaft Cycle legt das Verhalten, wie auf das Drücken von TAB reagiert wird, nur für das Formular fest, zu der sie gehört. Befindet sich in der Reihenfolge der Steuerelemente ein Unterformular-Steuerelement und erhält dieses den Fokus, bestimmt die Eigenschaft Cycle des Unterformulars, wie reagiert wird, wenn TAB gedrückt wird.

Drücken Sie STRG+TAB, um den Fokus aus einem Unterformular-Steuerelement zu einem Steuerelement des Hauptformulars zu verschieben.


KeyPreview-Eigenschaft (Tastenvorschau)

Sie können die Eigenschaft KeyPreview verwenden, um anzugeben, ob die auf Formularebene für Tastaturereignisse definierten Ereignisprozeduren vor den Tastaturereignisprozeduren eines Steuerelements aufgerufen werden.

Anmerkung   Die Tastaturereignisse sind KeyDown, KeyUp und KeyPress.

Einstellung

Die Eigenschaft KeyPreview verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Ja	Tastaturereignisse werden zunächst an das Formular und erst danach an das aktive Steuerelement gesendet.	True (-1)
Nein	(Standardeinstellung) Tastaturereignisse werden nur an das aktive Steuerelement gesendet.	False (0)
Sie können die Eigenschaft KeyPreview im Eigenschaftenfenster des Formulars, in einem Makro oder in Visual Basic einstellen.

Sie können die Eigenschaft KeyPreview in jeder Ansicht einstellen.

Hinweis

Sie können die Eigenschaft KeyPreview verwenden, um für ein Formular eine Prozedur zu erstellen, in der Tastenfolgen verarbeitet werden. Nehmen Sie z.B. an, für eine Anwendung werden Funktionstasten verwendet. Wenn Sie die Eigenschaft KeyPreview auf True einstellen, können Sie jede Tastenfolge auf Formularebene verarbeiten und können darauf verzichten, Code für jedes Steuerelement zu schreiben, an das Tastaturereignisse gesendet werden können.

Wenn Sie Tastaturereignisse nur auf Formularebene behandeln und verhindern möchten, daß Tastaturereignisse an Steuerelemente gesendet werden, gehen Sie wie folgt vor: Stellen Sie in der KeyPress-Ereignisprozedur des Formulars das Argument KeyAscii auf 0 ein, und stellen Sie sowohl in der KeyDown- als auch der KeyUp-Ereignisprozedur des Formulars das Argument KeyCode auf 0 ein.

Hat ein Formular keine sichtbaren oder aktivierten Steuerelemente, werden keine Tastaturereignisse an das Formular gesendet.


KeyPreview-Eigenschaft (Tastenvorschau) - Beispiel

Im folgenden Beispiel wird die Eigenschaft KeyPreview in der Load-Ereignisprozedur des Formulars auf True (-1) eingestellt. Dies bewirkt, daß jedes Tastaturereignis zunächst an das Formular und erst dann an die entsprechenden Steuerelemente gesendet wird. In der KeyDown-Ereignisprozedur des Formulars wird dann das Argument KeyCode ausgewertet, um zu ermitteln, ob eine der Tasten F2, F3 oder F4 gedrückt wurde.

Private Sub Form_Load()

Me.KeyPreview = True

End Sub

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

Select Case KeyCode

Case vbKeyF2

' F2-Tastenereignisse verarbeiten.

Case vbKeyF3

' F3-Tastenereignisse verarbeiten.

Case vbKeyF4

' F4-Tastenereignisse verarbeiten.

Case Else

End Select

End Sub


ShortcutMenuBar-Eigenschaft (Kontextmenüleiste)

Mit der Eigenschaft ShortcutMenuBar können Sie das Kontextmenü angeben, das angezeigt wird, wenn Sie mit der rechten Maustaste auf ein Formular, einen Bericht oder ein Steuerelement eines Formulars klicken. Wenn Sie ein Kontextmenü erstellen möchten, zeigen Sie im Menü Ansicht auf Symbolleisten und klicken auf Anpassen. Weitere Informationen, wie Sie benutzerdefinierte Symbolleisten erstellen, finden Sie unter Erstellen eines benutzerdefinierten Kontextmenüs für die aktuelle Datenbank.

Anmerkung   Die Eigenschaft ShortcutMenuBar betrifft nur Steuerelemente eines Formulars, keine Steuerelemente eines Berichts.

Mit der Eigenschaft ShortcutMenuBar können Sie auch ein Menüleistenmakro angeben, mit dem ein Kontextmenü für ein Datenblatt, ein Formular, ein Steuerelement eines Formulars oder einen Bericht angezeigt wird.

Anmerkung   In früheren Versionen von Microsoft Access haben Sie ein benutzerdefiniertes Kontextmenü erstellt, indem Sie die Eigenschaft ShortcutMenuBar auf den Namen eines Menüleistenmakros eingestellt und anschließend eine Makrogruppe erstellt haben, die die Befehle des Kontextmenüs enthält. Diese Implementierung eines Kontextmenüs wird auch von Microsoft Access 97 unterstützt. Es wird jedoch dringend empfohlen, daß Sie benutzerdefinierte Kontextmenüs mit Hilfe des Dialogfelds Anpassen erstellen. Dieses Dialogfeld wird angezeigt, wenn Sie im Menü Ansicht auf Symbolleisten zeigen und dann auf Anpassen klicken.

Einstellung

Geben Sie den Namen des Kontextmenüs ein, das angezeigt werden soll. Als Kontextmenü kann jede Befehlsleiste dienen, deren Eigenschaft Type auf Popup eingestellt ist. Wenn Sie der Eigenschaft ShortcutMenuBar keinen Wert zuweisen, zeigt Microsoft Access entweder das jeweilige eingebaute Standardkontextmenü oder das globale Kontextmenü der Anwendung an. Wenn Sie die Eigenschaft ShortcutMenuBar auf einen Wert einstellen, der nicht den Namen eines vorhandenen Kontextmenüs oder Menüleistenmakros angibt, hat das Formular, das Steuerelement des Formulars oder der Bericht kein Kontextmenü (das Standardkontextmenü wird nicht angezeigt).

Sie können diese Eigenschaft im Eigenschaftenfenster des Objekts, in einem Makro oder in Visual Basic einstellen.

In Visual Basic stellen Sie diese Eigenschaft mit einem Zeichenfolgenausdruck ein, der gleich dem Namen des Kontextmenüs ist, das angezeigt werden soll.

Soll das eingebaute Kontextmenü für eine Datenbank, ein Formular, ein Steuerelement eines Formulars oder einen Bericht mit Hilfe eines Makros oder in Visual Basic angezeigt werden, stellen Sie die Eigenschaft auf eine leere Zeichenfolge (" ") ein.

Hinweis

Sie erstellen ein benutzerdefiniertes Kontextmenü, indem Sie zunächst eine Symbolleiste erstellen, die alle Befehle enthält, die zu Ihrem benutzerdefinierten Kontextmenü gehören sollen. Anschließend öffnen Sie das Dialogfeld Symbolleisten-Eigenschaften, indem Sie die Symbolleiste im Dialogfeld Anpassen aktivieren und dann auf die Schaltfläche Eigenschaften klicken. Im Dialogfeld Symbolleisten-Eigenschaften stellen Sie die Eigenschaft Type auf Popup ein. Danach steht diese Symbolleiste im Eigenschaftenfenster eines Formulars, eines Steuerelements eines Formulars oder eines Berichts im Einstellungsfeld der Eigenschaft ShortcutMenuBar zur Verfügung.

Wenn Sie die Eigenschaft ShortcutMenuBar mit dem Objekt Application verwenden, können Sie ein benutzerdefiniertes Kontextmenü als globales Kontextmenü anzeigen. Wenn Sie die Eigenschaft ShortcutMenuBar eines Formulars, eines Steuerelements eines Formulars oder eines Berichts der Datenbank eingestellt haben, wird anstelle des globalen Kontextmenüs der Datenbank das benutzerdefinierte Kontextmenü dieses Objekt angezeigt. Wenn Sie für ein bestimmtes Formular, Steuerelement eines Formulars oder einen bestimmten Bericht ein anderes benutzerdefiniertes Kontextmenü anzeigen möchten, stellen Sie dessen Eigenschaft ShortcutMenuBar auf das gewünschte Kontextmenü ein. Wenn das Formular, das Steuerelement des Formulars oder der Bericht den Fokus hat, wird das benutzerdefinierte Kontextmenü dieses Objekts angezeigt, sobald der Benutzer mit der rechten Maustaste geklickt hat. Andernfalls wird das globale Kontextmenü der Datenbank angezeigt.

Kontextmenüs stehen für kein Objekt zur Verfügung, wenn die Eigenschaft AllowShortcutMenus auf False (0) eingestellt ist.


WhatsThisButton-Eigenschaft (SchaltflächeDirekthilfe)

Mit der Eigenschaft WhatsThisButton können Sie angeben, ob zu der Titelleiste eines Formulars eine Direkthilfe-Schaltfläche  [image]  hinzugefügt werden soll.

Anmerkung   Sie können eine Direkthilfe-Schaltfläche nur dann in der Titelleiste eines Formulars anzeigen, wenn die Eigenschaft MinMaxButtons auf Keine eingestellt ist.

Einstellung

Die Eigenschaft WhatsThisButton verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Ja	In der Titelleiste wird eine Direkthilfe-Schaltfläche angezeigt.	True (-1)
Nein	(Standardeinstellung) In der Titelleiste wird keine Direkthilfe-Schaltfläche angezeigt.	False (0)
Sie können die Eigenschaft WhatsThisButton im Eigenschaftenfenster des Formulars, in einem Makro oder in Visual Basic einstellen.

Diese Eigenschaft kann nur in der Formular-Entwurfsansicht eingestellt werden.

Hinweis

Sobald in der Titelleiste eines Formulars auf die Direkthilfe-Schaltfläche geklickt wurde, wird der Fragezeichen-Mauszeiger angezeigt. Mit diesem Mauszeiger können Sie auf ein Steuerelement klicken, um auf dessen benutzerdefiniertes Hilfethema zuzugreifen, das in der Eigenschaft HelpContextID des Steuerelements angegeben ist. Wenn es kein benutzerdefiniertes Hilfethema für das Steuerelement gibt, wird das benutzerdefinierte Hilfethema des Formulars angezeigt. Wenn es weder für das Formular noch für das Steuerelement ein benutzerdefiniertes Hilfethema gibt, wird die Microsoft Access-Hilfe angezeigt.


ControlTipText-Eigenschaft (SteuerelementTipText)

Mit der Eigenschaft ControlTipText können Sie den Text angeben, der in einem InfoFeld angezeigt wird, wenn sich der Mauszeiger über einem Steuerelement befindet.

Einstellung

Sie stellen die Eigenschaft ControlTipText mit einem Zeichenfolgenausdruck ein, der bis zu 255 Zeichen lang sein darf.

Sie können die Eigenschaft ControlTipText im Eigenschaftenfenster des Steuerelements, in einem Makro oder in Visual Basic einstellen.

Bei Steuerelementen eines Formulars können Sie die Standardeinstellung für diese Eigenschaft mit Hilfe der Standardeigenschafteneinstellungen oder in Visual Basic mit der Methode DefaultControl einstellen.

Sie können die Eigenschaft ControlTipText in jeder Ansicht einstellen.

Hinweis

Die Eigenschaft ControlTipText bietet eine einfache Möglichkeit, Informationen zu Steuerelementen eines Formulars bereitzustellen.

Es gibt weitere Möglichkeiten, Informationen zu einem Formular oder einem Steuerelement eines Formulars bereitzustellen. Sie können die Eigenschaft StatusBarText verwenden, um in der Statusleiste Informationen zu einem Steuerelement anzuzeigen. Wenn Sie eine ausführlichere Hilfe zu einem Formular oder Steuerelement bereitstellen möchten, können Sie die Eigenschaften HelpFile und HelpContextID verwenden.


Datenbankeigenschaften

Die Datenbankeigenschaften ermöglichen es Ihnen, weitere Informationen zu Ihrer Datenbank bereitzustellen. Damit die Datenbankeigenschaften angezeigt werden, klicken Sie im Menü Datei auf Datenbankeigenschaften.

Einstellung

Sie können diese Eigenschaften einstellen, indem Sie im Dialogfeld Eigenschaften von Datenbankname Informationen in die Registerkarten Datei-Info und Anpassen eingeben oder indem Sie Visual Basic verwenden.

In Visual Basic erstellen Sie eine Datenbankeigenschaft, die noch nicht im Dialogfeld Eigenschaften von Datenbankname eingestellt wurde, mit der Methode CreateProperty und fügen sie zu der Properties-Auflistung eines Document-Objekts hinzu. Mit Visual Basic können Sie die Eigenschaften, die auf der Registerkarte Datei-Info angezeigt werden, einstellen, indem Sie das Document-Objekt SummaryInfo aus der Documents-Auflistung verwenden. Die Eigenschaften, die auf der Registerkarte Anpassen angezeigt werden, können Sie mit Hilfe des Document-Objekts UserDefined aus der Documents-Auflistung einstellen. Bevor Sie eine benutzerdefinierte Datenbankeigenschaft zu Ihrer Datenbank hinzufügen können, müssen Sie für diese Eigenschaft einen Namen, einen Datentyp und einen Standardwert angeben. Weitere Informationen erhalten Sie, indem Sie im Thema "Documents-Auflistung" auf Zusatzinfo klicken.

Anmerkung   Sie können nur die Eigenschaften eingeben bzw. bearbeiten, die auf einer der Registerkarten Datei-Info oder Anpassen angezeigt werden. Die anderen Datenbankeigenschaften sind schreibgeschützt.

Hinweis

Die Datenbankeigenschaften werden im Dialogfeld Eigenschaften von Datenbankname auf einer der folgenden Registerkarten angezeigt.

Registerkarte	Beschreibung
Allgemein	Dies sind dieselben Informationen, die auch angezeigt werden, wenn Sie im Windows Explorer mit der rechten Maustaste auf einen Dateinamen und dann im Kontextmenü auf Eigenschaften klicken. Der einzige Unterschied besteht darin, daß die Einstellungen dieser Eigenschaften, wenn sie in Microsoft Access hinter Attribute angezeigt werden, schreibgeschützt sind.
Datei-Info	Die Informationen, die Sie in diese Registerkarte eingeben, werden zu dem Document-Objekt SummaryInfo hinzugefügt, das zur Documents-Auflistung gehört. Diese Informationen ähneln den Datei-Informationen, die Sie in anderen Microsoft Office-Anwendungen bereitstellen können. Datei-Informationen ermöglichen es dem Benutzer, eine Datenbank besser zu verstehen, und zwar sowohl innerhalb von Microsoft Access als auch aus anderen Programmen heraus, wie z.B. das Windows-Programm Suchen nach: Dateien. Die Einstellung der auf der Registerkarte Datei-Info befindlichen Eigenschaft HyperlinkBase wird verwendet, um den Hyperlink-Basispfad zu erstellen, der vor die Einstellung der Eigenschaft HyperlinkAddress gesetzt wird, wenn diese eine relative Adresse enthält.
Statistik	Diese Informationen enthalten das Datum und die Uhrzeit, zu der die aktive Datenbank erstellt wurde, sowie das Datum und die Uhrzeit, zu der zuletzt auf die Datenbank zugegriffen, zu der sie zuletzt geändert und zu der sie zuletzt gedruckt wurde.
Inhalt	Diese Informationen enthalten die Namen der Objekte, die Bestandteil Ihrer Datenbank sind.
Anpassen	Die benutzerdefinierten Eigenschaften, die Sie eingeben, werden zu Eigenschaften des Document-Objekts UserDefined, das zur Documents-Auflistung gehört.


Datenbankeigenschaften - Beispiel

Im folgenden Beispiel können Sie eine benutzerdefinierte Eigenschaft einstellen oder erstellen, die im Dialogfeld Eigenschaften von Datenbankname auf der Registerkarte Anpassen angezeigt wird. Sie können z.B. die Funktion SetCustomProperty aufrufen, um eine neue Eigenschaft namens LastUserName zu dem Document-Objekt UserDefined der Datenbank hinzuzufügen. Die an die Funktion SetCustomProperty übergebenen Argumente entsprechen den Argumenten, die erforderlich sind, um die Methode CreateProperty auszuführen.

Dim strName As String, strWert As String

' Die Variable einstellen, die den Namen der

' Eigenschaft enthält.

strName = "LastUserName"

' Die Variable einstellen, die den Wert der

' Eigenschaft enthält.

strWert = InputBox("Geben Sie Ihren vollständigen Namen ein.")

If SetCustomProperty(strName, dbText, strWert) <> True Then

' Bei dem Versuch, die Eigenschaft einzustellen,

' ist ein Fehler aufgetreten.

MsgBox "Fehler beim Versuch, die Eigenschaft einzustellen."

End If

Function SetCustomProperty(strEigenschName As String, strEigenschTyp _

As Integer, strEigenschWert As String) As Integer

Dim dbs As Database, cnt As Container

Dim doc As Document, prp As Property

Const conEigenschNichtGef = 3270	' Fehler: Eigenschaft nicht gefunden.

Set dbs = CurrentDb	' Database-Objekt definieren.

Set cnt = dbs.Containers!Databases	' Container-Objekt definieren.

Set doc = cnt.Documents!UserDefined	' Document-Objekt definieren.

On Error GoTo SetCustomProperty

doc.Properties.Refresh

' Die Property-Variable wird auf den Namen der

' benutzerdefinierten Eigenschaft eingestellt. Wenn

' dabei ein Fehler auftritt, heißt das, daß die

' Eigenschaft nicht existiert und daher erstellt

' und an die Properties-Auflistung des Document-

' Objekts angefügt werden muß.

Set prp = doc.Properties(strEigenschName)

' ' Den Wert der benutzerdefinierten Eigenschaft einstellen.

prp = strEigenschWert

SetCustomProperty = True

SetCustomProperty_Ende:

Exit Function

BenDefEinstell_Fehler:

If Err = conEigenschNichtGef Then

Set prp = doc.CreateProperty(strEigenschName, strEigenschTyp, strEigenschWert)

doc.Properties.Append prp	' An die Auflistung anfügen.

Resume Next

Else	' Unbekannter Fehler.

SetCustomProperty = False

Resume SetCustomProperty_Ende

End If

End Function

Im nächsten Beispiel wird gezeigt, wie Informationen angezeigt werden können, die im Dialogfeld Eigenschaften von Datenbankname auf der Registerkarte Datei-Info stehen. Der Titel, das Thema und der Autor der Anwendung werden in Textfeld-Steuerelementen eines Formular angezeigt. In diesem Beispiel gibt die Prozedur den Wert Unbestimmt zurück, wenn die Eigenschaft noch nicht eingestellt wurde. Wenn ein unbekannter Fehler auftritt, wird eine leere Zeichenfolge (" ") zurückgegeben.

Private Sub Form_Open(Cancel As Integer)

Dim strTitel As String, strThema As String, strAutor As String

strTitel = "Title"

strThema = "Subject"

strAutor = "Author"

Me!txtTitel = DateiInfoLesen(strTitel)

Me!txtThema = DateiInfoLesen(strThema)

Me!txtAutor = DateiInfoLesen(strAutor)

End Sub

Function DateiInfoLesen(strEigenschName As String) As String

Dim dbs As Database, cnt As Container

Dim doc As Document, prp As Property

' Fehler: Eigenschaft nicht gefunden.

Const conEigenschNichtGef = 3270

On Error GoTo DateiInfoLesen_Fehler

Set dbs = CurrentDb

Set cnt = dbs.Containers!Databases

Set doc = cnt.Documents!SummaryInfo

doc.Properties.Refresh

DateiInfoLesen = doc.Properties(strEigenschName)

DateiInfoLesen_Ende:

Exit Function

DateiInfoLesen_Fehler:

If Err = conEigenschNichtGef Then

Set prp = doc.CreateProperty(strEigenschName, dbText, "Unbestimmt")

' An die Auflistung anfügen.

doc.Properties.Append prp

Resume

Else

' Unbekannter Fehler.

DateiInfoLesen = ""

Resume DateiInfoLesen_Ende

End If

End Function


Objekteigenschaften

Die Objekteigenschaften stellen allgemeine Informationen zu den Objekten bereit, deren Namen im Datenbankfenster angezeigt werden.

Einstellung

Sie haben folgende Möglichkeiten, die Eigenschaften eines Objekts anzuzeigen und dessen Eigenschaften Description und Attributes einzustellen:

•	Klicken Sie im Datenbankfenster auf ein Objekt und dann in der Datenbank-Symbolleiste auf Eigenschaften  [image].

•	Klicken Sie im Datenbankfenster auf ein Objekt und dann im Menü Ansicht auf Eigenschaften.

•	Klicken Sie im Datenbankfenster mit der rechten Maustaste auf ein Objekt, und klicken Sie dann im Kontextmenü auf Eigenschaften.

Sie können die Objekteigenschaften auch in Visual Basic einstellen oder lesen.

Anmerkung   Sie können nur die Eigenschaften Description und Attributes eingeben oder bearbeiten. Die anderen Objekteigenschaften werden von Microsoft Access eingestellt und sind schreibgeschützt.

Hinweis

Die Objekte im Datenbankfenster sind: Tabellen, Abfragen, Formulare, Berichte, Makros und Module. Jede Klasse von Objekten der Datenbank wird innerhalb der Containers-Auflistung durch ein eigenes Document-Objekt dargestellt. Beispielsweise enthält die jeweilige Containers-Auflistung ein Document-Objekt, das alle Formulare der Datenbank darstellt.

Die folgenden Objekteigenschaften stehen über das Datenbankfenster zur Verfügung.

Eigenschaft	Beschreibung
Name	Dies ist der Name des Objekts und enthält die Einstellung der Eigenschaft Name des Objekts.
Type	Dies ist der Objekttyp. Microsoft Access-Objekttypen sind: Formular, Makro, Modul, Abfrage, Bericht und Tabelle.
Description	Dies ist die Beschreibung des Objekts, die mit dem Wert identisch ist, auf den die Eigenschaft Description des Objekts eingestellt ist. Bei Tabellen und Abfragen können Sie die Eigenschaft Description des Objekts auch im Eigenschaftenfenster des Objekts einstellen. Die Beschreibung eines Objekts wird im Datenbankfenster auch neben dem Namen des Objekts angezeigt, wenn Sie im Menü Ansicht auf Details klicken.
Created	Dies ist das Datum, an dem das Objekt erstellt wurde. Bei Tabellen oder Abfragen entspricht diese Eigenschaft der Eigenschaft DateCreated.
Modified	Dies ist das Datum, an dem das Objekt zuletzt bearbeitet wurde. Bei Tabellen oder Abfragen entspricht diese Eigenschaft der Eigenschaft LastUpdated.
Owner	Dies ist der Eigentümer des Objekts. Weitere Informationen finden Sie unter der Eigenschaft Owner.
Attributes	Diese Eigenschaft gibt an, ob das Objekt ausgeblendet oder sichtbar ist und es in einem Datenbank-Replikat replizierbar ist. Wenn Sie das Attribut Ausgeblendet auf True einstellen (indem Sie das Kontrollkästchen Ausgeblendet aktivieren), wird das Objekt nicht im Datenbankfenster angezeigt. Wenn Sie ausgeblendete Objekte im Datenbankfenster anzeigen möchten, klicken Sie im Menü Extras auf Optionen, klicken auf die Registerkarte Ansicht und aktivieren dann das Kontrollkästchen Ausgeblendete Objekte. Das Symbol eines ausgeblendeten Objekts wird danach im Datenbankfenster abgeblendet angezeigt. Wenn Sie das Attribut Ausgeblendet später deaktivieren, wird das Objekt wieder im Datenbankfenster sichtbar.


Objekteigenschaften - Beispiel

Im folgenden Beispiel wird die Sub-Prozedur ObjekteigenschaftenDrucken verwendet, um die Werte der Objekteigenschaften eines Objekts im Testfenster anzuzeigen. An die Sub-Prozedur werden der Typ und der Name des Objekts als Argumente übergeben.

Dim strObjekttyp As String

Dim strObjektname As String

Dim strMldg As String

strMldg = "Geben Sie den Objekttyp ein (in englisch, " _

& "d.h. Forms, Scripts, Modules, Reports oder Tables)."

' Den Objekttyp erfragen.

strObjekttyp = InputBox(strMldg)

strMldg = "Geben Sie den Namen eines Formulars, eines " _

& "Makros, eines Moduls, eines Berichts oder einer Tabelle ein."

' Den Benutzer zur Eingabe des Objektnamens auffordern.

strObjektname = InputBox(strMldg)

' Den Typ und den Namen des Objekts an die Sub-Prozedur

' ObjekteigenschaftenDrucken übergeben.

ObjekteigenschaftenDrucken strObjekttyp, strObjektname

Sub ObjekteigenschaftenDrucken(strObjekttyp As String, strObjektname _

As String)

Dim dbs As Database, ctr As Container, doc As Document

Dim intI As Integer

Dim strTabZeichen As String

Dim prp As Property

Set dbs = CurrentDb

strTabZeichen = vbTab

' Die Container-Objektvariable einstellen.

Set ctr = dbs.Containers(strObjekttyp)

' Die Document-Objektvariable einstellen.

Set doc = ctr.Documents(strObjektname)

doc.Properties.Refresh

' Den Namen des Objekts im Testfenster anzeigen.

Debug.Print doc.Name

' Jede Objekteigenschaft im Testfenster anzeigen.

For Each prp in doc.Properties

Debug.Print strTabZeichen & prp.Name & " = " & prp.Value

Next

End Sub


SelHeight-, SelWidth-Eigenschaften (AuswahlHöhe, AuswahlBreite)

Mit Hilfe der Eigenschaft SelHeight können Sie die Anzahl der markierten Zeilen (Datensätze) im aktuellen Auswahlrechteck des Datenblatts einer Tabelle, einer Abfrage oder eines Formulars bzw. die Anzahl der markierten Datensätze in einem Endlosformular festlegen oder bestimmen. Mit Hilfe der Eigenschaft SelWidth können Sie die Anzahl der markierten Spalten (Felder) im aktuellen Auswahlrechteck festlegen oder bestimmen. Wenn Sie z.B. in der Datenblattansicht der Tabelle Kunden eine Gruppe von Zeilen und Spalten markiert haben, können Sie über die Eigenschaften SelHeight und SelWidth die Anzahl der Zeilen und Spalten im Auswahlrechteck bestimmen.

Einstellung

•	Die Eigenschaft SelHeight. Ein Wert des Datentyps Long Integer zwischen 0 und der Anzahl von Datensätzen im Datenblatt oder Endlosformular. Die Einstellung dieser Eigenschaft definiert die Anzahl der markierten Zeilen im Auswahlrechteck bzw. die Anzahl der markierten Datensätze im Endlosformular oder gibt sie zurück.

•	Die Eigenschaft SelWidth. Ein Wert des Datentyps Long Integer zwischen 0 und der Anzahl von Spalten im Datenblatt. Die Einstellung dieser Eigenschaft definiert die Anzahl der markierten Spalten im Auswahlrechteck oder gibt sie zurück.

Diese Eigenschaften sind in der Entwurfsansicht nicht verfügbar. Sie stehen nur bei Verwendung eines Makros oder von Visual Basic zur Verfügung.

Hinweis

Besteht keine Markierung, geben diese Eigenschaften den Wert 0 zurück. Wird eine dieser Eigenschaften auf 0 eingestellt, wird die Markierung aus dem Datenblatt oder Formular entfernt.

Wenn Sie (mit Hilfe der Datensatzmarkierer) einen oder mehrere Datensätze im Datenblatt markiert haben, können Sie die Einstellung der Eigenschaft SelWidth nicht ändern (Sie können sie jedoch auf 0 einstellen). Wenn Sie (über die Spaltenüberschriften) eine oder mehrere Spalten markiert haben, können Sie die Einstellung der Eigenschaft SelHeight nicht ändern (Sie können sie jedoch auf 0 einstellen).

Sie können diese Eigenschaften in Verbindung mit den Eigenschaften SelTop und SelLeft verwenden, um die aktuelle Position des Auswahlrechtecks im Datenblatt festzulegen oder zu bestimmen. Liegt keine Markierung vor, geben die Eigenschaften SelTop und SelLeft die Zeilen- und Spaltennummer der Zelle, die den Fokus besitzt, zurück.

Die Eigenschaften SelHeight und SelWidth enthalten die Position der rechten unteren Ecke des Auswahlrechtecks. Die Werte der Eigenschaften SelTop und SelLeft bestimmen die linke obere Ecke des Auswahlrechtecks.


SelHeight-, SelWidth-, SelTop- und SelLeft-Eigenschaften (AuswahlHöhe, AuswahlBreite, AuswahlOben, AuswahlLinks) - Beispiel

Das folgende Beispiel zeigt, wie Sie mit Hilfe der Eigenschaften SelHeight, SelWidth, SelTop und SelLeft in der Datenblattansicht die Position und Größe eines Auswahlrechtecks bestimmen können. Die Prozedur SetHeightWidth weist den Variablen lngAnzZeilen, lngAnzSpalten, lngObereZeile und lngLinkeSpalte die Höhe und Breite des aktuellen Auswahlrechtecks zu und zeigt diese Werte in einem Meldungsfeld an.

Sub FestlegenHöheBreite(frm As Form)

Dim lngAnzZeilen As Long, lngAnzSpalten As Long

Dim lngObereZeile As Long, lngLinkeSpalte As Long

Dim strMeldung As String

If frm.CurrentView = 2 Then	' Formular ist in Datenblattansicht.

lngAnzZeilen = frm.SelHeight	' Anzahl der markierten Zeilen.

lngAnzSpalten = frm.SelWidth	' Anzahl der markierten Spalten.

lngObereZeile = frm.SelTop	' Oberste Zeile markiert.

lngLinkeSpalte = frm.SelLeft	' Spalte links außen markiert.

strMeldung = "Anzahl Zeilen: " & lngAnzZeilen & vbCrLf

strMeldung = strMeldung & "Anzahl Spalten: " & lngAnzSpalten & vbCrLf

strMeldung = strMeldung & "Obere Zeile: " & lngObereZeile & vbCrLf

strMeldung = strMeldung & "Linke Spalte: " & lngLinkeSpalte

MsgBox strMeldung

End If

End Sub


SelTop-, SelLeft-Eigenschaften (AuswahlOben, AuswahlLinks)

Mit Hilfe der Eigenschaft SelTop können Sie festlegen oder bestimmen, welche Zeile (welcher Datensatz) im aktuellen Auswahlrechteck des Datenblatts einer Tabelle, einer Abfrage oder eines Formulars ganz oben steht bzw. welcher markierte Datensatz in einem Endlosformular ganz oben steht. Mit Hilfe der Eigenschaft SelLeft können Sie festlegen oder bestimmen, welche Spalte (welches Feld) im aktuellen Auswahlrechteck ganz links steht. Wenn Sie z.B. in der Datenblattansicht der Tabelle Kunden eine Gruppe von Zeilen und Spalten markiert haben, können Sie über die Eigenschaften SelTop und SelLeft die erste Zeile und erste Spalte bestimmen, die im Auswahlrechteck markiert ist.

Einstellung

•	Die Eigenschaft SelTop. Ein Wert des Datentyps Long Integer zwischen 1 und der Anzahl von Datensätzen im Datenblatt oder Endlosformular. Die Einstellung dieser Eigenschaft definiert die Nummer der obersten Zeile im aktuellen Auswahlrechteck bzw. die Nummer des obersten markierten Datensatzes im Endlosformular oder gibt sie zurück.

•	Die Eigenschaft SelLeft. Ein Wert des Datentyps Long Integer zwischen 1 und der Anzahl von Spalten im Datenblatt. Die Einstellung dieser Eigenschaft definiert die Nummer der Spalte, die im aktuellen Auswahlrechteck ganz links angeordnet ist, oder gibt sie zurück.

Diese Eigenschaften sind in der Entwurfsansicht nicht verfügbar. Sie stehen nur bei Verwendung eines Makros oder von Visual Basic zur Verfügung.

Hinweis

Liegt keine Markierung vor, geben diese Eigenschaften die Zeilen- und Spaltennummer der Zelle, die den Fokus besitzt, zurück.

Wenn Sie (mit Hilfe der Datensatzmarkierer) einen oder mehrere Datensätze im Datenblatt markiert haben, können Sie die Einstellung der Eigenschaft SelLeft nicht ändern. Wenn Sie (über die Spaltenüberschriften) eine oder mehrere Spalten markiert haben, können Sie die Einstellung der Eigenschaft SelTop nicht ändern.

Sie können diese Eigenschaften in Verbindung mit den Eigenschaften SelHeight und SelWidth verwenden, um die aktuelle Größe des Auswahlrechtecks festzulegen oder zu bestimmen. Die Eigenschaften SelTop und SelLeft bestimmen die Position der oberen linken Ecke des Auswahlrechtecks. Die Eigenschaften SelHeight und SelWidth legen die untere rechte Ecke des Auswahlrechtecks fest.


CurrentRecord-Eigenschaft

Mit Hilfe der Eigenschaft CurrentRecord können Sie den aktuellen Datensatz in der Datensatzgruppe bestimmen, die gerade in einem Formular angezeigt wird.

Einstellung

Microsoft Access stellt diese Eigenschaft auf einen Wert des Datentyps Long Integer ein, der für die Nummer des gerade in einem Formular angezeigten Datensatzes steht.

Die Eigenschaft CurrentRecord ist in der Formularansicht und in der Datenblattansicht schreibgeschützt. In der Entwurfsansicht steht sie nicht zur Verfügung. Diese Eigenschaft steht nur bei Verwendung eines Makros oder von Visual Basic zur Verfügung.

Hinweis

Der durch diese Eigenschaft festgelegte Wert entspricht dem Wert, der im Datensatznummernfeld angezeigt wird. Dieses befindet sich in der linken unteren Ecke des Formulars.


CurrentRecord-Eigenschaft - Beispiel

Das folgende Beispiel zeigt, wie Sie mit Hilfe der Eigenschaft CurrentRecord die Datensatznummer des aktuell angezeigten Datensatzes bestimmen können. Die allgemein verwendbare Prozedur AktuellerFormularDatensatz weist den Wert des aktuellen Datensatzes der Variablen lngDatensatznr zu.

Sub AktuellerFormularDatensatz(frm As Form)

Dim lngDatensatznr As Long

lngDatensatznr = frm.CurrentRecord

End Sub


InsideHeight-, InsideWidth-Eigenschaften

Mit Hilfe der Eigenschaften InsideHeight und InsideWidth können Sie die Höhe und Breite (in Twips) des Fensters bestimmen, das ein Formular enthält.

Einstellung

•	Die Eigenschaft InsideHeight. Ein Wert des Datentyps Integer (in Twips), der für die Höhe eines Formularfensters steht.

•	Die Eigenschaft InsideWidth. Ein Wert des Datentyps Integer (in Twips), der für die Breite eines Formularfensters steht.

Die Eigenschaften InsideHeight und InsideWidth stehen nur bei Verwendung eines Makros oder von Visual Basic zur Verfügung und können jederzeit eingestellt werden.

Hinweis

Möchten Sie die inneren Abmessungen des Formulars bestimmen, verwenden Sie die Eigenschaft Width, um die Formularbreite zu bestimmen. Die Höhe bestimmen Sie über die Summe der Höhen der sichtbaren Bereiche des Formulars (die Eigenschaft Height gilt nur für Formularbereiche und nicht für ganze Formulare). Das Innere eines Formulars ist der Bereich innerhalb des Formulars ohne die Bildlaufleisten und die Datensatzmarkierer.

Sie können auch die Eigenschaften WindowHeight und WindowWidth verwenden, um die Höhe und Breite des Fensters zu bestimmen, das ein Formular enthält.

Ist ein Fenster maximiert dargestellt, hat das Einstellen dieser Eigenschaften so lange keinerlei Einfluß, bis die normale Größe des Fensters wiederhergestellt wird.


InsideHeight, InsideWidth-Eigenschaften - Beispiel

Das folgende Beispiel zeigt, wie Sie mit Hilfe der Eigenschaften InsideHeight und InsideWidth die Innenhöhe und -breite eines Formulars mit der Höhe und Breite des Formularfensters vergleichen können. Entsprechen die Abmessungen des Fensters nicht der Größe des Formulars, wird die Größe des Fensters an die Höhe und Breite des Formulars angepaßt.

Sub FestlegenFenstergröße(frm As Form)

Dim intFensterhöhe As Integer

Dim intFensterbreite As Integer

Dim intGesamthöheFormular As Integer

Dim intGesamtbreiteFormular As Integer

Dim intHöheKopfbereich As Integer

Dim intHöheDetailbereich As Integer

Dim intHöheFußbereich As Integer

' Höhe des Formulars bestimmen.

intHöheKopfbereich = frm.Section(acHeader).Height

intHöheDetailbereich = frm.Section(acDetail).Height

intHöheFußbereich = frm.Section(acFooter).Height

intGesamthöheFormular = intHöheKopfbereich _

+ intHöheDetailbereich + intHöheFußbereich

' Breite des Formulars bestimmen.

intGesamtbreiteFormular = frm.Width

' Höhe und Breite des Fensters bestimmen.

intFensterhöhe = frm.InsideHeight

intFensterbreite = frm.InsideWidth

If intFensterbreite <> intGesamtbreiteFormular Then

frm.InsideWidth = intGesamtbreiteFormular

End If

If intFensterhöhe <> intGesamthöheFormular Then

frm.InsideHeight = intGesamthöheFormular

End If

End Sub


NewRecord-Eigenschaft

Mit Hilfe der Eigenschaft NewRecord können Sie bestimmen, ob der aktuelle Datensatz ein neuer Datensatz ist.

Einstellung

Die Eigenschaft NewRecord verwendet die folgenden Einstellungen.

Einstellung	Beschreibung
True (–1)	Der aktuelle Datensatz ist neu.
False (0)	Der aktuelle Datensatz ist nicht neu.
Die Eigenschaft NewRecord ist in der Formularansicht und in der Datenblattansicht schreibgeschützt. In der Entwurfsansicht steht sie nicht zur Verfügung. Diese Eigenschaft steht nur bei Verwendung eines Makros oder von Visual Basic zur Verfügung.

Hinweis

Wenn sich ein Benutzer zu einem neuen Datensatz bewegt hat, ist die Eigenschaft NewRecord auf True eingestellt, unabhängig davon, ob der Benutzer mit der Bearbeitung des Datensatzes begonnen hat oder nicht.


NewRecord-Eigenschaft - Beispiel

Das folgende Beispiel zeigt, wie Sie mit Hilfe der Eigenschaft NewRecord bestimmen können, ob der aktuelle Datensatz ein neuer Datensatz ist. Die Prozedur NeueDatensatzmarke stellt den aktuellen Datensatz auf die Variable intNeuerDatensatz ein. Ist der Datensatz neu, wird dies dem Benutzer über eine Meldung angezeigt. Sie können diese Prozedur ausführen, wenn das Ereignis Current für ein Formular eintritt.

Sub NeueDatensatzmarke(frm As Form)

Dim intNeuerDatensatz As Integer

intNeuerDatensatz = frm.NewRecord

If intNeuerDatensatz = True Then

MsgBox "Sie befinden sich in einem neuen Datensatz." _

& "@Möchten Sie neue Daten hinzufügen?" _

& "@Falls nicht, gehen Sie zu einem bestehenden Datensatz."

End If

End Sub


StartupForm-Eigenschaft

Mit Hilfe der Eigenschaft StartupForm können Sie den Namen des Formulars festlegen, das beim ersten Öffnen Ihrer Datenbank geöffnet wird. Über diese Eigenschaft können Sie z.B. ein angegebenes Formular anzeigen, das ein Menü mit allen Formularen, Abfragen und Berichten enthält, die beim Öffnen der Datenbank innerhalb einer Microsoft Access-Anwendung verfügbar sind.

Einstellung

Die Eigenschaft StartupForm ist ein Zeichenfolgenausdruck, der dem Namen eines Formulars in der aktuellen Datenbank entspricht.

Am einfachsten stellen Sie diese Eigenschaft über die Option Formular anzeigen im Dialogfeld Start ein. Dieses Dialogfeld wird geöffnet, indem Sie im Menü Extras auf Start klicken. Sie können diese Eigenschaft auch unter Verwendung eines Makros oder von Visual Basic einstellen.

Um die Eigenschaft StartupForm mit Hilfe eines Makros oder von Visual Basic einzustellen, stellen Sie zunächst entweder die Eigenschaft einmalig im Dialogfeld Start ein. Oder Sie erstellen die Eigenschaft über die Methode CreateProperty und fügen sie der Auflistung Properties des Objekts Database an.

Hinweis

Die Eigenschaft StartupForm ist der Aktion ÖffnenFormular im Makro AutoExec vorzuziehen. Da Microsoft Access das Makro AutoExec ausführt, nachdem die Starteigenschaften analysiert wurden, ist es empfehlenswert, daß Ihre Anwendung keine Aktion ÖffnenFormular in ihrem Makro AutoExec verwendet, wenn die Eigenschaft StartupForm eingestellt ist.

Ist diese Eigenschaft leer, wird die Standard-Datenbankeneinstellung von Microsoft Access verwendet (das Datenbankfenster wird geöffnet).

Die Einstellung dieser Eigenschaft wird erst beim nächsten Öffnen der Anwendungsdatenbank wirksam.


Starteigenschaften - Beispiel

Das folgende Beispiel zeigt eine Prozedur mit dem Namen EinstellenStarteigenschaften, die den Namen der einzustellenden Eigenschaft, ihren Datentyp und die gewünschte Einstellung übergibt. Die allgemein verwendbare Prozedur ÄndernEigenschaft versucht, die Starteigenschaft einzustellen. Wird die Eigenschaft nicht gefunden, verwendet die Prozedur die Methode CreateProperty, um sie der Auflistung Properties des Objekts Database anzufügen. Dies ist notwendig, da diese Eigenschaften erst dann in der Auflistung Properties angezeigt werden, wenn sie mindestens einmal eingestellt oder geändert wurden.

Sub EinstellenStarteigenschaften()

ÄndernEigenschaft "StartupForm", dbText, "Kunden"

ÄndernEigenschaft "StartupShowDBWindow", dbBoolean, False

ÄndernEigenschaft "StartupShowStatusBar", dbBoolean, False

ÄndernEigenschaft "AllowBuiltinToolbars", dbBoolean, False

ÄndernEigenschaft "AllowFullMenus", dbBoolean, True

ÄndernEigenschaft "AllowBreakIntoCode", dbBoolean, False

ÄndernEigenschaft "AllowSpecialKeys", dbBoolean, True

ÄndernEigenschaft "AllowBypassKey", dbBoolean, True

End Sub

Function ÄndernEigenschaft(strEigenschaftenname As String, varEigenschaftentyp As Variant, varEigenschaftenwert As Variant) As Integer

Dim dbs As Database, prp As Property

Const conPropNotFoundError = 3270

Set dbs = CurrentDb

On Error GoTo Ändern_Fehler

dbs.Properties(strEigenschaftenname) = varEigenschaftenwert

ÄndernEigenschaft = True

Ändern_Ende:

Exit Function

Ändern_Fehler:

If Err = conPropNotFoundError Then	' Eigenschaft nicht gefunden.

Set prp = dbs.CreateProperty(strEigenschaftenname, _

varEigenschaftentyp, varEigenschaftenwert)

dbs.Properties.Append prp

Resume Next

Else

' Unbekannter Fehler.

ÄndernEigenschaft = False

Resume Ändern_Ende

End If

End Function


StartupMenuBar-Eigenschaft

Mit Hilfe der Eigenschaft StartupMenuBar können Sie eine benutzerdefinierte Menüleiste festlegen, die als globale Menüleiste für Ihre Anwendung verwendet werden soll. Mit Hilfe der Eigenschaft StartupMenuBar können Sie z.B. eine benutzerdefinierte Menüleiste anzeigen, die kein Menü Zugriffsrechte enthält. Dadurch können die Benutzer auf die Befehle des Menüs Zugriffsrechte nicht über die Menüleiste zugreifen. Sie können auch ein Menüleistenmakro festlegen, das die benutzerdefinierte Menüleiste anzeigt, die Sie als globale Menüleiste verwenden möchten.

Einstellung

Die Eigenschaft StartupMenuBar ist ein Zeichenfolgenausdruck, der dem Namen einer benutzerdefinierten Menüleiste oder eines Menüleistenmakros in der aktuellen Datenbank entspricht.

Am einfachsten stellen Sie diese Eigenschaft über die Option Menüleiste im Dialogfeld Start ein. Dieses Dialogfeld wird geöffnet, indem Sie im Menü Extras auf Start klicken. Sie können diese Eigenschaft auch unter Verwendung eines Makros oder von Visual Basic einstellen.

Um die Eigenschaft StartupMenuBar mit Hilfe eines Makros oder von Visual Basic einzustellen, stellen Sie zunächst entweder die Eigenschaft einmalig im Dialogfeld Start ein. Oder Sie erstellen die Eigenschaft über die Methode CreateProperty und fügen sie der Auflistung Properties des Objekts Database an.

Hinweis

Wenn Sie die Eigenschaft StartupMenuBar einstellen, verwenden Sie keine Aktion SetzenWert im Makro AutoExec, um die Eigenschaft MenuBar für das Objekt Application einzustellen. Da Microsoft Access das Makro AutoExec ausführt, nachdem die Starteigenschaften analysiert wurden, ersetzt die im Makro AutoExec festgelegte globale Menüleiste die durch die Eigenschaft StartupMenuBar festgelegte Menüleiste.

Sie können benutzerdefinierte Menüleisten auch über die Eigenschaft MenuBar für Formulare und Berichte erstellen. Diese benutzerdfinierten Menüleisten werden beim Öffnen eines bestimmten Formulars bzw. eines bestimmten Berichts angezeigt. Sie ersetzen in diesen Fällen die globale Menüleiste.

Ist die Eigenschaft StartupMenuBar leer (Standardeinstellung), zeigt Microsoft Access die eingebaute Menüleiste an. Ist diese Eigenschaft auf den Namen einer benutzerdefinierten Menüleiste eingestellt, hat die Einstellung der Eigenschaft AllowFullMenus keine Auswirkung (die eingebauten Menüs werden durch die globale Menüleiste ersetzt).

Das Einstellen dieser Eigenschaft hat dieselbe Auswirkung wie das Einstellen der Eigenschaft MenuBar des Objekts Application (nur daß die Einstellung der Eigenschaft MenuBar sofort wirksam wird).

Ist das Kontrollkästchen Access-Spezialtasten verwenden im Dialogfeld Start aktiviert oder die Eigenschaft AllowSpecialKeys auf True (–1) eingestellt, können die Benutzer STRG+F11 drücken, um zwischen der globalen Menüleiste und der eingebauten Menüleiste umzuschalten.

Die Einstellung dieser Eigenschaft wird erst beim nächsten Öffnen der Anwendungsdatenbank wirksam.


StartupShortcutMenuBar-Eigenschaft

Mit Hilfe der Eigenschaft StartupShortcutMenuBar können Sie ein benutzerdefiniertes Kontextmenü festlegen, um es als globales Kontextmenü für Ihre Anwendung zu verwenden. Sie können auch ein Menüleistenmakro festlegen, welches das benutzerdefinierte Konextmenü anzeigt, das Sie als globales Kontextmenü verwenden möchten.

Einstellung

Die Eigenschaft StartupShortcutMenuBar ist ein Zeichenfolgenausdruck, der dem Namen eines benutzerdefinierten Kontextmenüs oder eines Menüleistenmakros, das ein benutzerdefiniertes Kontextmenü anzeigt, entspricht.

Am einfachsten stellen Sie diese Eigenschaft über die Option Kontextmenüleiste im Dialogfeld Start ein. Dieses Dialogfeld wird geöffnet, indem Sie im Menü Extras auf Start klicken. Sie können diese Eigenschaft auch unter Verwendung eines Makros oder von Visual Basic einstellen.

Um die Eigenschaft StartupShortcutMenuBar mit Hilfe eines Makros oder von Visual Basic einzustellen, stellen Sie zunächst entweder die Eigenschaft einmalig im Dialogfeld Start ein. Oder Sie erstellen die Eigenschaft über die Methode CreateProperty und fügen sie der Auflistung Properties des Objekts Database an.

Hinweis

Wenn Sie die Eigenschaft StartupShortcutMenuBar einstellen, verwenden Sie keine Aktion SetzenWert im Makro AutoExec, um die Eigenschaft ShortcutMenuBar für das Objekt Application einzustellen. Da Microsoft Access das Makro AutoExec ausführt, nachdem die Starteigenschaften analysiert wurden, ersetzt das im Makro AutoExec festgelegte globale Kontextmenü das durch die Eigenschaft StartupShortcutMenuBar festgelegte Kontextmenü.

Sie können benutzerdefinierte Kontextmenüs auch über die Eigenschaft ShortcutMenuBar für Formulare, Berichte und Steuerelemente in Formularen erstellen. Diese benutzerdefinierten Kontextmenüs werden angezeigt, wenn Sie mit der rechten Maustaste auf ein bestimmtes Formular bzw. einen bestimmten Bericht oder ein Steuerelement in einem Formular klicken. Sie ersetzen in diesen Fällen das globale Kontextmenü.

Ist diese Eigenschaft leer, zeigt Microsoft Access die eingebauten Kontextmenüs an.

Das Einstellen dieser Eigenschaft hat dieselbe Auswirkung wie das Einstellen der Eigenschaft ShortcutMenuBar des Objekts Application (nur daß die Einstellung der Eigenschaft ShortcutMenuBar sofort wirksam wird).

Die Einstellung dieser Eigenschaft wird erst beim nächsten Öffnen der Anwendungsdatenbank wirksam.


StartupShowDBWindow-Eigenschaft

Mit Hilfe der Eigenschaft StartupShowDBWindow können Sie festlegen, ob das Datenbankfenster beim Öffnen Ihrer Anwendungsdatenbank angezeigt werden soll oder nicht. Sie können z.B. ein Hauptformular öffnen, wenn sich Ihre Anwendungsdatenbank öffnet, und das Datenbankfenster ausblenden.

Einstellung

Die Eigenschaft StartupShowDBWindow verwendet die folgenden Einstellungen.

Einstellung	Beschreibung
True (–1)	Zeigt beim Start das Datenbankfenster an.
False (0)	Zeigt das Datenbankfenster beim Start nicht an.
Am einfachsten stellen Sie diese Eigenschaft über die Option Datenbankfenster anzeigen im Dialogfeld Start ein. Dieses Dialogfeld wird geöffnet, indem Sie im Menü Extras auf Start klicken. Sie können diese Eigenschaft auch unter Verwendung eines Makros oder von Visual Basic einstellen.

Um die Eigenschaft StartupShowDBWindow mit Hilfe eines Makros oder von Visual Basic einzustellen, stellen Sie zunächst entweder die Eigenschaft einmalig im Dialogfeld Start ein. Oder Sie erstellen die Eigenschaft über die Methode CreateProperty und fügen sie der Auflistung Properties des Objekts Database an.

Hinweis

Sie können die Eigenschaft StartupShowDBWindow auf False einstellen, um das Datenbankfenster auszublenden, so daß der Benutzer die Tabellen, Abfragen, Makros und Module in Ihrer Datenbank nicht sehen kann.

Ist das Kontrollkästchen Access-Spezialtasten verwenden im Dialogfeld Start aktiviert oder die Eigenschaft AllowSpecialKeys auf True (–1) eingestellt, können die Benutzer F11 drücken, um das Datenbankfenster anzuzeigen.

Selbst wenn Sie sowohl die Eigenschaft StartupShowDBWindow als auch die Eigenschaft AllowSpecialKeys auf False setzen, ist es möglich, daß ein Benutzer trotzdem auf das Datenbankfenster zugreifen kann. Dies kann passieren, wenn ein Benutzer mehrmals versucht, ein- und dieselbe Datenbank über die Liste der zuletzt verwendeten Datenbanken zu öffnen, die automatisch zusammen mit dem Menü Datei angezeigt wird. Um zu verhindern, daß Benutzer auf diese Liste zugreifen, ersetzen Sie das Menü Datei durch Ihr eigenes, benutzerdefiniertes Menü.

Die Einstellung dieser Eigenschaft wird erst beim nächsten Öffnen der Anwendungsdatenbank wirksam.


StartupShowStatusBar-Eigenschaft

Mit Hilfe der Eigenschaft StartupShowStatusBar können Sie festlegen, ob die Statusleiste beim Öffnen der Anwendungsdatenbank angezeigt werden soll oder nicht. Sie können über die Eigenschaft StartupShowStatusBar z.B. die Anzeige der Statusleiste verhindern, wenn Sie in Ihrer Anwendung keine Statusmeldungen anzeigen möchten.

Einstellung

Die Eigenschaft StartupShowStatusBar verwendet die folgenden Einstellungen.

Einstellung	Beschreibung
True (–1)	Zeigt die Statusleiste beim Start an.
False (0)	Zeigt die Statusleiste beim Start nicht an.
Am einfachsten stellen Sie diese Eigenschaft über die Option Statusleiste anzeigen im Dialogfeld Start ein. Dieses Dialogfeld wird geöffnet, indem Sie im Menü Extras auf Start klicken. Sie können diese Eigenschaft auch unter Verwendung eines Makros oder von Visual Basic einstellen.

Um die Eigenschaft StartupShowStatusBar mit Hilfe eines Makros oder von Visual Basic einzustellen, stellen Sie zunächst entweder die Eigenschaft einmalig im Dialogfeld Start ein. Oder Sie erstellen die Eigenschaft über die Methode CreateProperty und fügen sie der Auflistung Properties des Objekts Database an.

Hinweis

Das Einstellen dieser Eigenschaft wirkt sich nur für die aktuelle Datenbank auf die Anzeige der Statusleiste aus. Sie können auch für alle Microsoft Access-Datenbanken steuern, ob die Statusleiste standardmäßig angezeigt oder ausgeblendet wird. Hierzu klicken Sie im Menü Extras auf Optionen und dann auf die Registerkarte Ansicht. Danach aktivieren oder deaktivieren Sie unter Zeigen das Kontrollkästchen Statusleiste. In der aktuellen Datenbank wird in den folgenden Fällen keine Statusleiste angezeigt: wenn das Kontrollkästchen Statusleiste im Dialogfeld Optionen deaktiviert ist; wenn das Kontrollkästchen Statusleiste anzeigen im Dialogfeld Start deaktiviert ist; oder wenn die Eigenschaft StartupShowStatusBar auf False eingestellt ist.

Die Einstellung dieser Eigenschaft wird erst beim nächsten Öffnen der Anwendungsdatenbank wirksam.


AllowBuiltInToolbars-Eigenschaft

Mit Hilfe der Eigenschaft AllowBuiltInToolbars können Sie festlegen, ob der Benutzer die eingebauten Symbolleisten von Microsoft Access anzeigen kann oder nicht. Sie können über die Eigenschaft AllowBuiltInToolbars z.B. verhindern, daß ein Benutzer in einer Datenbankanwendung eine eingebaute Microsoft Access-Symbolleiste sieht.

Einstellung

Die Eigenschaft AllowBuiltInToolbars verwendet die folgenden Einstellungen.

Einstellung	Beschreibung
True (–1)	Läßt die Anzeige eingebauter Symbolleisten zu.
False (0)	Läßt die Anzeige eingebauter Symbolleisten nicht zu.
Am einfachsten stellen Sie diese Eigenschaft über die Option Eingebaute Symbolleisten zulassen im Dialogfeld Start ein. Dieses Dialogfeld wird geöffnet, indem Sie im Menü Extras auf Start klicken. Sie können diese Eigenschaft auch unter Verwendung eines Makros oder von Visual Basic einstellen.

Um die Eigenschaft AllowBuiltInToolbars mit Hilfe eines Makros oder von Visual Basic einzustellen, stellen Sie zunächst entweder die Eigenschaft einmalig im Dialogfeld Start ein. Oder Sie erstellen die Eigenschaft über die Methode CreateProperty und fügen sie der Auflistung Properties des Objekts Database an.

Hinweis

Spezifische Symbolleisten können Sie über das Dialogfeld Anpassen ein- oder ausblenden. Dieses Dialogfeld ist verfügbar, wenn Sie im Menü Ansicht auf Symbolleisten zeigen und dann auf Anpassen klicken.

Wenn Sie im Menü Ansicht auf Symbolleisten klicken und die Eigenschaft AllowBuiltInToolbars auf False eingestellt ist, zeigt Microsoft Access im Untermenü Symbolleisten nur benutzerdefinierte Symbolleisten an. Wenn Sie in diesem Untermenü auf Anpassen klicken, zeigt das Dialogfeld Anpassen die eingebauten Symbolleisten an, Sie können sie jedoch weder auswählen noch anpassen.

Der Benutzer kann eingebaute Symbolleisten nur dann ändern, wenn sowohl die Eigenschaft AllowToolbarChanges als auch die Eigenschaft AllowBuiltInToolbars auf True eingestellt ist.

Ist die Eigenschaft AllowBuiltInToolbars auf False eingestellt, können Sie die Aktion EinblendenSymbolleiste nicht verwenden, um eine eingebaute Symbolleiste anzuzeigen.

Die Einstellung dieser Eigenschaft wird erst beim nächsten Öffnen der Anwendungsdatenbank wirksam.


AllowFullMenus-Eigenschaft

Mit Hilfe der Eigenschaft AllowFullMenus können Sie festlegen, ob beim Öffnen der Datenbankanwendung die unbeschränkten eingebauten Menüs von Microsoft Access verfügbar sein sollen oder nicht. Sie können über die Eigenschaft AllowFullMenus z.B. Menüeinträge deaktivieren, über die die Benutzer Tabellen-, Formular-, Abfrage- oder Berichtsstrukturen ändern können.

Einstellung

Die Eigenschaft AllowFullMenus verwendet die folgenden Einstellungen.

Einstellung	Beschreibung
True (–1)	Zeigt beim Start die unbeschränkten eingebauten Menüs an.
False (0)	Zeigt beim Start die unbeschränkten eingebauten Menüs nicht an.
Am einfachsten stellen Sie diese Eigenschaft über die Option Unbeschränkte Menüs anzeigen im Dialogfeld Start ein. Dieses Dialogfeld wird geöffnet, indem Sie im Menü Extras auf Start klicken. Sie können diese Eigenschaft auch unter Verwendung eines Makros oder von Visual Basic einstellen.

Um die Eigenschaft AllowFullMenus mit Hilfe eines Makros oder von Visual Basic einzustellen, stellen Sie zunächst entweder die Eigenschaft einmalig im Dialogfeld Start ein. Oder Sie erstellen die Eigenschaft über die Methode CreateProperty und fügen sie der Auflistung Properties des Objekts Database an.

Hinweis

Wenn Sie diese Eigenschaft auf False einstellen, wird in Ihrer Datenbank eine vordefinierte Untergruppe der unbeschränkten eingebauten Menüs angezeigt. Diese Menügruppe enthält keine Menüs und Befehle, über welche die Benutzer den Entwurf von Datenbankobjekten ändern können.

Durch Einstellen dieser Eigenschaft auf False werden auch die Symbolleisten-Schaltflächen deaktiviert, die den deaktivierten Menüeinträgen entsprechen. Auf Kontextmenüs wirkt sich dies jedoch nicht aus (Sie können einige Entwurfsmerkmale demnach weiterhin über Kontextmenübefehle ändern). Wenn Sie nicht möchten, daß die Benutzer Zugriff auf die Befehle in den Kontextmenüs haben, können Sie die Eigenschaft AllowShortcutMenus auf False einstellen.

Die Einstellung dieser Eigenschaft wird erst beim nächsten Öffnen der Anwendungsdatenbank wirksam.


AllowToolbarChanges-Eigenschaft

Mit Hilfe der Eigenschaft AllowToolbarChanges können Sie festlegen, ob es den Benutzern Ihrer Datenbank möglich sein soll, Symbolleisten, Menüleisten und Kontextmenüs anzupassen. Sie können über die Eigenschaft AllowToolbarChanges z.B. verhindern, daß die Benutzer eine Symbolleisten-Schaltfläche oder eine ganze Symbolleiste aus Ihrer Anwendung löschen.

Einstellung

Die Eigenschaft AllowToolbarChanges verwendet die folgenden Einstellungen.

Einstellung	Beschreibung
True (–1)	Läßt Änderungen an Symbolleisten, Menüleisten und Kontextmenüs zu.
False (0)	Läßt keine Änderungen an Symbolleisten, Menüleisten und Kontextmenüs zu.
Am einfachsten stellen Sie diese Eigenschaft über die Option Symbolleisten- und Menüänderungen zulassen im Dialogfeld Start ein. Dieses Dialogfeld wird geöffnet, indem Sie im Menü Extras auf Start klicken. Sie können diese Eigenschaft auch unter Verwendung eines Makros oder von Visual Basic einstellen.

Um die Eigenschaft AllowToolbarChanges mit Hilfe eines Makros oder von Visual Basic einzustellen, stellen Sie zunächst entweder die Eigenschaft einmalig im Dialogfeld Start ein. Oder Sie erstellen die Eigenschaft über die Methode CreateProperty und fügen sie der Auflistung Properties des Objekts Database an.

Hinweis

Wenn Sie die Eigenschaft AllowToolbarChanges auf False einstellen, können die Benutzer keine Symbolleisten, Menüleisten und Kontextmenüs ändern. Ferner wird der Unterbefehl Anpassen des Befehls Symbolleisten im Menü Ansicht deaktiviert sowie der Befehl Anpassen, der angezeigt wird, wenn Sie mit der rechten Maustaste auf eine Symbolleiste oder die Menüleiste klicken.

Wenn Sie diese Eigenschaft auf False einstellen, kann der Benutzer Symbolleisten und die Menüleiste nach wie vor verschieben, in der Größe ändern und verankern.

Eingebaute Symbolleisten kann der Benutzer nur ändern, wenn sowohl die Eigenschaft AllowToolbarChanges als auch die Eigenschaft AllowBuiltInToolbars auf True eingestellt ist.

Die Einstellung dieser Eigenschaft wird erst beim nächsten Öffnen der Anwendungsdatenbank wirksam.


AllowShortcutMenus-Eigenschaft

Mit Hilfe der Eigenschaft AllowShortcutMenus können Sie festlegen, ob Ihre Anwendung zulassen soll, daß Microsoft Access eingebaute Kontextmenüs anzeigt. Sie können die Eigenschaft AllowShortcutMenus in Ihrer Anwendung z.B. in Verbindung mit der Eigenschaft AllowFullMenus verwenden, um zu verhindern, daß Benutzer eingebaute Menüleisten-, Symbolleisten- oder Kontextmenübefehle verwenden, über die Sie Änderungen am Entwurf von Datenbankobjekten vornehmen können.

Einstellung

Die Eigenschaft AllowShortcutMenus verwendet die folgenden Einstellungen.

Einstellung	Beschreibung
True (–1)	Läßt die Anzeige eingebauter Microsoft Access-Kontextmenüs zu.
False (0)	Läßt die Anzeige eingebauter Microsoft Access-Kontextmenüs nicht zu.
Am einfachsten stellen Sie diese Eigenschaft über die Option Standard-Kontextmenüs zulassen im Dialogfeld Start ein. Dieses Dialogfeld wird geöffnet, indem Sie im Menü Extras auf Start klicken. Sie können diese Eigenschaft auch unter Verwendung eines Makros oder von Visual Basic einstellen.

Um die Eigenschaft AllowShortcutMenus mit Hilfe eines Makros oder von Visual Basic einzustellen, stellen Sie zunächst entweder die Eigenschaft einmalig im Dialogfeld Start ein. Oder Sie erstellen die Eigenschaft über die Methode CreateProperty und fügen sie der Auflistung Properties des Objekts Database an.

Hinweis

Die Einstellung dieser Eigenschaft hat keine Auswirkung auf benutzerdefinierte Kontextmenüs und globale Kontextmenüs. Über die Eigenschaft ShortcutMenuBar können Sie benutzerdefinierte Kontextmenüs für Formulare, Steuerelemente in Formularen und Berichte anzeigen. Über die Eigenschaft StartupShortcutMenuBar oder ShortcutMenuBar des Objekts Application können Sie ein globales Kontextmenü anzeigen.

Wenn Sie in Ihrer Anwendung eingebaute Kontextmenüs anzeigen möchten, der Benutzer daran jedoch keine Änderungen vornehmen soll, stellen Sie die Eigenschaft AllowShortcutMenus auf True und die Eigenschaft AllowToolbarChanges auf False ein.

Die Einstellung dieser Eigenschaft wird erst beim nächsten Öffnen der Anwendungsdatenbank wirksam.


AllowBreakIntoCode-Eigenschaft

Mit Hilfe der Eigenschaft AllowBreakIntoCode können Sie festlegen, ob der Benutzer Visual Basic-Code anzeigen kann, nachdem in einem Modul ein Laufzeitfehler eingetreten ist.

Einstellung

Die Eigenschaft AllowBreakIntoCode verwendet die folgenden Einstellungen.

Einstellung	Beschreibung
True (–1)	Aktiviert die Schaltfläche Testen im Dialogfeld, die bei Eintreten eines Laufzeitfehlers angezeigt wird.
False (0)	Deaktiviert die Schaltfläche Testen.
Am einfachsten stellen Sie diese Eigenschaft über die Option Codeansicht nach Fehler zulassen im Bereich Weitere des Dialogfelds Start ein. Dieses Dialogfeld wird geöffnet, indem Sie im Menü Extras auf Start klicken. Sie können diese Eigenschaft auch unter Verwendung eines Makros oder von Visual Basic einstellen.

Um die Eigenschaft AllowBreakIntoCode mit Hilfe eines Makros oder von Visual Basic einzustellen, stellen Sie zunächst entweder die Eigenschaft einmalig im Dialogfeld Start ein. Oder Sie erstellen die Eigenschaft über die Methode CreateProperty und fügen sie der Auflistung Properties des Objekts Database an.

Hinweis

Stellen Sie sicher, daß die Eigenschaft AllowBreakIntoCode beim Testen einer Anwendung auf True eingestellt ist.

Ist die Eigenschaft AllowSpecialKeys auf True eingestellt, können Sie durch Drücken von STRG+UNTBR die Ausführung des Visual Basic-Codes unterbrechen, auch wenn die Eigenschaft AllowBreakIntoCode auf False eingestellt ist.

Die Einstellung dieser Eigenschaft wird erst beim nächsten Öffnen der Anwendungsdatenbank wirksam.


AllowSpecialKeys-Eigenschaft

Mit Hilfe der Eigenschaft AllowSpecialKeys können Sie festlegen, ob spezielle Tastensfolgen (ALT+F1 (F11), STRG+F11, STRG+UNTBR und STRG+G) deaktiviert oder aktiviert sein sollen. Über die Eigenschaft AllowSpecialKeys können Sie z.B. verhindern, daß ein Benutzer das Datenbankfenster durch Drücken von F11 anzeigt, in einem Visual Basic-Modul durch Drücken von STRG+UNTBR den Unterbrechungsmodus aktiviert oder durch Drücken von STRG+G das Testfenster anzeigt.

Einstellung

Die Eigenschaft AllowSpecialKeys verwendet die folgenden Einstellungen.

Einstellung	Beschreibung
True (–1)	Aktiviert die speziellen Tastenfolgen.
False (0)	Deaktiviert die speziellen Tastenfolgen.
Am einfachsten stellen Sie diese Eigenschaft über die Option Access-Spezialtasten verwenden im Bereich Weitere des Dialogfelds Start ein. Dieses Dialogfeld wird geöffnet, indem Sie im Menü Extras auf Start klicken. Sie können diese Eigenschaft auch unter Verwendung eines Makros oder von Visual Basic einstellen.

Um die Eigenschaft AllowSpecialKeys mit Hilfe eines Makros oder von Visual Basic einzustellen, stellen Sie zunächst entweder die Eigenschaft einmalig im Dialogfeld Start ein. Oder Sie erstellen die Eigenschaft über die Methode CreateProperty und fügen sie der Auflistung Properties des Objekts Database an.

Hinweis

Stellen Sie sicher, daß die Eigenschaft AllowSpecialKeys beim Testen einer Anwendung auf True eingestellt ist.

Die Eigenschaft AllowSpecialKeys wirkt sich auf die folgenden Tastenfolgen aus.

Tastenfolgen	Auswirkung
ALT+F1 (F11)	Bringt das Datenbankfenster in den Vordergrund.
STRG+G	Zeigt das Testfenster an.
STRG+F11	Schaltet zwischen der benutzerdefinierten Menüleiste und der eingebauten Menüleiste um.
STRG+UNTBR	Aktiviert den Unterbrechungsmodus und zeigt das aktuelle Modul im Modulfenster an.
Wenn Sie die Eigenschaft UseSpecialKeys auf False einstellen und über die Eigenschaft StartupMenuBar oder die Eigenschaft MenuBar des Objekts Application eine globale Menüleiste festlegen, ist die eingebaute Menüleiste nicht verfügbar.

Die Einstellung dieser Eigenschaft wird erst beim nächsten Öffnen der Anwendungsdatenbank wirksam.


AllowBypassKey-Eigenschaft

Mit Hilfe der Eigenschaft AllowBypassKey können Sie festlegen, ob die UMSCHALTTASTE zum Umgehen der Starteigenschaften und des Makros AutoExec aktiviert sein soll oder nicht. Sie können die Eigenschaft AllowBypassKey z.B. auf False einstellen, um einen Benutzer daran zu hindern, die Starteigenschaften und das Makro AutoExec zu umgehen.

Einstellung

Die Eigenschaft AllowBypassKey verwendet die folgenden Einstellungen.

Einstellung	Beschreibung
True (–1)	Aktiviert die UMSCHALTTASTE, so daß der Benutzer die Starteigenschaften und das Makro AutoExec umgehen kann.
False (0)	Deaktiviert die UMSCHALTTASTE und hindert den Benutzer daran, die Starteigenschaften und das Makro AutoExec zu umgehen.
Sie können diese Eigenschaft mit Hilfe eines Makros oder von Visual Basic einstellen.

Um die Eigenschaft AllowBypassKey mit Hilfe eines Makros oder von Visual Basic einzustellen, stellen Sie zunächst entweder die Eigenschaft einmalig im Dialogfeld Start ein. Oder Sie erstellen die Eigenschaft über die Methode CreateProperty und fügen sie der Auflistung Properties des Objekts Database an.

Hinweis

Stellen Sie sicher, daß die Eigenschaft AllowBypassKey beim Testen einer Anwendung auf True eingestellt ist.

Die Einstellung dieser Eigenschaft wird erst beim nächsten Öffnen der Anwendungsdatenbank wirksam.


AppIcon-Eigenschaft

Mit Hilfe der Eigenschaft AppIcon können Sie den Namen der Bitmap- (.BMP) oder Symbol-Datei (.ICO) festlegen, die das Anwendungssymbol enthält. Sie können über die Eigenschaft AppIcon z.B. eine .BMP-Datei festlegen, die das Bild eines Automobils enthält, um eine Autoteile-Anwendung darzustellen.

Einstellung

Die Eigenschaft AppIcon ist ein Zeichenfolgenausdruck, der einem gültigen Bitmap- oder Symboldateinamen (einschließlich Pfad) entspricht.

Am einfachsten stellen Sie diese Eigenschaft über die Option Anwendungssymbol im Dialogfeld Start ein. Dieses Dialogfeld wird geöffnet, indem Sie im Menü Extras auf Start klicken. Sie können diese Eigenschaft auch unter Verwendung eines Makros oder von Visual Basic einstellen.

Um die Eigenschaft AppIcon mit Hilfe eines Makros oder von Visual Basic einzustellen, stellen Sie zunächst entweder die Eigenschaft einmalig im Dialogfeld Start ein. Oder Sie erstellen die Eigenschaft über die Methode CreateProperty und fügen sie der Auflistung Properties des Objekts Database an. Verwenden Sie ferner die Methode RefreshTitleBar, um Änderungen sofort sichtbar zu machen.

Hinweis

Wenn Sie Ihre Anwendung verteilen, empfiehlt es sich, die .BMP- oder .ICO-Datei mit dem Symbol in das Verzeichnis Ihrer Microsoft Access-Anwendung zu stellen.

Ist die Eigenschaft AppIcon nicht eingestellt oder ungültig, wird das Microsoft Access-Symbol angezeigt.

Die Einstellung dieser Eigenschaft wird unmittelbar nach ihrer Einstellung im Code (sofern dieser die Methode RefreshTitleBar enthält) oder nach dem Schließen des Dialogfelds Start wirksam.


AppIcon, AppTitle-Eigenschaften - Beispiel

Das folgende Beispiel zeigt, wie Sie die Eigenschaften AppIcon und AppTitle ändern können. Wurden diese Eigenschaften noch nicht eingestellt oder erstellt, erstellen Sie sie und fügen sie über die Methode CreateProperty dem Objekt Database an.

Sub cmdHinzufügenEigenschaft_Click()

Dim intX As Integer

intX = HinzufügenAnwEigenschaft("AppTitle", dbText, "Meine Anwendung")

intX = HinzufügenAnwEigenschaft("AppIcon", dbText, "C:\WINDOWS\AUTOS.BMP")

RefreshTitleBar

End Sub

Function HinzufügenAnwEigenschaft(strName As String, varTyp As Variant, varWert As Variant) As Integer

Dim dbs As Database, prp As Property

Const conPropNotFoundError = 3270

Set dbs = CurrentDb

On Error GoTo HinzufügenEigenschaft_Fehler

dbs.Properties(strName) = varWert

HinzufügenAnwEigenschaft = True

HinzufügenEigenschaft_Ende:

Exit Function

HinzufügenEigenschaft_Fehler:

If Err = conPropNotFoundError Then

Set prp = dbs.CreateProperty(strName, varTyp, varWert)

dbs.Properties.Append prp

Resume

Else

HinzufügenAnwEigenschaft = False

Resume HinzufügenEigenschaft_Ende

End If

End Function


AppTitle-Eigenschaft

Mit Hilfe der Eigenschaft AppTitle können Sie den Text festlegen, der in der Titelleiste der Anwendungsdatenbank angezeigt werden soll. Sie können über die Eigenschaft AppTitle z.B. festlegen, daß die Zeichenfolge "Inventur" in der Titelleiste Ihrer Datenbankanwendung Inventur angezeigt werden soll.

Einstellung

Die Eigenschaft AppTitle ist ein Zeichenfolgenausdruck,der dem Text, der in der Titelleiste angezeigt werden soll, entspricht.

Am einfachsten stellen Sie diese Eigenschaft über die Option Anwendungstitel im Dialogfeld Start ein. Dieses Dialogfeld wird geöffnet, indem Sie im Menü Extras auf Start klicken. Sie können diese Eigenschaft auch unter Verwendung eines Makros oder von Visual Basic einstellen.

Um die Eigenschaft AppTitle mit Hilfe eines Makros oder von Visual Basic einzustellen, stellen Sie zunächst entweder die Eigenschaft einmalig im Dialogfeld Start ein. Oder Sie erstellen die Eigenschaft über die Methode CreateProperty und fügen sie der Auflistung Properties des Objekts Database an. Verwenden Sie ferner die Methode RefreshTitleBar, um Änderungen sofort sichtbar zu machen.

Hinweis

Ist diese Eigenschaft nicht eingestellt, wird in der Titelleiste die Zeichenfolge "Microsoft Access" angezeigt.

Die Einstellung dieser Eigenschaft wird unmittelbar nach ihrer Einstellung im Code (sofern dieser die Methode RefreshTitleBar enthält) oder nach dem Schließen des Dialogfelds Start wirksam.


DatasheetBackColor-, DatasheetForeColor-Eigenschaften (DatenblattHintergrundfarbe, DatenblattVordergrundfarbe)

•	Mit der Eigenschaft DatasheetBackColor können Sie in Visual Basic für eine gesamte Tabelle, eine gesamte Abfrage oder ein gesamtes Formular die Hintergrundfarbe angeben oder ermitteln, die in der Datenblattansicht verwendet wird.

•	Mit der Eigenschaft DatasheetForeColor können Sie in Visual Basic für den gesamten Text einer Tabelle, einer Abfrage oder eines Formulars die Farbe angeben oder ermitteln, die in der Datenblattansicht verwendet wird.

Einstellung

Die Eigenschaften DatasheetBackColor und DatasheetForeColor werden auf Werte des Datentyps Long Integer eingestellt. Diese Werte geben für ein Datenblatt die Einstellungen der Hintergrund- und der Vordergrundfarbe an.

Sie können diese Eigenschaften auch einstellen, indem Sie in der Formatsymbolleiste (Datenblatt) auf Fill/BackColor  [image]  bzw. Font/ForeColor  [image]  und dann in der Farbpalette auf die gewünschte Farbe klicken.

Die Standardwerte für die Eigenschaften DatasheetBackColor und DatasheetForeColor können Sie auch im Dialogfeld Optionen auf der Registerkarte Datenblatt angeben. Das Dialogfeld Optionen wird angezeigt, wenn Sie im Menü Extras auf Optionen klicken.

Hinweis

Wenn Sie die Eigenschaften DatasheetBackColor und DatasheetForeColor einer Tabelle oder einer Abfrage einstellen, hat dies keine Auswirkungen auf die Einstellungen der entsprechenden Eigenschaften eines Formulars, für das die Tabelle oder Abfrage als Datenquelle verwendet wird.

Die folgende Liste enthält die Eigenschaften, die so lange nicht in der Auflistung Properties eines TableDef- oder QueryDef-Objekts enthalten sind, bis Sie die Eigenschaften entweder mit der Methode CreateProperty hinzugefügt oder mit der Formatsymbolleiste (Datenblatt) eingestellt haben.

DatasheetBackColor	DatasheetFontUnderline*
DatasheetCellsEffect	DatasheetFontWeight*
DatasheetFontHeight*	DatasheetForeColor*
DatasheetFontItalic*	DatasheetGridlinesBehavior
DatasheetFontName*	DatasheetGridlinesColor
Anmerkung   Wenn Sie eine Eigenschaft hinzufügen oder einstellen, hinter der ein Sternchen steht, fügt Microsoft Access diese Eigenschaft automatisch zu der entsprechenden Auflistung Properties hinzu.


DatasheetBackColor-, DatasheetForeColor-Eigenschaften (DatenblattHintergrundfarbe, DatenblattVordergrundfarbe) - Beispiel

Im folgenden Beispiel wird die Prozedur TabEigenschEinstellen verwendet, um die Schriftfarbe einer Tabelle auf Dunkelblau und die Hintergrundfarbe der Tabelle auf Hellgrau einzustellen. Wenn beim Einstellen einer Eigenschaft der Fehler "Eigenschaft nicht gefunden" auftritt, wird die Eigenschaft mit der Methode CreateProperty zu der Auflistung Properties des Objekts hinzugefügt.

Dim dbs As Database, tdfArtikel As TableDef

Const lngVordergrFarbe As Long = 8388608	' Dunkelblau

Const lngHintergrFarbe As Long = 12632256	' Hellgrau.

Set dbs = CurrentDb

Set tdfArtikel = dbs!Products

TabEigenschEinstellen tdfArtikel, "DatasheetBackColor", dbLong, lngHintergrFarbe

TabEigenschEinstellen tdfArtikel, "DatasheetForeColor", dbLong, lngVordergrFarbe

Sub TabEigenschEinstellen(tdfTabelle As TableDef, strEigenschName As String, _

strEigenschTyp As Integer, strEigenschWert As Variant)

Const conEigenschNichtGef = 3270

Dim prpEigenschaft As Property

On Error Resume Next	' Fehler nicht auffangen.

tdfTabelle.Properties(strEigenschName) = strEigenschWert

If Err <> 0 Then	' Fehler beim Einstellen des Wertes.

If Err <> conEigenschNichtGef Then

' Der Fehler ist nicht bekannt.

MsgBox "Die Eigenschaft " & strEigenschName & " der Tabelle '" _

& tdfTabelle.Name & "' konnte nicht eingestellt werden", vbExclamation, Err.Description

Err.Clear

Else

' Fehler "Eigenschaft nicht gefunden"; die Eigenschaft zur

' Auflistung hinzufügen.

Set prpEigenschaft = tdfTabelle.CreateProperty(strEigenschName, _

strEigenschTyp, strEigenschWert)

tdfTabelle.Properties.Append prpEigenschaft

Err.Clear

End If

End If

tdfTabelle.Properties.Refresh

End Sub


FailOnError-Eigenschaft (BeiFehlerAbbrechen)

Mit der Eigenschaft FailOnError können Sie angeben, ob eine Aktualisierungsabfrage oder eine Löschabfrage, die für eine ODBC Datenquelle ausgeführt wird, beendet wird, wenn ein Fehler auftritt. Die Eigenschaft FailOnError ermöglicht es Ihnen, eine umfangreiche Aktualisierungsabfrage, die für eine ODBC-Datenquelle ausgeführt wird, so zu optimieren, daß sie auf dem Server ausgeführt wird, wenn Sie das bestimmte Verhalten, mit dem die Microsoft Jet-Datenbank-Engine auf Fehler reagiert, nicht wünschen.

Anmerkung   Die Eigenschaft FailOnError bezieht sich nur auf Aktualisierungs- und Löschabfragen.

Einstellung

Die Eigenschaft FailOnError verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Ja	Bei einem Fehler wird die Abfrage beendet.	True (-1)
Nein	(Standardeinstellung) Bei einem Fehler wird die Abfrage nicht beendet.	False (0)
Sie können die Eigenschaft FailOnError im Eigenschaftenfenster der Abfrage oder in Visual Basic einstellen. Um diese Eigenschaft mit Visual Basic einzustellen, müssen Sie sie zunächst zu einer Properties-Auflistung eines QueryDef-Objekts hinzufügen, indem Sie die Methode CreateProperty verwenden.

Hinweis

Eine Abfrage wird an den jeweiligen Server gesendet und dort ausgeführt, wenn die Eigenschaft FailOnError auf Ja eingestellt ist und folgende Bedingungen erfüllt sind: Die Abfrage wird an nur eine Tabelle einer ODBC-Datenbank gerichtet und enthält keine Ausdrücke, die auf dem Server nicht ausgewertet werden können. Wenn die Eigenschaft FailOnError auf Ja eingestellt ist, wird, falls während eines Lösch- oder Aktualisierungsvorgangs ein Fehler auftritt, die Ausführung der Abfrage beendet, und die Tabelle wird auf ihren ursprünglichen Stand zurückgesetzt. In allen anderen Fällen wird die Eigenschaft FailOnError so behandelt, als sei sie auf Nein eingestellt. Wenn die Eigenschaft FailOnError auf Nein eingestellt ist und ein Fehler auftritt, können Sie entweder das Ergebnis der Abfrage akzeptieren oder alle vorgenommenen Änderungen zurücksetzen.

Wenn die Eigenschaft FailOnError auf Nein eingestellt ist und die Abfrage an lokale Daten gerichtet wird, funktioniert eine Aktualisierungs- oder Löschabfrage so wie in früheren Versionen von Microsoft Access: Für den Fall, daß sich die Abfrage auf mehrere Zeilen auswirkt, kann es sein, daß einige Zeilen aktualisiert werden, während andere infolge von Fehlern ungeändert bleiben. Wenn ein Fehler aufgetreten ist, werden Ihnen der Grund des Fehlers sowie die Anzahl der betroffenen Datensätze mitgeteilt, und Sie können entweder das Ergebnis der Abfrage akzeptieren oder alle vorgenommenen Änderungen zurücksetzen.

Wenn Sie diese Eigenschaft auf Ja einstellen, erzielen Sie dasselbe Ergebnis, als wenn Sie die eingebaute Konstante dbFailOnError der DAO-Methode Execute verwenden.


HasModule-Eigenschaft (EnthältModul)

Mit der Eigenschaft HasModule können Sie angeben oder ermitteln, ob ein Formular oder Bericht ein Klassenmodul hat. Wenn Sie diese Eigenschaft auf Nein einstellen, ist es wahrscheinlich, daß das Leistungsverhalten Ihrer Datenbank verbessert und Ihre Datenbank kleiner wird.

Einstellung

Die Eigenschaft HasModule verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Ja	Das Formular oder der Bericht hat ein Klassenmodul.	True (-1)
Nein	(Standardeinstellung) Das Formular oder der Bericht hat kein Klassenmodul.	False (0)
Sie können die Eigenschaft HasModule im Eigenschaftenfenster des Formulars oder Berichts, in einem Makro oder in Visual Basic einstellen.

Die Eigenschaft HasModule kann nur in der Formular-Entwurfsansicht oder in der Berichts-Entwurfsansicht eingestellt werden, kann aber in allen anderen Ansichten gelesen werden.

Hinweis

Formulare oder Berichte, deren Eigenschaft HasModule auf Nein eingestellt ist, werden als einfache Objekte behandelt. Einfache Objekte sind kleiner und werden normalerweise schneller geladen und angezeigt als Objekte, die Klassenmodule haben. In vielen Fällen sind für ein Formular oder einen Bericht keine Ereignisprozeduren und somit auch kein Klassenmodul erforderlich.

Wenn in Ihrer Anwendung keine Befehlsschaltflächen mit Ereignisprozeduren, sondern ein Übersichtsformular verwendet wird, um zu anderen Formularen zu gelangen, können Sie eine Befehlsschaltfläche mit einem Makro oder einem Hyperlink verwenden. Sie können z.B. das Formular Personal über eine Befehlsschaltfläche eines Übersichtsformulars öffnen, wenn Sie die Eigenschaft HyperlinkSubAddress des Steuerelements auf Form Personal eingestellt haben.

Sogenannte einfache Objekte werden nicht im Objektkatalog angezeigt, und Sie können nicht das Schlüsselwort New verwenden, um eine neue Instanz des Objekts zu erstellen. Ein einfaches Formular oder ein einfacher Bericht kann als Unterformular bzw. Unterbericht verwendet werden und ist in der jeweiligen Auflistung Forms bzw. Reports enthalten. Einfache Objekte unterstützen das Aufrufen von Makros sowie von öffentlichen Prozeduren, die Bestandteile eines Standardmoduls sind, wenn die Makros oder Prozeduren über das Eigenschaftenfenster des jeweiligen Objekts aufgerufen werden.

Microsoft Access stellt die Eigenschaft HasModule auf True ein, sobald Sie versuchen, ein Modul des Objekts anzuzeigen, und dies sogar dann, wenn kein Code in das Modul eingefügt wird. Wenn z.B. ein Formular in der Entwurfsansicht angezeigt wird und Sie im Menü Ansicht auf Code klicken, fügt Microsoft Access ein Klassenmodul zu dem Form-Objekt hinzu und stellt dessen Eigenschaft HasModule auf True ein. Auf gleiche Weise können Sie ein Klassenmodul zu einem Objekt hinzufügen, indem Sie die Eigenschaft HasModule im Eigenschaftenfenster eines Objekts auf Ja einstellen.

Warnung   Wenn Sie die Eigenschaft HasModule im Eigenschaftenfenster eines Objekts auf Nein bzw. in Visual Basic auf False einstellen, löscht Microsoft Access das Klassenmodul des Objekts und somit auch den Code, den das Klassenmodul enthält.

Wenn Sie eine Methode des Module-Objekts verwenden oder in der Entwurfsansicht auf die Eigenschaft Module eines Formulars oder Berichts verweisen, erstellt Microsoft Access das zugehörige Modul und stellt die Eigenschaft HasModule auf True ein. Wenn Sie während der Laufzeit auf die Eigenschaft Module eines Formulars oder Berichts verweisen und die Eigenschaft HasModule des Objekts auf False eingestellt ist, tritt ein Fehler auf.

Objekte, die mit einer der Funktionen CreateForm oder CreateReport erstellt wurden, sind standardmäßig einfache Objekte.


Hyperlink-Eigenschaft

Mit der Eigenschaft Hyperlink können Sie ein Verweis auf ein Hyperlink-Objekt zurückgeben. Sie können die Eigenschaft Hyperlink verwenden, um auf die Eigenschaften und Methoden eines Hyperlink-Objekts zuzugreifen, das einem Steuerelement zugeordnet ist.

Einstellung

Die Eigenschaft Hyperlink steht nur in Visual Basic zur Verfügung


Hyperlink-Eigenschaft - Beispiel

In der Prozedur HyperlinkErstellen des folgenden Beispiels werden die Hyperlink-Eigenschaften eines Befehlsschaltfläche-, Bezeichnungsfeld- oder Bild-Steuerelements auf die Adresse und Unteradresse eingestellt, die an die Prozedur übergeben werden. Das Argument für die Einstellung der Adresse ist ein optionales Argument, da für ein Hyperlink zu einem Objekt der aktuellen Datenbank nur die Einstellung der Unteradresse verwendet wird. Wenn Sie dieses Beispiel testen möchten, erstellen Sie ein Formular mit zwei Textfeld-Steuerelementen (txtAdresse und txtUnteradresse) sowie einer Befehlsschaltfläche (cmdLinkFolgen) und fügen folgenden Code in das Modul des Formulars ein:

Private Sub cmdLinkFolgen_Click()

HyperlinkErstellen Me!cmdLinkFolgen, Me!txtUnteradresse, Me!txtAdresse

End Sub

Sub HyperlinkErstellen(ctlAusgewählt As Control, strUnteradresse As TextBox, Optional strAdresse As TextBox)

Dim hlk As Hyperlink

Select Case ctlAusgewählt.ControlType

Case acLabel, acImage, acCommandButton

Set hlk = ctlAusgewählt.Hyperlink

With hlk

If Not IsMissing(strAdresse) Then

.Address = strAdresse

Else

.Address = ""

End If

.SubAddress = strUnteradresse

.Follow

.Address = ""

.SubAddress = ""

End With

Case Else

MsgBox "Das Steuerelement '" & ctlAusgewählt.Name & "' unterstützt keine Hyperlinks."

End Select

End Sub


HyperlinkAddress-Eigenschaft (HyperlinkAdresse)

Mit der Eigenschaft HyperlinkAddress können Sie für eine Befehlsschaltfläche, ein Bild-Steuerelement oder ein Bezeichnungsfeld-Steuerelement einen Pfad zu einem Objekt, einem Dokument, einer Web-Seite oder einem anderen Ziel angeben oder ermitteln.

Einstellung

Die Einstellung der Eigenschaft HyperlinkAddress ist ein Zeichenfolgenausdruck, der den Pfad zu einer Datei (UNC-Pfad) oder Web-Seite (URL) angibt.

Sie können die Eigenschaft HyperlinkAddress im Eigenschaftenfenster des Steuerelements, in einem Makro oder in Visual Basic einstellen.

Sie können diese Eigenschaft auch im Dialogfeld Hyperlink einfügen einstellen. Klicken Sie dazu im Eigenschaftenfenster auf die Editor-Schaltfläche  [image], die sich rechts neben dem Einstellungsfeld der Eigenschaft befindet.

Anmerkung   Wenn Sie einen Hyperlink mit dem Dialogfeld Hyperlink einfügen erstellen, stellt Microsoft Access die Eigenschaft HyperlinkAddress automatisch auf die Position ein, die im Feld Link To File Or URL angegeben ist. Die Eigenschaft HyperlinkSubAddress wird auf die Position eingestellt, die im Feld Named Location In File angegeben ist.

Wenn Sie einen Hyperlink aus einer anderen Anwendung in die Zwischenablage kopieren und von dort in ein Formular oder einen Bericht einfügen, erstellt Microsoft Access ein Bezeichnungsfeld-Steuerelement, dessen Beschriftung sowie dessen Eigenschaften HyperlinkAddress und HyperlinkSubAddress automatisch eingestellt sind.

Hinweis

Wenn sich der Cursor über einem Befehlsschaltfläche-, Bild- oder Bezeichnungsfeld-Steuerelement befindet, dessen Eigenschaft HyperlinkAddress eingestellt ist, ändert sich der Cursor in eine nach oben zeigende Hand. Wird das Steuerelement angeklickt, wird das Objekt oder die Web-Seite angezeigt, das bzw. die für den Hyperlink angegeben ist.

Wenn Sie ein Objekt der aktuellen Datenbank öffnen möchten, tragen Sie in die Eigenschaft HyperlinkAddress nichts ein und geben den Typ und den Namen des Objekts, das Sie öffnen möchten, in der Eigenschaft HyperlinkSubAddress gemäß folgender Syntax an: "Objekttyp Objektname". Wenn Sie ein Objekt öffnen möchten, das sich in einer anderen Microsoft Access-Datenbank befindet, geben Sie den Pfad und den Dateinamen der Datenbank in der Eigenschaft HyperlinkAddress und das Datenbankobjekt, das geöffnet werden soll, in der Eigenschaft HyperlinkSubAddress an.

Die Eigenschaft HyperlinkAddress kann entweder einen absoluten oder einen relativen Pfad zu dem Zieldokument enthalten. Ein absoluter Pfad ist ein vollständig angegebener URL- oder UNC-Pfad zu einem Dokument. Ein relativer Pfad ist ein Pfad, der sich entweder auf den Basispfad bezieht, der im Dialogfeld Eigenschaften von Datenbankname (wird angezeigt, wenn Sie im Menü Datei auf Datenbankeigenschaften klicken) im Feld Hyperlink-Basis angegeben ist, oder auf den Pfad der aktuellen Datenbank. Wenn es Microsoft Access nicht gelingt, aus der Einstellung der Eigenschaft HyperlinkAddress einen gültigen URL- oder UNC-Pfad abzuleiten, geht Microsoft Access davon aus, daß Sie einen Pfad angegeben haben, der entweder relativ zu dem Basispfad ist, der im Feld Hyperlink-Basis steht, oder relativ zum Pfad der aktuellen Datenbank.

Anmerkung   Wenn Sie einem Hyperlink zu einem anderen Microsoft Access-Datenbankobjekt folgen, werden die Eigenschaften angewendet, die das Startverhalten der Datenbank festlegen. Wenn z.B. für die Zieldatenbank ein nach dem Start anzuzeigendes Formular angegeben ist, wird dieses Formular angezeigt, sobald die Datenbank geöffnet ist.

Die folgende Tabelle enthält Beispiele zu Einstellungen der Eigenschaften HyperlinkAddress und HyperlinkSubAddress.

HyperlinkAddress	HyperlinkSubAddress	Beschreibung
http://www.microsoft.com/		Die Microsoft-Homepage im Web.
C:\Programme\Microsoft Office\Office\Beispiele\Cajun.htm		Die Cajun Delights-Seite im Unterverzeichnis für die Beispielanwendungen (ACCESS\BEISPIEL).
C:\Programme\Microsoft Office\Office\Beispiele\Cajun.htm	NewProducts	Die Namenskennung (Name tag) "NewProducts" auf der Cajun Delights-Seite.
C:\Persönlich\Lebenslauf.doc	Zeugnisse	Die Textmarke "Zeugnisse" im Microsoft Word-Dokument LEBENSLAUF.DOC.
C:\Finanzen\Erstes Quartal.xls	Tabelle1!Umsatz	Der Bereich "Umsatz" in der Microsoft Excel-Arbeitsmappe ERSTES QUARTAL.XLS.
C:\Präsentation\NeuePläne.ppt	10	Die 10te Folie im Microsoft PowerPoint-Dokument NEUEPLÄNE.PPT.


HyperlinkSubAddress-Eigenschaft (HyperlinkUnteradresse)

Mit der Eigenschaft HyperlinkSubAddress können Sie eine Position angeben oder ermitteln, die sich in dem Zieldokument befindet, das in der Eigenschaft HyperlinkAddress angegeben ist. Die Einstellung der Eigenschaft HyperlinkSubAddress kann folgendes sein: ein Objekt einer Microsoft Access-Datenbank, eine Textmarke eines Microsoft Word-Dokument, ein benannter Bereich eines Microsoft Excel-Tabellenblatts, eine Folie einer Microsoft PowerPoint-Präsentation oder eine Position in einem HTML-Dokument.

Einstellung

Die Einstellung der Eigenschaft HyperlinkSubAddress ist ein Zeichenfolgenausdruck, der eine benannte Position angibt, die in dem Zieldokument liegt, das in der Eigenschaft HyperlinkAddress angegeben ist.

Sie können die Eigenschaft HyperlinkSubAddress im Eigenschaftenfenster des Steuerelements, in einem Makro oder in Visual Basic einstellen.

Sie können diese Eigenschaft auch im Dialogfeld Hyperlink einfügen einstellen. Klicken Sie dazu im Eigenschaftenfenster auf die Editor-Schaltfläche  [image], die sich rechts neben dem Einstellungsfeld der Eigenschaft befindet.

Anmerkung   Wenn Sie einen Hyperlink mit dem Dialogfeld Hyperlink einfügen erstellen, stellt Microsoft Access die Eigenschaft HyperlinkAddress automatisch auf die Position ein, die im Feld Link To File Or URL angegeben ist. Die Eigenschaft HyperlinkAddress wird auf die Position eingestellt, die im Feld Named Location In File angegeben ist.

Hinweis

Wenn sich der Cursor über einer Befehlsschaltfläche, einem Bild-Steuerelement oder einem Bezeichnungsfeld-Steuerelement befindet, dessen Eigenschaft HyperlinkAddress eingestellt ist, ändert sich der Cursor in eine nach oben zeigende Hand. Wird das Steuerelement angeklickt, wird das Objekt oder die Web-Seite angezeigt, das bzw. die für den Hyperlink angegeben ist.

Wenn Sie ein Objekt der aktuellen Datenbank öffnen möchten, tragen Sie in die Eigenschaft HyperlinkAddress nichts ein und geben den Typ und den Namen des Objekts, das Sie öffnen möchten, in der Eigenschaft HyperlinkSubAddress gemäß folgender Syntax an: "Objekttyp Objektname". Angenommen, Sie möchten einen Hyperlink für eine Befehlsschaltfläche erstellen, über die das Formular Personal geöffnet werden kann. Stellen Sie dazu die Eigenschaft HyperlinkSubAddress des Steuerelements auf Form Personal ein. Wenn Sie ein Objekt öffnen möchten, das sich in einer anderen Microsoft Access-Datenbank befindet, geben Sie den Pfad und den Dateinamen der Datenbank in der Eigenschaft HyperlinkAddress und das Datenbankobjekt, das geöffnet werden soll, in der Eigenschaft HyperlinkSubAddress an.

Anmerkung   Wenn Sie einem Hyperlink zu einem anderen Microsoft Access-Datenbankobjekt folgen, werden die Eigenschaften angewendet, die das Startverhalten der Datenbank festlegen. Wenn z.B. für die Zieldatenbank ein nach dem Start anzuzeigendes Formular angegeben ist, wird dieses Formular angezeigt, sobald die Datenbank geöffnet ist.

Die folgende Tabelle enthält Beispiele zu Einstellungen der Eigenschaften HyperlinkAddress und HyperlinkSubAddress.

HyperlinkAddress	HyperlinkSubAddress	Beschreibung
http://www.microsoft.com/		Die Microsoft-Homepage im Web.
C:\Programme\Microsoft Office\Office\Beispiele\Cajun.htm		Die Cajun Delights-Seite im Unterverzeichnis für die Beispielanwendungen (ACCESS\BEISPIEL).
C:\Programme\Microsoft Office\Office\Beispiele\Cajun.htm	NewProducts	Die Namenskennung (Name tag) "NewProducts" auf der Cajun Delights-Seite.
C:\Persönlich\Lebenslauf.doc	Zeugnisse	Die Textmarke "Zeugnisse" im Microsoft Word-Dokument LEBENSLAUF.DOC.
C:\Finanzen\Erstes Quartal.xls	Tabelle1!Umsatz	Der Bereich "Umsatz" in der Microsoft Excel-Arbeitsmappe ERSTES QUARTAL.XLS.
C:\Präsentation\NeuePläne.ppt	10	Die 10te Folie im Microsoft PowerPoint-Dokument NEUEPLÄNE.PPT.


IsVisible-Eigenschaft

Mit der Eigenschaft IsVisible können Sie in Visual Basic ermitteln, ob ein Steuerelement, das sich auf einem Bericht befindet, sichtbar ist.

Einstellung

Die Eigenschaft IsVisible verwendet die folgenden Einstellungen.

Einstellung	Beschreibung
True (-1)	(Standardeinstellung) Das Steuerelement ist sichtbar.
False (0)	Das Steuerelement ist nicht sichtbar.
Sie können die Eigenschaft IsVisible nur in der Print-Ereignisprozedur des Berichtsbereichs verwenden, der das Steuerelement enthält.

Hinweis

Sie können anhand der Eigenschaften IsVisible und HideDuplicates ermitteln, ob ein Steuerelement eines Berichts sichtbar ist, und als Reaktion auf das jeweilige Ergebnis andere Steuerelemente ein- oder ausblenden. Sie können z.B. ein Linie-Steuerelement ausblenden, wenn ein Textfeld-Steuerelement ausgeblendet ist, weil es Duplikatwerte enthält.


IsVisible-Eigenschaft - Beispiel

Im folgenden Beispiel wird die Eigenschaft IsVisible eines Textfelds verwendet, um zu steuern, wann ein Linie-Steuerelement auf einem Bericht angezeigt wird. Der Bericht basiert auf der Tabelle Artikel und enthält drei Steuerelemente, deren hier aufgeführte Eigenschaften wie folgt eingestellt sind.

Eigenschaft	Linie-Steuerelement	Textfeld 1	Textfeld 2
Name	Linie0	Kategorie-Nr	Artikelname
ControlSource		Kategorie-Nr	Artikelname
HideDuplicates		Ja	Nein
Left	0	0	5,0
Top	0	0,3	0,3
Width	10,0	2,5	2,5
Fügen Sie folgenden Code in das Codemodul des Berichts ein. Zeigen Sie dann den Bericht an, um zu sehen, wie die Formatierung der Linie durch die Eigenschaft IsVisible gesteuert wird:

Private Sub Detailbereich_Print(Cancel As Integer, PrintCount As Integer)

If Me![Kategorie-Nr].IsVisible Then

Me!Linie0.Visible = True

Else

Me!Linie0.Visible = False

End If

End Sub


MaxRecords-Eigenschaft (MaxDatensätze)

Mit der Eigenschaft MaxRecords können Sie für eine Abfrage, die Daten aus einer ODBC-Datenbank abruft, ermitteln oder angeben, wie viele Datensätze sie maximal zurückgibt.

Einstellung

Die Einstellung der Eigenschaft MaxRecords ist ein Wert des Datentyps Long Integer, der die Anzahl der zurückgegebenen Datensätze angibt.

Sie können diese Eigenschaft im Eigenschaftenfenster der Abfrage oder in Visual Basic einstellen.

In Visual Basic stellen Sie diese Eigenschaft mit der DAO-Methode MaxRecords ein.

Hinweis

Die Datensätze werden in der Reihenfolge zurückgegeben, die durch die ORDER BY-Klausel der Abfrage festgelegt ist.

Sie können die Eigenschaft MaxRecords immer dann verwenden, wenn die Anzahl der zurückgegebenen Datensätze infolge begrenzter Systemressourcen eingeschränkt wird.


MDE-Eigenschaft

Mit der Eigenschaft MDE können Sie ermitteln, ob eine Datei als .MDE-Datei gespeichert wurde.

Einstellung

Wenn eine Datenbank als .MDE-Datei gespeichert wird, fügt Microsoft Access die Eigenschaft MDE zu der Datenbank hinzu und stellt diese Eigenschaft auf den String-Wert T ein.

Die Eigenschaft MDE kann nur in Visual Basic ausgewertet werden und ist in allen Ansichten schreibgeschützt.

Wichtig   Wenn versucht wird, die Eigenschaft MDE für eine Datenbank auszuwerten, die nicht als .MDE-Datei gespeichert wurde, wird der Laufzeitfehler 3270 ("Eigenschaft nicht gefunden") verursacht. Die Eigenschaft MDE gibt es nicht in einer Datenbank, wenn die Datenbank nicht als .MDE-Datei gespeichert wurde.

Hinweis

Sie können eine Datenbank in eine .MDE-Datei umwandeln, indem Sie im Menü Extras auf Datenbank-Dienstprogramme zeigen und auf MDE-Datei erstellen klicken. Wenn Sie eine Datenbank als .MDE-Datei speichern, löscht Microsoft Access den gesamten bearbeitbaren Quellcode, kompiliert alle Module und komprimiert die Datenbank. Ihr Visual Basic-Code funktioniert zwar weiterhin, kann aber weder angezeigt noch geändert werden. Außerdem können keine Formular- oder Berichtsobjekte hinzugefügt oder geändert werden.

Warnung   Achten Sie darauf, eine Kopie Ihrer Originaldatenbank zu behalten. Falls Sie den Code oder den Entwurf von Objekten in einer .mde-Datenbank verändern möchten, müssen Sie diese Änderungen in der Originaldatenbank vornehmen und anschließend eine neue .mde-Datenbank erstellen. Sie werden die Originaldatenbank ebenfalls benötigen, um in zukünftige Versionen von Microsoft Access zu konvertieren, weil .mde-Dateien nicht direkt konvertiert werden können.

Eine Datenbank als .MDE-Datei zu speichern, bietet sich immer dann an, wenn Sie verhindern möchten, daß Änderungen an den Formularen oder Berichten vorgenommen werden oder daß die Datenbankbenutzer Zugang zu Ihrem Visual Basic-Code haben. Sie können eine Datenbank auch in eine .MDE-Datei umwandeln, wenn Sie Ihre eigenen Assistenten erstellen oder für den Front-End-Teil einer Front-End/Back-End-Anwendung.

Eine replizierte Datenbank kann nicht als .MDE-Datei gespeichert werden. Aber eine als .MDE-Datei gespeicherte Datenbank kann repliziert werden.


MDE-Eigenschaft - Beispiel

Im folgenden Beispiel wird mit der Funktion IstMDEDatei die Eigenschaft MDE der aktuellen Datenbank geprüft:

Dim dbs As Database

Set dbs = CurrentDb

If IstMDEDatei(dbs) <> True Then

' Den eigenen Code der Datenbank verarbeiten.

End If

Function IstMDEDatei(dbs as Database) As Boolean

Dim strMDE As String

On Error Resume Next

strMDE = dbs.Properties("MDE")

If Err = 0 AND strMDE = "T" Then

' Dies ist eine MDE-Datenbank.

IstMDEDatei = True

Else

IstMDEDatei = False

End if

End Function


MousePointer-Eigenschaft

Sie können die Eigenschaft MousePointer zusammen mit dem Screen-Objekt verwenden, um den Typ des Mauszeigers anzugeben oder zu ermitteln, der momentan angezeigt wird.

Einstellung

Die Einstellung der Eigenschaft MousePointer ist ein Wert des Datentyps Integer, der einem der folgenden Zeiger entspricht.

Einstellung	Beschreibung
0	(Standardeinstellung) Die Form wird von Microsoft Access festgelegt.
1	Normale Auswahl Pfeil)
3	Text-Auswahl (I-Balken)
7	Vertikale Größe ändern (Größe N, S)
9	Horizontal Größe ändern  (Größe O, W)
11	In Arbeit (Sanduhr)
Anmerkung   Wenn Sie die Eigenschaft MousePointer auf eine Ganzzahl einstellen, die nicht in der obigen Tabelle aufgeführt ist, wird die Eigenschaft auf 0 eingestellt.

Sie können die Eigenschaft MousePointer nur in Visual Basic einstellen.

Hinweis

Die Einstellung der Eigenschaft MousePointer wirkt sich für den gesamten Bildschirm auf das Aussehen des Mauszeiger aus. Einige benutzerdefinierte Steuerelemente haben die Eigenschaft MousePointer, die, sofern sie eingestellt ist, angibt, wie der Mauszeiger angezeigt wird, wenn er sich über dem Steuerelement befindet.

Sie können z.B. mit Hilfe der Eigenschaft MousePointer mitteilen, daß Ihre Anwendung beschäftigt ist, indem Sie die Eigenschaft auf 11 einstellen, so daß ein Sanduhrsymbol angezeigt wird. Sie können die Einstellung der Eigenschaft MousePointer auch lesen, um zu ermitteln, welches Symbol angezeigt wird. Dies kann z.B. sinnvoll sein, wenn Sie einen Benutzer daran hindern möchten, auf eine Befehlsschaltfläche zu klicken, solange der Mauszeiger als Sanduhrsymbol angezeigt wird.

Wenn Sie die Eigenschaft MousePointer auf 11 einstellen, erzielen Sie dasselbe Ergebnis, als wenn Sie True (-1) als Argument an die Methode Hourglass des Objekts DoCmd übergeben. Umgekehrt wird die Eigenschaft MousePointer auf 11 eingestellt, wenn Sie True als Argument an die Methode Hourglass übergeben.


MultiRow-Eigenschaft (MehrereZeilen)

Mit der Eigenschaft MultiRow können Sie angeben oder ermitteln, ob ein Register-Steuerelement mehrere Zeilen mit Registerkartenzungen anzeigen kann.

Einstellung

Die Eigenschaft MultiRow verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Ja	Es sind mehrere Zeilen zulässig.	True (-1)
Nein	(Standardeinstellung) Es ist nur eine Zeile zulässig.	False (0)
Sie können die Eigenschaft MultiRow im Eigenschaftenfenster des Steuerelements, in einem Makro oder in Visual Basic einstellen.

Die Standardeinstellung dieser Eigenschaft können Sie mit Hilfe der Standardeigenschafteneinstellungen eines Steuerelements oder in Visual Basic mit der Methode DefaultControl einstellen.

Hinweis

Wenn die Eigenschaft MultiRow auf True eingestellt ist, ergibt sich die Anzahl der Zeilen aus der Breite und der Anzahl der Registerkartenzungen. Die Anzahl der Zeilen kann sich ändern, wenn die Größe des Steuerelements geändert wird oder weitere Registerkarten zu dem Steuerelement hinzugefügt werden.

Wenn die Eigenschaft MultiRow auf False eingestellt ist und die Gesamtbreite aller Registerkartenzungen die Breite des Steuerelements übersteigt, werden auf der rechten Seite des Register-Steuerelements Navigationsschaltflächen angezeigt. Mit Hilfe dieser Navigationsschaltflächen können Sie alle Registerkarten des Register-Steuerelements durchlaufen.


PageIndex-Eigenschaft (SeiteIndex)

Mit der Eigenschaft PageIndex können Sie die Position angeben oder ermitteln, die ein Page-Objekt innerhalb einer Pages-Auflistung einnimmt. Die Eigenschaft PageIndex gibt die Reihenfolge an, in der die Seiten (Registerkarten) eines Register-Steuerelements angezeigt werden.

Einstellung

Die Einstellung der Eigenschaft PageIndex ist ein Wert des Datentyps Integer, der zwischen 0 und dem um 1 verringerten Wert liegt, den die Eigenschaft Count der Auflistung Pages hat.

Sie können die Eigenschaft PageIndex im Eigenschaftenfenster eines Page-Objekts, in einem Makro oder in Visual Basic einstellen.

Die Eigenschaft PageIndex kann in jeder Ansicht eingestellt werden.

Hinweis

Wenn Sie den Wert der Eigenschaft PageIndex ändern, ändert sich die Position, die ein Page-Objekt in der Auflistung Pages einnimmt, und ändert sich damit die Reihenfolge, in der die Seiten eines Register-Steuerelements angezeigt werden.

Sie können die Reihenfolge der Page-Objekte einer Pages-Auflistung auch im Dialogfeld Seitenreihenfolge ändern. Dieses Dialogfeld wird angezeigt, wenn Sie in der Entwurfsansicht mit der rechten Maustaste auf das Register-Steuerelement und anschließend auf Seitenreihenfolge klicken.


ProjectName-Eigenschaft

Mit der Eigenschaft ProjectName können Sie den Namen Ihres Microsoft Access Application-Objekts angeben oder ermitteln.

Einstellung

Die Einstellung der Eigenschaft ProjectName ist ein Zeichenfolgenausdruck, der den Namen Ihres Microsoft Access Application-Objekts angibt. Sie können die Eigenschaft ProjectName nicht auf den Namen einer existierenden Klasse von Objekten einstellen, wie z. B. "Anwendung," "Formular," oder "Bericht". Wenn Sie eine Datenbank umwandeln, die den Namen einer existierenden Klasse von Objekten trägt, wird von Microsoft Access ein Unterstrich an den Namen angehängt, um Namenskonflikte zu vermeiden. Wenn Sie z. B. eine Datenbank namens "Anwendung" umwandeln, wird die Datenbank in Microsoft Access 97 den Projektnamen "Anwendung_" erhalten.

Sie können die Eigenschaft ProjectName sowohl im Dialogfeld Optionen (wird angezeigt, nachdem Sie im Menü Extras auf Optionen geklickt haben) auf der Registerkarte Weitere als auch in Visual Basic mit der Methode SetOption einstellen, z.B.:

Application.SetOption "Project Name", "DasAccessProjekt"

Hinweis

Wenn Sie eine neue Datenbank erstellen, stellt Microsoft Access die Eigenschaft ProjectName auf den Dateinamen der Datenbank ein (ohne die Erweiterung .MDB). Wenn Sie den Dateinamen der Datenbank ändern, bleibt die Einstellung der Eigenschaft ProjectName ungeändert.

Wenn Sie die Eigenschaft ProjectName einstellen, wird der Name Ihres Application-Objekts im Dialogfeld Verweise angezeigt. Dieses Dialogfeld wird angezeigt, wenn Sie im Modulfenster im Menü Extras auf Verweise klicken.

Wenn Sie die Einstellung der Eigenschaft ProjectName ändern, liegt Ihr Projekt nicht länger im kompilierten Zustand vor. Um das Projekt zu rekompilieren, müssen Sie Ihre Datenbank schließen und erneut öffnen und dann im Menü Testen auf den Befehl Alle Module kompilieren und speichern klicken.

In einer anderen Anwendung, wie z.B. Microsoft Excel, können Sie den Projektnamen als Teil des vollständig formulierten Namens eines Elements angeben, das zu einem Microsoft Access-Projekt gehört. Die entsprechende Syntax lautet wie folgt: Projektname.Application.Forms!Formularname. Wenn Sie z.B. aus Microsoft Excel auf das Feld Nachname des zur Beispieldatenbank Nordwind gehörenden Formulars Personal verweisen möchten, aktivieren Sie den Verweis auf die Datenbank Nordwind und verwenden dann folgenden Verweis:

Dim strNachname As String

strNachname = Nordwind.Application.Forms!Personal!Nachname

Sie können einen Verweis auf eine Microsoft Access-Datenbank erstellen, indem Sie im Dialogfeld Verweise (wird angezeigt, nachdem Sie im Modulfenster im Menü Extras auf Verweise geklickt haben) den Projektnamen (das Application-Objekt) aktivieren. Nachdem Sie den Projektnamen aktiviert haben, wird dieser auch im Objektkatalog in der Liste Projekt/Bibliothek angezeigt.


Style-Eigenschaft (Formatvorlage)

Mit der Eigenschaft Style können Sie das Aussehen der Registerkarten eines Register-Steuerelements angeben oder ermitteln.

Einstellung

Die Eigenschaft Style verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Register	(Standardeinstellung) Die Registerkarten werden als Registerkarten angezeigt.	acTabs
Schaltflächen	Die Registerkarten werden als Schaltflächen angezeigt.	acButtons
Keine	Im Steuerelement werden keine Registerkarten angezeigt.	acNone
Sie können die Eigenschaft Style im Eigenschaftenfenster des Register-Steuerelements, in einem Makro oder in Visual Basic einstellen.

Die Standardeinstellung dieser Eigenschaft können Sie mit Hilfe der Standardeigenschafteneinstellungen eines Steuerelements oder in Visual Basic mit der Methode DefaultControl einstellen.

Sie können die Eigenschaft Style in jeder Ansicht einstellen.

Hinweis

Wenn Sie die Eigenschaft Style eines Register-Steuerelements auf Register oder Schaltflächen einstellen, wird das Aussehen der Registerkarten durch die Einstellungen der Eigenschaften TabFixedHeight, TabFixedWidth und MultiRow bestimmt.

Sie können die Eigenschaft Style eines Register-Steuerelements auf Keine einstellen, wenn Sie die vollständige Kontrolle darüber haben möchten, wann sich ein Benutzer zwischen den Registerkarten bewegen kann. In früheren Versionen von Microsoft Access wurden die Dialogfelder eines Assistenten mit mehrseitigen Formularen erstellt. Sie können jetzt das Register-Steuerelement verwenden, um einen eigenen Assistenten zu erstellen. Dabei belegt jede Seite des Assistenten eine eigene Seite eines Register-Steuerelements, dessen Eigenschaft Style auf Keine eingestellt ist.


TabFixedHeight-, TabFixedWidth-Eigenschaften (RegisterFesteHöhe, RegisterFesteBreite)

Mit den Eigenschaften TabFixedHeight und TabFixedWidth können Sie die Höhe und die Breite der Registerkarten eines Register-Steuerelement angeben oder ermitteln.

Einstellung

Die Einstellungen der Eigenschaften TabFixedHeight und TabFixedWidth sind Werte, die die Höhe und die Breite von Registerkarten in der Maßeinheit angeben, die in der Systemsteuerung von Windows im Dialogfeld Eigenschaften von Ländereinstellungen festgelegt ist. Wenn Sie diese Eigenschaften auf 0 einstellen, werden die Registerkarten automatisch an die Höhe und die Breite angepaßt, die die Inhalte der Registerkarten beanspruchen.

Sie können diese Eigenschaften im Eigenschaftenfenster des Register-Steuerelements, in einem Makro oder in Visual Basic einstellen.

Die Standardeinstellungen dieser Eigenschaften können Sie mit Hilfe der Standardeigenschafteneinstellungen eines Steuerelements oder in Visual Basic mit der Methode DefaultControl einstellen.

In Visual Basic werden diese Eigenschaften auf Werte des Datentyps Long Integer eingestellt. Diese Werte geben die Höhe bzw. die Breite der Registerkarten in Twips an und können in jeder Ansicht eingestellt werden.

Anmerkung   Wenn Sie eine andere Maßeinheit verwenden möchten als die, die im Dialogfeld Eigenschaften von Ländereinstellungen festgelegt ist, geben Sie die Einheit an (z.B. 5 cm oder 3 Zoll).

Hinweis

Die Farbe eines Register-Steuerelements können Sie nicht ändern. Wenn die Registerkarten nicht die volle Breite des Register-Steuerelements überdecken, wird der Bereich angezeigt, der hinter den Registerkarten liegt. Wenn Sie ein Register-Steuerelement auf einem Objekt anordnen, das eine andere Farbe hat als das Register-Steuerelement, sollten Sie dafür sorgen, daß die Registerkarten den Hintergrundbereich des Steuerelements überdecken.


Toolbar-Eigenschaft (Symbolleiste)

Mit der Eigenschaft Toolbar können Sie die Symbolleiste angeben, die für ein Formular oder einen Bericht verwendet werden soll. Um eine solche Symbolleiste zu erstellen, zeigen Sie im Menü Ansicht auf Symbolleisten und klicken dann auf Anpassen. Weitere Informationen, wie benutzerdefinierte Symbolleisten erstellt werden, finden Sie unter Erstellen einer benutzerdefinierten Symbolleiste für die aktuelle Datenbank.

Einstellung

Die Einstellung der Eigenschaft Toolbar ist der Name der benutzerdefinierten Symbolleiste, die Sie anzeigen möchten. Wenn Sie keinen Wert für die Eigenschaft Toolbar angeben, zeigt Microsoft Access die eingebaute Symbolleiste (Standardsymbolleiste) des Formulars oder Berichts an.

Sie können die Eigenschaft Toolbar im Eigenschaftenfenster des Formulars oder Berichts, in einem Makro oder in Visual Basic einstellen.

In Visual Basic stellen Sie diese Eigenschaft mit einem Zeichenfolgenausdruck ein, der den Namen der Symbolleiste angibt, die angezeigt werden soll.

Wenn Sie bei einem Formular oder Bericht die eingebaute Symbolleiste in einem Makro oder in Visual Basic anzeigen möchten, stellen Sie die Eigenschaft Toolbar auf eine leere Zeichenfolge (" ") ein.

Hinweis

Wenn Sie die Eigenschaft Toolbar eingestellt haben, zeigt Microsoft Access die angegebene benutzerdefinierte Symbolleiste an, sobald das Formular oder der Bericht geöffnet ist. Diese Symbolleiste wird danach immer dann angezeigt, wenn das Formular oder der Bericht den Fokus hat.


UseTransaction-Eigenschaft (TransaktionVerwenden)

Mit der Eigenschaft UseTransaction können Sie angeben oder ermitteln, ob eine Aktionsabfrage als eine Transaktion ausgeführt wird. Es gibt Situationen, in denen Abfragen erheblich schneller ausgeführt werden, wenn diese Eigenschaft auf Nein eingestellt ist.

Einstellung

Die Eigenschaft UseTransaction verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Ja	(Standardeinstellung) Die Abfrage wird als eine Transaktion ausgeführt.	True (-1)
Nein	Die Abfrage wird nicht als eine Transaktion ausgeführt.	False (0)
Sie können die Eigenschaft UseTransaction im Eigenschaftenfenster der Abfrage oder in Visual Basic einstellen. Um diese Eigenschaft mit Visual Basic einzustellen, müssen Sie sie zunächst zu einer Properties-Auflistung eines QueryDef-Objekts hinzufügen, indem Sie die Methode CreateProperty verwenden.

Hinweis

Wenn die Eigenschaft UseTransaction einer Tabellenerstellungsabfrage, Löschabfrage, Anfügeabfrage oder Aktualisierungsabfrage auf Ja eingestellt ist, speichert die Microsoft Jet-Datenbank-Engine die zurückgegebenen Datensätze in einem Cache-Speicher und, sofern erforderlich, die Ergebnisse auf der Festplatte in einer temporären Datenbank. Sobald die Abfrage beendet wurde, liest die Jet-Datenbank-Engine die Datensätze aus der temporären Datenbank und schreibt sie zurück in die ursprüngliche Datenbank.

Sie können das Leistungsverhalten bei entsprechenden Umständen erheblich verbessern, indem Sie die Eigenschaft UseTransaction auf Nein einstellen. Wenn die Eigenschaft UseTransaction auf Nein eingestellt ist, wird der Benutzer niemals auf Probleme stoßen, die ihre Ursache in zu vielen Sperranforderungen haben. Außerdem speichert die Jet-Datenbank-Engine die Ergebnisse einer Abfrage nicht in einer temporären Datenbank, wodurch sich eine erhebliche Verbesserung des Leistungsverhaltens ergibt.

Wird eine Abfrage als eine Transaktion ausgeführt, kann dies eine Verschlechterung des Leistungsverhaltens bewirken, wenn eine große Anzahl an Datensätzen in die temporäre Datenbank geschrieben wird. Wenn eine Lösch- oder Aktualisierungsabfrage in einer gemeinsam genutzten Datenbank ausgeführt wird, werden außerdem viele Sperranforderungen ausgelöst. Dies kann nicht nur ein schlechteres Leistungsverhalten zur Folge haben, sondern bei einigen Netzwerkbetriebssystemen (wie z.B. Netware) dazu führen, daß die Abfrage fehlschlägt, wenn mehr als 10.000 Sperranforderungen erforderlich sind.

Wenn eine Transaktion nicht erfolgreich beendet werden kann, wird eine Fehlermeldung angezeigt, und Sie haben die Möglichkeit, alle Änderungen zu speichern.

Wenn die Eigenschaft UseTransaction auf Nein eingestellt ist, können Sie eine gesamte Transaktion nur dadurch zurücksetzen, daß Sie in Visual Basic die DAO-Methode RollBack verwenden.


Application-Eigenschaft

Sie können die Eigenschaft Application in Visual Basic verwenden, um auf das aktive Microsoft Access-Objekt Application sowie dessen zugehörige Eigenschaften zuzugreifen.

Einstellung

Die Eigenschaft Application wird von Microsoft Access eingestellt und ist in allen Ansichten schreibgeschützt.

Hinweis

Jedes Microsoft Access-Objekt hat die Eigenschaft Application, die das aktuelle Application-Objekt zurückgibt. Sie können diese Eigenschaft verwenden, um auf jede Eigenschaft des Application-Objekts zuzugreifen. Sie können z.B. mit der folgenden Syntax vom aktuellen Formular aus auf die Menüleiste des Application-Objekts verweisen:

Me.Application.MenuBar


Application- und DBEngine-Eigenschaft - Beispiel

Im folgenden Beispiel werden die DBEngine-Eigenschaften in einem Meldungsfeld angezeigt.

Private Sub Befehl1_Click()

InfosZuAnwendAnzeigen Me

End Sub

Function InfosZuAnwendAnzeigen(obj As Object) As Integer

Dim objApp As Object, intI As Integer, strEigensch As String

On Error Resume Next

' Application-Eigenschaft des Formulars

Set objApp = obj.Application

MsgBox " Visible-Eigenschaft der Anwendung = " & objApp.Visible

If objApp.UserControl = True Then

For intI = 0 To objApp.DBEngine.Properties.Count - 1

strEigensch = strEigensch & objApp.DBEngine.Properties(intI).Name & ", "

Next intI

End If

MsgBox Left(strEigensch, Len(strEigensch) - 2) & ".", vbOK, "DBEngine-Eigenschaften"

End Function


DBEngine-Eigenschaft

Sie können die Eigenschaft DBEngine in Visual Basic verwenden, um auf das aktuelle DBEngine-Objekt sowie dessen zugehörige Eigenschaften zuzugreifen.

Einstellung

Die Eigenschaft DBEngine wird von Microsoft Access eingestellt und ist in allen Ansichten schreibgeschützt.

Hinweis

Die Eigenschaft DBEngine des Objekts Application entspricht der Microsoft Jet-Datenbank-Engine. Das Objekt DBEngine ist im DAO-Modell (DAO = Data Access Objects) das oberste Objekt. Es enthält und steuert alle anderen Objekte, die Bestandteile der Hierarchie der Datenzugriffsobjekte sind.


UserControl-Eigenschaft

Mit der Eigenschaft UserControl können Sie ermitteln, ob die aktuelle Microsoft Access-Anwendung von dem Benutzer oder über Automatisierung, früher OLE Automatisierung genannt, von einer anderen Anwendung gestartet wurde.

Einstellung

Die Eigenschaft UserControl kann eine der folgenden Einstellungen annehmen.

Einstellung	Beschreibung
True (-1)	Die aktuelle Anwendung wurde vom Benutzer gestartet.
False (0)	Die aktuelle Anwendung wurde von einer anderen Anwendung über Automatisierung gestartet.
Die Einstellung der Eigenschaft UserControl können Sie nur mit Visual Basic ermitteln.

Diese Eigenschaft ist in allen Ansichten schreibgeschützt.

Hinweis

Wenn eine Anwendung vom Benutzer gestartet wurde, werden sowohl die Eigenschaft Visible als auch die Eigenschaft UserControl des Objekts Application auf True eingestellt. Wenn die Eigenschaft UserControl auf True eingestellt ist, kann die Eigenschaft Visible des Objekts nicht auf False eingestellt werden.

Wenn das Objekt Application über Automatisierung erstellt wurde, sind die Eigenschaften Visible und UserControl des Objekts auf False eingestellt.


Visible-Eigenschaft (Sichtbar) (Application-Objekt)

Mit der Eigenschaft Visible eines Application-Objekts können Sie angeben bzw. ermitteln, ob die entsprechende Microsoft Access-Anwendung minimiert ist.

Einstellung

Die Eigenschaft Visible kann eine der folgenden Einstellungen annehmen.

Einstellung	Beschreibung
True (-1)	Die Anwendung ist sichtbar.
False (0)	Die Anwendung ist nicht sichtbar.
Die Eigenschaft Visible eines Application-Objekts können Sie nur mit Visual Basic einstellen. Sie können die Standardeinstellung für diese Eigenschaft mit den Standardeigenschafteneinstellungen des Steuerelements oder der Methode DefaultControl in Visual Basic einstellen

Hinweis

Wenn eine Anwendung vom Benutzer gestartet wurde, werden sowohl die Eigenschaft Visible als auch die Eigenschaft UserControl des Objekts Application auf True eingestellt. Wenn die Eigenschaft UserControl auf True eingestellt ist, kann die Eigenschaft Visible des Objekts nicht auf False eingestellt werden.

Wenn das Objekt Application über Automatisierung (früher OLE-Automatisierung genannt) erstellt wurde, sind die Eigenschaften Visible und UserControl des Objekts auf False eingestellt.

Anmerkung   Ist die Eigenschaft Visible eines Application-Objekts auf False eingestellt, ist die Anwendung zwar minimiert, aber nicht für den Benutzer ausgeblendet.


CodeContextObject-Eigenschaft

Mit der Eigenschaft CodeContextObject können Sie das Objekt ermitteln, in dem ein Makro bzw. Visual Basic-Code ausgeführt wird.

Einstellung

Die Eigenschaft CodeContextObject wird von Microsoft Access eingestellt und ist in allen Ansichten schreibgeschützt.

Hinweis

Die Eigenschaften ActiveForm und ActiveReport eines Screen-Objekts geben immer das Objekt zurück, das momentan den Fokus hat. Dieses Objekt kann, muß aber nicht das Objekt sein, in dem momentan ein Makro oder Visual Basic-Code ausgeführt wird. So ist es z.B. möglich, daß Visual Basic-Code in der Timer-Ereignisprozedur eines ausgeblendeten Formulars ausgeführt wird.


CodeContextObject-Eigenschaft - Beispiel

In diesem Beispiel wird die Eigenschaft CodeContextObject in einer Funktion verwendet, um den Namen des Objekts zu ermitteln, in dem ein Fehler auftrat. Der Name des Objekts wird dann sowohl in der Titelleiste des Meldungsfelds als auch im eigentlichen Text der Fehlermeldung verwendet. Die Anweisung Error wird in der Ereignisprozedur Befehl1_Click() verwendet, um für dieses Beispiel den Fehler zu provozieren.

Private Sub Befehl1_Click()

On Error GoTo Befehl1_Fehler

Error 11	' Den Fehler "Division durch 0" provozieren.

Exit Sub

Befehl1_Fehler:

If FehlerMeldung("Ereignisprozedur Befehl1_Click()", vbYesNo + _

vbInformation, Err) = vbYes Then

Exit Sub

Else

Resume

End If

End Sub

Function FehlerMeldung(strText As String, intTyp As Integer, _

intFehlernummer As Integer) As Integer

Dim objAktuell As Object

Dim strMldgFeldTitel As String

Set objAktuell = CodeContextObject

strMldgFeldTitel = "Fehler in " & objAktuell.Name

strText = strText & ": der Fehler mit der Nummer " & _

intFehlernummer & " trat in " & objAktuell.Name & " auf."

FehlerMeldung = MsgBox(strText, intTyp, strMldgFeldTitel)

Err = 0

End Function


DisplayType-Eigenschaft (Anzeigeart)

Sie können die Eigenschaft DisplayType verwenden, um anzugeben, ob Microsoft Access den Inhalt eines OLE-Objekts oder ein Symbol anzeigt. Ist das OLE-Objekt z.B. ein Microsoft Word-Dokument und Sie stellen diese Eigenschaft auf Inhalt ein, zeigt das Steuerelement das Word-Dokument an; stellen Sie diese Eigenschaft auf Symbol ein, zeigt das Steuerelement das Microsoft Word-Symbol an.

Einstellung

Die Eigenschaft DisplayType verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Inhalt	(Standardeinstellung) Wenn das Steuerelement ein OLE-Objekt enthält, zeigt es die Daten des Objekts an, wie z.B. ein Dokument oder eine Kalkulationstabelle.	acOLEDisplayContent (0)
Symbol	Wenn das Steuerelement ein OLE-Objekt enthält, zeigt es das Symbol des Objekts an.	acOLEDisplayIcon (1)
Die Eigenschaft DisplayType können Sie in einem Eigenschaftenfenster, in einem Makro oder mit Visual Basic einstellen. Die Standardeinstellung dieser Eigenschaft können Sie in den Standardeigenschafteneinstellungen eines Steuerelements oder mit Hilfe der Methode DefaultControl in Visual Basic festlegen.

Für ein gebundenes Objektfeld kann die Eigenschaft DisplayType nur in der Entwurfsansicht eingestellt, jedoch in allen Ansichten gelesen werden. Für ein Objektfeld oder ein Diagramm kann die Eigenschaft im Dialogfeld Objekt einfügen eingestellt werden, wenn das Objekt erstellt wird (die Standardeinstellung lautet Inhalt oder, wenn Sie das Kontrollkästchen Als Symbol darstellen aktiviert haben, Symbol).

Hinweis

Die Eigenschaft DisplayType legt die Standardeinstellung des Kontrollkästchens Als Symbol darstellen in den Dialogfeldern Inhalte einfügen und Objekt einfügen fest. Das Dialogfeld Inhalte einfügen wird angezeigt, wenn Sie im Menü Bearbeiten auf Inhalte einfügen klicken. Das Dialogfeld Objekt einfügen wird angezeigt, wenn Sie ein ungebundenes Objektfeld einfügen. Wenn Sie diese Dialogfelder entweder in der Formularansicht, der Datenblattansicht oder der Entwurfsansicht anzeigen, wird das Kontrollkästchen Als Symbol darstellen automatisch aktiviert, sofern die Eigenschaft DisplayType auf Symbol eingestellt ist. Diese Kästchen sind z.B. aktiviert, wenn Sie mit Visual Basic die Eigenschaft Action des Steuerelements auf acOLEInsertObjDlg oder acOLEPasteSpecialDlg einstellen.

Die Einstellung der Eigenschaft DisplayType hat keine Auswirkung auf den Zustand des Kontrollkästchens Als Symbol darstellen im Dialogfeld Objekt, wenn Sie ein Objekt in ein ungebundenes Objektfeld einfügen. Fügen Sie ein Objekt aus der Zwischenablage ein, spiegelt das Kontrollkästchen Als Symbol darstellen den Zustand des Objekts in der Zwischenablage wider.

Wenn Sie die Einstellung der Eigenschaft DisplayType für ein gebundenes Objektfeld ändern, hat dies keine Auswirkung auf die Anzeige vorhandener Objekte im Steuerelement. Die Änderungen wirken sich jedoch auf neue Objekte aus, die Sie zu dem Steuerelement hinzufügen, indem Sie aus dem Menü Einfügen den Befehl Objekt verwenden.


SizeMode-Eigenschaft (Größenanpassung)

Sie können die Eigenschaft SizeMode verwenden, um anzugeben, wie die Größe eines Bildes oder eines anderen Objekts in einem gebundenen Objektfeld, einem Objektfeld oder einem Bild-Steuerelement angepaßt wird.

Einstellung

Die Eigenschaft SizeMode verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Abschneiden	(Standardeinstellung) Zeigt das Objekt in der tatsächlichen Größe an. Wenn das Objekt größer ist als das Steuerelement, wird sein Bild an den Rändern des Steuerelements abgeschnitten.	acOLESizeClip (0)
Dehnen	Paßt die Größe des Objekts so an, daß das Steuerelement ganz ausgefüllt ist. Diese Einstellung kann die Proportionen des Objekts verzerren.	acOLESizeStretch (1)
Zoomen	Zeigt das Objekt vollständig an, nachdem dessen Größe so angepaßt wurde, daß es entweder in der Höhe oder in der Breite den Rahmen des Diagramms oder Objekts genau ausfüllt, ohne die Proportionen des Objekts zu verzerren. Diese Einstellung kann zusätzlichen Platz im Steuerelement hinterlassen, falls das Steuerelement angepaßt wird.	acOLESizeZoom (3)
Die Eigenschaft SizeMode können Sie in einem Eigenschaftenfenster, in einem Makro oder mit Visual Basic einstellen. Die Standardeinstellung dieser Eigenschaft können Sie in den Standardeigenschafteneinstellungen eines Steuerelements oder mit Hilfe der Methode DefaultControl in Visual Basic festlegen.

Tip   Verwenden Sie die Einstellung Abschneiden, um das Objekt am schnellsten anzuzeigen. Sie können die Einstellung Dehnen für Balken- und Liniendiagramme verwenden, bei denen die Größenanpassung nicht beachtet werden muß. Dagegen können Kreise und Abbildungen von Fotos durch diese Einstellung verzerrt werden.


SourceDoc-Eigenschaft (Herkunftsdokument)

Mit der Eigenschaft SourceDoc können Sie die Datei angeben, zu der eine Verknüpfung hergestellt oder die eingebettet werden soll, wenn Sie in Visual Basic mit der Eigenschaft Action ein verknüpftes oder eingebettetes Objekt erstellen.

Einstellung

Geben Sie für ein eingebettetes Objekt den vollständigen Pfad und den Namen der Datei an, die Sie als Vorlage verwenden möchten, und stellen Sie die Eigenschaft Action auf acOLECreateEmbed ein.

Geben Sie für ein verknüpftes Objekt den vollständigen Pfad und den Namen der Datei an, zu der eine Verknüpfung hergestellt werden soll, und stellen Sie die Eigenschaft Action auf acOLECreateLink ein.

Sie können diese Eigenschaft in einem Eigenschaftenfenster, in einem Makro oder mit Visual Basic einstellen.

Anmerkung   Obwohl diese Eigenschaft im Eigenschaftenfenster erscheint, wird sie erst wirksam, nachdem die Eigenschaft Action in einem Makro oder mit Visual Basic eingestellt wurde.

Hinweis

Verwenden Sie die Eigenschaft SourceDoc, um die Datei anzugeben, zu der eine Verknüpfung hergestellt werden soll, und die Steuerelementeigenschaft SourceItem, um die aus der Datei gewünschten Daten anzugeben. Wenn Sie eine Verknüpfung zu dem gesamten Objekt herstellen möchten, dürfen Sie keinen Wert für die Eigenschaft SourceItem angeben.

Bei der Erstellung eines verknüpften ungebundenen Objekts wird die Einstellung der Eigenschaft SourceItem des Steuerelements mit der Einstellung seiner Eigenschaft SourceDoc verkettet. In der Formularansicht, der Datenblattansicht und der Seitenansicht besteht die Einstellung der Eigenschaft SourceItem des Steuerelements aus einer leeren Zeichenfolge (" ") und die Einstellung seiner Eigenschaft SourceDoc aus dem vollständigen Pfad zu der verknüpften Datei, gefolgt von einem Ausrufezeichen (!) oder einem umgekehrten Schrägstrich (\) und der Einstellung der Eigenschaft SourceItem, wie im folgenden Beispiel gezeigt:

"C:\Arbeit\Quart1\Umsatz.xls!R1C1:R30C15"


OLE-Objekteigenschaften - Beispiel

Im folgenden Beispiel wird mit einem ungebundenen Objektfeld namens OLE1 ein verknüpftes OLE-Objekt erstellt und die Größe des Steuerelements so angepaßt, daß der gesamte Inhalt des Objekts angezeigt wird, wenn der Benutzer auf eine Befehlsschaltfläche klickt.

Sub Befehl1_Click

OLE1.Class = "Excel.Sheet"	' Den Klassennamen angeben.

OLE1.OLETypeAllowed = acOLELinked	' Den Typ des Objekts angeben.

OLE1.SourceDoc = "C:\Excel\Oletext.xls"	' Die Quelldatei angeben.

OLE1.SourceItem = "R1C1:R5C5"	' Die Daten angeben, zu denen

' eine Verknüpf. hergest. werden soll.

OLE1.Action = acOLECreateLink	' Das verknüpfte Objekt erstellen.

OLE1.SizeMode = acOLESizeZoom	' Die Größe des Steuerelements anpassen.

End Sub


UpdateOptions-Eigenschaft (Objektaktualisierung)

Sie können die Eigenschaft UpdateOptions verwenden, um anzugeben, wie ein verknüpftes OLE-Objekt aktualisiert werden soll.

Einstellung

Die Eigenschaft UpdateOptions verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Automatisch	(Standardeinstellung) Aktualisiert das Objekt immer dann, wenn verknüpfte Daten geändert werden	acOLEUpdateAutomatic (0)
Manuell	Aktualisiert das Objekt nur dann, wenn die Eigenschaft Action des Steuerelements auf acOLEUpdate eingestellt ist oder die Verknüpfung mit dem Befehl OLE/DDE-Verknüpfungen aus dem Menü Bearbeiten aktualisiert wird.	acOLEUpdateManual (2)
Die Eigenschaft UpdateOptions können Sie in einem Eigenschaftenfenster, in einem Makro oder mit Visual Basic einstellen. Die Standardeinstellung dieser Eigenschaft können Sie in den Standardeigenschafteneinstellungen eines Steuerelements oder mit Hilfe der Methode DefaultControl in Visual Basic festlegen.

Die Einstellung der Eigenschaft UpdateOptions ist auch über den Befehl OLE/DDE-Verknüpfungen im Menü Bearbeiten verfügbar.

Hinweis

Normalerweise wird das Objekt automatisch aktualisiert, sobald die verknüpften Daten verändert werden, aber Sie können Microsoft Access anweisen, die Daten nur dann zu aktualisieren, wenn es eine bestimmte diesbezügliche Anweisung erhält. Wenn z.B. andere Benutzer oder Anwendungen auf verknüpfte Tabellendaten in Ihrem Formular zugreifen oder diese ändern können, können Sie mit dieser Eigenschaft angeben, daß die verknüpften Daten nur dann aktualisiert werden, wenn die Datenbank im Einzelbenutzer-Modus geöffnet ist.

Ist die Eigenschaft UpdateOptions auf Manuell eingestellt, erfolgen die Aktualisierungen nicht entsprechend dem Wert, auf den das Feld Anzeigeaktualisierungsintervall eingestellt ist. Sie finden dieses Feld im Dialogfeld Optionen in der Registerkarte Weitere. Das Dialogfeld Optionen öffnen Sie, indem Sie im Menü Extras auf Optionen klicken.

Anmerkung   Beim Ändern der Daten eines Objekts tritt das Ereignis Updated ein.

Das folgende Beispiel stellt die Eigenschaft UpdateOptions für ein Objektfeld namens OLE1 auf manuelles Aktualisieren ein und verwendet dann die Eigenschaft Action, um eine Aktualisierung des OLE-Objekts im Steuerelement zu veranlassen.

OLE1.UpdateOptions = acOLEUpdateManual

OLE1.Action = acOLEUpdate


Action-Eigenschaft

Sie können die Eigenschaft Action in Visual Basic verwenden, um den Vorgang anzugeben, der für ein OLE-Objekt ausgeführt werden soll.

Einstellung

Die Eigenschaft Action verwendet die folgenden Einstellungen.

Konstante	Beschreibung
acOLECreateEmbed	Erstellt ein eingebettetes Objekt. Damit Sie diese Einstellung verwenden können, stellen Sie zunächst die Eigenschaft OLETypeAllowed des Steuerelements auf acOLEEmbedded oder acOLEEither ein. Stellen Sie die Eigenschaft Class auf den Typ des OLE-Objekts ein, das Sie erstellen möchten. Sie können die Eigenschaft SourceDoc verwenden, um eine bereits vorhandene Datei als Vorlage zu nutzen.
AcOLECreateLink	Erstellt aus dem Inhalt einer Datei ein verknüpftes OLE-Objekt. Damit Sie diese Einstellung verwenden können, stellen Sie zunächst die Eigenschaften OLETypeAllowed und SourceDoc des Steuerelements ein. Stellen Sie die Eigenschaft OLETypeAllowed auf acOLELinked oder acOLEEither ein. Die Eigenschaft SourceDoc gibt die Datei an, aus der das OLE-Objekt erstellt werden soll. Sie können auch die Eigenschaft SourceItem des Steuerelements einstellen (z.B., um einen Zeilen- und Spaltenbereich anzugeben, wenn es sich bei dem zu erstellenden Objekt um eine Microsoft Excel-Tabelle handelt). Wenn Sie ein OLE-Objekt erstellen und diese Einstellung wirksam ist, zeigt das Steuerelement eine grafische Darstellung der Datei im Metafile-Format an, die als Einstellung der Steuerelementeigenschaft SourceDoc angegeben ist. Wenn das OLE-Objekt gespeichert wird, werden nur die zur Verknüpfung gehörenden Informationen gespeichert (wie z.B. der Name der Anwendung, die das Objekt bereitstellt, sowie der Name der verknüpften Datei), da das Steuerelement nicht die Quelldaten, sondern nur ein Abbild der Daten enthält.
AcOLECopy	Kopiert das Objekt in die Zwischenablage. Wenn Sie ein OLE-Objekt in die Zwischanablage kopieren, werden auch die Daten und Verknüpfungsinformationen, die zu dem Objekt gehören, in die Zwischenablage kopiert. Sie können sowohl verknüpfte als auch eingebettete Objekte in die Zwischenablage kopieren. Diese Einstellung bringt dasselbe Ergebnis, als wenn Sie im Menü Bearbeiten auf Kopieren klicken.
AcOLEPaste	Fügt Daten aus der Zwischenablage in das Steuerelement ein. Bei erfolgreich durchgeführter Einfügeoperation wird die Eigenschaft OLEType des Steuerelements auf acOLELinked oder acOLEEmbedded eingestellt. Konnte die Einfügeoperation nicht erfolgreich abgeschlossen werden, wird die Eigenschaft OLEType auf acOLENone eingestellt. Die Einstellung acOLEPaste bringt dasselbe Ergebnis, als wenn Sie im Menü Bearbeiten auf Einfügen klicken.
AcOLEUpdate	Ruft die aktuellen Daten aus der Anwendung ab, von der das Objekt bereitgestellt wurde, und zeigt die Daten im Steuerelement als Metafile-Grafik an.
AcOLEActivate	Öffnet ein OLE-Objekt, um einen Vorgang ausführen zu können, z.B. Bearbeiten. Damit diese Einstellung wirksam wird, stellen Sie zunächst die Eigenschaft Verb des Steuerelements ein. Die Eigenschaft Verb gibt den Vorgang an, der ausgeführt werden soll, sobald das OLE-Objekt aktiviert wurde.
AcOLEClose	Schließt ein OLE-Objekt und trennt die Verbindung zu der Anwendung, die das Objekt bereitstellt. Sie können diese Einstellung nur für eingebettete Objekte verwenden. Diese Einstellung bringt dasselbe Ergebnis, als wenn Sie im Systemmenü des Objekts auf Schließen klicken.
AcOLEDelete	Löscht das angegebene OLE-Objekt und gibt den zugeordneten Arbeitsspeicher frei. Mit dieser Eigenschaft können Sie ein OLE-Objekt explizit löschen. Ein Objekt wird automatisch gelöscht, wenn das zugehörige Formular geschlossen oder das Objekt durch ein anderes Objekt ersetzt wird. Sie können die Eigenschaft Action nicht verwenden, um ein gebundenes OLE-Objekt aus seiner zugrundeliegenden Tabelle oder Abfrage zu löschen.
AcOLEInsertObjDlg	Zeigt das Dialogfeld Objekt einfügen an. Sie können dieses Dialogfeld in der Formularansicht oder Datenblattansicht anzeigen, um dem Benutzer das Erstellen oder das Verknüpfen bzw. Einbetten eines Objekts zu ermöglichen. Mit der Eigenschaft OLETypeAllowed des Steuerelements können Sie festlegen, welchen Typ von Objekt der Benutzer mit diesem Dialogfeld erstellen kann (mit einer der Konstanten acOLELinked, acOLEEmbedded oder acOLEEither).
AcOLEPasteSpecialDlg	Zeigt das Dialogfeld Inhalte einfügen an. Sie können dieses Dialogfeld in der Formular- oder Datenblattansicht anzeigen, um dem Benutzer das Einfügen eines Objekts aus der Zwischenablage zu ermöglichen. Das Dialogfeld stellt mehrere Optionen zur Verfügung, darunter auch das Einfügen eines verknüpften oder eines eingebetteten Objekts. Mit der Eigenschaft OLETypeAllowed des Steuerelements können Sie festlegen, welchen Typ von Objekt der Benutzer mit diesem Dialogfeld einfügen kann (mit einer der Konstanten acOLELinked, acOLEEmbedded oder acOLEEither).
AcOLEFetchVerbs	Aktualisiert die Liste der Verben, die von einem OLE-Objekt unterstützt werden. Sie können die Liste der Verben anzeigen, indem Sie die Eigenschaften ObjectVerbs und ObjectVerbsCount verwenden.
Sie können die Eigenschaft Action nur in Visual Basic einstellen. Die Einstellung der Eigenschaft Action ist ein Wert des Datentyps Integer.

Die Eigenschaft Action ist in der Entwurfsansicht nicht verfügbar, kann aber in den anderen Ansichten gelesen und eingestellt werden.

Hinweis

Wenn die Eigenschaft Enabled eines Steuerelements auf Nein oder dessen Eigenschaft Locked auf Ja eingestellt ist, können Sie einige Einstellungen der Eigenschaft Action nicht verwenden. In der folgenden Tabelle ist zusammengestellt, welche Einstellungen bei diesen Gegebenheiten zulässig sind und welche nicht.

Einstellung	Enabled = Nein	Locked = Ja
acOLECreateEmbed	Nicht zulässig	Nicht zulässig
acOLECreateLink	Nicht zulässig	Nicht zulässig
acOLECopy	Zulässig	Zulässig
acOLEPaste	Nicht zulässig	Nicht zulässig
acOLEUpdate	Nicht zulässig	Nicht zulässig
acOLEActivate	Zulässig	Zulässig
acOLEClose	Nicht zulässig	Zulässig
acOLEDelete	Nicht zulässig	Nicht zulässig
acOLEInsertObjDlg	Nicht zulässig	Nicht zulässig
acOLEPasteSpecialDlg	Nicht zulässig	Nicht zulässig
acOLEFetchVerbs	Nicht zulässig	Zulässig


AutoActivate-Eigenschaft (Objektaktivierung)

Mit der Eigenschaft AutoActivate können Sie angeben, auf welche Weise der Benutzer ein OLE-Objekt aktivieren kann.

Einstellung

Die Eigenschaft AutoActivate verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Konstante
Manuell	Das OLE-Objekt wird nicht aktiviert, wenn es den Fokus erhält oder der Benutzer auf das Steuerelement doppelklickt. Sie können das OLE-Objekt nur aktivieren, indem Sie in Visual Basic die Eigenschaft Action des Steuerelements auf acOLEActivate einstellen.	acOLEActivateManual
Fokus	(Nur für Steuerelemente des Typs Ungebundenes Objektfeld und Diagramm) Wenn das Steuerelement ein OLE-Objekt enthält, wird die Anwendung, die das Objekt bereitstellt, aktiviert, sobald das Steuerelement den Fokus erhalten hat.	acOLEActivateGetFocus
Doppelklicken	(Standardeinstellung) Wenn das Steuerelement ein OLE-Objekt enthält, wird die Anwendung, die das Objekt bereitstellt, aktiviert, sobald der Benutzer auf das Steuerelement doppelgeklickt oder, sofern das Steuerelement den Fokus hat, STRG+EINGABETASTE gedrückt hat.	acOLEActivateDoubleClick
Sie können diese Eigenschaft im Eigenschaftenfenster des Steuerelements, in einem Makro oder in Visual Basic einstellen.

Die Eigenschaft AutoActivate kann nur in der Entwurfsansicht eingestellt werden.

Hinweis

Einige OLE-Objekte können aus dem jeweiligen Steuerelement heraus aktiviert werden. Sobald ein solches Objekt aktiviert wurde, kann es innerhalb des Steuerelements bearbeitet werden (oder es können bestimmte andere Vorgänge ausgeführt werden). Dieses Feature wird als direkte Aktivierung bezeichnet. Für den Fall, daß ein Objekt die direkte Aktivierung unterstützt, finden Sie in der Dokumentation der Anwendung, mit der das Objekt erstellt wurde, Informationen darüber, wie dieses Feature verwendet werden kann.

In Visual Basic können Sie ermitteln, ob ein Steuerelement ein Objekt enthält, indem Sie die Eigenschaft OLEType des Steuerelements auswerten.

Anmerkung   Wenn Sie die Eigenschaft AutoActivate eines Steuerelements auf Doppelklicken einstellen und für das Ereignis DblClick des Steuerelements einen Wert angeben, tritt das Ereignis DblClick auf, bevor das Objekt aktiviert wird.


Class-Eigenschaft (Klasse)

Mit der Eigenschaft Class können Sie den Klassennamen eines eingebetteten OLE-Objekts angeben oder ermitteln.

Einstellung

Die Einstellung der Eigenschaft Class ist ein Zeichenfolgenausdruck, der von Ihnen oder von Microsoft Access bereitgestellt wird, wenn Sie ein OLE-Objekt erstellen oder einfügen.

Sie können die Eigenschaft Class im Eigenschaftenfenster des Steuerelements, in einem Makro oder in Visual Basic einstellen.

Hinweis

Ein Klassenname definiert den Typ des jeweiligen OLE-Objekts. Microsoft Excel unterstützt z.B. mehrere OLE-Objekttypen, einschließlich Tabellenblätter und Diagramme. Deren Klassennamen lauten Excel.Sheet bzw. Excel.Chart. Wenn Sie ein OLE-Objekt in der Entwurfsansicht erstellen, indem Sie im Menü Bearbeiten auf Inhalte einfügen oder im Menü Einfügen auf Objekt einfügen klicken, trägt Microsoft Access den Klassennamen des neuen Objekts automatisch in das Eigenschaftenfenster ein.

Anmerkung   Wenn Sie den Klassennamen eines OLE-Objekts wissen möchten, finden Sie die entsprechenden Informationen in der Dokumentation der Anwendung, von der das Objekt bereitgestellt wird.

Die Einstellung der Eigenschaft Class wird aktualisiert, sobald Sie ein Objekt aus der Zwischenablage eingefügt haben. Wenn Sie z.B. ein Microsoft Excel-Diagramm aus der Zwischenablage in ein OLE-Objekt einfügen, das zuvor ein Microsoft Excel-Tabellenblatt enthalten hat, ändert sich die Einstellung der Eigenschaft Class von Excel.Sheet in Excel.Chart. Sie können ein Objekt aus der Zwischenablage einfügen, indem Sie in Visual Basic die Eigenschaft Action des Steuerelements auf acOLEPaste oder acOLEPasteSpecialDlg einstellen.

Anmerkung   Die Eigenschaften OLEClass und Class ähneln sich zwar, sind aber nicht identisch. Die Einstellung der Eigenschaft OLEClass ist eine allgemeine Beschreibung des OLE-Objekts, während die Einstellung der Eigenschaft Class der Name ist, mit dem in Visual Basic auf das OLE-Objekt verwiesen wird. Beispiele für die Einstellung der Eigenschaft OLEClass sind: Microsoft Excel Chart, Microsoft Word Document und Paintbrush Picture.


Item-Eigenschaft (Objektfeld-Steuerelement)

Sie können die Eigenschaft Item verwenden, um eine Beschreibung der verknüpften Daten zu erhalten, die in einem Diagramm-Steuerelement oder in einem ungebundenen Objektfeld angezeigt werden.

Einstellung

Die Einstellung der Eigenschaft Item ist ein Zeichenfolgenausdruck. Die Eigenschaft ist in allen Ansichten schreibgeschützt.

Anmerkung   Wenn Sie mit Automatisierung (früher als OLE-Automatisierung bezeichnet) arbeiten und einen Datenbereich angeben müssen, verwenden Sie die Eigenschaft SourceItem.

Hinweis

Die Beschreibung eines verknüpften Objektfelds ist abhängig vom Typ des OLE-Objekts, mit dem es verknüpft ist. Wenn Sie das Objektfeld z.B. mit Zellen eines Microsoft Excel-Tabellenblatts verknüpfen, zeigt Microsoft Access im Objektfeld die in den Zellen stehenden Daten an, und die Eigenschaft Item beschreibt die verknüpften Zellen im Zeilen-und-Spalten-Format (Z1S1-Schreibweise). Bei einem Diagramm enthält die Einstellung der Eigenschaft Item das Wort Chart. Bei einer Grafik entspricht die Einstellung den Koordinaten des verknüpften Grafikbereichs.

Anmerkung   Die Daten eines verknüpften OLE-Objekts werden zwar im entsprechenden Objektfeld angezeigt, werden aber von der Anwendung gespeichert, die die Daten erstellt hat. Wenn Sie diese Daten ändern möchten, verwenden Sie die zugehörige Anwendung.

Wenn Sie ein OLE-Objekt mit einem ungebundenen Objektfeld verknüpfen, indem Sie im Menü Bearbeiten auf Inhalte einfügen klicken, stellt Microsoft Access die Eigenschaften SourceObject, OLEClass und Item ein. Die folgende Tabelle enthält typische Einstellungen der Eigenschaften für verschiedene OLE-Objekte.

Objekt	Eigenschaft SourceObject	Eigenschaft OLEClass	Eigenschaft Item
Tabelle	C:\Excel\Xls\Tabelle.xls	Microsoft Excel Worksheet	Z1S1:Z7S4
Diagramm	C:\Excel\Xls\Diagramm.xlc	Microsoft Excel Chart	Chart
Grafik	C:\Windows\Bitmap.bmp	Paintbrush Picture	0 0 72 71


lpOLEObject-Eigenschaft

Mit der Eigenschaft lpOLEObject können Sie in Visual Basic die Arbeitsspeicheradresse eines OLE-Objekts ermitteln. Die Eigenschaft lpOLEObject gibt einen Zeiger auf IOLEObject zurück.

Einstellung

Sie können die Eigenschaft lpOLEObject verwenden, um auf die Adresse des aktiven Objekts zu verweisen. Wird kein Objekt angezeigt, lautet die Einstellung 0. Die Einstellung der Eigenschaft lpOLEObject ist ein Wert des Datentyps Long und wird von Microsoft Access festgelegt.

Diese Eigenschaft steht in der Entwurfsansicht nicht zur Verfügung und ist in den anderen Ansichten schreibgeschützt.

Hinweis

Für viele Funktionen der zu OLE gehörenden Dynamic Link Libraries (DLLs) ist es erforderlich, daß ihnen beim Aufrufen die Adresse des jeweiligen OLE-Objekts als Argument übergeben wird. Wenn Sie eine Funktion einer OLE-DLL über das API (Application Programming Interface) aufrufen, können Sie den Wert übergeben, den die Eigenschaft lpOLEObject angibt.

Anmerkung   Wird über das API eine DLL-Funktion aufgerufen, die ihrerseits wieder das Steuerelement aufruft, sind die Ergebnisse unvorhersehbar.


Object-Eigenschaft

Mit der Eigenschaft Object können Sie in Visual Basic einen Verweis auf das Automatisierungsobjekt zurückgeben, das einem verknüpften oder eingebetteten OLE-Objekt eines Steuerelements zugeordnet ist. Über diesen Verweis können Sie auf die Eigenschaften des OLE-Objekts zugreifen oder dessen Methoden aufrufen.

Einstellung

Die Eigenschaft Object gibt einen Verweis auf ein Automatisierungsobjekt zurück. Mit der Anweisung Set können Sie dieses Automatisierungsobjekt einer Objektvariablen zuweisen. Der Typ des zurückgegebenen Objektverweises hängt davon ab, mit welcher Anwendung das OLE-Objekt erstellt wurde.

Die Eigenschaft Object ist in allen Ansichten schreibgeschützt.

Hinweis

Wenn Sie ein OLE-Objekt in ein Microsoft Access-Formular einbetten oder verknüpfen, können Sie die Eigenschaften einstellen, die den Typ des Objekts sowie das Verhalten des Steuerelements festlegen, das als Container dient. Allerdings ist es Ihnen nicht möglich, die Eigenschaften des OLE-Objekts direkt einzustellen bzw. zu lesen oder dessen Methoden direkt anzuwenden, wie Sie dies können, wenn Sie mit Automatisierung arbeiten. Die Eigenschaft Object gibt einen Verweis auf ein Automatisierungsobjekt zurück, das dem verknüpften oder eingebetteten OLE-Objekt entspricht. Mit Hilfe dieses Verweises können Sie das OLE-Objekt ändern, indem Sie dessen Eigenschaften einstellen bzw. lesen oder dessen Methoden anwenden. Microsoft Excel ist z.B. eine ActiveX-Komponente, die Automatisierung unterstützt. Wenn Sie ein Microsoft Excel-Tabellenblatt in ein Microsoft Access-Formular eingebettet haben, können Sie mit der Eigenschaft Object einen Verweis auf das Worksheet-Objekt einstellen, das diesem Tabellenblatt entspricht. Danach können Sie jede Eigenschaft und Methode des Worksheet-Objekts verwenden.

Informationen, welche Eigenschaften und Methoden von einem Automatisierungsobjekt unterstützt werden, finden Sie in der Dokumentation der Anwendung, mit der das OLE-Objekt erstellt wurde.


Object-Eigenschaft - Beispiel

Im folgenden Beispiel wird die Eigenschaft Object eines Objektfelds namens OLE1 verwendet. Der Name und die Adreßinformationen des Kunden werden in ein eingebettetes Word-Dokument eingefügt, das als Serienbrief formatiert ist, der Platzhalter für den Namen und die Adreßinformationen sowie im Briefrumpf einen vorformulierten Text enthält. Die Prozedur ersetzt für jeden Datensatz die Platzhalterinformationen und druckt den Serienbrief. Es wird keine Kopie des jeweils gedruckten Serienbriefes gespeichert.

Sub SerienbriefDrucken_Click()

Dim objWord As Object

Dim strKunde As String, strStraße As String

Dim strOrt As String, strRegion As String

' Die Eigenschaft Object des Steuerelements einer

' Variablen zuweisen.

Set objWord = Me!OLE1.Object.Application.Wordbasic

' Die Adresse des Kunden den entsprechenden

' Variablen zuweisen.

strKunde = Me!Firma

strStraße = Me!Straße

strOrt = Me!Ort & ", "

If Not IsNull(Me!Region) Then

strRegion = Me!Region

Else

strRegion = Me!Land

End If

' Das ActiveX-Steuerelement aktivieren.

Me!OLE1.Action = acOLEActivate

With objWord

.BeginnDokument

' Zum ersten Platzhalter bewegen.

.ZeileUnten 2

' Den Text des Platzhalters hervorheben.

.EndeZeile 1

' Den Namen des Kunden einfügen.

.Einfügen strKunde

' Zum nächsten Platzhalter bewegen.

.ZeileUnten

.BeginnZeile

' Den Text des Platzhalters hervorheben.

.EndeZeile 1

' Die Straße einfügen.

.Einfügen strStraße

' Zum letzten Platzhalter bewegen.

.ZeileUnten

.BeginnZeile

' Den Text des Platzhalters hervorheben.

.EndeZeile 1

' Den Ort und die Region einfügen.

.Einfügen strOrt & strRegion

.DateiDrucken

.DateiSchließen

End With

Set objWord = Nothing

End Sub


ObjectVerbs-Eigenschaft

Mit der Eigenschaft ObjectVerbs können Sie in Visual Basic die Liste der Verben ermitteln, die ein OLE-Objekt unterstützt.

Einstellung

Die Einstellung der Eigenschaft ObjectVerbs ist ein Datenfeld aus Zeichenfolgen, dessen erstes Element den Index 0 hat.

Diese Eigenschaft steht in der Entwurfsansicht nicht zur Verfügung und ist in den anderen Ansichten schreibgeschützt.

Hinweis

Sie können die Eigenschaft ObjectVerbs zusammen mit der Eigenschaft ObjectVerbsCount verwenden, um eine Liste der Verben anzuzeigen, die von einem OLE-Objekt unterstützt werden. Die Eigenschaft Verb verwendet diese Liste der Verben, um festzustellen, welcher Vorgang ausgeführt werden soll, nachdem ein OLE-Objekt aktiviert wurde (indem die Eigenschaft Action auf acOLEActivate eingestellt wurde).

Die Einstellung der Eigenschaft Verb entspricht der Position eines bestimmten Verbs innerhalb der Liste der Verben, die von der Eigenschaft ObjectVerbs zurückgegeben wurde. Die Einstellung 1 gibt z.B. das erste Verb der Liste an (Visual Basic-Befehl ObjectVerbs(0) bzw. das erste Verb des Datenfelds der Eigenschaft ObjectVerbs), 2 gibt das zweite Verb der Liste an (Visual Basic-Befehl ObjectVerbs(1) bzw. das zweite Verb des Datenfelds der Eigenschaft ObjectVerbs), usw.

Das erste Verb des Datenfelds der Eigenschaft ObjectVerbs, das von dem Visual Basic-Befehl ObjectVerbs(0) aufgerufen wird, ist das Standardverb. Für den Fall, daß die Eigenschaft Verb nicht eingestellt wurde, gibt dieses Verb den Vorgang an, der ausgeführt wird, sobald das OLE-Objekt aktiviert wurde.

Anwendungen, die OLE-Objekte offenlegen, enthalten im allgemeinen im Menü Bearbeiten den Befehl Objekt. Wenn der Benutzer auf diesen Befehl zeigt, werden die Verben des Objekts in einem Untermenü angezeigt. Sie können die Eigenschaften ObjectVerbs und ObjectVerbsCount verwenden, um eine Liste der Verben auf einem Formular oder Bericht (anstatt in einem Menü) anzuzeigen.

Die Liste der Verben, die ein Objekt unterstützt, hängt vom Zustand des Objekts ab. Wenn Sie die Liste der Verben aktualisieren möchten, die ein Objekt unterstützt, stellen Sie die Eigenschaft Action des Steuerelements auf acOLEFetchVerbs ein. Achten Sie darauf, daß Sie die Liste der Verben immer erst aktualisieren, bevor Sie sie dem Benutzer Liste zur Verfügung stellen.


ObjectVerbs-, ObjectVerbsCount-Eigenschaften - Beispiel

Im folgenden Beispiel werden die Verben zurückgegeben, die von dem OLE-Objekt unterstützt werden, das dem als Argument ctlOLE übergebenen Steuerelement zugewiesen ist. Jedes Verb wird in einem Meldungsfeld angezeigt.

Sub VerbenlisteLesen(frm As Form, OLE1 As Control)

Dim intX As Integer, intAnzahlVerben As Integer

Dim strVerbenliste As String

' Die Liste der Verben aktualisieren.

With frm!ctlOLE

.Action = acOLEFetchVerbs

intAnzahlVerben = .ObjectVerbsCount

For intX = 0 To intAnzahlVerben - 1

strVerbenliste = strVerbenliste &.ObjectVerbs(intX) & "; "

Next intX

End With

' Die Verben in einem Meldungsfeld anzeigen.

MsgBox Left(strVerbenliste, Len(strVerbenliste) - 1)

End Sub


ObjectVerbsCount-Eigenschaft

Mit der Eigenschaft ObjectVerbsCount können Sie in Visual Basic ermitteln, wie viele Verben von einem OLE-Objekt unterstützt werden.

Einstellung

Die Einstellung der Eigenschaft ObjectVerbsCount ist ein Wert des Datentyps Integer, der die Anzahl der Elemente angibt, die zu dem Datenfeld der Eigenschaft ObjectVerbs gehören.

Diese Eigenschaft steht in der Entwurfsansicht nicht zur Verfügung und ist in den anderen Ansichten schreibgeschützt.

Hinweis

Die Liste der Verben, die ein Objekt unterstützt, hängt vom Zustand des Objekts ab. Wenn Sie die Liste der unterstützten Verben aktualisieren möchten, stellen Sie die Eigenschaft Action des Steuerelements auf acOLEFetchVerbs ein.


OLEClass-Eigenschaft (OLE)

Mit der Eigenschaft OLEClass können Sie eine Typbeschreibung des OLE-Objekts abrufen, das in einem Diagramm-Steuerelement oder in einem ungebundenen Objektfeld enthalten ist.

Einstellung

Diese Eigenschaft wird im Eigenschaftenfenster des Steuerelements automatisch auf einen Zeichenfolgenausdruck eingestellt, wenn Sie ein OLE-Objekt zu einem Formular hinzugefügt haben, indem Sie im Menü Einfügen auf Objekt geklickt haben. Die Einstellung der Eigenschaft OLEClass ist in allen Ansichten schreibgeschützt.

Anmerkung   Wenn Sie mit Automatisierung (früher als OLE-Automatisierung bezeichnet) arbeiten und einen Namen angeben müssen, um auf das OLE-Objekt zu verweisen, verwenden Sie die Eigenschaft Class.

Hinweis

Die Eigenschaften OLEClass und Class ähneln sich zwar, sind aber nicht identisch. Die Einstellung der Eigenschaft OLEClass ist eine allgemeine Beschreibung des OLE-Objekts, während die Einstellung der Eigenschaft Class der Name ist, mit dem in Visual Basic auf das OLE-Objekt verwiesen wird. Beispiele für die Einstellung der Eigenschaft OLEClass sind: Microsoft Excel Chart, Microsoft Word Document und Paintbrush Picture.


OLEType-Eigenschaft (OLEObjektart)

Mit der Eigenschaft OLEType können Sie ermitteln, ob ein Steuerelement ein OLE-Objekt enthält und, sofern dies der Fall ist, ob das Objekt verknüpft oder eingebettet ist.

Einstellung

Die Eigenschaft OLEType verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Konstante
Verknüpft	Das Steuerelement enthält ein verknüpftes Objekt. Alle Daten des Objekts werden von der Anwendung verwaltet, mit der das Objekt erstellt wurde.	acOLELinked
Eingebettet	Das Steuerelement enthält ein eingebettetes Objekt. Alle Daten des Objekts werden von Microsoft Access verwaltet.	acOLEEmbedded
Keines	Das Steuerelement enthält kein OLE-Objekt.	acOLENone
Die Eigenschaft OLEType ist in allen Ansichten schreibgeschützt.

Hinweis

Wenn Sie ein OLE-Objekt erstellen, können Sie über die Eigenschaft OLETypeAllowed ermitteln, welchen Typ von Objekt ein Steuerelement enthalten kann.


OLEType-Eigenschaft (OLEObjektart) - Beispiel

Das folgende Beispiel zeigt, wie das Dialogfeld Objekt einfügen angezeigt und, wenn im Dialogfeld Objekt einfügen auf die Schaltfläche Abbrechen geklickt wurde, eine Fehlermeldung ausgegeben werden kann.

Sub ObjektEinfügen_Click()

Dim conAbbrechenGeklickt As Integer

' Wenn der Benutzer auf "Abbrechen" geklickt hat,

' wird eine Fehlermeldung angezeigt.

conAbbrechenGeklickt = 2001

On Error GoTo FehlerDurchAbbrechen

If OLE1.OLEType = acOLENone Then

' Es wurde kein OLE-Objekt erstellt.

' Das Dialogfeld "Objekt einfügen" anzeigen.

OLE1.Action = acOLEInsertObjDlg

End If

Exit Sub

FehlerDurchAbbrechen:

If Err = conAbbrechenGeklickt Then ' Die Meldung anzeigen.

MsgBox "Sie haben auf 'Abbrechen' geklickt; es wurde kein Objekt erstellt."

End If

Resume Next

End Sub


OLETypeAllowed-Eigenschaft (ZugelasseneOLEObjektart)

Mit der Eigenschaft OLETypeAllowed können Sie angeben, welchen Typ von OLE-Objekt ein Steuerelement enthalten kann.

Einstellung

Die Eigenschaft OLETypeAllowed verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Konstante
Verknüpft	Das Steuerelement kann nur ein verknüpftes Objekt enthalten.	acOLELinked
Eingebettet	Das Steuerelement kann nur ein eingebettetes Objekt enthalten.	acOLEEmbedded
Beides	(Standardeinstellung) Das Steuerelement kann entweder ein verknüpftes oder ein eingebettetes Objekt enthalten.	acOLEEither
Sie können die Eigenschaft OLETypeAllowed im Eigenschaftenfenster des Steuerelements, in einem Makro oder in Visual Basic einstellen. Die Standardeinstellung dieser Eigenschaft können Sie mit Hilfe der Standardeigenschafteneinstellungen eines Steuerelements oder in Visual Basic mit der Methode DefaultControl einstellen.

Anmerkung   Bei ungebundenen Objektfeldern und bei Diagrammen können Sie die Einstellung der Eigenschaft OLETypeAllowed nicht mehr ändern, nachdem das entsprechende Objekt erstellt wurde. Bei gebundenen Objektfeldern dagegen können Sie die Einstellung ändern, nachdem das Objekt erstellt wurde. Änderungen, die Sie an der Einstellung der Eigenschaft OLETypeAllowed vornehmen, wirken sich nur auf neue Objekte aus, die Sie zu dem Steuerelement hinzufügen.

Hinweis

Wenn Sie wissen möchten, welchen Typ das OLE-Objekt hat, das in einem Steuerelement enthalten ist, können Sie die Eigenschaft OLEType verwenden.


SourceItem-Eigenschaft (Herkunftselement)

Mit der Eigenschaft SourceItem können Sie die aus einer Datei stammenden Daten angeben, die verknüpft werden sollen, wenn Sie ein verknüpftes OLE-Objekt erstellen.

Einstellung

Sie stellen die Eigenschaft SourceItem ein, indem Sie Daten in solchen Einheiten angeben, die von der Anwendung ausgewertet werden können, von der das Objekt bereitgestellt wird. Wenn Sie z.B. mit Microsoft Excel verknüpfen, geben Sie als Einstellung der Eigenschaft SourceItem einen Verweis auf eine Zelle oder einen Zellbereich (z.B. Z1S1 oder Z3S4:Z9S22) bzw. einen benannten Bereich an (z.B. Erträge).

Anmerkung   Informationen zur Syntax, die zu verwenden ist, um eine Dateneinheit eines bestimmten Objekts zu beschreiben, finden Sie in der Dokumentation der Anwendung, mit der das Objekt erstellt wurde.

Sie können diese Eigenschaft im Eigenschaftenfenster des Steuerelements, in einem Makro oder in Visual Basic einstellen.

In Visual Basic stellen Sie diese Eigenschaft mit einem Zeichenfolgenausdruck ein.

Hinweis

Damit Sie diese Eigenschaft verwenden können, muß die Eigenschaft OLETypeAllowed auf Verknüpft oder Beides eingestellt sein. Verwenden Sie die Eigenschaft SourceDoc des Steuerelements, um die Datei anzugeben, mit der verknüpft werden soll.


Verb-Eigenschaft

Mit der Eigenschaft Verb können Sie den Vorgang angeben, der ausgeführt werden soll, wenn ein OLE-Objekt aktiviert wurde, indem die Eigenschaft Action des zugehörigen Steuerelements auf acOLEActivate eingestellt wurde.

Einstellung

Sie stellen die Eigenschaft Verb ein, indem Sie einen Wert des Datentyps Integer angeben, der die Position angibt, die ein Verb in der Liste der Verben einnimmt, die von der Eigenschaft ObjectVerbs zurückgegeben wird. Sie können die Eigenschaft Verb auf 1 einstellen, um das erste Verb der Liste anzugeben, Sie können die Eigenschaft auf 2 einstellen, um das zweite Verb der Liste anzugeben, usw.

Sie können die Eigenschaft Verb im Eigenschaftenfenster des Steuerelements, in einem Makro oder in Visual Basic einstellen. Die Standardeinstellung dieser Eigenschaft können Sie mit Hilfe der Standardeigenschafteneinstellungen oder in Visual Basic mit der Methode DefaultControl einstellen.

Wenn Sie nicht die Eigenschaft ObjectVerbs verwenden, um ein bestimmtes Verb anzugeben, können Sie die Eigenschaft Verb auf einen der folgenden Werte einstellen, um den auszuführenden Vorgang anzugeben. Diese Werte entsprechen den Standardverben, die von allen Objekten unterstützt werden.

Konstante	Wert	Beschreibung
acOLEVerbPrimary	0	Führt den Standardvorgang des Objekts aus.
acOLEVerbShow	–1	Aktiviert das Objekt zum Bearbeiten.
acOLEVerbOpen	–2	Öffnet das Objekt in einem eigenen Anwendungsfenster.
acOLEVerbHide	–3	Blendet bei einem eingebetteten Objekt die Anwendung aus, mit der das Objekt erstellt wurde.
Für Objekte einiger Anwendungen können Sie auch die folgenden Werte verwenden.

Konstante	Wert	Beschreibung
acOLEVerbInPlaceUIActivate	–4	Aktiviert das Objekt zur Bearbeitung innerhalb des Steuerelements. Die Menüs und Symbolleisten des OLE-Servers werden auch im OLE-Container zur Verfügung gestellt.
acOLEVerbInPlaceActivate	–5	Aktiviert das Objekt innerhalb des Steuerelements. Die Menüs und Symbolleisten des OLE-Servers sind im OLE-Container nicht verfügbar.
Hinweis

Jedes Objekt unterstützt eine eigene Gruppe von Verben. Viele Objekte unterstützen z.B. die Verben Bearbeiten und Abspielen. Mit den Eigenschaften ObjectVerbs und ObjectVerbsCount können Sie ermitteln, welche Verben von einem Objekt unterstützt werden.

Microsoft Access verwendet automatisch das Standardverb eines Objekts, wenn der Benutzer auf ein Objekt doppelklickt, dessen Eigenschaft AutoActivate auf Doppelklicken eingestellt ist.


ForceNewPage-Eigenschaft (NeueSeite)

Mit der Eigenschaft ForceNewPage können Sie angeben, daß Formularbereiche (Formularkopf, Detailbereich, Formularfuß) oder Berichtsbereiche (Berichtskopf, Detailbereich, Berichtsfuß) nicht auf der aktuellen Seite, sondern auf einer eigenen Seite gedruckt werden. Sie haben z.B. die letzte Seite eines Berichts als Bestellformular gestaltet. Wenn die Eigenschaft ForceNewPage auf Vor Bereich eingestellt ist, wird das Bestellformular immer auf einer neuen Seite gedruckt.

Anmerkung   Die Eigenschaft ForceNewPage betrifft weder Seitenköpfe noch Seitenfüße.

Einstellung

Die Eigenschaft ForceNewPage verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Keine	(Standardeinstellung) Der aktuelle Bereich (der Bereich, für den Sie die Eigenschaft einstellen) wird auf der aktuellen Seite gedruckt.	0
Vor Bereich	Der aktuelle Bereich wird ab dem Anfang einer neuen Seite gedruckt.	1
Nach Bereich	Der Bereich, der unmittelbar auf den aktuellen Bereich folgt, wird ab dem Anfang einer neuen Seite gedruckt.	2
Vor & Nach	Sowohl der aktuelle Bereich als auch der nächste Bereich werden jeweils ab dem Anfang einer neuen Seite gedruckt.	3
Sie können diese Eigenschaft im Eigenschaftenfenster des Bereichs, in einem Makro oder in Visual Basic einstellen.

Hinweis

Nachstehend finden Sie einige Beispiele, wie die Eigenschaft ForceNewPage eingestellt sein kann.

Bereich	Beispieleinstellung	Beschreibung
Ein Gruppenkopf, in dem das Jahr angezeigt wird	Vor Bereich	Der Gruppenkopf wird am Anfang der Seite gedruckt. Daran anschließend werden der Detailbereich, der Gruppenfuß und der Seitenfuß gedruckt.
Ein Detailbereich eines Berichts	Nach Bereich	Der Gruppenfuß wird ab dem Anfang einer neuen Seite gedruckt.
Ein Berichtskopf, der den Berichtstitel und ein Firmenlogo enthält	Nach Bereich	Der Berichtstitel und das Logo werden am Anfang des Berichts auf einer eigenen Seite gedruckt.


ForceNewPage-Eigenschaft (NeueSeite) - Beispiel

Im folgenden Beispiel wird der Wert, auf den die Eigenschaft ForceNewPage des Detailbereichs des Berichts Umsätze nach Jahr eingestellt ist, der Variablen intWertLesen zugewiesen.

Dim intWertLesen As Integer

intWertLesen = Reports![Umsätze nach Jahr].Section(acDetail).ForceNewPage


HideDuplicates-Eigenschaft (DuplikateAusblenden)

Mit der Eigenschaft HideDuplicates können Sie ein Steuerelement eines Berichts ausblenden für den Fall, daß der Wert des Steuerelements für den aktuellen und den vorhergehenden Datensatz identisch ist. Beispielsweise kann ein Bericht, in dem Lieferanten und deren Artikel zusammengestellt sind, so aufgebaut sein, daß der Name des jeweiligen Lieferanten nicht für jeden Artikel, sondern nur einmal für jede Artikelgruppe aufgeführt wird.

Anmerkung   Die Eigenschaft HideDuplicates betrifft nur Steuerelemente (Kontrollkästchen, Kombinationsfeld, Listenfeld, Optionsfeld, Optionsgruppe, Textfeld, Umschaltfläche) eines Berichts.

Die Eigenschaft betrifft keine Kontrollkästchen, Optionsfelder oder Umschaltflächen, wenn diese Bestandteil einer Optionsgruppe sind. In diesem Fall betrifft die Eigenschaft die Optionsgruppe selbst.

Einstellung

Die Eigenschaft HideDuplicates verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Ja	Ist der Wert oder der Dateninhalt des Steuerelements für den aktuellen und den vorhergehenden Datensatz identisch, wird das Steuerelement ausgeblendet.	True (-1)
Nein	(Standardeinstellung) Das Steuerelement ist unabhängig davon, welcher Wert im vorhergehenden Datensatz steht, sichtbar.	False (0)
Sie können diese Eigenschaft im Eigenschaftenfenster des Steuerelements, in einem Makro oder in Visual Basic einstellen.

Sie können die Eigenschaft HideDuplicates nur in der Entwurfsansicht eines Berichts einstellen

Hinweis

Sie können die Eigenschaft HideDuplicates dazu verwenden, einen gruppierten Bericht zu erstellen, indem Sie auf einen Gruppenkopf verzichten und nur den Detailbereich verwenden.


HideDuplicates-Eigenschaft (DuplikateAusblenden) - Beispiel

Im folgenden Beispiel wird der Wert, auf den die Eigenschaft HideDuplicates des Textfelds Kategoriename eingestellt ist, der Variablen intAktWert zugewiesen.

Dim intAktWert As Integer

intAktWert = Me!Kategoriename.HideDuplicates


KeepTogether-Eigenschaft (Zusammenhalten) - Bereiche

Sie können die Eigenschaft KeepTogether eines Bereichs verwenden, um diesen Bereich eines Formulars oder Berichts vollständig auf einer Seite zu drucken. So haben Sie z.B. eine Gruppe zusammengehörender Informationen, für die Sie verhindern möchten, daß sie über zwei Seiten gedruckt werden.

Anmerkung   Die Eigenschaft KeepTogether betrifft nur Formular- und Berichtsbereiche (ausgenommen Seitenköpfe und Seitenfüße).

Einstellung

Die Eigenschaft KeepTogether eines Bereichs verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Ja	Wenn Microsoft Access den Bereich nicht vollständig auf der aktuellen Seite drucken kann, druckt es den Bereich ab dem Anfang der nächsten Seite.	True (-1)
Nein	(Standardeinstellung) Microsoft Access druckt möglichst viel vom Bereich auf der aktuellen Seite und druckt den verbleibenden Teil auf der nächsten Seite.	False (0)
Sie können diese Eigenschaft im Eigenschaftenfenster des Bereichs, in einem Makro oder in Visual Basic einstellen.

Die Eigenschaft KeepTogether eines Bereichs können Sie nur in der Entwurfsansicht eines Formulars oder der Entwurfsansicht eines Berichts einstellen.

Hinweis

Ergibt sich ein Seitenumbruch, während ein Bereich gedruckt wird, setzt Microsoft Access das Drucken des Bereichs normalerweise auf der nächsten Seite fort. Mit der Eigenschaft KeepTogether können Sie dafür sorgen, daß der Bereich vollständig auf einer Seite gedruckt wird. Erstreckt sich ein Bereich über mehrere Seiten, druckt Microsoft Access ihn ab der nächsten Seite und setzt das Drucken auf den folgenden Seiten fort.

Ist die Eigenschaft KeepTogether einer Gruppe auf Ganze Gruppe oder Mit 1. Detaildatensatz und die Eigenschaft KeepTogether  eines Bereichs auf Nein eingestellt, wird die Einstellung der Eigenschaft KeepTogether des Bereichs ignoriert.


KeepTogether-Eigenschaft (Zusammenhalten) - Bereiche, Beispiel

Im folgenden Beispiel wird der Wert, auf den die Eigenschaft KeepTogether des Detailbereichs eines Berichts eingestellt ist, der Variablen intWertLesen zugewiesen.

Dim intWertLesen As Integer

intWertLesen = Me.Section(acDetail).KeepTogether


NewRowOrCol-Eigenschaft (NeueZeileOderSpalte)

Mit der Eigenschaft NewRowOrCol können Sie angeben, ob ein Bereich und dessen zugehörige Daten in einem mehrspaltigen Bericht oder mehrspaltigen Formular in einer neuen Zeile oder Spalte gedruckt werden. Sie können diese Eigenschaft z.B. verwenden, um in einem mehrspaltigen Bericht jeden Gruppenkopf als Überschrift einer neuen Spalte zu drucken.

Anmerkung   Die Eigenschaft NewRowOrCol betrifft weder Seitenköpfe noch Seitenfüße.

Einstellung

Die Eigenschaft NewRowOrCol verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Keine	(Standardeinstellung) Die Zeilen- oder Spaltenumbrüche werden durch die Einstellungen im Dialogfeld Seite einrichten (wird angezeigt, nachdem Sie im Menü Datei auf Seite einrichten geklickt haben) und durch den auf der Seite verfügbaren Platz bestimmt.	0
Vor Bereich	Microsoft Access beginnt mit dem Drucken des aktuellen Bereichs (der Bereich, für den Sie die Eigenschaft einstellen, z.B. ein Gruppenkopfbereich) in einer neuen Zeile oder Spalte. Der nächste Bereich, z.B. ein Detailbereich, wird in derselben Zeile oder Spalte gedruckt.	1
Nach Bereich	Microsoft Access beginnt mit dem Drucken des aktuellen Bereichs, z.B. eines Gruppenkopfbereichs, in der aktuellen Zeile oder Spalte. Mit dem Drucken des nächsten Bereichs, z.B. eines Detailbereichs, beginnt Microsoft Access in der nächsten Zeile oder Spalte.	2
Vor & Nach	Microsoft Access beginnt mit dem Drucken des aktuellen Bereichs in einer neuen Zeile oder Spalte und mit dem Drucken des nächsten Bereichs in der nächsten Zeile oder Spalte.	3
Sie können diese Eigenschaft im Eigenschaftenfenster des Bereichs, in einem Makro oder in Visual Basic einstellen.

Sie können die Eigenschaft NewRowOrCol nur in der Entwurfsansicht eines Formulars oder der Entwurfsansicht eines Berichts einstellen.

Hinweis

Die folgenden Einträge sind Beispieleinstellungen für einen Gruppenkopfbereich eines mehrspaltigen Berichts. Im Dialogfeld Seite einrichten muß auf der Registerkarte Spalten unter Spaltenlayout das Opionsfeld Nach unten, dann quer aktiviert sein.

Beispieleinstellung	Ergebnis
Vor Bereich	Der Gruppenkopf wird ab dem Anfang einer neuen Spalte gedruckt.
Nach Bereich	Der Detailbereich wird ab dem Anfang einer neuen Spalte gedruckt.
Vor & Nach	Der Gruppenkopf wird in einer eigenen Spalte und der Detailbereich ab dem Anfang einer neuen Spalte gedruckt.
Bereiche eines Formulars oder Berichts werden normalerweise von oben nach unten auf einer Seite gedruckt. Die Standardeinstellung der Option Spaltenlayout lautet Quer, dann nach unten. Sollen die Bereiche in mehreren Spalten auf einer Seite gedruckt werden, klicken Sie im Dialogfeld Seite einrichten auf der Registerkarte Spalten unter Spaltenlayout auf Nach unten, dann quer.

Wenn Sie die Eigenschaft NewRowOrCol auf Vor Bereich einstellen, wirkt sich die Ausrichtung der Seite (Hoch- oder Querformat) darauf aus, wie der Bereich gedruckt wird. Wenn Sie im Dialogfeld Seite einrichten in der Registerkarte Spalten unter Spaltenlayout auf Quer, dann nach unten klicken, beginnt Microsoft Access mit dem Drucken des Bereichs am Anfang einer neuen Zeile. Wenn Sie auf Nach unten, dann quer klicken, beginnt Microsoft Access mit dem Drucken des Bereichs am Anfang einer neuen Spalte.


NewRowOrCol-Eigenschaft (NeueZeileOderSpalte) - Beispiel

Im folgenden Beispiel wird die Einstellung der Eigenschaft NewRowOrCol der Variablen intWertLesen zugewiesen.

Dim intWertLesen As Integer

intWertLesen = Me.Section(1).NewRowOrCol

Im nächsten Beispiel werden zwei Layouts eines Berichts vorgestellt. In beiden Layouts werden die Daten in 4 Gruppen unterteilt (Kopf1 bis Kopf4). Jede Gruppe besteht aus 3 bis 6 Datensätzen, und jeder Datensatz besteht aus den Feldern a und b. Die beiden Layouts unterscheiden sich nur in der Einstellung der Option Spaltenlayout (im Dialogfeld Seite einrichten auf der Registerkarte Spalten) und in den Werten ihrer Eigenschaft NewRowOrCol. Auf der Registerkarte Spalten muß unter Spaltengröße das Feld Breite auf die tatsächliche Breite des Feldes eingestellt sein. Weil die Eigenschaft NewRowOrCol auf Vor Bereich eingestellt ist, muß außerdem der Seitenkopfbereich größer als 0 sein. Nur dann ist gewährleistet, daß die Einstellung Nach unten, dann quer einwandfrei funktioniert.

• Spaltenlayout - Quer, dann nach unten • Rastereinstellungen - Spaltenanzahl auf 4 eingestellt • NewRowOrCol-Eigenschafteneinstellung für Gruppenkopfbereich - Vor & Nach Kopf1 1a 1b 2a 2b 3a 3b 4a 4b 5a 5b Kopf2 1a 1b 2a 2b 3a 3b 4a 4b Kopf3 1a 1b 2a 2b 3a 3b Kopf4 1a 1b 2a 2b 3a 3b 4a 4b 5a 5b 6a 6b	• Spaltenlayout - Nach unten, dann quer • Rastereinstellungen - Spaltenanzahl auf 4 eingestellt • NewRowOrCol-Eigenschafteneinstellung für Gruppenkopfbereich - Vor Bereich Kopf1 Kopf2 Kopf3 Kopf4 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-Eigenschaft (Seite, Seiten)

Mit den Eigenschaften Page und Pages  können Sie Informationen zurückgeben, die benötigt werden, um auf einem Formular oder Bericht Seitenzahlen zu drucken. Sie können diese Eigenschaften z.B.  verwenden, um im Seitenfuß eines Berichts "Seite n von nn" zu drucken.

•	Die Eigenschaft Page gibt die aktuelle Seitenzahl an, wenn ein Formular oder ein Bericht gedruckt wird.

•	Die Eigenschaft Pages gibt die Gesamtzahl der Seiten eines Formulars oder Berichts an.

Einstellung

Sie können die Eigenschaft Page zwar auf einen Wert des Typs Integer einstellen, verwenden diese Eigenschaft aber normalerweise, um Informationen zu den Seitenzahlen zurückzugeben. Beide Eigenschaften geben einen Integer-Wert zurück, wenn sie in einem Ausdruck verwendet werden.

Sie können die Eigenschaften Page und Pages in einem Ausdruck, in einem Makro oder in Visual Basic verwenden.

Diese Eigenschaften sind nur in der Seitenansicht oder beim Drucken verfügbar.

Die Eigenschaft Pages ist immer schreibgeschützt.

Hinweis

Damit Sie in einem Makro oder in Visual Basic auf die Eigenschaft Pages verweisen können, muß das Formular oder der Bericht ein Textfeld enthalten, dessen Eigenschaft ControlSource auf einen Ausdruck eingestellt ist, in dem Pages verwendet wird. Beispielsweise können Sie die Eigenschaft ControlSource für ein Textfeld, das sich in einem Seitenfuß befindet, auf einen der folgenden Ausdrücke einstellen.

Ausdruck	Es wird gedruckt
=Seite	Eine Seitenzahl (z.B. 1, 2, 3) im Seitenfuß.
="Seite " & Seite & " von " & Seiten	"Seite n von nn" (z.B. Seite 1 von 5, Seite 2 von 5) im Seitenfuß.
=Seiten	Die Gesamtzahl der Seiten des Formulars oder Berichts (z.B. 5).


Page-, Pages-Eigenschaft (Seite, Seiten) - Beispiel

Im folgenden Beispiel wird eine Meldung angezeigt, die mitteilt, wie viele Seiten der Bericht umfaßt. Damit dieses Beispiel funktionieren kann, muß der Bericht ein Textfeld enthalten, dessen Eigenschaft ControlSource auf den Ausdruck =Seiten eingestellt ist. Kopieren Sie den folgenden Code in die Page-Ereignisprozedur des Berichts Alphabetische Artikelliste, um dieses Beispiel zu testen.

Dim intSeitenGesamt As Integer, strMldg As String

intSeitenGesamt = Me.Pages

strMldg = "Dieser Bericht hat " & intSeitenGesamt & " Seiten."

MsgBox strMldg


PageHeader-, PageFooter-Eigenschaft (Seitenkopf, Seitenfuß)

Mit den Eigenschaften PageHeader und PageFooter können Sie angeben, ob der Seitenkopf bzw. Seitenfuß eines Berichts auf derselben Seite gedruckt werden soll wie der Berichtskopf bzw. der Berichtsfuß. Wenn der Berichtskopf eines Berichts ein Deckblatt ist, können Sie z.B. verhindern, daß auf der ersten Seite des Berichts ein Seitenkopf gedruckt wird, der eine Seitenzahl enthält.

Einstellung

Die Eigenschaften PageHeader und PageFooter verwenden die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Alle Seiten	(Standardeinstellung) Der Seitenkopf oder -fuß wird auf allen Seiten des Berichts gedruckt.	0
Außer Berichtskopf	Der Seitenkopf oder -fuß wird nicht auf derselben Seite wie der Berichtskopf gedruckt. Microsoft Access druckt den Berichtskopf auf einer neuen Seite.	1
Außer Berichtsfuß	Der Seitenkopf oder -fuß wird nicht auf derselben Seite wie der Berichtsfuß gedruckt. Microsoft Access druckt den Berichtsfuß auf einer neuen Seite.	2
Außer Berichtskopf/-fuß	Der Seitenkopf oder -fuß wird nicht auf einer Seite gedruckt, die einen Berichtskopf oder Berichtsfuß hat. Microsoft Access druckt den Berichtskopf oder -fuß auf einer neuen Seite.	3
Sie können diese Eigenschaft im Eigenschaftenfenster des Berichts, in einem Makro oder in Visual Basic einstellen.

Sie können die Eigenschaften PageHeader und PageFooter nur in der Entwurfsansicht eines Berichts einstellen.

Hinweis

Microsoft Access druckt den Seitenkopf oder Seitenfuß eines Berichts normalerweise auf jeder Seite des Berichts (einschließlich der ersten und der letzten Seite).

Klicken Sie in der Entwurfsansicht eines Berichts im Menü Ansicht auf Seitenkopf/-fuß, um den Seitenkopf- und den Seitenfußbereich anzuzeigen.

Anmerkung   Beim Drucken von Formularen werden Seitenköpfe und Seitenfüße immer auf allen Seiten gedruckt.


PageHeader-, PageFooter-Eigenschaft (Seitenkopf, Seitenfuß) - Beispiel

Im folgenden Beispiel wird die Eigenschaft PageHeader eines Berichts auf Außer Berichtskopf eingestellt. Sie können dieses Beispiel ausführen, indem Sie folgende Zeile für einen Bericht namens Bericht1 in das Testfenster eingeben.

Reports!Bericht1.PageHeader = 1


FastLaserPrinting-Eigenschaft (SchnellerLaserdruck)

Mit der Eigenschaft FastLaserPrinting können Sie angeben, ob Linien und Rechtecke durch Linien aus Textzeichen (vergleichbar mit den Zeichen Unterstrich (_) und vertikaler Strich (|)) ersetzt werden, wenn Sie ein Formular oder einen Bericht mit einem der gängigen Laserdrucker drucken. Das Drucken kann erheblich schneller erfolgen, wenn Linien und Rechtecke durch Linien aus Textzeichen ersetzt werden.

Einstellungen

Die Eigenschaft FastLaserPrinting kann eine der folgenden Einstellungen annehmen.

Einstellung	Beschreibung	Visual Basic
Ja	(Standardeinstellung) Linien und Rechtecke werden durch Linien aus Textzeichen ersetzt.	True (–1)
Nein	Linien und Rechtecke werden nicht durch Linien aus Textzeichen ersetzt.	False (0)
Sie können diese Eigenschaft im Eigenschaftenfenster eines Formulars oder Berichts, in einem Makro oder in Visual Basic einstellen.

Hinweis

Die Eigenschaft FastLaserPrinting (SchnellerLaserdruck) betrifft sowohl jede Linie und jedes Rechteck auf einem Formular oder Bericht als auch die Steuerelemente, die Linien oder Rechtecke enthalten (z.B. ein Rahmen um ein Textfeld).

Anmerkung   Diese Eigenschaft wirkt sich nicht auf PostScript-Drucker, Nadeldrucker oder frühere Versionen von Laserdruckern aus, die keine Linien aus Textzeichen unterstützen.

Wenn diese Eigenschaft auf Ja eingestellt ist und das zu druckende Formular oder der zu druckende Bericht überlappende Rechtecke oder Linien enthält, werden die überlappten Rechtecke oder Linien nicht durch die überlappenden Rechtecken oder Linien gelöscht. Wenn Sie auf einem Bericht überlappende Grafiken benötigen, müssen Sie die Eigenschaft FastLaserPrinting auf Nein einstellen.


FastLaserPrinting-Eigenschaft (SchnellerLaserdruck) - Beispiel

Im folgenden Beispiel wird gezeigt, wie die Eigenschaft FastLaserPrinting des Berichts Rechnung eingestellt wird, wobei der Bericht in der Entwurfsansicht geöffnet ist:

DoCmd.OpenReport "Rechnung", acDesign

Reports!Invoice.FastLaserPrinting = True

DoCmd.Close acReport, "Rechnung", acSaveYes


FormatCount-Eigenschaft

Mit der Eigenschaft FormatCount können Sie ermitteln, wie oft die Eigenschaft OnFormat (BeimFormatieren) des aktuellen Bereichs eines Berichts ausgewertet wurde.

Einstellung

Sie können diese Eigenschaft nur in dem Makro oder in der Visual Basic-Ereignisprozedur verwenden, auf das bzw. die die Eigenschaft OnFormat (BeimFormatieren) eines Bereichs eingestellt ist.

Der Wert, auf den die Eigenschaft FormatCount eingestellt ist, hat den Datentyp Long.

Diese Eigenschft ist in der Entwurfsansicht eines Berichts nicht verfügbar und in den anderen Ansichten schreibgeschützt.

Hinweis

Microsoft Access erhöht die Eigenschaft FormatCount immer dann um 1, wenn die Einstellung der Eigenschaft OnFormat des aktuellen Bereichs ausgewertet wird. Sobald der nächste Bereich formatiert wird, setzt Microsoft Access die Eigenschaft FormatCount auf 1 zurück.

Es gibt Situationen, in denen Microsoft Access einen Bereich mehrmals formatiert. Angenommen, Sie haben einen Bericht entworfen, bei dem die Eigenschaft KeepTogether (Zusammenhalten) des Detailbereichs auf Ja eingestellt ist. Sobald Microsoft Access den Fuß der Seite erreicht hat, formatiert es einmal den aktuellen Detailbereich, um festzustellen, ob genügend Platz für den Detailbereich vorhanden ist. Ist dies nicht der Fall, wechselt Microsoft Access zur nächsten Seite und formatiert den Detailbereich erneut. In diesem Fall wird die Eigenschaft FormatCount des Detailbereichs auf 2 eingestellt, da der Bereich zweimal formatiert wurde, bevor er gedruckt wurde.

Mit der Eigenschaft FormatCount können Sie dafür sorgen, daß ein zeitaufwendiger Vorgang, der sich auf die Formatierung auswirkt, nur einmal für einen Bereich ausgeführt wird. Im folgenden Beispiel wird die Funktion DLookup nur ausgewertet, wenn die Eigenschaft FormatCount auf 1 eingestellt ist:

Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)

Const conFett = 700

Const conNormal = 400

If FormatCount = 1 Then

If DLookup("Firma", _

"Kunden", "[Kunden-Code] = Reports!" _

& "[Kundenetiketten]![Kunden-Code]") _

Like "B*" Then

FirmaLinie.FontWeight = conFett

Else

FirmaLinie.FontWeight = conNormal

End If

End If

End Sub


MoveLayout-, NextRecord-, PrintSection-Eigenschaften

Sie können die Einstellungen dieser Eigenschaften in Visual Basic kombinieren, um das Layout eines Berichts anzugeben oder zu ändern, wenn der Bericht in der Seitenansicht angezeigt, gedruckt oder in einer Datei gespeichert wird:

•	Die Eigenschaft MoveLayout gibt an, ob Microsoft Access zur nächsten Druckposition der Seite wechseln soll.

•	Die Eigenschaft NextRecord gibt an, ob ein Bereich zum nächsten Datensatz wechseln soll.

•	Die Eigenschaft PrintSection gibt an, ob ein Bereich gedruckt werden soll.

Einstellungen

Die Eigenschaft MoveLayout kann eine der folgenden Einstellungen annehmen.

Einstellung	Beschreibung
True (–1)	(Standardeinstellung) Die Eigenschaften Left und Top des Bereichs werden auf die Werte der nächsten Druckposition eingestellt.
False (0)	Die Einstellungen der Eigenschaften Left und Top des Bereichs werden nicht geändert.
Die Eigenschaft NextRecord kann eine der folgenden Einstellungen annehmen.

Einstellung	Beschreibung
True	(Standardeinstellung) Der Bereich wechselt zum nächsten Datensatz.
False	Der Bereich wechselt nicht zum nächsten Datensatz.
Die Eigenschaft PrintSection kann eine der folgenden Einstellungen annehmen.

Einstellung	Beschreibung
True	(Standardeinstellung) Der Bereich wird gedruckt.
False	Der Bereich wird nicht gedruckt.
Sie stellen diese Eigenschaften ein, indem Sie für die Eigenschaft OnFormat (BeimFormatieren) eines Bereichs ein Makro oder eine Ereignisprozedur angeben.

Microsoft Access stellt diese Eigenschaften für jeden Bereich vor dessen Ereignis Format auf True ein.

Hinweis

Diese Eigenschaften sind hilfreich, wenn Sie einen Bericht als Vorlage verwenden möchten, in den Sie während des Druckens Daten aus einem Makro oder aus Visual Basic schreiben.

In der folgenden Tabelle sind die Ergebnisse beschrieben, die aus unterschiedlichen Kombinationen der Einstellungen dieser Eigenschaften folgen.

MoveLayout	NextRecord	PrintSection	Beschreibung
True	True	True	(Standardeinstellung) Wechseln zur nächsten Druckposition, Lesen des nächsten Datensatzes und Drucken der Daten.
True	False	True	Wechseln zur nächsten Druckposition, kein Lesen des nächsten Datensatzes, aber Drucken der Daten. Diese Kombination wird üblicherweise dann verwendet, wenn die Daten eines Bereichs mehr Platz beanspruchen, als ihnen vom Layout her zusteht, und wenn Sie möchten, daß die restlichen Daten dort gedruckt werden, wo sonst der nächste Bereich gedruckt würden.
False	True	False	Überspringen eines Datensatzes, ohne einen leeren Abschnitt auf der Seite zu belassen.
True	True	False	Überspringen eines Datensatzes und Belassen eines leeren Abschnitts auf der Seite.
True	False	False	Belassen eines leeren Abschnitts, ohne einen Datensatz zu überspringen.
False	True	True	Drucken des aktuellen Datensatzes als Überdeckung über den letzten Datensatz.
False	False	True	Nicht zulässig.
False	False	False	Nicht zulässig.


PrintCount-Eigenschaft

Mit der Eigenschaft PrintCount können Sie ermitteln, wie oft die Eigenschaft OnPrint (BeimDrucken) des aktuellen Bereichs eines Berichts ausgewertet wurde.

Einstellung

Sie können diese Eigenschaft nur in dem Makro oder in der Visual Basic-Ereignisprozedur verwenden, auf das bzw. die die Eigenschaft OnFormat (BeimFormatieren) eines Bereichs eingestellt ist.

Der Wert, auf den die Eigenschaft PrintCount eingestellt ist, hat den Datentyp Long.

Diese Eigenschft ist in der Entwurfsansicht eines Berichts nicht verfügbar und in den anderen Ansichten schreibgeschützt.

Hinweis

Microsoft Access erhöht die Eigenschaft PrintCount immer dann um 1, wenn die Einstellung der Eigenschaft OnPrint des aktuellen Bereichs ausgewertet wird. Sobald der nächste Bereich gedruckt wird, setzt Microsoft Access die Eigenschaft PrintCount auf 0 zurück.

Die Eigenschaft PrintCount wird z.B. um 1 erhöht, wenn die Eigenschaft KeepTogether (Zusammenhalten) des aktuellen Bereichs auf Nein eingestellt ist und der Bereich auf mehreren Seiten gedruckt wird. Wenn Sie z.B. einen Bericht drucken, der Bestellinformationen enthält, könnten Sie die laufende Summe der Bestellbeträge ermitteln. Im folgenden Beispiel ist gezeigt, wie Sie mit der Eigenschaft PrintCount dafür sorgen können, daß der Wert, der im Steuerelement Bestellbetrag steht, nur jeweils einmal zu der laufenden Summe addiert wird:

Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)

If PrintCount = 1 Then

LaufendeSumme = LaufendeSumme + Bestellbetrag

End If

End Sub

In diesem Beispiel kann LaufendeSumme eine öffentliche Variable oder der Name eines ungebundenen Steuerelements sein, die bzw. das jedesmal, wenn ein Bereich gedruckt wird, um 1 erhöht wird.


PrtDevMode-Eigenschaft

Mit der Eigenschaft PrtDevMode können Sie Informationen zum Modus des Druckgeräts festlegen oder zurückgeben, die für ein Formular oder einen Bericht im Dialogfeld Drucken angegeben sind.

Anmerkung   Es ist dringend angeraten, daß Sie im Win32 Software Development Kit nachschlagen, um sich die vollständige Dokumentation der Eigenschaften PrtDevMode, PrtDevNames und PrtMip anzusehen.

Einstellung

Die Einstellung der Eigenschaft PrtDevMode ist eine 94 Bytes lange Struktur, die die Struktur DEVMODE spiegelt, die im Win32 Software Development Kit definiert ist. Ausführliche Informationen zu den Elementen der Eigenschaft PrtDevMode finden Sie im Win32 Software Development Kit..

Die Eigenschaft PrtDevMode besteht aus den folgenden Elementen.

Element	Beschreibung
DeviceName	Eine Zeichenfolge, die bis zu 32 Bytes lang ist und den Namen des Gerätes angibt, das der Treiber unterstützt (z.B. "HP LaserJet IIISi", wenn der Hewlett-Packard LaserJet IIISi der angegebene Drucker ist). Jeder Druckertreiber hat eine eindeutige Zeichenfolge.
SpecVersion	Ein Integer-Wert, der die Versionsnummer angibt, die die Struktur DEVMODE im Win32 Software Development Kit hat.
DriverVersion	Ein Integer-Wert, der die Versionsnummer des Druckertreibers angibt, die vom Entwickler des Druckertreibers zugewiesen wurde.
Size	Ein Integer-Wert, der in Bytes die Größe der Struktur DEVMODE angibt. (Dieser Wert enthält nicht das optionale Element dmDriverData für gerätespezifische Daten, das auf diese Struktur folgen kann.) Wenn eine Anwendung nur den treiberunabhängigen Teil der Daten verarbeitet, können Sie mit Hilfe dieses Elements die Länge dieser Struktur ermitteln, ohne unterschiedliche Versionen berücksichtigen zu müssen.
DriverExtra	Ein Integer-Wert, der in Bytes die Größe des optionalen Elements dmDriverData für gerätespezifische Daten angibt, das auf diese Struktur folgen kann. Verwendet eine Anwendung keine gerätespezifischen Informationen, stellen Sie dieses Element auf 0 ein.
Fields	Ein Long-Wert, der angibt, welche der restlichen Elemente der Struktur DEVMODE initialisiert wurden. Dieser Wert kann eine beliebige Kombination bestimmter Konstanten oder ein unbestimmter Wert sein. Welche Konstanten verfügbar sind, finden Sie unter Konstanten für das Element Fields.
Orientation	Ein Integer-Wert, der die Ausrichtung des Papiers angibt, entweder 1 (Hochformat) oder 2 (Querformat).
PaperSize	Ein Integer-Wert, der die Größe des Papiers angibt, auf dem gedruckt wird. Wenn Sie dieses Element auf 0 oder 256 einstellen, werden die Länge und Breite des Papiers von den Elementen PaperLength bzw. PaperWidth angegeben. Andernfalls können Sie das Element PaperSize auf einen vordefinierten Wert einstellen. Die verfügbaren Werte finden Sie unter Werte für das Element PaperSize.
PaperLength	Ein Integer-Wert, der die Papierlänge in Einheiten von 1/10 Millimetern angibt. Dieses Element setzt die Papierlänge außer Kraft, die vom Element PaperSize für benutzerdefinierte Papiergrößen oder für Geräte, wie z.B. Nadeldrucker, angegeben ist, die auf Papier unterschiedlicher Größe drucken können.
PaperWidth	Ein Integer-Wert, der die Papierbreite in Einheiten von 1/10 Millimetern angibt. Dieses Element setzt die Papierbreite außer Kraft, die vom Element PaperSize angegeben wird.
Scale	Ein Integer-Wert, der den Faktor angibt, um den die gedruckte Ausgabe maßstäblich verkleinert oder vergrößert wird. Die scheinbare Seitengröße ergibt sich aus der physikalischen Seitengröße multipliziert mit dem Faktor Scale/100. Z.B. würde ein Stück Papier, das 210 x 297 mm (DIN A4) mißt, bei einem Scale-Wert von 50 so viele Daten enthalten wie eine Seite, die 420 x 594 mm mißt, da die Ausgabetexte und -grafiken mit der halben Originalhöhe und -breite gedruckt werden.
Copies	Ein Integer-Wert, der die Anzahl der zu druckenden Kopien angibt, sofern der Drucker wiederholte Kopien unterstützt.
DefaultSource	Ein Integer-Wert, der den Standardschacht angibt, aus dem das Papier zugeführt wird. Die verfügbaren Werte finden Sie unter Werte für das Element DefaultSource.
PrintQuality	Ein Integer-Wert, der die Druckerauflösung angibt. Die möglichen Werte sind -4 (hoch), -3 (mittel), -2 (niedrig) und -1 (Entwurf).
Color	Ein Integer-Wert, der für einen Farbdrucker angibt, ob die Ausgabe in Farbe gedruckt wird. Die möglichen Werte sind 1 (Farbe) und 2 (monochrom).
Duplex	Ein Integer-Wert, der für einen Drucker, der doppelseitig drucken kann, angibt, ob die Ausgabe auf beiden Papierseiten gedruckt wird. Die möglichen Werte sind 1 (einfach), 2 (horizontal) und 3 (vertikal).
YResolution	Ein Integer-Wert, der die y-Auflösung des Druckers in Punkten pro Zoll (Dots Per Inch = DPI) angibt. Wenn der Drucker dieses Element initialisiert, legt das Element PrintQuality die x-Auflösung des Druckers in DPI fest.
TTOption	Ein Integer-Wert, der angibt, wie TrueType-Schriftarten gedruckt werden. Die verfügbaren Werte finden Sie unter Werte für das Element TTOption.
Collate	Ein Integer-Wert, der angibt, ob mit Sortierung gearbeitet werden soll, wenn mehrere Kopien gedruckt werden. Unsortierte Kopien können schneller und effizienter gedruckt werden, da die Daten nur einmal zum Drucker gesendet werden.
FormName	Eine Zeichenfolge aus maximal 16 Zeichen, die die Größe des zu verwendenden Papiers angibt, z.B. "US-Letter" oder "A4".
Pad	Ein Long-Wert, der verwendet wird, um Lücken, Zeichen oder Werte für zukünftige Versionen aufzufüllen.
Bits	Ein Long-Wert, der die Farbauflösung des Anzeigegeräts in Bits pro Pixel angibt.
PW	Ein Long-Wert, der die Breite der sichtbaren Geräteoberfläche (Bildschirm oder Drucker) in Pixeln angibt.
PH	Ein Long-Wert, der die Höhe der sichtbaren Geräteoberfläche (Bildschirm oder Drucker) in Pixeln angibt.
DFI	Ein Long-Wert, der den Anzeigemodus des Geräts angibt.
DFR	Ein Long-Wert, der für einen bestimmten Modus die Frequenz des Anzeigegeräts in Hertz (Bildwiederholungen pro Sekunde) angibt.
Sie können die Eigenschaft PrtDevMode in Visual Basic einstellen.

Die Einstellung dieser Eigenschaft kann in der Entwurfsansicht gelesen und geschrieben werden. In den anderen Ansichten ist sie schreibgeschützt.

Vorsicht   Es gibt Druckertreiber, die unmittelbar hinter der Struktur DEVMODE gerätespezifische Daten einfügen. Daher muß sichergestellt sein, daß die oben beschriebenen DEVMODE-Daten nicht mehr als 94 Bytes umfassen.

Hinweis

Die Struktur DEVMODE wird nur von Druckern verwendet, die die Funktion ExtDeviceMode exportieren.

Aus einer Anwendung können die von einem Drucker unterstützten Papiergrößen und -bezeichnungen abgerufen werden, indem die Funktion DeviceCapabilities mit den Werten DC_PAPERS, DC_PAPERSIZE und DC_PAPERNAMES aufgerufen wird.

Bevor aus einer Anwendung das Element TTOption eingestellt wird, sollte die Anwendung die Funktion DeviceCapabilities mit dem Wert DC_TRUETYPE aufrufen, um zu ermitteln, wie der jeweilige Druckertreiber TrueType-Schriftarten verwenden kann.


Konstanten für das Element Fields

Ein Druckertreiber unterstützt nur solche Elemente, die für die technischen Fähigkeiten des jeweiligen Druckers geeignet sind.

Konstante	Wert
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


Werte für das Element PaperSize

Wert	Papiergröße
1	US-Letter (8,5 x 11 Zoll)
2	US-Letter klein (8,5 x 11 Zoll)
3	US-Tabloid (11 x 17 Zoll)
4	US-Ledger (17 x 11 Zoll)
5	US-Legal (8,5 x 14 Zoll)
6	US-Statement (5,5 x 8,5 Zoll)
7	US-Exec. (7,25 x 10,5 Zoll)
8	A3 (297 x 420 mm)
9	A4 (210 x 297 mm)
10	A4 klein (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 Zoll)
15	Quarto (215 x 275 mm)
16	11 x 17 Zoll
18	Note (8,5 x 11 Zoll)
19	Briefumschlag #9 (3,875 x 8,875 Zoll)
20	Briefumschlag #10 (4,125 x 9,5 Zoll)
21	Briefumschlag #11 (4,5 x 10,375 Zoll)
22	Briefumschlag #12 (4,25 x 11 Zoll)
23	Briefumschlag #14 (5 x 11,5 Zoll)
24	Blatt in Größe C (17 x 22 Zoll)
25	Blatt in Größe D (22 x 34 Zoll)
26	Blatt in Größe E (34 x 44 Zoll)
27	Briefumschlag DL (110 x 220 mm)
28	Briefumschlag C5 (162 x 229 mm)
29	Briefumschlag C3 (324 x 458 mm)
30	Briefumschlag C4 (229 x 324 mm)
31	Briefumschlag C6 (114 x 162 mm)
32	Briefumschlag C65 (114 x 229 mm)
33	Briefumschlag B4 (250 x 353 mm)
34	Briefumschlag B5 (176 x 250 mm
35	Briefumschlag B6 (176 x 125 mm)
36	Briefumschlag (110 x 230 mm)
37	Briefumschlag Monarch (3,875 x 7,5 Zoll)
38	Briefumschlag 6-3/4 (3,625 x 6,5 Zoll)
39	US Std Endlospapier (14,875 x 11 Zoll)
40	Deutsch Std Endlospapier (8,5 x 12 Zoll)
41	Deutsch Legal Endlospapier (8,5 x 13 Zoll)
256	Benutzerdefiniert


Werte für das Element DefaultSource

Wert	Bedeutung
1	Oberer Schacht oder nur ein Schacht
2	Unterer Schacht
3	Mittlerer Schacht
4	Manueller Einzug
5	Schacht für Briefumschläge
6	Manueller Einzug für Briefumschläge
7	Automatischer Einzug
8	Traktoreinzug
9	Schacht für kleine Formate
10	Schacht für große Formate
11	Schacht mit großer Kapazität
14	Kassettenschacht
256	Ab hier gerätespezifische Schächte/Einzüge


Werte für das Element TTOption

Wert	Bedeutung
1	TrueType-Schriftarten werden als Grafik gedruckt. Dies ist die Standardeinstellung für Nadeldrucker.
2	TrueType-Schriftarten werden als ladbare Schriftarten (Schriftarten, die zur Aufbereitung in den Arbeitsspeicher des Druckers geladen werden) heruntergeladen. Dies ist die Standardeinstellung für Hewlett-Packard-Drucker, die mit PCL (Printer Control Language) arbeiten.
3	TrueType-Schriftarten werden durch Geräteschriftarten ersetzt. Dies ist die Standardeinstellung für PostScript-Drucker.


PrtDevMode-Eigenschaft - Beispiel

Im folgenden Beispiel wird die Eigenschaft PrtDevMode verwendet, um für einen Bericht die benutzerdefinierte Seitengröße zu prüfen:

Type str_DEVMODE

strGZF 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 BenutzerdefinierteSeitePrüfen(rptName As String)

Dim GeräteZF As str_DEVMODE

Dim DM As type_DEVMODE

Dim strGerätemodus As String

Dim rpt As Report

Dim intAntwort As Integer

' Den Bericht in der Entwurfsansicht öffnen.

DoCmd.OpenReport rptName, acDesign

Set rpt = Reports(rptName)

If Not IsNull(rpt.PrtDevMode) Then

strGerätemodus = rpt.PrtDevMode   ' Die Struktur DEVMODE lesen.

GeräteZF.strGZF = strGerätemodus

LSet DM = GeräteZF

If DM.intPaperSize = 256 Then

' Die benutzerdefinierte Seitengröße anzeigen.

intAntwort = MsgBox("Die aktuelle benutzerdefinierte Seite hat folgende Maße: " _

& "Länge " & DM.intPaperLength / 100 & " cm, " _

& "Breite " & DM.intPaperWidth / 100 & " cm. " _

& "Möchten Sie diese Einstellungen ändern?", 4)

Else

' Die Maße sind momentan nicht benutzerdefiniert.

intAntwort = MsgBox("Der Bericht hat keine benutzerdefinierte Seitengröße. " _

& "Möchten Sie eine definieren?", 4)

End If

If intAntwort = 6 Then

' Der Benutzer möchte die Einstellungen ändern.

' Das Element Fields initialisieren.

DM.lngFields = DM.lngFields Or DM.intPaperSize Or DM.intPaperLength _

Or DM.intPaperWidth

DM.intPaperSize = 256	' Benutzerdefinierte Seite.

' Die Länge und die Breite abfragen.

DM.intPaperLength = InputBox("Geben Sie die Seitenlänge " _

& "in cm ein.") * 100

DM.intPaperWidth = InputBox("Geben Sie die Seitenbreite " _

& "in cm ein.") * 100

LSet GeräteZF = DM	' Die Eigenschaft aktualisieren.

Mid(strGerätemodus, 1, 94) = GeräteZF.strGZF

rpt.PrtDevMode = strGerätemodus

End If

End If

End Sub

Das folgende Beispiel zeigt, wie die Ausrichtung eines Berichtes geändert werden kann. In diesem Beispiel wird die Ausrichtung von Hochformat in Querformat oder von Querformat in Hochformat geändert (je nach momentaner Ausrichtung des Berichtes).

Sub AusrichtungWechseln(strName As String)

Const DM_HOCHFORMAT = 1

Const DM_QUERFORMAT = 2

Dim GeräteZF As str_DEVMODE

Dim DM As type_DEVMODE

Dim strGerätemodus As String

Dim rpt As Report

DoCmd.OpenReport strName, acDesign	' Den Bericht in der Entwurfsansicht öffnen.

Set rpt = Reports(strName)

If Not IsNull(rpt.PrtDevMode) Then

strGerätemodus = rpt.PrtDevMode

GeräteZF.strGZF = strGerätemodus

LSet DM = GeräteZF

DM.lngFields = DM.lngFields Or DM.intOrientation	' Das Element Fields initialisieren.

If DM.intOrientation = DM_HOCHFORMAT Then

DM.intOrientation = DM_QUERFORMAT

Else

DM.intOrientation = DM_HOCHFORMAT

End If

LSet GeräteZF = DM	' Die Eigenschaft aktualisieren.

Mid(strGerätemodus, 1, 94) = GeräteZF.strGZF

rpt.PrtDevMode = strGerätemodus

End If

End Sub


PrtDevNames-Eigenschaft

Mit der Eigenschaft PrtDevNames können Sie Informationen zu dem Drucker einstellen oder zurückgeben, der im Dialogfeld Drucken für ein Formular oder einen Bericht ausgewählt ist.

Anmerkung   Es ist dringend angeraten, daß Sie im Win32 Software Development Kit nachschlagen, um sich die vollständige Dokumentation der Eigenschaften PrtDevMode, PrtDevNames und PrtMip anzusehen.

Einstellung

Die Eigenschaft PrtDevNames ist eine Struktur variabler Länge, die die Struktur DEVNAMES spiegelt, die im Win32 Software Development definiert ist.

Die Eigenschaft PrtDevNames besteht aus den folgenden Elementen.

Element	Beschreibung
DriverOffset	Gibt den Versatz (Offset) an, der zwischen dem Beginn der Struktur und einer Zeichenfolge liegt, die durch den Wert Null begrenzt ist und den Dateinamen (ohne Erweiterung) des Gerätetreibers angibt. Mit dieser Zeichenfolge wird angegeben, welcher Drucker zunächst im Dialogfeld Drucken angezeigt wird.
DeviceOffset	Gibt den Versatz an, der zwischen dem Beginn der Struktur und einer Zeichenfolge liegt, die durch den Wert Null begrenzt ist und den Namen des Gerätes angibt. Diese Zeichenfolge kann maximal 32 Bytes lang sein (das Null-Zeichen eingeschlossen) und muß mit dem Element DeviceName der Struktur DEVMODE übereinstimmen.
OutputOffset	Gibt den Versatz an, der zwischen dem Beginn der Struktur und einer Zeichenfolge liegt, die durch den Wert Null begrenzt ist und für das physikalische Ausgabemedium (Ausgabekanal) den MS-DOS-Namen des Geräts angibt, z.B. "LPT1:".
Default	Gibt an, ob die in der Struktur DEVNAMES angegebenen Zeichenfolgen den Standarddrucker kennzeichnen. Ist Default auf 1 eingestellt und stimmen alle Werte der Struktur DEVNAMES mit denen des aktuellen Standarddruckers überein, wird der ausgewählte Drucker, bevor das Dialogfeld Drucken angezeigt wird, auf den Standarddrucker eingestellt. Default wird auf 1 eingestellt, wenn der aktuelle Standarddrucker ausgewählt wurde.
Wenn Sie im Dialogfeld Drucken im Bereich Drucker eine Option auswählen, stellt Microsoft Access die Eigenschaft PrtDevNames ein. Sie können diese Eigenschaft auch in Visual Basic einstellen.

Hinweis

Microsoft Access verwendet die Struktur DEVNAMES dazu, das Dialogfeld Drucken zu initialisieren. Wenn der Benutzer auf OK klickt, um das Dialogfeld zu schließen, werden die Informationen über den ausgewählten Drucker in der Eigenschaft PrtDevNames zurückgegeben.


PrtMip-Eigenschaft

Sie können die Eigenschaft PrtMip in Visual Basic verwenden, um die Informationen zum Gerätemodus einzustellen oder zurückzugeben, die für ein Formular oder für einen Bericht im Dialogfeld Drucken angegeben sind.

Einstellung

Die Einstellung der Eigenschaft PrtMip ist eine 28 Bytes lange Struktur, die Einstellungen enthält, die im Dialogfeld Seite einrichten auf der Registerkarte Ränder für ein Formular oder für einen Bericht gelten.

Die Eigenschaft PrtMip hat die folgenden Elemente.

Element	Beschreibung
LeftMargin, RightMargin, TopMargin, BottomMargin	Ein Integer-Wert, der in Twips den Abstand angibt, der zwischen dem Seitenrand und dem zu druckenden Element liegt.
DataOnly	Ein Integer-Wert, der die Elemente angibt, die gedruckt werden sollen. Ist dieser Wert gleich True (-1), werden nur die Daten gedruckt, die zu einer Tabelle oder Abfrage in der Datenblattansicht oder zu einem Formular oder Bericht gehören. Bezeichnungsfelder, die Rahmen der Steuerelemente, Rasterlinien und Grafikelemente, wie z.B. Linien und Kästchen, werden unterdrückt. Ist dieser Wert gleich False (0), werden Daten, Bezeichnungsfelder und Grafikelemente gedruckt.
ItemsAcross	Ein Integer-Wert, der für mehrspaltige Berichte oder Etiketten die Anzahl der Spalten pro Seite angibt. Dieses Element ist identisch mit dem Wert des Feldes Spaltenanzahl (im Dialogfeld Seite einrichten auf der Registerkarte Spalten unter Rastereinstellungen).
RowSpacing	Ein Integer-Wert, der in Einheiten von 1/20 Punkt den horizontalen Abstand angibt, der zwischen zwei Detailbereichen liegt.
ColumnSpacing	Ein Integer-Wert, der in Twips den vertikalen Abstand angibt, der zwischen zwei Detailbereichen liegt.
DefaultSize	Ein Integer-Wert. Ist dieser Wert gleich True, wird die Größe verwendet, die der Detailbereich in der Entwurfsansicht hat. Ist dieser Wert gleich False, werden die Werte verwendet, die von den Elementen ItemSizeWidth und ItemSizeHeight angegeben werden.
ItemSizeWidth	Ein Integer-Wert, der in Twips die Breite des Detailbereichs angibt. Dieses Element ist identisch mit dem Wert des Feldes Breite (im Dialogfeld Seite einrichten auf der Registerkarte Spalten unter Spaltengröße).
ItemSizeHeight	Ein Integer-Wert, der in Twips die Höhe des Detailbereichs angibt. Dieses Element ist identisch mit dem Wert des Feldes Höhe (im Dialogfeld Seite einrichten auf der Registerkarte Spalten unter Spaltengröße).
ItemLayout	Ein Integer-Wert, der für Spalten ein horizontales (1953) oder vertikales (1954) Layout angibt. Dieses Element ist identisch mit dem Wert von Quer, dann nach unten bzw. Nach unten, dann quer (im Dialogfeld Seite einrichten auf der Registerkarte Spalten unter Spaltenlayout).
FastPrint	Reserviert.
Datasheet	Reserviert.
Die Einstellung der Eigenschaft PrtMip kann in der Entwurfsansicht gelesen und geschrieben werden. In den anderen Ansichten ist sie schreibgeschützt.


PrtMip-Eigenschaft - Beispiel

Das folgende Beispiel zur Eigenschaft PrtMip verdeutlicht, wie ein Bericht mit zwei horizontalen Spalten eingerichtet wird.

Type str_PRTMIP

strGZF As String * 28

End Type

Type type_PRTMIP

intLeftMargin As Long

intTopMargin As Long

intRightMargin As Long

intBotMargin As Long

intDataOnly As Long

intWidth As Long

intHeight As Long

intDefaultSize As Long

intColumns As Long

intColumnSpacing As Long

intRowSpacing As Long

intItemLayout As Long

intFastPrint As Long

intDatasheet As Long

End Type

Sub PrtMipSpalten(strName As String)

Dim PrtMipZeichenfolge As str_PRTMIP

Dim PM As type_PRTMIP

Dim rpt As Report

Const PM_HORIZONTALESPALTEN = 1953

Const PM_VERTIKALESPALTEN = 1954

DoCmd.OpenReport strName, acDesign

Set rpt = Reports(strName)

PrtMipZeichenfolge.strGZF = rpt.PrtMip

LSet PM = PrtMipZeichenfolge

PM.intColumns = 2	' 2 Spalten erstellen.

PM.intRowSpacing = 0.25 * 1440	' 0,25 Zoll zwischen 2 Zeilen.

PM.intColumnSpacing = 0.5 * 1440	' 0,5 Zoll zwischen 2 Spalten.

PM.intItemLayout = PM_HORIZONTALESPALTEN

LSet PrtMipZeichenfolge = PM	' Die Eigenschaft aktualisieren.

rpt.PrtMip = PrtMipZeichenfolge.strGZF

End Sub

Das nächste Beispiel zur Eigenschaft PrtMip zeigt, wie alle Ränder auf 1 Zoll eingestellt werden können.

Sub RänderAufStandardEinstellen(strName As String)

Dim PrtMipZeichenfolge As str_PRTMIP

Dim PM As type_PRTMIP

Dim rpt As Report

DoCmd.OpenReport strName, acDesign

Set rpt = Reports(strName)

PrtMipZeichenfolge.strGZF = rpt.PrtMip

LSet PM = PrtMipZeichenfolge

PM.intLeftMargin = 1 * 1440	' Die Ränder einstellen.

PM.intTopMargin = 1 * 1440

PM.intRightMargin = 1 * 1440

PM.intBotMargin = 1 * 1440

LSet PrtMipZeichenfolge = PM	' Die Eigenschaft aktualisieren.

rpt.PrtMip = PrtMipZeichenfolge.strGZF

End Sub


Alias-Eigenschaft (Alias)

Sie können die Eigenschaft Alias zur Angabe eines benutzerdefinierten Namens für eine Eingabetabelle oder -abfrage verwenden, wenn Sie dieselbe Tabelle mehrmals in derselben Abfrage verwenden.

Anmerkung   Die Eigenschaft Alias betrifft nur Tabellen oder Abfragen, wenn diese als Datenquelle in einer Abfrage verwendet werden.

Einstellung

Sie stellen die Eigenschaft Alias mit Hilfe eines Zeichenfolgenausdrucks auf einen beliebigen Namen ein, der noch nicht in der Datenbank verwendet wird. Sie stellen diese Eigenschaft in der Abfrageentwurfsansicht ein, indem Sie mit der rechten Maustaste auf die Feldliste im Abfrageentwurfsbereich klicken und dann auf Eigenschaften klicken.

Sie stellen diese Eigenschaft Alias in der SQL-Ansicht des Abfragefensters mit Hilfe einer AS-Klausel in der SQL-Anweisung ein.

Hinweis

Bei der Erstellung einer Reflexivverknüpfung in einer SQL-Anweisung müssen Sie einen Alias verwenden.

Wenn Sie einer Abfrage eine Tabelle oder Abfrage hinzufügen, stellt Microsoft Access automatisch die Eigenschaft Alias auf den Namen der Tabelle oder Abfrage ein. Wird eine weitere Instanz derselben Tabelle oder Abfrage hizugefügt, so nimmt Microsoft Access die Einstellung der Eigenschaft Alias als Objektnamen und fügt einen Unterstrich und die Zahl 1 an ("_1").

Durch das Erstellen eines Alias wird nicht der Name der Tabelle oder Abfrage geändert. Es wird lediglich ein anderer Name angegeben, mit dem auch auf die Tabelle oder Abfrage verwiesen werden kann. Beispielsweise können Sie in einer Abfrage mit einer Reflexivverknüpfung, die Angestellte und deren Vorgesetzte zeigt, zwei Kopien der Tabelle Personal verwenden. Microsoft Access nennt die duplizierte Tabelle automatisch Personal_1. Sie können der Tabelle einen aussagekräftigeren Namen geben, indem Sie ihre Eigenschaft Alias auf Vorgesetzte einstellen.


Alias-Eigenschaft (Alias) - Beispiel

Das folgende Beispiel stellt die Eigenschaft RecordSource für ein Formular auf eine SQL-Anweisung ein, welche die AS-Klausel verwendet, um Vorgesetzte als Alias für die Tabelle Personal anzugeben.

Dim strSQLAbrufen AS String

strSQLAbrufen = "SELECT Personal.Vorname, Personal.Nachname, " _

& "Personal.Position, Vorgesetzte.Vorname, Vorgesetzte.Nachname FROM Personal " _

& "INNER JOIN Personal AS Vorgesetzte " _

& "ON Personal.[Vorgesetzte(r)] = Vorgesetzte.Personal-Nr; "

Forms!Form1.RecordSource = strSQLAbrufen

Das nächste Beispiel verwendet eine Reflexivverknüpfung, um Angestellte und deren Vorgesetzte anzuzeigen. Es stellt die Eigenschaft Alias der Duplikattabelle Personal mit Hilfe der AS-Klausel auf Vorgesetzte ein. Sie geben diese SQL-Anweisung in der SQL-Ansicht des Abfragefensters ein.

SELECT Personal.Vorname, Personal.Nachname, Personal.Position, Vorgesetzte.Vorname, Vorgesetzte.Nachname

FROM Personal INNER JOIN Personal AS Vorgesetzte

ON Personal.[Vorgesetzte(r)] = Vorgesetzte.[Personal-Nr];


ColumnHeadings-Eigenschaft (FixierteSpaltenüberschriften)

Sie können die Eigenschaft FixierteSpaltenüberschriften verwenden, um die Reihenfolge der Spalten in einer Kreuztabellenabfrage anzugeben oder die Anzahl der angezeigten Spalten zu begrenzen. Sie können z.B. in einer Abfrage, die Namen von Ländern anzeigt, die Namen in einer bestimmten Reihenfolge aufführen, z.B. zuerst Deutschland, dann Österreich und als drittes die Schweiz.

Einstellung

Geben Sie die Datenwerte aus dem Feld Spaltenüberschrift der Kreuztabellenabfrage als Zeichenfolgenausdruck in der Reihenfolge ein, wie die Werte im Datenblatt der Kreuztabellenabfrage angezeigt werden sollen, jeweils getrennt durch ein Semikolon (oder durch das im Dialogfeld Ländereinstellungen der Systemsteuerung von Windows eingestellte Listentrennzeichen). Die folgende Tabelle zeigt Beispieleinstellungen der Eigenschaft ColumnHeadings und das Ergebnis im Datenblatt der Kreuztabellenabfrage.

Beispieleinstellung	Ergebnis
"Qtl. 1"; "Qtl. 2"; "Qtl. 3"; "Qtl. 4"	Zeigt Spaltenüberschriften für jedes Quartal an.
"Deutschland"; "Österreich"; "Schweiz"	Zeigt Spaltenüberschriften für jedes Land an
Sie können diese Eigenschaft im Abfrage-Eigenschaftenfenster einstellen. Sie können diese Eigenschaft auch in der SQL-Ansicht des Abfragefensters oder in Visual Basic mit Hilfe einer PIVOT-Klausel in der SQL-Anweisung einstellen.

Anmerkung   Die Spaltenüberschriften, die Sie für die Eigenschaft ColumnHeadings festlegen, müssen genau mit den Datenwerten im Feld Spaltenüberschrift im Abfrageentwurfsbereich übereinstimmen. Andernfalls werden die Daten nicht in den Spalten angezeigt.

Hinweis

Mit der Eigenschaft ColumnHeadings können Sie das Aussehen von Spaltenüberschriften in einer Kreuztabellenabfrage besser steuern. Standardmäßig zeigt Microsoft Access alle Datenwerte als Spaltenüberschriften in aufsteigender Reihenfolge an. Hat das Feld Spaltenüberschrift z.B. den Namen Monat, so werden standardmäßig die Spaltenüberschriften April, August, Dezember, Februar usw. angezeigt. Sie können die Eigenschaft ColumnHeadings verwenden, um die Daten in der richtigen Reihenfolge und mit der richtigen Einstellung anzuzeigen: "Januar", "Februar", "März" usw.

Schließen Sie eine Spaltenüberschrift in der Einstellung der Eigenschaft ColumnHeadings ein, so wird die Spalte immer in der Datenblattansicht der Abfrage angezeigt, auch dann, wenn die Spalte keine Daten enthält. Dies erweist sich beispielsweise als hilfreich, wenn Sie einen Bericht erstellen, der auf einer Kreuztabellenabfrage basiert, wobei immer dieselben Spaltenüberschriften im Bericht angezeigt werden sollen.

Tip   Sie können die ColumnHeadings verwenden, um die Geschwindigkeit von Kreuztabellenabfragen zu erhöhen, indem Sie die Zahl der angezeigten Spalten begrenzen.


ColumnHeadings-Eigenschaft (FixierteSpaltenüberschriften) - Beispiel

Das folgende Beispiel erstellt vier Spaltenüberschriften (Qtl. 1, Qtl. 2, Qtl. 3, Qtl. 4) in der Datenblattansicht einer Kreuztabellenabfrage, durch die die Bestellungen je Artikel und Quartal aufgelistet werden. Sie geben diese Anweisung in der SQL-Ansicht des Abfragefensters ein.

TRANSFORM Sum(CCur(Bestelldetails.Einzelpreis * Bestelldetails.Anzahl * (1-[Rabatt])/100) * 100)

AS Produktmenge SELECT Artikel.Artikelname FROM Artikel

INNER JOIN (Bestellungen INNER JOIN Bestelldetails ON Bestellungen.[Bestell-Nr] = Bestelldetails.[Bestell-Nr]

ON Artikel.[Artikel-Nr]= Bestelldetails.[Artikel-Nr]

WHERE (((Bestellungen.Versanddatum) Between #1/1/96# And #12/31/96#))

GROUP BY Artikel.Artikelname PIVOT "Qtl " & DatePart("q",[Versanddatum],1,0);


OutputAllFields-Eigenschaft (AlleFelderAusgeben)

Sie können die Eigenschaft OutputAllFields verwenden, um alle Felder in der der Abfrage zugrundeliegenden Datenherkunft und in der Feldliste eines Formulars oder Berichts anzuzeigen. Die Einstellung dieser Eigenschaft ist die einfachste Möglichkeit zum Anzeigen aller Felder, ohne daß das Feld Anzeigen im Abfrageentwurfsbereich für jedes Feld in der Abfrage aktiviert werden muß.

Anmerkung   Die Eigenschaft OutputAllFields gilt nur für Anfüge-, Tabellenerstellungs- und Auswahlabfragen.

Einstellung

Die Eigenschaft OutputAllFields verwendet die folgenden Einstellungen.

Einstellung	Beschreibung
Ja	Zeigt alle Felder in den zugrundeliegenden Tabellen und in der Feldliste eines Formulars oder Berichts an.
Nein	(Voreinstellung) Zeigt nur Felder an, bei denen das Feld Anzeigen im Abfrageentwurfsbereich aktiviert ist.
Sie können diese Eigenschaft nur im Abfrage-Eigenschaftenfenster einstellen.

Anmerkung   Ein Sternchen (*) in der SQL-Anweisung anstelle eines Feldnamens entspricht der Einstellung der Eigenschaft OutputAllFields auf Ja.

Hinweis

Ist die Eigenschaft OutputAllFields auf Ja eingestellt, so müssen Sie lediglich die Felder in den Abfrageentwurfsbereich einfügen, nach denen Sie sortieren oder für die Sie Kriterien festlegen möchten.

Wenn Sie einen Filter als Abfrage speichern, stellt Microsoft Access die Eigenschaft OutputAllFields auf Ja ein.


OutputAllFields-Eigenschaft (AlleFelderAusgeben) - Beispiel

Das folgende Beispiel verwendet ein Sternchen in einer SQL-Anweisung, um alle Felder in der Tabelle Versandfirmen auszuwählen. Anschließend werden die Felder in Textfeldern in einem Formular angezeigt, indem die Eigenschaft ControlSource der Textfelder auf die Namen der einzelnen Felder in der Abfrage eingestellt wird.

Dim strSQLAbrufen AS String

strSQLAbrufen = "SELECT * FROM Versandfirmen"

Forms!Form1.RecordSource = strSQLAbrufen

Text1.ControlSource = "Firmen-Nr"

Text2.ControlSource = "Firmenname"

In der Ausgabe der nächsten SQL-Anweisung werden die Werte der Felder Firma und Artikelname in aufsteigender Reihenfolge sortiert und alle Felder der Tabellen Lieferanten und Artikel in den Feldlisten und in der Datenblattansicht angezeigt. Sie geben diese SQL-Anweisung in der SQL-Ansicht des Abfragefensters ein.

SELECT * FROM Lieferanten INNER JOIN Artikel

ON Lieferanten.[Lieferanten-Nr] = Artikel.[Lieferanten-Nr]

ORDER BY Lieferanten.[Firmenname], Artikel.[Artikelname];


ReturnsRecords Property-Eigenschaft (LiefertDatensätze)

Sie verwenden die Eigenschaft ReturnsRecords in einer SQL Pass-Through-Abfrage, um anzugeben, ob die Abfrage Datensätze zurückgeben soll. Lautet die Pass-Through-Abfrage z.B. SELECT*FROM PERSONAL, und stellen Sie die Eigenschaft ReturnsRecords auf Ja ein, so werden alle Datensätze der Angestellten im Abfragedatenblatt angezeigt.

Anmerkung   Die Eigenschaft ReturnsRecords gilt nur für Pass-Through-Abfragen.

Einstellung

Die Eigenschaft ReturnsRecords verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Ja	(Voreinstellung) Die Abfrage gibt Datensätze zurück (wie eine Auswahlabfrage).	True (–1)
Nein	Die Abfrage gibt keine Datensätze zurück (wie eine Aktionsabfrage).	False (0)
Sie können diese Eigenschaft im Abfrage-Eigenschaftenfenster oder in Visual Basic einstellen.

Tip   Sie können auf die Eigenschaft ReturnsRecords einer Pass-Through-Abfrage in Visual Basic zugreifen, sollten aber besser die DAO-Eigenschaft ReturnsRecords verwenden.

Hinweis

Mit einer Pass-Through-Abfrage können Datensätze zurückgegeben , oder verändert werden, und es können Datenbankobjekte erstellt oder Aktionen (vergleichbar wie eine Aktionsabfrage) ausgeführt werden.

Wenn Sie die Eigenschaft ReturnsRecords auf Ja einstellen, können Sie die Pass-Through-Abfrage in einer anderen Abfrage oder als Grundlage für ein Kombinationsfeld, Listenfeld, Formular oder für einen Bericht verwenden. Stellen Sie die Eigenschaft ReturnsRecords dagegen auf Nein ein, dann können Sie die Abfrage nicht als Grundlage für ein Objekt oder Steuerelement verwenden, da keine Datensätze zurückgegeben werden.


RunPermissions-Eigenschaft (Ausführungsberechtigung)

Sie können die Eigenschaft RunPermissions in einer Mehrbenutzerumgebung mit einer geschützten Arbeitsgruppe verwenden, um die bestehenden Benutzerberechtigungen außer Kraft zu setzen. Dadurch können Sie eine Abfrage anzeigen oder eine Anfüge-, Lösch-, Tabellenerstellungs- oder Aktualisierungsabfrage anzeigen, auch wenn Sie andernfalls keine Berechtigung dazu hätten. Sie können beispielsweise als Benutzer die Berechtigung "schreibgeschützt" für Abfragen haben, während der Eigentümer der Abfragen über Lese-/Schreibzugriff verfügt. Wenn der Eigentümer die Eigenschaft RunPermissions auf die Berechtigungen des Eigentümers eingestellt hat, können Sie eine Anfügeabfrage ausführen, die Datensätze an eine Tabelle anfügt.

Einstellung

Die Eigenschaft RunPermissions verwendet die folgenden Einstellungen.

Einstellung	Beschreibung
Eigentümer	Alle Benutzer haben die Berechtigungen des Eigentümers, um eine Abfrage anzuzeigen oder auszuführen.
Benutzer	(Voreinstellung) Die Benutzer verfügen nur über ihre eigenen Berechtigungen, um eine Abfrage anzuzeigen oder auszuführen.
Sie können diese Eigenschaft im Abfrage-Eigenschaftenfenster einstellen.

Sie können die Eigenschaft RunPermissions auch in der SQL-Ansicht des Abfragefensters mit Hilfe der Deklaration WITH OWNERACCESS OPTION in der SQL-Anweisung einstellen.


RunPermissions-Eigenschaft (Ausführungsberechtigung) - Beispiel

Das folgende Beispiel stellt eine Auswahlabfrage dar, die auf der Tabelle Kategorien basiert und es allen Benutzern ermöglicht, die Berechtigungen des Eigentümers für die Abfrage zu übernehmen. Sie geben diese SQL-Anweisung in der SQL-Ansicht des Abfragefensters ein.

SELECT Kategorien.[Kategorie-Nr], Kategorien.Kategoriename, Kategorien.Beschreibung

FROM Kategorien WITH OWNERACCESS OPTION;


Source-Eigenschaft (Herkunft)

Sie können die Eigenschaft Source verwenden, um die Verbindungszeichenfolge für die Datenherkunft und Quelldatenbank für die Eingabetabelle oder -abfrage einer Abfrage anzugeben. Dies ist erforderlich, wenn Sie auf Daten in einer externen Tabelle zugreifen möchten, ohne die Tabelle zu verknüpfen.

Anmerkung   Das Verwenden der Eigenschaft Source und der Eigenschaft SourceConnectStr für den Zugriff auf ODBC-Tabellen ist erheblich langsamer als die Verwendung verknüpfter Tabellen.

Einstellung

Sie stellen die Eigenschaft Source mit Hilfe eines Zeichenfolgenausdrucks ein. Sie können diese Eigenschaft nicht direkt im Code einstellen. Sie wird eingestellt, sobald Sie eine neue Abfrage mit Hilfe einer SQL-Anweisung erstellen. Die FROM-Klausel in der SQL-Anweisung entspricht der Einstellung der Eigenschaft Source.

Die folgenden Beispiele zeigen, wie Sie die Eigenschaft Source verwenden können, um zu verschiedenen Typen externer Datenbanken zu verbinden.

Datenbanktyp	Angabe	Beispieleinstellung
Microsoft Access	Pfad und Datenbankname. Microsoft Access fügt die Dateinamenerweiterung automatisch hinzu.	C:\Konten\Kunden
dBASE	Datenbanktyp und Pfad. Eine Liste der Kennzeichner finden Sie in der Beschreibung der DAO-Eigenschaft Connect.	dBASE IV;DatabaseTable=C:\DBDATA
SQL Server (ODBC)	Name der Herkunfts- datenbank und alle zusätzlich vom Produkt benötigten Informationen, z.B. Anmeldeidentifikation (ID) und Kennwort. Sie können auch den Editor für ODBC-Verbindungszeichenfolgen zur Erstellung der Verbindungszeichenfolge verwenden.	ODBC;DSN=locatech;UID=klaush; PWD=kennwort; DATABASE=umsatz;
Sie können diese Eigenschaft im Feldlisten-Eigenschaftenfenster einer Abfrage einstellen.

Sie können diese Eigenschaft auch in der SQL-Ansicht des Abfragefensters mit Hilfe der FROM- und IN-Klauseln in der SQL-Anweisung einstellen.

Hinweis

Wenn alle Eingabetabellen in einer Abfrage aus derselben externen Datenbank stammen, verwenden Sie die Eigenschaften SourceConnectStr und SourceDatabase der Abfrage, anstatt die Eigenschaft Source für jede Eingabetabelle oder -abfrage einzeln einzustellen.


Source-Eigenschaft (Herkunft) - Beispiel

Das folgende Beispiel stellt die Eigenschaft RowSource für das Listenfeld Erstkontakt auf ein Feld in einer dBASE IV-Tabelle ein.

Dim strSQLAbrufen AS String

strSQLAbrufen = "SELECT Kunde.FIRMENNAME, Kunde.TELEFON FROM Kunde IN 'c:\dbdata'[dBASE IV;];"

Me.Erstkontakt.RowSource = strSQLAbrufen

Im nächsten Beispiel ist die Datenherkunft für die Abfrage eine dBASE IV-Tabelle mit dem Namen Kunden im Ordner C:\DBDATA. Sie können diese SQL-Anweisung in der SQL-Ansicht eines Abfragefensters eingeben.

SELECT Kunde.FIRMENNAME, Kunde.TELEFON

FROM Kunde IN 'c:\dbdata'[dBASE IV;];


TopValues-Eigenschaft (Spitzenwerte)

Sie können die Eigenschaft TopValues verwenden, um eine bestimmte Anzahl oder einen bestimmten Prozentsatz an Datensätzen zurückzugeben, die den angegebenen Kriterien genügen. Sie können beispielsweise die 10 Spitzenwerte oder die obersten 25 Prozent aller Werte in einem Feld zurückgeben.

Anmerkung   Die Eigenschaft TopValues gilt nur für Anfüge-, Tabellenerstellungs- und Auswahlabfragen.

Einstellung

Die Einstellung der Eigenschaft TopValues entspricht einem Integer-Wert, der die genaue Anzahl an zurückzugebenden Werten oder den Prozentsatz an zurückzugebenden Datensätzen (eine Zahl mit einem %-Zeichen) angibt. Um z.B. die 10 größten Werte zurückzugeben, stellen Sie die Eigenschaft TopValues auf 10 ein; wenn die ersten 10 Prozent der Werte zurückgeben möchten, stellen Sie die Eigenschaft TopValues auf 10 % ein.

Sie können diese Eigenschaft nicht direkt im Code einstellen. Sie wird in der SQL-Ansicht des Abfragefensters eingestellt, indem Sie in der SQL-Anweisung die TOP n or TOP n PERCENT-Klausel verwenden.

Sie können die Eigenschaft TopValues auch im Abfrage-Eigenschaftenfenster oder im Feld Top Values  [image]  in der Abfrageentwurf-Symbolleiste einstellen.

Anmerkung	Die Eigenschaft TopValues im Abfrageeigenschaftenfenster und in der Abfrageentwurfs-Symbolleiste ist ein Kombinationsfeld, das eine Liste von Werten und Prozentwerten enthält. Sie können einen dieser Werte auswählen oder eine gültige Einstellung im Textfeld dieses Steuerelements eingeben.

Hinweis

In der Regel verwenden Sie die Einstellung der Eigenschaft TopValues zusammen mit sortierten Feldern. Das Feld, für das Spitzenwerte angezeigt werden sollen, muß das am weitesten links stehende Feld sein, in dem das Feld Sortieren im Abfrageentwurfsbereich aktiviert ist. Bei aufsteigender Sortierreihenfolge werden die untersten Datensätze zurückgegeben, bei absteigender Sortierreihenfolge die obersten Datensätze. Wenn Sie angeben, daß eine bestimmte Anzahl an Datensätzen zurückgegeben werden soll, werden alle Datensätze mit Werten, die dem Wert des letzten Datensatzes entsprechen, ebenfalls zurückgegeben.

Nehmen Sie z.B. an, daß eine Gruppe von Angestellten die folgenden Umsatzsummen erzielt hat.

Umsatz	Verkaufsberater
90,000	Leverling
80,000	Peacock
70,000	Davolio
70,000	King
60,000	Suyama
50,000	Buchanan
Wenn Sie die Eigenschaft TopValues auf 3 einstellen und das Feld Umsatz absteigend sortieren, gibt Microsoft Access die folgenden vier Datensätze zurück.

Umsatz	Verkaufsberater
90,000	Leverling
80,000	Peacock
70,000	Davolio
70,000	King
Anmerkung   Damit die höchsten oder niedrigsten Werte ohne Anzeige von Duplikaten zurückgegeben werden, stellen Sie die Eigenschaft UniqueValues im Eigenschaftenfenster der Abfrage auf Ja ein.


TopValues-Eigenschaft (Spitzenwerte) - Beispiel

Das folgende Beispiel weist eine SQL-Zeichenfolge, die die zehn teuersten Artikel zurückgibt, der Eigenschaft RecordSource für ein Formular zu, das die zehnteuerstenArtikel anzeigt..

Dim strSQLAbrufen As String

strSQLAbrufen = "SELECT TOP 10 Artikel.[Artikelname] " _

& "AS DieZehnTeuerstenArtikel, Artikel.Einzelpreis FROM Artikel " _

& "ORDER BY Artikel.[Einzelpreis] DESC;"

Me.RecordSource = strSQLAbrufen


DestConnectStr-, DestinationDB-, DestinationTable-Eigenschaften (Zielverbindung, Zieldatenbank, Zieltabelle)

•	Die Eigenschaft DestinationDB gibt den Typ der Anwendung an, der zum Erstellen einer externen Datenbank verwendet wird

•	Die Eigenschaft DestConnectStr gibt die Verbindungszeichenfolge für den Namen der Datenbank an, die die neue Tabelle enthält (für Tabellenerstellungsabfragen), oder für den Namen der Datenbank, die die Tabelle enthält, an die Daten angefügt werden (für Anfügeanfragen).

•	Mit der Eigenschaft DestinationTable wird der Name der Tabelle angegeben, die die Daten der Tabellenerstellungsabfrage oder Anfügeanfrage aufnimmt.

Anmerkung   Die Eigenschaften DestConnectStr, DestinationDB und DestinationTable gelten nur für Tabellenerstellungs- und Anfügeabfragen.

Einstellung

Sie stellen die Eigenschaften DestConnectStr, DestinationDB und DestinationTable mit Hilfe eines Zeichenfolgenausdrucks ein.

Die Standardeinstellung für die Eigenschaft DestinationDB lautet "(aktuell)", d.h. sie verweist auf die momentan aktive Datenbank.

Sie können diese Eigenschaften im Abfrage-Eigenschaftenfenster, oder in der SQL-Ansicht des Abfragefensters einstellen.

In der SQL-Anweisung für eine Anfügeabfrage entspricht der Tabellenname in der Anweisung INSERT INTO der Einstellung der Eigenschaft DestinationTable. Die IN-Klausel entspricht den Einstellungen der Eigenschaften DestinationDB und DestConnectStr.

In der SQL-Anweisung für eine Tabellenerstellungsabfrage entspricht der Tabellenname in der INTO-Klausel der Einstellung der Eigenschaft DestinationTable. Die IN-Klausel entspricht den Einstellungen der Eigenschaften DestinationDB und DestConnectStr.

Anmerkung   Microsoft Access stellt diese Eigenschaften automatisch aufgrund der von Ihnen im Abfrage-Eigenschaftenfenster oder in der SQL-Ansicht des Abfragefensters eingegebenen Informationen ein.

Hinweis

Wenn Sie im Menü Abfrage den Befehl Neue Tabelle erstellen oder Anfügen wählen, fordert Microsoft Access Sie auf, die nötigen Informationen zum Einstellen dieser Eigenschaften einzugeben. Microsoft Access verwendet den von Ihnen im Feld Tabellenname eingegebenen Wert zur Einstellung der Eigenschaft DestinationTable und die von Ihnen im Feld Dateiname eingegebenen Informationen zur Einstellung der Eigenschaften DestConnectStr und DestinationDB.

Sie verwenden das Eigenschaftenfenster, um eine Tabelle in einer Microsoft Access-Datenbank anzugeben, indem Sie den Namen der Tabelle (z.B. Klienten) im Feld Zieltabelle eingeben. Im Feld Zieldatenbank geben Sie den Pfad und Datenbanknamen ohne Dateinamenerweiterung ein (z.B. C:\KONTEN\KUNDEN). Microsoft Access fügt die Erweiterung automatisch hinzu. Sie müssen die Eigenschaft DestConnectStr nicht einstellen.

Sie geben eine Tabelle in einer mit einem anderen Produkt, z.B. Paradox, erstellten Datenbank an, indem Sie den Namen der Tabelle im Feld Zieltabelle eingeben. Im Feld Zieldatenbank geben Sie den Pfad ein (z.B. C:\PARADOX\DATEN). Im Feld Zielverbindung geben Sie den Kennzeichner für den Datenbanktyp ein (z.B. Paradox 3.x). Eine Liste der Kennzeichner finden unter der Beschreibung der DAO-Eigenschaft Connect.

Sie geben eine ODBC-Datenbank (ODBC = Open Database Connectivity) an, indem Sie den Namen der Datenbank im Feld Zielverbindung zusammen mit weiteren vom Produkt benötigten Informationen, z.B. Anmeldeinformationen (ID) und Kennwort, eingeben. Sie können z.B. die folgende Einstellung für eine Microsoft SQL Server-Datenbank verwenden:

ODBC;DSN=Locatech;UID=jace;PWD=Kennwort;DATABASE=Umsatz;

Weitere Informationen zu ODBC-Treibern wie Microsoft SQL Server finden Sie in der vom Treiber bereitgestellten Hilfe.

Sie müssen die Eigenschaft DestinationDB für ODBC-Datenbanken nicht einstellen.

Weitere Informationen zum Zugriff auf Daten in ODBC-Datenbanken finden Sie in Kapitel 18, "Zugriff auf externe Daten", in Erstellung von Anwendungen mit Microsoft Access 97.


DestConnectStr-, DestinationDB-, DestinationTable-Eigenschaften (Zielverbindung, Zieldatenbank, Zieltabelle) - Beispiel

Das folgende Beispiel fügt die Datensätze in die Tabelle Kunden an die Tabelle Klienten in einer Microsoft Access-Datenbank namens Klienten im Verzeichnis C:\DATEN an. Sie können diese SQL-Anweisung in der SQL-Ansicht des Abfragefensters eingeben.

INSERT INTO Klienten IN 'C:\DATEN\KLIENTEN.MDB'

SELECT Kunden.[Firma], Kunden.Telefon

FROM Kunden;

Das nächste Beispiel erstellt eine neue Tabelle namens Kontakte in einer Paradox-Datenbank (Version 3.x) im Verzeichnis C:\PDOXDATA.

SELECT Kunden.Firma, Kunden.Telefon

INTO Kontakte IN 'C:\PDOXDATA' [Paradox 3.x;] FROM Kunden;


LogMessages-Eigenschaft (MeldungenProtokollieren)

Sie können die Eigenschaft LogMessages in einer SQL-Pass-Through-Abfrage verwenden, um anzugeben, ob die von einer SQL-Datenbank zurückgegebenen Meldungen in einer Meldungstabelle in der aktuellen Microsoft Access-Datenbank gespeichert werden.

Anmerkung   Die Eigenschaft LogMessages gilt nur für Pass-Through-Abfragen.

Einstellung

Die Eigenschaft LogMessages verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Ja	Microsoft Access speichert von der SQL-Datenbank zurückgegebene Meldungen in einer Meldungstabelle.	True (–1)
Nein	(Voreinstellung) Microsoft Access speichert keine von der SQL-Datenbank zurückgegebenen Meldungen.	False (0)
Sie können diese Eigenschaft mit Hilfe des Abfrage-Eigenschaftenfensters oder in Visual Basic einstellen.

Hinweis

Der Name der Meldungstabelle, in der die zurückgegebenen Meldungen gespeichert werden, ist Benutzername - nn, wobei Benutzername den Anmeldenamen des Benutzers darstellt, der die Pass-Through-Abfrage ausführt, und nn einen Wert vom Typ Integer, der jeweils um 1 erhöht wird und mit 00 beginnt. Stellt z.B. Benutzerin AnetteS die Eigenschaft LogMessages auf Ja ein, und erhält diese Benutzerin Meldungen von einer SQL-Datenbank, so erhält die Meldungstabelle den Namen AnetteS - 00. Erhält AnetteS Meldungen in einer anderen Microsoft Access-Sitzung (und wurde die erste Tabelle nicht gelöscht), so wird eine neue Tabelle mit dem Namen AnetteS - 01 erstellt.

Anmerkung   Fehlermeldungen vom SQL-Server werden nicht in der Meldungstabelle gespeichert.


ODBCConnectStr-Eigenschaft (ODBCVerbindung)

Sie können die Eigenschaft ODBCConnectStr in einer SQL-Pass-Through-Abfrage verwenden, um die ODBC-Verbindungszeichenfolge (ODBC = Open Database Connectivity) für die Abfrage anzugeben.

Anmerkung   Die Eigenschaft ODBCConnectStr gilt nur für Pass-Through-Abfragen.

Einstellung

Geben Sie die ODBC-Verbindungszeichenfolge ein, welche die Verbindung zu der SQL-Datenbank angibt, die Sie verwenden möchten.

Sie können diese Eigenschaft mit Hilfe des Abfrage-Eigenschaftenfensters oder in Visual Basic einstellen.

Sie können auch den Editor für ODBC-Verbindungszeichenfolgen verwenden, um die ODBC-Verbindungszeichenfolge für diese Eigenschaft einzustellen. Dieser Editor stellt eine Verbindung zum SQL-Datenbank-Server her und beendet die Verbindung, nachdem die ODBC-Verbindungszeichenfolge erstellt wurde.

Hinweis

Die Standardeinstellung für diese Eigenschaft ist die Zeichenfolge "ODBC;", die von Microsoft Access wieder hergestellt wird, wenn Sie eine bestehende Einstellung löschen. Ist die Eigenschaft ODBCConnectStr auf "ODBC;" eingestellt, so werden Sie von Microsoft Access zur Eingabe einer Verbindungszeichenfolge aufgefordert, sobald die Abfrage verwendet, aber die Verbindungszeichenfolge nicht gespeichert wird. Sie müssen eine Verbindungszeichenfolge im Einstellungsfeld der Eigenschaft ODBCConnectStr eingeben, wenn Microsoft Access die Verbindungszeichenfolge speichern soll.

Tip   Kennen Sie die vollständige Verbindungszeichenfolge für die SQL-Datenbank, so geben Sie diese im Einstellungsfeld der Eigenschaft ODBCConnectStr ein. Sie vermeiden dadurch das wiederholte Eingeben der Verbindungszeichenfolge im Dialogfeld zum Herstellen der ODBC-Verbindung, wenn Sie die Abfrage verwenden.

Die Verbindungszeichenfolge ist für verschiedene Typen von ODBC-Datenquellen unterschiedlich. Damit Sie z.B. eine Verbindung zur Datenquelle PersonalAbt auf dem Server PERSSRVR (einem Microsoft SQL Server) mit Hilfe der Anmeldeinformation (ID) Schmidt und dem Kennwort Sesam herstellen können, verwenden Sie die folgende Verbindungszeichenfolge.

ODBC;DSN=PersonalAbt;SERVER=PERSSRVR;UID=Schmidt;PWD=Sesam

Weitere Informationen zum Zugriff auf Daten in ODBC-Datenbanken finden Sie in Kapitel 18, "Zugriff auf externe Daten", in Erstellung von Anwendungen mit Microsoft Access 97.


ODBCTimeout-Eigenschaft (Microsoft Access)

Mit der Eigenschaft ODBCTimeout können Sie angeben, wie viele Sekunden Microsoft Access wartet, bevor ein Zeitüberschreitungsfehler auftritt, wenn eine Abfrage einer ODBC-Datenbank (ODBC = Open Database Connectivity) ausgeführt wird.

Einstellung

Die Eigenschaft ODBCTimeout entspricht einem Wert vom Typ Integer, der die Anzahl der zu wartenden Sekunden angibt. Die Voreinstellung beträgt 60 Sekunden. Ist die Eigenschaft auf 0 eingestellt, so tritt keine Zeitüberschreitung auf.

Sie können diese Eigenschaft im Abfrage-Eigenschaftenfenster oder in Visual Basic einstellen.

Hinweis

Verwenden Sie eine ODBC-Datenbank, z.B. einen Microsoft SQL Server, so können aufgrund der Netzwerkauslastung oder der starken Beanspruchung des ODBC-Servers Verzögerungen auftreten. Mit Hilfe der Eigenschaft ODBCTimeout können Sie angeben, wie lange Microsoft Access auf eine Netzwerkverbindung warten soll, bevor ein Zeitüberschreitungsfehler auftritt.

Weitere Informationen zum Zugriff auf Daten in ODBC-Datenbanken finden Sie in Kapitel 18, "Zugriff auf externe Daten", in Erstellung von Anwendungen mit Microsoft Access 97.


SourceConnectStr-, SourceDatabase-Eigenschaften (Quellverbindung, Quelldatenbank)

Sie können diese Eigenschaften verwenden, um auf externe Daten zuzugreifen, wenn Sie die externen Tabellen nicht mit Ihrer Datenbank verknüpfen können.

•	SourceConnectStr — Mit dieser Eigenschaft können Sie den Namen der Anwendung angeben, die zur Erstellung einer externen Datenbank verwendet werden soll.

•	SourceDatabase — Mit dieser Eigenschaft können Sie die externe Datenbank angeben, in der sich die Eingabetabellen oder -Abfragen für eine Abfrage befinden.

Anmerkung   Die Eigenschaften SourceConnectStr und SourceDatabase gelten für alle Abfragen, mit Ausnahme von Datendefinition, Pass-Through- und Union-Abfragen.

Einstellung

Sie verwenden einen Zeichenfolgenausdruck, um den Wert der Eigenschaften SourceConnectStr und SourceDatabase einzustellen.

Sie können diese Eigenschaften im Abfrage-Eigenschaftenfenster oder in der SQL-Ansicht des Abfragefensters einstellen. In der SQL-Anweisung entsprechen die Eigenschaften der IN-Klausel.

Anmerkung   Wenn Sie auf mehrere Datenbankquellen zugreifen möchten, verwenden Sie die Eigenschaft Source statt der Eigenschaften SourceConnectStr und SourceDatabase.

Hinweis

Sie müssen die Eigenschaften SourceConnectStr und SourceDatabase verwenden, um auf Tabellen in externen Datenbanken zuzugreifen, welche in Anwendungen erstellt wurden, in denen keine verknüpften Tabellen verwendet werden.

Es folgen Beispiele für diese Eigenschaftseinstellungen:

•	Bei einer Microsoft Access-Datenbank entspricht die Einstellung der Eigenschaft SourceDatabase dem Pfad und Datenbanknamen (z.B. C:\KONTEN\KUNDEN). Microsoft Access fügt die Dateinamenerweiterung automatisch hinzu. Die Eigenschaft SourceConnectStr verfügt über keinen Wert für eine Microsoft Access-Datenbank.

•	Bei einer von einem Produkt wie Paradox erstellten Datenbank entspricht die Einstellung der Eigenschaft SourceDatabase dem Pfad (z.B. C:\PARADOX\DATEN). Die Einstellung der Eigenschaft SourceConnectStr entspricht dem Kennzeichner des Datenbanktyps (z.B. Paradox 3.x;). Eine Liste der Kennzeichner finden Sie unter der Beschreibung der DAO-Eigenschaft Connect.

•	Das folgende Beispiel verwendet dBASE IV-Tabellen im Verzeichnis C:\DBDATEN als Datenquelle für die Abfrage.

SELECT Kunde.FIRMENNAME, Aufträge.AUFTRAGSNR, Aufträge.AUFTRDATUM

FROM Kunde INNER JOIN Aufträge

ON Kunde.KUNDENNR = Aufträge.KUNDENNR

IN 'C:\Dbdata'[dBASE IV;];

•	Bei einer ODBC-Datenbank (ODBC = Open Database Connectivity) entspricht die Einstellung der Eigenschaft SourceConnectStr dem Namen der Quelldatenbank zusammen mit weiteren vom Produkt benötigten Informationen, z.B. Anmeldeinformationen (ID) und Kennwort. Bei einer Datenbank des Microsoft SQL Server könnte die Einstellung z.B. folgendermaßen aussehen:

ODBC;DSN=Locatech;UID=jace;PWD=Kennwort;DATABASE=Umsatz;

Die Eigenschaft SourceDatabase verfügt über keinen Wert für eine ODBC-Datenbank.

Weitere Informationen zum Zugriff auf Daten in ODBC-Datenbanken finden Sie in Kapitel 18, "Zugriff auf externe Daten", in Erstellung von Anwendungen mit Microsoft Access 97.


UniqueRecords-Eigenschaft (EindeutigeDatensätze)

Mit der Eigenschaft UniqueRecords können Sie angeben, ob nur eindeutige Datensätze zurückgegeben werden sollen, die auf allen Feldern der zugrundeliegenden Datenquelle basieren, und nicht nur auf den in der Abfrage vorhandenen Feldern.

Anmerkung   Die Eigenschaft UniqueRecords gilt nur für Anfüge- und Tabellenerstellungs-Aktionsabfragen und Auswahl-Abfragen.

Einstellung

Die Eigenschaft UniqueRecords verwendet die folgenden Einstellungen.

Einstellung	Beschreibung
Ja	Gibt keine mehrfach vorkommenden Datensätze zurück.
Nein	(Voreinstellung) Gibt mehrfach vorkommende Datensätze zurück.
Sie können die Eigenschaft UniqueRecords im Abfrage-Eigenschaftenfenster oder in der SQL-Ansicht des Abfragefensters einstellen.

Anmerkung   Sie stellen diese Eigenschaft ein, wenn Sie eine neue Abfrage mit Hilfe einer SQL-Anweisung erstellen. Das DISTINCTROW-Prädikat entspricht der Einstellung der Eigenschaft UniqueRecords. Das DISTINCT-Prädikat entspricht der Einstellung der Eigenschaft UniqueValues.

Hinweis

Sie können die Eigenschaft UniqueRecords verwenden, wenn Daten nicht zurückgegeben werden sollen, die auf vollständig duplizierten Datensätzen basieren, und nicht nur auf duplizierten Feldern. Microsoft Access interpretiert einen Datensatz als eindeutig, solange sich der Wert in einem Feld des Datensatzes vom Wert desselben Feldes in einem anderen Datensatz unterscheidet.

Die Eigenschaft UniqueRecords ist nur wirksam, wenn Sie mehrere Tabellen in der Abfrage verwenden und Felder aus den in der Abfrage verwendeten Tabellen auswählen. Die Eigenschaft UniqueRecords wird ignoriert, wenn die Abfrage nur eine Tabelle umfaßt.

Der Zusammenhang zwischen den Eigenschaften UniqueRecords und UniqueValues besteht darin, daß immer nur eine der beiden Eigenschaften auf Ja eingestellt werden kann. Stellen Sie z.B. die Eigenschaft UniqueRecords auf Ja ein, so stellt Microsoft Access die Eigenschaft UniqueValues automatisch auf Nein ein. Sie können jedoch beide Eigenschaften auf Nein einstellen. Sind beide Eigenschaften auf Nein eingestellt, werden alle Datensätze zurückgegeben.


UniqueRecords-Eigenschaft (EindeutigeDatensätze) - Beispiel

Die Abfrage in diesem Beispiel gibt eine Liste der Kunden aus der Tabelle Kunden zurück, die über mindestens eine Bestellung in der Tabelle Bestellungen verfügen.

Tabelle Kunden

Kundenname	Kunden-Code
Ernst Handel	ERNSH
Familia Arquibaldo	FAMIA
FISSA Fabrica Inter. Salchichas S.A.	FISSA
Folies gourmandes	FOLIG
Tabelle Bestellungen

Kunden-Code	Bestellung-Nr
ERNSH	10698
FAMIA	10512
FAMIA	10725
FOLIG	10763
FOLIG	10408
Die folgende SQL-Anweisung gibt die Kundennamen in der anschließenden Tabelle zurück:

SELECT DISTINCTROW Kunden.Firma, Kunden.Kunden-code

FROM Kunden INNER JOIN Bestellungen

ON Kunden.Kunden-Code = Bestellungen.Kunden-Code;

Zurückgegebene Kunden	Kunden-Code
Ernst Handel	ERNSH
Familia Arquibaldo	FAMIA
Folies gourmandes	FOLIG


UniqueValues-Eigenschaft (KeineDuplikate)

Sie können die Eigenschaft UniqueValues verwenden, wenn Sie Datensätze ausschließen möchten, die mehrfach vorkommende Daten in den in der Datenblattansicht angezeigten Feldern enthalten. Enthält z.B. die Ausgabe einer Abfrage mehrere Felder, so muß die Kombination der Werte aller Felder für einen gegebenen Datensatz eindeutig sein, damit der Datensatz in die Ergebnismenge aufgenommen wird.

Anmerkung   Die Eigenschaft UniqueRecords gilt nur für Anfüge- und Tabellenerstellungs-Aktionsabfragen und Auswahl-Abfragen.

Einstellung

Die Eigenschaft UniqueRecords verwendet die folgenden Einstellungen.

Einstellung	Beschreibung
Ja	Zeigt nur die Datensätze an, in denen die Werte aller in der Datenblattansicht angezeigten Felder eindeutig sind.
Nein	(Voreinstellung) Zeigt alle Datensätze an.
Sie können die Eigenschaft UniqueValues im Abfrage-Eigenschaftenfenster oder in der SQL-Ansicht des Abfragefensters einstellen.

Anmerkung   Sie stellen diese Eigenschaft ein, wenn Sie eine neue Abfrage mit Hilfe einer SQL-Anweisung erstellen. Das DISTINCT-Prädikat entspricht der Einstellung der Eigenschaft UniqueValues. Das DISTINCTROW-Prädikat entspricht der Einstellung der Eigenschaft UniqueRecords.

Hinweis

Stellen Sie die Eigenschaft UniqueValues auf Ja ein, so können die Ergebnisse der Abfrage nicht aktualisiert werden, und nachfolgende Änderungen durch andere Benutzer werden nicht angezeigt.

Der Zusammenhang zwischen den Eigenschaften UniqueValues und UniqueRecords besteht darin, daß immer nur eine der beiden Eigenschaften auf Ja eingestellt werden kann. Stellen Sie z.B. die Eigenschaft UniqueValues auf Ja ein, so stellt Microsoft Access die Eigenschaft UniqueRecords automatisch auf Nein ein. Sie können jedoch beide Eigenschaften auf Nein einstellen. Sind beide Eigenschaften auf Nein eingestellt, werden alle Datensätze zurückgegeben.

Tip   Wenn Sie die Anzahl der Vorkommen eines Wertes in einem Feld zählen möchten, erstellen Sie eine Berechnungsabfrage.


UniqueValues-Eigenschaft (KeineDuplikate) - Beispiel

Die SELECT-Anweisung in diesem Beispiel gibt eine Liste der Länder zurück, in denen sich Kunden befinden. Da sich in jedem Land viele Kunden befinden können, können auch viele Datensätze in der Tabelle Kunden denselben Eintrag für das Land haben. Dennoch wird jedes Land nur einmal in den Abfrageergebnissen aufgeführt.

Dieses Beispiel verwendet die Tabelle Kunden, welche die folgenden Daten enthält.

Land	Firma
Brasilien	Familia Arquibaldo
Brasilien	Gourmet Lanchonetes
Brasilien	Hanari Carnes
Frankreich	Du monde entier
Frankreich	Folies gourmandes
Deutschland	Frankenversand
Irland	Hungry Owl All-Night Grocers
Die folgende SQL-Anweisung gibt die Länder in der nachfolgenden Tabelle zurück:

SELECT DISTINCT Kunden.Land

FROM Kunden;

Zurückgegebene Länder

Brasilien

Frankreich

Deutschland

Irland


Form-, Report-Eigenschaften (Formular, Bericht)

Sie können die Eigenschaften Form und Report verwenden, um auf ein Formular, einen Bericht oder auf das Formular bzw. auf den Bericht, das dem Unterformular-Steuerelement bzw. dem Unterbericht-Steuerelement zugeordnet ist, zu verweisen.

Einstellung

Diese Eigenschaften verweisen auf ein Formular- oder Berichtobjekt und sind in allen Ansichten schreibgeschützt.

Sie können diese Eigenschaften in einem Makro oder in Visual Basic verwenden.

Hinweis

Diese Eigenschaften werden normalerweise verwendet, um auf das Formular oder den Bericht, das bzw. der in einem Unterformular- oder Unterbericht-Steuerelement enthalten ist, zu verweisen. Das folgende Beispiel z.B. verwendet die Eigenschaft Form, um auf das Steuerelement Bestell-Nr eines Unterformulars zuzugreifen, das im Unterformular-Steuerelement BestellDetails enthalten ist.

Dim intBestellNr As Integer

intBestellNr = Forms!Bestellungen!BestellDetails.Form!Bestell-Nr

Das nächste Beispiel ruft eine Funktion aus einem Eigenschaftenfenster unter Verwendung der Eigenschaft Form auf, um auf das aktive Formular zu verweisen, das das Steuerelement mit dem Namen Kunden-Code enthält.

= TestFunktion(Form!Kunden-Code)

Wenn Sie die Eigenschaft Form auf diese Weise verwenden, verweisen Sie auf das aktive Formular, und der Name des Formulars wird nicht benötigt.

Das nächste Beispiel stellt die Entsprechung zum vorhergehenden Beispiel in Visual Basic dar.

X = TestFunktion(Forms!Kunden!Kunden-Code)

Anmerkung   Wenn Sie die Auflistungen Forms oder Reports verwenden, müssen Sie den Namen des Formulars oder Berichts angeben.


Form-, Report-Eigenschaften (Formular, Bericht) - Beispiel

Das folgende Beispiel verweist mit Hilfe der Eigenschaften Form und Report auf je ein Steuerelement eines Unterformulars bzw. eines Unterberichts.

Dim curGesamtbetr As Currency

Dim curGesamtumsatz As Currency

curGesamtbetr = Forms!Bestellungen!Bestelldetails.Form!Gesamtbetrag

curGesamtumsatz = Reports!Verkäufe!Personal.Report!Gesamtumsatz


LinkChildFields-, LinkMasterFields-Eigenschaften (VerknüpfenVon, VerknüpfenNach)

Sie können mit den Eigenschaften LinkChildFields und LinkMasterFields festlegen, wie Microsoft Access Datensätze in einem Formular oder Bericht mit Datensätzen in einem Unterformular, Unterbericht oder eingebetteten Objekt, wie z.B. einem Diagramm, verknüpft. Falls diese Eigenschaften eingestellt sind, aktualisiert Microsoft Access automatisch die verknüpften Datensätze im Unterformular, wenn Sie zu einem neuen Datensatz in einem Hauptformular wechseln.

Einstellung

Sie können die Eigenschaften LinkChildFields und LinkMasterFields für das Unterformular, den Unterbericht oder das eingebettete Objekt folgendermaßen einstellen:

•	Die Eigenschaft LinkChildFields. Geben Sie die Namen der Felder des Unterformulars, Unterberichts oder eingebetteten Objekts an, die als Verknüpfungsfelder dienen sollen.

•	Die Eigenschaft LinkMasterFields. Geben Sie die Namen der Felder oder Steuerelemente des Hauptformulars oder Hauptberichts an, die als Verknüpfungsfelder bzw. -steuerelemente dienen sollen.

Sie können den Feldverknüpfungs-Assistenten für Unterformulare/Unterberichte verwenden, um diese Eigenschaften einzustellen, indem Sie auf die Editor-Schaltfläche  [image] rechts neben der Eigenschaft im Eigenschaftenfenster klicken.

Sie können diese Eigenschaften auch über einen Zeichenfolgenausdruck in einem Makro oder Visual Basic einstellen.

Die Eigenschaften können nur in der Entwurfsansicht oder während des Ereignisses Open eines Formulars oder Berichts eingestellt werden.

Hinweis

Die Felder oder Steuerelemente, die Sie zum Einstellen dieser Eigenschaften verwenden, brauchen nicht dieselben Namen zu haben, sie müssen jedoch bezüglich der Daten identische oder kompatible Felddatentypen und Feldgrößen besitzen. Ein Feld des Datentyps AutoWert ist z.B. kompatibel mit einem Feld des Datentyps Zahl, wenn die Eigenschaft FieldSize für das Zahlenfeld auf Long Integer eingestellt ist.

Sie können den Namen eines Steuerelements (einschließlich des Namens eines berechneten Steuerelements) zum Einstellen der Eigenschaft LinkMasterFields, jedoch nicht zum Einstellen der Eigenschaft LinkChildFields verwenden. Wenn Sie einen berechneten Wert als Verknüpfung für ein Unterformular, einen Unterbericht oder ein eingebettetes Objekt verwenden möchten, definieren Sie in der dem untergeordneten Objekt zugrundeliegenden Abfrage ein berechnetes Feld, und stellen Sie die Eigenschaft LinkChildFields auf das Feld ein.

Wenn Sie mehr als einen Feld- oder Steuerelementnamen für diese Eigenschafteneinstellungen angeben, müssen Sie dieselbe Anzahl von Feldern oder Steuerelementen für beide Eigenschaften, durch Semikolons (;) voneinander getrennt, angeben.

Wenn Sie ein Unterformular oder einen Unterbericht aus dem Datenbankfenster in ein anderes Formular oder einen anderen Bericht ziehen, um ein Formular oder einen Bericht zu erstellen, oder wenn Sie dazu den Formular-Assistenten verwenden, stellt Microsoft Access die Eigenschaften LinkChildFields und LinkMasterFields unter den folgenden Bedingungen automatisch ein:

•	Sowohl das Hauptformular oder der Hauptbericht als auch das untergeordnete Objekt basieren auf Tabellen, und mit dem Befehl Beziehungen wurde eine Beziehung definiert. Microsoft Access verwendet die Felder, die die Beziehung zwischen den beiden Tabellen herstellen, als Verknüpfungsfelder.

•	Das Hauptformular oder der Hauptbericht basiert auf einer Tabelle mit einem Primärschlüssel, und das Unterformular oder der Unterbericht basiert auf einer Tabelle oder Abfrage, die ein Feld enthält, das denselben Namen besitzt und denselben oder einen kompatiblen Datentyp hat wie dieser Primärschlüssel. Microsoft Access verwendet als Verknüpfungsfelder den Primärschlüssel der Tabelle, die dem Hauptobjekt zugrundeliegt, und das namensgleiche Feld der Tabelle oder Abfrage, die dem untergeordneten Objekt zugrundeliegt.

Anmerkung   Die Verknüpfungsfelder müssen nicht in dem Hauptobjekt oder dem untergeordneten Objekt enthalten sein. Solange diese Felder in den den Objekten zugrundeliegenden Tabellen oder Abfragen enthalten sind, können Sie diese Felder zum Verknüpfen der Objekte verwenden. Verwenden Sie einen Assistenten, schließt Microsoft Access die Verknüpfungsfelder automatisch ein.


Name-Eigenschaft (Name)

Mit der Eigenschaft Name können Sie einen Zeichenfolgenausdruck angeben, der den Namen eines Formulars, eines Berichts, eines Bereichs, eines Steuerelements oder eines Reference-Objekts festlegt.

Einstellung

Ein gültiger Name muß den Microsoft Access-Konventionen zur Objektbenennung entsprechen. Für Formulare und Berichte kann der Name maximal 64 Zeichen enthalten. Für Steuerelemente kann er maximal 255 Zeichen lang sein.

Für Formulare und Berichte stellen Sie die Eigenschaft Name ein, indem Sie in der Entwurfsansicht im Menü Datei auf Speichern klicken und einen gültigen Namen eingeben. Sie ändern den Namen eines bestehenden Formulars oder Berichts im Datenbankfenster, indem Sie auf den Namen klicken und dann entweder im Menü Bearbeiten auf Umbenennen  oder erneut auf den Namen klicken. Sie können den Namen auch ändern, indem Sie mit der rechten Maustaste darauf klicken und dann im Kontextmenü auf Umbenennen klicken. Wenn Sie den Namen eines vorhandenen Formulars oder Berichts ändern möchten, wenn das Objekt geöffnet ist, klicken Sie im Menü Datei auf Speichern unter/Exportieren.

Für einen Bereich oder ein Steuerelement können Sie diese Eigenschaft im Eigenschaftenfenster, mit einem Makro oder in Visual Basic einstellen. Sie können die Eigenschaft Name in Ausdrücken für Formulare und Berichte verwenden.

Sie können diese Eigenschaft nur in der Entwurfsansicht einstellen.

Anmerkung   Für ein Reference-Objekt ist diese Eigenschaft in allen Ansichten schreibgeschützt.

Hinweis

Der Standardname für neue Formulare und Berichte besteht aus dem Objektnamen und einer eindeutigen Integer. Das erste neue Formular heißt z.B. Formular1, das zweite Formular2 usw. Ein Formular darf nicht denselben Namen wie ein Systemobjekt, z.B. das Objekt Screen, haben.

Für ein ungebundenes Steuerelement besteht der Standardname aus dem Steuerelementtypen und einer eindeutigen Zahl des Typs Integer. Ist das erste Steuerelement, das Sie einem Formular hinzufügen, z.B. ein Textfeld, dann ist die Einstellung seiner Eigenschaft Name entsprechend Text1.

Für ein gebundenes Steuerelement besteht der Standardname aus dem Namen des Feldes der zugrundeliegenden Datenherkunft. Wenn Sie ein Steuerelement erstellen, indem Sie ein Feld aus der Feldliste ziehen, wird die Einstellung der Eigenschaft FieldName des Feldes in das Einstellungsfeld der Eigenschaft Name des Steuerelements kopiert.

Sie können einem Steuerelement oder einem Bereich keinen der Namen "Form" oder "Report" geben.

Für zwei Steuerelemente kann im selben Formular oder Bericht nicht derselbe Name verwendet werden, jedoch können Steuerelemente in unterschiedlichen Formularen oder Berichten dieselben Namen haben. Ein Steuerelement und ein Bereich desselben Formulars dürfen nicht denselben Namen haben.


Parent-Eigenschaft (Hauptobjekt)

Sie können die Eigenschaft Parent verwenden, um auf das Hauptobjekt eines Steuerelements, eines Bereichs oder eines Steuerelements zu verweisen, das andere Steuerelemente enthält. Die Eigenschaft Parent gibt ein Steuerelementobjekt zurück, falls das Hauptobjekt ein Steuerelement ist, ein Formularobjekt oder Berichtobjekt, falls das Hauptobjekt ein Formular oder ein Bericht ist.

Einstellung

Die Eigenschaft Parent verweist auf ein Formular-, Bericht- oder Steuerelementobjekt und ist in allen Ansichten schreibgeschützt.

Hinweis

Sie können die Eigenschaft Parent verwenden, um zu ermitteln, welches Formular oder welcher Bericht momentan das Hauptobjekt ist, wenn Sie ein Unterformular oder einen Unterbericht haben, das bzw. der in mehrere Formulare oder Berichte eingefügt wurde.

Sie können z. B. ein Unterformular mit dem Namen Bestelldetail sowohl in ein Formular als auch in einen Bericht einfügen. Das folgende Beispiel verwendet die Eigenschaft Parent zum Verweisen auf das Feld Bestell-Nr, das sowohl im Hauptformular als auch im Hauptbericht enthalten ist. Sie können diesen Ausdruck in ein gebundenes Steuerelement des Unterformulars eingeben.

= Parent!Bestell-Nr

Die Eigenschaft Parent eines Bezeichnungsfeld-Steuerelements entspricht dem Steuerelement, mit dem das Bezeichnungsfeld verknüpft ist. Die Eigenschaft Parent eines Kontrollkästchens, eines Optionsfelds oder einer Umschaltfläche einer Optionsgruppe entspricht dem Namen des Optionsgruppen-Steuerelements. Die Eigenschaft Parent eines Optionsgruppen-Steuerelements entspricht dem Namen des Formulars.


Parent-Eigenschaft (Hauptobjekt) - Beispiel

Das folgende Beispiel verwendet die Eigenschaft Parent zur Untersuchung des Hauptobjekts des Bezeichnungsfeld-Steuerelements SpeedyBezFeld, des Kontrollkästchen-Steuerelements Speedy und der Optionsgruppe Versand via.

Dim frm As Form

Dim ctl As Control

Set frm = Forms!Bestellungen

Set ctl = frm.[SpeedyBezFeld]

' Liefert den Namen des Steuerelements, das dem Bezeichnungsfeld

' zugeordnet ist.

MsgBox "Übergeordnetes Steuerelement: " & ctl.Parent.Name

Set ctl = frm.Speedy

' Liefert den Namen des Steuerelements, in dem das Steuerelement

' enthalten ist.

MsgBox "Übergeordnetes Steuerelement: " & ctl.Parent.Name

Set ctl = frm.VersandVia

' Liefert den Namen des Formulars, auf dem sich das Optionsgruppen-

' steuerelement befindet.

MsgBox "Übergeordnetes Steuerelement: " & ctl.Parent.Name

Das nächste Beispiel gibt auch den Namen des Formulars zurück, das das Optionsgruppen-Steuerelement enthält.

MsgBox Forms!Bestellungen![SpeedyBezFeld].Parent.Parent.Parent.Name


Section-Eigenschaft (Bereich)

Sie können die Eigenschaft Section verwenden, um einen Bereich eines Formulars oder Berichts zu bezeichnen und den Zugriff auf die Eigenschaften dieses Bereichs zu ermöglichen. Sie können auch Steuerelemente durch den Bereich eines Formulars oder Berichts bezeichnen, auf dem das Steuerelement erscheint.

Einstellung

Die Einstellung der Eigenschaft Section ist ein Wert des Datentyps lnteger, der einem bestimmten Bereich entspricht. Sie können Werte des Typs Integer oder  die untengenannten Konstanten verwenden. Der Vorteil der Verwendung der Konstanten ist, daß Ihr Code einfacher gelesen werden kann.

Einstellung	Konstante	Beschreibung
0	acDetail	Formulardetailbereich oder Berichtsdetailbereich
1	acHeader	Formular- oder Berichtskopfbereich
2	acFooter	Formular- oder Berichtsfußbereich
3	acPageHeader	Formular- oder Berichtsseitenkopfbereich
4	acPageFooter	Formular- oder Berichtsseitenfußbereich
5	acGroupLevel1Header	Gruppenebene 1 Kopfbereich (nur Berichte)
6	acGroupLevel1Footer	Gruppenebene 1 Fußbereich (nur Berichte)
7	acGroupLevel2Header	Gruppenebene 2 Kopfbereich (nur Berichte)
8	acGroupLevel2Footer	Gruppenebene 2 Fußbereich (nur Berichte)
Wenn ein Bericht zusätzliche Bereiche für Gruppenebenen hat, werden die Kopf-/Fußbereichsnummern fortlaufend ab 9 numeriert.

Die Eigenschaft Section ist in allen Ansichten schreibgeschützt.

Für Formulare und Berichte entspricht die Eigenschaft Section einem Datenfeld aller bestehenden Bereiche des Formulars oder Berichts, die mit der Bereichszahl festgelegt wird. So verweist Section(0) z.B. auf den Detailbereich eines Formulars und Section(3) auf den Seitenkopfbereich eines Formulars.

Sie können auch durch einen Namen auf einen Bereich verweisen. Die folgenden Anweisungen sind identisch und verweisen auf den Bereich Detail0 des Formulars Kunden.

Forms!Kunden.Section(acDetail).Visible

Forms!Kunden.Section(0).Visible

Forms!Kunden.Detail0.Visible

Hinweis

Bei Formularen und Berichten müssen Sie die Eigenschaft Section mit anderen Eigenschaften, die für Formular- oder Berichtsbereiche gelten, kombinieren. Das folgende Beispiel zeigt, wie Sie auf die Eigenschaft Visible des Seitenkopfbereichs des Formulars Kunden verweisen.

Forms!Kunden.Section(acPageHeader).Visible

Forms!Kunden.Section(3).Visible

Für Steuerelemente können Sie die Eigenschaft Section verwenden, um zu ermitteln, in welchem Bereich eines Formulars oder Berichts sich ein Steuerelement befindet. Im folgenden Beispiel wird mit Hilfe der Eigenschaft Section ermittelt, welcher Bereich das Steuerelement Kunden-Code enthält.

Dim intBereichsnummer As Integer

intBereichsnummer = Forms!Kunden!Kunden-Code.Section


SourceObject-Eigenschaft (Herkunftsobjekt)

Sie können die Eigenschaft SourceObject zur Bezeichnung des Formulars oder des Berichts verwenden, das oder der die Herkunft des Unterformulars oder des Unterberichts eines Formulars oder eines Berichts darstellt. Sie können diese Eigenschaft auch für verknüpfte Objektfelder verwenden, um den vollständigen Pfad und Namen der Datei anzugeben, die die mit dem Objektfeld verknüpften Daten enthält.

Einstellung

Geben Sie im Eigenschaftenfenster des Steuerelements, den Namen des Formulars oder des Berichts an, das oder der die Herkunft des Unterformulars oder des Unterberichts darstellt. Wenn Sie ein Unterformular bzw. einen Unterbericht durch Ziehen aus dem Datenbankfenster in ein Formular bzw. einen Bericht einfügen, wird die Eigenschaft SourceObject im Eigenschaftenfenster automatisch eingestellt.

Bei Objektfeldern wird die Eigenschaft SourceObject automatisch eingestellt, wenn Sie den Befehl Objekt aus dem Menü Einfügen zum Einfügen eines verknüpften OLE-Objekts verwenden.

Bei einem Unterformular oder einem Unterbericht können Sie diese Eigenschaft im Eigenschaftenfenster des Steuerelements, mit einem Makro oder in Visual Basic einstellen.

In Visual Basic stellen Sie diese Eigenschaft über einen Zeichenfolgenausdruck ein, der den Namen eines Formulars oder eines Berichts darstellt.

Für verknüpfte Objektfelder kann die Eigenschaft SourceObject in keiner Ansicht eingestellt werden.

Anmerkung   Sie können die Eigenschaft SourceObject nicht in den Ereignissen Open oder Format eines Berichts verändern oder einstellen.

Hinweis

Wenn Sie die Einstellung für die Eigenschaft SourceObject im Eigenschaftenfenster eines Unterformulars bzw. Unterberichts löschen, verbleibt das Steuerelement zwar auf dem Formular, ist aber nicht mehr an das Herkunftsformular oder den Herkunftsbericht gebunden.


SourceObject-Eigenschaft (Herkunftsobjekt) - Beispiel

Das folgende Beispiel zeigt den Namen des Formulars, das die Herkunft des Unterformular-Steuerelements Artikelliste darstellt, im Testfenster an.

Debug.Print Forms!Kategorien! _

[Artikelliste].SourceObject


ActiveControl-Eigenschaft (AktivesSteuerelement)

Sie können die Eigenschaft ActiveControl zusammen mit dem Screen-Objekt verwenden, um das Steuerelement zu kennzeichnen oder auf das Steuerelement zu verweisen, das den Fokus besitzt.

Einstellung

Die Einstellung dieser Eigenschaft enthält einen Verweis auf das Objekt Control, das zur Laufzeit den Fokus hat.

Diese Eigenschaft ist in einem Makro oder in Visual Basic verfügbar und in allen Ansichten schreibgeschützt.

Hinweis

Verwenden Sie die Eigenschaft ActiveControl, um auf das Steuerelement zu verweisen, das zur Laufzeit den Fokus hat, und um eine der zugehörigen Eigenschaften oder Methoden anzugeben. Das folgende Beispiel weist den Namen des Steuerelements, das den Fokus besitzt, der Variablen strSteuerelement zu:

Dim AktSteuerelement As Control

Dim strSteuerelement As String

Set AktSteuerelement = Screen.ActiveControl

strSteuerelement = AktSteuerelement.Name

Wenn Sie die Eigenschaft ActiveControl verwenden, jedoch kein Steuerelement den Fokus hat, oder wenn alle Steuerelemente des aktiven Formulars ausgeblendet oder deaktiviert sind, tritt ein Fehler auf.


ActiveControl-Eigenschaft (AktivesSteuerelement) - Beispiel

Der folgende Code weist der Variablen AktSteuerelement das aktive Steuerelement zu und führt dann in Abhängigkeit vom Wert der Eigenschaft Name des Steuerelements verschiedene Aktionen aus.

Dim AktSteuerelement As Control

Set AktSteuerelement = Screen.ActiveControl

If AktSteuerelement.Name = "txtKundenCode" Then

.	' Diese Aktion ausführen.

.

.

ElseIf AktSteuerelement.Name = "btnKundenDetails" Then

.	' Diese Aktion ausführen.

.

.

End If


ActiveForm-Eigenschaft (AktivesFormular)

Sie können die Eigenschaft ActiveForm zusammen mit dem Screen-Objekt verwenden, um das Formular zu kennzeichnen oder auf das Formular zu verweisen, das den Fokus besitzt.

Einstellung

Die Einstellung dieser Eigenschaft enthält das Objekt Form, das zur Laufzeit den Fokus hat.

Diese Eigenschaft ist in einem Makro oder in Visual Basic verfügbar und in allen Ansichten schreibgeschützt.

Hinweis

Verwenden Sie die Eigenschaft ActiveForm, um auf das Formular zu verweisen und eine der zugehörigen Eigenschaften oder Methoden anzugeben. Das folgende Beispiel zeigt die Einstellung der Eigenschaft Name des aktiven Formulars an:

Dim AktFormular As Form

Set AktFormular = Screen.ActiveForm

MsgBox "Das aktuelle Formular ist " & AktFormular.Name

Wenn ein Unterformular den Fokus hat, verweist ActiveForm auf das Hauptformular. Wenn Sie die Eigenschaft ActiveForm verwenden, aber kein Formular oder Unterformular den Fokus hat, tritt ein Fehler auf.


ActiveReport-Eigenschaft (AktiverBericht)

Sie können die Eigenschaft ActiveReport zusammen mit dem Screen-Objekt verwenden, um den Bericht anzugeben oder auf den Bericht zu verweisen, der den Fokus besitzt.

Einstellung

Die Einstellung dieser Eigenschaft enthält das Objekt Report, das zur Laufzeit den Fokus hat.

Diese Eigenschaft ist nur in einem Makro oder in Visual Basic verfügbar und in allen Ansichten schreibgeschützt.

Hinweis

Verwenden Sie die Eigenschaft ActiveReport, um auf den aktiven Bericht zu verweisen und eine der zugehörigen Eigenschaften oder Methoden anzugeben. Das folgende Beispiel zeigt die Einstellung der Eigenschaft Name des aktiven Berichts an:

Dim AktuellerBericht As Report

Set AktuellerBericht = Screen.ActiveReport

MsgBox "Der aktuelle Bericht ist " & AktuellerBericht.Name

Wenn Sie die Eigenschaft ActiveReport verwenden, aber kein Bericht den Fokus hat, tritt ein Fehler auf.


Bookmark-Eigenschaft (Microsoft Access)

Sie können die Eigenschaft Bookmark für Formulare verwenden, um ein Lesezeichen zu setzen, das einen bestimmten Datensatz der zugrundeliegenden Tabelle, Abfrage oder SQL-Anweisung des Formulars eindeutig kennzeichnet.

Einstellung

Die Einstellung der Eigenschaft Bookmark enthält einen von Microsoft Access erstellten Zeichenfolgenausdruck.

Sie können auf diese Eigenschaft über ein Makro oder über Visual Basic zugreifen.

Anmerkung   Sie können die Eigenschaft Bookmark des Formulars getrennt von der DAO-Eigenschaft Bookmark der zugrundeliegenden Tabelle oder Abfrage abrufen oder einstellen.

Hinweis

Beim Öffnen eines gebundenen Formulars in der Formularansicht besitzt jeder Datensatz bereits ein eindeutiges Lesezeichen. In Visual Basic können Sie das Lesezeichen des aktuellen Datensatzes speichern, indem Sie den Wert der Eigenschaft Bookmark einer Variablen vom Datentyp String zuweisen. Sie können, nachdem Sie sich zu einem anderen Datensatz bewegt haben, jederzeit zu diesem Datensatz zurückkehren, indem Sie der Eigenschaft Bookmark des Formulars den Wert der Variablen zuweisen. Sie können die Funktion StrComp verwenden, um ein Lesezeichen mit einer Zeichenfolge vom Typ Variant oder String bzw. um zwei Lesezeichen miteinander zu vergleichen. Das dritte Argument der Funktion StrComp muß hierbei auf Null eingestellt werden.Anmerkung   Lesezeichen werden nicht zusammen mit den dadurch repräsentierten Datensätzen gespeichert und sind nur gültig, während das Formular geöffnet ist. Sie werden jedesmal von Microsoft Access neu erstellt, wenn ein gebundenes Formular geöffnet wird.

Es gibt keine Beschränkung hinsichtlich der Anzahl von Lesezeichen, die gespeichert werden können, wenn jedes mit einer eindeutigen Variablen vom Datentyp String gespeichert wird.

Die Eigenschaft Bookmark ist nur für den aktuellen Datensatz des Formulars verfügbar. Damit ein Lesezeichen für einen Datensatz, der nicht der aktuelle Datensatz ist, gespeichert wird, müssen Sie sich zu dem gewünschten Datensatz bewegen und einer Variablen vom Datentyp String, die diesen Datensatz bezeichnet, den Wert der Eigenschaft Bookmark zuweisen.

Sie können Lesezeichen in jedem Formular verwenden, das vollständig auf Microsoft Access-Tabellen basiert. Aber nicht alle Datenbankprodukte unterstützen Lesezeichen. Sie können Lesezeichen z.B. nicht in einem Formular verwenden, das auf einer verknüpften Tabelle ohne Primärindex basiert.

Das erneute Ausführen einer Abfrage macht alle Lesezeichen, die auf Datensätze des Formulars gesetzt sind, ungültig. Wenn Sie im Menü Datensätze auf Anzeige aktualisieren klicken, hat dies jedoch keine Auswirkungen auf die Lesezeichen.

Da Microsoft Access ein eindeutiges Lesezeichen für jeden Datensatz in der Datensatzgruppe eines Formulars erstellt, wenn ein Formular geöffnet wird, kann ein Lesezeichen eines Formulars nicht in einer anderen Datensatzgruppe verwendet werden, auch dann nicht, wenn beide Datensatzgruppen auf derselben Tabelle, Abfrage oder SQL-Anweisung basieren. Nehmen Sie z.B. an, Sie öffnen ein an die Tabelle Kunden gebundenes Formular. Wenn Sie dann die Tabelle Kunden über Visual Basic öffnen und die Methode Seek verwenden, um einen bestimmten Datensatz in der Tabelle zu finden, können Sie die Eigenschaft Bookmark des Formulars nicht auf den aktuellen Tabellendatensatz einstellen. Wenden Sie die Methode FindFirst auf die Eigenschaft RecordsetClone des Formulars an, um diese Operation auszuführen.

Wenn Sie die Eigenschaft Bookmark auf die Variable vom Datentyp String einstellen, den Datensatz löschen und dann versuchen, zu diesem Datensatz zurückzukehren, tritt ein Fehler auf.

Der Wert der Eigenschaft Bookmark stimmt nicht mit der Datensatznummer überein.


Bookmark-Eigenschaft - Beispiel

Um folgendes Beispiel mit der Nordwind-Beipieldatenbank testen zu können, müssen Sie die Befehlsschaltfläche cmdKontaktSuchen in das Formular Lieferanten einfügen und dann zum Click-Ereignis der Schaltfläche den folgenden Code hinzufügen. Nach dem Anklicken der Schaltfläche wird der Benutzer dazu aufgefordert, einen Teil des Namens der gesuchten Kontaktperson einzugeben. Wird der Name gefunden, wird die Eigenschaft Bookmark des Formulars durch die DAO-Eigenschaft Bookmark des Recordset-Objekts ersetzt, wodurch der Datensatz, der den Namen enthält, der aktuelle Datensatz des Formulars wird.

Private Sub cmdKontakt Suchen_Click()

Dim rst As Recordset, strCriteria As String

strCriteria = "[ContactName] Like '*" & InputBox("Geben Sie " _

& "die ersten Buchstaben des gesuchten Namens ein ") & "*'"

Set rst = Me.RecordsetClone

rst.FindFirst strCriteria

If rst.NoMatch Then

MsgBox "Kein Eintrag"

Else

Me.Bookmark = rst.Bookmark

End If

End Sub


CurrentObjectType-, CurrentObjectName-Eigenschaften

Sie können die Eigenschaften CurrentObjectType und CurrentObjectName zusammen mit dem Objekt Application verwenden, um den Typ des aktiven Datenbankobjekts (Tabelle, Abfrage, Formular, Bericht, Makro oder Modul) und den Namen des aktiven Datenbankobjekts zu ermitteln. Das Objekt mit dem Fokus oder das Objekt, in dem Code ausgeführt wird, ist das aktive Datenbankobjekt.

Einstellung

Die Eigenschaft CurrentObjectType wird von Microsoft Access auf eine der folgenden eingebauten Konstanten eingestellt.

Einstellung	Beschreibung
acTable	Das aktive Objekt ist eine Tabelle.
AcQuery	Das aktive Objekt ist eine Abfrage.
AcForm	Das aktive Objekt ist ein Formular.
AcReport	Das aktive Objekt ist ein Bericht.
AcMacro	Das aktive Objekt ist ein Makro.
AcModule	Das aktive Objekt ist ein Modul.
Die Eigenschaft CurrentObjectName wird von Microsoft Access auf einen Zeichenfolgenausdruck festgelegt, der den Namen des aktiven Objekts enthält.

Die Einstellungen dieser Eigenschaften sind nur in Visual Basic verfügbar und in allen Ansichten schreibgeschützt.

Hinweis

Die folgenden Bedingungen bestimmen, welches Objekt als das aktive Objekt angesehen wird:

•	Ist das aktive Objekt ein Eigenschaftenfenster, eine Befehlsleiste, ein Menü, eine Palette oder eine Feldliste eines Objekts geben die Eigenschaften CurrentObjectType und CurrentObjectName den Typ und den Namen des zugrundeliegenden Objekts zurück.

•	Ist das Objekt ein Popup-Formular, beziehen sich die Eigenschaften CurrentObjectType und CurrentObjectName auf das Popup-Formular selbst und nicht auf das Formular, von dem aus dieses geöffnet wurde.

•	Wenn das aktive Objekt das Datenbankfenster ist, geben die Eigenschaften CurrentObjectType und CurrentObjectName das im Datenbankfenster ausgewählte Element zurück.

•	Wenn kein Objekt ausgewählt ist, gibt die Eigenschaft CurrentObjectType den Wert True (-1) und die Eigenschaft CurrentObjectName eine leere Zeichenfolge (" ") zurück.

•	Wenn der aktuelle Zustand mehrdeutig ist (d.h. das aktive Objekt ist keine Tabelle, keine Abfrage, kein Formular, kein Bericht, kein Makro und auch kein Modul), wenn z.B. ein Dialogfeld den Fokus hat, gibt die Eigenschaft CurrentObjectType den Wert True und die Eigenschaft CurrentObjectName den Namen des Dialogfelds zurück.

Sie können diese Eigenschaften mit der Funktion SysCmd verwenden, um das aktive Objekt und seinen Zustand zu ermitteln (z.B. ob das Objekt geöffnet oder neu ist, bzw. ob es geändert, aber nicht gespeichert wurde).


CurrentObjectType-, CurrentObjectName-Eigenschaften - Beispiel

Das folgende Beispiel verwendet die Eigenschaften CurrentObjectType und CurrentObjectName zusammen mit der Funktion SysCmd, um zu ermitteln, ob das aktive Objekt das Formular Artikel ist und ob dieses Formular geöffnet ist und geändert, aber nicht gespeichert wurde. Wenn diese Bedingungen erfüllt sind, wird das Formular gespeichert und dann geschlossen.

Sub ArtikelPrüfen()

Dim intZustand As Integer

Dim intAktuellerTyp As Integer

Dim strAktuellerName As String

intAktuellerTyp = Application.CurrentObjectType

strAktuellerName = Application.CurrentObjectName

If intAktuellerTyp = acForm And strAktuellerName = " Artikel " Then

intZustand = SysCmd(acSysCmdGetObjectState, intAktuellerTyp, strAktuellerName)

' Formular "Artikel" wurde geändert, aber nicht gespeichert.

If intZustand = acObjStateDirty + _

acObjStateOpen Then

' Formular "Artikel" schließen und Änderungen speichern.

DoCmd.Close intAktuellerTyp, _

strAktuellerName, acSaveYes

End If

End If

End Sub


Me-Eigenschaft

Sie können die Eigenschaft Me in Visual Basic verwenden, um auf das Formular, den Bericht oder das Klassenmodul zu verweisen, in dem momentan Visual Basic-Code ausgeführt wird. Dies kann auch das Formular oder der Bericht sein, das bzw. der mit einem Unterformular oder Unterbericht verknüpft ist, in dem momentan Visual Basic-Code ausgeführt wird.

Einstellung

Die Eigenschaft Me ist nur in Visual Basic verfügbar und in allen Ansichten schreibgeschützt.

Hinweis

Die Eigenschaft Me enthält eine Objektreferenz auf das aktuelle Formular oder den aktuellen Bericht und ist schneller als eine qualifizierte Objektreferenz. Die folgenden zwei Konstrukte beziehen sich zum Beispiel auf den Wert des Steuerelements Nachname für den aktuellen Datensatz im Formular Personal:

strNachname = Forms!Personal.Nachname

strNachname = Me!Nachname

In den meisten Fällen bezieht sich die Eigenschaft Me auf dasselbe Formular bzw. denselben Bericht wie die Eigenschaften ActiveForm oder ActiveReport des Screen-Objekts. Diese Eigenschaften beziehen sich jedoch auf das Formular bzw. den Bericht mit dem Fokus, während sich die Eigenschaft Me immer auf das Formular bzw. den Bericht bezieht, in dem Code ausgeführt wird. Das Ereignis Timer kann z.B. in einem Formular eintreten, das nicht den Fokus besitzt. In diesem Fall bezieht sich der Code Screen.ActiveForm auf das Formular mit dem Fokus und die Eigenschaft Me auf das Formular, in dem das Ereignis Timer eingetreten ist. Deshalb sollte beim Erstellen von allgemeinen Prozeduren, die Operationen auf dem aktuellen Formular ausführen, das Formular mit Hilfe der Eigenschaft Me an die Prozedur übergeben werden, anstatt mit Hilfe der Eigenschaft ActiveForm.

Sie können mit dem Schlüsselwort Me in Klassenmodulen auf die aktuelle Instanz der betreffenden Klassen verweisen. Genauso wie Sie Me in Formular- und Berichtsklassenmodulen verwenden, um einen Verweis auf das aktuelle Formular bzw. den aktuellen Bericht abzurufen, können Sie mit Me in einem Klassenmodul einen Verweis auf das aktuelle Klassenmodulobjekt abrufen.


Me-Eigenschaft - Beispiel

Das folgende Beispiel zeigt, wie Sie die Beschriftung des Formulars Kunden durch eine benutzerdefinierte Beschriftung ersetzen. Die Unterroutine BeschriftungÄndern übergibt als Argument die Eigenschaft Me (die für das Objekt Form steht), um das aktive Formular anzugeben. Da die Prozedur BeschriftungÄndern die Überschrift des aktiven (und keines bestimmten) Formulars ändert, kann sie auch aus anderen Prozeduren in einer Anwendung aufgerufen werden.

BeschriftungÄndern Me, InputBox("Neue Bezeichnung "

& "für das Formular")

Sub BeschriftungÄndern(frmAktFormular As _

Form, strCaption As String)

' Beschriftung ändern.

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-Eigenschaft

Sie können die Eigenschaft Module verwenden, um ein Formularmodul oder Berichtsmodul anzugeben.

Einstellung

Die Eigenschaft Module ist nur in Visual Basic verfügbar und in allen Ansichten schreibgeschützt.

Anmerkung   Die Eigenschaft Module gibt auch eine Referenz auf ein bestimmtes Objekt Module zurück.

Hinweis

Verwenden Sie die Eigenschaft Module, um auf die Eigenschaften und Methoden eines Modulobjekts zuzugreifen, die einem Objekt Form oder Report zugeordnet sind.

Die Einstellungen der Eigenschaft HasModule eines Formulars oder eines Berichts legt fest, ob es ein zugeordnetes Modul gibt. Ist der Wert der Eigenschaft HasModule vom Typ False, ist dem Formular oder dem Bericht kein Modul zugeordnet. Beziehen Sie sich in der Entwurfsansicht auf die Eigenschaft Module des Formulars oder Berichts, so erstellt Microsoft Access das zugeordnete Modul und setzt die Eigenschaft HasModule auf True. Wenn Sie dagegen zur Laufzeit auf die Eigenschaft Module eines Formulars oder Berichts verweisen und die Eigenschaft HasModule des Objekts auf False eingestellt ist, tritt ein Fehler auf..

Sie können diese Eigenschaft in Verbindung mit allen Eigenschaften und Methoden des Module-Objekts verwenden.


Module-Eigenschaft - Beispiel

Das folgende Beispiel verwendet die Eigenschaft Module, um die Methode Beep im Ereignis Open des Formulars einzufügen.

Dim strFormularÖffnenCode As String

Dim mdl As Module

Set mdl = Forms!MyForm.Module

strFormularÖffnenCode = "Sub Form_Open(Cancel As Integer)" _

& vbCrLf & "Beep" & vbCrLf & "End Sub"

With mdl

.InsertText strFormularÖffnenCode

End With


RecordsetClone-Eigenschaft (DatensatzgruppeDuplizieren)

Sie können die Eigenschaft RecordsetClone verwenden, um auf ein Objekt Recordset zu verweisen, das von der Eigenschaft RecordSource eines Formulars angegeben wird.

Einstellung

Die Einstellung der Eigenschaft RecordsetClone eines Formulars stellt eine Kopie der Abfrage oder Tabelle dar, die dem Formular zugrundeliegt und von der Einstellung der Eigenschaft RecordSource des Formulars festgelegt wird. Basiert ein Formular z.B. auf einer Abfrage, so entspricht ein Verweis auf die Eigenschaft RecordsetClone dem Kopieren eines Recordset-Objekts unter Verwendung derselben Abfrage. Wenn Sie dann für das Formular einen Filter anwenden, wird das Recordset-Objekt der Filterung angepaßt.

Die Eigenschaft RecordsetClone ist nur in Visual Basic verfügbar und ist in allen Ansichten schreibgeschützt.

Hinweis

Verwenden Sie die Eigenschaft RecordsetClone, wenn Sie mit den Datensätzen eines Formulars unabhängig von diesem Formular arbeiten möchten. Sie verwenden z.B. die Eigenschaft RecordsetClone, wenn Sie eine Methode wie z.B. FindFirst einsetzen möchten, die nicht für Formulare verwendet werden kann.

Wenn ein neues Recordset-Objekt geöffnet wird, ist dessen erster Datensatz der aktuelle Datensatz. Wenn Sie eine der Methoden Find oder Move verwenden, um einen beliebigen Datensatz des jeweiligen Recordset-Objekts zum aktuellen Datensatz zu erklären, müssen Sie den aktuellen Datensatz im Recordset-Objekt mit dem aktuellen Datensatz des Formulars synchronisieren. Dazu weisen Sie den Wert der DAO-Eigenschaft Bookmark der Eigenschaft Bookmark des Formulars zu.

Mit der Eigenschaft RecordCount können Sie die Anzahl der Datensätze eines Recordset-Objekts ermitteln. Das folgende Beispiel zeigt, wie Sie die Eigenschaften RecordCount und RecordsetClone kombinieren können, um die Datensätze eines Formulars zu zählen:

Forms!Bestellungen.RecordsetClone.MoveLast

MsgBox "Mein Formular enthält " _

& Forms!Bestellungen.RecordsetClone.RecordCount

& " Datensätze.", vbInformation, " Datensatzanzahl "

Anmerkung   Sobald Sie das Formular geschlossen oder die Eigenschaft RecordSource des Formulars geändert haben, ist das Recordset-Objekt nicht mehr gültig. Wenn Sie später auf das Recordset-Objekt oder auf vorher gespeicherte Lesezeichen des Formulars oder des Recordset-Objekts verweisen, tritt ein Fehler auf.


RecordsetClone-Eigenschaft (DatensatzgruppeDuplizieren) - Beispiel

Das folgende Beispiel verwendet die Eigenschaft RecordsetClone, um ein Recordset-Objekt aus dem Formular Bestellungen zu erstellen und dann die Namen der Felder im Testfenster auszugeben.

Sub FeldnamenAusgeben()

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

Das nächste Beispiel verwendet die Eigenschaft RecordsetClone und das Recordset-Objekt, um den Datensatz einer Datensatzgruppe mit dem aktuellen Datensatz eines Formulars zu synchronisieren. Wenn ein Firmenname aus einem Kombinationsfeld ausgewählt ist, wird die Methode FindFirst verwendet, um den Datensatz für diese Firma zu finden, und die DAO-Eigenschaft Bookmark des Recordset-Objekts wird der Eigenschaft Bookmark des Formulars zugewiesen, was bewirkt, daß das Formular den gefundenen Datensatz anzeigt.

Sub SupplierID_AfterUpdate()

Dim rst As Recordset

DimstrGesuchterName As String

Set rst = Me.RecordsetClone

strGesuchterName = Str(Me!SupplierID)

rst.FindFirst "SupplierID = " & strGesuchterName

If rst.NoMatch Then

MsgBox " Datensatz nicht gefunden "

Else

Me.Bookmark = rst.Bookmark

End If

rst.Close

End Sub


GrpKeepTogether-Eigenschaft (GruppeZusammenhalten)

Sie können mit der Eigenschaft GrpKeepTogether angeben, ob Gruppen eines mehrspaltigen Berichts, deren Eigenschaft KeepTogether auf Ganze Gruppe oder Mit 1. Detaildatensatz eingestellt ist, pro Seite oder pro Spalte zusammengehalten werden.

Einstellung

Die Eigenschaft GrpKeepTogether verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Pro Seite	Gruppen werden pro Seite zusammengehalten.	0
Pro Spalte	(Voreinstellung) Gruppen werden pro Spalte zusammengehalten.	1
Sie können die Eigenschaft GrpKeepTogether im Eigenschaftenfenster des Berichts, mit einem Makro oder in Visual Basic einstellen.

Diese Eigenschaft kann nur in der Entwurfsansicht für Berichte eingestellt werden.

Hinweis

Mit der Eigenschaft GrpKeepTogether können Sie angeben, ob alle Daten einer Gruppe in derselben Spalte angezeigt werden sollen. Haben Sie z.B. eine Liste der Angestellten je Abteilung in einem mehrspaltigen Format, können Sie diese Eigenschaft dazu verwenden, alle Mitglieder einer Abteilung in derselben Spalte aufzuführen.

Die Einstellung der Eigenschaft GrpKeepTogether hat keine Wirkung , wenn die Eigenschaft KeepTogether auf No gesetzt ist.


HasContinued-Eigenschaft

Sie können mit der Eigenschaft HasContinued ermitteln, ob ein Teil des aktuellen Bereichs auf der vorherigen Seite beginnt.

Einstellung

Die Eigenschaft HasContinued wird von Microsoft Access eingestellt und ist in allen Ansichten schreibgeschützt.

Wert	Beschreibung
Wahr (-1)	Ein Teil des aktuellen Bereichs wurde auf der vorherigen Seite gedruckt.
Falsch (0)	Kein Teil des aktuellen Bereichs wurde auf der vorherigen Seite gedruckt.
Sie können den Wert der Eigenschaft HasContinued mit einem Makro oder in Visual Basic abrufen.

Hinweis

Sie können mit der Eigenschaft HasContinued festlegen, ob bestimmte Steuerelemente abhängig davon, welchen Wert die Eigenschaft hat, ausgeblendet oder angezeigt werden sollen. In einem Seitenkopf kann sich z.B. ein ausgeblendetes Bezeichnungsfeld befinden, das den Text "Fortsetzung von vorheriger Seite" enthält. Wenn der Wert der Eigenschaft HasContinued gleich Wahr ist, können Sie das ausgeblendete Bezeichnungsfeld sichtbar machen.


HasData-Eigenschaft

Sie können mit der Eigenschaft HasData ermitteln, ob ein Formular oder ein Bericht an eine leere Datensatzgruppe gebunden ist.

Einstellung

Die Eigenschaft HasData wird von Microsoft Access eingestellt. Der Wert dieser Eigenschaft kann nur während des Druckvorgangs oder in der Seitenansicht gelesen werden.

Wert	Beschreibung
-1	Das Objekt verfügt über Daten.
0	Das Objekt verfügt nicht über Daten.
1	Das Objekt ist ungebunden.
Sie können den Wert der Eigenschaft HasData über ein Makro oder Visual Basic abrufen.

Hinweis

Sie können mit der Eigenschaft HasData festlegen, ob ein Unterbericht ausgeblendet wird, der keine Daten enthält. Der folgende Ausdruck z.B. blendet das Unterbericht-Steuerelement aus, wenn dessen Bericht keine Daten enthält.

Me!UnterberichtSt.Visible = Me!UnterberichtSt.Report.HasData


RepeatSection-Eigenschaft (BereichWiederholen)

Sie können mit der Eigenschaft RepeatSection angeben, ob ein Gruppenkopf auf der nächsten Seite oder über der nächsten Spalte wiederholt wird, wenn eine Gruppe mehr als eine Seite oder Spalte umfaßt.

Anmerkung	Die Eigenschaft RepeatSection betrifft nur die Gruppenköpfe in einem Bericht.

Einstellung

Die Eigenschaft RepeatSection verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Ja	Der Gruppenkopf wird wiederholt.	True (-1)
Nein	(Voreinstellung) Der Gruppenkopf wird nicht wiederholt.	False (0)
Sie können die Eigenschaft RepeatSection mit dem Eigenschaftenfenster des Gruppenkopfbereichs, mit einem Makro oder über Visual Basic einstellen.

Hinweis

Wird ein Bericht gedruckt, der einen Unterbericht enthält, legt die Eigenschaft RepeatSection des Unterberichts fest, ob die Gruppenköpfe des Unterberichts über alle Seiten bzw. Spalten hinweg wiederholt werden.


WillContinue-Eigenschaft

Sie können mit der Eigenschaft WillContinue ermitteln, ob der aktuelle Bereich auf der folgenden Seite fortgesetzt wird.

Einstellung

Die Eigenschaft WillContinue wird von Microsoft Access eingestellt und ist in allen Ansichten schreibgeschützt.

Wert	Beschreibung
Wahr (-1)	Der aktuelle Bereich wird auf der folgenden Seite fortgesetzt.
Falsch (0)	Der aktuelle Bereich wird nicht auf der folgenden Seite fortgesetzt.
Sie können den Wert der Eigenschaft WillContinue mit einem Makro oder mit Visual Basic abrufen.

Hinweis

Sie können mit der Eigenschaft WillContinue festlegen, ob bestimmte Steuerelemente abhängig davon, welchen Wert die Eigenschaft hat, ausgeblendet oder angezeigt werden sollen. In einem Seitenkopf kann sich z.B. ein ausgeblendetes Bezeichnungsfeld befinden, das den Text "Fortsetzung auf der nächsten Seite" enthält. Wenn der Wert der Eigenschaft WillContinue gleich Wahr ist, können Sie das ausgeblendete Bezeichnungsfeld sichtbar machen.


ColumnHidden-Eigenschaft (SpalteAusgeblendet)

Sie können die Eigenschaft ColumnHidden zum Anzeigen oder Ausblenden einer bestimmten Spalte in der Datenblattansicht verwenden. Sie könnten z.B. ein Feld namens Kundenadresse, das zu breit ist, ausblenden, so daß die Felder Kundenname und Telefonnummer angezeigt werden können.

Anmerkung   Die Eigenschaft ColumnHidden gilt für alle Felder in der Datenblattansicht und für Formular-Steuerelemente, wenn sich das Formular in der Datenblattansicht befindet.

Einstellung

Sie können die Eigenschaft ColumnHidden einstellen, indem Sie im Menü Format in der Datenblattansicht auf Spalten ausblenden oder Spalten einblenden klicken.

Sie können diese Eigenschaft auch in Visual Basic unter Verwendung eines Wertes vom Typ Long Integer einstellen.

Einstellung	Beschreibung
True (–1)	Die Spalte ist ausgeblendet.
False (0)	(Voreinstellung) Die Spalte ist sichtbar.
Wenn Sie diese Eigenschaft für eine Tabelle oder Abfrage mit Visual Basic einstellen oder ändern möchten, müssen Sie die Properties-Auflistung eines Feldes verwenden. Ausführliche Informationen zur Verwendung der Properties-Auflistung finden Sie unter Property-Objekt, Properties-Auflistung (Zusammenfassung).

Die Eigenschaft ColumnHidden ist in der Entwurfsansicht des Formulars nicht verfügbar.

Hinweis

Das Ausblenden einer Spalte in der Datenblattansicht blendet keine Felder dieser Spalte in der Formularansicht aus. Auch blendet das Einstellen der Eigenschaft Visisble eines Steuerelements in der Formularansicht auf False nicht die entsprechende Spalte in der Datenblattansicht aus.

Sie können ein Feld in einer Abfrage auch dann anzeigen, wenn die Spalte des Tabellenfelds in der Datenblattansicht ausgeblendet ist.

Sie können Werte einer ausgeblendeten Spalte als Kriterien für einen Filter auch dann verwenden, wenn die Spalte nach Hinzufügen des Filters ausgeblendet bleibt.

Sie können die Befehle Kopieren, Einfügen, Suchen und Ersetzen im Menü Bearbeiten nicht für ausgeblendete Spalten verwenden.

Das Einstellen der Eigenschaft ColumnWidth eines Feldes auf 0 oder die Größenänderung des Feldes auf die Breite Null in der Datenblattansicht bewirkt, daß Microsoft Access die entsprechende Eigenschaft ColumnHidden auf True einstellt. Das Einblenden einer Spalte stellt die Eigenschaft ColumnWidth wieder auf den Wert ein, der vor der Ausblendung eingestellt war.


ColumnHidden-Eigenschaft (SpalteAusgeblendet) - Beispiel

Dieses Beispiel blendet das Feld Artikel-Nr des Formulars Artikel in der Datenblattansicht aus.

Forms! Artikel!Artikel-Nr.ColumnHidden = -1

Das folgende Beispiel blendet auch das Feld Artikel-Nr der Tabelle Artikel in der Datenblattansicht aus. Zur Einstellung der Eigenschaft SpalteAusgeblendet verwendet das Beispiel die Prozeduren SpalteAnzeigen und FeldEigEinstellen, die sich im Standardmodul der Datenbank befinden.

Dim dbs As Database

Set dbs = CurrentDb

SpalteAnzeigen dbs.TableDefs!Artikel.Fields!Artikel-Nr, False

Sub SpalteAnzeigen(fldObject As Field, intShow As Integer)

' Eigenschaft Set ColumnHidden setzen.

SetFieldProperty fldObject, "ColumnHidden", dbLong, Not intShow

End Sub

Sub SetFieldProperty(fldField As Field, strPropertyName As String, _

intPropertyType As Integer, varPropertyValue As Variant)

' Feldeigenschaft setzen, ohne nicht behebbare Laufzeitfehler zu erzeugen.

Const conErrPropertyNotFound = 3270

Dim prpProperty As Property

On Error Resume Next	' Fehler nicht abfangen.

fldField.Properties(strPropertyName) = varPropertyValue

If Err <> 0 Then	' Fehler beim Setzen des Wertes aufgetreten.

If Err <> conErrPropertyNotFound Then

On Error GoTo 0

MsgBox "Eigenschaft konnte nicht eingestellt werden '" & strPropertyName _

& "' in Feld '" & fldField.name & "'", 48, "SetFieldProperty"

Else

On Error GoTo 0

Set prpProperty = fldField.CreateProperty(strEigenschaft, _

intEigTyp, varEigWert)

fldField.Properties.Append proEig

End If

End If

End Sub


ColumnOrder-Eigenschaft (Spaltenreihenfolge)

Sie können die Eigenschaft ColumnOrder zur Festlegung der Reihenfolge der Spalten in der Datenblattansicht verwenden.

Anmerkung	Die Eigenschaft ColumnOrder gilt für alle Felder in der Datenblattansicht und für Formular-Steuerelemente, wenn sich das Formular in der Datenblattansicht befindet.

Einstellung

Sie stellen diese Eigenschaft ein, indem Sie in der Datenblattansicht eine Spalte auswählen und diese an eine neue Position ziehen.

Sie können die Eigenschaft ColumnOrder in Visual Basic unter Verwendung eines Wertes vom Typ Long Integer einstellen.

Wenn Sie diese Eigenschaft für eine Tabelle oder Abfrage mit Visual Basic einstellen oder ändern möchten, müssen Sie die Properties-Auflistung eines Feldes verwenden. Ausführliche Informationen dazu finden Sie unter Property-Objekt, Properties-Auflistung (Zusammenfassung).

Anmerkung   Die Eigenschaft ColumnOrder ist in der Entwurfsansicht des Formulars nicht verfügbar.

Hinweis

In der Datenblattansicht wird die Einstellung der Eigenschaft ColumnOrder eines Feldes durch die Position des Feldes bestimmt. So hat z.B. das Feld in der Spalte ganz links in der Datenblattansicht den Wert 1 für die Eigenschaft ColumnOrder, das nächste Feld hat die Einstellung 2 usw. Eine Veränderung der Einstellung der Eigenschaft ColumnOrder eines Feldes setzt die Eigenschaft für dieses Feld sowie für jedes Feld in der Datenblattansicht links von dessen ursprünglicher Position zurück.

In anderen Ansichten hat die Einstellung der Eigenschaft solange den Wert 0, bis Sie die Reihenfolge eines oder mehrerer Felder in der Datenblattansicht explizit ändern (entweder durch das Ziehen von Feldern an neue Positionen oder durch das Verändern ihrer Einstellungen für die Eigenschaft ColumnOrder). Felder rechts neben der neuen Position der verschobenen Felder erhalten den Wert 0 für die Einstellung der Eigenschaft ColumnOrder für alle Ansichten außer der Datenblattansicht.

Die Reihenfolge der Felder in der Datenblattansicht hat keine Auswirkungen auf die Reihenfolge der Felder in der Tabellen-Entwurfsansicht oder Formularansicht.


ColumnOrder-Eigenschaft (Spaltenreihenfolge) - Beispiel

Das folgende Beispiel zeigt die Felder Artikelname und Liefereinheit in den ersten beiden Spalten in der Datenblattansicht des Formulars Artikel an.

Forms! Artikel! Artikelname.ColumnOrder = 1

Forms! Artikel! Liefereinheit.ColumnOrder = 2

Das nächste Beispiel zeigt die Felder Artikelname und Liefereinheit in den ersten beiden Spalten der Tabelle Artikel in der Datenblattansicht an. Zur Einstellung der Eigenschaft ColumnOrder verwendet das Beispiel die Prozedur FeldEigEinstellen. Wird die Prozedur ausgeführt, während die Tabelle geöffnet ist, werden die Veränderungen erst nach dem erneuten Öffnen der Tabelle angezeigt.

Dim dbs As Database, tdArtikel As TableDef

Set dbs = CurrentDb

Set tdArtikel = dbs!Artikel

FeldEigEinstellen tdArtikel!Artikelname, "ColumnOrder", dbLong, 2

FeldEigEinstellen tdArtikel!Liefereinheit, "ColumnOrder", dbLong, 3

Sub FeldEigEinstellen(fldFeld As Field, strEigenschaftName As String, _

intEigenschaftTyp As Integer, varEigenschaftWert As Variant)

' Feldeigenschaft einstellen, ohne Laufzeitfehler auszulösen, der zum Programmabbruch führt.

Const conErrPropertyNotFound = 3270

Dim proEigenschaft As Property

On Error Resume Next	' Fehler nicht auffangen.

fldField.Properties(strEigenschaftName) = varEigenschaftWert

If Err <> 0 Then	' Fehler beim Festlegen des Wertes.

If Err <> conErrPropertyNotFound Then

On Error GoTo 0

MsgBox " Eigenschaft konnte nicht gesetzt werden für '" & strEigenschaftName _

& "' Feld '" & fldFeld.name & "'", 48, "FeldEigEinstellen"

Else

On Error GoTo 0

Set proEigenschaft = fldField.CreateProperty(strEigenschaftName, _

intEigenschaftTyp, varEigenschaftWert)

fldFeld.Properties.Append proEigenschaft

End If

End If

End Sub


ColumnWidth-Eigenschaft (Spaltenbreite)

Sie können die Eigenschaft ColumnWidth zur Einstellung der Breite einer Spalte in der Datenblattansicht verwenden.

Anmerkung   Die Eigenschaft ColumnWidth gilt für alle Felder in der Datenblattansicht und für Formular-Steuererlemente, wenn sich das Formular in der Datenblattansicht befindet.

Einstellung

Sie können diese Eigenschaft auch durch Ziehen des Rahmens des Spaltenmarkierers einstellen oder direkt den gewünschten Wert eingeben, indem Sie in der Datenblattansicht im Menü Format auf Spaltenbreite klicken. Legen Sie die Eigenschaft ColumnWidth durch Verwendung des Befehls Spaltenbreite fest, wird der Wert in Punkten angezeigt.

In Visual Basic entspricht die Einstellung der Eigenschaft ColumnWidth einem Wert vom Typ Integer, der die Spaltenbreite in Twips darstellt. Sie können eine Breite festlegen oder eine der folgenden vordefinierten Einstellungen verwenden.

Einstellung	Beschreibung
0	Blendet die Spalte aus.
–1	(Voreinstellung) Paßt die Spalte der Standardbreite an.
Hinweis

Das Einstellen der Eigenschaft ColumnWidth auf 0 oder das Ändern der Feldbreite auf Null in der Datenblattansicht stellt die Eigenschaft ColumnHidden des Feldes auf True (–1) ein und blendet das Feld in der Datenblattansicht aus.

Das Einstellen der Eigenschaft ColumnHidden eines Feldes auf False (0) stellt die Eigenschaft ColumnWidth des Feldes wieder auf den Wert ein, der vor der Ausblendung Gültigkeit besaß. Hatte die Eigenschaft ColumnWidth z.B. den Wert -1, bevor die Spalte durch Einstellung der Eigenschaft ColumnWidth auf 0 ausgeblendet wurde, so bewirkt das Verändern der Eigenschaft ColumnHidden des Feldes auf False, daß die Eigenschaft ColumnWidth auf -1 zurückgesetzt wird.

Die Eigenschaft ColumnWidth eines Feldes ist nicht verfügbar, wenn die Eigenschaft ColumnHidden des Feldes auf True eingestellt ist.


DatasheetFontItalic-, DatasheetFontUnderline-Eigenschaften (DatenblattSchriftKursiv, DatenblattSchriftUnterstrichen)

Sie können die Eigenschaften DatasheetFontItalic und DatasheetFontUnderline verwenden, um Feldnamen und Daten in der Datenblattansicht kursiv bzw. unterstrichen anzuzeigen.

Anmerkung   Die Eigenschaften DatasheetFontItalic und DatasheetFontUnderline gelten für alle Felder in der Datenblattansicht und für Formular-Steuerelemente, wenn sich das Formular in der Datenblattansicht befindet.

Einstellung

Sie stellen diese Eigenschaften ein, indem Sie in der Format-Symbolleiste (Datenblatt) auf die Schaltfläche Kursiv [image] oder Unterstrichen [image] klicken.

Sie können diese Eigenschaften auch im Dialogfeld Zeichen einstellen, indem Sie in der Datenblattansicht im Menü Format auf Zeichen klicken.

In Visual Basic verwendet die Eigenschaft DatascheetFontItalic die folgenden Einstellungen.

Einstellung	Beschreibung
True (–1)	Der Text ist kursiv.
False (0)	(Voreinstellung) Der Text ist nicht kursiv.
In Visual Basic verwendet die Eigenschaft DatasheetFontUnderline die folgenden Einstellungen.

Einstellung	Beschreibung
True	Der Text ist unterstrichen.
False	(Voreinstellung) Der Text ist nicht unterstrichen.
In Visual Basic sind diese Eigenschaften vom Datentyp Boolean.

Hinweis

Die folgende Tabelle enthält die Eigenschaften, die nicht in der Properties-Auflistung für die Objekte TableDef oder QueryDef enthalten sind, bevor sie unter Verwendung der Methode CreateProperty hinzugefügt werden oder mit der Format-Symbolleiste (Datenblatt) eingestellt werden.

DatasheetFontItalic*	DatasheetForeColor*
DatasheetFontHeight*	DatasheetBackColor
DatasheetFontName*	DatasheetGridlinesColor
DatasheetFontUnderline*	DatasheetGridlinesBehavior
DatasheetFontWeight*	DatasheetCellsEffect
Anmerkung   Fügen Sie eine Eigenschaft zu oder setzen eine Eigenschaft, die in der Liste mit einem Sternchen versehen ist, fügt Microsoft Access automatisch alle in der Liste mit einem Sternchen versehenen Eigenschaften der Properties-Auflistung hinzu.


DatasheetFontItalic, DatasheetFontUnderline-Eigenschaften (DatenblattSchriftKursiv, DatenblattSchriftUnterstrichen) - Beispiel

Das folgende Beispiel zeigt die Daten und Feldnamen des Formulars Artikel in der Datenblattansicht kursiv und unterstrichen an.

Forms![Artikel].DatasheetFontItalic = True

Forms![Artikel].DatasheetFontUnderline = True

Das nächste Beispiel zeigt die Daten und Feldnamen der Tabelle Artikel in der Datenblattansicht in kursiv und unterstrichen an.

Zur Einstellung der Eigenschaften DatasheetFontItalic und DatasheetFontUnderline verwendet das Beispiel die Prozedur TabEigEinstellen, die sich im Standardmodul der Datenbank befindet.

Dim dbs As Database, tdArtikel As TableDef

Set dbs = CurrentDb

Set tdArtikel = dbs![Artikel]

TabEigEinstellen tdArtikel, "DatasheetFontItalic", dbBoolean, True

TabEigEinstellen tdArtikel, "DatasheetFontUnderline", dbBoolean, True

Sub TabEigEinstellen(TabObj As TableDef, strEigName As String, _

intEigTyp As Integer, varEigWert As Variant)

' Microsoft Access-definierte Tabelleneigenschaft ohne Auslösung eines

' Laufzeitfehlers einstellen, der zum Programmabbruch führt.

Const conErrPropertyNotFound = 3270

Dim proEigenschaft As Property

On Error Resume Next	' Keine Fehler auffangen.

tdfTableObj.Properties(strEigName) = varEigWert

If Err <> 0 Then	' Fehler beim Einstellen des Wertes.

If Err <> conErrPropertyNotFound Then

On Error GoTo 0

MsgBox " Eigenschaft '" & strEigName _

& "' konnte für Tabelle '" & TabObj.name & "' nicht eingestellt werden ", 48, "TabEigEinstellen"

Else

On Error GoTo 0

Set proEigenschaft = TabObj.CreateProperty(strEigName, _

intEigTyp, varEigWert)

TabObj.Properties.Append proEigenschaft

End If

End If

TabObj.Properties.Refresh

End Sub


DatasheetFontName-, DatasheetFontHeight-Eigenschaften (DatenblattSchriftart, DatenblattSchriftgröße)

Sie können die Eigenschaften DatasheetFontName und DatasheetFontHeight verwenden, um die Schriftart und den Schriftgrad in Punkten für die Anzeige und den Druck von Feldnamen und Daten in der Datenblattansicht anzugeben.

Anmerkung   Die Eigenschaften DatasheetFontName und DatasheetFontHeight gelten für alle Felder in der Datenblattansicht und für Formular-Steuerelmente, wenn sich das Formular in der Datenblattansicht befindet.

Einstellung

•	DatasheetFontName. In Visual Basic stellen Sie diese Eigenschaft mit Hilfe eines Zeichenfolgenausdrucks, der dem Namen der Schriftart entspricht, ein.

•	DatasheetFontHeight. In Visual Basic entspricht diese Eigenschafteneinstellung einem Wert vom Typ Integer zwischen 1 und 127, der den Schriftgrad in Punkt darstellt.

Sie stellen diese Eigenschaften durch Wahl des Schriftnamens aus dem Feld Schriftart [image] oder des Schriftgrades aus dem Feld Schriftgrad [image] in der Format-Symbolleiste (Datenblatt) ein.

Sie können auch in der Datenblattansicht im Menü Format auf Zeichen klicken und mit den Feldern Schriftart und Schriftgrad die Eigenschaften einstellen.

Hinweis

Bei der Eigenschaft DatasheetFontName hängen Schriftartnamen, die von Ihnen angegeben werden können, von den auf Ihrem System und für Ihren Drucker installierten Schriftarten ab. Wenn Sie eine Schriftart angeben, die Ihr System nicht darstellen kann oder die nicht installiert ist, setzt Microsoft Windows statt dessen eine ähnliche Schriftart ein.

Bei der Eigenschaft DatasheetFontHeight muß der von Ihnen angegebene Schriftgrad in Punkten für die von der Eigenschaft DatasheetFontName festgelegte Schriftart gültig sein. So ist die Schriftart MS Sans Serif z.B. in den Punktgrößen 8, 10, 12, 14, 18 und 24 verfügbar.

Sie können die Standardeigenschaften für DatasheetFontName  und DatasheetFontHeight mit Hilfe der Einstellungen unter Standardschriftart im Menü Extras auf der Registerkarte Datenblatt des Dialogfelds Optionen einstellen.

Die folgenden Tabelle enthält die Eigenschaften, die nicht in der Properties-Auflistung für die Objekte TableDef oder QueryDef enthalten sind, bevor sie unter Verwendung der Methode CreateProperty hinzugefügt werden oder mit der Format-Symbolleiste (Datenblatt) eingestellt werden.

DatasheetFontItalic*	DatasheetForeColor*
DatasheetFontHeight*	DatasheetBackColor
DatasheetFontName*	DatasheetGridlinesColor
DatasheetFontUnderline*	DatasheetGridlinesBehavior
DatasheetFontWeight*	DatasheetCellsEffect
Anmerkung   Wenn Sie eine Eigenschaft hinzufügen oder setzen, die in der Liste mit einem Sternchen versehen ist, fügt Microsoft Access automatisch alle in der Liste mit einem Sternchen versehenen Eigenschaften der Properties-Auflistung hinzu.


DatasheetFontName-, DatasheetFontHeight-Eigenschaften (DatenblattSchriftart, DatenblattSchriftgröße) - Beispiel

Das folgende Beispiel stellt in der Datenblattansicht der Tabelle Artikel die Schriftart auf MS Serif, die Punktgröße auf 10 und die Schriftbreite auf Mittel (500) ein.

Zur Einstellung dieser Eigenschaften verwendet das Beispiel die Prozedur TabEigEinstellen, welche im Beispiel für DatasheetFontItalic-, DatasheetFontUnderline-Eigenschaften gezeigt wird.

Dim dbs As Database, tdArtikel As TableDef

Set dbs = CurrentDb

Set tdArtikel = dbs!Artikel

TabEigEinstellen tdArtikel, "DatasheetFontName", dbText, "MS Serif"

TabEigEinstellen tdArtikel, "DatasheetFontHeight", dbInteger, 10

TabEigEinstellen tdArtikel, "DatasheetFontWeight", dbInteger, 500

Das nächste Beispiel nimmt dieselben Änderungen wie das vorherige Beispiel vor, während das Formular Artikel in der Datenblattansicht geöffnet ist.

Forms!Artikel.DatasheetFontName = "MS Serif"

Forms!Artikel.DatasheetFontHeight = 10

Forms!Artikel.DatasheetFontWeight = 500


DatasheetFontWeight-Eigenschaft (DatenblattSchriftbreite)

Sie können die Eigenschaft DatasheetFontWeight verwenden, um die Strichstärke der Schriftart anzugeben, die zur Anzeige und Ausgabe von Zeichen für Feldnamen und Daten in der Datenblattansicht verwendet wird.

Anmerkung	Die Eigenschaft DatasheetFontWeight gilt für alle Felder in der Datenblattansicht und für Formular-Steuerelemente, wenn sich das Formular in der Datenblattansicht befindet.

Einstellung

In Visual Basic verwendet die Einstellung der Eigenschaft DatasheetFontWeight die folgenden Werte vom Typ Integer.

Einstellung	Beschreibung
100	Extra dünn
200	Sehr dünn
300	Dünn
400	(Voreinstellung) Normal
500	Mittel
600	Halbfett
700	Fett
800	Sehr fett
900	Extra fett
Sie können Normal und Fett für diese Eigenschaft auch im Dialogfeld Zeichen einstellen, indem Sie in der Datenblattansicht im Menü Format auf Zeichen klicken. Im Feld Schriftschnitt des Dialogfelds Zeichen, sind die einzigen verfügbaren Einstellungen für Schriftbreiten Standard (identisch mit Normal) und Fett.

Sie können die Einstellungen Normal und Fett auch durch Klicken auf Fett  [image]  in der Format-Symbolleiste (Datenblatt) einstellen.

Sie können die Standardeigenschaften für DatasheetFontWeight mit Hilfe der Einstellungen unter Standardschriftart im Menü Extras auf der Registerkarte Datenblatt des Dialogfelds Optionen einstellen.

Die folgenden Tabelle enthält die Eigenschaften, die nicht in der Properties-Auflistung für die Objekte TableDef oder QueryDef enthalten sind, bevor sie unter Verwendung der Methode CreateProperty hinzugefügt werden oder mit der Format-Symbolleiste (Datenblatt) eingestellt werden.

DatasheetFontItalic*	DatasheetForeColor*
DatasheetFontHeight*	DatasheetBackColor
DatasheetFontName*	DatasheetGridlinesColor
DatasheetFontUnderline*	DatasheetGridlinesBehavior
DatasheetFontWeight*	DatasheetCellsEffect
Anmerkung Wenn Sie eine Eigenschaft hinzufügen oder setzen, die in der Liste mit einem Sternchen versehen ist, fügt Microsoft Access automatisch alle in der Liste mit einem Sternchen versehenen Eigenschaften der Properties-Auflistung hinzu.


FrozenColumns-Eigenschaft (FixierteSpalten)

Mit Hilfe der Eigenschaft FrozenColumns können Sie ermitteln, wie viele Spalten in einem Datenblatt fixiert sind. Fixierte Spalten werden auf der linken Seite des Datenblatts angezeigt und bewegen sich nicht, wenn Sie einen Bildlauf horizontal durch das Datenblatt durchführen.

Anmerkung	Die Eigenschaft FrozenColumns gilt nur für Tabellen, Formulare und Abfragen in der Datenblattansicht.

Einstellung

Die Eigenschaft FrozenColumns wird von Microsoft Access eingestellt, wenn Sie im Menü Format auf Spalten fixieren klicken.

In Visual Basic entspricht diese Eigenschafteneinstellung einem Wert vom Typ Integer, der die Anzahl der mit Hilfe des Befehls Spalten fixieren im Datenblatt fixierten Spalten anzeigt. Die Spalte des Datensatzmarkierers ist stets fixiert, so daß der Standardwert 1 entspricht. Demzufolge wird die Eigenschaft FrozenColumns auf 2 eingestellt, wenn Sie eine Spalte fixieren, auf 3, wenn Sie zwei Spalten fixieren usw.

Diese Eigenschafteneinstellung ist in allen Ansichten schreibgeschützt.

Hinweis

Fixieren Sie Spalten mit Hilfe des Befehls Spalten fixieren, so bewegt Microsoft Access die Spalten automatisch zu der am weitesten links befindlichen Ecke des Datenblatts in der Reihenfolge, in der Sie diese fixiert haben. Fixieren Sie z.B. drei Spalten, so werden diese zur ersten, zweiten und dritten Spalte des Datenblatts. Da die Spalte des Datensatzmarkierers stets fixiert ist, wird die Eigenschaft FrozenColumns in diesem Fall auf 4 eingestellt. Die Eigenschaften ColumnOrder der drei fixierten Spalten sind nun auf 1, 2 und 3 eingestellt (in der Reihenfolge der Fixierung).

Klicken Sie im Menü Format auf Spaltenfixierung aufheben, so werden die Fixierungen aller Spalten aufgehoben und die Eigenschaft FrozenColumns auf 1 eingestellt.

Anmerkung   Der Befehl Spaltenfixierung aufheben stellt nicht die ursprüngliche Reihenfolge der Spalten wieder her, wenn der Befehl Spalten fixieren die Spaltenreihenfolge verändert hat.


FrozenColumns-Eigenschaft (FixierteSpalten) - Beispiel

Das folgende Beispiel verwendet die Eigenschaft FrozenColumns, um die Anzahl der in einer Tabelle in der Datenblattansicht fixierten Spalten einzustellen. Sind mehr als drei Spalten fixiert, so wird die Tabellengröße maximiert, so daß Sie so viele nicht fixierte Spalten wie möglich sehen können.

Sub FixierungPrüfen(tblName As String)

Dim dbs As Database

Dim tdf As TableDef

Dim prp As Property

Const conPropertyNotFound = 3270  ' Fehler: Eigenschaft nicht gefunden.

Set dbs = CurrentDb	  ' Aktuelle Datenbank bestimmen.

Set td = db.TableDefs(tblName)	  ' Objekt für Tabelle abrufen.

DoCmd.OpenTable tblName, acNormal  ' Tabelle öffnen.

tdf.Properties.Refresh

On Error GoTo Frozen_Err

If td.Properties("FrozenColumns") > 3 Then   ' Tabelleneigenschaft prüfen.

DoCmd.Maximize

End If

Frozen_Bye:

Exit Sub

Frozen_Err:

If Err = conPropertyNotFound Then	  ' Eigenschaft nicht in Auflistung.

Set prp = tdf.CreateProperty("FrozenColumns", dbInteger, 1)

tdf.Properties.Append prp

Resume Frozen_Bye

End If

End Sub


RowHeight-Eigenschaft (Zeilenhöhe)

Sie können die Eigenschaft RowHeight verwenden, um die Höhe aller Zeilen in der Datenblattansicht einzustellen.

Anmerkung Die Eigenschaft RowHeight gilt für alle Felder in der Datenblattansicht und für Formular-Steuerelemente, wenn sich das Formular in der Datenblattansicht befindet.

Einstellung

Sie stellen die Eigenschaft RowHeight in der Datenblattansicht ein, indem Sie den unteren Rand des Datensatzmarkierers ziehen oder im Menü Format auf Zeilenhöhe klicken. Wenn Sie die Eigenschaft RowHeight mit Hilfe des Befehls Zeilenhöhe einstellen, wird der Wert in Punkten angegeben.

In Visual Basic entspricht die Einstellung der Eigenschaft RowHeight einem Wert vom Datentyp Long Integer, der die Zeilenhöhe des Datenblatts in Twips angibt. Zur Einstellung der Standardhöhe für die aktuelle Schriftart können Sie die Eigenschaft RowHeight auf True (–1) einstellen.


RowHeight-, ColumnWidth-Eigenschaften (Zeilenhöhe, Spaltenbreite) - Beispiel

Das folgende Beispiel verändert die Zeilenhöhe der Tabelle Kunden in der Datenblattansicht so, daß zwei Datenzeilen (450 Twips) angezeigt werden, und stellt die Breite der Spalte Straße auf 1,5 Zoll (2160 Twips) ein. Diese Eigenschafteneinstellungen werden wirksam, wenn die Tabelle Kunden das nächste Mal in der Datenblattansicht geöffnet wird.

Zur Einstellung der Eigenschaften RowHeight und ColumnWidth verwendet das Beispiel die Prozedur TabEigEinstellen, die im Beispiel für die Eigenschaften DatasheetFontItalic und DatasheetFontUnderline gezeigt wird, sowie die Prozedur FeldEigEinstellen, welche im Beispiel für die Eigenschaft ColumnHidden gezeigt wird.

Dim dbs As Database, tdKunden As TableDef

Set dbs = CurrentDb

Set tdKunden = dbs![Kunden]

TabEigEinstellen tdKunden, "RowHeight", dbLong, 450

FeldEigEinstellen tdKunden![Straße], "ColumnWidth", dbInteger, 2160

Im nächsten Beispiel wird die Einstellung wirksam, wenn das Formular Kunden in der Datenblattansicht geöffnet ist. Die Zeilenhöhe wird auf 450 Twips eingestellt, und die Größe der Spalte wird der Größe des sichtbaren Textes angepaßt.

Forms![Kunden].RowHeight = 450

Forms![Kunden]![Straße].ColumnWidth = -2


CanGrow-, CanShrink-Eigenschaften (Vergrößerbar, Verkleinerbar)

Mit den Eigenschaften CanGrow und CanShrink können Sie das Aussehen von Bereichen oder Steuerelementen eines Formulars oder Berichts steuern, das bzw. der gedruckt oder in der Seitenansicht angezeigt wird. Wenn Sie z.B. beide Eigenschaften auf Ja einstellen, wird die Höhe eines Bereichs oder Steuerelements automatisch so angepaßt, daß alle Daten gedruckt oder angezeigt werden, die der Bereich oder das Steuerelement enthält.

Anmerkungen

•	Die Eigenschaften CanGrow und CanShrink betreffen weder den Seitenkopf- noch den Seitenfußbereich eines Formulars oder Berichts, betreffen aber die Steuerelemente, die sich in einem solchen Bereich befinden.

•	Diese Eigenschaften wirken sich nur dann auf die Anzeige von Bereichen und Steuerelementen eines Formulars aus, wenn das Formular gedruckt oder in der Seitenansicht angezeigt wird. Wird das Formular in der Formularansicht, Datenblattansicht oder Entwurfsansicht angezeigt, sind diese Eigenschaften wirkungslos.

Einstellung

Die Eigenschaft CanGrow verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Ja	Die Höhe des Bereichs oder Steuerelements wird vergrößert, so daß alle Daten, die der Bereich oder das Steuerelement enthält, gedruckt oder angezeigt werden können.	True (-1)
Nein	(Standardeinstellung) Der Bereich oder das Steuerelement wird nicht vergrößert. Daten, die nicht in den Bereich oder das Steuerelement fester Größe hineinpassen, werden weder gedruckt noch in der Seitenansicht angezeigt.	False (0)
Die Eigenschaft CanShrink verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Ja	Die Höhe des Bereichs oder Steuerelements wird so verkleinert, daß alle Daten, die der Bereich oder das Steuerelement enthält, gedruckt oder angezeigt werden, ohne daß leere Zeilen vorhanden sind.	True
Nein	(Standardeinstellung) Der Bereich oder das Steuerelement wird nicht verkleinert.	False
Sie können diese Eigenschaft im Eigenschaftenfenster des Bereichs oder Steuerelements einstellen.

Bei Steuerelementen können Sie die Standardeinstellungen für diese Eigenschaften mit Hilfe der Standardeigenschafteneinstellungen oder in Visual Basic mit der Methode DefaultControl einstellen.

Die Einstellungen dieser Eigenschaften sind in allen Ansichten, mit Ausnahme der Entwurfsansicht, in einem Makro oder in Visual Basic schreibgeschützt.

Hinweis

Mit diesen Eigenschaften können Sie das Aussehen gedruckter Formulare oder Berichte steuern. Wenn Sie beide Eigenschaften auf Ja einstellen, wird die Größe des zugehörigen Objekts automatisch so angepaßt, daß Daten beliebigen Umfangs gedruckt werden können. Wenn ein Steuerelement vergrößert oder verkleinert wird, werden die Steuerelemente, die sich unterhalb dieses Steuerelements befinden, auf der Seite nach unten bzw. oben verschoben.

Wenn Sie die Eigenschaft CanGrow eines Steuerelements auf Ja einstellen, stellt Microsoft Access die Eigenschaft CanGrow des Bereichs, der das Steuerelement enthält, automatisch auf Ja ein. (Wenn Sie die Eigenschaft CanShrink eines Steuerelements auf Ja einstellen, stellt Microsoft Access die Eigenschaft CanShrink des Bereichs dagegen nicht auf Ja ein.)

Die Höhe eines Bereichs wird in dessen gesamter Breite vergrößert oder verkleinert. Nehmen Sie z.B. an, ein Formular hat zwei Textfelder, die nebeneinander angeordnet sind, und bei beiden Steuerelementen ist die Eigenschaft CanShrink auf Ja eingestellt. Enthält ein Textfeld eine Datenzeile und das andere Textfeld zwei Datenzeilen, sind beide Textfelder zwei Zeilen lang, da die Höhe des Bereichs in der gesamten Breite angepaßt wird. Wenn die Datenbereiche unabhängig voneinander vergrößert oder verkleinert werden sollen, ordnen Sie zwei Unterformular- bzw. Unterbericht-Steuerelemente nebeneinander an und stellen deren Eigenschaften CanGrow und CanShrink auf Ja ein.

Wenn Sie die Eigenschaften CanGrow und CanShrink verwenden, beachten Sie folgendes:

•	Die Einstellungen der Eigenschaften wirken sich nicht auf den horizontalen Abstand zweier Steuerelemente aus; sie wirken sich nur auf die Höhe aus, die die Steuerelemente beanspruchen.

•	Überlappende Steuerelemente können weder vergrößert noch verkleinert werden.

•	Die Höhe eines großen Steuerelements kann verhindern, daß Steuerelemente, die sich neben diesem befinden, verkleinert werden. Wenn sich z.B. mehrere kurze Steuerelemente auf der linken Seite des Detailbereichs eines Berichts befinden und ein langes Steuerelement, wie z.B. ein ungebundenes Objektfeld, auf der rechten Seite, werden die auf der linken Seite befindlichen Steuerelemente selbst dann nicht verkleinert, wenn sie keine Daten enthalten.


Height-, Width-Eigenschaften (Höhe, Breite)

Sie können die Eigenschaften Height und Width verwenden, um die Größe eines Objekts an bestimmte Maße anzupassen. Dies kann z.B. hilfreich sein, wenn Sie Objekte erstellen möchten, die dieselbe Größe oder dieselbe Breite bzw. Höhe haben.

Anmerkungen

•	Die Eigenschaft Height betrifft nur Formularbereiche und Berichtsbereiche. Sie betrifft keine Formulare oder Berichte.

•	Die Eigenschaft Width betrifft nur Formulare und Berichte. Sie betrifft keine Formularbereiche oder Berichtsbereiche.

•	Beide Eigenschaften betreffen die Steuerelemente eines Formulars oder Berichts.

Einstellung

Geben Sie eine Zahl ein, die in der aktuellen Maßeinheit die gewünschte Höhe oder Breite festlegt. Wenn Sie eine andere Maßeinheit verwenden möchten als die, die in der Windows-Systemsteuerung im Dialogfeld Eigenschaften von Ländereinstellungen festgelegt ist, geben Sie die Einheit an (z.B. 5 cm oder 3 Zoll). Die Eigenschaft Width kann auf jeden Wert von 0 bis 55,87 cm (22 Zoll) eingestellt werden.

Sie können diese Eigenschaften im Eigenschaftenfenster des Objekts, in einem Makro oder in Visual Basic einstellen.

Bei Steuerelementen können Sie die Standardeinstellungen für diese Eigenschaften mit Hilfe der Standardeigenschafteneinstellungen oder in Visual Basic mit der Methode DefaultControl einstellen.

In Visual Basic stellen Sie den Wert der jeweiligen Eigenschaft mit einem numerischen Ausdruck ein. Ein solcher Wert wird in Twips interpretiert.

Bei einem Berichtsbereich können Sie die Eigenschaft Height weder in einem Makro noch in Visual Basic einstellen, wenn Sie den Bericht drucken oder in der Seitenansicht anzeigen. Bei einem Steuerelement eines Berichts können Sie die Eigenschaften Height und Width, wenn Sie den Bericht drucken oder in der Seitenansicht anzeigen, nur in dem Makro oder in der Ereignisprozedur einstellen, das bzw. die in der Ereigniseigenschaft OnFormat eines Bereichs angegeben ist.

Sobald der jeweilige Druckvorgang begonnen hat, können Sie diese Eigenschaften nicht mehr für ein Objekt einstellen. Wenn Sie z.B. versuchen, die Eigenschaft Height in der Print-Ereignisprozedur eines Berichts einzustellen, wird ein Fehler gemeldet.

Hinweis

Microsoft Access stellt die Eigenschaften Height und Width automatisch ein, wenn Sie in der Formular-Entwurfsansicht oder Berichts-Entwurfsansicht ein Steuerelement erstellen oder die Größe eines Steuerelements oder eines Fensters ändern.

Sowohl die Höhe eines Bereichs als auch die Breite eines Formulars oder Berichts werden ab der Innenseite seines Rahmens gemessen. Die Höhe und die Breite eines Steuerelements werden ab der Mitte seines Rahmens gemessen, so daß Steuerelemente mit unterschiedlichen Rahmenbreiten richtig ausgerichtet werden. Die Seitenränder von Formularen und Berichten werden im Dialogfeld Seite einrichten eingestellt. Dieses Dialogfeld wird angezeigt, nachdem Sie im Menü Datei auf Seite einrichten geklickt haben.

Anmerkung   Mit den Eigenschaften Left und Top können Sie die linke und die obere Position eines Objekts angeben.


Height-, Width-Eigenschaften (Höhe, Breite) - Beispiel

Im folgenden Code wird die Größe einer Befehlsschaltfläche so geändert, daß eine quadratische Schaltfläche mit einer Kantenlänge von 1 Zoll entsteht (die Standardmaßeinheit ist in Visual Basic Twips; 1.440 Twips sind 1 Zoll):

Me!cmdSchaltfläche.Height = 1440	' 1440 Twips = 1 Zoll.

Me!cmdSchaltfläche.Width = 1440


Height-, Width-Eigenschaften (Höhe, Breite) - Gilt für

Height-Eigenschaft

Width-Eigenschaft


LabelX-, LabelY-Eigenschaften (BezeichnungsfeldX, BezeichnungsfeldY)

Mit den Eigenschaften LabelX und LabelY können Sie die Position eines Bezeichnungsfelds ändern, das einem neuen Steuerelement zugeordnet ist. Sie können z.B. angeben, daß ein zugeordnetes Bezeichnungsfeld nicht links, sondern rechts neben dem entsprechenden Steuerelement angezeigt wird.

Einstellung

Geben Sie eine positive oder negative Zahl ein, die den Abstand angibt, der zwischen dem Text des Bezeichnungsfelds und der oberen linken Ecke des Steuerelements liegen soll, dem das Bezeichnungsfeld zugeordnet ist. Wenn Sie eine andere Maßeinheit verwenden möchten als die, die in der Windows-Systemsteuerung im Dialogfeld Eigenschaften von Ländereinstellungen festgelegt ist, geben Sie die Einheit an (z.B. 2 cm oder 1,5 Zoll).

Sie können diese Eigenschaften nur mit Hilfe der Standardeigenschafteneinstellungen eines Steuerelements oder in Visual Basic mit der Methode DefaultControl einstellen.

Hinweis

Mit der Eigenschaft LabelX wird der Abstand auf der horizontalen Achse und mit der Eigenschaft LabelY wird der Abstand auf der vertikalen Achse eingestellt. Ist die Eigenschaft LabelX auf eine negative Zahl eingestellt, wird die obere linke Ecke des Bezeichnungsfelds links vom Steuerelement angeordnet. Ist die Eigenschaft LabelY auf eine negative Zahl eingestellt, wird die obere linke Ecke des Bezeichnungsfelds oberhalb des Steuerelements angeordnet. Sind beide Eigenschaften auf eine positive Zahl eingestellt, wird das Bezeichnungsfeld rechts von und unterhalb der oberen linken Ecke des Steuerelements angezeigt.

Wenn die Eigenschaft LabelAlign auf Rechtsbündig oder Linksbündig eingestellt ist, geben die Eigenschaften LabelX und LabelY den Abstand an, der zwischen der rechten bzw. linken Kante des Bezeichnungsfelds und der oberen linken Ecke des Steuerelements liegt. Ist die Eigenschaft LabelAlign auf Zentriert eingestellt, geben die Eigenschaften LabelX und LabelY den Abstand an, der zwischen der Mitte des Bezeichnungsfelds und der oberen linken Ecke des Steuerelements liegt.

Verschiedene Kombinationen der Eigenschaften LabelX, LabelY und LabelAlign führen zu folgenden Ergebnissen.

LabelX	LabelY	LabelAlign	Ergebnis
-1 Zoll	0 Zoll	Standard	Die obere linke Ecke des Bezeichnungsfelds befindet sich 1 Zoll links von der oberen linken Ecke des Steuerelements.
-,5 Zoll	0 Zoll	Rechtsbündig	Die obere rechte Ecke des Bezeichnungsfelds befindet sich 0,5 Zoll links von der oberen linken Ecke des Steuerelements.
,5 Zoll	-,5 Zoll	Zentriert	Der mittlere Punkt der oberen Kante des Bezeichnungsfelds befindet sich 0,5 Zoll rechts und 0,5 Zoll oberhalb der oberen linken Ecke des Steuerelements.


Left-, Top-Eigenschaften (Links, Oben)

Mit den Eigenschaften Left und Top können Sie die Position angeben, die ein Objekt auf einem Formular oder Bericht einnimmt. Sie können z.B. für ein Steuerelement festlegen, daß es immer in der oberen rechten Ecke eines Bereichs angeordnet wird.

Einstellung

Die Position eines Steuerelements ergibt sich aus dem Abstand, der zwischen dessen linker oder oberer Kante und dem linken oder oberen Rand des Bereichs gemessen wird, der das Steuerelement enthält. Ist die Eigenschaft Left oder Top auf 0 eingestellt, wird die entsprechende Kante des Steuerelements unmittelbar am linken bzw. oberen Rand des Bereichs angeordnet. Wenn Sie eine andere Maßeinheit verwenden möchten als die, die in der Windows-Systemsteuerung im Dialogfeld Eigenschaften von Ländereinstellungen festgelegt ist, geben Sie die Einheit an (z.B. 3 cm oder 2 Zoll).

In Visual Basic stellen Sie den Wert der jeweiligen Eigenschaft mit einem numerischen Ausdruck ein. Ein solcher Wert wird in Twips interpretiert.

Bei einem Steuerelement können Sie diese Eigenschaften im Eigenschaftenfenster des Steuerelements, in einem Makro oder in Visual Basic einstellen.

Bei Berichten können Sie diese Eigenschaften nur einstellen, indem Sie ein Makro oder in Visual Basic eine Ereignisprozedur verwenden, während der Bericht entweder in der Seitenansicht angezeigt oder gedruckt wird.

Hinweis

Wenn Sie ein Steuerelement verschieben, werden dessen neue Einstellungen der Eigenschaften Left und Top automatisch in das Eigenschaftenfenster eingetragen. Wenn Sie ein Formular oder einen Bericht in der Seitenansicht anzeigen oder ein Formular drucken, wird die Position eines Steuerelements dadurch bestimmt, auf welche Werte dessen Eigenschaften Left und Top sowie im Dialogfeld Seite einrichten die Ränder eingestellt sind. Dieses Dialogfeld wird angezeigt, nachdem Sie im Menü Datei auf Seite einrichten geklickt haben.

Bei Berichten entspricht die Einstellung der Eigenschaft Top dem Abstand, um den der aktuelle Bereich gegenüber dem Kopf der Seite versetzt ist. Die Einstellung der Eigenschaft Left entspricht dem Abstand, um den der aktuelle Bereich gegenüber dem linken Rand der Seite versetzt ist. Beide Eigenschafteneinstellungen werden in Twips ausgedrückt. In der Format-Ereignsiprozedur eines Bereichs können Sie diese Eigenschaften verwenden, um anzugeben, wie weit nach unten versetzt auf einer Seite der Bereich ausgegeben werden soll.


Left-, Top-Eigenschaften (Links, Oben) - Beispiel

Im folgenden Beispiel wird die Einstellung der Eigenschaft Left des aktuellen Berichts geprüft. Ist der Wert kleiner als die Breite, die der Rand mindestens haben soll, werden die Eigenschaften NextRecord und PrintSection auf False (0) eingestellt. Außerdem wechselt der Bereich dann weder zum nächsten Datensatz, noch wird der nächste Bereich gedruckt.

Sub Detail_Format(Cancel As Integer, FormatCount As Integer)

Const conLinkerRand = 1880

' Wenn die Eigenschaft "Left" auf einen Wert kleiner

' als 1880 Twips eingestellt ist, soll weder zum

' nächsten Datensatz gewechselt noch der nächste

' Bereich gedruckt werden.

If Me.Left < conLinkerRand Then

Me.NextRecord = False

Me.PrintSection = False

End If

End Sub


AutoCenter-Eigenschaft (AutomatischZentrieren)

Mit der Eigenschaft AutoCenter können Sie angeben, ob ein Formular beim Öffnen automatisch im Anwendungsfenster zentriert wird.

Einstellung

Die Eigenschaft AutoCenter verwendet die folgenden Einstellungen:

Einstellung	Beschreibung	Visual Basic
Ja	Das Formular wird beim Öffnen automatisch zentriert.	True (-1)
Nein	(Standardeinstellung) Die obere linke Ecke des Formulars befindet sich an derselben Stelle wie beim letzten Speichern des Formulars.	False (0)
Sie können diese Eigenschaft im Eigenschaftenfenster des Formulars, in einem Makro oder in Visual Basic einstellen.

Sie können diese Eigenschaft nur in der Entwurfsansicht einstellen.

Hinweis

Je nach Größe und Position des Anwendungsfensters können Formulare über eine Seite des Anwendungsfensters hinausragen, so daß ein Teil des Formulars verdeckt ist. Das automatische Zentrieren beim Öffnen des Formulars erleichtert die Anzeige und Verwendung.

Wenn Sie in der Entwurfsansicht Änderungen an einem Formular vornehmen, dessen Eigenschaft AutoResize auf Nein und dessen Eigenschaft AutoCenter auf Ja eingestellt ist, wechseln Sie in die Formularansicht, bevor Sie das Formular speichern. Andernfalls schneidet Microsoft Access beim nächsten Öffnen des Formulars dessen rechten und unteren Rand ab.


CurrentSectionLeft-, CurrentSectionTop-Eigenschaften (AktuellerBereichLinks, AktuellerBereichOben)

Sie können diese Eigenschaften verwenden, um den Abstand zwischen oberem Rand und linker Kante des aktuellen Bereichs und oberem Rand und linker Kante des Formulars in Twips anzugeben.

Einstellung

•	Eigenschaft CurrentSectionLeft: ein Wert vom Typ Integer, der den Abstand von der linken Kante des aktuellen Bereichs zum linken Rand des Formulars darstellt.

•	Eigenschaft CurrentSectionTop: ein Wert vom Typ Integer, der den Abstand vom oberen Rand des aktuellen Bereichs zum oberen Rand des Formulars darstellt.

Diese Eigenschafteneinstellungen sind schreibgeschützt und nur in einem Makro oder in Visual Basic verfügbar.

Hinweis

Die Einstellungen der Eigenschaften CurrentSectionLeft und CurrentSectionTop ändern sich immer dann, wenn ein Benutzer durch ein Formular blättert.

Bei Formularen, deren Eigenschaft DefaultView auf Einzelnes Formular eingestellt ist, entsprechen die Eigenschafteneinstellungen negativen Werten, wenn der Benutzer einen Bildlauf über die obere linke Ecke des Bereichs oder links über den linken Rand des Formulars hinaus durchführt.

Bei Formularen, deren Eigenschaft DefaultView auf Endlosformular eingestellt ist, entspricht die Eigenschaft CurrentSectionTop der Eigenschaft InsideHeight des Formulars, wenn ein Bereich nicht sichtbar ist.

Die Eigenschaften CurrentSectionLeft und CurrentSectionTop sind hilfreich, um die Position von in der Formularansicht angezeigten Detailbereichen zu finden, die als Endlosformulare oder in der Datenblattansicht angezeigt werden. Jeder Detailbereich verfügt über eine eigene Einstellung der Eigenschaft CurrentSectionTop, die von der Position des Bereichs im Formular abhängt.


CurrentSectionLeft-, CurrentSectionTop-Eigenschaften (AktuellerBereichLinks, AktuellerBereichOben) - Beispiel

Das folgende Beispiel zeigt die Einstellungen der Eigenschaften CurrentSectionLeft und CurrentSectionTop für ein Steuerelement in einem Endlosformular an. Wenn der Benutzer zu einem neuen Datensatz wechselt, werden die Eigenschafteneinstellungen des aktuellen Bereichs im Bezeichnungsfeld lblStatus im Kopfbereich des Formulars angezeigt.

Private Sub Form_Current()

Dim intAktOben As Integer, intAktLinks As Integer

intAktOben = Me.CurrentSectionTop

intAktLinks = Me.CurrentSectionLeft

Me!lblStatus.Caption = intAktLinks & " , " & intAktOben

End Sub


WindowHeight, WindowWidth-Eigenschaften (FensterHöhe, Fensterbreite)

Sie können diese Eigenschaften verwenden, um die Höhe und Breite eines Formulars in Twips zurückzugeben.

Einstellung

Die Einstellungen der Eigenschaft WindowHeight und WindowWidth sind Werte vom Typ Integer.

Diese Eigenschafteneinstellungen sind schreibgeschützt und nur in einem Makro oder in Visual Basic verfügbar.

Hinweis

Die Eigenschaft WindowHeight wird von der oberen linken Ecke des Formulars zur unteren linken Ecke gemessen. Die Eigenschaft WindowWidth wird von der oberen linken Ecke des Formulars zur oberen rechten Ecke gemessen.


ControlSource-Eigenschaft (Steuerelementinhalt)

Mit der Eigenschaft ControlSource können Sie angeben, welche Daten in einem Steuerelement angezeigt werden sollen. Sie können Daten, die an ein Feld gebunden sind, in einer Tabelle, Abfrage oder SQL-Anweisung anzeigen und bearbeiten. Sie können auch das Ergebnis eines Ausdrucks darstellen. Für einen Bericht auf Gruppenebene bestimmt die Eigenschaft ControlSource das Feld oder den Ausdruck, nach dem gruppiert wird.

Anmerkung   Die Eigenschaft ControlSource gilt nicht für Kontrollkästchen-, Optionsfeld- oder Umschaltfläche-Steuerelemente in einer Optionsgruppe. Sie gilt nur für die Optionsgruppe an sich.

Bei Berichten gilt die Eigenschaft ControlSource nur für Berichtsgruppenebenen.

Einstellung

Die Eigenschaft ControlSource hat die folgenden Einstellungen.

Einstellung	Beschreibung
Ein Feldname	Das Steuerelement ist an ein Feld einer Tabelle, Abfrage oder SQL-Anweisung gebunden. Die Daten des Feldes werden im Steuerelement angezeigt. Veränderungen an den Daten innerhalb des Steuerelements bewirken Veränderungen an den entsprechenden Daten in dem Feld. (Stellen Sie die Eigenschaft Locked auf Ja ein, um das Steuerelement auf schreibgeschützt einzustellen.) Wenn Sie auf ein Steuerelement klicken, das an ein Feld gebunden ist, das den Datentyp Hyperlink hat, erfolgt ein Sprung zu dem Ziel, das in der Hyperlink-Adresse angegeben ist.
Ein Ausdruck	Das Steuerelement zeigt Daten an, die durch einen Ausdruck erstellt wurden. Diese Daten können zwar vom Benutzer geändert werden, werden aber nicht in der Datenbank gespeichert.
Sie können die Eigenschaft ControlSource eines Steuerelements im Eigenschaftenfenster des Steuerelements, in einem Makro oder in Visual Basic einstellen.

Sie können die Eigenschaft ControlSource auch für ein Textfeld einstellen, indem Sie einen Feldnamen oder Ausdruck direkt in das Textfeld in der Entwurfsansicht eines Formulars oder in der Entwurfsansicht eines Berichts eingeben.

Sie können diese Eigenschaft für einen Bericht durch Auswahl eines Feldes in der oder durch Eingabe eines Ausdrucks in die Spalte Feld/Ausdruck im Fenster Sortieren und Gruppieren einstellen. Weitere Informationen finden Sie unter der Eigenschaft GroupLevel.

Verwenden Sie in Visual Basic einen Zeichenfolgenausdruck, um den Wert dieser Eigenschaft einzustellen.

Hinweis

Formulare und Berichte verhalten sich wie "Fenster" zu Ihrer Datenbank. Sie geben die primäre Herkunft von Daten für ein Formular oder einen Bericht durch Einstellen der zugehörigen Eigenschaft RecordSource auf eine Tabelle, Abfrage oder SQL-Anweisung an. Anschließend können Sie die Eigenschaft ControlSource auf ein Feld in der Herkunft der Daten oder auf einen Ausdruck einstellen. Ist die Einstellung von ControlSource ein Ausdruck, so ist der angezeigte Wert schreibgeschützt und wird nicht in der Datenbank gespeichert. Sie können z.B. folgende Einstellungen verwenden.

Beispieleinstellung	Beschreibung
Nachname	Bei einem Steuerelement werden Daten aus dem Feld Nachname im Steuerelement angezeigt. Bei einem Bericht auf Gruppenebene gruppiert Microsoft Access die Daten nach dem Nachnamen.
=Datum( ) + 7	Bei einem Steuerelement zeigt dieser Ausdruck ein Datum im Steuerelement an, das sieben Tage in der Zukunft liegt.
=DatTeil("q";Versanddatum)	Bei einem Steuerelement zeigt dieser Ausdruck das Quartal des Versanddatums an. Bei einem Bericht auf Gruppenebene gruppiert Microsoft Access die Daten nach dem Quartal des Versanddatums.


ControlSource-Eigenschaft (Steuerelementinhalt) - Beispiel

Das folgende Beispiel stellt die Eigenschaft ControlSource für ein Textfeld namens Adressenteil auf ein Feld namens Ort ein.

Forms!Kunden!Adressenteil.ControlSource = "Ort"

Das nächste Beispiel stellt die Eigenschaft ControlSource für ein Textfeld namens Erwartet auf den Ausdruck = Date() + 7 ein.

Me!Erwartet.ControlSource = "=Date() + 7"


OptionValue-Eigenschaft (Optionswert)

Jedes Steuerelement einer Optionsgruppe hat einen numerischen Wert, den Sie mit der Eigenschaft OptionValue einstellen können. Ist das Steuerelement ausgewählt, so wird diese Zahl der Optionsgruppe zugewiesen. Ist die Optionsgruppe an ein Feld gebunden, so wird der Wert der Eigenschaft OptionValue des ausgewählten Steuerelements in dem Feld gespeichert.

Die Optionsgruppe Region ist z.B. an das Feld Region einer Tabelle gebunden. Die Schaltfläche Europa hat die Einstellung 1 für die Eigenschaft OptionValue, die Schaltfläche Asien hat die Einstellung 2, und die Schaltfläche Afrika hat die Einstellung 3. Wird eine dieser Schaltflächen ausgewählt, so entspricht der Wert der Optionsgruppe Region der Einstellung der Eigenschaft OptionValue für das ausgewählte Steuerelement. In diesem Fall, da die Optionsgruppe Region an das Feld Region gebunden ist, ist der Wert dieses Feldes in der Tabelle ebenfalls 2.

Anmerkung   Die Eigenschaft OptionValue gilt nur für die Kontrollkästchen-, Optionsfeld- und Umschaltfläche-Steuerelemente einer Optionsgruppe.

Einstellung

Die Eigenschaft OptionValue enthält einen Wert vom Typ Long Integer oder einen numerischen Ausdruck, der einem Steuerelement innerhalb eines Optionsgruppen-Steuerelements zugeordnet ist.

Sie können die Eigenschaft OptionValue im Eigenschaftenfenster des Steuerelements, in einem Makro oder in Visual Basic einstellen.

Hinweis

Wenn Sie nicht selbst die Eigenschaft OptionValue ändern, erhält das erste Steuerelement in einer Optionsgruppe den Wert 1, das zweite Steuerelement den Wert 2 usw.

Die Eigenschaft OptionValue ist nur verfügbar, wenn das Steuerelement innerhalb eines Optionsgruppen-Steuerelements abgelegt wurde. Befindet sich ein Kontrollkästchen, eine Umschaltfläche oder ein Optionsfeld nicht in einer Optionsgruppe, so hat das Steuerelement die Eigenschaft OptionValue nicht. Statt dessen verfügen alle derartigen Steuerelemente über die Eigenschaft ControlSource. Der Wert eines ausgewählten Steuerelements ist True (-1), und der Wert eines nicht ausgewählten Steuerelements ist False (0).


RecordSource-Eigenschaft (Datenherkunft)

Sie können die Eigenschaft RecordSource zur Einstellung der Herkunft der Daten für ein Formular oder einen Bericht verwenden. Sie können Daten aus einer Tabelle, Abfrage oder SQL-Anweisung anzeigen. Möchten Sie z.B. Daten aus der Tabelle Personal in einem Formular anzeigen und bearbeiten, so stellen Sie die Eigenschaft RecordSource des Formulars auf Personal ein. Anschließend können Sie die Steuerelemente des Formulars oder Berichts an bestimmte Felder der Tabelle Personal binden, indem Sie die Eigenschaft ControlSource des jeweiligen Steuerelements auf den Namen eines Feldes der Tabelle einstellen. Sie können z.B. ein Steuerelement an das Feld Nachname der Tabelle Personal binden, indem Sie die Eigenschaft ControlSource des Steuerelements auf Nachname einstellen.

Einstellung

Die Einstellung der Eigenschaft RecordSource kann ein Tabellenname, ein Abfragename oder eine SQL-Anweisung sein. Sie können z.B. die folgenden Einstellungen verwenden.

Beispieleinstellung	Beschreibung
Personal	Ein Tabellenname, der als Herkunft der Daten die Tabelle Personal angibt.
SELECT Bestellungen.Bestelldatum FROM Bestellungen;	Eine SQL-Anweisung, die als Herkunft der Daten das Feld Bestelldatum der Tabelle Bestellungen angibt. Sie können ein Steuerelement des Formulars oder Berichts an das Feld Bestelldatum der Tabelle Bestellungen binden, indem Sie die Eigenschaft ControlSource des Steuerelements auf Bestelldatum einstellen.
Sie können die Eigenschaft RecordSource im Eigenschaftenfenster des Steuerelements, in einem Makro oder in Visual Basic einstellen.

Verwenden Sie in Visual Basic einen Zeichenfolgenausdruck, um diese Eigenschaft einzustellen.

Anmerkung   Das Ändern der Datenherkunft eines geöffneten Formulars oder Berichts bewirkt, daß die zugrundeliegenden Daten automatisch erneut abgefragt werden.

Hinweis

Nachdem Sie ein Formular oder einen Bericht erstellt haben, können Sie die Herkunft der Daten ändern, indem Sie die Eigenschaft RecordSource ändern. Die Eigenschaft RecordSource ist auch hilfreich, wenn Sie ein wiederverwendbares Formular oder einen wiederverwendbaren Bericht erstellen möchten. Sie können z.B. ein Formular erstellen, das einen Standardentwurf enthält, dann das Formular kopieren und die Eigenschaft RecordSource ändern, um Daten aus einer anderen Tabelle, Abfrage oder SQL-Anweisung anzuzeigen.

Das Begrenzen der Anzahl an Datensätzen, die sich in der Datenherkunft eines Formulars befinden, kann das Leistungsverhalten verbessern (insbesondere beim Ausführen der Anwendung im Netzwerk). Sie können z.B. die Eigenschaft RecordSource eines Formulars auf einen SQL-Ausdruck einstellen, der einen Datensatz zurückgibt, und die Datenherkunft abhängig von den vom Benutzer gewählten Kriterien ändern.


RecordSource-Eigenschaft (Datenherkunft) - Beispiel

Das folgende Beispiel stellt die Eigenschaft RecordSource eines Formulars auf die Tabelle Kunden ein.

Forms!frmKunden.RecordSource = "Kunden"

Das nächste Beispiel ändert die Datenherkunft eines Formulars auf einen einzelnen Datensatz der Tabelle Kunden, abhängig vom ausgewählten Firmennamen im Kombinationsfeld-Steuerelement cmboFirma. Das Kombinationsfeld wird durch eine SQL-Anweisung gefüllt, die den Kunden-Code (in der gebundenen Spalte) und den Firmennamen zurückgibt. Der Kunden-Code hat den Datentyp Text.

Sub cmboFirma_AfterUpdate()

Dim strNeuerDS As String

strNeuerDS = "SELECT * FROM Kunden " _

& " WHERE [Kunden-Code] = '" _

& Me!cmboFirma.Value & "'"

Me.RecordSource = strNeuerDS

End Sub


RowSourceType-, RowSource-Eigenschaften (Herkunftstyp, Datensatzherkunft)

Sie können die Eigenschaften RowSourceType und RowSource zusammen verwenden, um Microsoft Access mitzuteilen, wie Daten für ein Listenfeld, ein Kombinationsfeld oder ein ungebundenes OLE-Objekt (z.B. ein Diagramm) bereitgestellt werden sollen. Wenn Sie z.B. in einem Listenfeld Datenzeilen anzeigen möchten, die aus einer Abfrage namens Kundenliste stammen, stellen Sie die Eigenschaft RowSourceType des Listenfelds auf Tabelle/Abfrage und dessen Eigenschaft RowSource auf die Abfrage namens Kundenliste ein.

Einstellung

Die Eigenschaft RowSourceType hat die folgenden Einstellungen.

Einstellung	Beschreibung
Tabelle/Abfrage	(Standardeinstellung) Die Daten stammen aus einer Tabelle, Abfrage oder SQL-Anweisung, die von der Einstellung der Eigenschaft RowSource festgelegt wurde.
Wertliste	Die Daten entsprechen einer Liste von Einträgen, die von der Einstellung der Eigenschaft RowSource festgelegt wurden.
Feldliste	Die Daten entsprechen einer Liste von Feldnamen einer Tabelle, Abfrage oder SQL-Anweisung, die von der Einstellung der Eigenschaft RowSource festgelegt wurde.
Anmerkung   Sie können die Eigenschaft RowSource auch mit einer benutzerdefinierten Funktion einstellen. Der Funktionsname wird ohne vorstehendes Gleichheitszeichen (=) und ohne nachfolgendes Klammernpaar eingegeben. Geben Sie bestimmte Code-Argumente der Funktion an, um Microsoft Access mitzuteilen, wie das Steuerelement gefüllt werden soll.

Die Einstellung der Eigenschaft RowSource ist abhängig von der Einstellung der Eigenschaft RowSourceType.

Einstellung von RowSourceType	Zugehörige Einstellung von RowSource
Tabelle/Abfrage	Der Name einer Tabelle bzw. einer Abfrage oder eine SQL-Anweisung.
Wertliste	Eine Liste von Einträgen mit Semikolons (;) als Trennzeichen.
Feldliste	Der Name einer Tabelle bzw. einer Abfrage oder eine SQL-Anweisung.
Anmerkung   Wird die Eigenschaft RowSourceType auf eine benutzerdefinierte Funktion eingestellt, dann kann die Eigenschaft RowSource leer gelassen werden.

Sie können die Eigenschaften RowSourceType und RowSource im Eigenschaftenfenster des Steuerelements, in einem Makro oder in Visual Basic einstellen.

Für solche Felder, deren Eigenschaft DisplayControl auf Kombinationsfeld oder Listenfeld eingestellt ist, können Sie diese Eigenschaft für Tabellenfelder in der Tabellen-Entwurfsansicht auf der Registerkarte Nachschlagen im Bereich Feldeigenschaften einstellen.

Anmerkung   Microsoft Access stellt diese Eigenschaft automatisch ein, wenn Sie in der Tabellen-Entwurfsansicht Nachschlage-Assistent als Datentyp für ein Feld auswählen.

Stellen Sie in Visual Basic die Eigenschaft RowSourceType unter Verwendung eines Zeichenfolgenausdrucks auf einen der folgenden Werte ein: "Table/Query", "Value List" oder "Field List". Sie können einen Zeichenfolgenausdruck auch verwenden, um den Wert der Eigenschaft RowSource einzustellen. Sie stellen die Eigenschaft RowSourceType auf eine benutzerdefinierte Funktion ein, indem Sie den Namen der Funktion eingeben.

Hinweis

Verfügen Sie über eine begrenzte Anzahl an Werten, die sich nicht ändern, so können Sie die Eigenschaft RowSourceType auf Wertliste einstellen und dann die Werte eingeben, die in der Liste in der Eigenschaft RowSource enthalten sind.

Wenn Sie eine benutzerdefinierte Funktion erstellen, um Elemente in ein Listenfeld oder Kombinationsfeld einzufügen, ruft Microsoft Access die Funktion mehrmals auf, um die benötigten Informationen zu erhalten. Benutzerdefinierte Funktionen für RowSourceType werden in einem ganz bestimmten Funktionsformat geschrieben.


RowSourceType-, RowSource-Eigenschaften (Herkunftstyp, Datensatzherkunft) - Beispiel (Einstellungen)

Die folgenden Beispiele zeigen Einstellungen der Eigenschaft RowSource für jede Einstellung der Eigenschaft RowSourceType.

Wenn RowSourceType auf "Wertliste" eingestellt ist

Ist die Eigenschaft RowSourceType auf Wertliste eingestellt, zeigt die folgende Tabelle gültige Einstellungen für die Eigenschaften RowSource und ColumnCount sowie eine Darstellung der sich ergebenden Liste.

Einstellung für RowSource	Liste
Mo;Di;Mi (ColumnCount = 1)	Einspaltige Liste mit drei Zeilen
1;Montag;2;Dienstag;3;Mittwoch;4;Donnerstag (ColumnCount = 2)	Zweispaltige Liste mit vier Zeilen
Land;Hauptstadt;China;Peking;Brasilien;Brasilia (ColumnCount = 2, ColumnHeads = Ja)	Zweispaltige Liste mit einer Zeile Spaltenüberschriften und zwei Zeilen Daten
Wenn RowSourceType auf "Tabelle/Abfrage" eingestellt ist

Ist die Eigenschaft RowSourceType auf Tabelle/Abfrage eingestellt, so können Sie die Eigenschaft RowSource auf einen Tabellen- oder Abfragenamen (z.B. Kategorieliste) einstellen.

Nachfolgend wird eine gültige SQL-Anweisung für eine zweispaltige Liste dargestellt, die auf der Tabelle Kategorien basiert.

SELECT [Kategorie-Nr], Kategoriename FROM Kategorien ORDER BY Kategoriename;

Definieren die Abfrage Kategorieliste und die SQL-Anweisung die gleiche Gruppe von Datensätzen, so sieht die Liste der Eigenschafteneinstellungen wie folgt aus:

Wenn RowSourceType auf "Feldliste" eingestellt ist

Ist die Eigenschaft RowSourceType auf Feldliste eingestellt und die Eigenschaft RowSource auf Kundenliste (die im vorherigen Beispiel beschriebene Abfrage), so sieht die resultierende Liste wie folgt aus:

Wenn RowSourceType auf eine benutzerdefinierte Funktion eingestellt ist

Ist die Eigenschaft RowSourceType auf den Namen einer benutzerdefinierten Funktion eingestellt, kann die Einstellung der Eigenschaft RowSource leer bleiben. Eine benutzerdefinierte Funktion namens MDBsAnzeigen, die ein Kombinationsfeld mit den Namen aller Datenbanken des aktuellen Verzeichnisses füllt, wird in das Eigenschaftenfenster z.B. wie folgt eingegeben.


RowSourceType-, RowSource-Eigenschaften (Herkunftstyp, Datensatzherkunft) - Beispiel (Visual Basic)

Das folgende Beispiel stellt die Eigenschaft RowSourceType für ein Kombinationsfeld auf Table/Query und die Eigenschaft RowSource auf eine Abfrage namens Personalliste ein.

Forms!Personal!cmboNamen.RowSourceType = "Table/Query"

Forms!Personal![cmboNamen].RowSource = "Personalliste"


RowSourceType-Eigenschaft (benutzerdefinierte Funktion) - Werte für das Argument Code

Die von Ihnen in Visual Basic geschriebene Funktion muß fünf Argumente akzeptieren. Das erste Argument muß als Steuerelement deklariert sein, und die verbleibenden Argumente müssen als Werte vom Typ Variant deklariert sein. Die Funktion selbst muß einen Wert vom Typ Variant zurückgeben.

Syntax

Function Funktionsname(Feld As Control,ID As Variant,Zeile As Variant,Spalte As Variant,Code As Variant) As Variant

Die Funktion hat die folgenden 5 erforderlichen Argumente.

Argument	Beschreibung
Feld	Eine Steuerelementvariable, die auf das zu füllende Listenfeld oder Kombinationsfeld verweist.
ID	Ein eindeutiger Wert, der das zu füllende Steuerelement kennzeichnet. Dies ist hilfreich, wenn Sie die gleiche benutzerdefinierte Funktion für mehrere Listenfelder oder Kombinationsfelder verwenden möchten und zwischen diesen unterscheiden müssen. (Das Beispiel stellt diese Variable auf den Wert der Funktion Timer ein.)
Zeile	Die zu füllende Zeile (Zeilenindex beginnt mit Null).
Spalte	Die zu füllende Spalte (Spaltenindex beginnt mit Null).
Code	Eine eingebaute Konstante der die Art der angeforderten Informationen festlegt.
Anmerkung   Da Microsoft Access eine benutzerdefinierte Funktion mehrmals aufruft, um Elemente zu einer Liste hinzuzufügen, müssen Sie Informationen zwischen den Aufrufen bewahren. Die beste Möglichkeit dazu bietet die Verwendung von Static-Variablen.

Microsoft Access ruft die benutzerdefinierte Funktion wiederholt mit jeweils verschiedenen Werten im Argument Code auf, um die für die Funktion benötigten Informationen anzugeben. Für das Argument Code können die folgenden eingebauten Konstanten verwendet werden.

Konstante	Bedeutung	Funktion gibt zurück
acLBInitialize	Initialisieren	Wert ungleich 0, wenn die Funktion die Liste füllen kann; andernfalls False (0) oder Null.
acLBOpen	Öffnen	ID-Wert ungleich 0, wenn die Funktion die Liste füllen kann; andernfalls False oder Null.
acLBGetRowCount	Anzahl an Zeilen	Anzahl an Zeilen in der Liste (kann 0 sein); -1, falls unbekannt.
acLBGetColumnCount	Anzahl an Spalten	Anzahl an Spalten in der Liste (immer ungleich 0); muß dem Wert aus dem Eigenschaftenfenster entsprechen.
acLBGetColumnWidth	Spaltenbreite	Breite (in Twips) der Spalte, festgelegt vom Argument Spalte; -1, um die Standardbreite zu verwenden.
acLBGetValue	Listeneintrag	Der in der Zeile und Spalte anzuzeigende Listeneintrag, festgelegt von den Argumenten Zeile und Spalte.
acLBGetFormat	Formatzeichenfolge	Formatzeichenfolge, die zur Formatierung des in der Zeile und Spalte anzuzeigenden Listeneintrags verwendet wird, festgelegt von den Argumenten Zeile und Spalte; oder -1, um das Standardformat zu verwenden
acLBEnd	Ende (der letzte Aufruf einer benutzerdefinierten Funktion verwendet immer diesen Wert)	Nichts.
AcLBClose	(Nicht verwendet)	(Nicht verwendet)
Microsoft Access ruft Ihre benutzerdefinierte Funktion einmal für acLBInitialize, acLBOpen, acLBGetRowCount und acLBGetColumnCount auf (Initialisieren der benutzerdefinierten Funktion, Öffnen der Abfrage und Festlegen der Zeilen- und Spaltenanzahl).

Microsoft Access ruft Ihre benutzerdefinierte Funktion zweimal für acLBGetColumnWidth auf (einmal zum Festlegen der Gesamtbreite des Listenfelds oder Kombinationsfelds und ein zweites Mal zum Einstellen der Spaltenbreite).

Wie oft Ihre benutzerdefinierte Funktion für acLBGetValue und acLBGetFormat (Abrufen von Listeneinträgen und Formatieren von Zeichenfolgen) aufgerufen wird, ist variabel und hängt von der Anzahl an Einträgen, von Bildläufen des Benutzers und anderen Faktoren ab.

Microsoft Access ruft die benutzerdefinierte Funktion für acLBEnd auf, wenn das Formular geschlossen wird, oder immer dann, wenn das Listenfeld oder Kombinationsfeld abgefragt wird.

Wann immer ein bestimmter Wert (z.B. die Anzahl an Spalten) angefordert wird, bewirkt die Rückgabe von Null oder eines ungültigen Wertes, daß Microsoft Access den Aufruf der benutzerdefinierten Funktion mit diesem Code beendet.

Tip   Sie können die Select Case-Codestruktur aus dem Beispiel als Vorlage für Ihre eigenen benutzerdefinierten Funktionen verwenden, die für die Eigenschaft RowSourceType vorgesehen sind.


RowSourceType-Eigenschaft (benutzerdefinierte Funktion) - Beispiel (Werte für das Argument Code)

Die folgende benutzerdefinierte Funktion gibt eine Liste der nächsten vier Montage, die dem heutigen Datum folgen, zurück. Damit diese Funktion aus dem Listenfeld-Steuerelement aufgerufen werden kann, geben Sie MontageAuflisten als Einstellung der Eigenschaft RowSourceType an, und lassen Sie die Eigenschaft RowSource leer.

Function MontageAuflisten(Feld As Control,ID As Variant,Zeile As Variant,Spalte As Variant,Code As Variant) As Variant

Dim intOffset As Integer

Select Case Code

Case acLBInitialize	' Initialisieren.

MontageAuflisten = True

Case acLBOpen	' Öffnen.

MontageAuflisten = Timer	' Eindeutige ID.

Case acLBGetRowCount	' Zeilen lesen.

MontageAuflisten = 4

Case acLBGetColumnCount	' Spalten lesen.

MontageAuflisten = 1

Case acLBGetColumnWidth	' Spaltenbreite abrufen.

MontageAuflisten = -1	' Standardbreite verwenden.

Case acLBGetValue	' Die Daten lesen.

intOffset = Abs((9 - Weekday(Now))Mod 7)

MontageAuflisten = Format(Now() + intOffset + 7 * Zeile,"d. mmmm")

End Select

End Function

Im nächsten Beispiel wird ein statisches Datenfeld verwendet, um die Namen der Datenbanken im aktuellen Verzeichnis zu speichern. Sie rufen diese Funktion auf, indem Sie MDBsAnzeigen als Einstellung der Eigenschaft RowSourceType eingeben und die Eigenschaft RowSource leer lassen.

Function MDBsAnzeigen(Feld As Control, ID As Variant, Zeile As Variant, Spalte As Variant, Code As Variant) As Variant

Static DBs(127) As String, Einträge As Integer

Dim Ergebniswert As Variant

Ergebniswert = Null

Select Case Code

Case acLBInitialize	' Initialisieren.

Einträge = 0

DBs(Einträge ) = Dir("*.MDB")

Do Until DBs(Einträge) = "" Or Einträge >= 127

Einträge = Einträge+1

DBs(Einträge) = Dir

Loop

Ergebniswert = Einträge

Case acLBOpen	' Öffnen.

Ergebniswert = Timer	' Eindeutige ID für Steuerelement erzeugen.

Case acLBGetRowCount	' Die Anzahl der Zeilen lesen.

Ergebniswert = Einträge

Case acLBGetColumnCount	' Die Anzahl der Spalten lesen.

Ergebniswert = 1

Case acLBGetColumnWidth	' Die Spaltenbreite.

Ergebniswert = -1	' -1 besagt: Standardbreite verwenden.

Case acLBGetValue	' Die Daten abrufen.

Ergebniswert = DBs(Zeile)

Case acLBEnd	' Ende.

Erase DBs

End Select

MDBsAnzeigen = Ergebniswert

End Function


RunningSum-Eigenschaft (LaufendeSumme)

Sie können die Eigenschaft RunningSum zur Berechnung von einzelnen Datensätzen oder Gruppen-Gesamtsummen in einem Bericht verwenden. Die Eigenschaft RunningSum legt fest, ob ein Textfeld in einem Bericht eine laufende Gesamtsumme anzeigt, und läßt Sie den Bereich einstellen, über den Werte aufsummiert werden. Sie können z.B. Ihre Daten nach Monaten gruppieren und die Summe aller Monatsumsätze im Gruppenfuß anzeigen. Sie können die laufende Summe der kumulierten Umsätze für den gesamten Bericht (Januar-Umsätze im Januar-Gruppenfuß, Umsätze für Januar plus Februar im Februar-Gruppenfuß usw.) anzeigen, indem Sie ein Textfeld in den Gruppenfuß einfügen, das die Umsatzsumme anzeigt, und dessen Eigenschaft RunningSum auf ÜberAlles einstellen.

Anmerkung   Die Eigenschaft RunningSum gilt nur für Textfelder eines Berichts.

Einstellung

Die Eigenschaft RunningSum hat die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Nein	(Standardeinstellung) Das Textfeld zeigt die Daten des zugrundeliegenden Feldes für den aktuellen Datensatz an.	0
Über Gruppe	Das Textfeld zeigt eine laufende Summe von Werten auf gleicher Gruppenebene an. Der Wert wird solange summiert, bis zu einer anderen Gruppenebene gewechselt wird.	1
Über Alles	Das Textfeld zeigt eine laufende Summe von Werten auf gleicher Gruppenebene an. Der Wert wird bis zum Ende des Berichts aufsummiert (kumuliert).	2
Sie können die Eigenschaft RunningSum im Eigenschaftenfenster des Textfelds, in einem Makro oder in Visual Basic einstellen. Sie können die Eigenschaft RunningSum nur in der Entwurfsansicht einstellen.

Hinweis

Setzen Sie das Textfeld in den Detailbereich, um Ergebniswerte für einzelne Datensätze zu berechnen. Stellen Sie z.B. die Eigenschaft ControlSource für das Textfeld auf =1 ein, wenn Sie die im Detailbereich eines Berichts erscheinenden Datensätze numerieren möchten, und stellen Sie die Eigenschaft RunningSum auf Über Gruppe ein.

Setzen Sie das Textfeld in einen Gruppenkopf oder Gruppenfuß, um Ergebniswerte für einzelne Gruppen zu berechnen.

Sie können bis zu 10 ineinander verschachtelte Gruppenebenen in einem Bericht verwenden.


RunningSum-Eigenschaft (LaufendeSumme) - Beispiel (Umsatzbericht)

Das folgende Beispiel zeigt einen Umsatzbericht mit zwei Gruppenebenen: Monat und Art der Lebensmittel. Jedes Textfeld im Gruppenfuß für die Art der Lebensmittel (Januar Schokoladen, Januar Fleisch usw.) enthält den folgenden Ausdruck:

=Sum([Umsatz])

Die Eigenschaft RunningSum jedes Textfelds wird auf einen der drei folgenden Werte eingestellt: Nein, Über Gruppe oder Über Alles.

Gruppenebenen	Nein	Über Gruppe	Über Alles

Monat: Januar

Art der Lebensmittel: Schokoladen

02. Jan	25
22. Jan	75
Januar Schokoladen	100	Jan Lebensm. 100	Umsatz bisher 100

Art der Lebensmittel: Fleisch

03. Jan	90
20. Jan	60
Januar Fleisch	150	Jan Lebensm. 250	Umsatz bisher 250

Monat: Februar

Art der Lebensmittel: Schokoladen
05. Feb	70
19. Feb	80
Februar Schokoladen	150	Feb Lebensm. 150	Umsatz bisher 400

Art der Lebensmittel: Fleisch

12. Feb	150
22. Feb	100
Februar Fleisch	250	Feb Lebensm. 400	Umsatz bisher 650


RunningSum-Eigenschaft (LaufendeSumme) - Beispiel (Visual Basic)

Das folgende Beispiel stellt die Eigenschaft RunningSum für ein Textfeld namens Gesamtumsatz auf 2 (Über Alles) ein.

Reports!rptUmsatz!Gesamtumsatz.RunningSum = 2


Dirty-Eigenschaft (Geändert)

Mit der Eigenschaft Dirty können Sie feststellen, ob der aktuelle Datensatz seit dem letzten Speichern verändert worden ist. Sie können den Benutzer z.B. fragen, ob Veränderungen an einem Datensatz beabsichtigt sind, und andernfalls zulassen, daß der Benutzer ohne Speichern der Änderungen zum nächsten Datensatz wechseln kann.

Einstellung

Die Eigenschaft Dirty verfügt über die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
True	Der aktuelle Datensatz wurde verändert.	True (-1)
False	Der aktuelle Datensatz wurde nicht verändert.	False (0)
Diese Eigenschaft ist nur in der Formularansicht und der Datenblattansicht verfügbar.

Diese Eigenschaft ist schreibgeschützt und nur in einem Makro oder in Visual Basic verfügbar.

Hinweis

Wird ein Datensatz gespeichert, so wird die Eigenschaft Dirty automatisch auf False gesetzt. Nimmt ein Benutzer Änderungen an einem Datensatz vor, so wird die Eigenschaft auf True gesetzt.


Dirty-Eigenschaft (Geändert) - Beispiel

Das folgende Beispiel aktiviert die Schaltfläche btnRückgängig, sobald Daten geändert wurden. Die Funktion BerarbeitenRückgängig( ) wird vom Ereignis AfterUpdate der Textfeld-Steuerelemente aufgerufen. Beim Klicken auf die aktivierte Schaltfläche btnRückgängig wird der ursprüngliche Wert des Steuerelements mit Hilfe der Eigenschaft OldValue wiederhergestellt.

Sub BearbeitenRückgängig()

If Me.Dirty Then

Me!btnRückgängig.Enabled = True	  ' Schaltfläche aktivieren.

Else

Me!btnRückgängig.Enabled = False	  ' Schaltfläche deaktivieren.

End If

End Sub

Sub btnRückgängig ()

Dim ctlC As Control

' Für jedes Steuerelement.

For Each ctlC in Me.Controls

If ctlC.ControlType = acTextBox Then

' Alten Wert wiederherstellen.

ctlC.Value = ctlC.OldValue

End If

Next ctlC

End Sub


AllowZeroLength-Eigenschaft (LeereZeichenfolge)

Mit der Eigenschaft AllowZeroLength können Sie angeben, ob eine leere Zeichenfolge (" ") einen gültigen Eintrag in einem Feld darstellt.

Anmerkung   Die Eigenschaft AllowZeroLength gilt nur für Felder vom Typ Text, Memo und Hyperlink in Tabellen.

Einstellung

Die Eigenschaft AllowZeroLength verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Ja	Eine leere Zeichenfolge ist ein gültiger Eintrag.	True (–1)
Nein	(Voreinstellung) Eine leere Zeichenfolge ist ein ungültiger Eintrag.	False (0)
Sie können diese Eigenschaft im Eigenschaftenfenster der Tabelle oder in Visual Basic einstellen.

Anmerkung   Verwenden Sie die DAO-Eigenschaft AllowZeroLength, um mit Visual Basic auf die Eigenschaft AllowZeroLength eines Feldes zuzugreifen.

Hinweis

Soll Microsoft Access einen leere Zeichenfolge anstatt eines Null-Wertes speichern, wenn ein Feld leer bleibt, müssen die Eigenschaften AllowZeroLength und Required auf Ja eingestellt werden.

Die folgende Tabelle zeigt die Ergebnisse bei der Kombination der Einstellungen der Eigenschaften AllowZeroLength und Required .

AllowZeroLength	Required	Benutzeraktion	Gespeicherter Wert
Nein	Nein	Drückt EINGABETASTE Drückt LEERTASTE Gibt eine leere Zeichenfolge ein	Null Null (nicht zulässig)
Ja	Nein	Drückt EINGABETASTE Drückt LEERTASTE Gibt eine leere Zeichenfolge ein	Null Null Leere Zeichenfolge
Nein	Ja	Drückt EINGABETASTE Drückt LEERTASTE Gibt eine leere Zeichenfolge ein	(nicht zulässig) (nicht zulässig) (nicht zulässig)
Ja	Ja	Drückt EINGABETASTE Drückt LEERTASTE Gibt eine leere Zeichenfolge ein	(nicht zulässig) Leere Zeichenfolge Leere Zeichenfolge
Anmerkung   Sie können die EigenschaftFormat verwenden, um zwischen der Anzeige eines Null-Wertes und einer leeren Zeichenfolge zu unterscheiden. Die Zeichenfolge "Keine" kann z.B. angezeigt werden, wenn eine leere Zeichenfolge eingegeben wird.

Die Eigenschaft AllowZeroLength ist von der Eigenschaft Required unabhängig. Die Eigenschaft Required stellt lediglich fest, ob ein Null-Wert ein gültiger Wert für ein Feld ist. Ist die Eigenschaft AllowZeroLength auf Ja eingestellt, so ist eine leere Zeichenfolge ein gültiger Wert für das Feld, unabhängig von der Einstellung der Eigenschaft Required.


Caption-Eigenschaft (Beschriftung)

Sie können die Eigenschaft Caption verwenden, um dem Benutzer hilfreiche Informationen bereitzustellen, indem Sie Beschriftungen für Objekte in verschiedenen Ansichten angeben:

•	Felder. Gibt den Text für Bezeichnungsfelder von Steuerelementen an, die durch Ziehen eines Feldes aus der Feldliste erstellt wurden, und dient als Spaltenüberschrift für das Feld in der Tabellen- oder Abfrage- Datenblattansicht.

•	Formulare. Gibt den Text an, der in der Titelleiste in der Formularansicht angezeigt wird.

•	Berichte. Gibt den Titel des Berichts in der Seitenansicht an.

•	Schaltflächen und Bezeichnungsfelder. Gibt den Text an, der im Steuerelement angezeigt wird.

Einstellung

Die Eigenschaft Caption ist ein Zeichenfolgenausdruck der bis zu 2.048 Zeichen enthalten kann. Beschriftungen für Formulare und Berichte, die zu lang sind, um in der Titelleiste angezeigt zu werden, werden abgeschnitten.

Bei Steuerelementen können Sie diese Eigenschaft im Eigenschaftenfenster einstellen. Bei Feldern können Sie diese Eigenschaft im Eigenschaftenfenster in der Tabellen-Entwurfsansicht oder im Abfragefenster (im Eigenschaftenfenster Feldeigenschaften) einstellen. Sie können auch ein Makro oder Visual Basic verwenden.

Hinweis

Wenn Sie keine Beschriftung für ein Tabellenfeld angeben, wird die Einstellung der Eigenschaft FieldName des Feldes in der Datenblattansicht als Beschriftung eines Steuerelements oder als Spaltenüberschrift verwendet. Wenn Sie keine Beschriftung für ein Abfragefeld angeben, wird die Beschriftung des zugrundeliegenden Tabellenfelds verwendet. Wenn Sie keine Beschriftung für ein Formular, eine Schaltfläche oder ein Bezeichnungsfeld einstellen, weist Microsoft Access dem Objekt einen eindeutigen, auf dem Objekt basierenden Namen (z.B. "Formular1") zu.

Wenn Sie ein Steuerelement durch Ziehen eines Feldes aus der Feldliste erstellen und keine Einstellung für die Eigenschaft Caption des Feldes angegeben haben, wird die Einstellung der Eigenschaft FieldName des Feldes in das Einstellungsfeld der Eigenschaft Name des Steuerelements kopiert und auch im Bezeichnungsfeld des erstellten Steuerelements angezeigt.

Anmerkung   Ist die Eigenschaft HyperlinkAddress oder HyperlinkSubAddress für ein Steuerelement eingestellt, so erscheint der Text der Eigenschaft Caption für ein Bezeichnungsfeld oder eine Befehlsschaltfläche als Hyperlink.

Sie können die Eigenschaft Caption verwenden, um einem Steuerelement oder einer Befehlsschaltfläche eine Zugriffstaste zuzuweisen. Geben Sie in der Beschriftung ein kaufmännisches Und-Zeichen (&) vor dem Zeichen ein, das zur Zugriffstaste werden soll. Das Zeichen wird dann unterstrichen dargestellt. Beim Bewegen im Formular drücken Sie ALT und gleichzeitig das unterstrichene Zeichen, um den Fokus auf dieses Steuerelement zu setzen.

Tip   Geben Sie zwei kaufmännische Und-Zeichen (&&) in der Einstellung der Beschriftung eines Steuerelements ein, wenn Sie das kaufmännische Und-Zeichen (&) selbst im Beschriftungstext anzeigen möchten. Wenn Sie z.B. Speichern & Beenden anzeigen möchten, müssen Sie Speichern && Beenden im Einstellungsfeld der Eigenschaft Caption eingeben.


DataType-Eigenschaft (Felddatentyp)

Sie können die Eigenschaft DataType verwenden, um den Typ der in einem Tabellenfeld gespeicherten Daten anzugeben. Jedes Feld kann nur Daten eines einzelnen Datentyps speichern.

Einstellung

Die Eigenschaft DataType verwendet die folgenden Einstellungen.

Einstellung	Datentyp	Größe
Text	(Voreinstellung) Text oder Kombinationen aus Text und Zahlen und auch Zahlen, die keine Berechnungen erfordern, z.B. Telefonnummern.	Bis zu 255 Zeichen oder die in der Eigenschaft Fieldsize eingestellte Länge (je nachdem, welcher Wert kleiner ist). Microsoft Access reserviert keinen Platz für nicht genutzte Teile eines Textfelds.
Memo	Langer Text oder Kombinationen aus Text und Zahlen.	Bis zu 65,535 Zeichen. (Wird das Feld Memo durch DAO gesteuert und werden nur Text und Zahlen [keine binäre Daten] gespeichert, ist die Größe des Feldes Memo durch die Größe der Datenbank begrenzt.
Zahl	Numerische Daten, die in mathematischen Berechnungen verwendet werden. Weitere Informationen zur Einstellung eines bestimmten Zahlentyps finden Sie im Thema der Eigenschaft FieldSize.	1, 2, 4 oder 8 Bytes (16 Bytes falls die Eigenschaft FieldSize auf die Replikations-ID eingestellt ist).
Datum/Zeit	Datums- und Zeitwerte für die Jahre 100 bis 9999.	8 Bytes
Währung	Währungswerte und numerische Daten, die in mathematischen Berechnungen verwendet werden und eine bis vier Dezimalstellen enthalten. Auf bis zu 15 Stellen links, und bis zu 4 Stellen rechts vom Dezimaltrennzeichen genau.	8 Bytes
AutoWert	Eine eindeutige, fortlaufende Zahl (die jeweils um 1 hochgezählt wird) oder eine Zufallszahl, die von Microsoft Access zugewiesen wird, wenn ein neuer Datensatz in eine Tabelle eingetragen wird. Felder vom Typ AutoWert können nicht aktualisiert werden. Weitere Informationen finden Sie unter NewValues-Eigenschaft.	4 Bytes (16 Bytes falls die Eigenschaft FieldSize auf die Replikations-ID eingestellt ist).
Ja/Nein	Ja- und Nein-Werte und -Felder, die nur einen von zwei Werten enthalten (Ja/Nein, True/False oder Ein/Aus).	1 Bit
OLE-Objekt	Ein Objekt (wie z.B. eine Microsoft Excel-Tabelle, ein Microsoft Word-Dokument, Grafiken, Klänge oder andere binäre Daten), das mit einer Microsoft Access-Tabelle verknüpft oder darin eingebettet ist.	Bis zu 1 Gigabyte (durch den verfügbaren Festplattenspeicher begrenzt).
Hyperlink	Text oder Kombinationen aus Text und Zahlen, die als Text abgespeichert und als Hyperlink-Adresse verwendet werden. Eine Hyperlink-Adresse besteht aus bis zu drei Teilen: Anzeigetext. der Text, der in einem Feld oder einem Steuerelement angezeigt wird. Adresse. Der Pfad auf eine Datei $UNC-Pfad) oder Seite (URL). UnterAdresse. eine Stelle innerhalb einer Datei oder Seite. Im Menü Einfügen kann durch Klicken auf Hyperlink einfach eine Hyperlink-Adresse in ein Feld oder Steuerelement eingefügt werden. Weitere Informationen finden Sie unter Eingeben von Hyperlink-Adressen in der Formular- und Datenblattansicht.	Jeder Teil, des aus vier Teilen bestehenden Datentyps Hyperlink,kann bis zu 2048 Zeichen enthalten.
Nachschlage - Assistent	Erstellt ein Feld, das Ihnen ermöglicht, einen Wert aus einer anderen Tabelle oder aus einer Liste von Werten mit Hilfe eines Listenfelds oder eines Kominationsfelds. Durch das Wählen dieser Option wird der Nachschlage-Assistent gestartet, der ein Nachschlagefeld erstellt. Schließen Sie den Assistenten, stellt Microsoft Access den im Assistenten gewählten Datentyp ein.	Die gleiche Größe wie das Primärschlüsselfeld, das zum Nachschlagen benötigt wird, in der Regel 4 Bytes.
Sie können diese Eigenschaft nur im oberen Teil der Tabellen-Entwurfsansicht einstellen.

In Visual Basic, verwenden Sie die DAO-Eigenschaft Type um den Datentyp eines Feldes einzustellen bevor er an die Auflistung der Felder angefügt wird..

Hinweis

Felder vom Typ Memo, Hyperlink und OLE-Objekt können nicht indiziert werden.

Tip   Verwenden Sie den Datentyp Währung für ein Feld, das viele Berechnungen mit Daten bis zu vier Dezimalstellen einschließt. Felder vom Datentyp Single und Double erfordern Gleitkommaberechnungen. Der Datentyp Währung verwendet eine schnellere Berechnungsmethode, die auf einer festen Anzahl an Dezimalstellen basiert.

Vorsicht   Die Veränderung eines Felddatentyps nach der Eingabe von Daten in einer Tabelle bewirkt eventuell eine lange Datenkonvertierung, wenn die Tabelle gespeichert wird. Treten zwischen dem Datentyp in einem Feld und einer geänderten Einstellung der Eigenschaft DataType Konflikte auf, so gehen möglicherweise Daten verloren.

Stellen Sie die Eigenschaft Format ein, um ein vordefiniertes Anzeigeformat für die Datentypen Zahl, Datum/Zeit, Währung und Ja/Nein anzugeben.

Weitere Informationen über die Auswahl des Datentyps für Felder, finden Sie in Kapitel 4, "Arbeiten mit Variablen, Datentypen und Konstanten", in Erstellung von Anwendungsprogrammen mit Microsoft Access 97.


DecimalPlaces-Eigenschaft (Dezimalstellen)

Sie können die Eigenschaft DecimalPlaces verwenden, um die Anzahl an Dezimalstellen anzugeben, die Microsoft Access zur Darstellung von Zahlen verwenden soll.

Einstellung

Die Eigenschaft DecimalPlaces verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Automatisch	(Voreinstellung) Zahlen werden so angezeigt, wie von der Eigenschaft Format angegeben.	255
0 bis 15	Ziffern rechts des Dezimaltrennzeichens werden mit der angegebenen Anzahl an Dezimalstellen angezeigt; Ziffern links des Dezimaltrennzeichens werden so angezeigt, wie von der Eigenschaft Format angegeben.	0 bis 15
Sie können diese Eigenschaft für Textfelder und Kombinationsfelder mit Hilfe des Eigenschaftenfensters des Steuerelements und für Tabellenfelder mit Hilfe des Eigenschaftenfensters der Tabelle einstellen. Sie können diese Eigenschaft auch im Eigenschaftenfenster der Feldeigenschaften in der Abfrage-Entwurfsansicht einstellen.

Tip   Sie sollten die Eigenschaft DecimalPlaces im Eigenschaftenfenster der Tabelle einstellen. Ein gebundenes Steuerelement, das Sie in einem Formular oder einem Bericht erstellen, übernimmt die Einstellung der Eigenschaft DecimalPlaces aus dem Feld der zugrundeliegenden Tabelle oder Abfrage, so daß Sie die Eigenschaft nicht für jedes gebundene Steuerelement, das Sie neu erstellen, angeben müssen.

Für Steuerelemente können Sie diese Eigenschaft auch mit Hilfe eines Makros oder in Visual Basic einstellen.

Die Einstellung der Eigenschaft DecimalPlaces hat keine Auswirkungen, wenn die Eigenschaft Format keine Einstellung aufweist oder auf Allgemeine Zahl eingestellt ist.

Hinweis

Die Eigenschaft DecimalPlaces betrifft nur die Anzahl der angezeigten Dezimalstellen, nicht die Anzahl der gespeicherten Dezimalstellen. Sie können die Art der Speicherung für eine Zahl mit der Eigenschaft FieldSize in der Tabellen-Entwurfsansicht ändern.

Mit der Eigenschaft DecimalPlaces können Sie ein Anzeigeformat für Zahlen angeben, das von der Einstellung der Eigenschaft Format oder der gespeicherten Form abweicht. So zeigt z.B. die Einstellung Währung der Eigenschaft Format nur zwei Dezimalstellen an (5,35 DM). Sie können Währungsbeträge mit vier Dezimalstellen anzeigen (z.B. 5,3523 DM), indem Sie die Eigenschaft DecimalPlaces auf den Wert 4 einstellen.


Description-Eigenschaft (Beschreibung)

Sie können die Eigenschaft Description verwenden, um Informationen über im Datenbankfenster enthaltene Objekte sowie über einzelne Tabellen- oder Abfragefelder bereitzustellen.

Einstellung

Wählen Sie für ein Datenbankobjekt aus dem Menü Ansicht den Befehl Eigenschaften, und geben Sie den beschreibenden Text in das Feld Beschreibung ein. Für Tabellen und Abfragen können Sie auch die Beschreibung im Eigenschaftenfenster der Tabelle oder Abfrage eingeben. Eine Beschreibung des Objekts wird neben dem Namen des Objekts im Datenbankfenster angezeigt, wenn Sie im Menü Ansicht auf Details klicken.

Geben Sie für einzelne Tabellen- oder Abfragefelder die Feldbeschreibung im oberen Bereich der Tabellen-Entwurfsansicht oder im Eigenschaftenfenster der Feldeigenschaften im Abfragefenster ein. Die maximale Länge beträgt 255 Zeichen.

Wenn Sie in Visual Basic diese Eigenschaft das erste Mal einstellen, müssen Sie mit Hilfe der DAO-Methode CreateProperty eine anwendungsdefinierte Eigenschaft erstellen.

Hinweis

Die Beschreibung eines Objekts wird in der Spalte Beschreibung in der Detailansicht des Datenbankfensters angezeigt.

Wenn Sie Steuerelemente erstellen, indem Sie ein Feld aus der Feldliste ziehen, kopiert Microsoft Access die Eigenschaft Description des Feldes in die Eigenschaft StatusBarText des Steuerelements.

Anmerkung   Bei einer verknüpften Tabelle zeigt Microsoft Access die Verbindungsinformationen in der Eigenschaft Description an.


FieldSize-Eigenschaft (Feldgröße)

Sie können die Eigenschaft FieldSize verwenden, um die maximale Datenmenge festzulegen, die in einem Feld gespeichert werden kann, das auf den Datentyp Text, Zahl, oder AutoWert eingestellt ist.

Einstellung

Ist die Eigenschaft DataType auf Text eingestellt, so geben Sie eine Zahl von 0 bis 255 ein. Die Standardeinstellung ist 50.

Ist die Eigenschaft DataType auf AutoWert eingestellt, so werden die Einstellungen der Eigenschaft FieldSize als Long Integer oder Replications-ID eingestellt.

Ist die Eigenschaft DataType auf Zahl eingestellt, so werden die Einstellungen der Eigenschaft FieldSize und deren Werte in folgender Weise miteinander verknüpft.

Einstellung	Beschreibung	Dezimale Genauigkeit	Speichergröße
Byte	Speichert Zahlen von 0 bis 255 (keine Bruchzahlen).	Keine	1 Byte
Integer	Speichert Zahlen von -32.768 bis 32.767 (keine Bruchzahlen).	Keine	2 Bytes
Long Integer	(Voreinstellung) Speichert Zahlen von -2.147.483.648 bis 2.147.483.647 (keine Bruchzahlen).	Keine	4 Bytes
Single	Speichert Zahlen von –3.402823E38 bis –1.401298E–45 für negative Werte, und von  1.401298E–45 bis 3.402823E38 für positive Werte.	7	4 Bytes
Double	Speichert Zahlen von –1.79769313486231E308 bis –4.94065645841247E–324 für negative Werte, und von 1.79769313486231E308 bis 4.94065645841247E–324 für positive Werte.	15	8 Bytes
Replikations- ID	Globally unique identifier (GUID)	N/A	16 Bytes
Sie können diese Eigenschaft im Eigenschaftenfenster der Tabelle einstellen.

In Visual Basic verwenden Sie die DAO-Eigenschaft Size, um die maximale Größe von Textfeldern zu lesen und einzustellen. (Für andere Datentypen als Text legt die Einstellung der Eigenschaft Type automatisch die Einstellung der Eigenschaft Size fest.)

Anmerkung   Sie können die Standardfeldgrößen für Text- und Zahlenfelder angeben, indem Sie die Werte in der Option Standardfeldgröße auf der Registerkarte Tabellen/Abfragen verändern. Klicken Sie dazu im Menü Extras auf Optionen.

Hinweis

Sie sollten die kleinstmögliche Einstellung der Eigenschaft FieldSize verwenden, da kleinere Daten schneller verarbeitet werden können und weniger Speicherplatz belegen.

Vorsicht   Wenn Sie eine große Einstellung der Eigenschaft FieldSize in eine kleinere ändern und das zu ändernde Feld bereits Daten enthält, gehen möglicherweise Daten in diesem Feld verloren. Verändern Sie z.B. die Einstellung der Eigenschaft FieldSize für ein Feld vom Datentyp Text von 255 auf 50, so gehen die Daten verloren, die mehr als 50 Zeichen umfassen.

Wenn die Daten in einem Feld vom Datentyp Zahl nicht mit der neuen Einstellung von FieldSize übereinstimmen, werden Bruchzahlen eventuell gerundet, oder Sie erhalten einen Null -Wert. Wechseln Sie z.B. vom Datentyp Single zum Datentyp Integer, so werden Bruchzahlenwerte auf die nächste ganze Zahl gerundet, und Werte größer als 32.767 oder kleiner als -32.768 ergeben Null-Felder.

Sie können die Änderungen, die auf einer neuen Einstellung der Eigenschaft FieldSize basieren, nach dem Speichern in der Tabellen-Entwurfsansicht nicht wieder rückgängig machen.

Tip   Sie können den Datentyp Währung verwenden, wenn Sie mehrere Berechnungen auf einem Feld durchführen möchten, das Daten mit bis zu vier Dezimalstellen enthält. Felder des Datentyps Single und Double erfordern Fließkommaberechnungen. Felder vom Datentyp Währung verwenden die schnellere Berechnungsmethode mit Festkomma.


IgnoreNulls-Eigenschaft (NullwerteIgnorieren)

Mit der Eigenschaft IgnoreNulls können Sie angeben, daß Datensätze mit Null-Werten in indizierten Feldern nicht in den Index aufgenommen werden.

Einstellung

Die Eigenschaft IgnoreNulls verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Ja	Datensätze, die Null-Werte in indizierten Feldern enthalten, werden nicht in den Index aufgenommen.	True (–1)
Nein	(Voreinstellung) Datensätze, die Null-Werte in indizierten Feldern enthalten, werden in den Index aufgenommen.	False (0)
Sie können diese Eigenschaft im Fenster Indizes in der Tabellen-Entwurfsansicht oder in Visual Basic einstellen.

Anmerkung   Sie greifen auf die Eigenschaft IgnoreNulls eines Indexes mit Visual Basic zu, indem Sie die Eigenschaft IgnoreNulls des Datenzugriffsobjekts verwenden.

Hinweis

Sie können einen Index für ein Feld definieren, um schnelle Suchvorgänge nach Datensätzen in diesem Feld zu ermöglichen. Wenn Sie Null-Einträge im indizierten Feld zulassen und erwarten, daß viele Null-Einträge vorhanden sein werden, stellen Sie die Eigenschaft IgnoreNulls für den Index auf Ja ein, um den für den Index benötigten Speicherplatz zu reduzieren.


Indexed-Eigenschaft (Indiziert)

Sie können die Eigenschaft Indexed verwenden, um einen Einzelfeld-Index einzustellen. Ein Index beschleunigt Abfragen auf den indizierten Feldern sowie Sortier- und Gruppieroperationen. Suchen Sie z.B. nach einem bestimmten Angestelltennamen in einem Feld namens Nachname, so können Sie einen Index für dieses Feld erstellen.

Einstellung

Die Eigenschaft Indexed verwendet die folgenden Einstellungen.

Einstellung	Beschreibung
Nein	(Voreinstellung) Kein Index.
Ja (Duplikate möglich)	Der Index läßt Duplikate zu.
Ja (Ohne Duplikate)	Der Index läßt keine Duplikate zu.
Sie können diese Eigenschaft nur im Bereich Feldeigenschaften in der Tabellen-Entwurfsansicht einstellen. Sie können einen Einzelfeld-Index setzen, indem Sie in der Tabellen-Entwurfsansicht die Eigenschaft Indexed einstellen. Im Menü Ansicht können Sie durch Klicken auf Indizes Mehr-Felder-Indizes im Fenster Indizes einrichten.

Wenn Sie einen Einzelfeld-Index im Fenster Indizes hinzufügen, stellt Microsoft Access die Eigenschaft Indexed auf Ja ein

In Visual Basic, verwenden Sie die DAO-Methode CreateIndex, um einen Index für ein Feld zu erstellen.

Hinweis

Verwenden Sie die Eigenschaft Indexed, um mit Hilfe eines Einzelfelds in einer Tabelle nach Datensätzen zu suchen und zu sortieren. Das Feld kann entweder eindeutige oder nicht-eindeutige Werte enthalten. Sie können z.B. einen Index für ein Feld namens Personal-Nr in einer Personaltabelle erstellen, in der jede Personal-Nr eindeutig ist, oder Sie können einen Index für ein Namensfeld erstellen, in dem einige Namen mehrfach vorkommen können.

Anmerkung   Sie können keine Felder vom Datentyp Memo, Hyperlink, oder OLE-Objekt indizieren.

Sie können beliebig viele Indizes erstellen. Die Indizes werden erstellt, wenn Sie den Tabellenentwurf speichern, und sie werden automatisch aktualisiert, wenn Sie Datensätze verändern oder hinzufügen. Sie können Indizes jederzeit in der Tabellen-Entwurfsansicht hinzufügen oder löschen.

Tip   Sie können Text, der normalerweise am Anfang oder Ende eines Feldnamens verwendet wird (z.B. "ID", "Code" oder "Nr"), mit der Option AutoIndex bei Importieren/Erstellen auf der Registerkarte Tabellen/Abfragen des Dialogfelds Optionen angeben (klicken Sie im Menü Extras auf Optionen, um das Dialogfeld zu öffnen). Importieren Sie Datendateien, die diesen Text in ihren Feldnamen enthalten, so erstellt Microsoft Access einen Index für diese Felder.

Entspricht der Primärschlüssel einer Tabelle einem Einzelfeld, so stellt Microsoft Access die Eigenschaft Indexed für dieses Feld automatisch auf Ja (Keine Duplikate) ein.

Mehr-Felder-Indizes erstellen Sie mit Hilfe des Fensters Indizes.


Primary-Eigenschaft (Primärschlüssel)

Mit der Eigenschaft Primary können Sie den Primärschlüssel für die Tabelle einstellen. Ein Primärschlüssel kennzeichnet jeden Datensatz in einer Tabelle eindeutig und unterbindet die Eingabe mehrfacher Werte in einem Primärschlüsselfeld.

Einstellung

Die Eigenschaft Primary verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Ja	Der ausgewählte Index stellt den Primärschlüssel dar.	True (–1)
Nein	Der ausgewählte Index stellt nicht den Primärschlüssel dar.	False (0)
Sie können die Eigenschaft Primary auf drei Arten einstellen:

•	In der Tabellen-Entwurfsansicht wählen Sie das Feld oder die Felder in der für den Primärschlüssel gewünschten Reihenfolge aus und klicken dann in der Symbolleiste auf Primärschlüssel [image].

•	Im Fenster Indizes wählen Sie den Namen eines Indexes in der Spalte Indexname aus bzw. geben ihn dort ein und stellen dann die Eigenschaft Primary auf Ja ein.

•	In Visual Basic greifen Sie auf die Eigenschaft Primary eines Indexes zu, indem Sie die DAO-Eigenschaft Primary verwenden.

Hinweis

Microsoft Access erstellt einen Index für den Primärschlüssel der Tabelle und verwendet diesen zur Suche nach Datensätzen und zur Erstellung von Verknüpfungen zwischen Tabellen. Der Primärschlüsselindex erfordert einen Eintrag in jedem Primärschlüsselfeld und läßt keine Duplikate zu. Die Reihenfolge der Felder legt die Standard-Sortierreihenfolge der Tabelle fest.

Ist kein Primärschlüssel vorhanden, wenn Sie einen Tabellenentwurf speichern, so werden Sie von Microsoft Access in einem Dialogfeld gefragt, ob ein Primärschlüssel erstellt werden soll. Wählen Sie Ja, so wird der Tabelle ein Feld vom Datentyp AutoWert hinzugefügt (für das die Eigenschaft NewValues auf Inkrement eingestellt ist) und als Primärschlüssel festgelegt. Wählen Sie Nein, so wird kein Primärschlüssel erstellt.

Eine Tabelle ohne Primärschlüssel kann nicht in einer Beziehung verwendet werden. Such- bzw. Sortiervorgänge in dieser Tabelle können langsamer sein.


Required-Eigenschaft (EingabeErforderlich)

Mit der Eigenschaft Required können Sie angeben, ob ein Wert in einem Feld erforderlich ist oder nicht. Ist diese Eigenschaft auf Ja eingestellt, so müssen Sie bei der Eingabe von Daten in einem Datensatz einen Wert in dem Feld oder in einem an dieses Feld gebundenen Steuerelement eingeben, wobei der Wert ungleich Null sein muß. Sie möchten z.B. sicherstellen, daß ein Steuerelement namens Nachname in jedem Datensatz einen Wert enthält. Wenn Sie Nullwerte in einem Feld zulassen möchten, müssen Sie nicht nur die Eigenschaft Required auf Nein einstellen, sondern, falls es eine Gültigkeitsregel gibt, muß diese auch explizit angeben "Ist Null Oder (...andere Gültigkeitsregeln...)".

Anmerkung   Die Eigenschaft Required gilt nicht für Felder vom Typ AutoWert.

Einstellung

Die Eigenschaft Required verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Ja	Das Feld erfordert einen Wert.	True (–1)
Nein	(Voreinstellung) Das Feld erfordert keinen Wert.	False (0)
Sie können diese Eigenschaft für alle Tabellenfelder (mit Ausnahme von Feldern des Datentyps AutoWert) im Eigenschaftenfenster der Tabelle oder in Visual Basic einstellen.

Anmerkung   Sie greifen auf die Eigenschaft Required eines Feldes in Visual Basic zu, indem Sie die DAO-Eigenschaft Required verwenden.

Hinweis

Die Eigenschaft Required wird auf Tabellenebene durch die Microsoft Jet-Datenbank-Engine erzwungen. Wenn Sie diese Eigenschaft auf Ja einstellen, muß das Feld einen Wert erhalten oder bereits enthalten, falls es über den Fokus verfügt, wenn der Benutzer Daten in einer Tabelle (oder in einem Formular oder Datenblatt, das auf der Tabelle basiert) eingibt, wenn ein Makro oder Visual Basic den Wert des Feldes einstellt oder Daten in die Tabelle importiert werden.

Sie können die Eigenschaften Required und AllowZeroLength verwenden, um zwischen nicht bestehenden Informationen (als leere Zeichenfolge (" ") im Feld gespeichert) und möglicherweise bestehenden, aber unbekannten Informationen (als Null-Wert im Feld gespeichert) zu unterscheiden. Stellen Sie die Eigenschaft AllowZeroLength auf Ja ein, so ist eine leere Zeichenfolge ein gültiger Eintrag für ein Feld, unabhängig von der Einstellung der Eigenschaft Required. Stellen Sie die Eigenschaft Required auf Ja und die Eigenschaft AllowZeroLength auf Nein ein, so müssen Sie einen Wert in dem Feld eingeben, und eine leere Zeichenfolge ist kein gültiger Eintrag.

Tip   Sie müssen ein Eingabeformat verwenden, wenn Daten in einem Feld eingegeben werden, um zwischen der Anzeige eines Null-Wertes und einer leeren Zeichenfolge zu unterscheiden. So könnte z.B. die Zeichenfolge "Keine" angezeigt werden, wenn eine leere Zeichenfolge eingegeben wird.

Die folgende Tabelle zeigt die zu erwartenden Ergebnisse an, wenn Sie die Einstellungen der Eigenschaften Required und AllowZeroLength kombinieren.

Required	AllowZeroLength	Benutzeraktion	Gespeicherter Wert
Nein	Nein	Drückt EINGABETASTE Drückt LEERTASTE Gibt eine leere Zeichenfolge ein	Null Null (nicht zulässig)
Nein	Ja	Drückt EINGABETASTE Drückt LEERTASTE Gibt eine leere Zeichenfolge ein	Null Null Leere Zeichenfolge
Ja	Nein	Drückt EINGABETASTE Drückt LEERTASTE Gibt eine leere Zeichenfolge ein	(nicht zulässig) (nicht zulässig) (nicht zulässig)
Ja	Ja	Drückt EINGABETASTE Drückt LEERTASTE Gibt eine leere Zeichenfolge ein	(nicht zulässig) Leere Zeichenfolge Leere Zeichenfolge
Wenn Sie die Eigenschaft Required für ein Feld in einer Tabelle, das bereits Daten enthält, auf Ja einstellen, können Sie mit Microsoft Access prüfen, ob das Feld in allen bestehenden Datensätzen einen Wert enthält. Sie können aber auch fordern, daß ein Wert in diesem Feld für alle neuen Datensätze eingegeben wird, wenn bereits Datensätze mit Null-Werten in diesem Feld existieren.

Anmerkung   Damit Sie eine Beziehung zwischen verknüpften Tabellen erzwingen können, die keine Null-Werte zulassen, stellen Sie die Eigenschaft Required des Feldes Fremdschlüssel in der verknüpften Tabelle auf Ja ein. Die Jet-Datenbank-Engine sorgt dann dafür, daß ein verknüpfter Datensatz in der übergeordneten Tabelle existiert, bevor Sie einen Datensatz in der untergeordneten Tabelle erstellen können. Stellt das Fremdschlüsselfeld einen Teil des Primärschlüssels der untergeordneten Tabelle dar, so ist diese Maßnahme nicht erforderlich, da ein Primärschlüsselfeld keinen Null-Wert enthalten kann.


FieldName-Eigenschaft (Feldname)

Mit der Eigenschaft FieldName können Sie den Namen eines Feldes in einer Tabelle angeben. Sie können z.B. "Nachname" für ein Feld festlegen, das den Nachnamen der Angestellten in der Tabelle Personal enthält.

Einstellung

Geben Sie einen Feldnamen ein, der den Microsoft Access-Konventionen zur Objektbenennung entspricht. Der Name darf mit keinem anderen Feldnamen in der Tabelle übereinstimmen.

Anmerkung   Geben Sie keinen Namen für ein Feld an, der Konflikte mit Namen von eingebauten Microsoft Access-Funktionen oder -Eigenschaften (z.B. mit der Eigenschaft Name) verursachen kann.

Sie können diese Eigenschaft im oberen Bereich der Tabellen-Entwurfsansicht oder mit Visual Basic einstellen.

Verwenden Sie in Visual Basic die Eigenschaft Name des DAO-Objekts, um den Feldnamen einer Tabelle zu lesen und einzustellen.

Hinweis

Microsoft Access identifiziert ein Feld anhand seines Feldnamens. Haben Sie einmal einen Feldnamen in der Tabellen-Entwurfsansicht festgelegt, so können Sie diesen Namen in Ausdrücken, Visual Basic-Prozeduren und SQL-Anweisungen verwenden.


Unique-Eigenschaft (Eindeutig)

Mit der Eigenschaft Unique können Sie angeben, daß ein Index die Eindeutigkeit der Daten im Schlüsselindex der Tabelle erfordert.

Einstellung

Die Eigenschaft Unique verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Ja	Der Index entspricht einem Schlüsselindex (eindeutig).	True (-1)
Nein	Der Index entspricht keinem Schlüsselindex.	False (0)
Sie können diese Eigenschaft im Fenster Indizes in der Tabellen-Entwurfsansicht oder mit Visual Basic einstellen.

Anmerkung   Sie greifen auf die Eigenschaft Unique eines Indexes mit Visual Basic zu, indem Sie die Eigenschaft Unique des DAO-Objekts verwenden.

Hinweis

Ein Schlüsselindex optimiert die Suche nach Datensätzen. Er setzt sich aus einem oder mehreren Feldern zusammen, die alle Datensätze in einer Tabelle in einer vordefinierten Reihenfolge eindeutig anordnen. Besteht der Index aus einem Feld, so müssen die Werte in diesem Feld eindeutig sein. Besteht der Index aus mehreren Feldern, so kann jedes Feld mehrfache Werte enthalten, aber jede Kombination von Werten aller indizierten Felder muß eindeutig sein. Ein Index ohne Schlüssel verfügt über Felder mit Werten, die nicht unbedingt eindeutig sind.

Ein Index entspricht dem Primärindex für eine Tabelle, wenn dessen Eigenschaft Primary auf Ja eingestellt ist. Jede Tabelle kann nur über einen primären Index verfügen.


DisplayControl-Eigenschaft (SteuerelementAnzeigen)

Mit der Eigenschaft DisplayControl können Sie in der Tabellen-Entwurfsansicht das Standard-Steuerelement

Einstellung

Sie können diese Eigenschaft im Eigenschaftenfenster der Tabelle in der Tabellen-Entwurfsansicht einstellen, indem Sie unter Feldeigenschaften auf die Registerkarte Nachschlagen klicken.

Die Eigenschaft enthält ein Dropdown-Listenfeld, das die verfügbaren Steuerelemente für das ausgewählte Feld enthält. Für Felder des Datentyps Text oder Zahl kann diese Eigenschaft auf Textfeld, Listenfeld oder Kombinationsfeld eingestellt werden. Für Felder des Datentyps Ja/Nein kann die Eigenschaft auf Kontrollkästchen, Textfeld oder Kombinationsfeld eingestellt werden.

Hinweis

Wenn Sie ein Steuerelement für diese Eigenschaft auswählen, werden alle zusätzlichen Eigenschaften, die zur Konfiguration des Steuerelements benötigt werden, ebenfalls in der Registerkarte Nachschlagen angezeigt.

Tip   Wenn Sie den Nachschlage-Assistenten verwenden, stellt Microsoft Access die Eigenschaft DisplayControl und alle damit verbundenen Eigenschaften für Sie ein.

Das Einstellen dieser Eigenschaft und aller damit verbundenen Eigenschaften von Steuerelementtypen wirkt sich auf die Feldanzeige sowohl in der Datenblattansicht als auch in der Formularansicht aus. Das Feld wird mit den in der Tabellen-Entwurfsansicht festgelegten Einstellungen für Steuerelemente und Steuerelementeigenschaften angezeigt. Falls die Eigenschaft DisplayControl für ein Feld in der Tabellen-Entwurfsansicht eingestellt wurde, und Sie es in der Entwurfsansicht für Formulare aus der Feldliste ziehen, kopiert Microsoft Access die entsprechenden Eigenschaften in das Eigenschaftenfenster des Steuerelements.


DatasheetCellsEffect-Eigenschaft (DatenblattZelleffekt)

Mit der Eigenschaft DatasheetCellsEffect können Sie angeben, ob Zellen eines Datenblatts Spezialeffekte zugewiesen werden.

Anmerkung   Die Eigenschaft DatasheetCellsEffect gilt nur für Objekte in der Datenblattansicht.

Einstellung

Die Eigenschaft DatasheetCellsEffect verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic	Wert
Flach	(Voreinstellung) Den Zellen im Datenblatt werden keine Spezialeffekte zugewiesen.	AcEffectNormal	0
Erhöht	Zellen im Datenblatt werden erhöht dargestellt.	AcEffectRaised	1
Vertieft	Zellen im Datenblatt werden vertieft dargestellt.	AcEffectSunken	2
Sie können diese Eigenschaft mit der Schaltfläche Spezialeffekt in der Format- Symbolleiste (Datenblatt), mit einem Makro oder in Visual Basic einstellen.

Diese Eigenschaft kann auch eingestellt werden, indem Sie im Menü Format auf den Befehl Zellen klicken und dann im Dialogfeld Zelleffekte unter "Zelleffekt" auf den Typ des gewünschten Zelleffekts klicken.

Sie können die Voreinstellung der Eigenschaft DatasheetCellsEffect in der Registerkarte Datenblatt des Dialogfelds Optionen (das Sie über das Menü Extras öffnen) festlegen.

Hinweis

Die Eigenschaft wendet den ausgewählten Effekt auf das gesamte Datenblatt an.

Wenn diese Eigenschaft auf Erhöht oder Vertieft eingestellt ist, sind im Datenblatt Rasterlinien zu sehen, unabhängig von der Einstellung der Eigenschaft DatasheetGridLinesBehavior.

Die folgende Tabelle enthält die Eigenschaften, die nicht in der Properties-Auflistung für TableDef- oder QueryDef- Objekte enthalten sind, wenn Sie diese nicht mit der Methode CreateProperty hinzufügen oder mit der Format-Symbolleiste (Datenblatt) setzen.

DatasheetFontItalic*	DatasheetForeColor*
DatasheetFontHeight*	DatasheetBackColor
DatasheetFontName*	DatasheetGridlinesColor
DatasheetFontUnderline*	DatasheetGridlinesBehavior
DatasheetFontWeight*	DatasheetCellsEffect
Anmerkung   Wenn Sie eine der Eigenschaften setzen oder hinzufügen, die mit einem Sternchen markiert sind, fügt Microsoft Access automatisch alle in der Auflistung mit einem Sternchen versehenen Eigenschaften der Properties-Auflistung hinzu.


DatasheetGridlinesColor-Eigenschaft (DatenblattRasterlinienfarbe)

Mit Hilfe der Eigenschaft DatasheetGridlinesColor können Sie die Farbe der Rasterlinien eines Datenblatts angeben.

Anmerkung   Die Eigenschaft DatasheetGridlinesColor betrifft nur Objekte in der Datenblattansicht.

Einstellung

Die Einstellung der Eigenschaft DatasheetGridlinesColor ist vom Datentyp Long Integer. In Visual Basic können Sie diese Eigenschaft auch mit den Funktionen RGB und QBColor einstellen.

Sie können diese Eigenschaft mit der Schaltfläche Linien-/Rahmenfarbe  [image] in der Format- Symbolleiste (Datenblatt), mit einem Makro oder in Visual Basic einstellen.

Diese Eigenschaft kann auch eingestellt werden, indem Sie im Menü Format auf den Befehl Zellen klicken und dann im Dialogfeld Zelleffekte unter "Zelleffekt" den Typ des gewünschten Zelleffekts auswählen.

Sie können die Voreinstellung der Eigenschaft DatasheetGridlinesColor in der Registerkarte Datenblatt des Dialogfelds Optionen (das Sie über das Menü Extras öffnen) festlegen.

Hinweis

Die Einstellung dieser Eigenschaft wirkt sich auf die Rasterlinienfarbe des gesamten Datenblatts aus. Es ist nicht möglich, die Rasterlinienfarbe für einzelne Zellen in der Datenblattansicht einzustellen.

Die folgende Tabelle enthält die Eigenschaften, die nicht in der Properties-Auflistung für TableDef- oder QueryDef-Objekte enthalten sind, wenn Sie diese nicht mit der Methode CreateProperty hinzufügen oder mit der Format-Symbolleiste (Datenblatt) setzen.

DatasheetFontItalic*	DatasheetForeColor*
DatasheetFontHeight*	DatasheetBackColor
DatasheetFontName*	DatasheetGridlinesColor
DatasheetFontUnderline*	DatasheetGridlinesBehavior
DatasheetFontWeight*	DatasheetCellsEffect
Anmerkung   Wenn Sie eine der Eigenschaften setzen oder hinzufügen, die mit einem Sternchen markiert sind, fügt Microsoft Access automatisch alle in der Auflistung mit einem Sternchen versehenen Eigenschaften der Properties-Auflistung hinzu.


DatasheetGridlinesBehavior-Eigenschaft (DatenblattRasterlinienverhalten)

Mit Hilfe der Eigenschaft DatasheetGridlinesBehavior können Sie angeben, welche Rasterlinien in der Datenblattansicht angezeigt werden.

Anmerkung   Die Eigenschaft DatasheetGridlinesBehavior betrifft nur Objekte in der Datenblattansicht.

Einstellung

Die Eigenschaft DatasheetGridlinesBehavior verwendet folgende Einstellungen.

Einstellung	Beschreibung	Visual Basic	Wert
Keines	Es werden keine Rasterlinien angezeigt.	acGridlinesNone	0
Horizontal	Nur horizontale Rasterlinien werden angezeigt.	AcGridlinesHoriz	1
Vertikal	Nur vertikale Rasterlinien werden angezeigt.	AcGridlinesVert	2
Beide	(Voreinstellung) Horizontale und vertikale Rasterlinien werden angezeigt.	AcGridlinesBoth	3
Sie können diese Eigenschaft mit der Schaltfläche Rasterlinien  in der Format- Symbolleiste (Datenblatt), mit einem Makro oder in Visual Basic einstellen.

Diese Eigenschaft kann auch eingestellt werden, indem Sie im Menü Format auf den Befehl Zellen klicken und dann im Dialogfeld Zelleffekte unter "Zelleffekt" den Typ des gewünschten Zelleffekts auswählen.

Sie können die Voreinstellung der Eigenschaft DatasheetGridlinesBehavior in der Registerkarte Datenblatt des Dialogfelds Optionen (das Sie über das Menü Extras öffnen) festlegen.

Hinweis

Änderungen an der Eigenschaft DatasheetGridlinesBehavior sind nur dann sichtbar, wenn die Eigenschaft DatasheetCellsEffect auf Flach eingestellt ist.

Die folgende Tabelle enthält die Eigenschaften, die nicht in der Properties-Auflistung für TableDef- oder QueryDef-Objekte enthalten sind, wenn Sie diese nicht mit der Methode CreateProperty hinzufügen oder mit der Format-Symbolleiste (Datenblatt) setzen.

DatasheetFontItalic*	DatasheetForeColor*
DatasheetFontHeight*	DatasheetBackColor
DatasheetFontName*	DatasheetGridlinesColor
DatasheetFontUnderline*	DatasheetGridlinesBehavior
DatasheetFontWeight*	DatasheetCellsEffect
Anmerkung   Wenn Sie eine der Eigenschaften setzen oder hinzufügen, die mit einem Sternchen markiert sind, fügt Microsoft Access automatisch alle in der Auflistung mit einem Sternchen versehenen Eigenschaften der Properties-Auflistung hinzu.


NewValues-Eigenschaft (NeueWerte)

Mit Hilfe der Eigenschaft NewValues können Sie angeben, wie Felder vom Typ AutoWert hochgezählt werden, wenn einer Tabelle neue Datensätze hinzugefügt werden.

Anmerkung   Die Eigenschaft NewValues betrifft nur Felder vom Typ AutoWert.

Einstellung

Die Eigenschaft NewValues verwendet folgende Einstellungen.

Einstellung	Beschreibung
Inkrement	(Voreinstellung) Der Wert von Feldern vom Typ AutoWert wird für neue Datensätze um 1 hochgezählt.
Zufall	Dem Wert von Feldern vom Typ AutoWert wird eine zufällige Zahl des Typs Long Integer für neue Datensätze zugewiesen.
Sie können diese Eigenschaft im Eigenschaftenfenster der Tabelle in der Tabellen-Entwurfsansicht einstellen, indem Sie unter Feldeigenschaften auf die Registerkarte Allgemein klicken.

Hinweis

Wenn Sie eine Datenbank replizieren, werden Felder vom Typ AutoWert auf Zufall eingestellt, damit neue Datensätze, die in andere Replikate eingegeben werden, eindeutige Werte erhalten.


AddColon-, AutoLabel-Eigenschaften (MitDoppelpunkt, MitBezeichnungsfeld)

•	Die Eigenschaft AddColon gibt an, ob ein Doppelpunkt hinter den Text des Bezeichnungsfelds eines neuen Steuerelements gesetzt werden soll.

•	Die Eigenschaft AutoLabel gibt an, ob für ein neues Steuerelement automatisch ein Bezeichnungsfeld erstellt wird, das dem Steuerelement zugeordnet wird.

Einstellung

Die Eigenschaft AddColon verwendet die folgenden Einstellungen.

Einstellung	Beschreibung
Ja	Hinter den Text des Bezeichnungsfelds eines neuen Steuerelements wird ein Doppelpunkt gesetzt.
Nein	Hinter den Text des Bezeichnungsfelds eines neuen Steuerelements wird kein Doppelpunkt gesetzt.
Die Eigenschaft AutoLabel verwendet die folgenden Einstellungen.

Einstellung	Beschreibung
Ja	Einem neuen Steuerelement wird ein Bezeichnungsfeld zugeordnet.
Nein	Einem neuen Steuerelement wird kein Bezeichnungsfeld zugeordnet.
Sie können diese Eigenschaften nur mit Hilfe der Standardeigenschafteneinstellungen eines Steuerelements oder in Visual Basic mit der Methode DefaultControl einstellen.

Hinweis

Änderungen an den Standardeigenschafteneinstellungen betreffen nur die Steuerelemente, die auf dem aktuellen Formular oder Bericht erstellt wurden. Informationen dazu, wie die Standardeigenschafteneinstellungen für alle neuen Formulare oder Berichte geändert werden können, die Sie ohne einen Microsoft Access-Assistenten erstellen, finden Sie unter Angeben einer neuen Vorlage für Formulare und Berichte.


FontItalic-, FontUnderline-Eigenschaften (Kursiv, Unterstrichen)

Mit der Eigenschaft FontItalic bzw. FontUnderline können Sie angeben, ob Text in folgenden Situationen kursiv bzw. unterstrichen ausgezeichnet wird:

•	Wenn Steuerelemente eines Formulars oder Berichts angezeigt bzw. gedruckt werden.

•	Wenn für einen Bericht die Methode Print verwendet wird.

Einstellung

Die Eigenschaft FontItalic verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Ja	Der Text wird kursiv ausgezeichnet.	True (-1)
Nein	(Standardeinstellung) Der Text wird nicht kursiv ausgezeichnet.	False (0)
Die Eigenschaft FontUnderline verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Ja	Der Text wird unterstrichen.	True
Nein	(Standardeinstellung) Der Text wird nicht unterstrichen.	False
Für ein Steuerelement eines Formulars oder Berichts können Sie diese Eigenschaften im Eigenschaftenfenster des Steuerelements, in einem Makro, oder in Visual Basic einstellen.

Für einen Bericht können Sie diese Eigenschaften nur in einer Ereignisprozedur oder in einem Makro einstellen, die bzw. das als Einstellung der Ereigniseigenschaft OnPrint angegeben ist.

Sie können diese Eigenschaften auch einstellen, indem Sie in der Formatsymbolleiste (Formular/Bericht) auf Kursiv  [image]  bzw. Unterstrichen  [image]  klicken.

Sie können die Standardeinstellungen dieser Eigenschaften mit Hilfe der Standardeigenschafteneinstellungen eines Steuerelements oder in Visual Basic mit der Methode DefaultControl einstellen.

Hinweis

Bei einem Textfeld, einem Kombinationsfeld, einem Bezeichnungsfeld oder einer Befehlsschaltfläche, das bzw. die einen Hyperlink enthält, stellt Microsoft Access die Eigenschaft FontUnderline automatisch auf Ja ein, wenn im Dialogfeld Optionen auf der Registerkarte Hyperlinks/HTML das Kontrollkästchen Hyperlinks unterstreichen aktiviert ist. Dieses Dialogfeld wird angezeigt, wenn Sie im Menü Extras auf Optionen klicken. Wenn Sie den jeweiligen Hyperlink aus einem Steuerelement löschen (z.B., indem Sie die Eigenschaft ControlSource eines gebundenen Textfelds auf eine Herkunft einstellen, die kein Hyperlink-Feld ist), stellt Microsoft Access die Eigenschaft FontUnderline wieder auf die Standardeigenschafteneinstellung ein. Bei einer Befehlsschaltfläche wirkt sich die Einstellung der Eigenschaft FontUnderline nur dann aus, wenn die Befehlsschaltfläche kein Bild, sondern eine Beschriftung enthält.


FontName-, FontSize-Eigenschaften (Schriftart, Schriftgrad)

Mit den Eigenschaften FontName und FontSize können Sie die Schriftart und den Schriftgrad in Punkt angeben, die in folgenden Situationen für Text verwendet werden:

•	Wenn Steuerelemente eines Formulars oder Berichts angezeigt bzw. gedruckt werden.

•	Wenn für einen Bericht die Methode Print verwendet wird.

Einstellung

Die Einstellung der Eigenschaft FontName ist gleich dem Namen der Schriftart, in der der Text angezeigt wird.

Die Eigenschaft FontSize verwendet die folgenden Einstellungen.

Einstellung	Beschreibung
8	(Standardeinstellung für alle Berichte und Steuerelemente, ausgenommen Befehlsschaltflächen) Der Schriftgrad ist 8 Punkt.
10	(Standardeinstellung für Befehlsschaltflächen) Der Schriftgrad ist 10 Punkt.
Andere Zahl	Der Schriftgrad ist gleich der angegebenen Zahl.
Für ein Steuerelement eines Formulars oder Berichts können Sie diese Eigenschaften im Eigenschaftenfenster des Steuerelements, in einem Makro, oder in Visual Basic einstellen.

Sie können diese Eigenschaften auch einstellen, indem Sie in der Formatsymbolleiste (Formular/Bericht) auf das Feld Schriftart  [image]  bzw. Schriftgrad  [image]  klicken.

Sie können die Standardeinstellungen dieser Eigenschaften mit Hilfe der Standardeigenschafteneinstellungen eines Steuerelements oder in Visual Basic mit der Methode DefaultControl einstellen.

Für einen Bericht können Sie diese Eigenschaften nur in einer Ereignisprozedur oder in einem Makro einstellen, die bzw. das als Einstellung der Ereigniseigenschaft OnPrint angegeben ist.

In Visual Basic stellen Sie die Eigenschaft FontName mit einem Zeichenfolgenausdruck ein, der den Namen der gewünschten Schriftart angibt, und die Eigenschaft FontSize mit einem numerischen Ausdruck, dessen Wert gleich dem gewünschten Schriftgrad ist. Die Eigenschaft FontSize kann jeden Wert von 1 bis 127 annehmen.

Hinweis

Welche Schriftarten verfügbar sind, hängt von Ihrem System und Ihrem Drucker ab. Wenn Sie eine Schriftart auswählen, die Ihr System nicht anzeigen kann oder die nicht installiert ist, verwendet Windows statt dessen eine ähnliche Schriftart.


FontWeight-Eigenschaft (Schriftbreite)

Mit der Eigenschaft FontWeight können Sie die Strichbreite angeben, die Windows verwendet, um die Zeichen eines Steuerelements anzuzeigen bzw. zu drucken

Einstellung

Die Eigenschaft FontWeight verwendet die folgenden Einstellungen.

Einstellung	Visual Basic
Extra dünn	100
Sehr dünn	200
Dünn	300
Normal	400
Mittel	500
Halbfett	600
Fett	700
Sehr fett	800
Extra fett	900
Sie können diese Eigenschaft im Eigenschaftenfenster des Steuerelements, in einem Makro oder in Visual Basic einstellen. Sie können auch in der Formatsymbolleiste (Formular/Bericht)auf Fett  [image]  klicken. Dadurch wird die Eigenschaft FontWeight auf Fett (700) eingestellt.

Sie können die Standardeinstellung dieser Eigenschaft mit Hilfe der Standardeigenschafteneinstellungen eines Steuerelements oder in Visual Basic mit der Methode DefaultControl einstellen.

Hinweis

Das Aussehen einer Schriftart kann je nach verwendetem Computer und Drucker auf dem Bildschirm bzw. in gedruckter Form unterschiedlich sein. So kann z.B. Text, für den die Eigenschaft FontWeight auf Extra dünn eingestellt ist, auf dem Bildschirm genauso aussehen, wie Text, für den die Eigenschaft FontWeight auf Normal eingestellt ist, während derselbe Text in gedruckter Form dünner erscheint.

Die Strichbreite für den Text eines Steuerelements oder eines Berichts kann auch mit der Eigenschaft FontBold eingestellt werden. Diese nur in Visual Basic sowie in Makros verfügbare Eigenschaft bietet eine schnelle Möglichkeit, Text fett auszuzeichnen. Die Eigenschaft FontWeight erlaubt Ihnen dagegen eine feiner abgestufte Einstellung der für Text verwendeten Strichbreite. In der folgenden Tabelle sind die Wechselwirkungen zwischen den Einstellungen dieser Eigenschaften aufgeführt.

Wenn	Dann
FontBold = False (0)	FontWeight = Normal (400)
FontBold = True (-1)	FontWeight = Fett (700)
FontWeight < 700	FontBold = False
FontWeight > = 700	FontBold = True


LabelAlign-, TextAlign-Eigenschaften (Bezeichnungsausrichtung, Textausrichtung)

•	Die Eigenschaft LabelAlign gibt an, wie Text in einem Bezeichnungsfeld ausgerichtet wird, das einem neuen Steuerelement zugeordnet wird.

•	Die Eigenschaft TextAlign gibt an, wie Text in einem neuen Steuerelement ausgerichtet wird.

Einstellung

Die Eigenschaft LabelAlign verwendet die folgenden Einstellungen.

Einstellung	Beschreibung
Standard	(Standardeinstellung) Der Text des Bezeichnungsfelds wird linksbündig ausgerichtet.
Linksbündig	Der Text des Bezeichnungsfelds wird linksbündig ausgerichtet.
Zentriert	Der Text des Bezeichnungsfelds wird zentriert ausgerichtet.
Rechtsbündig	Der Text des Bezeichnungsfelds wird rechtsbündig ausgerichtet.
Sie können die Eigenschaft LabelAlign mit Hilfe der Standardeigenschafteneinstellungen eines Steuerelements oder in Visual Basic mit der Methode DefaultControl einstellen.

Die Eigenschaft TextAlign verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Standard	(Standardeinstellung) Der Text wird linksbündig ausgerichtet; Zahlen und Tagesdaten werden rechtsbündig ausgerichtet.	0
Linksbündig	Der Text, Zahlen und Tagesdaten werden linksbündig ausgerichtet.	1
Zentriert	Der Text, Zahlen und Tagesdaten werden zentriert ausgerichtet.	2
Rechtsbündig	Der Text, Zahlen und Tagesdaten werden rechtsbündig ausgerichtet.	3
Sie können die Eigenschaft TextAlign im Eigenschaftenfenster des Steuerelements, in einem Makro oder in Visual Basic einstellen.

Sie können die Eigenschaft TextAlign auch einstellen, indem Sie in der Formatsymbolleiste (Formular/Bericht) auf Linksbündig  [image], Zentriert  [image]  oder Rechtsbündig  [image]  klicken.

Sie können die Standardeinstellungen der Eigenschaft TextAlign mit Hilfe der Standardeigenschafteneinstellungen eines Steuerelements oder in Visual Basic mit der Methode DefaultControl einstellen.

Hinweis

Ein Steuerelement hat, nachdem es erstellt wurde, ein zugeordnetes Bezeichnungsfeld (sofern die Eigenschaft AutoLabel des Steuerelements auf Ja eingestellt ist). Änderungen an den Standardeigenschafteneinstellungen von LabelAlign betreffen nur die Steuerelemente, die auf dem aktuellen Formular oder Bericht erstellt wurden. Informationen dazu, wie die Standardeigenschafteneinstellungen für alle neuen Formulare oder Berichte geändert werden können, die Sie ohne einen Microsoft Access-Assistenten erstellen, finden Sie unter Angeben einer neuen Vorlage für Formulare und Berichte beschrieben.


LabelAlign-, TextAlign-Eigenschaften (Bezeichnungsausrichtung, Textausrichtung) - Gilt für

LabelAlign-Eigenschaft

TextAlign-Eigenschaft


FontBold-Eigenschaft (Fett)

Mit der Eigenschaft FontBold können Sie angeben, ob eine Schriftart in den folgenden Situationen fett ausgezeichnet wird:

•	Wenn Steuerelemente eines Formulars oder Berichts angezeigt bzw. gedruckt werden.

•	Wenn für einen Bericht die Methode Print verwendet wird.

Einstellung

Die Eigenschaft FontBold verwendet die folgenden Einstellungen.

Einstellung	Beschreibung
True (-1)	Der Text wird fett ausgezeichnet.
False (0)	(Standardeinstellung) Der Text wird nicht fett ausgezeichnet.
Sie können die Eigenschaft FontBold nur in einem Makro oder in Visual Basic einstellen.

Hinweis

Damit Sie die Eigenschaft FontBold für einen Bericht verwenden können, erstellen Sie zunächst eine Print-Ereignisprozedur, in der der gewünschte Text gedruckt wird.

Das Aussehen einer Schriftart kann je nach verwendetem Computer und Drucker auf dem Bildschirm bzw. in gedruckter Form unterschiedlich sein.

Die Strichbreite, die für den Text eines Steuerelements verwendet wird, kann auch mit der Eigenschaft FontWeight eingestellt werden, die im Eigenschaftenfenster des jeweiligen Steuerelements verfügbar ist. Die Eigenschaft FontBold bietet eine schnelle Möglichkeit, Text fett auszuzeichnen. Die Eigenschaft FontWeight erlaubt Ihnen dagegen eine feiner abgestufte Einstellung der für Text verwendeten Strichbreite. In der folgenden Tabelle sind die Wechselwirkungen zwischen den Einstellungen dieser Eigenschaften aufgeführt.

Wenn	Dann
FontBold = False	FontWeight = Normal (400)
FontBold = True	FontWeight = Fett (700)
FontWeight < 700	FontBold = False
FontWeight > = 700	FontBold = True


FontBold-Eigenschaft (Fett) - Beispiel

In der folgenden Print-Ereignisprozedur werden der Titel eines Berichts und das aktuelle Datum ab den Koordinaten auf dem Bericht fett ausgezeichnet gedruckt, die durch die Einstellungen der Eigenschaften CurrentX und CurrentY angegeben sind.

Private Sub Berichtskopf_Print(Cancel As Integer, PrintCount As Integer)

Dim AktDatum

AktDatum = Date

Me.FontBold = True

Me.Print("Umsatzbericht")	' Den Titel des Berichts fett ausgezeichnet ausgeben.

Me.Print(AktDatum)

End Sub


CountOfLines-Eigenschaft

Die Eigenschaft CountOfLines gibt einen Wert des Datentyps Long zurück, der angibt, wie viele Codezeilen ein Standardmodul oder ein Klassenmodul enthält.

Einstellung

Die Eigenschaft CountOfLines steht nur in Visual Basic zur Verfügung und ist schreibgeschützt.

Hinweis

Die Numerierung der Zeilen eines Moduls beginnt mit 1.

Die Zeilennummer der letzten Zeile eines Moduls ist gleich dem Wert der Eigenschaft CountOfLines.


CountOfLines-, CountOfDeclarationLines-Eigenschaften - Beispiel

Im folgenden Beispiel werden für ein Standardmodul, das zur Modules-Auflistung gehört, die Anzahl aller Zeilen sowie die Anzahl der Deklarationszeilen ermittelt. Zu beachten ist, daß die Modules-Auflistung nur Module enthält, die im Moduleditor geöffnet sind.

Function AnzahlModulzeilen(strModulname As String)

Dim mdl As Module

' Das Modul öffnen, das zur Modules-Auflistung

' hinzugefügt werden soll.

DoCmd.OpenModule strModulname

' Den Verweis auf das Module-Objekt zurückgeben.

Set mdl = Modules(strModulname)

' Die Anzahl der Zeilen des Moduls ausgeben.

Debug.Print "Anzahl der Zeilen: ", mdl.CountOfLines

' Die Anzahl der Deklarationszeilen ausgeben.

Debug.Print "Anzahl der Deklarationszeilen: ", _

mdl.CountOfDeclarationLines

End Function


CountOfDeclarationLines-Eigenschaft

Die Eigenschaft CountOfDeclarationLines gibt einen Wert des Datentyps Long zurück, der angibt, wie viele Codezeilen der Deklarationsbereich eines Standardmoduls oder eines Klassenmoduls enthält.

Einstellung

Die Eigenschaft CountOfDeclarationLines steht nur in Visual Basic zur Verfügung und ist schreibgeschützt.

Hinweis

Die Numerierung der Zeilen eines Moduls beginnt mit 1.

Der Wert der Eigenschaft CountOfDeclarationLines ist gleich der Zeilennummer der letzten Zeile im Deklarationsbereich. Mit Hilfe dieser Eigenschaft können Sie ermitteln, wo der jeweilige Deklarationsbereich endet und wo der Rumpf des Moduls beginnt.


GUID-Eigenschaft

Die Eigenschaft GUID eines Reference-Objekts gibt eine GUID zurück, die in der Windows-Registrierung eine Klassenbibliothek kennzeichnet.

Einstellung

Die Eigenschaft GUID steht nur in Visual Basic zur Verfügung und ist schreibgeschützt.

Hinweis

Jede Klassenbibliothek hat eine zugeordnete GUID, die in der Registrierung gespeichert ist. Wenn Sie einen Verweis auf eine Klassenbibliothek einstellen, verwendet Microsoft Access die GUID der Klassenbibliothek, um die Klassenbibliothek zu identifizieren.

Mit der Methode AddFromGUID können Sie aus der GUID einer Klassenbibliothek ein Reference-Objekt erstellen.


IsBroken-Eigenschaft

Die Eigenschaft IsBroken gibt einen Wert des Datentyps Boolean zurück, der angibt, ob ein Reference-Objekt auf einen gültigen Verweis in der Windows-Registrierung zeigt.

Einstellung

Die Eigenschaft IsBroken steht nur in Visual Basic zur Verfügung und ist schreibgeschützt.

Der Standardwert der Eigenschaft IsBroken lautet False (0). Die Eigenschaft IsBroken gibt nur dann True (-1) zurück, wenn das Reference-Objekt nicht mehr auf einen gültigen Verweis in der Registrierung zeigt.

Hinweis

Durch Auswerten der Eigenschaft IsBroken können Sie ermitteln, ob die Datei, die einem bestimmten Reference-Objekt zugeordnet ist, in ein anderes Verzeichnis verschoben oder gelöscht wurde.

Ist die Eigenschaft IsBroken auf True eingestellt, meldet Microsoft Access einen Fehler, wenn Sie versuchen, eine der Eigenschaften Name oder FullPath zu lesen.


IsCompiled-Eigenschaft

Die Eigenschaft IsCompiled gibt einen Wert des Datentyps Boolean zurück, der angibt, ob das Visual Basic-Projekt kompiliert ist.

Einstellung

Die Eigenschaft IsCompiled steht nur in Visual Basic zur Verfügung und ist schreibgeschützt.

Die Eigenschaft IsCompiled gibt True (-1) zurück, wenn das Projekt kompiliert ist.

Hinweis

Sie können Visual Basic von der Benutzeroberfläche aus in der Modul-Entwurfsansicht dazu veranlassen, das Projekt zu kompilieren, indem Sie im Menü Testen auf Alle Module kompilieren oder Alle Module kompilieren und speichern klicken.

Die Eigenschaft IsCompiled eines Application-Objekts ist False (0), wenn das Projekt nie vollständig kompiliert, ein Modul nach der Kompilierung hinzugefügt, bearbeitet oder gelöscht, oder ein Modul nicht im kompilierten Zustand gespeichert wurde.


BuiltIn-Eigenschaft

Die Eigenschaft BuiltIn gibt einen Wert des Datentyps Boolean zurück, der angibt, ob ein Reference-Objekt auf einen Standardverweis zeigt, den Microsoft Access benötigt, um korrekt arbeiten zu können.

Einstellung

Die Eigenschaft BuiltIn steht nur in Visual Basic zur Verfügung und ist schreibgeschützt.

Die Eigenschaft BuiltIn gibt einen der folgenden Werte zurück.

Wert	Beschreibung
True (-1)	Das Reference-Objekt verweist auf einen Standardverweis, der nicht gelöscht werden kann.
False (0)	Das Reference-Objekt verweist auf einen Verweis, der kein Standardverweis und folglich nicht erforderlich ist, damit Microsoft Access korrekt arbeitet.
Hinweis

Die Standardverweise in Microsoft Access beinhalten folgende Bibliotheken: Microsoft Access 8.0 Object Library und Visual Basic For Applications.


BuiltIn-Eigenschaft - Beispiel

Im folgenden Beispiel werden die Standardverweise der References-Auflistung ausgegeben:

Sub NurStandardverweise()

Dim ref As Reference

' Die References-Auflistung in einer Schleife durchlaufen.

For Each ref In References

' Die Eigenschaft BuiltIn auswerten.

If ref.BuiltIn = True Then

Debug.Print ref.Name

End If

Next ref

End Sub


FullPath-Eigenschaft

Die Eigenschaft FullPath gibt eine Zeichenfolge zurück, die den Pfad und den Dateinamen der Klassenbibliothek angibt, auf die verwiesen wird.

Einstellung

Die Eigenschaft FullPath steht nur in Visual Basic zur Verfügung und ist schreibgeschützt.

Hinweis

Klassenbibliotheken befinden sich in Dateien. In der folgenden Tabelle sind die Dateinamenerweiterungen für Dateien zusammengestellt, die normalerweise Klassenbibliotheken enthalten.

Dateinamenerweiterung	Typ der Datei
.olb, .tlb	Klassenbibliothek
.mdb, .mda, .mde	Datenbank
.exe, .dll	Ausführbare Datei
.ocx	ActiveX-Steuerelement
Ist die Eigenschaft IsBroken eines Reference-Objekts auf True (-1) eingestellt, wird ein Fehler ausgelöst, wenn die Eigenschaft FullPath gelesen wird.


FullPath-, GUID-, IsBroken-, Major-, Minor-Eigenschaften - Beispiel

Im folgenden Beispiel werden für jedes Reference-Objekt der References-Auflistung die Werte der Eigenschaften FullPath, GUID, IsBroken, Major und Minor ausgegeben:

Sub EigenschaftenDerVerweise()

Dim ref As Reference

' Die References-Auflistung in einer Schleife

' durchlaufen.

For Each ref In References

' Die Eigenschaft IsBroken auswerten.

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 "GUID eines ungültigen Verweises:"

Debug.Print ref.GUID

End If

Next ref

End Sub


Lines-Eigenschaft

Die Eigenschaft Lines gibt eine Zeichenfolge zurück, die aus dem Inhalt einer oder mehrerer Zeilen eines Standardmoduls oder eines Klassenmoduls besteht.

Einstellung

Objekt.Lines(Zeile, AnzahlZeilen)

Die Eigenschaft Lines verwendet die folgenden Einstellungen.

Einstellung	Beschreibung
Objekt	Ein Module-Objekt.
Zeile	Ein Wert des Datentyps Long, der die Zeilennummer der Zeile angibt, die als erste zurückgegeben werden soll.
AnzahlZeilen	Ein Wert des Datentyps Long, der angibt, wie viele Zeilen zurückgegeben werden sollen.
Die Eigenschaft Lines steht nur in Visual Basic zur Verfügung und ist schreibgeschützt.

Hinweis

Die Numerierung der Zeilen eines Moduls beginnt mit 1. Wenn Sie z.B. die Eigenschaft Lines lesen und dabei für das Argument Zeile eine 1 und für das Argument AnzahlZeilen eine 1 angeben, gibt die Eigenschaft Lines eine Zeichenfolge zurück, die den Text der ersten Zeile des entsprechenden Moduls enthält.

Mit der Methode InsertLines können Sie Textzeilen in ein Modul einfügen.


Major-Eigenschaft

Die Eigenschaft Major eines Reference-Objekts gibt einen Wert des Datentyps Long zurück, der den Hauptteil der Versionsnummer einer Anwendung angibt, zu der Sie einen Verweis aktiviert haben.

Einstellung

Die Eigenschaft Major steht nur in Visual Basic zur Verfügung und ist schreibgeschützt.

Hinweis

Die Eigenschaft Major gibt den Wert zurück, der in einer Versionsnummer links vom Dezimalpunkt steht. Wenn Sie z.B. einen Verweis auf eine Anwendung aktiviert haben, die die Versionsnummer 2.5 hat, gibt die Eigenschaft Major den Wert 2 zurück.


Minor-Eigenschaft

Die Eigenschaft Minor eines Reference-Objekts gibt einen Wert des Datentyps Long zurück, der den Nebenteil der Versionsnummer einer Anwendung angibt, zu der Sie einen Verweis aktiviert haben.

Einstellung

Die Eigenschaft Minor steht nur in Visual Basic zur Verfügung und ist schreibgeschützt.

Hinweis

Die Eigenschaft Minor gibt den Wert zurück, der in einer Versionsnummer rechts vom Dezimalpunkt steht. Wenn Sie z.B. einen Verweis auf eine Anwendung aktiviert haben, die die Versionsnummer 2.5 hat, gibt die Eigenschaft Minor den Wert 5 zurück.


ProcStartLine-Eigenschaft

Die Eigenschaft ProcStartLine gibt einen Wert des Datentyps Long zurück, der die Zeile eines Standardmoduls oder eines Klassenmoduls kennzeichnet, an der eine bestimmte Prozedur beginnt. Die Prozedur beginnt mit den Kommentarzeilen und Kompilierungskonstanten, die unmittelbar vor der Prozedurdefinition stehen, die durch eine der folgenden Anweisungen eingeleitet wird:

•	Eine Sub-Anweisung.

•	Eine Function-Anweisung.

•	Eine Property Get-Anweisung.

•	Eine Property Let-Anweisung.

•	Eine Property Set-Anweisung.

Einstellung

Objekt.ProcStartLine(ProzName, ProzTyp)

Die Eigenschaft ProcStartLine verwendet die folgenden Einstellungen.

Einstellung	Beschreibung
Objekt	Ein Module-Objekt.
ProzName	Ein Zeichenfolgenausdruck, der den Namen einer Prozedur des Moduls angibt.
ProzTyp	Eine eingebaute Konstante, die den Typ der Prozedur angibt. Folgende Konstanten können verwendet werden.
	Konstante	Beschreibung
	vbext_pk_Get	Eine Property Get-Prozedur.
	vbext_pk_Let	Eine Property Let-Prozedur.
	vbext_pk_Proc	Eine Sub-Prozedur oder Funktion.
	vbext_pk_Set	Eine Property Set-Prozedur.
Die Eigenschaft ProcStartLine steht nur in Visual Basic zur Verfügung und ist schreibgeschützt.

Hinweis

Die Eigenschaft ProcStartLine gibt die Nummer der Zeile zurück, in der die angegebene Prozedur beginnt. Zu dem Prozeduranfang können Kommentare oder Kompilierungskonstanten gehören, die vor der Prozedurdefinition stehen.

Wenn Sie wissen möchten, in welcher Zeile die Prozedurdefinition beginnt, verwenden Sie die Eigenschaft ProcBodyLine. Diese Eigenschaft gibt die Nummer der Zeile zurück, die mit einer der Anweisungen Sub, Function, Property Get, Property Let oder Property Set beginnt.

Die Eigenschaften ProcStartLine und ProcBodyLine haben denselben Wert, wenn die erste Zeile der Prozedurdefinition gleichzeitig die erste Zeile der Prozedur ist. Ist die erste Zeile der Prozedurdefinition nicht die erste Zeile der Prozedur, ist der Wert der Eigenschaft ProcBodyLine größer als der Wert der Eigenschaft ProcStartLine.

Anmerkungen

•	Die Anfangszeile einer Prozedur läßt sich einfacher ermitteln, wenn Sie die Option Prozedurtrennzeichen aktiviert haben. Wenn diese Option aktiviert ist, befindet sich zwischen dem Ende einer Prozedur und dem Anfang der nächsten Prozedur eine Linie. Die erste Codezeile (oder leere Zeile) unter der Prozedurtrennlinie ist die erste Zeile der folgenden Prozedur und somit die Zeile, deren Nummer von der Eigenschaft ProcStartLine zurückgegeben wird. Die Option Prozedurtrennzeichen finden Sie im Dialogfeld Optionen auf der Registerkarte Modul. Dieses Dialogfeld wird angezeigt, wenn Sie im Menü Extras auf Optionen klicken. Wenn Sie das Kontrollkästchen Prozedurtrennzeichen aktivieren, aktivieren Sie auch das Kontrollkästchen Volle Modulansicht.

•	Die Eigenschaft ProcStartLine macht keinen Unterschied zwischen Sub-Prozedur und Funktion, unterscheidet aber zwischen den Typen für Property-Prozeduren.


ProcStartLine-, ProcBodyLine-, ProcCountLines-Eigenschaften - Beispiel

Die folgende Funktion schreibt Informationen zu einer bestimmten Prozedur eines Moduls in das Testfenster:

Function InfosZuProzZeile(strModulname As String, strProzName As String)

Dim mdl As Module

Dim lngAnfZeile As Long, lngDefZeile As Long

Dim lngAnzahl As Long, lngEndeProz As Long

' Das angegebene Module-Objekt öffnen.

DoCmd.OpenModule strModulname

' Den Verweis auf das Module-Objekt zurückgeben.

Set mdl = Modules(strModulname)

' Die Zeilen der Prozedur zählen.

lngAnzahl = mdl.ProcCountLines(strProzName, vbext_pk_Proc)

' Die Nummer der Anfangszeile ermitteln.

lngAnfZeile = mdl.ProcStartLine(strProzName, vbext_pk_Proc)

' Die Nummer der Zeile ermitteln, in der die

' Prozedurdefinition beginnt.

lngDefZeile = mdl.ProcBodyLine(strProzName, vbext_pk_Proc)

Debug.Print

' Alle Zeilen der Prozedur ausgeben, die vor der

' ersten Definitionszeile stehen.

Debug.Print "Die Zeilen vor der Prozedur '" & strProzName & "': "

Debug.Print mdl.Lines(lngAnfZeile, lngDefZeile - lngAnfZeile)

' Die Nummer der letzten Zeile der Prozedur ermitteln.

lngEndeProz = (lngDefZeile + lngAnzahl - 1) - Abs(lngDefZeile - lngAnfZeile)

' Alle zur Definition der Prozedur gehörenden

' Zeilen ausgeben.

Debug.Print "Definitionszeilen: "

Debug.Print mdl.Lines(lngDefZeile, (lngEndeProz - lngDefZeile) + 1)

End Function

Sie können diese Funktion in der Beispieldatenbank Nordwind aus einer Prozedur aufrufen, die wie folgt aussieht:

Sub ProzInfosAbrufen()

InfosZuProzZeile "Dienstprogramme", "IsLoaded"

End Sub


ProcCountLines-Eigenschaft

Die Eigenschaft ProcCountLines gibt einen Wert des Datentyps Long zurück, der angibt, wie viele Zeilen eine bestimmte Prozedur eines Standardmoduls oder eines Klassenmoduls umfaßt. Die Prozedur beginnt mit den Kommentarzeilen und Kompilierungskonstanten, die unmittelbar vor der Prozedurdefinition stehen, die durch eine der folgenden Anweisungen eingeleitet wird:

•	Eine Sub-Anweisung.

•	Eine Function-Anweisung.

•	Eine Property Get-Anweisung.

•	Eine Property Let-Anweisung.

•	Eine Property Set-Anweisung.

Einstellung

Objekt.ProcCountLines(ProzName, ProzTyp)

Die Eigenschaft ProcCountLines verwendet die folgenden Einstellungen.

Einstellung	Beschreibung
Objekt	Ein Module-Objekt.
ProzName	Ein Zeichenfolgenausdruck, der den Namen einer Prozedur des Moduls angibt.
ProzTyp	Eine eingebaute Konstante, die den Typ der Prozedur angibt. Folgende Konstanten können verwendet werden.
	Konstante	Beschreibung
	vbext_pk_Get	Eine Property Get-Prozedur.
	vbext_pk_Let	Eine Property Let-Prozedur.
	vbext_pk_Proc	Eine Sub-Prozedur oder Funktion.
	vbext_pk_Set	Eine Property Set-Prozedur.
Die Eigenschaft ProcCountLines steht nur in Visual Basic zur Verfügung und ist schreibgeschützt.

Hinweis

Die Eigenschaft ProcCountLines gibt die Anzahl der Zeilen einer Prozedur zurück. Diese Prozedur beginnt mit der Zeile, deren Nummer von der Eigenschaft ProcStartLine zurückgegeben wird, und endet mit der Zeile, die eine der folgenden Anweisungen enthält: End Sub, End Function oder End Property.

Anmerkung   Die Eigenschaft ProcCountLines macht keinen Unterschied zwischen Sub-Prozeduren und Funktionen, unterscheidet aber zwischen den Typen für Property-Prozeduren.


ProcBodyLine-Eigenschaft

Die Eigenschaft ProcBodyLine gibt einen Wert des Datentyps Long zurück, der die Nummer der Zeile eines Standardmoduls oder eines Klassenmoduls angibt, in der die Definition (der Rumpf) einer bestimmten Prozedur beginnt. Die jeweilige Prozedurdefinition wird durch eine der folgenden Anweisungen eingeleitet:

•	Eine Sub-Anweisung.

•	Eine Function-Anweisung.

•	Eine Property Get-Anweisung.

•	Eine Property Let-Anweisung.

•	Eine Property Set-Anweisung.

Einstellung

Objekt.ProcBodyLine(ProzName, ProzTyp)

Die Eigenschaft ProcBodyLine verwendet die folgenden Einstellungen.

Einstellung	Beschreibung
Objekt	Ein Module-Objekt.
ProzName	Ein Zeichenfolgenausdruck, der den Namen einer Prozedur des Moduls angibt.
ProzTyp	Eine eingebaute Konstante, die den Typ der Prozedur angibt. Folgende Konstanten können verwendet werden.
	Konstante	Beschreibung
	vbext_pk_Get	Eine Property Get-Prozedur.
	vbext_pk_Let	Eine Property Let-Prozedur.
	vbext_pk_Proc	Eine Sub-Prozdur oder Funktion.
	vbext_pk_Set	Eine Property Set-Prozedur.
Die Eigenschaft ProcBodyLine steht nur in Visual Basic zur Verfügung und ist schreibgeschützt.

Hinweis

Die Eigenschaft ProcBodyLine gibt eine Zahl zurück, die die Zeile angibt, in der die Prozedurdefinition beginnt. Im Gegensatz dazu gibt die Eigenschaft ProcStartLine eine Zahl zurück, die die Zeile angibt, in der die Prozedur von der vorhergehenden Prozedur des Moduls getrennt ist. Alle Kommentare und Kompilierungskonstanten, die vor der Prozedurdefinition (dem Rumpf der Prozedur) stehen, werden zwar als Teil der Prozedur angesehen, werden aber für die Eigenschaft ProcBodyLine ignoriert.

Anmerkung   Die Eigenschaft ProcBodyLine macht keinen Unterschied zwischen Sub-Prozeduren und Funktionen, unterscheidet aber zwischen den Typen für Property-Prozeduren.


ProcOfLine-Eigenschaft

Die Eigenschaft ProcOfLine gibt eine Zeichenfolge zurück, die den Namen der Prozedur eines Standardmoduls oder eines Klassenmoduls angibt, die eine bestimmte Zeile enthält. Die jeweilige Prozedurdefinition (Rumpf der Prozedur) wird durch eine der folgenden Anweisungen eingeleitet:

•	Eine Sub-Anweisung.

•	Eine Function-Anweisung.

•	Eine Property Get-Anweisung.

•	Eine Property Let-Anweisung.

•	Eine Property Set-Anweisung.

Einstellung

Objekt.ProcOfLine(Zeile, ProzTyp)

Die Eigenschaft ProcOfLine verwendet die folgenden Einstellungen.

Einstellung	Beschreibung
Objekt	Ein Module-Objekt.
Zeile	Eine Long-Wert, der eine Zeilennummer des Moduls angibt.
ProzTyp	Ein Long-Wert, der angibt, von welchem Typ die Prozedur mit der im Argument Zeile angegebenen Zeile ist. Wenn Sie den Wert der Eigenschaft ProcOfLine zurückgeben, ist der Wert des Arguments ProzTyp auf eine eingebaute Konstante eingestellt, die den Typ der Prozedur angibt, zu der die betreffende Zeile gehört.Folgende Konstanten können verwendet werden.
	Konstante	Wert	Beschreibung
	vbext_pk_Get	3	Eine Property Get-Prozedur.
	vbext_pk_Proc	0	Eine Sub-Prozdeur oder Funktion.
	vbext_pk_Set	2	Eine Property Set-Prozedur.
Die Eigenschaft ProcOfLine steht nur in Visual Basic zur Verfügung und ist schreibgeschützt.

Hinweis

Die Eigenschaft ProcOfLine gibt für die jeweils angegebene Zeilennummer den Namen der Prozedur zurück, zu der die Zeile gehört. Da Kommentare und Kompilierkonstanten, die vor der Definition einer Prozedur stehen, als Teil dieser Prozedur angesehen werden, kann es sein, daß die Eigenschaft ProcOfLine den Namen einer Prozedur für eine Zeile zurückgibt, die außerhalb des Rumpfes der Prozedur steht. Die Eigenschaft ProcStartLine gibt die Zeile an, in der die jeweilige Prozedur beginnt. Die Eigenschaft ProcBodyLine gibt die Zeile an, in der die Definition der Prozedur (der Rumpf der Prozedur) beginnt.

Beachten Sie, daß das Argument ProzTyp angibt, ob die Zeile zu einer Sub-Prozedur, einer Funktion, einer Property Get-Prozedur, einer Property Let-Prozedur oder einer Property Set-Prozedur gehört. Um den Typ der Prozedur zu ermitteln, der einer bestimmten Zeile angehört, übergeben Sie eine Variable vom Typ Long an die Eigenschaft ProcOfLine, und überprüfen Sie dann den Wert dieser Variablen.

Anmerkung   Die Eigenschaft ProcBodyLine macht keinen Unterschied zwischen Sub-Prozeduren und Funktionen, unterscheidet aber zwischen den Typen für Property-Prozeduren.


ProcOfLine-Eigenschaft - Beispiel

In der folgenden Funktion werden die Namen aller Prozeduren aufgelistet, die zu dem jeweils angegebenen Modul gehören:

Function AlleProzeduren(strModulname As String)

Dim mdl As Module

Dim lngAnzahl As Long, lngAnzahlDekl As Long, lngI As Long

Dim strProzName As String, astrProzNamen() As String

Dim intI As Integer, strMldg As String

Dim lngR As Long

' Das angegebene Module-Objekt öffnen.

DoCmd.OpenModule strModulname

' Den Verweis auf das Module-Objekt zurückgeben.

Set mdl = Modules(strModulname)

' Die Anzahl der Zeilen des Moduls ermitteln.

lngAnzahl = mdl.CountOfLines

' Die Anzahl der Zeilen des Deklarationsabschnitts

' des Moduls ermitteln.

lngAnzahlDekl = mdl.CountOfDeclarationLines

' Den Namen der ersten Prozedur ermitteln.

strProzName = mdl.ProcOfLine(lngAnzahlDekl + 1, lngR)

' Die Zählervariable initialisieren.

intI = 0

' Das Datenfeld neu dimensionieren.

ReDim Preserve astrProzNamen(intI)

' Den Namen der ersten Prozedur im Datenfeld speichern.

astrProzNamen(intI) = strProzName

' Für jede Zeile, die auf den Deklarationsbereich

' folgt, den Namen der Prozedur ermitteln.

For lngI = lngAnzahlDekl + 1 To lngAnzahl

' Den Prozedurnamen mit dem Wert der Eigenschaft

' ProcOfLine vergleichen.

If strProzName <> mdl.ProcOfLine(lngI, lngR) Then

' Den Zähler inkrementieren.

intI = intI + 1

strProzName = mdl.ProcOfLine(lngI, lngR)

ReDim Preserve astrProzNamen(intI)

' Den eindeutigen Prozedurnamen im Datenfeld speichern.

astrProzNamen(intI) = strProzName

End If

Next lngI

strMldg = "Prozeduren des Moduls '" & strModulname & "': " _

& vbCrLf & vbCrLf

For intI = 0 To UBound(astrProzNamen)

strMldg = strMldg & astrProzNamen(intI) & vbCrLf

Next intI

' In einem Dialogfeld die Namen aller Prozeduren

' des Moduls auflisten.

MsgBox strMldg

End Function

Sie können diese Funktion mit einer Prozedur aufrufen, die wie folgt aussieht:

Sub AlleProzedurenAbrufen()

AlleProzeduren "Dienstprogramme"

End Sub


Collection-Eigenschaft

Die Eigenschaft Collection gibt einen Verweis auf die Auflistung zurück, zu der ein Objekt gehört.

Einstellung

Die Eigenschaft Collection steht nur in Visual Basic zur Verfügung und ist schreibgeschützt.

Hinweis

Mit Hilfe der Eigenschaft Collection können Sie auf die Auflistung zugreifen, zu der ein Objekt gehört. Beispielsweise gibt die Eigenschaft Collection eines Reference-Objekts einen Objektverweis auf die Auflistung References zurück.

Die Eigenschaft Collection ist mit der Eigenschaft Parent vergleichbar.


Type-Eigenschaft

Die Eigenschaft Type gibt an, ob ein Modul ein Standardmodul oder ein Klassenmodul ist.

Einstellung

Die Eigenschaft Type steht nur in Visual Basic zur Verfügung und ist schreibgeschützt.

Ist das Modul ein Standardmodul, hat die Eigenschaft Type den Wert acStandardModule bzw. 0. Ist das Modul ein Klassenmodul, hat die Eigenschaft Type den Wert acClassModule bzw. 1.


Type-Eigenschaft - Beispiel

Im folgenden Beispiel wird ermittelt, ob ein Module-Objekt einem Standardmodul oder einem Klassenmodul entspricht:

Function ModultypErmitteln(strModulname As String) As Integer

Dim mdl As Module

' Das Modul öffnen, damit es zur Modules-Auflistung

' hinzugefügt wird.

DoCmd.OpenModule strModulname

' Den Verweis auf das Module-Objekt zurückgeben.

Set mdl = Modules(strModulname)

' Die Eigenschaft Type auswerten.

If mdl.Type = acClassModule Then

' Den Kommentar einfügen.

mdl.InsertLines 1, "' Klassenmodul."

ModultypErmitteln = acClassModule

Else

' Den Kommentar einfügen.

mdl.InsertLines 1, "' Standardmodul."

ModultypErmitteln = acStandardModule

End If

End Function


PictureAlignment-Eigenschaft (Bildausrichtung)

Sie können mit der Eigenschaft PictureAlignment angeben, wo in einem Bild-Steuerelement oder in einem Formular oder Bericht ein Hintergrundbild erscheinen soll.

Einstellung

Die Eigenschaft PictureAlignment verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Oben links	Das Bild wird in der oberen linken Ecke des Bild-Steuerelements, des Formularfensters oder der Seite eines Berichts angezeigt.	0
Oben rechts	Das Bild wird in der oberen rechten Ecke des Bild-Steuerelements, des Formularfensters oder der Seite eines Berichts angezeigt.	1
Mitte	(Voreinstellung) Das Bild wird mittig im Bild-Steuerelement, im Formularfenster oder auf der Seite eines Berichts angezeigt.	2
Unten links	Das Bild wird in der unteren linken Ecke des Bild-Steuerelements, des Formularfensters oder der Seite eines Berichts angezeigt.	3
Unten rechts	Das Bild wird in der unteren rechten Ecke des Bild-Steuerelements, des Formularfensters oder der Seite eines Berichts angezeigt.	4
Formularmitte	(Nur Formulare) Das Bild des Formulars wird horizontal im Verhältnis zur Breite des Formulars und vertikal im Verhältnis zur Höhe des Formulars zentriert.	5
Sie können die Eigenschaft PictureAlignment mit dem Eigenschaftenfenster des Formulars oder Berichts, mit einem Makro oder mit Visual Basic einstellen.

Sie können die Standardeinstellung dieser Eigenschaft auch in den Standardeigenschafteneinstellungen eines Steuerelements oder in Visual Basic mit der Methode DefaultControl einstellen.

Diese Eigenschaft kann in jeder Ansicht eingestellt werden.

Hinweis

Die Einstellung Formularmitte richtet das Bild eines Formulars in der Mitte dieses Formulars aus. Alle anderen Einstellungen der Eigenschaft PictureAlignment richten das Bild eines Formulars in Bezug auf das Formularfenster aus. Wenn Sie sicherstellen möchten, daß das Bild eines Formulars ausschließlich auf dem Formular angezeigt bzw. nebeneinander angeordnet wird, sollten Sie die Eigenschaft PictureAlignment auf Formularmitte einstellen.

Für Berichte erscheint das Bild relativ zu einer vollständigen Seite und nicht relativ zur Größe des aktuellen Berichts. Wenn Ihr Bericht kleiner als eine vollständige Seite ist und Sie ein Bild an einer Stelle anzeigen möchten, die nicht über die Einstellungen der Eigenschaft PictureAlignment verfügbar ist, verwenden Sie statt dessen ein Bild-Steuerelement.

Wenn Sie die Eigenschaft PictureTiling auf Ja einstellen, erfolgt das Nebeneinanderanordnen des Bildes ab der Stelle, die die Einstellung der Eigenschaft PictureAlignment angibt.


PictureData-Eigenschaft

Sie können die Eigenschaft PictureData verwenden, um das Bild, das einem Formular, einem Bericht oder einem Steuerelement zugeordnet ist, in ein anderes Objekt zu kopieren, das die Eigenschaft Picture unterstützt.

Einstellung

Die Einstellung der Eigenschaft PictureData ist gleich der Eigenschaft PictureData eines anderen Bild-Steuerelements, einer anderen Befehlsschaltfläche oder Umschaltfläche, eines anderen Formulars oder Berichts.

Sie stellen diese Eigenschaft mit Visual Basic ein.

Hinweis

Sie können diese Eigenschaft zum Anzeigen eines Formulars verwenden, das abhängig von Benutzeraktionen verschiedene Hintergrundbilder verwendet. Sie können z.B. ein Formular Kunden mit verschiedenen Hintergrundbildern für die Dateneingabe und für das Blättern öffnen.

Sie können auch die Eigenschaft PictureData zusammen mit dem Ereignis Timer und der Eigenschaft TimerInterval zur Ausführung einer einfachen Animation in einem Formular verwenden.


PictureData-Eigenschaft - Beispiel

Das folgende Beispiel verwendet drei Bild-Steuerelemente zur Animation einer Schmetterlingsabbildung quer über ein Formular. Das Bild-Steuerelement Ausgeblendet1 enthält das Bild eines Schmetterlings mit erhobenen Flügeln, und das Bild-Steuerelement Ausgeblendet2 enthält ein Bild des gleichen Schmetterlings mit gesenkten Flügeln. Die Eigenschaft Visible (Sichtbar) beider Bild-Steuerelemente ist auf False (0) eingestellt. Die Eigenschaft TimerInterval (Zeitgeberintervall) ist auf 200 eingestellt. Jedesmal, wenn das Ereignis Timer (Zeitgeber) auftritt, ändert sich das Bild im Bild-Steuerelement Sichtbar1 mit Hilfe der Eigenschaft PictureData der ausgeblendeten Bild-Steuerelemente, und das sichtbare Bild-Steuerelement wird um 200 Twips nach rechts bewegt. Das sichtbare Bild-Steuerelement wird wieder zur linken Seite des Formulars verschoben, wenn der Wert seiner Eigenschaft Left größer als die in der öffentlichen Variablen gfrmWidth gespeicherte Breite des Formulars ist. Der Wert von gfrmWidth wird im Ereignis Open des Formulars auf Me.Width eingestellt.

Private Sub Form_Timer()

Static intBild As Integer

Select Case intBild

Case Is = 1

Me!Sichtbar1.PictureData = Me!Ausgeblendet1.PictureData

Case Is = 2

Me!Sichtbar1.PictureData = Me!Ausgeblendet2.PictureData

Case Else

End Select

If intBild = 2 Then intBild = 0

intBild = intBild + 1

If (Me!Sichtbar1.Left > gfrmWidth) Then Me!Sichtbar1.Left = 0

Me!Sichtbar1.Left = Me!Sichtbar1.Left + 200

End Sub


PicturePages-Eigenschaft (Bildseiten)

Sie können mit der Eigenschaft PicturePages angeben, auf welcher Seite oder welchen Seiten eines Berichts ein Bild angezeigt werden soll.

Einstellung

Die Eigenschaft PicturePages verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Alle Seiten	(Voreinstellung) Das Bild erscheint auf allen Seiten des Berichts.	0
Erste Seite	Das Bild erscheint nur auf der ersten Seite des Berichts.	1
Keine Seiten	Das Bild erscheint nicht im Bericht.	2
Sie können die Eigenschaft PicturePages mit dem Eigenschaftenfenster eines Berichts, mit einem Makro oder mit Visual Basic einstellen.


PictureSizeMode-Eigenschaft (Bildgrößenmodus)

Sie können mit der Eigenschaft PictureSizeMode angeben, wie die Größe eines Bildes für ein Formular oder einen Bericht eingestellt werden soll.

Einstellung

Die Eigenschaft PictureSizeMode verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Abschneiden	(Voreinstellung) Das Bild wird in seiner aktuellen Größe angezeigt. Wenn das Bild größer als das Formular oder der Bericht ist, wird es abgeschnitten.	0
Dehnen	Das Bild wird horizontal und vertikal gedehnt, um das gesamte Formular auszufüllen, auch wenn sein Originalverhältnis Höhe zu Breite verzerrt ist.	1
Zoomen	Das Bild wird bis zum maximal möglichen Umfang vergrößert, während sein Originalverhältnis Höhe zu Breite beibehalten wird.	3
Sie können die Eigenschaft PictureSizeMode mit dem Eigenschaftenfenster des Formulars oder Berichts, mit einem Makro oder mit Visual Basic einstellen.

Hinweis

Wenn ein kleines Bild für die Eigenschaft Picture eines Formulars oder Berichts verwendet wird, kann die Einstellung der Eigenschaft PictureSizeMode auf Dehnen oder Zoomen eine beträchtliche Verzerrung seiner Auflösung bewirken. Kleinere Bilder können mit Hilfe der Eigenschaft PictureTiling über das gesamte Formular oder den gesamten Bericht nebeneinandergelegt werden.


PictureTiling-Eigenschaft (BildNebeneinander)

Sie können mit der Eigenschaft PictureTiling angeben, ob ein Hintergrundbild über das gesamte Bild-Steuerelement, Formularfenster, Formular oder die Seite eines Berichts nebeneinandergelegt werden soll.

Einstellung

Die Eigenschaft PictureTiling verwendet die folgenden Einstellungen.

Einstellung	Beschreibung	Visual Basic
Ja	Das Bild wird nebeneinandergelegt.	True (-1)
Nein	(Voreinstellung) Das Bild wird nicht nebeneinandergelegt.	False (0)
Sie können die Eigenschaft PictureTiling mit dem Eigenschaftenfenster des Objekts, mit einem Makro oder mit Visual Basic einstellen.

Sie können die Standardeinstellung dieser Eigenschaft auch in den Standardeigenschafteneinstellungen eines Steuerelements oder in Visual Basic mit der Methode DefaultControl einstellen.

Hinweis

Sie können interessante Effekte erzielen, indem Sie ein Bild in ein Formular oder einen Bericht einfügen und die Eigenschaft PictureTiling auf Ja einstellen. Die Ausrichtung der nebeneinandergelegten Bilder wird durch die Einstellung der Eigenschaft PictureAlignment beeinflußt. Wenn z.B. die Eigenschaft PictureAlignment auf Oben links eingestellt ist, beginnt das Nebeneinanderlegen oben links im Bild-Steuerelement, Formularfenster oder auf der Seite eines Berichts.

Anmerkung   Wenn die Eigenschaft PictureAlignment auf Formularmitte und die Eigenschaft PictureTiling auf Ja eingestellt ist, wird das Hintergrundbild eines Formulars auf dem Formular, nicht im Formularfenster nebeneinandergelegt.


Was ist ein Ausdruck?

Ausdrücke sind wesentliche Bestandteile vieler Microsoft Access-Operationen. Ein Ausdruck ist eine Kombination von Symbolen (Bezeichner, Operatoren und Werte), die ein Ergebnis hervorbringt.

Sie können z.B. den folgenden Ausdruck in einem Steuerelement in einem Formular oder Bericht verwenden, um die Summe der Werte in den Steuerelementen Frachtkosten und Bestellmenge anzuzeigen:

= [Frachtkosten] + [Bestellmenge]

Hier sind einige Beispiele für Operationen, bei denen Sie Ausdrücke verwenden:

•	Bestimmen einer Eigenschaft, die ein berechnetes Steuerelement definiert, eine Gültigkeitsregel aufstellt oder einen Standardwert festlegt.

•	Eingeben von Kriterien, Erstellen eines berechneten Feldes oder Aktualisieren von Datensätzen in einer Abfrage oder einem Filter.

•	Festlegen einer Bedingung zum Ausführen einer Aktion oder einer Reihe von Aktionen in einem Makro oder Bestimmen von Argumenten für viele Aktionen.

•	Bestimmen von Argumenten für Funktionen, Anweisungen und Methoden in Visual Basic für Applikationen-Prozeduren.

•	Bearbeiten einer SQL-Abfrage in der SQL-Ansicht des Abfragefensters oder Verwenden einer SQL-Anweisung in einer Eigenschafteneinstellung oder einem Argument.

Um Informationen zum Erstellen eines Ausdrucks zu erhalten, klicken Sie auf  [image].

Um Beispiele für Ausdrücke anzuzeigen, klicken Sie auf  [image].


Erstellen eines Ausdrucks

Wenn Sie einen Ausdruck erstellen, fügen Sie Bezeichner, Werte und Operatoren zu einer Einheit zusammen, die ein Ergebnis hervorbringt. Ausdrücke können so einfach wie ein arithmetischer Ausdruck sein, wie z.B. (1 + 1), der ein numerisches Ergebnis hervorbringt (2). Sie können auch komplexe Datenoperationen durchführen, wie der folgende Ausdruck für eine Gültigkeitsregel, der einen Fehler erzeugt, wenn der Wert des Feldes Land "Frankreich", "Italien" oder "Spanien" ist und das Feld Postleitzahl weniger oder mehr als fünf Zeichen enthält:

= [Land] In ("Frankreich", "Italien", "Spanien") And Len([Postleitzahl])<>5

Sie können einen Ausdruck entweder mit dem Ausdrucks-Editor erstellen, oder Sie können ihn selbst erstellen, indem Sie die Elemente des Ausdrucks entsprechend zusammenführen.

Was möchten Sie tun?

Einen Ausdruck mit dem Ausdrucks-Editor erstellen

Einen Ausdruck ohne den Ausdrucks-Editor erstellen

Weitere Informationen über Ausdrücke erhalten

Beispiele für Ausdrücke anzeigen


Erstellen eines Ausdrucks mit dem Ausdrucks-Editor

1	Starten Sie den Ausdrucks-Editor.

Wie wird's gemacht?

2	Doppelklicken Sie auf das untere linke Feld des Ausdrucks-Editors, oder klicken Sie auf den Ordner, der die gewünschten Elemente enthält.

3	Doppelklicken Sie im unteren mittleren Ordner auf ein Element, um es in das Ausdrucksfeld einzufügen, oder klicken Sie auf eine Kategorie von Elementen.

4	Wenn Sie im unteren mittleren Feld eine Kategorie ausgewählt haben, werden die Werte im unteren rechten Feld angezeigt. Doppelklicken Sie auf einen Wert, um ihn in das Ausdrucksfeld einzufügen.

Tip   Sie können einen beliebigen Teil des Ausdrucks auch direkt in das Ausdrucksfeld eingeben.

5	Sie können beliebige Operatoren einfügen, indem Sie die Einfügemarke an die Stelle im Ausdrucksfeld positionieren, an der der Operator stehen soll, und dann auf eine der Operatorschaltflächen klicken, die in der Mitte des Ausdrucks-Editors angeordnet sind.

6	Wenn Ihr Ausdruck vollständig ist, klicken Sie auf OK.

Microsoft Access kopiert Ihren Ausdruck an die Stelle, an der Sie den Ausdrucks-Editor gestartet haben. Wenn diese Position bereits einen Wert enthält, oder wenn Sie den Editor mit markiertem Code aus dem Modulfenster heraus gestartet haben, ersetzt Ihr neuer Ausdruck den Wert oder Text.

Um weitere Informationen über den Ausdrucks-Editor zu erhalten, klicken Sie auf  [image].


So starten Sie den Ausdrucks-Editor

Sie können den Ausdrucks-Editor von den meisten Positionen aus starten, in denen Sie Ausdrücke schreiben, wie z.B. in einem Eigenschaftenfenster, einer Zelle Kriterien im Abfrage-Entwurfsbereich, dem Makrofenster oder dem Modulfenster.

Was möchten Sie tun?

Den Ausdrucks-Editors in einem Eigenschaftenfenster oder im unteren Bereich des Makrofensters starten

Den Ausdrucks-Editors im Abfrage-Entwurfsbereich, in der Spalte für Bedingungen des Makrofensters oder im Modulfenster starten


Starten des Ausdrucks-Editors in einem Eigenschaftenfenster oder im Makrofenster

1	Klicken Sie auf das Einstellungsfeld der Eigenschaft oder auf das Argumentfeld, das den Ausdruck beinhaltet.

2	Klicken Sie auf die Schaltfläche Editor  [image] neben dem Einstellungsfeld der Eigenschaft oder dem Argumentfeld.

Wenn mehrere Editoren mit einer Eigenschaft verbunden sind, zeigt Microsoft Access das Dialogfeld Editor auswählen an. Klicken Sie auf Ausdrucks-Editor und auf OK.

Anmerkung   Wenn das Einstellungsfeld der Eigenschaft oder das Argumentfeld, von dem aus Sie den Ausdrucks-Editor starten, bereits einen Wert enthält, wird der Wert automatisch in das Ausdrucksfeld kopiert.


Starten des Ausdrucks-Editors im Abfrage-Entwurfsbereich, in einer Makrobedingung oder in einem Modul

Sie können den Ausdrucks-Editor in einem Feld oder einer Zelle Kriterien in der Abfrage-Entwurfsansicht, in der Spalte für Bedingungen des Makrofensters oder im Modulfenster starten.

1	Klicken Sie mit der rechten Maustaste auf die Stelle, an der Sie den Ausdruck einfügen möchten.

2	Klicken Sie im Kontextmenü auf Erstellen.

Anmerkung   Wenn die Zelle oder die Spalte für Bedingungen im Makro, von wo aus Sie den Ausdrucks-Editor starten, bereits einen Wert enthält, wird dieser Wert automatisch in das Ausdrucksfeld des Editors kopiert. Um Text aus dem Modulfenster in den Ausdrucks-Editor zu kopieren, markieren Sie den Text, den Sie kopieren möchten, bevor Sie den Ausdrucks-Editor starten.


Erstellen eines Ausdrucks ohne den Ausdrucks-Editor

Sie können einen Ausdruck erstellen, indem Sie Bezeichner, Operatoren und Werte miteinander verbinden, um das gewünschte Ergebnis zu erhalten. Der folgende Ausdruck vergrößert den im Formular Bestellungen im Steuerelement Frachtkosten angezeigten Wert um 10 Prozent:

= [Formulare]![Bestellungen]![Frachtkosten] * 1,1

In diesem Ausdruck ist:

•	[Formulare]![Bestellungen]![Frachtkosten] ein Bezeichner, der auf den Wert im Formular Bestellungen im Steuerelement Frachtkosten verweist.

•	* der Operator für Multiplikation.

•	1,1 der Wert, mit dem Microsoft Access den Wert des Steuerelements Frachtkosten multipliziert.

Je nach gewünschtem Ergebnis haben Sie viele unterschiedliche Möglichkeiten, Bezeichner, Operatoren und Werte miteinander zu verbinden. Sie können Ausdrücke verwenden, um Zeichenfolgen miteinander zu verketten, numerische Werte zu addieren oder miteinander zu multiplizieren, Funktionen aufzurufen, auf Objekte und deren Werte zu verweisen und viele andere Operationen ausführen.

Einige Ausdrücke erzeugen ein Ergebnis des Typs Wahr oder Falsch. Wenn Sie z.B. einen Ausdruck in die Spalte für Bedingungen eines Makros eingeben, führt Microsoft Access die angegebene Aktion nur aus, wenn der Ausdruck wahr ist. Der folgende Ausdruck ist nur dann wahr, wenn im Formular Personal im Steuerelement Land der angezeigte Wert 'UK' ist:

Formulare![Personal]![Land] = "UK"

Um weitere Informationen über das Verwenden von Bezeichnern in Ausdrücken zu erhalten, klicken Sie auf  [image].

Um weitere Informationen über Operatoren zu erhalten, klicken Sie auf  [image].

Um weitere Informationen über das Verwenden von Werten in Ausdrücken zu erhalten, klicken Sie auf  [image].


Verweisen auf ein Objekt oder dessen Eigenschaften in Ausdrücken

Sie können einen Bezeichner in einem Ausdruck verwenden, um auf ein Objekt oder dessen Eigenschaften zu verweisen. Sie können beispielsweise auf ein geöffnetes Formular, einen geöffneten Bericht, ein Steuerelement in einem geöffneten Formular oder Bericht oder auf eine beliebige Eigenschaft des Formulars, Berichts oder Steuerelements verweisen. Der folgende Bezeichner verweist auf die Eigenschaft Visible (Sichtbar) eines Steuerelements:

Berichte![Rechnung]![Versandname].Sichtbar

Der vollständige Bezeichner für ein Objekt oder eine Eigenschaft zeigt die Beziehung zwischen einzelnen Elementen im Bezeichner an. In diesem Bezeichner verweist:

•	Berichte auf die Auflistung der geöffneten Berichte in der Datenbank. Microsoft Access erstellt automatisch Forms- und Reports-Auflistungen für jede Datenbank. Die Forms-Auflistung besteht aus sämtlichen geöffneten Formularen, während die Reports-Auflistung aus sämtlichen geöffneten Berichten besteht.

•	[Rechnung] auf den Bericht Rechnung in der Reports-Auflistung.

•	[Versandname] auf das Steuerelement Versandname im Bericht Rechnung.

•	.Sichtbar auf die Eigenschaft Visible des Steuerelements Versandname.

In manchen Fällen ist es sinnvoll, den vollständigen Bezeichner anzugeben, wenn man auf ein Objekt oder eine Eigenschaft verweist; in anderen Fällen ist ein vollständiger Bezeichner unbedingt erforderlich. Wenn Sie z.B. auf ein Steuerelement in einem Formular oder Bericht verweisen und es sich dabei nicht um das aktuelle Formular oder den aktuellen Bericht handelt, müssen Sie den vollständigen Bezeichner angeben. Der folgende Ausdruck zeigt die Summe der Werte der Steuerelemente Gesamtpreis und Frachtkosten im Formular Bestellungen in einem Steuerelement eines anderen Formulars an:

=Formulare![Bestellungen]![Gesamtpreis] + Formulare![Bestellungen]![Frachtkosten]

Unter Umständen können Sie jedoch auch auf ein Steuerelement oder dessen Eigenschaften verweisen, ohne den vollständigen Bezeichner anzugeben:

•	Wenn Sie auf ein Steuerelement im aktuellen Formular oder Bericht verweisen, müssen Sie nicht den genauen Formular- oder Berichts-Bezeichner angeben. Um z.B. die Summe der Werte in den Steuerelementen Gesamtpreis und Frachtkosten in einem anderen Steuerelement in demselben Formular anzuzeigen, geben Sie die Eigenschaft ControlSource des Steuerelements folgendermaßen an:

= [Gesamtpreis] + [Frachtkosten]

•	Wenn Sie auf ein Steuerelement in einem Unterformular oder -bericht verweisen, müssen Sie nicht den vollständigen Bezeichner für das Formular oder den Bericht angeben, wenn Sie die Eigenschaft Form oder Report verwenden. Sie können beispielsweise den folgenden Bezeichner verwenden, um auf das Steuerelement Anzahl im Unterformular Bestellungen-Unterformular zu verweisen:

Formulare![Bestellungen]![Bestellungen-Unterformular]![Anzahl]

Der vollständige Bezeichner für das Steuerelement Anzahl lautet:

Formulare![Bestellungen]![Bestellungen-Unterformular].Formular![Anzahl]

•	In einem Makro- oder Aktionsargument müssen Sie den Bezeichner für das Formular oder den Bericht, aus dem heraus das Makro ausgeführt wird, nicht genau angeben. Wenn Sie z.B. eine Ereigniseigenschaft in einem Formular auf den Namen eines Makros festlegen, können Sie auf Steuerelemente im Formular in der Spalte für Bedingungen des Makros oder auf Aktionsargumente verweisen, ohne den Bezeichner des Formulars genau anzugeben.

•	In einer Visual Basic für Applikationen-Prozedur können Sie das Schlüsselwort Me anstelle des vollständigen Bezeichners verwenden, um auf ein Steuerelement im aktuellen Formular oder Bericht zu verweisen. Um z.B. die Summe der Werte der Steuerelemente Gesamtpreis und Frachtkosten in einem Formular der Variablen KostenGesamt in einer der Ereignisprozeduren des Formulars zuzuweisen, fügen Sie der Ereignisprozedur die folgende Anweisung hinzu:

KostenGesamt = Me![Gesamtpreis] + Me![Frachtkosten]

Anmerkungen

•	Wenn Sie ein Makro oder Visual Basic für Applikationen-Code ausführen, in dem ein enthaltener Ausdruck auf ein Formular oder einen Bericht verweist, muß das Formular bzw. der Bericht geöffnet sein.

•	In einer Visual Basic-Prozedur können Sie auf ein Objekt verweisen, indem Sie dessen Namen in Klammern und Anführungszeichen (" ") setzen, statt den Operator ! zu verwenden. Die Klammern sind erforderlich, wenn Sie eine Variable in einem Bezeichner verwenden möchten. Die folgenden Bezeichner sind beispielsweise gleichwertig:

Forms![Bestellungen]![Bestelldatum]

Forms("Bestellungen")("Bestelldatum")

Um Informationen zum Verwenden der Operatoren ! und . (Punkt) in Ausdrücken zu erhalten, klicken Sie auf  [image].

Um weitere Informationen zum Verweisen auf ein Formular, einen Bericht, ein Unterformular oder einen Unterbericht in einem Ausdruck zu erhalten, klicken Sie auf  [image].

Um weitere Informationen zum Verweisen auf den Wert eines Steuerelements oder einer Eigenschaft in einem Ausdruck zu erhalten, klicken Sie auf  [image].


So verwenden Sie Werte in Ausdrücken

Sie können einen Wert in einem Ausdruck angeben, indem Sie ein Literal, eine Konstante, eine Funktion oder einen Bezeichner verwenden:

•	Ein Literal stellt einen Wert dar, wie z.B. eine Zahl, Zeichenfolge oder ein Datum, den Microsoft Access genau wie geschrieben auswertet.  "New York", 100, und #1.Jan.96# sind Beispiele für Literale. Datumsangaben werden in das Zeichen # gesetzt, und Zeichenfolgen werden in Anführungszeichen gesetzt (" ").

•	Eine Konstante stellt einen unveränderlichen Wert dar. Wahr, Falsch, Ja, Nein, und Null sind Beispiele für Konstanten, die automatisch von Microsoft Access definiert werden. Sie können auch Ihre eigenen Konstanten in Visual Basic für Applikationen definieren, die Sie dann in Visual Basic-Prozeduren verwenden können.

•	Eine Funktion gibt einen Wert zurück, der auf den Ergebnissen einer Berechnung oder einer anderen Operation basiert. Microsoft Access schließt viele eingebaute Funktionen ein, zum Beispiel:

•	Date gibt das aktuelle Datum aus.

•	Sum gibt eine Summe über eine Reihe von Feldwerten aus.

•	DLookup gibt einen bestimmten Feldwert aus.

Sie können mit Visual Basic auch Ihre eigenen Funktionen erstellen.

•	Ein Bezeichner verweist auf den Wert eines Feldes, Steuerelements oder einer Eigenschaft. Der folgende Bezeichner verweist z.B. auf den Wert der Eigenschaft DefaultValue (Standardwert) des Steuerelements Bestelldatum im Formular Bestellungen:

Formulare![Bestellungen]![Bestelldatum].Standardwert

Sie können den Wert eines Feldes, Steuerelements oder einer Eigenschaft mit einer Literalzeichenfolge verbinden, indem Sie den Operator & zur Verkettung verwenden. Der folgende Ausdruck verbindet z.B. die Literalzeichenfolge "[Kategorie-Nr] = " mit dem Wert des Steuerelements Kategorie-Nr im Formular Artikel:

"[Kategorie-Nr] = " & Formulare![Artikel]![Kategorie-Nr]

In einigen Fällen (z.B. in einer Aggregatfunktion für Domänen wie DLookup) muß der Wert des Feldes, Steuerelements oder der Eigenschaft in Apostrophe oder Anführungszeichen gesetzt werden. Die einfachste Art dies zu tun, besteht darin, der Literalzeichenfolge ein Apostroph (') hinzuzufügen und dann den Ausdruck mit einer anderen Literalzeichenfolge zu verketten, bei der hinter dem Feld, Steuerelement oder Eigenschaftenwert erneut ein Apostroph gesetzt wird:

"[Kategorie-Nr] = ' " & Formulare![Artikel]![Kategorie-Nr] & " ' "

Bestehende Microsoft Access-Anwendungen können auch die Operatoren | (senkrechter Strich) anstelle der Anführungszeichen am Anfang und am Ende (" ") und der Operatoren & (Verkettung) wie folgt verwenden:

"[Kategorie-Nr] = '|Formulare![Artikel]![Kategorie-Nr]|' "

Die Verwendung von |-Zeichen ist jedoch nicht empfehlenswert, da diese in manchen Fällen unerwartete Ergebnisse hervorbringen.

Wenn ein Ausdruck eine Zeichenfolge erzeugen soll, die in Anführungszeichen gesetzt ist, können Sie entweder eine verschachtelte Zeichenfolge in Apostrophe (') oder in drei aufeinanderfolgende Anführungszeichen (") setzen. Die folgenden Ausdrücke sind z.B. gleichwertig:

Formulare![Kontakte]![Stadt].Standardwert = " 'Paris' "

Formulare![Kontakte]![Stadt].Standardwert = " " "Paris" " "

Um weitere Informationen über Konstanten zu erhalten, klicken Sie auf  [image].

Um weitere Informationen zum Erstellen Ihrer eigenen Funktionen zu erhalten, klicken Sie auf  [image].

Um weitere Informationen zum Verwenden von Bezeichnern in Ausdrücken zu erhalten, klicken Sie auf  [image].


Beispiele für Ausdrücke

Sie können in Microsoft Access Ausdrücke bei vielen Gelegenheiten verwenden, beispielsweise beim Erstellen von berechneten Steuerelementen, Abfrage- und Filterkriterien, Standardwerten, Gültigkeitsregeln und Makrobedingungen. Der einfachste Weg, einen Ausdruck zu erstellen, besteht meist darin, nach einem Beispiel für einen Ausdruck zu suchen, der dem ähnelt, den Sie erstellen möchten, und diesen dann für Ihre Zwecke zu verändern.

Welche Beispiele möchten Sie anzeigen?

Beispiele für Abfragen, die in Formularen und Berichten verwendet werden

Beispiele für Ausdrücke, die in Abfragen und Filtern verwendet werden

Beispiele für Ausdrücke in Standardwerten

Beispiele für Ausdrücke in Gültigkeitsregeln

Beispiele für Ausdrücke in Makrobedingungen

Mehr über Ausdrücke erfahren


Verwenden der Operatoren ! (Ausrufezeichen) und . (Punkt) in Ausdrücken

Sie können die Operatoren ! und . (Punkt) in einem Bezeichner verwenden, um den Elementtyp, der unmittelbar folgt, zu kennzeichnen.

Der Operator ! zeigt an, daß das folgende Element ein benutzerdefiniertes Element ist (ein Element einer Auflistung). Verwenden Sie z.B. den Operator !, um auf ein geöffnetes Formular, einen geöffneten Bericht oder auf ein Steuerelement in einem geöffneten Formular oder Bericht zu verweisen.

Bezeichner	Verweist auf
Formulare![Bestellungen]	das geöffnete Formular Bestellungen.
Berichte![Rechnung]	den geöffneten Bericht Rechnung.
Formulare![Bestellungen]![Bestell-Nr]	das Steuerelement Bestell-Nr im geöffneten Formular Bestellungen.
Der Operator . (Punkt) zeigt normalerweise an, daß das folgende Element ein von Microsoft Access definiertes Element ist. Verwenden Sie den Operator . (Punkt) z.B., um auf eine Eigenschaft eines Formulars, Berichts oder Steuerelements zu verweisen.

Anmerkung   Sie können den Operator . (Punkt) auch verwenden, um auf einen Feldwert in einer SQL-Anweisung, eine Methode in Visual Basic für Applikationen oder auf eine Auflistung zu verweisen. Der Bezeichner

Formulare![Bestellungen].Steuerelemente

verweist z.B. auf die Auflistung Controls des Formulars Bestellungen. Da die Auflistung Controls die Standardauflistung für Formulare und Berichte ist, ist es jedoch normalerweise nicht erforderlich, explizit auf diese zu verweisen.


Eingeben eines Ausdrucks in ein Eigenschaftenfenster, einen Entwurfsbereich oder in ein Aktionsargument

Wenn Sie einen Ausdruck eingeben, der länger ist als der Standardeingabebereich in einem Eigenschaftenfenster, einem Entwurfsbereich oder einem Aktionsargument, können Sie den Ausdruck in das Dialogfeld Zoom eingeben. Um das Dialogfeld Zoom zu öffnen, drücken Sie die Tastenkombination UMSCHALT+F2, wenn sich der Fokus an der Stelle befindet, an der Sie den Ausdruck eingeben möchten.

Wenn Sie einen Ausdruck in ein Eigenschaftenfenster, einen Entwurfsbereich oder in ein Aktionsargument eingeben,

•	erkennt Microsoft Access länderspezifische Funktionsnamen, Eigenschaftennamen und Listentrennzeichen der internationalen Versionen.

•	fügt Microsoft Access für Sie bestimmte Zeichen ein, wenn sich der Fokus verändert. Je nachdem, an welcher Stelle Sie den Ausdruck eingeben, fügt Microsoft Access automatisch die folgenden Elemente ein:

•	Klammern ([ ]) um Formular-, Berichts-, Feld- oder Steuerelementnamen.

•	das Zeichen # um Datumsangaben.

•	Anführungszeichen (" ") um Text.

Anmerkung   Vor Ausdrücken für ein berechnetes Steuerelement steht immer ein Gleichheitszeichen (=).

Verwenden von Funktionen und Eigenschaften in internationalen Versionen von Microsoft Access

Wenn Sie eine Funktion oder Eigenschaft in einen Ausdruck eingeben, können Sie in den meisten internationalen Versionen von Microsoft Access

•	deren lokalisierten Namen (in Ihrer Sprache) in ein Eigenschaftenfenster, einen Entwurfsbereich oder in ein Aktionsargument eingeben.

•	das Listentrennzeichen für Ihr Land verwenden, wenn Sie mehr als ein Argument für eine Funktion angeben. Sie können das Listentrennzeichen auf der Registerkarte Zahlen der Option Ländereinstellungen in der Windows Systemsteuerung angeben. Bei den meisten internationalen Versionen ist das Standard-Listentrennzeichen ein Semikolon (;).

Im Visual Basic für Applikationen-Code müssen Sie jedoch den englischen Funktions- oder Eigenschaftennamen eingeben und ein Komma (,) als Listentrennzeichen verwenden.

Eingeben von Objektnamen

Klammern ([ ]) um ein Feld, Steuerelement oder um eine Eigenschaft in einem Bezeichner zeigen an, daß das Element der Name einer Tabelle, Abfrage, eines Formulars, Berichts, Feldes oder Steuerelements ist.

Wenn Sie einen Objektnamen in einen Bezeichner eingeben, setzen Sie Klammern um den Namen, wenn dieser ein Leerzeichen oder ein Sonderzeichen, wie z.B. einen Bindestrich, enthält. Enthält der Name kein Leerzeichen oder Sonderzeichen, können Sie den Namen ohne Klammern eingeben. Microsoft Access fügt (abgesehen von den zwei unten aufgeführten Ausnahmen) automatisch Klammern ein.

Sie können z.B. den folgenden Ausdruck als Einstellung für die Eigenschaft ControlSource eingeben, um die Summe der Werte in den Feldern Frachtkosten und Bestellmenge zu berechnen.

= Frachtkosten + Bestellmenge

Microsoft Access zeigt den Ausdruck wie folgt an:

= [Frachtkosten] + [Bestellmenge]

Anmerkung   In der Einstellung der Eigenschaft ValidationRule oder in einer Zelle Kriterien im Abfrage-Entwurfsbereich fügt Microsoft Access nicht automatisch Klammern um einen Namen ein. Wenn Sie einen Objektnamen eingeben, überprüfen Sie, ob Sie Klammern gesetzt haben. Sonst geht Microsoft Access davon aus, daß Sie Text eingeben und fügt Anführungszeichen hinzu.

Eingeben von Datum/Zeit-Werten

Das Zeichen # um ein Element eines Ausdrucks zeigt an, daß es sich bei dem Element um einen Datum/Zeit-Wert handelt. Microsoft Access wertet einen von den Zeichen # umgebenen Wert automatisch als einen Datum/Zeit-Wert, und Sie können den Wert in einem beliebigen Datums- oder Zeitformat eingeben.

Sie müssen das Zeichen # nicht um einen Datum/Zeit-Wert setzen, wenn es sich um einen Gültigkeitsregel- oder Kriterienausdruck für ein Feld handelt, dessen Felddatentyp Datum/Zeit ist. Sie können den Wert in einem beliebigen Datums- oder Zeitformat eingeben, und Microsoft Access fügt automatisch das Zeichen # um den Wert ein.

Microsoft Access zeigt den Wert gemäß den Einstellungen im Dialogfeld Ländereinstellungen der Windows Systemsteuerung an. Sie können das Ausgabeformat eines Datums ändern, indem Sie die Eigenschaft Format verwenden.

Eingeben von Text

Anführungszeichen (" ") um ein Element eines Ausdrucks zeigen an, daß es sich bei dem Element um Text handelt.

Wenn Sie in einen Gültigkeitsregel- oder Kriterienausdruck Text eingeben, setzen Sie den Text in Anführungszeichen, wenn er ein Leerzeichen oder Satzzeichen enthält. Enthält der Text kein Leerzeichen oder Satzzeichen, können Sie den Text ohne die Anführungszeichen eingeben, und Microsoft Access fügt sie automatisch hinzu.

Wenn Sie z.B. den Ausdruck Paris eingeben, zeigt Microsoft Access den Ausdruck wie folgt an:

"Paris"


Verweisen auf ein Formular, einen Bericht, ein Unterformular oder einen Unterbericht in einem Ausdruck

Sie können auf ein geöffnetes Formular oder einen Bericht oder auf ein Unterformular oder -bericht eines geöffneten Formulars oder Berichts in einem Ausdruck verweisen, indem Sie dessen Bezeichner eingeben.

So verweisen Sie auf ein geöffnetes Formular oder einen Bericht

•	Geben Sie den Namen der Auflistung Forms oder Reports ein, gefolgt von dem Operator ! und dem Namen des Formulars oder Berichts. Der folgende Bezeichner verweist z.B. auf das Formular Bestellungen:

Formulare![Bestellungen]

So verweisen Sie auf ein Unterformular oder einen Unterbericht

Verweisen Sie auf das Steuerelement Unterformular oder Unterbericht in dem Formular oder Bericht, der das Unterformular oder den Unterbericht enthält. Verwenden Sie dann die Eigenschaft Form oder Report des Steuerelements, um auf das aktuelle Unterformular oder auf den Unterbericht zu verweisen.

•	Geben Sie den Bezeichner für das Formular ein, in dem das Unterformular enthalten ist, gefolgt von dem Namen des Unterformular-Steuerelements, dem Operator . (Punkt) und der Eigenschaft Form. Der folgende Bezeichner verweist z.B. auf das Unterformular Bestellungen-Unterformular im Formular Bestellungen:

Formulare![Bestellungen]![Bestellungen-Unterformular].Formular

Anmerkungen

•	Sie können den Ausdrucks-Editor verwenden, um einen Bezeichner für ein Formular, einen Bericht, ein Unterformular oder einen Unterbericht zu erstellen.

•	Wenn Sie ein Makro oder Visual Basic für Applikationen-Code ausführen, in dem ein enthaltener Ausdruck auf ein Formular oder einen Bericht verweist, muß das Formular bzw. der Bericht geöffnet sein.

Um weitere Informationen zum Erstellen eines Ausdrucks mit dem Ausdrucks-Editor zu erhalten, klicken Sie auf  [image].

Um weitere Informationen zum Verwenden von Bezeichnern in Ausdrücken zu erhalten, klicken Sie auf  [image].

Um Informationen zum Verweisen auf den Wert eines Steuerelements oder einer Eigenschaft in einem Ausdruck zu erhalten, klicken Sie auf  [image].


Verweisen auf den Wert eines Steuerelements oder einer Eigenschaft in einem Ausdruck

Sie können auf den Wert eines Steuerelements oder einer Eigenschaft in einem Ausdruck verweisen, indem Sie den entsprechenden Bezeichner eingeben.

So verweisen Sie auf den Wert eines Steuerelements

•	Geben Sie den Bezeichner für das Formular oder den Bericht ein, der das Steuerelement enthält, gefolgt von dem Operator ! und dem Namen des Steuerelements. Der folgende Bezeichner verweist z.B. auf den Wert des Steuerelements Bestell-Nr im Formular Bestellungen:

Formulare![Bestellungen]![Bestell-Nr]

Tip   Wenn Sie auf ein Steuerelement in einem Unterformular oder -bericht verweisen, müssen Sie nicht den vollständigen Bezeichner für das Formular oder den Bericht eingeben, wenn Sie die Eigenschaft Form oder Report verwenden. Sie können z.B. den folgenden Bezeichner verwenden, um auf das Steuerelement Anzahl im Unterformular Bestellungen-Unterformular zu verweisen.

Formulare![Bestellungen]![Bestellungen-Unterformular]![Anzahl]

So verweisen Sie auf den Wert einer Eigenschaft

•	Geben Sie den Bezeichner für das Formular, den Bericht oder das Steuerelement ein, auf das/den sich die Eigenschaft bezieht, gefolgt von dem Operator . (Punkt) und dem Namen der Eigenschaft. Der folgende Bezeichner verweist z.B. auf die Eigenschaft DefaultValue (Standardwert) des Steuerelements Bestelldatum im Formular Bestellungen:

Formulare![Bestellungen]![Bestelldatum].Standardwert

Anmerkungen

•	Sie können den Ausdrucks-Editor verwenden, um einen Bezeichner für ein Steuerelement oder eine Eigenschaft zu erstellen.

•	Wenn Sie ein Makro oder Visual Basic für Appikationen-Code ausführen, in dem ein enthaltener Ausdruck auf ein Formular oder einen Bericht verweist, muß das Formular bzw. der Bericht geöffnet sein.

Um weitere Informationen zum Erstellen eines Ausdrucks mit dem Ausdrucks-Editor zu erhalten, klicken Sie auf  [image].

Um weitere Informationen zum Verwenden von Bezeichnern in Ausdrücken zu erhalten, klicken Sie auf  [image].

Um weitere Informationen zum Verwenden von Werten in Ausdrücken zu erhalten, klicken Sie auf  [image].

Um weitere Informationen zum Verweisen auf ein Formular, einen Bericht, ein Unterformular oder einen Unterbericht in einem Ausdruck zu erhalten, klicken Sie auf  [image].


Verweisen auf einen Formular- oder Berichtsbereich oder eine Berichtsgruppenebene in einem Ausdruck

•	Geben Sie den Bezeichner für das Formular oder den Bericht und dann den Operator . (Punkt) und den Namen des Bereichs oder der Gruppenebene ein. Der folgende Bezeichner verweist z.B. auf den Detailbereich im Formular Bestellungen:

[Formulare]![Bestellungen].Detail

Anmerkungen

•	Wenn Sie ein Makro oder Visual Basic für Appikationen-Code ausführen, in dem ein enthaltener Ausdruck auf ein Formular oder einen Bericht verweist, muß das Formular bzw. der Bericht geöffnet sein.

•	Sie können auch durch Index-Nummern auf Formular- oder Berichtsbereiche oder Berichtsgruppenebenen verweisen, indem Sie die Eigenschaft Section verwenden. Um weitere Informationen zur Eigenschaft Section zu erhalten, klicken Sie auf  [image].

Um weitere Informationen zum Verwenden von Bezeichnern in Ausdrücken zu erhalten, klicken Sie auf  [image].


Verweisen auf eine Listenspalte in einem Ausdruck

Sie können auf eine Spalte in einem mehrspaltigen Listenfeld oder Kombinationsfeld verweisen, indem Sie die Eigenschaft Column des Listenfeld- oder Kombinationsfeld-Steuerelements verwenden.

•	Geben Sie den Bezeichner für die Eigenschaft Column ein, gefolgt von der Index-Nummer der Spalte in Klammern. Wählen Sie 0, um auf die erste Spalte zu verweisen, 1, um auf die zweite Spalte zu verweisen usw. Der folgende Bezeichner verweist z.B. auf die zweite Spalte des Listenfeld-Steuerelements Land im Formular Kunden:

[Formulare]![Kunden]![Land]. [Spalte](1)

Anmerkung   Wenn Sie ein Makro oder Visual Basic für Applikationen-Code ausführen, in dem ein enthaltener Ausdruck auf ein Formular oder einen Bericht verweist, muß das Formular bzw. der Bericht geöffnet sein.

Um weitere Informationen zum Erstellen eines mehrspaltigen Listen- oder Kombinationsfelds zu erhalten, klicken Sie auf  [image].

Um Informationen zum Verweisen auf den Wert eines Steuerelements oder einer Eigenschaft in einem Ausdruck zu erhalten, klicken Sie auf  [image].


Richtlinien zum Benennen von Feldern, Steuerelementen und Objekten

Namen von Feldern, Steuerelementen und Objekten in Microsoft Access

•	können aus bis zu 64 Zeichen bestehen.

•	können beliebige Kombinationen von Buchstaben, Zahlen, Leerzeichen und Sonderzeichen einschließen, mit Ausnahme von einem Punkt (.), Ausrufezeichen (!), Accent grave (`), und eckigen Klammern ([ ]).

•	dürfen nicht mit vorangestellten Leerzeichen anfangen.

•	dürfen keine Steuerzeichen enthalten (ASCII Werte 0 bis 31).

Obwohl Sie Leerzeichen in Feld-,Steuerelement- und Objektnamen einbeziehen können, sind die meisten Beispiele in der Microsoft Access-Dokumentation Feld- und Steuerelementnamen ohne Leerzeichen, weil Leerzeichen in Namen in manchen Fällen bei der Benennung in Visual Basic Probleme verursachen können.

Wenn Sie ein Feld, Steuerelement oder Objekt benennen, ist es sinnvoll, zu überprüfen, ob der Name nicht gleichlautend zu dem Namen einer Eigenschaft oder eines anderen von Microsoft Access verwendeten Elements ist. Sonst können in Ihrer Datenbank möglicherweise unerwartete Ereignisse auftreten. Wenn Sie z.B. auf den Wert eines Feldes Name in einer Tabelle NameInfo verweisen und die Syntax NameInfo.Name verwenden, zeigt Microsoft Access den Wert der Eigenschaft Name der Tabelle statt des Wertes des Feldes Name.

Eine weitere Möglichkeit, unerwartete Ergebnisse zu vermeiden, besteht darin, immer den Operator ! anstelle des Operators . (Punkt) zu verwenden, um auf den Wert eines Feldes, Steuerelements oder Objekts zu verweisen. Der folgende Bezeichner verweist z.B. explizit auf den Wert des Feldes Name und nicht auf die Eigenschaft Name:

[NameInfo]![Name]

Um weitere Informationen zu den Operatoren ! und . (Punkt) in Ausdrücken zu erhalten, klicken Sie auf  [image].


Richtlinien zum Benennen von Prozeduren, Variablen, und Konstanten in Visual Basic

Namen von Prozeduren, Variablen und Konstanten in Ihrem Visual Basic für Applikationen-Code

•	können aus bis zu 255 Zeichen bestehen.

•	müssen mit einem Buchstaben anfangen.

•	können Buchstaben, Zahlen oder Unterstrichzeichen (_) enthalten.

•	dürfen keine Satzzeichen oder Leerzeichen enthalten.

•	dürfen keine Visual Basic-Schlüsselworte sein.

Ein Schlüsselwort ist ein Wort, das von Visual Basic als Teil seiner Sprache verwendet wird. Hierzu zählen vordefinierte Anweisungen (wie z.B. If und Loop), Funktionen (wie z.B. Len und Abs) und Operatoren (wie z.B. Or und Mod).


Der Ausdrucks-Editor

Der Ausdrucks-Editor ist in drei Bereiche gegliedert:

•	Im oberen Bereich befindet sich das Ausdrucksfeld, in dem Sie den Ausdruck zusammensetzen. Der untere Bereich dient dazu, die Elemente des Ausdrucks zu erzeugen und diese dann durch Einfügen in das Ausdrucksfeld zu einem vollständigen Ausdruck zu vereinen. Alternativ dazu können Sie die einzelnen Bestandteile des Ausdrucks auch direkt in das Ausdrucksfeld eingeben.

•	Im mittleren Bereich des Ausdrucks-Editors finden Sie Schaltflächen für häufig benötigte Operatoren. Sobald Sie auf eine dieser Schaltflächen klicken, fügt der Ausdrucks-Editor den jeweiligen Operator am Einfügepunkt in das Ausdrucksfeld ein. Wenn Sie eine Liste aller Operatoren sehen möchten, die in Ausdrücken verwendet werden können, klicken Sie auf den Ordner Operatoren im unteren linken Feld sowie auf eine der Operator-Kategorien im mittleren Feld. Das rechte Feld enthält alle Operatoren der ausgewählten Kategorie.

•	Im unteren Bereich des Ausdrucks-Editors befinden sich drei weitere Felder:

•	Das linke Feld enthält Ordner mit Listen der folgenden Elemente: Tabellen-, Abfrage-, Formular- und Berichstdatenbankobjekte, eingebaute und benutzerdefinierte Funktionen, Konstanten, Operatoren und häufig verwendete Ausdrücke.

•	Das mittlere Feld enthält entsprechend dem gewählten Ordner im linken Feld spezielle Elemente bzw. Kategorien von Elementen. Wenn Sie beispielsweise im linken Feld auf Eingebaute Funktionen klicken, enthält das mittlere Feld eine Liste der Microsoft Access-Funktionen.

•	Wenn es zu den im linken und mittleren Feld gewählten Element Werte gibt, werden diese im rechten Feld angezeigt. Wenn Sie beispielsweise im linken Feld auf Eingebaute Funktionen und im mittleren Feld auf eine Kategorie von Funktionen klicken, enthält das rechte Feld alle eingebauten Funktionen der ausgewählten Kategorie.

Anmerkungen

•	Wenn im Ausdrucks-Editor neue Feldnamen angezeigt werden sollen, muß die Tabelle oder Abfrage, die diese neuen Felder enthält, zuerst gespeichert werden.

•	Wenn ein Objekt oder eine Funktion nicht im unteren Teil des Ausdrucks-Editors aufgeführt ist, dann ist sie in dem Kontext, in dem Sie den Editor gestartet haben, ungültig. Sie können beispielsweise in der Gültigkeitsregel für ein Feld in der Tabellen-Entwurfsansicht nicht auf andere Felder und Steuerelemente verweisen, so daß die Ordner Tabellen, Abfragen, Formulare und Berichte nicht verfügbar sind, wenn Sie den Ausdrucks-Editor aus der Eigenschaft ValidationRule eines Tabellenfelds heraus starten.

•	Wenn Sie einen Bezeichner in Ihren Ausdruck einfügen, fügt der Ausdrucks-Editor nur die Teile des Bezeichners ein, die im aktuellen Kontext erforderlich sind. Wenn Sie z.B. den Ausdrucks-Editor aus dem Eigenschaftenfenster im Formular Kunden starten und dann einen Bezeichner für die Eigenschaft Visible des Formulars in Ihren Ausdruck einfügen, fügt der Ausdrucks-Editor nur den Eigenschaftennamen Visible (Sichtbar) ein. Wenn Sie den Ausdruck außerhalb des Formularkontextes verwenden, müssen Sie den vollständigen Bezeichner angeben: Formulare![Kunden].Sichtbar.


Arbeiten mit dem Ausdrucks-Editor

Was möchten Sie tun?

Allgemeines über den Ausdrucks-Editor erfahren

Den Ausdrucks-Editor starten

Mit dem Ausdrucks-Editor einen Ausdruck erstellen

Beispiele für Ausdrücke ansehen

Mehr über Ausdrücke erfahren


Problembehandlung in Ausdrücken

Wobei benötigen Sie Hilfe?

Wie werden Ausdrücke verwendet? Anzeigen einer Übersicht.

Das Kriterienargument der Funktion DLookup oder einer anderen Aggregatfunktion für Domänen liefert unerwartete Ergebnisse.

Es treten unerwartete Ergebnisse auf beim Kombinieren (Verketten) von Steuerelement- oder Feldwerten, Variablen oder Text in einem Ausdruck.

Es treten unerwartete Ergebnisse auf beim Durchführen von Operationen bei Feldern mit leeren Werten.

Es treten unerwartete Ergebnisse auf beim Eingeben von Datumswerten in einen Ausdruck.

Es treten unerwartete Ergebnisse auf beim Verweisen auf Eigenschaften oder Steuerelemente eines Unterformulars oder -berichts.

Es treten unerwartete Ergebnisse auf beim Verweisen auf Spalten in einem Listen- oder Kombinationsfeld.

Wie wird Text konvertiert, damit der erste Buchstabe in Großbuchstaben erscheint?


Es treten unerwartete Ergebnisse auf beim Kombinieren (Verketten) von Steuerelement- oder Feldwerten, Variablen oder Text in
Es treten unerwartete Ergebnisse auf beim Kombinieren (Verketten) von Steuerelement- oder Feldwerten, Variablen oder Text in einem Ausdruck.

Beim Verketten von Steuerelementwerten, Feldwerten oder Text in einem Ausdruck können aus folgenden Gründen unerwartete Ergebnisse auftreten:

•	Sie beziehen sich auf ein Steuerelement oder Feld, das den gleichen Namen wie das aktuelle Steuerelement besitzt. Dadurch kommt es zu einer zirkulären Abhängigkeit. Ändern Sie den Namen des Feldes oder Steuerelements.

•	Sie beziehen sich auf ein Steuerelement oder Feld, dessen Name Sie falsch geschrieben haben. Überprüfen Sie, ob der Name korrekt eingegeben wurde.

•	Sie beziehen sich auf ein Steuerelement oder Feld, das den gleichen Namen besitzt wie eine Eigenschaft. Verwenden Sie für das Steuerelement oder Feld den vollständigen Bezeichner. Um weitere Informationen zu Bezeichnern in Ausdrücken zu erhalten, klicken Sie auf  [image].

•	Microsoft Access wertet den Ausdruck nicht richtig aus, da ein Teil des Ausdrucks in eckige Klammern ([ ]), Hochkommata (') oder Anführungszeichen (") gesetzt werden muß. Überprüfen Sie, ob Klammern, Hochkommata oder Anführungszeichen erforderlich sind.

Um weitere Informationen zum Verketten von Werten in Textausdrücken zu erhalten, klicken Sie auf  [image].


Es treten unerwartete Ergebnisse auf beim Durchführen von Operationen bei Feldern mit leeren Werten.

Viele Operationen können unerwartete Ergebnisse liefern, wenn Sie sich mit Hilfe eines Ausdrucks auf ein Feld beziehen, das einen leeren Wert (Nullwert) enthält. Die Funktionen DCount oder DSum z.B. können unerwartete Ergebnisse liefern, wenn Sie Kriterienausdrücke verwenden, die sich auf ein Feld mit Nullwerten beziehen.

Um dieses Problem zu beseitigen, haben Sie folgende Möglichkeiten:

•	Übergeben Sie Feldwerte an die Funktion Nz im Ausdruck. Wenn diese Funktion einen Nullwert auswertet, gibt sie 0 oder eine leere Zeichenfolge zurück. Um weitere Informationen zur Funktion Nz zu erhalten, klicken Sie auf  [image].

•	Verwenden Sie die Funktionen IIf und IsNull, um zu überprüfen, ob ein Wert Null ist, und geben Sie dann einen geeigneten Wert zurück. Um weitere Informationen zur Funktion IIf zu erhalten, klicken Sie auf  [image]. Um weitere Informationen zur Funktion IsNull zu erhalten, klicken Sie auf  [image].

Um weitere Informationen zum Einstellen von Feldeigenschaften zu erhalten, die die Handhabung von leeren Feldern festlegen, klicken Sie auf


Es treten unerwartete Ergebnisse auf beim Eingeben von Datumswerten in einen Ausdruck

Microsoft Access kann unerwartete Ergebnisse liefern, wenn Sie einen Datumswert in einen Ausdruck eingeben, ohne ihn in Nummernzeichen (#) zu setzen. Um weitere Informationen zum Eingeben von Ausdrücken zu erhalten, klicken Sie auf  [image].


Es treten unerwartete Ergebnisse auf beim Verweisen auf Eigenschaften oder Steuerelemente eines Unterformulars oder -berichts

Microsoft Access kann unerwartete Ergebnisse liefern, wenn Sie sich mit Hilfe eines nicht korrekten Bezeichners auf eine Eigenschaft oder ein Steuerelement eines Unterformulars oder Unterberichts beziehen.

Um auf die Eigenschaft eines Unterformulars oder -berichts zu verweisen, müssen Sie für das Formular oder den Bericht einen vollständigen Bezeichner angeben, und zwar unter Verwendung der Eigenschaft Form oder Report eines Unterformular- bzw. Unterbericht-Steuerelements. Der folgende Bezeichner verweist z.B. auf die Eigenschaft Visible des Unterformulars Bestellungen-Unterformular:

Forms![Bestellungen]![Bestellungen-Unterformular].Form.Visible

In diesem Beispiel verweist

•	Forms![Bestellungen]![Bestellungen-Unterformular] auf das Unterformular-Steuerelement, welches das Unterformular enthält.

•	Forms![Bestellungen]![Bestellungen-Unterformular].Form auf das Unterformular selbst. Sie müssen die Eigenschaft Form angeben, um sich auf das Unterformular selbst oder auf eine seiner Eigenschaften zu beziehen.

Im Gegensatz dazu brauchen Sie, wenn Sie auf ein Steuerelement in einem Unterformular bzw. Unterbericht oder auf eine Eigenschaft eines solchen Steuerelements Bezug nehmen, die Eigenschaft Form oder Report nicht anzugeben. Der folgende Bezeichner verweist z.B. auf die Eigenschaft Visible des Steuerelements Rabatt im Unterformular Bestellungen-Unterformular:

Forms![Bestellungen]![Bestellungen-Unterformular]![Rabatt].Visible

Um weitere Informationen darüber zu erhalten, wie Sie in einem Ausdruck auf ein Formular, einen Bericht, ein Unterformular oder einen Unterbericht verweisen, klicken Sie auf  [image].

Um weitere Informationen darüber zu erhalten, wie Sie in einem Ausdruck auf einen Steuerelementwert oder eine Eigenschafteneinstellung verweisen, klicken Sie auf  [image].

Um weitere Informationen zu Bezeichnern in Ausdrücken zu erhalten, klicken Sie auf  [image].


Es treten unerwartete Ergebnisse auf beim Verweisen auf Spalten in einem Listen- oder Kombinationsfeld

Mit der Eigenschaft Column können Sie auf eine Spalte in einem Listen- oder Kombinationsfeld Bezug nehmen. Diese Eigenschaft kann aus folgenden Gründen unerwartete Ergebnisse liefern:

•	Sie haben keine Indexnummer für die Eigenschaft Column angegeben. Die Indexnummer steht für die Spalte, auf die Sie verweisen. Column(0) verweist z.B. auf die erste Spalte eines Listen- oder Kombinationsfelds.

•	Sie haben die Indexnummer der falschen Spalte angegeben. Beachten Sie, daß die Indexnummern für die Eigenschaft Column bei 0 beginnen. Column(0) verweist auf die erste Spalte, Column(1) auf die zweite usw.

•	Sie führen eine numerische Berechnung direkt auf dem von der Eigenschaft Column zurückgegebenen Wert durch. Da die Eigenschaft Column einen Textwert zurückgibt, müssen Sie diesen zunächst in einen numerischen Wert umwandeln, bevor Sie eine numerische Berechnung durchführen können. Der folgende Ausdruck verwendet z.B. die Funktion CCur, um den von der Eigenschaft Column zurückgegebenen Wert in einen Wert des Typs Währung umzuwandeln, bevor er mit dem Wert des Feldes Menge multipliziert wird:

[Menge] * CCur([PreisListenfeld].Column(1))

Um weitere Informationen zum Verweisen auf eine Spalte in einer Liste zu erhalten, klicken Sie auf  [image].


Wie wird Text konvertiert, damit der erste Buchstabe in Großbuchstaben erscheint?

Sie können Text so konvertieren, daß nur der erste Buchstabe groß geschrieben ist, indem Sie die Funktion StrConv verwenden.


Verwenden von Tastenkombinationen in Microsoft Access

Sie verwenden Tastenkombinationen (auch Zugriffstasten genannt), um rasch auf häufig verwendete Befehle oder Operationen zuzugreifen. Die nachstehenden Themen beschreiben sowohl die Tastenkombinationen, die in allen Microsoft Office-Produkten verfügbar sind, als auch die speziell für Microsoft Access vorgesehenen Tastenkombinationen.

Was möchten Sie tun?

Globale Tastenkombinationen in Menüs verwenden

Globale Tastenkombinationen in Symbolleisten verwenden

Globale Tastenkombinationen in Fenstern und Dialogfeldern verwenden

Globale Tastenkombinationen im Office-Assistenten verwenden

Globale Tastenkombinationen in Microsoft Access verwenden

Tastenkombinationen im Datenbankfenster verwenden

Tastenkombinationen zum Auswählen von Text oder Daten verwenden

Tastenkombinationen zum Bearbeiten von Text oder Daten verwenden

Tastenkombinationen zum Bewegen in der Datenblattansicht verwenden

Tastenkombinationen zum Bewegen in der Formularansicht verwenden

Tastenkombinationen in der Seitenansicht und in der Layout-Vorschau verwenden

Tastenkombinationen im Modulfenster und im Testfenster verwenden


Verwenden von globalen Tastenkombinationen in Microsoft Access

Anzeigen von Hilfe	Taste(n)
Anzeigen des Office-Assistenten, Microsoft Access-Inhalt und -Index; Anzeigen kontextbezogener Hilfe zur markierten Eigenschaft, Makroaktion, zum markierten Steuerelement oder Visual Basic-Schlüsselwort; Anzeigen von Warnungen mit einer Schaltfläche Hilfe	F1
Anzeigen der Direkthilfe. Bewegen Sie den Zeiger nach Drücken von UMSCHALT+F1 auf den Menübefehl, die Symbolleisten-Schaltfläche, die Dialogfeldoption oder den Bildschirmbereich und klicken Sie	UMSCHALT+F1
Öffnen von Datenbanken	Taste(n)
Anlegen einer neuen Datenbank	STRG+N
Öffnen einer vorhandenen Datenbank	STRG+O
Drucken und Speichern	Taste(n)
Drucken des aktuellen oder markierten Objekts	STRG+P
Speichern eines Datenbankobjekts	STRG+S oder UMSCHALT+F12 oder ALT+UMSCHALT+F2
Öffnen des Dialogfelds Speichern unter	F12 oder ALT+F2
Verwenden eines Kombinations- oder Listenfelds	Taste(n)
Öffnen eines Kombinationsfelds	F4 oder ALT+NACH-UNTEN
Aktualisieren des Inhalts eines als Nachschlagefeld verwendeten Listenfelds oder Kombinationsfelds	F9
Bewegen um eine Zeile nach unten	NACH-UNTEN
Bewegen um eine Seite nach unten	BILD-AB
Bewegen um eine Zeile nach oben	NACH-OBEN
Bewegen um eine Seite nach oben	BILD-AUF
Verlassen des Kombinations- oder Listenfelds	TAB
Suchen und Ersetzen von Text oder Daten	Taste(n)
Öffnen des Dialogfelds Suchen (nur in der Datenblattansicht, Formularansicht und im Modulfenster)	STRG+F
Öffnen des Dialogfelds Ersetzen (nur in der Datenblattansicht, Formularansicht und im Modulfenster)	STRG+Haben
Suchen nach dem nächsten Auftreten der im Dialogfeld Suchen oder Ersetzen angegebenen Zeichenfolge bei geschlossenem Dialogfeld (nur in der Datenblattansicht und Formularansicht)	UMSCHALT+F4
Arbeiten in der Entwurfsansicht	Taste(n)
Wechseln zwischen Bearbeitungsmodus (Einfügemarke wird angezeigt) und Navigationsmodus	F2
Markieren eines Formulars oder Berichts	STRG+R
Wechseln zur Formularansicht aus dem Formularentwurf oder einem Formular	F5
Wechseln zwischen dem oberen und unteren Teil eines Fensters (nur in der Entwurfsansicht für Tabellen, Makros und Abfragen und im Fenster Spezialfilter/Sortierung)	F6
Hinzufügen eines Steuerelements zu einem Bereich (nur in der Formular- und Berichts-Entwurfsansicht). Weitere Informationen erhalten Sie durch Klicken auf	UMSCHALT+EINGABE-TASTE
Operationen mit Fenstern	Taste(n)
Anzeigen des Datenbankfensters im Vordergrund	F11 oder ALT+F1
Wechseln zwischen geöffneten Fenstern	STRG+F6
Darstellen des markierten Fensters in der bisherigen Größe, wenn alle Fenster minimiert sind	EINGABETASTE
Anzeigen des Systemmenüs	ALT+LEERTASTE
Schließen des aktiven Fensters	STRG+W oder STRG+F4
Verschiedenes	Taste(n)
Anzeigen der vollständigen Hyperlinkadresse für einen markierten Hyperlink	F2
Überprüfen der Rechtschreibung	F7
Öffnen des Dialogfelds Zoom zum einfacheren Eingeben von Ausdrücken und längerem Text in kleine Eingabebereiche	UMSCHALT+F2
Anzeigen eines Eigenschaftenfensters	ALT+EINGABETASTE
Beenden von Microsoft Access, Schließen eines Dialogfelds, oder Schließen eines Eigenschaftenfensters	ALT+F4
Aufrufen eines Editors	STRG+F2
Wechseln zwischen einer benutzerdefinierten und einer eingebauten Menüleiste	STRG+F11


Verwenden von Tastenkombinationen im Datenbankfenster

Bearbeiten der und Bewegen in der Objektliste	Taste(n)
Umbenennen des markierten Objekts	F2
Bewegen um eine Zeile nach unten	NACH-UNTEN
Bewegen um ein Fenster nach unten	BILD-AB
Bewegen zum letzten Objekt	ENDE
Bewegen um eine Zeile nach oben	NACH-OBEN
Bewegen um ein Fenster nach oben	BILD-AUF
Bewegen zum ersten Objekt	POS1
Bewegen zwischen Objekten und Öffnen von Objekten	Taste(n)
Bewegen durch die Registerkarte jedes Objekttyps (von links nach rechts)	STRG+TAB
Bewegen durch die Registerkarte jedes Objekttyps (von rechts nach links)	UMSCHALT+STRG+TAB
Öffnen der markierten Tabelle oder Abfrage in der Datenblattansicht bzw. des markierten Formulars in der Formularansicht	EINGABETASTE
Öffnen des markierten Berichts in der Seitenansicht	EINGABETASTE
Ausführen des markierten Makros	EINGABETASTE
Öffnen der markierten Tabelle, Abfrage, des Formulars, Berichts, Makros oder Moduls in der Entwurfsansicht	STRG+EINGABETASTE oder ALT+D


Verwenden von Tastenkombinationen zum Markieren von Text oder Daten

Markieren von Text in einem Feld	Taste(n)
Erweitern der Markierung um ein Zeichen nach rechts	UMSCHALT+NACH-RECHTS
Erweitern der Markierung um ein Wort nach rechts	STRG+UMSCHALT+NACH-RECHTS
Erweitern der Markierung um ein Zeichen nach links	UMSCHALT+NACH-LINKS
Erweitern der Markierung um ein Wort nach links	STRG+UMSCHALT+NACH-LINKS
Anmerkung   Zum Aufheben einer Markierung verwenden Sie die jeweils entgegengesetzte Pfeiltaste.

Markieren eines Feldes oder Datensatzes	Taste(n)
Markieren des nächsten Feldes	TAB
Wechseln zwischen Bearbeitungsmodus (Einfügemarke wird angezeigt) und Navigationsmodus	F2
Wechseln zwischen dem Markieren des aktuellen Datensatzes und dem Markieren des ersten Feldes im aktuellen Datensatz im Navigationsmodus	UMSCHALT+LEERTASTE
Erweitern der Markierung auf den vorherigen Datensatz, wenn der aktuelle Datensatz markiert ist	UMSCHALT+NACH-OBEN
Erweitern der Markierung auf den nächsten Datensatz, wenn der aktuelle Datensatz markiert ist	UMSCHALT+NACH-UNTEN
Markieren aller Datensätze	STRG+A oder STRG+UMSCHALT+LEERTASTE
Weitere Informationen zum Markieren von Feldern und Datensätzen erhalten Sie durch Klicken auf  [image].

Erweitern einer Markierung	Taste(n)
Aktivieren des Erweiterungsmodus (in der unteren rechten Ecke des Fensters wird ERW angezeigt); durch wiederholtes Drücken von F8 wird die Markierung auf das Wort, das Feld, den Datensatz (nur in der Datenblattansicht) bzw. Auf alle Datensätze erweitert	F8
Erweitern einer Markierung auf benachbarte Felder in derselben Zeile in der Datenblattansicht	NACH-LINKS oder NACH-RECHTS
Erweitern einer Markierung auf benachbarte Zeilen in der Datenblattansicht	NACH-OBEN oder NACH-UNTEN
Rückgängigmachen der zuletzt vorgenommenen Markierung	UMSCHALT+F8
Deaktivieren des Erweiterungsmodus	ESC
Markieren einer Spalte in der Datenblattansicht	Taste(n)
Markieren der aktuellen Spalte oder Aufheben der Spaltenmarkierung (nur im Navigationsmodus)	STRG+LEERTASTE
Markieren der Spalte rechts von der aktuellen Spalte, wenn diese markiert ist	NACH-RECHTS
Markieren der Spalte links von der aktuellen Spalte, wenn diese markiert ist	NACH-LINKS


Verwenden von Tastenkombinationen zum Bearbeiten von Text oder Daten

Anmerkung:   Wenn die Einfügemarke nicht sichtbar ist, drücken Sie F2, um sie anzuzeigen.

Bewegen der Einfügemarke in einem Feld	Taste(n)
Bewegen um ein Zeichen nach rechts	NACH-RECHTS
Bewegen um ein Wort nach rechts	STRG+NACH-RECHTS
Bewegen um ein Zeichen nach links	NACH-LINKS
Bewegen um ein Wort nach links	STRG+NACH-LINKS
Bewegen an das Ende des Feldes, in einzeiligen Feldern	ENDE
Bewegen an das Ende des Feldes, in mehrzeiligen Feldern	STRG+ENDE
Bewegen an den Anfang des Feldes, in einzeiligen Feldern	POS1
Bewegen an den Anfang des Feldes, in mehrzeiligen Feldern	STRG+POS1
Kopieren, Verschieben oder Löschen von Text	Taste(n)
Kopieren des markierten Bereichs in die Zwischenablage	STRG+C
Ausschneiden des markierten Bereichs und Kopieren in die Zwischenablage	STRG+X
Einfügen des Inhalts der Zwischenablage an der Einfügemarke	STRG+V
Löschen des markierten Bereichs oder des Zeichens links von der Einfügemarke	RÜCKTASTE
Löschen des markierten Bereichs oder des Zeichens rechts von der Einfügemarke	ENTF
Rückgängigmachen von Änderungen	Taste(n)
Rückgängigmachen von Eingaben	STRG+Z oder ALT+RÜCKTASTE
Rückgängigmachen von Änderungen im aktuellen Feld oder Datensatz; wenn beide geändert wurden, drücken Sie zweimal ESC, um zuerst die Änderungen im aktuellen Feld und dann die Änderungen im aktuellen Datensatz rückgängig zu machen	ESC
Eingeben von Daten in der Datenblatt- oder Formularansicht	Taste(n)
Einfügen des aktuellen Datums	STRG+SEMIKOLON (;)
Einfügen der aktuellen Uhrzeit	STRG+DOPPELPUNKT (:)
Einfügen des Standardwerts für ein Feld	STRG+ALT+LEERTASTE
Einfügen des Wertes aus demselben Feld des vorherigen Datensatzes	STRG+APOSTROPH (')
Hinzufügen eines neuen Datensatzes	STRG+PLUS-ZEICHEN (+)
Löschen des aktuellen Datensatzes	STRG+MINUS-ZEICHEN (-)
Speichern der Änderungen am aktuellen Datensatz	UMSCHALT+EINGABETASTE
Bewegen zwischen den Werten eines Kontrollkästchens oder Optionsfelds	LEERTASTE
Einfügen einer neuen Zeile	STRG+EINGABETASTE
Aktualisieren von Feldern	Taste(n)
Neuberechnen der Felder im Fenster	F9
Erneutes Abfragen in zugrundeliegenden Tabellen; in einem Unterformular wird nur die dem Unterformular zugrundeliegende Tabelle erneut abgefragt	UMSCHALT+F9
Aktualisieren des Inhalts eines als Nachschlagefeld verwendeten Listenfelds oder Kombinationsfelds	F9


Verwenden von Tastenkombinationen zum Bewegen in der Datenblattansicht

Gehen zu einem bestimmten Datensatz	Taste(n)
Anzeigen des Feldes Datensatznummer; geben Sie dann die gewünschte Datensatznummer ein, und drücken Sie die EINGABETASTE	F5
Bewegen zwischen Feldern und Datensätzen	Taste(n)
Bewegen zum nächsten Feld	TAB, EINGABETASTE oder NACH-RECHTS
Bewegen zum letzten Feld im aktuellen Datensatz, im Navigationsmodus	ENDE
Bewegen zum vorherigen Feld	UMSCHALT+TAB oder NACH-LINKS
Bewegen zum ersten Feld im aktuellen Datensatz,  im Navigationsmodus	POS1
Bewegen zum aktuellen Feld im nächsten Datensatz	NACH-UNTEN
Bewegen zum aktuellen Feld im letzten Datensatz, im Navigationsmodus	STRG+NACH-UNTEN
Bewegen zum letzten Feld im letzten Datensatz, im Navigationsmodus	STRG+ENDE
Bewegen zum aktuellen Feld im vorherigen Datensatz	NACH-OBEN
Bewegen zum aktuellen Feld im ersten Datensatz, im Navigationsmodus	STRG+NACH-OBEN
Bewegen zum ersten Feld im ersten Datensatz, im Navigationsmodus	STRG+POS1
Bewegen zu einer anderen Datenseite auf dem Bildschirm	Taste(n)
Blättern um einen Bildschirm nach unten	BILD-AB
Blättern um einen Bildschirm nach oben	BILD-AUF
Blättern um einen Bildschirm nach rechts	STRG+BILD-AB
Blättern um einen Bildschirm nach links	STRG+BILD-AUF
Verschieben von Spalten	Taste(n)
Aktivieren des Bewegungsmodus (in der unteren rechten Ecke des Fensters wird BEW angezeigt)	STRG+F8
Verschieben der markierten Spalte im Bewegungsmodus um eine Spalte nach rechts	NACH-RECHTS
Verschieben der markierten Spalte im Bewegungsmodus um eine Spalte nach links	NACH-LINKS
Deaktivieren des Bewegungsmodus	ESC
Weitere Informationen zum Neuanordnen von Spalten erhalten Sie durch Klicken auf  [image].


Verwenden von Tastenkombinationen zum Bewegen in der Formularansicht

Gehen zu einem bestimmten Datensatz	Taste(n)
Anzeigen des Feldes Datensatznummer; geben Sie dann die gewünschte Datensatznummer ein, und drücken Sie die EINGABETASTE	F5
Bewegen zwischen Feldern und Datensätzen	Taste(n)
Bewegen zum nächsten Feld	TAB
Bewegen zum vorherigen Feld	UMSCHALT+TAB
Bewegen zum letzten Feld im aktuellen Datensatz, im Navigationsmodus	ENDE
Bewegen zum letzten Feld im letzten Datensatz, im Navigationsmodus	STRG+ENDE
Bewegen zum ersten Feld im aktuellen Datensatz, im Navigationsmodus	POS1
Bewegen zum ersten Feld im ersten Datensatz, im Navigationsmodus	STRG+POS1
Bewegen zum aktuellen Feld im nächsten Datensatz	STRG+BILD-AB
Bewegen zum aktuellen Feld im vorherigen Datensatz	STRG+BILD-AUF
Bewegen zwischen Datensatzbereichen	Taste(n)
Bewegen durch die Bereiche (vorwärts)	F6
Bewegen durch die Bereiche (rückwärts)	UMSCHALT+F6
Bewegen in mehrseitigen Formularen	Taste(n)
Bewegen um eine Seite nach unten. Am Ende des Datensatzes: Bewegen zur entsprechenden Seite des nächsten Datensatzes	BILD-AB
Bewegen um eine Seite nach oben. Am Ende des Datensatzes: Bewegen zur entsprechenden Seite des vorherigen Datensatzes	BILD-AUF
Bewegen zwischen Hauptformular und Unterformular	Taste(n)
Aufrufen des Unterformulars aus dem vorherigen Feld im Hauptformular	TAB
Aufrufen des Unterformulars aus dem nächsten Feld im Hauptformular	UMSCHALT+TAB
Verlassen des Unterformulars und Bewegen zum nächsten Feld im Hauptformular oder zum nächsten Datensatz	STRG+TAB
Verlassen des Unterformulars und Bewegen zum vorherigen Feld im Hauptformular oder zum vorherigen Datensatz	STRG+UMSCHALT+TAB


Verwenden von Tastenkombinationen in der Seitenansicht und Layout-Vorschau

Operationen in Dialogfeldern und Fenstern	Taste(n)
Öffnen des Dialogfelds Drucken	P oder STRG+P
Öffnen des Dialogfelds Seite einrichten	S
Vergrößern oder Verkleinern eines Teils einer Seite	Z
Seitenansicht oder Layout-Vorschau abbrechen	C oder ESC
Anzeigen bestimmter Seiten	Taste(n)
Anzeigen des Feldes Seitennummer; geben Sie dann die gewünschte Seitennummer ein, und drücken Sie die EINGABETASTE	F5
Anzeigen der nächsten Seite (wenn An Fenster anpassen ausgewählt ist)	BILD-AB oder NACH-UNTEN
Anzeigen der vorherigen Seite (wenn An Fenster anpassen ausgewählt ist)	BILD-AUF oder NACH-OBEN
Bewegen in der Seitenansicht und Layout-Vorschau	Taste(n)
Durchführen eines Bildlaufs nach unten in kleinen Schritten	NACH-UNTEN
Durchführen eines Bildlaufs um eine Seite nach unten	BILD-AB
Bewegen zum unteren Seitenrand	STRG+NACH-UNTEN
Durchführen eines Bildlaufs nach oben in kleinen Schritten	NACH-OBEN
Durchführen eines Bildlaufs um eine Seite nach oben	BILD-AUF
Bewegen zum oberen Seitenrand	STRG+NACH-OBEN
Durchführen eines Bildlaufs nach rechts in kleinen Schritten	NACH-RECHTS
Bewegen zum rechten Seitenrand	ENDE oder STRG+NACH-RECHTS
Bewegen zur unteren rechten Ecke der Seite	STRG+ENDE
Durchführen eines Bildlaufs nach links in kleinen Schritten	NACH-LINKS
Bewegen zum linken Seitenrand	POS1 oder STRG+NACH-LINKS
Bewegen zur oberen linken Ecke der Seite	STRG+POS1


Verwenden von Tastenkombinationen im Modulfenster und im Testfenster

Anzeigen von Visual Basic-Code	Taste(n)
Anzeigen des Objektkatalogs	F2
Anzeigen des Dialogfelds Aufrufe	STRG+L
Anzeigen einer Prozedurdefinition, einer Variablen oder eines Schlüsselworts	UMSCHALT+F2
Zurückkehren zur letzten Zeilenposition in der zuvor angezeigten Prozedur	STRG+UMSCHALT+F2
Anzeigen der vorherigen Prozedur	STRG+NACH-OBEN
Anzeigen der nächsten Prozedur	STRG+NACH-UNTEN
Anzeigen kontextbezogener Hilfe zu dem Schlüsselwort, in dem sich die Einfügemarke befindet	F1
Einstellen des Fokus auf das Feld Objekt	STRG+F2
Einstellen des Fokus auf das Feld Prozedur	STRG+F2 (dann TAB drücken)
Auflisten von Eigenschaften und Methoden	STRG+J
Auflisten von Konstanten	STRG+UMSCHALT+J
Eingeben des markierten Elements in eine Liste	STRG-EINGABETASTE oder TAB
Eingeben des markierten Elements und Bewegen des Cursors in die nächste Zeile	EINGABETASTE
Ausblenden der Liste	ESC
Anzeigen der QuickInfo	STRG+I
Anzeigen von Parameterinformationen	STRG+UMSCHALT+I
Vervollständigen des Visual Basic-Schlüsselworts	STRG+LEERTASTE
Bearbeiten von Visual Basic-Code	Taste(n)
Markieren des sichtbaren Codes im Modulfenster	STRG+A
Suchen nach dem nächsten Auftreten der im Dialogfeld Suchen oder Ersetzen angegebenen Zeichenfolge bei geschlossenem Dialogfeld	F3
Suchen nach dem vorherigen Auftreten der im Dialogfeld Suchen oder Ersetzen angegebenen Zeichenfolge bei geschlossenem Dialogfeld	UMSCHALT+F3
Suchen des nächsten Vorkommens des markierten Textes	STRG+F3
Einrücken der markierten Zeilen	TAB oder STRG+M
Rückgängigmachen der Einrückung der markierten Zeilen	UMSCHALT+TAB oder STRG+UMSCHALT+M
Ausschneiden der aktuellen Zeile und Kopieren in die Zwischenablage	STRG+Y
Ausführen von Visual Basic-Code und Suchen von Fehlern in Visual Basic-Code	Taste(n)
Anzeigen des Testfensters	STRG+G
Ausführen der parameterlosen Unterprozedur, in der sich die Einfügemarke befindet, aus dem Modulfenster	F5
Wechseln zwischen dem oberen und unteren Fensterausschnitt	F6
Ausführen der Prozedur im Einzelschritt	F8
Ausführen der gesamten aufgerufenen Prozedur (Prozedurschritt)	UMSCHALT+F8
Verlassen einer Prozedur (Rücksprung)	STRG+UMSCHALT+F8
Ausführen von Code bis zur Position der Einfügemarke, und Unterbrechen der Ausführung	STRG+F8
Anzeigen des aktuellen Wertes des markierten Ausdrucks	UMSCHALT+F9
Ein-/Ausschalten des Haltepunkts in der markierten Zeile	F9
Löschen aller Haltepunkte	STRG+UMSCHALT+F9
Einstellen der nächsten Anweisung	STRG+F9
Unterbrechen der Ausführung von Programmcode oder eines Makros	STRG+UNTBR
Fortsetzen der Ausführung von Programmcode oder eines Makros	F5
Zurücksetzen der Ausführung von Programmcode oder eines Makros	UMSCHALT+F5
Wechseln zwischen Unterbrechen und Nichtunterbrechen bei noch nicht bearbeiteten Fehlern mit anschließendem Einzelschritt zur nächsten Anweisung	ALT+F5
Wechseln zwischen Unterbrechen und Nichtunterbrechen in Klassenmodulen mit anschließendemr Fortsetzung der Ausführung	ALT+F8


Info zu den Office 97 CD-Zugaben

Wenn Sie Microsoft Access über die CD von Microsoft Office, Professional Edition 97, installieren, gibt es neben dem normalen Setup-Programm die Office 97 CD-Zugaben. Die CD-Zugaben enthalten zusätzliche Software, z.B. Treiber, Hilfedateien, Online-Handbücher und andere hilfreiche Programme und Dateien.

Weitere Informationen zu den CD-Zugaben finden Sie in der Hilfedatei von Office 97 CD-Zugaben (VALUPK8.HLP) im Ordner CDZUGABE auf der CD von Office 97 oder Microsoft Access 97 oder im Netzwerk, über das Sie die Installation vorgenommen haben. Diese Hilfedatei enthält allgemeine Informationen und spezielle Installationsanweisungen für jede Komponente.

Anmerkung    Wenn Sie die Installation nicht über eine CD vorgenommen haben, erhalten Sie die CD-Zugaben über das World Wide Web, indem Sie im Menü ? auf Microsoft im Web zeigen und anschließend auf Kostenloses Zubehör klicken.

Die folgende Tabelle beschreibt einige der Komponenten des ValuPacks, die für die Verwendung mit Microsoft Access 97 besonders hilfreich sind.

Komponente	Dateipfad
Data Access Pak Anmerkung   Enthält drei Treiber, die über das Setup nicht verfügbar sind: Lotus 1-2-3, Paradox und Microsoft Exchange/OutLook	\CDZugabe\Access\DataAcc
Online-Version des Handbuchs Erstellen von Anwendungsprogrammen mit Microsoft Access 97	\CDZugabe\Access\Openbook.htm
Hilfedateien für das ActiveX-Steuerelement WebBrowser (das im Lieferumfang von Microsoft Internet Explorer Version 3.0 enthalten ist)	\CDZugabe\Access\WebHelp
Microsoft Internet Explorer Version 3.0	\CDZugabe\Iexplore
Personal Web Server	\CDZugabe\PWebSrv
Web Publishing-Assistent	\CDZugabe\WebPost


Ereignisse: Unterstützen der Zusammenarbeit Ihrer Datenbankobjekte

Was ist ein Ereignis?

Ein Ereignis ist eine spezifische Aktion, die an oder in Verbindung mit einem bestimmten Objekt eintritt. Microsoft Access kann auf eine Vielzahl von Ereignissen reagieren: Mausklicks, Änderungen an Daten, das Öffnen oder Schließen von Formularen u.a. Ereignisse sind im allgemeinen das Ergebnis einer Benutzeraktion.

Mit Hilfe einer Ereignisprozedur oder eines Makros können Sie Ihre eigene benutzerdefinierte Reaktion auf ein Ereignis, das in einem Formular, einem Bericht oder Steuerelement eintritt, festlegen.

Angenommen, Sie möchten, daß das Formular Artikeldetails geöffnet wird, wenn Sie in einem Formular Bestellungen auf eine Befehlsschaltfläche Artikeldetails klicken. Die folgenden Beispiele zeigen, wie Sie dies entweder über eine Ereignisprozedur oder über ein Makro erreichen können.

Reagieren auf ein Click-Ereignis unter Verwendung einer Ereignisprozedur

Wenn Sie eine Ereignisprozedur für ein Objekt erstellen, fügt Microsoft Access dem Formular- oder Berichtsmodul eine Ereignisprozedurvorlage hinzu, die nach dem Ereignis und Objekt benannt ist. Sie brauchen lediglich Code hinzuzufügen, der bei Eintreten des Ereignisses im Formular oder Bericht auf die gewünschte Weise reagiert.

Reagieren auf ein Click-Ereignis unter Verwendung eines Makros

Damit als Reaktion auf ein Ereignis ein Makro ausgeführt wird, öffnen Sie das Eigenschaftenfenster für das Formular, den Bericht oder das Steuerelement. Suchen Sie die Eigenschaft, die auf das Ereignis reagiert, und stellen Sie sie auf das Makro ein, das Sie ausführen möchten.

Um eine vollständige Liste der Ereignisse anzuzeigen, klicken Sie auf  [image].

Um weitere Informationen zur Ausführung eine Makros oder einer Ereignisprozedur von einem Ereignis in einem Formular, Bericht oder Steuerelement aus anzuzeigen, klicken Sie auf  [image].


Makros: Definition und Funktionsweise

Was ist ein Makro?

Ein Makro ist eine Gruppe von Aktionen, die jeweils eine bestimmte Operation ausführen, wie z.B. das Öffnen eines Formulars oder das Drucken eines Berichts. Mit Hilfe von Makros können Sie häufig vorkommende Aufgaben automatisieren. Sie können z.B. ein Makro ausführen, das einen Bericht druckt, wenn ein Benutzer auf eine Befehlsschaltfläche klickt.

Ein Makro kann aus einem einzelnen Makro bestehen, das wiederum eine Reihe von Aktionen enthält, oder aus einer Makrogruppe. Sie können auch über einen bedingten Ausdruck bestimmen, ob bei Ausführung eines Makros in bestimmten Fällen eine Aktion ausgeführt wird.

Eine Folge von Aktionen

Das folgende Makro setzt sich aus einer Reihe von Aktionen zusammen. Microsoft Access führt diese Aktionen bei jeder Ausführung des Makros aus. Um dieses Makro auszuführen, verweisen Sie auf den Makronamen Artikelübersicht.

Eine Makrogruppe

Wenn Sie über zahlreiche Makros verfügen, kann Ihnen das Gruppieren verwandter Makros in Makrogruppen die Verwaltung Ihrer Datenbank erleichtern. Um die Namen der Makros für eine Makrogruppe anzuzeigen, klicken Sie im Menü Ansicht des Makrofensters auf Makronamen.

Die folgende Makrogruppe mit dem Namen Schaltflächen besteht z.B. aus drei verwandten Makros: Personal, Artikel und Repräsentanten. Jedes Makro führt die Aktion ÖffnenFormular aus. Das Makro Artikel führt darüber hinaus die Aktion Positionieren aus.

Der Name in der Spalte Makroname identifiziert die einzelnen Makros. Wenn Sie ein Makro in einer Makrogruppe ausführen, führt Microsoft Access die Aktion in der Aktionsspalte aus sowie jede sich daran unmittelbar anschließende Aktion, deren Spalte Makroname leer ist.

Um ein Makro in einer Makrogruppe auszuführen, verwenden Sie den Makrogruppennnamen gefolgt von einem Punkt und dem Makronamen. Im vorangehenden Beispiel geben Sie zum Verweisen auf das Makro Personal in der Makrogruppe Schaltflächen folgendes ein: Schaltflächen.Personal.

Bedingte Aktionen

Um die Spalte Bedingung anzuzeigen, klicken Sie im Menü Ansicht des Makrofensters auf Bedingungen. Das folgende Makro führt die Aktionen Meldung und StopMakro nur unter der Bedingung aus, daß der Ausdruck in der Spalte Bedingung wahr ist (wenn der Wert Null im Feld Lieferanten-Nr steht).

Um weitere Informationen zur Erstellung eines Makros anzuzeigen, klicken Sie auf  [image]. Zum Anzeigen von Informationen zur Ausführung eines Makros klicken Sie auf  [image].


Module: Definition und Funktionsweise

Was ist ein Modul?

Ein Modul ist eine Auflistung von Visual Basic für Applikationen-Deklarationen und -Prozeduren, die zusammen als eine Einheit gespeichert sind.

Es werden zwei Grundtypen von Modulen unterschieden: Klassenmodule and Standardmodule. Jede Prozedur in einem Modul kann eine Funktion oder eine Sub-Prozedur sein.

Klassenmodule

Formular- und Berichtsmodule sind Klassenmodule, die mit einem bestimmten Formular oder Bericht verbunden sind. Formular- und Berichtsmodule enthalten häufig Ereignisprozeduren, die als Reaktion auf ein Ereignis in dem Formular oder Bericht ausgeführt werden. Mit Hilfe dieser Ereignisprozeduren können Sie das Verhalten Ihrer Formular und Berichte sowie ihre Reaktion auf Benutzeraktionen, wie z.B. das Klicken auf eine Befehlsschaltfläche, steuern.

Wenn Sie die erste Ereignisprozedur für ein Formular oder einen Bericht erstellen, erstellt Microsoft Access automatisch ein dazugehöriges Formular- oder Berichtsmodul. Zum Anzeigen des Moduls für ein Formular oder einen Bericht, klicken Sie in der Formular- oder Berichts-Entwurfsansicht in der Symbolleiste auf Code  [image].

Prozeduren in Ihren Formular- und Berichtsmodulen können Prozeduren aufrufen, die Sie Standardmodulen hinzugefügt haben.

In Microsoft Access 95 existieren Klassenmodule nur in Verbindung mit einem Formular oder Bericht. In Microsoft Access 97 können Klassenmodule auch unabhängig von einem Formular oder Bericht existieren. Diese Art von Klassenmodulen ist auf der Registerkarte Module des Datenbankfensters aufgelistet. Mit Hilfe eines Klassenmoduls auf der Registerkarte Module können Sie eine Definition für ein benutzerdefiniertes Objekt erstellen. Zum Anzeigen weiterer Informationen zur Programmierung mit diesen Klassenmodulen anzuzeigen, klicken Sie auf  [image].

Standardmodule

Standardmodule enthalten allgemeine Prozeduren, die nicht mit einem anderen Objekt verbunden sind, sowie häufig verwendete Prozeduren, die von jeder beliebigen Stelle innerhalb Ihrer Datenbank aus ausgeführt werden können.

Sie können die Liste der Standardmodule in Ihrer Datenbank anzeigen, indem Sie im Datenbankfenster auf die Registerkarte Module klicken. Formular-, Berichts- und Standardmodule sind ferner im Objektkatalog aufgelistet.

Zum Anzeigen weiterer Informationen zu Prozeduren klicken Sie auf  [image].


Ausführen eines Makros oder einer Ereignisprozedur für ein Ereignis in einem Formular, Bericht oder Steuerelement

Microsoft Access reagiert auf viele Typen von Ereignissen in Formularen, Berichten und Steuerelementen. Dazu gehören Mausklicks, Datenänderungen sowie das Öffnen oder Schließen von Formularen oder Berichten.

1	Öffnen Sie das Formular oder den Bericht in der Entwurfsansicht.

2	Erstellen Sie ein Makro oder eine Ereignisprozedur. Sie können z.B. ein Makro oder eine Ereignisprozedur erstellen, das bzw. die eine Meldung anzeigt, wenn Sie auf eine Befehlsschaltfläche klicken.

3	Setzen Sie die entsprechende Ereigniseigenschaft des Formulars, Berichts oder Steuerelements auf den Namen des Makros oder aber auf [Ereignisprozedur], falls Sie eine Ereignisprozedur verwenden.

Um z.B. ein Makro zu verwenden, das eine Meldung anzeigt, wenn Sie auf eine Befehlsschaltfläche klicken, setzen Sie die Eigenschaft OnClick der Befehlsschaltfläche auf den Namen des Makros, das die Meldung anzeigt. Um eine Ereignisprozedur zu verwenden, erstellen Sie eine Ereignisprozedur Name_Click für die Schaltfläche und setzen dann die Eigenschaft OnClick auf [Ereignisprozedur].

Anmerkungen

•	Um Informationen zum Erstellen eines Makros anzuzeigen, klicken Sie auf  [image].

•	Um Informationen zum Erstellen einer Ereignisprozedur anzuzeigen, klicken Sie auf  [image].

•	Um Informationen darüber anzuzeigen, wann Ereignisse eintreten, klicken Sie auf  [image].


Herausfinden, wann Ereignisse eintreten

Eine einzelne Aktion, wie das Wechseln von einem Steuerelement zu einem anderen, kann verschiedene Ereignisse auslösen, die in einer bestimmten Reihenfolge eintreten. Das Wissen darüber, wann und in welcher Reihenfolge Ereignisse eintreten, ist insofern wichtig, als es einen Einfluß darauf hat, wann Ihre Makros oder Ereignisprozeduren ausgeführt werden. Wenn z.B. zwei Ereignisprozeduren in einer bestimmten Reihenfolge ausgeführt werden sollen, werden Sie sicherstellen möchten, daß die dazugehörigen Ereignisse in eben dieser Reihenfolge eintreten.

Was möchten Sie tun?

Die Reihenfolge der Ereignisse für Steuerelemente in Formularen ansehen

Die Reihenfolge der Ereignisse für Datensätze in Formularen ansehen

Die Reihenfolge der Ereignisse zwischen Formularen und Unterformularen ansehen

Die Reihenfolge der Ereignisse für Tastenanschläge und Mausklicks ansehen

Die Reihenfolge der Ereignisse für Berichte und Berichtsbereiche ansehen

Anmerkung   Sie können sich die Reihenfolge, in der Ereignisse eintreten, ansehen, indem Sie das Formular EreignisseAnzeigen in der Beispielanwendung Bestellungen öffnen. Wenn im Formular EreignisseAnzeigen Ereignisse eintreten (z.B. beim Öffnen des Formulars oder wenn Sie zu einem neuen Datensatz gehen), listet das Formular Ereignisprotokoll die Ereignisse in der Reihenfolge auf, in der sie eintreten. Um Informationen zum Öffnen von Aufträgen anzuzeigen, klicken Sie auf [image].


Reihenfolge der Ereignisse für Steuerelemente in Formularen

Ereignisse treten für Steuerelemente in Formularen ein, wenn Sie den Fokus zu einem Steuerelement bewegen, und wenn Sie in einem Steuerelement Daten ändern und aktualisieren.

Bewegen des Fokus zu einem Steuerelement

Wenn Sie den Fokus zu einem Steuerelement in einem Formular bewegen, indem Sie z.B. ein Formular öffnen, das ein oder mehrere aktive Steuerelemente enthält, oder indem Sie zu einem anderen Steuerelement auf diesem Formular gehen, treten die Ereignisse Enter und GotFocus in folgender Reihenfolge ein:

Enter ⇒ GotFocus

Wenn Sie ein Formular öffnen, treten diese Ereignisse nach den Ereignissen auf, die dem Öffnen des Formulars zugeordnet sind (wie z.B. Open, Activate und Current), wobei die folgende Reihenfolge gilt:

(Formular) Open  ⇒ (Formular) Activate ⇒ (Formular) Current ⇒ (Steuerelement) Enter ⇒ (Steuerelement) GotFocus

Wenn der Fokus ein Steuerelement in einem Formular verläßt (wenn Sie z.B. ein Formular schließen, das ein oder mehrere aktive Steuerelemente enthält, oder zu einem anderen Steuerelement auf demselben Formular gehen), treten die Ereignisse Exit und LostFocus in folgender Reihenfolge ein:

Exit ⇒ LostFocus

Wenn Sie ein Formular schließen, treten die Ereignisse Exit und LostFocus vor den Ereignissen ein, die dem Schließen des Formulars zugeordnet sind (wie z.B. Unload, Deactivate und Close), wobei die folgende Reihenfolge gilt:

(Steuerelement) Exit ⇒  (Steuerelement) LostFocus  ⇒ (Formular) Unload ⇒ (Formular) Deactivate ⇒ (Formular) Close

Ändern und Aktualisieren von Daten in einem Steuerelement

Wenn Sie in einem Steuerelement auf einem Formular Daten eingeben oder ändern und den Fokus dann zu einem anderen Steuerelement bewegen, treten die Ereignisse BeforeUpdate und AfterUpdate ein:

BeforeUpdate ⇒ AfterUpdate

Die Ereignisse Exit und LostFocus für das geänderte Steuerelement treten nach den Ereignissen BeforeUpdate und AfterUpdate ein:

BeforeUpdate ⇒ AfterUpdate ⇒ Exit ⇒ LostFocus

Wenn Sie den Text in einem Textfeld oder im Textfeldteil eines Kombinationsfelds ändern, tritt das Ereignis Change ein. Es tritt immer dann ein, wenn sich der Inhalt des Steuerelements ändert, und zwar jeweils bevor Sie zu einem anderen Steuerelement oder Datensatz gehen (und somit bevor die Ereignisse BeforeUpdate und AfterUpdate eintreten). Die folgende Sequenz von Ereignissen tritt für jede Taste ein, die Sie in einem Textfeld oder im Textfeldteil eines Kombinationsfelds drücken:

KeyDown ⇒ KeyPress ⇒ Change ⇒ KeyUp

Das Ereignis NotInList tritt ein, wenn Sie in ein Kombinationsfeld einen Wert eingeben, der nicht in der Kombinationsfeldliste steht, und danach versuchen, zu einem anderen Steuerelement oder Datensatz zu gehen. Es tritt nach den Tastaturereignissen und dem Ereignis Change für das Kombinationsfeld ein, jedoch vor sonstigen Steuerelement- oder Formularereignissen. Ist die Eigenschaft LmitToList des Kombinationsfelds auf Ja eingestellt, tritt unmittelbar nach dem Ereignis NotInList das Ereignis Error für das Formular ein:

KeyDown ⇒ KeyPress ⇒ Change ⇒ KeyUp ⇒ NotInList ⇒ Error

Zum Anzeigen weiterer Informationen zu Ereignissen klicken Sie auf  [image].


Reihenfolge der Ereignisse für Datensätze in Formularen

Ereignisse treten für Datensätze in Formularen ein, wenn Sie den Fokus zu einem Datensatz bewegen, Daten in einem Datensatz aktualisieren, einen bestehenden Datensatz bzw. bestehende Datensätze löschen oder einen neuen Datensatz erstellen.

Bewegen des Fokus zu Datensätzen und Aktualisieren von Daten in Datensätzen

Wenn Sie den Fokus zu einem bestehenden Datensatz in einem Formular bewegen, in dem Datensatz Daten eingeben oder ändern und den Fokus dann zu einem anderen Datensatz bewegen, tritt die folgende Sequenz von Ereignissen für das Formular ein:

(Formular) Current ⇒ (Formular) BeforeUpdate ⇒ (Formular) AfterUpdate ⇒ (Formular) Current

Wenn Sie den Datensatz verlassen, dessen Daten sich geändert haben, und noch bevor Sie zum nächsten Datensatz gehen, treten für das Steuerelement mit dem Fokus die Ereignisse Exit und LostFocus ein. Diese Ereignisse treten nach den Ereignissen BeforeUpdate und AfterUpdate für das Formular ein, so daß sich die folgende Sequenz von Ereignissen ergibt:

(Formular) BeforeUpdate ⇒ (Formular) AfterUpdate ⇒ (Steuerelement) Exit ⇒ (Steuerelement) LostFocus ⇒ (Formular) Current

Während Sie in einem Formular den Fokus von einem Steuerelement zu einem anderen bewegen, treten für die Steuerelemente jeweils Ereignisse ein. In den folgenden Fällen tritt z.B. jeweils die genannte Sequenz von Ereignissen ein:

•	Öffnen eines Formulars und Ändern der Daten in einem Steuerelement:

(Formular) Current ⇒ (Steuerelement) Enter ⇒ (Steuerelement) GotFocus  ⇒ (Steuerelement) BeforeUpdate ⇒ (Steuerelement) AfterUpdate

•	Bewegen des Fokus zu einem anderen Steuerelement:

(Steuerelement1) Exit ⇒ (Steuerelement1) LostFocus ⇒ (Steuerelement2) Enter ⇒ (Steuerelement2) GotFocus

•	Bewegen des Fokus zu einem anderen Datensatz:

(Formular) BeforeUpdate ⇒ (Formular) AfterUpdate ⇒ (Steuerelement2) Exit ⇒ (Steuerelement2) LostFocus ⇒ (Formular) Current.

Zum Anzeigen weiterer Informationen zur Reihenfolge der Ereignisse für Steuerelemente in Formularen klicken Sie auf  [image].

Löschen von Datensätzen

Wenn Sie einen Datensatz löschen, treten für das Formular die folgenden Ereignisse ein, und Microsoft Access zeigt ein Dialogfeld an, worin Sie aufgefordert werden, den Löschvorgang zu bestätigen:

Delete ⇒ BeforeDelConfirm ⇒ AfterDelConfirm

Wenn Sie das Ereignis Delete abbrechen, treten die Ereignisse BeforeDelConfirm und AfterDelConfirm nicht ein, und das Dialogfeld wird nicht angezeigt.

Erstellen eines neuen Datensatzes

Wenn Sie den Fokus in einem Formular zu einem neuen (leeren) Datensatz bewegen und dann einen neuen Datensatz erstellen, indem Sie Text in ein Steuerelement eingeben, tritt die folgende Sequenz von Ereignissen ein:

(Formular) Current ⇒ (Steuerelement) Enter ⇒ (Steuerelement) GotFocus ⇒ (Formular) BeforeInsert ⇒ (Formular) AfterInsert

Die Ereignisse BeforeUpdate und AfterUpdate für die Steuerelemente im Formular und für den neuen Datensatz treten nach dem Ereignis BeforeInsert und vor dem Ereignis AfterInsert ein.

Zum Anzeigen weiterer Informationen zu Ereignissen klicken Sie auf  [image].


Reihenfolge der Ereignisse für Formulare und Unterformulare

Ereignisse treten für Formulare ein, wenn Sie ein Formular öffnen oder schließen, sich zwischen Formularen bewegen oder mit den Daten eines Formulars arbeiten.

Öffnen und Schließen eines Formulars

Wenn Sie ein Formular öffnen, tritt für das Formular die folgende Sequenz von Ereignissen ein:

Open ⇒ Load ⇒ Resize ⇒ Activate ⇒ Current

Enthält das Formular keine aktiven Steuerelemente, tritt das Ereignis GotFocus für das Formular ebenfalls nach dem Ereignis Activate, jedoch vor dem Ereignis Current ein.

Wenn Sie ein Formular schließen, tritt für das Formular die folgende Sequenz von Ereignissen ein:

Unload ⇒ Deactivate ⇒ Close

Enthält das Formular keine aktiven Steuerelemente, tritt das Ereignis LostFocus für das Formular ebenfalls nach dem Ereignis Unload, jedoch vor dem Ereignis Deactivate ein.

Bewegen zwischen Formularen

Wenn Sie zwischen zwei geöffneten Formularen wechseln, tritt das Ereignis Deactivate für das erste Formular und das Ereignis Activate für das zweite Formular ein:

(Formular1) Deactivate ⇒ (Formular2) Activate

Das Ereignis Deactivate für ein Formular tritt auch dann ein, wenn Sie von dem Formular zu einem anderen Fenster in Microsoft Access wechseln. Das Ereignis Deactivate tritt jedoch nicht ein, wenn Sie zu einem Dialogfeld, zu einem Formular, dessen Eigenschaft PopUp auf Ja eingestellt ist, oder zu einem Fenster in einer anderen Anwendung wechseln.

Anmerkung   Das Ereignis Open tritt nicht ein, wenn Sie zu einem bereits geöffneten Formular wechseln, und zwar auch dann nicht, wenn Sie durch Ausführen der Aktion ÖffnenFormular zu dem Formular gewechselt haben.

Arbeiten mit den Daten eines Formulars

Während Sie sich zwischen den Datensätzen im Formular bewegen und Daten ändern, treten Formular- und Steuerelementereignisse ein. Wenn Sie z.B. ein Formular zum ersten Mal öffnen, tritt die folgende Sequenz von Ereignissen ein:

(Formular) Open ⇒ (Formular) Load ⇒ (Formular) Resize ⇒ (Formular) Activate ⇒ (Formular) Current ⇒ (Steuerelement) Enter ⇒ (Steuerelement) GotFocus

Analog tritt beim Schließen eines Formulars die folgende Sequenz von Ereignissen ein:

(Steuerelement) Exit ⇒ (Steuerelement) LostFocus ⇒ (Formular) Unload ⇒ (Formular) Deactivate ⇒ (Formular) Close

Wenn Sie in einem Steuerelement Daten geändert haben, treten die Ereignisse BeforeUpdate und AfterUpdate für das Steuerelement sowie für das Formular vor dem Ereignis Exit für das Steuerelement ein. Zum Anzeigen weiterer Information zur Reihenfolge der Ereignisse für Steuerelemente in Formularen klicken Sie auf  [image].

Arbeiten mit Unterformularen

Wenn Sie ein Formular öffnen, das ein Unterformular enthält, wird das Unterformular mit seinen Datensätzen vor dem Hauptformular geladen. Demzufolge treten die Ereignisse für das Unterformular und seine Steuerelemente (wie Open, Current, Enter und GotFocus) vor den Ereignissen für das Hauptformular ein. Das Ereignis Activate tritt für Unterformulare jedoch nicht ein. Somit löst das Öffnen eines Hauptformulars das Ereignis Activate nur für das Hauptformular aus.

Wenn Sie analog ein Formular schließen, das ein Unterformular enthält, wird das Unterformular mit seinen Datensätzen nach dem Formular entladen. Das Ereignis Deactivate tritt für Unterformulare nicht ein. Somit löst das Schließen eines Hauptformulars das Ereignis Deactivate nur für das Hauptformular aus.

Die Ereignisse für die Steuerelemente, das Formular und das Unterformular treten in der folgenden Reihenfolge ein:

1.  Ereignisse für die Steuerelemente des Unterformulars (wie z.B. Exit und LostFocus)

2.  Ereignisse für die Steuerelemente des Formulars (einschließlich dem Steuerelement Unterformular)

3.  Ereignisse für das Formular (wie z.B. Deactivate und Close)

4.  Ereignisse für das Unterformular

Zum Anzeigen weiterer Informationen zu Ereignissen klicken Sie auf  [image].


Reihenfolge der Ereignisse für Tastenanschläge und Mausklicks

Tastaturereignisse treten für Formulare und Steuerelemente ein, wenn Sie Tasten drücken oder Tastenanschläge senden, solange das Formular oder Steuerelement den Fokus hat. Mausereignisse treten für Formulare, Formularbereiche und Steuerelemente auf Formularen ein, wenn Sie die Maustasten drücken, solange sich der Mauszeiger auf einem Formular, Bereich oder Steuerelement befindet, oder wenn Sie den Mauszeiger über ein Formular, einen Bereich oder ein Steuerelement bewegen.

Tastaturereignisse

Wenn Sie eine Taste drücken und wieder loslassen, solange der Fokus auf einem Steuerelement des Formulars liegt (oder Sie zum Senden eines Tastenanschlags die Aktion Tastaturbefehle oder die Anweisung SendKeys verwenden), tritt die folgende Sequenz von Ereignissen ein:

KeyDown ⇒ KeyPress ⇒ KeyUp

Wenn Sie eine Taste drücken und wieder loslassen oder einen Tastenanschlag aus dem ANSI-Zeichensatz senden, treten die Ereignisse KeyDown, KeyPress und KeyUp alle ein. Wenn Sie eine Taste drücken und gedrückt halten, die dem ANSI zugeordnet ist, treten die Ereignisse KeyDown und KeyPress solange wiederholt abwechselnd ein (KeyDown, KeyPress, KeyDown, KeyPress usw.), bis Sie die Taste wieder loslassen; danach tritt dann das Ereignis KeyUp ein. Zum Anzeigen einer Liste der Zeichen aus dem ANSI-Zeichensatz klicken Sie auf  [image]  und auf  [image].

Wenn Sie eine Taste drücken und wieder loslassen, die nicht dem ANSI-Zeichensatz zugeordnet ist, treten die Ereignisse KeyDown und KeyUp ein. Wenn Sie eine Taste drücken und gedrückt halten, die nicht dem ANSI-Zeichensatz zugeordnet ist, tritt das Ereignis KeyDown solange wiederholt auf, bis Sie die Taste wieder loslassen; danach tritt dann das Ereignis KeyUp ein.

Wenn das Drücken einer Taste ein anderes Ereignis für ein Steuerelement auslöst, tritt dieses andere Ereignis nach dem Ereignis KeyPress, jedoch vor dem Ereignis KeyUp ein. Ändert ein Tastenanschlag z.B. den Text in einem Textfeld, wodurch das Ereignis Change ausgelöst wird, tritt die folgende Sequenz von Ereignissen ein:

KeyDown ⇒ KeyPress ⇒ Change ⇒ KeyUp

Bewirkt ein Tastenanschlag eine Verschiebung des Fokus von einem Steuerelement zu einem anderen, tritt für das erste Steuerelement das Ereignis KeyUp ein, für das zweite Steuerelement treten die Ereignisse KeyPress und KeyUp ein. Wenn Sie z.B. in einem Steuerelement Daten ändern und danach TAB drücken, um zum nächsten Steuerelement zu gehen, tritt die folgende Sequenz von Ereignissen ein:

•	Erstes Steuerelement:

KeyUp ⇒ BeforeUpdate ⇒ AfterUpdate  ⇒ Exit ⇒ LostFocus

•	Zweites Steuerelement:

Enter ⇒ GotFocus ⇒ KeyPress ⇒ KeyUp

Mausereignisse

Wenn Sie eine Maustaste drücken und wieder loslassen, solange sich der Mauszeiger auf dem Steuerelement eines Formulars befindet, tritt für das Steuerelement die folgende Sequenz von Ereignissen ein:

MouseDown ⇒ MouseUp ⇒ Click

Liegt der Fokus auf einem Steuerelement und klicken Sie auf ein anderes Steuerelement, um den Fokus auf dieses zweite Steuerelement zu setzen, tritt die folgende Sequenz von Ereignissen ein:

•	Erstes Steuerelement:

Exit ⇒ LostFocus

•	Zweites Steuerelement:

Enter ⇒ GotFocus ⇒ MouseDown ⇒ MouseUp ⇒ Click

Wenn Sie zu einem anderen Datensatz gehen und dann auf ein Steuerelement klicken, tritt vor dem Ereignis Enter für das Steuerelement das Ereignis Current für das Formular ein.

Durch das Doppelklicken auf ein Steuerelement treten die beiden Ereignisse DblClick und Click ein. Wenn Sie z.B. auf ein Steuerelement doppelklicken, bei dem es sich nicht um eine Befehlsschaltfläche handelt, tritt für dieses Steuerelement die folgende Sequenz von Ereignissen ein:

MouseDown ⇒ MouseUp ⇒ Click ⇒ DblClick ⇒ MouseUp

Wenn Sie auf eine Befehlsschaltfläche doppelklicken, tritt nach diesen Ereignissen ein zweites Ereignis Click ein.

Das Ereignis MouseMove für ein Formular, einen Bereich oder ein Steuerelement tritt ein, wenn Sie den Mauszeiger über das Formular, den Bereich oder das Steuerelement bewegen. Dieses Ereignis ist unabhängig von den anderen Mausereignissen.

Zum Anzeigen weiterer Informationen zu Tastaturereignissen klicken Sie auf  [image].

Zum Anzeigen weiterer Informationen zu Mausereignissen klicken Sie auf  [image].


Reihenfolge der Ereignisse für Berichte und Berichtsbereiche

Ereignisse treten für Berichte und Berichtsbereiche ein, wenn Sie einen Bericht öffnen, um ihn zu drucken oder in der Seitenansicht anzusehen, oder wenn Sie einen Bericht schließen.

Ereignisse für Berichte

Wenn Sie einen Bericht öffnen, um ihn zu drucken oder in der Seitenansicht anzusehen, und später den Bericht schließen oder zu einem anderen Fenster in Microsoft Access gehen, tritt für den Bericht die folgende Sequenz von Ereignissen ein:

Open ⇒ Activate ⇒ Close ⇒ Deactivate

Wenn Sie zwischen zwei geöffneten Berichten wechseln, tritt für den ersten Bericht das Ereignis Deactivate und für den zweiten Bericht das Ereignis Activate ein:

(Bericht1) Deactivate ⇒ (Bericht 2) Activate

Das Ereignis Deactivate für einen Bericht tritt auch dann ein, wenn Sie von dem Bericht zu einem anderen Fenster in Microsoft Access wechseln. Es tritt jedoch nicht ein, wenn Sie zu einem Dialogfeld, zu einem Formular, dessen Eigenschaft PopUp auf Ja eingestellt ist, oder zu einem Fenster in einer anderen Anwendung wechseln.

Wenn Sie einen Bericht öffnen, der auf einer Abfrage basiert, löst Microsoft Access das Ereignis Open vor Ausführung der zugrundeliegenden Abfrage aus. Daher können Sie die Kriterien für den Bericht mit Hilfe eines Makros oder einer Ereignisprozedur festlegen, die auf das Ereignis Open reagiert. Das Makro oder die Ereignisprozedur könnte z.B. ein benutzerdefiniertes Dialogfeld öffnen, in das Sie die Berichtskriterien eingeben.

Ereignisse für Berichtsbereiche

Wenn Sie einen Bericht drucken oder in der Seitenansicht ansehen, treten nach den Ereignissen Open und Activate für den Bericht und vor den Ereignissen Close und Deactivate des Berichts die Ereignisse Format und Print für die Berichtsbereiche ein:

(Bericht) Open ⇒ (Bericht) Activate ⇒ (Berichtsbereich) Format ⇒ (Berichtsbereich) Print ⇒ (Bericht) Close ⇒ (Bericht) Deactivate

Darüber hinaus können während oder nach dem Formatieren, jedoch vor dem Ereignis Print, die folgenden Ereignisse eintreten:

•	Das Ereignis Retreat tritt ein, wenn Microsoft Access während der Berichtsformatierung zu einem vorherigen Bereich zurückkehrt.

•	Das Ereignis NoData tritt ein, wenn der Bericht keine Datensätze anzeigt.

•	Das Ereignis Page tritt nach dem Formatieren und vor dem Drucken ein. Mit Hilfe dieses Ereignisses können Sie das Aussehen des gedruckten Berichts individuell gestalten.

Zum Anzeigen weiterer Informationen zu Ereignissen klicken Sie auf  [image].


Erstellen oder Ändern von Makros

Was möchten Sie tun?

Einen Überblick darüber erhalten, was Makros sind und wie sie funktionieren

Ein Makro erstellen

Eine Makrogruppe erstellen


Erstellen von Makros

Was möchten Sie tun?

Ein Makro erstellen

Eine Makrogruppe erstellen

Einem Makro eine Aktion hinzufügen

Eine Aktion innerhalb eines Makros verschieben

Einen Ausdruck in ein Makroaktionsargument eingeben

Erfahren, wozu Bedingungen in einem Makro verwendet werden

Makronamen und Bedingungen im Makrofenster ein- und ausblenden


Debuggen von Makros

Was möchten Sie tun?

Ein Makro schrittweise ausführen, um Probleme darin ausfindig zu machen

Fehler in Makros behandeln


Erstellen oder Ändern von Prozeduren in Modulen

Was möchten Sie tun?

Einen Überblick darüber erhalten, was Module sind und wie sie funktionieren

Näheres zu Prozeduren erfahren


Erstellen Ihrer ersten Prozedur

Was möchten Sie tun?

Eine benutzerdefinierte Funktion erstellen

Eine benutzerdefinierte Sub-Prozedur erstellen

Eine Ereignisprozedur erstellen

Bei Verwendung einer Prozedur, einer Anweisung oder Methode in Visual Basic-Code Argumente festlegen


Anpassen des Modulfensters

Was möchten Sie tun?

Den Anzeigemodus von Visual Basic-Code im Modulfenster ändern

Die Syntaxfehlerüberprüfung für Visual Basic-Code deaktivieren

Die Fehlerbehandlung für Visual Basic-Code ignorieren

Variablendeklarationen für Visual Basic-Code fordern


Debuggen von Visual Basic-Code

Was möchten Sie tun?

Über Fehlerbehandlung nachlesen

Mit Hilfe eines Haltepunktes die Ausführung von Visual Basic-Code unterbrechen

Visual Basic-Code schrittweise durchlaufen

Mit Hilfe des Testfensters die Werte von Ausdrücken und Variablen untersuchen

In Visual Basic-Code einen Überwachungsausdruck festlegen

Visual Basic-Prozeduraufrufe beim Debuggen von Visual Basic-Code verfolgen

Bei der Arbeit mit Visual Basic den Direktbereich des Testfensters verwenden


Anfordern von Hilfe im Modulfenster

Was möchten Sie tun?

Hilfe zu Visual Basic erhalten

Visual Basic-Codebeispiele von der Hilfe ins Modulfenster kopieren


Nachlesen über Visual Basic-Module

Was möchten Sie tun?

Einen Überblick darüber erhalten, was Module sind und wie sie funktionieren

Näheres zu Prozeduren erfahren

Visual Basic-Code ausführen

Mit Visual Basic-Code mit Daten und Datenbankobjekten arbeiten


Arbeiten mit Makros in Visual Basic

Was möchten Sie tun?

Makros in Visual Basic konvertieren

In einer Visual Basic-Prozedur eine Makroaktion ausführen

Eine Liste der Makroaktionen anzeigen, zu denen keine entsprechenden DoCmd-Methoden vorliegen


Arbeiten mit Objekten in Visual Basic unter Verwendung des Objektkatalogs

Was möchten Sie tun?

Im Objektkatalog eine Methode oder Eigenschaft finden

Mit Hilfe des Objektkatalogs Methoden- oder Eigenschaftensyntax in ein Modul einfügen


Soll ein Makro oder Visual Basic verwendet werden?

Sie können in Microsoft Access eine ganze Reihe von Aufgaben mit Hilfe von Makros oder über die Benutzeroberfläche erledigen. In anderen Datenbankprogrammen wiederum erfordern die gleichen Aufgaben das Erstellen von Code. Ob Sie ein Makro oder Visual Basic für Applikationen verwenden, hängt davon ab, was Sie tun möchten.

Wann sollte ein Makro verwendet werden?

Makros stellen ein schnelles Verfahren dar, einfache Vorgänge wie das Öffnen und Schließen von Formularen, das Ein- und Ausblenden von Symbolleisten oder das Ausführen von Berichten durchzuführen. Sie können die erstellten Datenbankobjekte problemlos zusammenfügen, da Sie sich nur um ein Minimum an Syntax kümmern müssen: Die Argumente jeder Aktion werden im unteren Teil des Makrofensters angezeigt.

Makros sind einfach zu handhaben und werden deshalb für die folgenden Aufgaben eingesetzt:

•	Festlegen globaler Tastenbelegungen.

•	Ausführen einer Aktion oder einer Gruppe von Aktionen beim ersten Öffnen einer Datenbank.

•	Sie können aber auch das Dialogfeld Startup verwenden, um bestimmte Aktionen beim Öffnen der Datenbank zu veranlassen, wie z.B. das Öffnen eines Formulars.

Wann sollte Visual Basic verwendet werden?

Sie sollten Visual Basic anstelle von Makros verwenden, wenn Sie folgendes durchführen möchten:

•	Vereinfachen der Wartung Ihrer Datenbank. Da Makros, wie die Formulare und Berichte, die sie verwenden, eigenständige Objekte darstellen, ist eine Datenbank, die viele Makros beinhaltet, welche auf Ereignisse in Formularen und Berichten reagieren, unter Umständen schwer zu warten. Im Gegensatz dazu sind Visual Basic-Ereignisprozeduren fester Bestandteil der Formulare und Berichte. Wenn Sie ein Formular oder einen Bericht von einer Datenbank zu einer anderen verschieben, werden die in das Formular oder den Bericht integrierten Ereignisprozeduren ebenfalls übernommen.

•	Erstellen eigener Funktionen. Microsoft Access bietet eine Vielzahl eingebauter Funktionen, wie z.B. die IPmt-Funktion, die den Betrag von Zinszahlungen berechnet. Sie können mit solchen Funktionen Berechnungen durchführen, ohne daß Sie komplizierte Ausdrücke erstellen müssen. Mit Hilfe von Visual Basic können Sie auch eigene Funktionen erstellen, um entweder Berechnungen durchzuführen, die die Leistungsfähigkeit von Ausdrücken überschreiten, oder um komplexe Ausdrücke zu ersetzen. Darüber hinaus können Sie die Funktionen, die Sie in Ausdrücken erstellen, dazu verwenden, eine allgemeine Operation auf mehrere Objekte anzuwenden.

•	Verdecken von Fehlermeldungen. Wenn etwas Unerwartetes eintritt, während ein Benutzer oder eine Benutzerin mit Ihrer Datenbank arbeitet, und Microsoft Access daraufhin eine Fehlermeldung anzeigt, kann den Benutzern diese Meldung merkwürdig erscheinen, besonders dann, wenn sie noch nicht mit Microsoft Access vertraut sind. Mit Hilfe von Visual Basic können Sie den Fehler bei seinem Auftreten aufdecken und dann entweder eine eigene Meldung anzeigen oder andere Aktionen vornehmen.

•	Erstellen oder Bearbeiten von Objekten. In den meisten Fällen ist es am bequemsten, ein Objekt in seiner Entwurfsansicht zu erstellen oder zu ändern. Es kann jedoch vorkommen, daß Sie die Definition eines Objekts per Code bearbeiten möchten. Mit Hilfe von Visual Basic können Sie alle Objekte einer Datenbank sowie die Datenbank selbst bearbeiten.

•	Ausführen von Aktionen auf Systemebene. Sie können die Aktion RunApp in einem Makro verwenden, um eine weitere Windows-basierte oder MS-DOS-basierte Anwendung aus Ihrer Anwendung auszuführen. Viel mehr können Sie jedoch nicht mit einem Makro außerhalb von Microsoft Access durchführen. Mit Visual Basic können Sie überprüfen, ob sich eine bestimmte Datei im System befindet. Sie können die Automatisierung oder den dynamischen Datenaustausch (DDE) verwenden, um mit anderen Windows-basierten Anwendungen, wie Microsoft Excel, zu kommunizieren. Außerdem können Sie Funktionen in Dynamic Link Libraries (DLLs) in Windows aufrufen.

•	Bearbeiten von aufeinanderfolgenden Datensätzen. Mit Visual Basic können Sie in einer Gruppe von Datensätzen einen Datensatz nach dem anderen durchgehen und jeweils eine Operation ausführen. Makros dagegen arbeiten mit ganzen Datensatzgruppen zugleich.

•	Übergeben von Argumenten an Visual Basic-Prozeduren. Sie können beim Erstellen eines Makros für dessen Aktionen im unteren Teil des Makrofensters Argumente festlegen. Diese Argumente können jedoch beim Ausführen des Makros nicht geändert werden. Wenn Sie Visual Basic verwenden, können Sie Argumente an Ihren Code übergeben, während dieser ausgeführt wird. Außerdem können Sie Variablen für Argumente verwenden, was in Makros nicht möglich ist. Dadurch erreichen Sie eine große Flexibilität beim Ausführen Ihrer Visual Basic-Prozeduren.


Erstellen einer Befehlsschaltfläche zum Drucken des aktuellen Datensatzes

1	Öffnen Sie das Formular in der Entwurfsansicht.

2	Klicken Sie in der Toolbox auf Steuerelement-Assistenten  [image], falls diese Schaltfläche nicht bereits gedrückt ist.

3	Klicken Sie in der Toolbox auf Befehlsschaltfläche  [image].

4	Klicken Sie im Formular auf die Stelle, an der Sie die Befehlsschaltfläche einfügen möchten.

5	Klicken Sie im ersten Dialogfeld des Assistenten im Listenfeld Kategorien auf Datensatzoperationen und dann im Listenfeld Aktionen auf Drucke Datensatz.

6	Folgen Sie den Anleitungen in den Dialogfeldern des Assistenten. Klicken Sie im letzten Dialogfeld auf Beenden, um die Befehlsschaltfläche in der Entwurfsansicht anzuzeigen.

Wenn Sie sich die Ereignisprozedur ansehen möchten, welche die Schaltfläche steuert, öffnen Sie das Eigenschaftenfenster der Schaltfläche, und klicken Sie auf die Editor-Schaltfläche [image] neben dem Einstellungsfeld der Eigenschaft OnClick.

Tip   Sie können den aktuellen Datensatz eines Formulars in einem Bericht ausdrucken, indem Sie in der Ereignisprozedur Click für eine Befehlsschaltfläche die Methode OpenReport des Objekts DoCmd ausführen. Wenn Sie den folgenden Visual Basic für Applikationen-Code in die Click-Ereignisprozedur für eine Befehlsschaltfläche in einem Formular Bestellungen einfügen, wird z.B. der aktuelle Datensatz des Berichts Rechnung gedruckt:

Dim strDocName As String

Dim strFilter As String

strDocName = "Rechnung"

strFilter = "AuftragsNr = Forms!Aufträge!AuftragsNr"

DoCmd.OpenReport DocName, acViewNormal, , strFilter


Einstellen des Werts eines Steuerelements oder einer Eigenschaft als Reaktion auf ein Ereignis

Durch Zuweisen neuer Werte zu Steuerelementen und Eigenschaften als Reaktion auf Ereignisse in Formularen oder Berichten schaffen Sie die Voraussetzung dafür, daß die von Ihnen erstellten Objekte zusammenarbeiten und somit einfacher zu verwenden sind.

Folgende allgemeine Situationen erfordern das Festlegen von Werten unter Verwendung eines Makros oder einer Ereignisprozedur:

Einstellen des Werts eines Steuerelements in einem Formular auf den Wert eines Steuerelements in einem anderen Formular

Sie können z.B. in ein Formular Kunden eine Befehlsschaltfläche einfügen, die ein Formular Bestellungen öffnet, in das dann automatisch Rechnungsinformationen aus dem Formular Kunden übernommen werden.

Aktualisieren des Werts eines Steuerelements, das von dem Wert eines anderen Steuerelements abhängt

Angenommen, Sie haben ein Steuerelement Fälligkeitsdatum, dessen Standardwert das Lieferdatum darstellt (der Wert des Steuerelements Lieferdatum). Sie können dann mit einem Makro oder einer Ereignisprozedur den Wert des Steuerelements Fälligkeitsdatum automatisch zurücksetzen, sobald sich der Wert im Steuerelement Lieferdatum ändert.

Um weitere Informationen zum Festlegen des Werts eines Steuerelements, das auf dem Wert eines anderen Steuerelements basiert, zu erhalten, klicken Sie auf  [image].

Einstellen einer Formular- oder Steuerelementeigenschaft als Reaktion auf eine Auswahl oder ein anderes Ereignis

Sie können mit Hilfe eines Makros oder einer Ereignisprozedur eine Formular- oder Steuerelementeigenschaft für folgende Zwecke einstellen:

•	Ein- oder Ausblenden eines Steuerelements, das auf dem Wert eines anderen Steuerelements basiert. Sie können z.B. das Steuerelement Fälligkeitsdatum in einem Formular Bestellungen ausblenden, wenn die entsprechende Rechnung bereits bezahlt ist (wenn der Wert des Steuerelements Bezahlt auf Ja eingestellt ist), bzw. einblenden, wenn die Zahlung noch nicht eingegangen ist.

•	Deaktivieren oder Sperren eines Steuerelements, das auf dem Wert eines anderen Steuerelements beruht. Sie können z.B. ein Steuerelement Führerschein deaktivieren, wenn der Wert des Steuerelements Alter unter dem Mindestalter für den Erwerb des Führerscheins liegt.

•	Anzeigen verschiedener Gruppen von Datensätzen je nach Auswahl. Sie können z.B. steuern, welche Datensätze in einem Formular Kunden angezeigt werden, abhängig von der ausgewählten Option in einer Optionsgruppe Kundentyp. Stellen Sie hierfür die Eigenschaft RecordSource des Formulars auf eine von mehreren Abfragen ein, von denen jede die Datensätze einer bestimmten Kundengruppe enthält.

Um weitere Informationen zum Einstellen des Werts einer Eigenschaft als Reaktion auf ein Ereignis zu erhalten, klicken Sie auf  [image].


Einstellen des Werts eines Steuerelements basierend auf dem Wert eines anderen Steuerelements

Sie können einem Steuerelement, das auf dem Wert eines anderen Steuerelements beruht, einen Wert zuweisen, indem Sie die Aktion SetzenWert in ein Makro einfügen oder eine Zuweisungsanweisung in einer Visual Basic-Prozedur verwenden.

Was möchten Sie tun?

Den Wert eines Steuerelements basierend auf dem Wert eines anderen Steuerelements unter Verwendung eines Makros einstellen

Den Wert eines Steuerelements basierend auf dem Wert eines anderen Steuerelements unter Verwendung von Visual Basic für Applikationen einstellen


Einstellen des Werts eines Steuerelements basierend auf dem Wert eines anderen Steuerelements unter Verwendung eines Makros

1	Erstellen Sie ein Makro.

Wie wird's gemacht?

2	Klicken Sie in einer leeren Aktionszeile in der Aktionsliste auf SetzenWert.

3	Setzen Sie das Argument Feld auf den Bezeichner für das Steuerelement, dessen Wert Sie festlegen möchten. Setzen Sie dann das Argument Ausdruck auf den Bezeichner für das Steuerelement, dessen Wert Sie dem ersten Steuerelement zuweisen möchten.

4	Klicken Sie auf Speichern  [image], um das Makro zu speichern.

5	Führen Sie das Makro aus.

Wie wird's gemacht?

Anmerkung   Abhängig vom Kontext müssen Sie unter Umständen qualifizierte Bezeichner für die Steuerelemente verwenden. Um weitere Informationen über die Verwendung von Bezeichnern in Ausdrücken zu erhalten, klicken Sie auf  [image].


Einstellen des Werts eines Steuerelements basierend auf dem Wert eines anderen Steuerelements unter Verwendung von Visual Basic

1	Erstellen Sie eine Visual Basic-Prozedur.

Wie wird's gemacht?

2	Fügen Sie der Prozedur eine Zuweisungsanweisung hinzu, indem Sie den Bezeichner für das Steuerelement, dessen Wert Sie festlegen möchten, dann ein Gleichheitszeichen (=) und schließlich den Bezeichner für das Steuerelement, dessen Wert Sie dem ersten Steuerelement zuweisen möchten, angeben.

•	Um sich auf den Wert eines Steuerelements im aktuellen Formular zu beziehen, geben Sie das Schlüsselwort Me ein, gefolgt vom Operator ! und dem Namen des Steuerelements. Die folgende Anweisung weist z.B. dem Steuerelement Versandort im aktuellen Formular den Wert des Steuerelements Ort im aktuellen Formular zu:

Me![Versandort] = Me![Ort]

•	Um sich auf den Wert eines Steuerelements in einem anderen Formular zu beziehen, müssen Sie den vollständigen Bezeichner des Steuerelements angeben. Der folgende Bezeichner bezieht sich z.B. auf das Steuerelement Versandort im Formular Versandformular:

Forms![Versandformular]![Versandort]

1	Führen Sie die Prozedur aus.

Wie wird's gemacht?

Um weitere Informationen zur Bezugnahme auf einen Steuerelementwert zu erhalten, klicken Sie auf  [image].


Einstellen des Werts einer Eigenschaft als Reaktion auf ein Ereignis

Sie können einer Eigenschaft einen Wert zuweisen als Reaktion auf ein Ereignis, wie z.B. das Klicken auf eine Befehlsschaltfläche, indem Sie die Aktion SetzenWert in ein Makro einfügen oder eine Zuweisungsanweisung in einer Visual Basic-Prozedur verwenden.

Was möchten Sie tun?

Den Wert einer Eigenschaft als Reaktion auf ein Ereignis unter Verwendung eines Makros einstellen

Den Wert einer Eigenschaft als Reaktion auf ein Ereignis unter Verwendung von Visual Basic für Applikationen einstellen


Einstellen des Werts einer Eigenschaft als Reaktion auf ein Ereignis unter Verwendung eines Makros

1	Erstellen Sie ein Makro.

Wie wird's gemacht?

2	Klicken Sie in einer leeren Aktionszeile auf SetzenWert in der Aktionsliste.

3	Setzen Sie das Argument Feld auf den Bezeichner der Eigenschaft, deren Wert Sie festlegen möchten. Setzen Sie dann das Argument Ausdruck auf den Wert, den Sie der Eigenschaft zuweisen möchten.

4	Klicken Sie auf Speichern  [image], um das Makro zu speichern.

5	Gehen Sie zu dem Formular oder Bericht, öffnen Sie das Eigenschaftenfenster für das Objekt, dessen Ereignis das Makro starten soll, und stellen Sie die Ereigniseigenschaft auf den Namen des Makros ein.

Um ein Beispiel zum Einstellen des Werts einer Eigenschaft als Reaktion auf ein Ereignis anzuzeigen, klicken Sie auf  [image].


Einstellen des Werts einer Eigenschaft als Reaktion auf ein Ereignis unter Verwendung von Visual Basic

1	Erstellen Sie die Ereignisprozedur für das Ereignis.

Wie wird's gemacht?

2	Fügen Sie der Prozedur eine Zuweisungsanweisung hinzu, indem Sie den Bezeichner für die Eigenschaft eingeben, dessen Wert Sie festlegen möchten, dann ein Gleichheitszeichen (=) und schließlich den zuzuweisenden Wert.

•	Um sich auf die Eigenschaft eines Steuerelements im aktuellen Formular zu beziehen, geben Sie das Schlüsselwort Me an, gefolgt vom Operator !, dem Namen des Steuerelements, dem Operator . (Punkt) und dem Namen der Eigenschaft. Die folgende Anweisung weist z.B. der Eigenschaft Visible des Steuerelements Fälligkeitsdatum im aktuellen Formular den Wert False zu:

Me![Fälligkeitsdatum].Visible = False

•	Um sich auf die Eigenschaft eines Steuerelements in einem anderen Formular zu beziehen, müssen Sie den vollständigen Bezeichner des Steuerelements angeben. Der folgende Bezeichner bezieht sich z.B. auf die Eigenschaft Visible des Steuerelements Fälligkeitsdatum im Formular Versandformular:

Forms![Versandformular]![Fälligkeitsdatum].Visible

Um weitere Informationen zur Bezugnahme auf eine Eigenschaft zu erhalten, klicken Sie auf  [image].

Um ein Beispiel für das Einstellen des Werts einer Eigenschaft als Reaktion auf ein Ereignis anzuzeigen, klicken Sie auf  [image].


Einstellen des Werts einer Eigenschaft als Reaktion auf ein Ereignis: Beispiel

Sie können den Wert einer Eigenschaft basierend auf einem Wert im aktuellen Datensatz einstellen, indem Sie ein Makro oder eine Ereignisprozedur als Reaktion auf das Current-Ereignis des Formulars ausführen. Sie können z.B. das Steuerelement Fälligkeitsdatum in einem Formular Bestellungen ausblenden, wenn die entsprechende Rechnung bereits beglichen ist (wenn der Wert des Steuerelements Bezahlt auf Yes oder True gesetzt ist).

Um ein Makro auszuführen, stellen Sie die Ereigniseigenschaft OnCurrent des Formulars auf den Namen des Makros ein, das die Eigenschaft Visible des Steuerelements Fälligkeitsdatum auf No festlegt, wenn der Wert des Steuerelements Bezahlt auf Yes gesetzt ist.

Wenn Sie eine Ereignisprozedur verwenden möchten, fügen Sie den folgenden Visual Basic-Code in die Ereignisprozedur Form_Current ein:

If Me![Bezahlt] = True Then

Me![Fälligkeitsdatum].Visible = False

Else

Me![Fälligkeitsdatum].Visible = True

End If


Synchronisieren von Datensätzen zwischen zwei Formularen

Häufig möchten Sie sich zusammenhängende Datensätze in zwei verschiedenen Formularen gleichzeitig ansehen. Während Sie sich z.B. einen Kundendatensatz im Formular Kunden ansehen, möchten Sie vielleicht das Formular Bestellungen öffnen, das die Bestellungen dieses Kunden anzeigt.

Wenn Sie sich zwischen Datensätzen in einem Formular bewegen, können Sie auch Detaildatensätze eines zweiten Formulars automatisch anzeigen. Wenn Sie sich z.B. zwischen den Lieferantendatensätzen des Formulars Lieferanten bewegen, möchten Sie sicher auch die Artikel der einzelnen Lieferanten in einem Formular Artikel anzeigen.

Sie können die Datensätze zwischen zwei Formularen synchronisieren, indem Sie eine Befehlsschaltfläche erstellen, die ein zweites Formular öffnet und synchronisiert. Sie können auch das Ereignis Anzeigen verwenden, um Detaildatensätze im zweiten Formular anzuzeigen, wenn Sie sich zwischen den Datensätzen des ersten Formulars bewegen.

Tip   Sie können auch den Formular-Assistenten verwenden, um zwei verknüpfte Formulare neu zu erstellen. Wählen Sie im ersten Bildschirm des Assistenten Felder aus zwei verschiedenen Tabellen aus. Klicken Sie im zweiten Bildschirm auf Verknüpfte Formulare. Der Assistent erstellt die beiden verknüpften Formulare; jedes von ihnen enthält Felder aus einer der Tabellen. Eins der Formulare enthält darüber hinaus eine Befehlsschaltfläche, die das andere Formular öffnet und die Datensätze zwischen den Formularen synchronisiert.

Was möchten Sie tun?

Eine Befehlsschaltfläche erstellen, die ein Formular öffnet und synchronisiert

Detaildatensätze in einem Formular anzeigen, während Sie sich zwischen den Datensätzen eines anderen Formulars bewegen


Anzeigen von Detaildatensätzen in einem Formular beim Bewegen zwischen Datensätzen in einem anderen Formular

Wenn Sie sich zwischen den Datensätzen eines Formulars bewegen, können Sie die entsprechenden Detaildatensätze in einem zweiten Formular anzeigen, indem Sie ein Makro oder eine Ereignisprozedur als Reaktion auf das Current-Ereignis des ersten Formulars ausführen.

Was möchten Sie tun?

Ein Makro verwenden, um Detaildatensätze beim Bewegen zwischen Datensätzen in einem Formular anzuzeigen

Visual Basic für Applikationen verwenden, um Detaildatensätze beim Bewegen zwischen Datensätzen in einem Formular anzuzeigen


Verwenden eines Makros zur Anzeige von Detaildatensätzen beim Bewegen zwischen Datensätzen in einem Formular

1	Öffnen Sie das erste Formular in der Entwurfsansicht.

2	Erstellen Sie ein Makro.

Wie wird's gemacht?

3	Klicken Sie in einer leeren Aktionszeile auf ÖffnenFormular in der Aktionsliste.

4	Geben Sie für das Argument Formularname den Namen des zweiten Formulars an, und setzen Sie dann das Argument Bedingung, um die gewünschten Detaildatensätze im zweiten Formular anzuzeigen. Wenn Sie ein Beispiel dafür sehen möchten, klicken Sie auf  [image].

5	Stellen Sie in der Formular-Entwurfsansicht die Ereigniseigenschaft BeimAnzeigen des Formulars auf den Makronamen ein.


Anzeigen von Detaildatensätzen beim Bewegen zwischen Datensätzen unter Verwendung eines Makros: Beispiel

Wenn Sie sich zwischen den Lieferantendatensätzen in einem Formular Lieferanten bewegen, möchten Sie sicher auch die Artikel der einzelnen Lieferanten in einem Formular Artikelliste anzeigen. Um dies zu ermöglichen, können Sie die Aktion ÖffnenFormular in einem Makro, das als Reaktion auf das Current-Ereignis des Formulars Lieferanten startet, ausführen. Sie können sich im Formular Artikelliste Datensätze anzeigen lassen, deren Wert im Feld Lieferanten-Nr in der zugrundeliegenden Tabelle mit dem Wert im Feld Lieferanten-Nr des Formulars Lieferanten übereinstimmt. Setzen Sie das Argument Bedingung der Aktion wie folgt:

[Lieferanten-Nr]=Formulare![Lieferanten]![Lieferanten-Nr]

Tip   Wenn das Formular Artikel nicht immer geöffnet werden soll, wenn Sie sich zwischen den Datensätzen im Formular Lieferanten bewegen, fügen Sie einen bedingten Ausdruck in das Makro ein, der überprüft, ob das Formular Artikel geöffnet ist oder nicht.

Setzen Sie nach dem Erstellen des Makros die BeimAnzeigen-Eigenschaft des Formulars Lieferanten auf den Makronamen.


Verwenden von Visual Basic zum Anzeigen von Detaildatensätzen beim Bewegen zwischen Datensätzen in einem Formular

1	Öffnen Sie das erste Formular in der Entwurfsansicht.

2	Öffnen Sie die Ereignisprozedur Form_Current des Formulars.

Wie wird's gemacht?

3	Fügen Sie der Ereignisprozedur Visual Basic-Code hinzu, um im zweiten Formular die Datensätze anzuzeigen, deren Feldwerte mit denen eines entsprechenden Felds im ersten Formular übereinstimmen.

Um ein Beispiel vorzuführen, in dem mit Hilfe von Visual Basic Detaildatensätze beim Bewegen zwischen Datensätzen in einem Formular angezeigt werden, klicken Sie auf  [image].


Anzeigen von Detaildatensätzen beim Bewegen zwischen Datensätzen unter Verwendung von Visual Basic: Beispiel

Wenn Sie sich zwischen Lieferantendatensätzen in einem Formular Lieferanten bewegen, möchten Sie sicher auch die Artikel der einzelnen Lieferanten in einem Formular Artikel anzeigen. In der Form_Current-Ereignisprozedur des Formulars Lieferanten stellen Sie die Eigenschaften FilterOn und Filter des Formulars Artikel ein:

Private Sub Form_Current()

' Deklarieren und Festlegen einer Variablen zum

' Speichern der WHERE-Klausel, die die anzuzeigenden

' Datensätze beschreibt.

Dim strCond As String

strCond = "[Lieferanten-Nr] = Forms!Lieferanten![Lieferanten-Nr]"

' Verwenden der IsLoaded-Funktion aus der Nordwind-

' Beispieldatenbank zum Überprüfen, ob das Formular

' Artikel geöffnet ist; Einstellen der Eigenschaften.

If IsLoaded("Artikel") Then

Forms![Artikel].FilterOn = True

Forms![Artikel].Filter = strCond

End If

End Sub


Suchen nach einem Datensatz durch das Auswählen eines Werts aus einer Liste

Sie können in einem Formular ein Listenfeld oder ein Kombinationsfeld erstellen, das nach einem Datensatz sucht, sobald Sie einen Wert aus einer Liste auswählen.

1	Öffnen Sie das Formular in der Entwurfsansicht.

2	Klicken Sie in der Toolbox auf Steuerelement-Assistenten  [image], falls diese Schaltfläche nicht bereits gedrückt ist.

3	Klicken Sie in der Toolbox auf Listenfeld  [image]  oder auf Kombinationsfeld [image].

4	Klicken Sie im Formular auf die Stelle, an der das Listen- oder Kombinationsfeld eingefügt werden soll.

5	Klicken Sie im ersten Dialogfeld des Assistenten auf die Option, die den Datensatz basierend auf dem im Listen- oder Kombinationsfeld ausgewählten Wert sucht.

6	Folgen Sie den Anleitungen in den Dialogfeldern des Assistenten. Klicken Sie im letzten Dialogfeld auf Beenden, um das Listen- oder Kombinationsfeld in der Entwurfsansicht anzuzeigen.

Wenn Sie sich die Ereignisprozedur ansehen möchten, die das Listen- oder Kombinationsfeld steuert, öffnen Sie das Eigenschaftenfenster des entsprechenden Feldes, und klicken Sie dann auf die Editor-Schaltfläche  [image] neben dem Einstellungsfeld der Eigenschaft AfterUpdate.


Warum werden für die Gültigkeitsprüfung der Daten Makros oder Ereignisprozeduren verwendet?

In den meisten Fällen können Sie die korrekte Dateneingabe in ein Steuerelement eines Formulars gewährleisten, indem Sie die Eigenschaft ValidationRule des Steuerelements einstellen oder Gültigkeitsregeln für Datensätze oder Felder in der zugrundeliegenden Tabelle festlegen, an die das Steuerelement gebunden ist. Makros und Ereignisprozeduren bieten eine höhere Leistungsfähigkeit und Flexibilität für umfangreichere Gültigkeitsprüfungen.

Verwenden Sie ein Makro oder eine Ereignisprozedur für die Gültigkeitsprüfung von Daten, wenn

•	Ihre Gültigkeitsregel Bedingungen für mehr als einen Wert im Formular umfaßt. So können Sie z.B. sicherstellen, daß von drei Feldern mindestens zwei ausgefüllt sind, bevor Sie einen Datensatz speichern.

•	Sie für die verschiedenen Fehlerarten eines Feldes unterschiedliche Fehlermeldungen anzeigen möchten. Wenn z.B. der eingegebene Wert den zulässigen Bereich überschreitet, können Sie eine bestimmte Meldung anzeigen, und wenn der Wert diesen Bereich unterschreitet, können Sie eine andere Meldung anzeigen.

•	Sie dem Benutzer ermöglichen möchten, Ihre Gültigkeitsregel außer Kraft zu setzen. In diesem Fall können Sie eine Warnmeldung anzeigen, die den Benutzer bittet, die Daten zu bestätigen.

•	die Gültigkeitsprüfung Referenzen auf Steuerelemente in anderen Formularen oder eine Funktion enthält.

•	sich Ihre Gültigkeitsregel für mehrere Formulare verwenden läßt und Sie die Regeln nur einmal definieren möchten. Sie können sich in den Formularen dann jeweils darauf beziehen.

Um weitere Informationen zum Erstellen eines Makros zu erhalten, klicken Sie auf  [image].

Um weitere Informationen zum Anpassen einer Ereignisprozedur zu erhalten, klicken Sie auf  [image].


Überprüfen der Gültigkeit von Daten unter Verwendung eines Makros oder einer Ereignisprozedur

Um die Daten, die in ein Formular unter Verwendung eines Makros, das auf ein Ereignis im Formular reagiert, oder mit Hilfe von Ereignisprozeduren eingegeben worden sind, zu überprüfen, können Sie wiederum ein Makro oder eine Ereignisprozedur verwenden.

Was möchten Sie tun?

Die Gültigkeit von Daten unter Verwendung eines Makros überprüfen

Die Gültigkeit von Daten unter Verwendung einer Ereignisprozedur überprüfen

Mehr über die Verwendung eines Makros oder einer Ereignisprozedur für die Gültigkeitsprüfung von Daten lernen


Überprüfen der Gültigkeit von Daten unter Verwendung eines Makros

1	Erstellen Sie ein Makro.

Wie wird's gemacht?

2	Stellen Sie sicher, daß im Makrofenster auf der Symbolleiste Bedingungen  [image] gedrückt ist.

3	Geben Sie in der Spalte Bedingung einer leeren Aktionszeile eine Gültigkeitsbedingung ein.

4	Klicken Sie in der Spalte Aktion in der Aktionsliste auf die Aktion, die Sie ausführen möchten, wenn die Gültigkeitsbedingung wahr ist.

5	Geben Sie für alle weiteren Aktionen, die Sie ausführen möchten, wenn die Gültigkeitsbedingung wahr ist, in der Spalte Bedingung drei Auslassungspunkte (...) ein, gefolgt von der entsprechenden Aktion in der Spalte Aktion. Es ist z.B. meistens sinnvoll, für jede Gültigkeitsbedingung nach dem Ausführen beliebiger anderer Aktionen die Aktion CancelEvent auszuführen.

6	Klicken Sie auf Speichern  [image], um das Makro zu speichern.

7	Öffnen Sie das Formular in der Entwurfsansicht.

8	Stellen Sie die Ereignisprozedur für das Ereignis, mit dem Sie die Überprüfung der Gültigkeit starten möchten, auf den Namen des Makros ein. Um die Gültigkeitsprüfung zu starten, wenn z.B. ein Steuerelement aktualisiert wird, setzen Sie die Ereigniseigenschaft BeforeUpdate des Steuerelements auf den Makronamen.

Tip   Um die Gültigkeit von Daten zu überprüfen, bevor ein Datensatz als Ganzes aktualisiert wird, ordnen Sie das Gültigkeitsmakro dem BeforeUpdate-Ereignis des Formulars und nicht dem des Steuerelements zu.

Um ein Beispiel zur Überprüfung der Gültigkeit von Daten mit Hilfe eines Makros anzuzeigen, klicken Sie auf  [image].

Um Informationen zu den Ereignissen zu erhalten, die zum Überprüfen der Gültigkeit von Daten verwendet werden, klicken Sie auf  [image].

Um Informationen zur Reihenfolge der Gültigkeitsprüfung für Steuerelemente und Felder zu erhalten, klicken Sie auf  [image].


Gültigkeitsprüfung von Daten mit einem Makro: Beispiel

Es kann vorkommen, daß Sie Gültigkeitsregeln verwenden möchten, die von komplexen Bedingungen abhängig sind. Sie können dann je nach Bedingung verschiedene Aktionen durchführen. Da z.B. in verschiedenen Ländern unterschiedliche Regeln für Postleitzahlen gelten, kann eine Datenbank, die Postleitzahlen vieler Länder speichert, sich nicht auf eine einfache Gültigkeitsregel verlassen, um zu gewährleisten, daß eine Postleitzahl korrekt eingegeben wurde.

Sie können jedoch ein Makro erstellen, das überprüft, welches Land im Steuerelement Land eingegeben wurde, und dann darauf achtet, daß der in das Steuerelement Postleitzahl eingegebene Wert die richtigen Merkmale für dieses Land besitzt.

Erstellen Sie zunächst ein Makro, das verschiedene Meldungen, abhängig vom Wert des Steuerelements Land und von der Länge des Eintrags im Steuerelement Postleitzahl, anzeigt.

Öffnen Sie dann das Formular, das die Steuerelemente enthält, in der Entwurfsansicht, und stellen Sie schließlich die Ereigniseigenschaft BeforeUpdate des Formulars auf den Namen des Makros ein. Verwenden Sie die Formulareigenschaft anstelle der Steuerelementeigenschaft, da sich die Gültigkeitsprüfung auf zwei verschiedene Steuerelemente im Formular bezieht.

Wenn Sie nun das Formular verwenden, um einen neuen Lieferanten hinzuzufügen, führt Microsoft Access das Gültigkeitsmakro aus, nachdem Sie die Eingabe des neuen Datensatzes beendet haben, jedoch noch bevor der Datensatz in der Tabelle Lieferanten gespeichert wird. Wenn eine der Bedingungen des Makros erfüllt ist, zeigt Microsoft Access die entsprechende Meldung an und speichert den Datensatz nicht in der Tabelle.


Überprüfen der Gültigkeit von Daten unter Verwendung einer Ereignisprozedur

1	Öffnen Sie das Formular in der Entwurfsansicht.

2	Erstellen Sie die Ereignisprozedur für das Ereignis, mit dem Sie die Gültigkeitsprüfung starten möchten.

Wie wird's gemacht?

Um die Gültigkeitsprüfung zu starten, wenn z.B. ein Steuerelement aktualisiert wird, erstellen Sie eine Ereignisprozedur für das BeforeUpdate-Ereignis des Steuerelements.

3	Fügen Sie der Ereignisprozedur Visual Basic für Applikationen-Code hinzu, der die Gültigkeitsbedingung angibt, sowie Operationen, die ausgeführt werden sollen, wenn die Bedingungen verletzt werden.

Tips

•	Meistens ist es sinnvoll, das Ereignis, das die Gültigkeitsprüfung startet, abzubrechen, nachdem die Operationen ausgeführt wurden. Sie können auch mehrere Ereignisse abbrechen, indem Sie das Argument Cancel der Ereignisprozedur auf True setzen.

•	Um die Gültigkeit von Daten zu überprüfen, bevor der Datensatz als Ganzes aktualisiert wird, fügen Sie den Code der BeforeUpdate-Ereignisprozedur des Formulars und nicht der des Steuerelements hinzu.

Um ein Beispiel zur Überprüfung der Gültigkeit von Daten mit Hilfe einer Ereignisprozedur anzuzeigen, klicken Sie auf  [image].

Um Informationen zu den Ereignissen zu erhalten, die zum Überprüfen der Gültigkeit von Daten verwendet werden, klicken Sie auf  [image].

Um Informationen zur Reihenfolge der Gültigkeitsprüfung für Steuerelemente und Felder zu erhalten, klicken Sie auf  [image].


Gültigkeitsprüfung von Daten mit einer Ereignisprozedur: Beispiel

Es kann vorkommen, daß Sie Gültigkeitsregeln verwenden möchten, die von komplexen Bedingungen abhängig sind. Sie können dann je nach Bedingung verschiedene Aktionen durchführen. Da z.B. in verschiedenen Ländern unterschiedliche Regeln für Postleitzahlen gelten, kann eine Datenbank, die Postleitzahlen speichert, sich nicht auf eine einfache Gültigkeitsregel verlassen, um zu gewährleisten, daß eine Postleitzahl korrekt eingegeben wurde.

Sie können jedoch eine Ereignisprozedur erstellen, die überprüft, welches Land im Steuerelement Land eingegeben wurde, und dann darauf achtet, daß der in das Steuerelement Postleitzahl eingegebene Wert die richtigen Merkmale für dieses Land besitzt.

Öffnen Sie zunächst das Formular, das die Steuerelemente enthält, in der Entwurfsansicht. Fügen Sie dann den folgenden Visual Basic-Code in die Ereignisprozedur BeforeUpdate des Formulars ein, um verschiedene Meldungen, abhängig vom Wert des Steuerelements Land und von der Länge des Eintrags im Steuerelement Postleitzahl, anzuzeigen.

Private Sub Form_BeforeUpdate(Cancel As Integer)

Select Case Me![Land]

Case "Frankreich", "Italien", "Spanien"

If Len(Me![Postleitzahl]) <> 5 Then

MsgBox "Die Postleitzahl muß 5 Zeichen lang sein."

Cancel = True

End If

Case "Australien", "Singapur"

If Len(Me![Postleitzahl]) <> 4 Then

MsgBox "Die Postleitzahl muß 4 Zeichen lang sein."

Cancel = True

End If

End Select

End Sub

Anmerkung    Fügen Sie den Visual Basic-Code der BeforeUpdate-Ereignisprozedur des Formulars und nicht der des Steuerelements hinzu, da sich die Gültigkeitsprüfung auf zwei verschiedene Steuerelemente im Formular bezieht.

Wenn Sie nun das Formular verwenden, um einen neuen Lieferanten hinzuzufügen, führt Microsoft Access die Gültigkeitsprozedur aus, nachdem Sie die Eingabe des neuen Datensatzes beendet haben, jedoch noch bevor der Datensatz in der Tabelle Lieferanten gespeichert wird. Wenn eine der Bedingungen der Prozedur erfüllt ist, zeigt Microsoft Access die entsprechende Meldung an und speichert den Datensatz nicht in der Tabelle.


Ereignisse für die Gültigkeitsprüfung von Daten

Meistens werden Sie die folgenden Ereignisse verwenden, um zu bestimmen, wann Microsoft Access ein Gültigkeitsmakro oder eine Ereignisprozedur in einem Formular ausführen soll.

Formularereignis	Gültigkeitsprüfung
BeforeUpdate	Vor dem Speichern neuer oder geänderter Daten in einem Datensatz.
OnDelete	Vor dem Löschen eines Datensatzes.
Steuerelementereignis	Gültigkeitsprüfung
BeforeUpdate	Vor dem Speichern neuer oder geänderter Daten in einem Steuerelement.
OnExit	Vor dem Verlassen eines Steuerelements.


Reihenfolge der Gültigkeitsprüfungen für Steuerelemente und Felder

Gültigkeitsregeln für Steuerelemente und Felder werden in der folgenden Reihenfolge ausgewertet:

1	Die Gültigkeitsprüfung unter Verwendung eines Makros oder einer Ereignisprozedur (z.B. ein Makro, das auf das BeforeUpdate-Ereignis des Steuerelements oder des Formulars, welches das Steuerelement enthält, reagiert; z.B. eine Ereignisprozedur, die auf das BeforeUpdate-Ereignis des Steuerelements oder des Formulars, welches das Steuerelement enthält, reagiert).

2	Die ValidationRule-Eigenschaft des Steuerelements.

3	Die Gültigkeitsregeln der zugrundeliegenden Tabelle für das Feld (die in den Eigenschaften ValidationRule, Required, und AllowZeroLength des Feldes festgelegt wurden).

4	Die Eigenschaft ValidationRule der zugrundeliegenden Tabelle (diese Eigenschaft führt eine Gültigkeitsprüfung der Datensätze durch).


Drucken eines Berichts von einem Formular aus

Sie können das Drucken eines Berichts für den Benutzer automatisieren, indem Sie die Aktionen OpenReport und PrintOut in einem Makro oder einer Ereignisprozedur ausführen. Sie können dem Benutzer das Drucken eines Berichts z.B. durch Klicken auf eine Schaltfläche in einem Formular, durch Wählen eines Befehls in einem benutzerdefinierten Menü oder durch Drücken einer Tastenkombination ermöglichen.

Verwenden Sie die Aktion OpenReport, wenn Sie die zu druckenden Datensätze einschränken oder einen Bericht in der Seitenansicht anzeigen möchten. Wenn Sie mit der Aktion OpenReport einen Bericht drucken, verwendet Microsoft Access beim Drucken die Standardeinstellungen des Dialogfelds Drucken.

Verwenden Sie die Aktion PrintOut, um vor dem Drucken des Berichts Druckoptionen festzulegen. Diese Aktion besitzt Argumente für alle Optionen des Dialogfelds Drucken.

Was möchten Sie tun?

Eine Befehlsschaltfläche erstellen, die einen Bericht druckt

Die Aktion OpenReport oder PrintOut in ein Makro einfügen

Die Aktion OpenReport oder PrintOut in einer Visual Basic-Prozedur ausführen

Informationen über die Aktion OpenReport erhalten

Informationen über die Aktion PrintOut erhalten


Automatisches Einfügen eines Seitenumbruchs unter einer bestimmten Bedingung

Sie können beim Erfüllen einer bestimmten Bedingung einen Seitenumbruch in einem Bericht durchführen, indem Sie die Eigenschaft Visible eines Steuerelements für Seitenumbruch in einem Makro oder einer Ereignisprozedur einstellen.

Was möchten Sie tun?

Ein Makro verwenden, um einen Seitenumbruch in einem Bericht durchzuführen, wenn eine Bedingung erfüllt ist

Visual Basic für Applikationen verwenden, um einen Seitenumbruch in einem Bericht durchzuführen, wenn eine Bedingung erfüllt ist


Verwenden eines Makros zum Durchführen eines Seitenumbruchs in einem Bericht, wenn eine Bedingung erfüllt ist

1	Öffnen Sie den Bericht in der Entwurfsansicht.

2	Klicken Sie in der Toolbox auf Seitenumbruch  [image], und klicken Sie dann im Berichtsbereich auf die Stelle, an der ein bedingter Seitenumbruch durchgeführt werden soll.

3	Klicken Sie in der Symbolleiste auf Eigenschaften  [image], und vergeben Sie dann im Feld Name einen Namen für das Steuerelement, das den Seitenumbruch auslöst.

4	Erstellen Sie ein Makro.

Wie wird's gemacht

5	Klicken Sie in einer leeren Aktionszeile in der Aktionsliste auf SetzenWert.

6	Geben Sie für das Argument Feld den Bezeichner für die Eigenschaft Visible des Steuerelements für Seitenumbruch an. Wenn der Name des Steuerelements z.B. UmbruchSeite lautet, setzen Sie das Argument Feld auf [UmbruchSeite].[Visible].

7	Setzen Sie das Argument Ausdruck auf No.

8	Klicken Sie auf Speichern  [image], um das Makro zu speichern.

9	Stellen Sie in der Berichts-Entwurfsansicht die Eigenschaft OnFormat des Seitenkopfbereichs des Berichts auf den Namen des Makros ein.

Dadurch wird das Steuerelement für Seitenumbruch ausgeblendet, wenn die einzelnen Seiten des Berichts formatiert werden, damit kein Seitenumbruch innerhalb einer Seite durchgeführt wird.

10	Erstellen Sie ein zweites Makro, das die Eigenschaft Visible des Steuerelements für Seitenumbruch auf Yes einstellt, wenn ein bedingter Ausdruck erfüllt ist.

11	Klicken Sie auf Speichern  [image], um das Makro zu speichern.

12	Wählen Sie den Bereich aus, in dem der Seitenumbruch plaziert worden ist, und geben Sie für die Eigenschaft OnFormat des Bereichs den Namen des zweiten Makros an. Wenn Sie das vorangehende Beispiel verwenden, um einen Seitenumbruch anzuzeigen, wenn für das Zähler-Steuerelement im Detailbereich 10 eingetragen ist, stellen Sie die Eigenschaft OnFormat im Detailbereich auf den Namen des zweiten Makros ein.

Wenn die Bedingung erfüllt ist, wird der Seitenumbruch durchgeführt. Daraufhin blendet das Makro, das dem Seitenkopf zugeordnet ist, das Steuerelement für Seitenumbruch solange aus, bis die Bedingung erneut erfüllt ist.


Verwenden von Visual Basic zum Durchführen eines Seitenumbruchs in einem Bericht, wenn eine Bedingung erfüllt ist

1	Öffnen Sie den Bericht in der Entwurfsansicht.

2	Klicken Sie in der Toolbox auf Seitenumbruch  [image], und klicken Sie dann im Berichtsbereich auf die Stelle, an der ein bedingter Seitenumbruch durchgeführt werden soll.

3	Öffnen Sie die Ereignisprozedur PageHeader_Format des Seitenkopfs des Berichts.

Wie wird's gemacht?

4	Fügen Sie der Ereignisprozedur eine Zuweisungsanweisung hinzu, die die Eigenschaft Sichtbar des Steuerelements für Seitenumbruch auf False setzt. Wenn der Name des Steuerelements z.B. UmbruchSeite lautet, fügen Sie die folgende Zuweisungsanweisung hinzu:

Me![UmbruchSeite].Visible = False

Dadurch wird das Steuerelement für Seitenumbruch ausgeblendet, wenn die einzelnen Seiten des Berichts formatiert werden, damit kein Seitenumbruch innerhalb einer Seite durchgeführt wird.

5	Fügen Sie der Ereignisprozedur Format des Bereichs, in dem die Seiten umbrochen werden sollen, Visual Basic-Code hinzu, der die Visible-Eigenschaft auf True einstellt, wenn eine Bedingung erfüllt ist. Wenn Sie z.B. möchten, daß ein Seitenumbruch im Detailbereich des Berichts durchgeführt wird, wenn der Wert eines Steuerelements Zähler 10 beträgt, so daß die ersten 10 Sätze auf der ersten Seite gedruckt werden, fügen Sie der Ereignisprozedur Detail_Format den folgenden Code hinzu:

If Me![Zähler] = 10 Then

Me![UmbruchSeite].Visible = True

End If

Wenn die Bedingung erfüllt ist, wird der Seitenumbruch durchgeführt. Daraufhin blendet das Makro, das dem Seitenkopf zugeordnet ist, das Steuerelement für Seitenumbruch solange aus, bis die Bedingung erneut erfüllt ist.


Ein- oder Ausblenden von Warnmeldungen

Sie können die gebundenen Warnmeldungen, die von Microsoft Access angezeigt werden, während ein Makro oder eine Visual Basic-Prozedur ausgeführt werden, vorübergehend ausblenden oder wieder einblenden, indem Sie die Aktion SetWarnings im Makro oder in der Prozedur ausführen.

Was möchten Sie tun?

Warnmeldungen unter Verwendung eines Makros ein- oder ausblenden

Warnmeldungen unter Verwendung von Visual Basic für Applikationen ein- oder ausblenden


Ein- oder Ausblenden von Warnmeldungen unter Verwendung eines Makros

1	Öffnen Sie ein bestehendes Makro im Makrofenster.

Wie wird's gemacht?

2	Fügen Sie an der Stelle im Makro, an der Sie die Anzeige von gebundenen Warnmeldungen unterbrechen oder fortsetzen möchten, die Aktion SetWarnings ein.

Wie wird's gemacht?

3	Um die Anzeige von Warnmeldungen vorübergehend zu unterbrechen, setzen Sie das Argument Warnmeldungen An auf Nein. Um die Warnmeldungen wieder anzuzeigen, setzen Sie das Argument auf Ja.

4	Klicken Sie auf Speichern  [image], um das Makro zu speichern.

5	Führen Sie das Makro aus.

Wie wird's gemacht?

Wenn die Ausführung des Makros beendet ist, wird die Anzeige der Warnmeldungen automatisch fortgesetzt.


Ein- oder Ausblenden von Warnmeldungen unter Verwendung von Visual Basic

1	Öffnen Sie eine Funktion oder Sub-Prozedur im Modulfenster.

2	Verwenden Sie an der Stelle in der Prozedur, an der Sie die Anzeige von gebundenen Warnmeldungen unterbrechen oder fortsetzen möchten, die Methode SetWarnings, um die SetWarnings-Aktion auszuführen.

Wie wird's gemacht?

3	Um die Anzeige von Warnmeldungen vorübergehend zu unterbrechen, setzen Sie das Argument Warnmeldungen An auf False. Um die Warnmeldungen wieder anzuzeigen, setzen Sie das Argument auf True.

4	Führen Sie die Prozedur aus.

Wie wird's gemacht?

Wenn die Ausführung des Codes beendet ist, wird die Anzeige der Warnmeldungen automatisch fortgesetzt.

Um weitere Informationen über die Methode SetWarnings zu erhalten, klicken Sie auf  [image].


Bewegen zwischen Steuerelementen, Datensätzen und Formularseiten

Sie können sich automatisch zu einem Steuerelement, Datensatz oder einer Formularseite als Reaktion auf ein Ereignis in einem Formular bewegen, indem Sie in einem Makro oder einer Ereignisprozedur die Aktionen GeheZuSteuerelement, GeheZuSeite oder GeheZuDatensatz ausführen.

Was möchten Sie tun?

Sich zwischen Steuerelementen, Datensätzen und Formularseiten unter Verwendung eines Makros bewegen

Sich zwischen Steuerelementen, Datensätzen und Formularseiten unter Verwendung von Visual Basic für Applikationen bewegen


Bewegen zwischen Steuerelementen, Datensätzen und Formularseiten unter Verwendung eines Makros

1	Erstellen Sie ein Makro.

Wie wird's gemacht?

2	Wählen Sie eine der folgenden Möglichkeiten:

•	Um den Fokus auf ein bestimmtes Steuerelement oder Feld im aktuellen Datensatz zu verlagern, klicken Sie in der Aktionsliste einer leeren Aktionszeile auf GoToControl, und geben Sie dann für das Argument Steuerelementname den Namen des Steuerelements an, zu dem Sie gelangen möchten.

•	Um sich einen bestimmten Datensatz zum aktuellen Datensatz zu machen, klicken Sie in der Aktionsliste einer leeren Aktionszeile auf GoToRecord, und legen Sie dann die entsprechenden Argumente fest.

•	Um den Fokus im aktiven Formular auf das erste Steuerelement einer bestimmten Formularseite zu verlagern, klicken Sie in der Aktionsliste einer leeren Aktionszeile auf GoToPage, und legen Sie dann die entsprechenden Argumente fest.

1	Klicken Sie auf Speichern  [image], um das Makro zu speichern.

2	Führen Sie das Makro aus.

Wie wird's gemacht?

Um weitere Informationen zur Aktion GoToControl zu erhalten, klicken Sie auf  [image].

Um weitere Informationen zur Aktion GoToRecord zu erhalten, klicken Sie auf  [image].

Um weitere Informationen zur Aktion GoToPage zu erhalten, klicken Sie auf  [image].


Bewegen zwischen Steuerelementen, Datensätzen und Formularseiten unter Verwendung von Visual Basic

1	Öffnen Sie die Ereignisprozedur für das entsprechende Ereignis im Modulfenster.

Wie wird's gemacht?

Um z.B. auf ein Klicken mit der Maus auf eine Befehlsschaltfläche zu reagieren, öffnen Sie die Ereignisprozedur Click der Schaltfläche.

2	Wählen Sie eine der folgenden Möglichkeiten:

•	Um den Fokus auf ein bestimmtes Steuerelement oder Feld im aktuellen Datensatz zu verlagern, führen Sie die Methode GoToControl in der Prozedur aus, wobei Sie für das Argument Steuerelementname den Namen des Steuerelements angeben, zu dem Sie gelangen möchten.

  Wie wird's gemacht?

•	Um sich zu einem bestimmten oder einem neuen Datensatz zu bewegen, fügen Sie die Methode GoToRecord in die Prozedur ein, so daß Sie die GoToRecord-Aktion ausführen können.

•	Um sich zu einer bestimmten Formularseite zu bewegen, fügen Sie die Methode GoToPage in die Prozedur ein, so daß Sie die GoToPage-Aktion ausführen können.

1	Führen Sie die Prozedur aus.

Wie wird's gemacht?

Tip   Sie können mit Hilfe von Visual Basic für Applikationen auch Datensätze suchen oder sich zwischen ihnen bewegen, indem Sie das Objekt Recordset sowie die Methode Seek oder eine Move- oder Find-Methode verwenden.

Um weitere Informationen zur Aktion GoTofControl zu erhalten, klicken Sie auf  [image].

Um weitere Informationen zur Aktion GoToRecord zu erhalten, klicken Sie auf  [image].

Um weitere Informationen zur Aktion GoToPage zu erhalten, klicken Sie auf  [image].

Um weitere Informationen zum Objekt Recordset und dessen Methoden zu erhalten, klicken Sie auf  [image].


Automatisieren des Importierens, Exportierens und Verknüpfens von Daten

Abhängig von dem Datentyp, mit dem Sie arbeiten, können Sie das Importieren, Exportieren und Verknüpfen von Daten automatisieren, indem Sie in einem Makro oder einer Visual Basic-Prozedur eine der Aktionen TransferDatenbank, TransferArbeitsblatt oder TransferText ausführen.

Was möchten Sie tun?

Das Importieren, Exportieren oder Verknüpfen von Daten unter Verwendung eines Makros automatisieren

Das Importieren, Exportieren oder Verknüpfen von Daten unter Verwendung von Visual Basic für Applikationen automatisieren


Automatisieren des Importierens, Exportierens und Verknüpfens von Daten unter Verwendung von Makros

1	Erstellen Sie ein Makro.

Wie wird's gemacht?

2	Wählen Sie eine der folgenden Möglichkeiten:

•	Um Daten zwischen der aktuellen Microsoft Access-Datenbank und einer anderen Datenbank zu importieren, exportieren oder zu verknüpfen, klicken Sie in der Aktionsliste einer leeren Aktionszeile auf TransferDatenbank.

•	Um Daten zwischen der aktuellen Microsoft Access-Datenbank und einer Tabellenkalkulationsdatei zu importieren, exportieren oder zu verknüpfen, klicken Sie in der Aktionsliste einer leeren Aktionszeile auf TransferArbeitsblatt.

•	Um Daten zwischen der aktuellen Microsoft Access-Datenbank und einer Textdatei zu importieren, exportieren oder zu verknüpfen, klicken Sie in der Aktionsliste einer leeren Aktionszeile auf TransferText.

1	Geben Sie die entsprechenden Argumente für die Aktion an.

2	Klicken Sie auf Speichern  [image], um das Makro zu speichern.

3	Führen Sie das Makro aus.

Wie wird's gemacht?

Um weitere Informationen zur Aktion TransferDatenbank zu erhalten, klicken Sie auf  [image].

Um weitere Informationen zur Aktion TransferArbeitsblatt zu erhalten, klicken Sie auf  [image].

Um weitere Informationen zur Aktion TransferText zu erhalten, klicken Sie auf  [image].


Automatisieren des Importierens, Exportierens und Verknüpfens von Daten unter Verwendung von Visual Basic

1	Erstellen Sie eine Visual Basic-Prozedur.

Wie wird's gemacht?

2	Wählen Sie eine der folgenden Möglichkeiten:

•	Um Daten zwischen der aktuellen Microsoft Access-Datenbank und einer anderen Datenbank zu importieren, exportieren oder zu verknüpfen, verwenden Sie die Methode TransferDatabase, so daß Sie die TransferDatenbank-Aktion in der Prozedur ausführen können.

Wie wird's gemacht?

•	Um Daten zwischen der aktuellen Microsoft Access-Datenbank und einer Tabellenkalkulationsdatei zu importieren, exportieren oder zu verknüpfen, verwenden Sie die Methode TransferSpreadsheet, so daß Sie die TransferArbeitsblatt-Aktion in der Prozedur ausführen können.

•	Um Daten zwischen der aktuellen Microsoft Access-Datenbank und einer Textdatei zu importieren, exportieren oder zu verknüpfen, verwenden Sie die Methode TransferText,so daß Sie die TransferText-Aktion in der Prozedur ausführen können.

1	Führen Sie die Prozedur aus.

Wie wird's gemacht?

Um weitere Informationen zur Methode TransferDatabase zu erhalten, klicken Sie auf  [image].

Um weitere Informationen zur Aktion TransferArbeitsblatt zu erhalten, klicken Sie auf  [image].

Um weitere Informationen zur Aktion TransferText zu erhalten, klicken Sie auf  [image].


Automatisches Anzeigen der aktuellen Datensätze für ein Formular

Sie können für ein Formular die aktuellen Daten anzeigen, indem Sie die Anzeige aktualisieren oder für die Datensätze die entsprechende Abfrage erneut ausführen.

Wenn Sie mit einer Datenbank arbeiten, die im Netzwerk gemeinsam genutzt wird, können Sie die aktuelle Version der bestehenden Datensätze anzeigen, indem Sie eine Befehlsschaltfläche erstellen, welche die Formulardaten aktualisiert.

Um die aktuelle Gruppe von Datensätzen in einem Formular (einschließlich der neuen Datensätze) anzuzeigen, können Sie die Datensätze aktualisieren, indem Sie die Aktion AktualisierenDaten in ein Makro oder die Methode Requery in eine Visual Basic-Prozedur einfügen.

Was möchten Sie tun?

Eine Befehlsschaltfläche erstellen, die Formulardaten aktualisiert

Die aktuellen Datensätze eines Formulars unter Verwendung eines Makros automatisch anzeigen

Die aktuellen Datensätze eines Formulars unter Verwendung von Visual Basic für Applikationen automatisch anzeigen


Automatisches Anzeigen der aktuellen Datensätze eines Formulars unter Verwendung eines Makros

1	Erstellen Sie ein Makro.

Wie wird's gemacht?

2	Klicken Sie in einer leeren Aktionszeile in der Aktionsliste auf AktualisierenDaten.

Um die Datensätze eines Steuerelements, das auf einer Tabelle oder Abfrage basiert, zu aktualisieren, geben Sie für das Argument Steuerelementname den Namen des entsprechenden Steuerelements an. Um die Daten eines gesamten Formulars zu aktualisieren, lassen Sie das Argument Steuerelementname frei.

3	Klicken Sie auf Speichern  [image], um das Makro zu speichern.

4	Führen Sie das Makro aus.

Wie wird's gemacht?

Um weitere Informationen zur Aktion AktualisierenDaten zu erhalten, klicken Sie auf  [image].


Automatisches Anzeigen der aktuellen Datensätze eines Formulars unter Verwendung von Visual Basic

1	Erstellen Sie eine Visual Basic-Prozedur.

Wie wird's gemacht?

2	Fügen Sie der Prozedur die Methode Requery für das Formular oder Steuerelement hinzu, dessen Datensätze Sie aktualisieren möchten. Um z.B. die aktuellen Datensätze eines Kombinationsfelds namens Kategorie-Nr anzuzeigen, fügen Sie der Prozedur die folgende Methode hinzu:

Me![Kategorie-Nr].Requery

3	Führen Sie die Prozedur aus.

Wie wird's gemacht?

Um weitere Informationen zur Methode Requery zu erhalten, klicken Sie auf  [image].

Um ein Beispiel vorzuführen, in dem eine Liste aktualisiert (die Abfrage erneut ausgeführt) wird, damit die aktuellen Daten angezeigt werden, klicken Sie auf  [image].


Anzeigen eines Meldungsfelds

Wenn Sie eine kurze Meldung, wie z.B. eine Warnung, anzeigen möchten, können Sie dafür ein vordefiniertes Dialogfeld, ein sogenanntes Meldungsfeld, verwenden. Sie können ein Meldungsfeld anzeigen, indem Sie einem Makro die Aktion MsgBox oder einer Visual Basic-Prozedur die Funktion MsgBox hinzufügen.

Was möchten Sie tun?

Ein Meldungsfeld unter Verwendung eines Makros anzeigen

Ein Meldungsfeld unter Verwendung von Visual Basic für Applikationen anzeigen


Anzeigen eines Meldungsfelds unter Verwendung eines Makros

1	Erstellen Sie ein Makro.

Wie wird's gemacht?

2	Klicken Sie in einer leeren Aktionszeile in der Aktionsliste auf Meldung, und geben Sie dann die Argumente für die Aktion an.

3	Klicken Sie auf Speichern  [image], um das Makro zu speichern.

4	Führen Sie das Makro aus.

Wie wird's gemacht?

Um weitere Informationen zur Aktion Meldung zu erhalten, klicken Sie auf  [image].


Anzeigen eines Meldungsfelds unter Verwendung von Visual Basic

1	Erstellen Sie eine Visual Basic-Prozedur.

Wie wird's gemacht?

2	Fügen Sie der Prozedur eine Zuweisungsanweisung hinzu, die den von der Funktion MsgBox zurückgegebenen Wert einer Variablen zuweist. Die Funktion gibt unterschiedliche Werte zurück, je nachdem, auf welche Schaltfläche der Benutzer oder die Benutzerin im Meldungsfeld klickt. Ihre Prozedur kann dann, basierend auf dem zurückgegebenen Wert, unterschiedliche Operationen durchführen.

Die folgende Zuweisungsanweisung führt z.B. die Funktion MsgBox aus, die eine Meldung anzeigt, und weist dann den von der Funktion zurückgegebenen Wert der Variablen RückgabeWert zu:

RückgabeWert = MsgBox("Weiter?", vbOKCancel)

3	Führen Sie die Prozedur aus.

Wie wird's gemacht?

Um Informationen zur Funktion MsgBox zu erhalten, klicken Sie auf  [image].


Speichern eines Datenbankobjekts unter Verwendung eines Makros oder einer Ereignisprozedur

Sie können das Speichern eines Datenbankobjekts automatisieren, indem Sie die Aktion Speichern in einem Makro oder einer Ereignisprozedur ausführen.

Was möchten Sie tun?

Ein Datenbankobjekt unter Verwendung eines Makros speichern

Ein Datenbankobjekt unter Verwendung einer Ereignisprozedur speichern


Speichern eines Datenbankobjekts unter Verwendung eines Makros

1	Erstellen Sie ein Makro.

Wie wird's gemacht?

2	Klicken Sie in einer leeren Aktionszeile in der Aktionsliste auf Speichern, und geben Sie für das Argument Objekttyp den Typ des zu speichernden Objekts und für das Argument Objektname den Namen des Objekts an.

3	Klicken Sie auf Speichern  [image], um das Makro zu speichern.

4	Führen Sie das Makro aus.

Wie wird's gemacht?

Um z.B. ein Formular durch Klicken auf eine Befehlsschaltfläche im Formular zu speichern, geben Sie für die Eigenschaft OnClick der Schaltfläche den Namen des Makros an.

Um weitere Informationen zur Aktion Speichern zu erhalten, klicken Sie auf  [image].


Speichern eines Datenbankobjekts unter Verwendung einer Ereignisprozedur

1	Öffnen Sie die Ereignisprozedur für das entsprechende Ereignis im Modulfenster.

Wie wird's gemacht?

Um z.B. ein Formular durch Klicken auf eine Befehlsschaltfläche im Formular zu speichern, öffnen Sie die Ereignisprozedur Click der Schaltfläche.

2	Verwenden Sie die Methode Save, um die Aktion Speichern in der Prozedur ausführen zu können, und geben Sie für das Argument Objekttyp den Typ des zu speichernden Objekts und für das Argument Objektname den Namen des Makros an.

Wie wird's gemacht?

3	Führen Sie die Prozedur aus.

Wie wird's gemacht?

Um weitere Informationen zur Aktion Speichern zu erhalten, klicken Sie auf  [image].


Ausführen einer Aktion beim ersten Öffnen einer Datenbank

Mit Hilfe eines speziellen Makros, dem sogenannten AutoExec-Makro, können Sie beim ersten Öffnen Ihrer Datenbank eine oder mehrere Aktionen ausführen. Wenn Sie eine Datenbank öffnen, sucht Microsoft Access nach einem Makro mit diesem Namen und führt es, falls vorhanden, automatisch aus.

1	Erstellen Sie ein Makro, das die Aktionen enthält, die beim Öffnen der Datenbank ausgeführt werden sollen.

Wie wird's gemacht?

2	Speichern Sie das Makro unter dem Namen AutoExec.

Beim nächsten Öffnen der Datenbank führt Microsoft Access dieses Makro automatisch aus.

Anmerkungen

•	Wenn Sie nicht möchten, daß das AutoExec-Makro ausgeführt wird, wenn Sie die Datenbank öffnen, halten Sie während des Öffnens der Datenbank die UMSCHALTTASTE gedrückt.

•	Sie können außerdem das Starten einer Datenbank oder Anwendung steuern, indem Sie im Menü Extras im Dialogfeld Start Optionen festlegen. Um weitere Informationen zu erhalten, klicken Sie auf  [image].


Zuweisen einer Aktion oder einer Gruppe von Aktionen zu einer Taste

Sie können einer bestimmten Taste oder Tastenkombination eine Aktion oder eine Gruppe von Aktionen zuweisen, indem Sie eine Makrogruppe zur Tastaturbelegung erstellen. Beim Drücken der Taste oder Tastenkombination führt Microsoft Access die entsprechende Aktion aus.

1	Klicken Sie im Datenbankfenster auf die Registerkarte Makros.

2	Klicken Sie auf Neu.

3	Klicken Sie in der Symbolleiste auf Makronamen  [image].

4	Geben Sie in der Spalte Makroname die Taste oder Tastenkombination ein, der Sie die Aktion oder Gruppe von Aktionen zuweisen möchten.

Um Informationen zu den Tastenkombinationen, die Sie für Tastenzuweisungen verwenden können, zu erhalten, klicken Sie auf  [image].

5	Fügen Sie die Aktion oder Gruppe von Aktionen hinzu, die von der Taste oder Tastenkombination ausgeführt werden soll. Sie können z.B. die Aktion RunMacro hinzufügen, die das Makro Print-Current Record ausführt, wenn die Tastenkombination STRG+P gedrückt wird.

6	Wiederholen Sie die Schritte 4 und 5 für alle Tastenzuweisungen, die Sie vornehmen möchten.

7	Speichern Sie die Makrogruppe dann unter dem Namen Tastaturbelegung.

Die neuen Tastenbelegungen werden wirksam, sobald Sie die Makrogruppe speichern und immer dann, wenn die Datenbank geöffnet wird.

Anmerkung   Wenn Sie eine Gruppe von Aktionen einer Tastenkombination zuordnen, die bereits von Microsoft Access verwendet wird (z.B. STRG+C ist die Tastenkombination zum Kopieren), ersetzen die Aktionen, die Sie dieser Tastenkombination zuweisen, die Microsoft Access-Tastenbelegung.


AutoKeys-Tastenkombinationen

In der folgenden Tabelle sind die Tastenkombinationen aufgelistet, die Sie für Tastenzuweisungen in einer Makrogruppe zur Tastaturbelegung verwenden können. Diese Tastenkombinationen stellen eine Teilmenge der Syntax dar, die in der Anweisung SendKeys in Visual Basic verwendet wird. Um weitere Informationen zur Syntax der Anweisung SendKeys zu erhalten, klicken Sie auf  [image].

SendKeys-Syntax	Tastenkombination
^A oder ^4	STRG+beliebige alphanumerische Taste
{F1}	Beliebige Funktionstaste
^{F1}	STRG+beliebige Funktionstaste
+{F1}	UMSCHALT+beliebige Funktionstaste
{EINFG}	EINFG
^{EINFG}	STRG+EINFG
+{EINFG}	UMSCHALT+EINFG
{ENTF}	ENTF
^{ENTF}	STRG+ENTF
+{ENTF}	UMSCHALT+ENTF


Was ist eine Prozedur?

Eine Prozedur ist eine Einheit von Visual Basic für Applikationen-Code. Sie enthält eine Reihe von Anweisungen und Methoden, die eine Operation durchführen oder einen Wert berechnen. Die folgende Ereignisprozedur verwendet z.B. die Methode OpenForm, um das Formular Bestellungen zu öffnen:

Private Sub ÖffnenBestellungen_Click()

DoCmd.OpenForm "Bestellungen"

End Sub

Es gibt zwei Arten von Prozeduren:

•	Sub-Prozeduren führen eine Operation oder eine Reihe von Operationen durch, geben jedoch keinen Wert zurück. Sie können eigene Sub-Prozeduren erstellen oder die Vorlagen für Ereignisprozeduren verwenden, die Microsoft Access definiert.

Jedes Formular und jeder Bericht in Ihrer Datenbank enthält ein eingebautes Formularmodul bzw. Berichtsmodul mit Vorlagen für Ereignisprozeduren. Sie können Code hinzufügen, der als Reaktion auf Ereignisse ausgeführt wird, die im Formular oder Bericht oder in den Steuerelementen des Formulars oder Berichts eintreten. Wenn Microsoft Access erkennt, daß ein Ereignis in einem Formular, Bericht oder Steuerelement eingetreten ist, führt es automatisch die für das Objekt und Ereignis benannte Ereignisprozedur aus. So können Sie z.B. eine Ereignisprozedur schreiben, die den Fokus auf das Textfeld NameDesGatten setzt, wenn der Benutzer das Kontrollkästchen Verheiratet aktiviert.

Tip   Viele Assistenten (wie z.B. der Befehlsschaltflächen-Assistent) erstellen automatisch Ereignisprozeduren für ein Objekt, wenn Sie das Objekt erstellen. Sie können diese Ereignisprozeduren anzeigen, um Beispiele dafür zu erhalten, wie Prozeduren funktionieren.

•	Funktionen geben einen Wert zurück, wie z.B. das Ergebnis einer Berechnung. Visual Basic enthält viele eingebaute Funktionen. Die Funktion Now zeigt z.B. das aktuelle Datum und die aktuelle Uhrzeit an. Neben diesen eingebauten Funktionen können Sie eigene benutzerdefinierte Funktionen erstellen.

Da Funktionen Werte zurückgeben, können Sie sie in Ausdrücken verwenden. Sie können Funktionen in Ausdrücken an vielen Stellen in Microsoft Access verwenden, einschließlich in einer Visual Basic-Anweisung oder -Methode, in vielen Eigenschafteneinstellungen oder in einem Kriterienausdruck in einem Filter oder einer Abfrage.

Dieses Beispiel für eine Funktion, ErsterDesNächstenMonats, zeigt das Datum des ersten Tages des Monats an, der auf das aktuelle Datum folgt:

Function ErsterDesNächstenMonats()

ErsterDesNächstenMonats = _

DateSerial(Year(Now), Month(Now) + 1, 1)

End Function

Diese benutzerdefinierte Funktion besteht aus einer einzigen Zuweisungsanweisung, die das Ergebnis eines Ausdrucks (auf der rechten Seite des Gleichheitszeichens [=]) dem Namen der Funktion, ErsterDesNächstenMonats (auf der linken Seite des Gleichheitszeichens), zuweist. Sie berechnet das Ergebnis mit den eingebauten Visual Basic-Funktionen DateSerial, Year, Now und Month.

Sobald Sie diese Funktion erstellt haben, können Sie sie in einem Ausdruck in Microsoft Access beliebig verwenden. Sie können z.B. festlegen, daß ein Textfeld den ersten Tag des Monats, der auf das aktuelle Datum folgt, als Standardwert anzeigt, indem Sie die Eigenschaft DefaultValue des Textfeld-Steuerelements auf den folgenden Ausdruck im Eigenschaftenfenster einstellen:

=ErsterDesNächstenMonats()

Anmerkung   Um eine Funktion als Eigenschafteneinstellung verwenden zu können, muß sich diese im Modul des Formulars oder Berichts oder in einem Standardmodul befinden. Sie können eine Funktion nicht in einem Klassenmodul, das keinem Formular oder Bericht zugeordnet ist, als Eigenschafteneinstellung für Formulare oder Berichte verwenden.

Sowohl Sub-Prozeduren als auch Funktionen akzeptieren Argumente. Um Informationen zum Verwenden von Argumenten in Visual Basic anzuzeigen, klicken Sie auf  [image].


Erstellen einer benutzerdefinierten Visual Basic-Prozedur

Indem Sie Ihre Datenbank durch die Einbeziehung von Visual Basic für Applikationen-Prozeduren erweitern, können Sie Einfluß darauf nehmen, wie die Tabellen, Formulare, Berichte und Abfragen in der Datenbank zusammenarbeiten. Es gibt mehrere Arten von Prozeduren. Sie können eine Ereignisprozedur erstellen, indem Sie vordefinierten Vorlagen in einem Formularmodul oder Berichtsmodul Code hinzufügen. Sie können auch Ihre eigenen Funktionen oder Sub-Prozeduren in Standardmodulen oder in Klassenmodulen (zu denen Formular- und Berichtsmodule gehören) erstellen.

Sie können Prozeduren in einem Standardmodul oder einem Klassenmodul aus Ausdrücken, anderen Prozeduren, Ereignisprozeduren, Prozeduren in anderen Modulen und Makros aufrufen. Ereignisprozeduren werden automatisch als Reaktion auf Ereignisse ausgeführt, die in einem Formular, Bericht oder Steuerelement eintreten, wie z.B. Mausklicks.

Was möchten Sie tun?

Eine benutzerdefinierte Funktion erstellen

Eine benutzerdefinierte Sub-Prozedur erstellen

Eine Ereignisprozedur erstellen


Erstellen einer benutzerdefinierten Funktion

1	Öffnen Sie ein neues Modul.

•	Um ein neues Standardmodul zu öffnen, klicken Sie im Datenbankfenster auf die Registerkarte Module und dann auf Neu. Um ein vorhandenes Standardmodul zu öffnen, klicken Sie auf die Registerkarte Module, wählen Sie das zu öffnende Modul aus, und klicken Sie dann auf Entwurf.

•	Um ein Formularmodul oder ein Berichtsmodul zu öffnen, öffnen Sie das Formular oder den Bericht in der Entwurfsansicht, und klicken Sie dann in der Symbolleiste auf Code  [image].

•	Um ein neues Klassenmodul zu öffnen, das keinem Formular oder Bericht zugeordnet ist, klicken Sie im Datenbankfenster im Menü Einfügen auf Klassenmodul. Um ein vorhandenes Klassenmodul zu öffnen, klicken Sie im Datenbankfenster auf die Registerkarte Module, wählen Sie das zu öffnende Modul aus, und klicken Sie dann auf Entwurf.

2	Deklarieren Sie die Funktion, indem Sie die Anweisung Function eingeben.

3	Geben Sie einen Funktionsnamen und direkt dahinter in Klammern alle Argumente für die Funktion ein. Die folgende Deklaration für die Funktion IstGeladen legt z.B. strFormName als Argument fest:

Function IstGeladen(strFormName As String) As Boolean

4	Fügen Sie den Visual Basic für Applikationen-Code hinzu, der die Operation oder Berechnung durchführt, die die Funktion ausführen soll.

Zum Anzeigen von Informationen zur Anweisung Function klicken Sie auf  [image].


Erstellen einer benutzerdefinierten Sub-Prozedur

1	Öffnen Sie ein neues Modul.

•	Um ein neues Standardmodul zu öffnen, klicken Sie im Datenbankfenster auf die Registerkarte Module und dann auf Neu. Um ein vorhandenes Standardmodul zu öffnen, klicken Sie auf die Registerkarte Module, wählen Sie das zu öffnende Modul aus, und klicken Sie dann auf Entwurf.

•	Um ein Formularmodul oder ein Berichtsmodul zu öffnen, öffnen Sie das Formular oder den Bericht in der Entwurfsansicht, und klicken Sie dann in der Symbolleiste auf Code  [image].

•	Um ein neues Klassenmodul zu öffnen, das keinem Formular oder Bericht zugeordnet ist, klicken Sie im Datenbankfenster im Menü Einfügen auf Klassenmodul. Um ein vorhandenes Klassenmodul zu öffnen, klicken Sie im Datenbankfenster auf die Registerkarte Module, wählen Sie das zu öffnende Modul aus, und klicken Sie dann auf Entwurf.

2	Deklarieren Sie die Prozedur, indem Sie die Anweisung Sub eingeben.

3	Geben Sie einen Prozedurnamen und direkt dahinter in Klammern alle Argumente für die Prozedur ein. Die folgende Deklaration für die Sub-Prozedur AnzeigenEreignis legt z.B. (Ereignisname As String) als Argument fest:

Sub AnzeigenEreignis(Ereignisname As String)

4	Fügen Sie den Visual Basic für Applikationen-Code hinzu, der die Operation durchführt, die die Prozedur ausführen soll.

Zum Anzeigen von Informationen zur Anweisung Sub klicken Sie auf  [image]. Um Informationen zum Schreiben von Sub-Prozeduren anzuzeigen, klicken Sie auf  [image].


Erstellen einer Ereignisprozedur

Microsoft Access erleichtert das Ausführen von Code als Reaktion auf eine vom Benutzer ausgeführte Aktion. Wenn Sie eine Ereigniseigenschaft für ein Formular, einen Bericht oder ein Steuerelement auf [Ereignisprozedur] einstellen, erstellt Microsoft Access automatisch die Vorlage für die Ereignisprozedur. Sie müssen nur noch den Code hinzufügen, der als Reaktion auf ein bestimmtes Ereignis im Formular, Bericht oder Steuerelement ausgeführt werden soll. So kann beispielsweise Code ausgeführt werden, wenn ein Benutzer auf eine Befehlsschaltfläche klickt oder Daten ändert.

1	Öffnen Sie ein Formular oder einen Bericht in der Formular-Entwurfsansicht bzw. der Berichts-Entwurfsansicht.

2	Zeigen Sie das Eigenschaftenfenster für das Formular oder den Bericht oder aber einen Bereich oder ein Steuerelement im Formular oder Bericht an.

3	Klicken Sie auf die Registerkarte Ereignis.

4	Klicken Sie auf die Ereigniseigenschaft für das Ereignis, das die Prozedur starten soll. Um z.B. die Ereignisprozedur für das Ereignis Change anzuzeigen, klicken Sie auf die Eigenschaft Bei Änderung.

5	Klicken Sie auf die Editor-Schaltfläche  [image] neben dem Einstellungsfeld der Eigenschaft, um das Dialogfeld Editor auswählen anzuzeigen.

6	Doppelklicken Sie auf Code-Editor, um die Anweisungen Sub und End Sub im Formularmodul oder im Berichtsmodul anzuzeigen. Diese Anweisungen definieren (deklarieren) die Ereignisprozedur.

Microsoft Access deklariert automatisch die Ereignisprozeduren für jedes Objekt und Ereignis in einem Formular- oder Berichtsmodul mit dem Schlüsselwort Private, um anzuzeigen, daß auf die Prozedur nur andere Prozeduren in diesem Modul zugreifen können.

7	Fügen Sie der Ereignisprozedur den Code hinzu, der beim Eintreten des Ereignisses ausgeführt werden soll. Um z.B. über den Computerlautsprecher einen Signalton zu erzeugen, wenn sich Daten im Textfeld Firma ändern, fügen Sie der Ereignisprozedur Firma_Change die Anweisung Beep folgendermaßen hinzu:

Private Sub Firma_Change()

Beep

End Sub

Diese Ereignisprozedur wird jedesmal ausgeführt, wenn das Ereignis Change für das Objekt eintritt.


Ausführen von Visual Basic-Code

Sie führen Visual Basic für Applikationen-Code in Microsoft Access aus, indem Sie eine Sub-Prozedur oder eine Funktion ausführen. Prozeduren enthalten eine Reihe von Anweisungen und Methoden, die eine Operation durchführen oder einen Wert berechnen.

Prozeduren werden in Einheiten gespeichert, die als Module bezeichnet werden. Ein Modul führen Sie jedoch nicht aus, sondern Sie rufen die Prozeduren aus Ausdrücken, anderen Prozeduren oder Makros auf. Ereignisprozeduren in Formular- oder Berichtsmodulen werden als Reaktion auf Benutzeraktionen ausgeführt.

Sie haben folgende Möglichkeiten, um Visual Basic-Code in Microsoft Access auszuführen:

•	Erstellen Sie eine Ereignisprozedur. Wenn der Benutzer eine Aktion ausführt, die das betreffende Ereignis eintreten läßt, wird diese Ereignisprozedur ausgeführt.

Sie können z.B. der Ereignisprozedur Click einer Befehlsschaltfläche Code hinzufügen, der ein Formular öffnet, wenn ein Benutzer auf die Schaltfläche klickt. Um Informationen zum Erstellen einer Ereignisprozedur anzuzeigen, klicken Sie auf  [image].

•	Verwenden Sie eine Funktion in einem Ausdruck oder im Direktbereich des Testfensters.

Sie können z.B. eine Funktion in einem Ausdruck verwenden, der ein berechnetes Feld in einem Formular, einem Bericht oder einer Abfrage definiert. Sie können Ausdrücke als Eigenschafteneinstellungen in Abfragen und Filtern, in Makros und Aktionen, in Visual Basic-Anweisungen und -Methoden oder in SQL-Anweisungen verwenden. Um Informationen zum Erstellen einer benutzerdefinierten Funktion anzuzeigen, klicken Sie auf  [image].

•	Rufen Sie eine Sub-Prozedur in einer anderen Prozedur oder im Direktbereich des Testfensters auf.

Wenn Sie bestimmten Code häufig ausführen, können Sie ihn in eine Sub-Prozedur einfügen. Statt den Visual Basic-Code, der die Operation in jeder Prozedur durchführt, zu wiederholen, schreiben Sie ihn einmal in die allgemeine Prozedur und rufen diese dann jedesmal auf, wenn Sie die Operation durchführen möchten. Um Informationen zum Erstellen einer Sub-Prozedur anzuzeigen, klicken Sie auf  [image].

•	Klicken Sie im Modulfenster im Menü Ausführen auf den Befehl Weiter, um eine Prozedur auszuführen, die keine Argumente erfordert.

Setzen Sie den Cursor im Modulfenster in die Prozedur, die Sie ausführen möchten. Klicken Sie dann im Menü Ausführen auf Weiter.

•	Führen Sie die Aktion AusführenCode in einem Makro aus.

Sie können mit der Aktion AusführenCode eine eingebaute Visual Basic-Funktion oder eine benutzerdefinierte Funktion ausführen. Um eine Sub-Prozedur oder eine Ereignisprozedur auszuführen, erstellen Sie eine Funktion, die die Sub-Prozedur bzw. die Ereignisprozedur aufruft, und führen Sie die Funktion dann mit Hilfe der Aktion AusführenCode aus. Zum Anzeigen von Informationen zur Aktion AusführenCode klicken Sie auf  [image].


Ausführen einer Makroaktion in einer Visual Basic-Prozedur

Microsoft Access definiert ein spezielles Objekt, DoCmd, mit dem Sie Makroaktionen in Visual Basic für Applikationen-Prozeduren ausführen können. Sie führen eine Aktion aus, indem Sie Ihrer Prozedur eine Methode des Objekts DoCmd hinzufügen. Die meisten Aktionen haben eine entsprechende DoCmd-Methode.

•	Fügen Sie in der Prozedur die DoCmd-Methode hinzu, die der Aktion entspricht, und verwenden Sie dabei die folgende Syntax:

DoCmd.Methode [Argumente]

Methode ist der Name einer Methode. Argumente sind die Methodenargumente, die ggf. verwendet werden.

Um z.B. eine Prozedur zu erstellen, die die Aktion ÖffnenFormular ausführt, fügen Sie der Prozedur die Methode OpenForm des Objekts DoCmd hinzu. Die folgende Methode entspricht der Aktion ÖffnenFormular und öffnet das Formular Artikel hinzufügen:

DoCmd.OpenForm "Artikel hinzufügen"

Acht Makroaktionen sind keine entsprechenden DoCmd-Methoden zugeordnet, obwohl es für einige gleichwertige Visual Basic-Anweisungen oder -Funktionen gibt. Zum Anzeigen einer Liste dieser Aktionen und ihrer Visual Basic-Äquivalente klicken Sie auf  [image].


Makroaktionen ohne entsprechende DoCmd-Methoden

Aktion	Visual Basic für Applikationen-Äquivalent
HinzufügenMenü	Kein Äquivalent
Meldung	Funktion MsgBox
AusführenAnwen-dung	Funktion Shell
AusführenCode	Prozeduraufruf (Anweisung Call)
Tastaturbefehle	Anweisung SendKeys
SetzenWert	Zuweisungsanweisung (Anweisung Let)
StopAlleMakros	Anweisungen Stop oder End
StopMakro	Anweisungen Exit Sub oder Exit Function


Aufrufen von Hilfe zu Visual Basic

Sie haben viele Möglichkeiten, um auf die Hilfe zuzugreifen und so Antworten auf Ihre Fragen zu Visual Basic für Applikationen sowie Informationen zu Visual Basic-Schlüsselwörtern zu erhalten. Im folgenden sind einige der gebräuchlichsten und nützlichsten Möglichkeiten beschrieben, wie Sie auf die Hilfe zugreifen können.

Anmerkung   Wenn Sie bei der Installation von Microsoft Access Standard wählen, installiert Setup nicht die Hilfethemen zum Microsoft Access-Sprachverzeichnis für gemeinsame Komponenten von Microsoft Access und anderen Anwendungen. So installiert es z.B. nicht die Sprachverzeichnis-Hilfe zu einigen Visual Basic-Funktionen und -Anweisungen. Um alle Themen des Sprachverzeichnisses zu installieren, führen Sie Setup erneut aus, und klicken Sie auf Hinzufügen/Entfernen. Klicken Sie im Dialogfeld Benutzerdefiniert auf Hilfethemen, dann auf Option ändern und schließlich auf Sprachverzeichnis.

Sie haben folgende Möglichkeiten, um auf die Hilfe zuzugreifen:

•	Drücken Sie F1 in einem Visual Basic-Modul. Während Ihrer Arbeit in einem Modul können Sie direkt auf die Hilfe zu einer Methode, Eigenschaft, Funktion, Anweisung oder einem Objekt zugreifen, indem Sie auf das Schlüsselwort in einer Codezeile klicken und dann F1 drücken.

•	Drücken Sie F1 in einem Objektkatalog. Mit Hilfe des Objektkatalogs können Sie Informationen zu Objekten, Eigenschaften, Methoden und Konstanten anzeigen. Um Informationen zum Verwenden des Objektkatalogs anzuzeigen, klicken Sie auf  [image].

•	Befragen Sie den Office-Assistenten. Um die Sprechblase des Assistenten anzuzeigen und eine Frage einzugeben, klicken Sie in der Symbolleiste auf Office-Assistent. Falls der Assistent bereits ohne Sprechblase angezeigt wird, klicken Sie auf diesen. Der Office-Assistent erleichtert Ihnen die Suche nach bestimmten Themen. Geben Sie einfach Ihre Frage ein, und wählen Sie dann eines der Themen, die der Assistent anbietet. Je spezifischer Ihre Frage ist, desto spezifischer ist das angebotene Thema. Ein Beispiel für eine spezifische Frage lautet: "Wie programmiere ich mein Formular, um die Daten automatisch zu aktualisieren?"

Anmerkungen

•	Wenn das Modulfenster aktiv ist, sucht der Office-Assistent standardmäßig nur Themen in Hilfedateien zur Programmierung. Um die Voreinstellung so zu ändern, daß Hilfedateien zur Programmierung und zum Produkt angezeigt werden, klicken Sie mit der rechten Maustaste auf den Office-Assistenten, klicken Sie auf Optionen, und wählen Sie dann Sowohl Produkt- als auch Programmierhilfe während der Programmierung durchsuchen.

•	Wenn ein anderes Fenster aktiv ist, sucht der Office-Assistent standardmäßig nur Themen in Hilfedateien zum Produkt. Hilfe zu Aktionen und Microsoft Access-Eigenschaften ist sowohl in der Produkt- als auch in der Programmierungshilfe verfügbar.

•	Verwenden Sie die Registerkarten "Inhalt", "Index" und "Suchen". Das Dialogfeld Hilfethemen enthält mehrere Registerkarten, über die Sie auf unterschiedliche Art und Weise auf Hilfeinformationen zugreifen können. Um dieses Dialogfeld anzuzeigen, klicken Sie im Menü ? auf Inhalt und Index.

•	Klicken Sie auf die Registerkarte Inhalt, und doppelklicken Sie dann auf Microsoft Access Programmier- und Sprachverzeichnis oder auf das Buch Visual Basic für Applikationen, um Kategorien von Referenzinformationen anzuzeigen, wie z.B. Aktionen, Ereignisse, Funktionen, Objekte und Auflistungen, Methoden, Eigenschaften und Anweisungen. Doppelklicken Sie auf ein Kategoriebuch, um Themenlisten für jede Kategorie anzuzeigen.

Um ein Thema oder Themenbuch zu drucken, wählen Sie das Thema oder Buch aus, und klicken Sie dann auf Drucken.

•	Klicken Sie auf die Registerkarte Index, um eine Liste von Indexeinträgen zu Themen anzuzeigen. Geben Sie in das erste Feld die Anfangsbuchstaben des Wortes ein, nach dem Sie suchen. Klicken Sie im zweiten Feld auf den gewünschten Indexeintrag und dann auf Anzeigen.

Anmerkung   Wenn mehrere Themen den gleichen Namen haben, werden im Index die folgenden Themen (Thema zwei, drei usw.) voneinander abgegrenzt, indem das Produkt oder der Produktbereich, auf den sich die Themen beziehen, angezeigt wird. Das erste Thema wird jedoch nicht durch das Produkt oder den Produktbereich gekennzeichnet.

•	Klicken Sie auf die Registerkarte Suchen, um den gesamten Text nach einem Wort oder Satz in der Hilfe zu durchsuchen.

Tips

•	Um zwischen Ihrer Anwendung und der Sprachverzeichnis-Hilfe zu wechseln, drücken Sie ALT+TAB, oder verwenden Sie die Windows_Task-Leiste. Wenn die Hilfe geöffnet bleibt, können Sie sofort zu dem zuletzt angezeigten Thema zurückkehren.

•	Um markierten Text zu kopieren, den Schriftgrad zu ändern, den Text zu drucken, mit Anmerkungen zu versehen, das Hilfefenster immer im Vordergrund anzeigen zu lassen oder die Systemfarben für Hilfethemen zu ändern, klicken Sie mit der rechten Maustaste auf ein Hilfethema. Dann können Sie das Kontextmenü verwenden.


Kopieren von Visual Basic-Codebeispielen aus der Hilfe in das Modulfenster

1	Markieren Sie den Beispielcode, den Sie kopieren möchten, und klicken Sie dann mit der rechten Maustaste darauf.

2	Klicken Sie im Kontextmenü auf Kopieren.

3	Wechseln Sie zu Microsoft Access.

4	Fügen Sie das Beispiel in Ihr Modul ein.


Arbeiten mit Objekten in Visual Basic unter Verwendung des Objektkatalogs

Mit Hilfe des Objektkatalogs können Sie sich zwischen den Objekten, die in Microsoft Access und anderen Visual Basic für Applikationen unterstützenden Anwendungen verfügbar sind, bewegen und diese anzeigen. Das gleiche gilt für die Methoden und Eigenschaften jedes Objekts. Wenn Sie eine Methode oder Eigenschaft im Objektkatalog suchen, können Sie die entsprechende Syntax in das aktive Modul einfügen.

Was möchten Sie tun?

Eine Methode oder Eigenschaft im Objektkatalog suchen

Den Objektkatalog zum Einfügen der Syntax einer Methode oder Eigenschaft in ein Visual Basic-Modul verwenden


Suchen einer Methode oder Eigenschaft im Objektkatalog

1	Öffnen Sie ein beliebiges Modul.

2	Klicken Sie in der Symbolleiste auf Objektkatalog  [image].

3	Klicken Sie im Feld Projekt/Bibliothek (oben links) auf Access oder eine andere Bibliothek.

4	Klicken Sie im Feld Klassen auf das gewünschte Objekt.

5	Klicken Sie im Feld Elemente von auf die gewünschte Methode oder Eigenschaft.

Anmerkung

•	Um Hilfe zu der ausgewählten Klasse, Methode, Eigenschaft oder dem ausgewählten Ereignis anzuzeigen, klicken Sie im Objektkatalog auf Hilfe  [image].

•	Um die von der Microsoft Office 8.0 Object Library gelieferten Objekte, wie z.B. Befehlsleistenobjekte, anzuzeigen, müssen Sie einen Verweis auf diese Bibliothek erstellen. Klicken Sie im Modulfenster im Menü Extras auf Verweise, und aktivieren Sie dann das Kontrollkästchen Microsoft Office 8.0 Object Library.


Verwenden des Objektkatalogs zum Einfügen der Syntax einer Methode oder Eigenschaft in ein Modul

1	Wählen Sie die Methode oder Eigenschaft im Objektkatalog aus.

2	Markieren Sie im unteren Teil des Objektkatalogs die Syntax, die Sie einfügen möchten.

3	Klicken Sie im Objektkatalog auf In Zwischenablage kopieren  [image].

4	Klicken Sie im Modul auf die Stelle, an der Sie die Syntax einfügen möchten.

5	Klicken Sie in der Symbolleiste auf Einfügen  [image].

Microsoft Access fügt die Syntax der Methode oder Eigenschaft in das Modul ein.

Anmerkung   Nach dem Einfügen der Syntax für Sub-Prozeduren müssen Sie alle runden Klammern entfernen, die in der Syntax Platzhalter umgeben.


Ändern der Art und Weise, wie Visual Basic-Code im Modulfenster angezeigt wird

1	Klicken Sie im Menü Extras auf Optionen.

Demo

2	Klicken Sie auf die Registerkarte Modul.

3	Legen Sie die geeigneten Optionen fest.

Durch Festlegen der Optionen im Dialogfeld Optionen können Sie die Farbe, Schriftart, den Schriftgrad und die Tabulatorbreite ändern, die bei der Eingabe von Visual Basic für Applikationen-Code im Modulfenster verwendet werden. Darüber hinaus können Sie festlegen, ob das gesamte Modul (Standard) oder jede Prozedur einzeln im Modulfenster angezeigt wird, und verschiedene zusätzliche Optionen zum Arbeiten im Modulfenster einstellen.

Zum Anzeigen von Informationen zu einer Option klicken Sie in der Titelleiste des Dialogfelds Optionen auf Direkthilfe  [image]  und dann auf die betreffende Option.


Deaktivieren der Syntaxüberprüfung für Visual Basic-Code

Visual Basic für Applikationen überprüft automatisch den im Modulfenster eingegebenen Code auf Syntaxfehler. Um dieses Feature zu deaktivieren, führen Sie die folgenden Schritte aus:

1	Klicken Sie im Menü Extras auf Optionen.

Demo

2	Klicken Sie auf die Registerkarte Modul.

3	Deaktivieren Sie unter Code-Optionen das Kontrollkästchen AutoSyntaxüberprüfung anzeigen.


Deaktivieren der Fehlerbehandlung für Visual Basic-Code

Wenn Sie einer Visual Basic für Applikationen-Prozedur die Anweisung On Error hinzufügen, verzweigt Visual Basic beim Auftreten eines Fehlers automatisch in eine Fehlerbehandlungsroutine. Vielleicht möchten Sie jedoch in einigen Fällen den Fehlerbehandlungscode einer Prozedur deaktivieren, z.B. während Sie die Prozedur testen.

1	Klicken Sie im Menü Extras auf Optionen.

Demo

2	Klicken Sie auf die Registerkarte Weitere.

3	Aktivieren Sie unter Fehlerbehandlung das Kontrollkästchen Bei allen Fehlern anhalten.

Wenn Sie diese Option aktivieren, wechseln Sie beim Auftreten eines Fehlers, unabhängig von der Fehlerbehandlung, automatisch in den Unterbrechungsmodus.


Festlegen, daß Variablen in Visual Basic-Code deklariert werden müssen

In Visual Basic für Applikationen müssen Sie eine Variable nicht explizit deklarieren, bevor Sie sie in einer Prozedur verwenden. Wenn Sie eine nicht explizit deklarierte Variable verwenden, deklariert Visual Basic diese implizit als Variable des Datentyps Variant.

Implizite Deklarationen sind zwar praktisch, können jedoch zu Fehlern in Ihrem Code führen. Um zu erzwingen, daß Variablen vor ihrem Einsatz in einer Prozedur deklariert werden, führen Sie die folgenden Schritte aus:

1	Klicken Sie im Menü Extras auf Optionen.

Demo

2	Klicken Sie auf die Registerkarte Modul.

3	Aktivieren Sie unter Code-Optionen das Kontrollkästchen Variablen-Deklaration erforderlich.

Wenn Sie das Kontrollkästchen Variablen-Deklaration erforderlich aktiviert haben, fügt Microsoft Access automatisch die Anweisung Option Explicit im Deklarationsbereich aller neuen Module der Datenbank ein, einschließlich der neuen Formulare oder Berichte, die den Formular- bzw. Berichtsmodule zugeordnet sind. Um Informationen zur Anweisung Option Explicit anzuzeigen, klicken Sie auf  [image].


Angeben eines Befehlszeilenarguments, das in Visual Basic-Code verwendet werden kann

Beim Starten von Microsoft Access aus der Befehlszeile können Sie mit der Befehlszeilenoption /cmd ein Befehlszeilenargument festlegen, das in Visual Basic für Applikationen-Code verwendet werden kann. Um dieses Argument nach dem Öffnen einer Datenbank festzulegen, führen Sie die folgenden Schritte aus:

1	Klicken Sie im Menü Extras auf Optionen.

Demo

2	Klicken Sie auf die Registerkarte Weitere.

3	Geben Sie unter Nur aktuelle Datenbank das Argument im Feld Befehlszeilen-Argumente ein.

Um Informationen zur Befehlszeilenoption /cmd anzuzeigen, klicken Sie auf  [image].


Testen von Visual Basic-Code

Was möchten Sie tun?

Informationen zum Beseitigen von Fehlern anzeigen

Einen Haltepunkt zum Unterbrechen der Codeausführung verwenden

Code schrittweise durchlaufen

Die Werte von Ausdrücken und Variablen im Testfenster untersuchen

Die Werte von Ausdrücken und Variablen durch Festlegen eines Überwachungsausdrucks überwachen

Prozeduraufrufe in Visual Basic verfolgen

Den Wert von Variablen im Fenster Lokal des Testfensters anzeigen

Den Wert einer Variablen oder eines Ausdrucks im Modulfenster anzeigen, wenn Code unterbrochen wird


Verwenden eines Haltepunkts zum Unterbrechen der Ausführung von Visual Basic-Code

Wenn Sie die Ausführung von Visual Basic für Applikationen-Code unterbrechen, wird der Code zwar weiterhin ausgeführt, zwischen den laufenden Anweisungen jedoch angehalten. Während die Codeausführung unterbrochen ist, können Sie Testaufgaben ausführen, wie z.B. die aktuellen Variablenwerte überprüfen und jede Codezeile einzeln ausführen. Damit Visual Basic Ihre Codeausführung anhält, können Sie einen Haltepunkt setzen.

1	Setzen Sie die Einfügemarke im Modulfenster an eine Codezeile, die noch kein Haltepunkt oder noch keine Deklaration ist.

2	Klicken Sie in der Symbolleiste auf Haltepunkt ein/aus  [image].

Um einen Haltepunkt zu löschen, setzen Sie die Einfügemarke an die Codezeile, an der ein Haltepunkt gesetzt wurde, und klicken Sie dann in der Symbolleiste auf Haltepunkt ein/aus  [image]. Um die Codeausführung fortzusetzen, klicken Sie im Menü Ausführen auf Weiter.

Anmerkung   Sie können die Codeausführung auch unterbrechen, indem Sie einer Prozedur eine Stop-Anweisung hinzufügen oder indem Sie STRG+UNTBR drücken, während der Code ausgeführt wird.


Schrittweises Durchlaufen von Visual Basic-Code

Das schrittweise Durchlaufen Ihres Visual Basic für Applikationen-Codes kann hilfreich sein, um einen auftretenden Fehler ausfindig zu machen. Sie können erkennen, ob jede einzelne Codezeile die von Ihnen erwarteten Ergebnisse liefert.

1	Unterbrechen Sie die Codeausführung.

Wie wird's gemacht?

Microsoft Access zeigt die Codezeile an, in der die Ausführung unterbrochen wurde.

2	Führen Sie einen der folgenden Schritte aus:

•	Um jede Codezeile sowie den Code einer von einer anderen Prozedur aufgerufenen Prozedur schrittweise zu durchlaufen, klicken Sie in der Symbolleiste auf Einzelschritt  [image].

•	Um jede Codezeile schrittweise zu durchlaufen, andere aufgerufene Prozeduren dagegen als Ganzes auszuführen, klicken Sie in der Symbolleiste auf Prozedurschritt  [image].

•	Um den Code vor der aktuellen Codezeile auszuführen und dann zu unterbrechen, so daß Sie jede Codezeile schrittweise durchlaufen können, klicken Sie im Menü Testen auf Ausführen bis Cursor.

•	Um den Rest der aktuellen Prozedur auszuführen und danach zur nächsten Codezeile in der vorhergehenden Prozedur im Aufrufbaum zurückzukehren, klicken Sie in der Symbolleiste auf Rücksprung  [image].

Anmerkung   Sie können Einzelschritt verwenden, ohne die Codeausführung zu unterbrechen. Stellen Sie den Cursor im Modulfenster in die Prozedur, die schrittweise durchlaufen werden soll, und klicken Sie in der Symbolleiste auf Einzelschritt  [image].

Sie können zwischen diesen Einzelschritt-Typen wechseln. Welchen Typ Sie wählen hängt davon ab, welche Codeabschnitte Sie analysieren möchten.


Verwenden des Direktbereichs im Testfenster während der Arbeit mit Visual Basic

Verwenden Sie den Direktbereich im Testfenster, um die Ergebnisse einer Zeile im Visual Basic für Applikationen-Code zu überprüfen. Mit dem Direktbereich können Sie den Wert eines Steuerelements, Feldes oder einer Eigenschaft überprüfen, das Ergebnis eines Ausdrucks anzeigen oder einer Variablen, einem Feld oder einer Eigenschaft einen neuen Wert zuweisen. Der Direktbereich ist eine Art von Notizblockfenster, in dem Anweisungen, Methoden und Sub-Prozeduren sofort ausgewertet werden.

1	Wenn Sie den Direktbereich an einem bestimmten Punkt während der Codeausführung verwenden möchten, unterbrechen Sie die Ausführung an diesem Punkt.

Wie wird's gemacht?

2	Klicken Sie in der Symbolleiste auf Testfenster  [image].

3	Geben Sie im Fenster eine Anweisung, Methode oder einen Funktion oder Sub-Prozeduraufruf ein, und drücken Sie die EINGABETASTE.

Tips

•	Sie können die Ergebnisse eines Ausdrucks im Direktbereich anzeigen, indem Sie die Methode Print des Objekts Debug und dahinter den Ausdruck eingeben. Als Kürzel für die Methode Print können Sie ein Fragezeichen (?) verwenden. Visual Basic zeigt z.B. den von der benutzerdefinierten Funktion ErsterDesNächstenMonats zurückgegebenen Wert an, wenn Sie eine der folgenden Zeilen im Direktbereich eingeben:

Debug.Print ErsterDesNächstenMonats()

? ErsterDesNächstenMonats()

Sie können die Methode Print des Objekts Debug Ihrem Visual Basic-Code auch hinzufügen, um die Werte oder Ergebnisse von Ausdrücken im Direktbereich anzuzeigen, während der Code ausgeführt wird. Wenn die Codeausführung beendet ist, können Sie sich die Ergebnisse ansehen.

•	Sie können den Direktbereich in jedem beliebigen Fenster in Microsoft Access anzeigen, indem Sie STRG+G drücken.


Einstellen eines Überwachungsausdrucks in Visual Basic-Code

Wenn die Ausführung von Visual Basic für Applikationen-Code unterbrochen wird, können Sie die Werte von Überwachungsausdrücken im Überwachungsbereich des Testfensters beobachten. Sie können auch den aktuellen Wert eines Ausdrucks anzeigen, der nicht als Überwachungsausdruck festgelegt wurde.

Was möchten Sie tun?

Einen Überwachungsausdruck dem Überwachungsbereich des Testfensters hinzufügen

Den aktuellen Wert einer Variablen anzeigen


Hinzufügen eines Überwachungsausdrucks zum Überwachungsbereich des Testfensters

1	Öffnen Sie eine Prozedur im Modulfenster.

2	Klicken Sie im Menü Testen auf Überwachung hinzufügen.

3	Wenn ein Ausdruck bereits im Modulfenster markiert wurde, wird er automatisch im Dialogfeld angezeigt. Wird kein Ausdruck angezeigt, geben Sie den Ausdruck ein, der ausgewertet werden soll. Bei diesem Ausdruck kann es sich um eine Variable, eine Eigenschaft, einen Funktionsaufruf oder um jeden anderen gültigen Ausdruck handeln.

Statt einen Ausdruck einzugeben, können Sie ihn auch im Modulfenster markieren und in den Überwachungsbereich ziehen.

4	Um den Bereich auszuwählen, für den der Ausdruck ausgewertet werden soll, wählen Sie unter Kontext einen Modul- und Prozedurkontext aus.

Anmerkung   Wählen Sie den für Ihre Anforderungen geeignetsten, kleinsten Gültigkeitsbereich. Die Auswahl aller Prozeduren oder Module kann die Codeausführung verlangsamen.

5	Um zu definieren, wie das System auf den Überwachungsausdruck reagieren soll, wählen Sie unter Überwachungsarten eine Option aus.

•	Um den Wert des Überwachungsausdrucks anzuzeigen, klicken Sie auf Ausdruck untersuchen.

•	Um die Ausführung anzuhalten, wenn der Ausdruck als Wahr ausgewertet wird, klicken Sie auf Ausführung unterbrechen, wenn Wert 'Wahr' wird.

•	Um die Ausführung anzuhalten, wenn sich der Wert des Ausdrucks ändert, klicken Sie auf Ausführung unterbrechen, wenn Wert sich ändert.

Bei der Codeausführung zeigt der Überwachungsbereich den Wert des eingestellten Ausdrucks an. Um einen Überwachungsausdruck zu ändern, markieren Sie ihn im Überwachungsbereich, und klicken Sie dann im Menü Testen auf Überwachung bearbeiten. Um den Überwachungsausdruck zu löschen, klicken Sie im Dialogfeld Überwachung bearbeiten auf Löschen.


Anzeigen des aktuellen Wertes während der Fehlerbehandlung in Visual Basic-Code

1	Unterbrechen Sie die Ausführung Ihres Visual Basic für Applikationen-Codes.

Wie wird's gemacht?

2	Markieren Sie den Ausdruck, dessen Wert Sie anzeigen möchten.

3	Klicken Sie in der Symbolleiste auf Aktuellen Wert anzeigen  [image].

Microsoft Access zeigt das Dialogfeld Aktuellen Wert anzeigen an, in dem Sie den Ausdruck und seinen aktuellen Wert sehen können. Klicken Sie im Dialogfeld auf Hinzufügen, um den Ausdruck der Liste der Überwachungsausdrücke im Überwachungsbereich des Testfensters hinzuzufügen.


Verfolgen von Visual Basic-Prozeduraufrufen während der Fehlerbehandlung in Visual Basic-Code

Wenn Sie die Ausführung von Visual Basic für Applikationen-Code unterbrechen, während Sie die Fehlerbehandlung (Debugging) im Code ausführen, können Sie mit Hilfe des Dialogfelds Aufrufe eine Liste der Prozeduren anzeigen, die gestartet, doch noch nicht beendet wurden.

1	Unterbrechen Sie die Ausführung Ihres Visual Basic-Codes.

Wie wird's gemacht?

2	Klicken Sie in der Symbolleiste auf Aufrufreihenfolge  [image].

Microsoft Access zeigt die zuletzt aufgerufene Prozedur am Anfang der Liste an, gefolgt vom vorletzten Prozeduraufruf usw. Um die Anweisung anzuzeigen, die die nächste Prozedur in der Liste aufruft, klicken Sie auf Zeigen.


Arbeiten mit Daten und Datenbankobjekten unter Verwendung von Visual Basic-Code

Neben dem Arbeiten mit Daten und Objekten, wie z.B. Formularen und Berichten, auf der Microsoft Access-Benutzeroberfläche, können Sie in Visual Basic für Applikationen Prozeduren schreiben, die Daten und Objekte dynamisch erstellen, löschen und ändern. Sie können z.B. eine Prozedur schreiben, die eine Beschriftung auf einem Formular plaziert oder die Farbe eines Feldes auf einem Formular ändert, wenn ein Benutzer eine bestimmte Aktion ausführt.

Sie können direkt in Ihrem Code auf Daten und Objekte verweisen oder Objektvariablen deklarieren, um Daten und Objekte darzustellen. Sobald Sie eine Objektvariable deklariert und zugeordnet haben, können Sie sie genauso verwenden wie den Namen des Objekts, das sie darstellt, und Sie können den Wert genauso ändern wie den jeder beliebigen Variablen.

Die folgende Sub-Prozedur erstellt eine Tabelle, Alte Rechnungen, mit einem einzigen Feld, Bestell-Nr.:

Sub TabelleErstellen()

' Variablen deklarieren.

Dim dbs As Database, tbl As TableDef, fld As Field

' Aktuelle Datenbank der Datenbankvariablen

' zuweisen.

Set dbs = CurrentDB

' Neue Tabelle und Feld erstellen und den

' Tabellen- und Feldvariablen zuweisen.

Set tbl = dbs.CreateTableDef("Alte Rechnungen")

Set fld = tbl.CreateField("Bestell-Nr.", dbText)

' Feld der Tabelle hinzufügen, dann Tabelle der

' Datenbank hinzufügen.

tbl.Fields.Append fld

dbs.TableDefs.Append tbl

dbs.TableDefs.Refresh

End Sub

Microsoft DAO definiert die Objekte, wie z.B. Tabellen, Abfragen, Beziehungen und Indizes, die Datenverwaltungsaufgaben in einer Microsoft Access-Datenbank erledigen. Diese Objekte heißen Datenzugriffsobjekte (DAO, Data Access Objects). Sie können Visual Basic-Code, der Datenzugriffsobjekte verwendet, mit anderen Anwendungen, die Microsoft DAO einsetzen, wie Microsoft Excel, gemeinsam nutzen.

Darüber hinaus definiert Microsoft Access die verschiedensten Objekte, die Sie beim Arbeiten mit Daten verwenden, wie z.B. Formulare, Berichte und Steuerelemente.

Um Informationen zum Arbeiten mit Datenzugriffsobjekten anzuzeigen, klicken Sie auf  [image], oder lesen Sie Kapitel 5, "Arbeiten mit Objekten und Auflistungen", in Erstellen von Anwendungsprogrammen mit Microsoft Access 97.


Konvertieren von Makros zu Visual Basic

Microsoft Access kann Makros automatisch zu Visual Basic für Applikationen-Ereignisprozeduren oder -Modulen konvertieren, die gleichwertige Aktionen mit Hilfe von Visual Basic-Code ausführen. Sie können Makros in einem Formular oder Bericht konvertieren, oder Sie können globale Makros konvertieren, die keinem bestimmten Formular oder Bericht zugeordnet sind.

Was möchten Sie tun?

Makros in einem Formular oder Bericht konvertieren

Globale Makros konvertieren


Konvertieren von Makros in einem Formular oder Bericht zu Visual Basic

1	Öffnen Sie das Formular oder den Bericht in der Formular-Entwurfsansicht bzw. der Berichts-Entwurfsansicht

2	Zeigen Sie im Menü Extras auf Makros, und klicken Sie dann auf Makros des Formulars zu Visual Basic konvertieren oder auf Makros des Berichts zu Visual Basic konvertieren.


Konvertieren globaler Makros zu Visual Basic

1	Klicken Sie im Datenbankfenster auf die Registerkarte Makros.

2	Klicken Sie auf den Namen des Makros, das Sie konvertieren möchten.

3	Klicken Sie im Menü Datei auf Speichern unter/Exportieren.

4	Klicken Sie im Dialogfeld Speichern unter auf Als Visual Basic-Modul speichern.


Verwenden von Argumenten in Visual Basic

Ein Argument liefert zusätzliche Informationen zu einer Prozedur, Anweisung oder Methode. Wenn Sie eine Funktion oder Sub-Prozedur erstellen, deklarieren Sie Argumente, damit Sie der Prozedur bei deren Aufruf Informationen liefern können.

Beim Aufrufen einer Prozedur, die Argumente besitzt, geben Sie die Argumente an, die Sie ihr übergeben möchten. Auch für viele Anweisungen und Methoden geben Sie Argumente an.

Was möchten Sie tun?

Eine benutzerdefinierte Funktion erstellen

Eine Sub-Prozedur erstellen

Argumente beim Verwenden einer Prozedur, Anweisung oder Methode angeben


Angeben von Argumenten beim Verwenden einer Prozedur, Anweisung oder Methode in Visual Basic-Code

•	Geben Sie die Argumente direkt hinter dem Namen der Prozedur, Anweisung oder Methode an. Setzen Sie sie bei einer Funktion oder bei einer Methode, die einen Wert zurückgibt, in Klammern. Wenn Sie mehrere Argumente angeben, trennen Sie sie jeweils durch ein Komma.

Die folgende Methode Close des Objekts DoCmd schließt z.B. das Formular Artikel hinzufügen. Sie akzeptiert zwei Argumente, acForm und "Artikel hinzufügen":

DoCmd.Close acForm, "Artikel hinzufügen"

Da diese Methode keinen Wert zurückgibt, werden die Argumente nicht in Klammern gesetzt.

Tip   Mit Hilfe des Objektkatalogs können Sie die Syntax von Methoden oder Eigenschaften, einschließlich der Argumente, in Ihren Visual Basic für Applikationen-Code einfügen. Der Objektkatalog fügt benannte Argumente ein, die Sie in beliebiger Reihenfolge angeben können. Sie können entweder diese benannten Argumente verwenden oder die benannten Argumente durch Standardargumente ersetzen. Um Informationen zum Verwenden des Objektkatalogs anzuzeigen, klicken Sie auf  [image]. Um Informationen zum Verwenden benannter Argumente anzuzeigen, klicken Sie auf  [image].


Beseitigen von Fehlern in Visual Basic-Code

Das Testen von Code ist ein Vorgang, mit dem Sie Fehler in Ihrem Visual Basic für Applikationen-Code suchen und beheben können. Es gibt drei verschiedene Fehlertypen, die während der Ausführung Ihres Codes auftreten können:

•	Kompilierzeitfehler treten als Ergebnis von falsch konstruiertem Code auf, beispielsweise wenn Sie vergessen haben, Anweisungspaare (wie If und End If oder For und Next) auszugleichen, oder wenn ein Programmierfehler vorliegt, der gegen Visual Basic-Regeln verstößt (wie ein falsch geschriebenes Wort, fehlendes Trennzeichen oder nicht übereinstimmende Datentypen).

Zu den Kompilierzeitfehlern gehören auch Syntaxfehler ein, wobei es sich um Grammatik- oder Zeichensetzungsfehler handelt. Hierunter fallen nicht übereinstimmende Klammern oder eine falsche Anzahl von Argumenten, die einer Funktion übergeben wurden.

•	Laufzeitfehler treten auf, nachdem mit der Ausführung der Anwendung begonnen wurde. Zu den Laufzeitfehlern gehören z.B. Versuche einer unzulässigen Operation, wie eine Division durch Null oder das Schreiben in eine nicht vorhandene Datei.

•	Logische Fehler treten auf, wenn die Anwendung nicht wie vorgesehen ausgeführt wird und falsche Ergebnisse liefert.

Um Ihnen dabei zu helfen, alle drei Fehlertypen auszuschließen und die Ausführung Ihres Codes zu überwachen, stellt Ihnen Visual Basic Fehlerbehandlungs-Tools zur Verfügung, mit denen Sie den Code schrittweise durchlaufen, die Werte von Ausdrücken und Variablen untersuchen oder überwachen sowie Prozeduraufrufe verfolgen können.

Anmerkung   Um die meisten der Fehlerbehandlungs-Tools von Microsoft Access verwenden zu können, müssen Sie die Ausführung Ihres Codes unterbrechen. Zum Anzeigen von Informationen klicken Sie auf  [image].


Verwenden des Modulfensters, Testfensters oder Objekt-Katalogs

Was möchten Sie tun?

Informationen zum Modulfenster erhalten

Informationen zum Testfenster erhalten

Informationen zum Objekt-Katalog erhalten


Erstellen eines Klassenmoduls, das nicht mit einem Formular oder Bericht verbunden ist

1	Klicken Sie im Datenbankfenster oder im Modulfenster im Menü Einfügen auf Klassenmodul.

Es wird ein leeres Klassenmodul angezeigt.

2	Fügen Sie dem Modul die gewünschten Deklarationen und Prozeduren hinzu.

3	Um das Modul zu speichern, klicken Sie in der Symbolleiste auf Speichern  [image]  und geben im Dialogfeld Speichern unter einen Namen für das Klassenmodul an.

Nach dem ersten Speichern des Klassenmoduls wird sein Name im Datenbankfenster auf der Registerkarte Module angezeigt. Sie können das Klassenmodul dann durch Klicken auf Entwurf öffnen.

Um weitere Informationen zur Verwendung von Klassenmodulen anzuzeigen, klicken Sie auf  [image]. Weitere Informationen finden Sie ferner in Erstellen von Anwendungsprogrammen mit Microsoft Access 97, Kapitel 2, "Einführung in Visual Basic", und Kapitel 5, "Arbeiten mit Objekten und Auflistungen".


Anzeigen von Syntaxinformationen im Modulfenster

1	Klicken Sie im Menü Extras auf Optionen.

2	Klicken Sie auf die Registerkarte Module.

3	Stellen Sie sicher, daß unter Code-Optionen das Kontrollkästchen Automatische Direkthilfe aktiviert ist.

Ist Automatische Direkthilfe aktiviert, zeigt Microsoft Access im Modulfenster Syntaxinformationen an. Wenn Sie im Anschluß an eine Methode oder den Namen einer bestehenden Prozedur ein Leerzeichen oder eine offene Klammer eingeben, wird automatisch ein Tip mit den Syntaxinformationen zu der Methode oder Prozedur angezeigt (z.B. die Argumente, die Sie festlegen).


Anzeigen des Wertes einer Variablen oder eines Ausdrucks im Modulfenster bei unterbrochenem Code

1	Klicken Sie im Menü Extras auf Optionen.

2	Klicken Sie auf die Registerkarte Module.

3	Stellen Sie sicher, daß unter Code-Optionen das Kontrollkästchen Automatische Daten-Tips aktiviert ist.

Ist Automatische Daten-Tips aktiviert, können Sie den Wert einer Variablen oder eines Ausdrucks überprüfen, solange der Code unterbrochen ist. Setzen Sie den Mauszeiger auf eine Variable oder einen Ausdruck, um ihren/seinen aktuellen Wert anzuzeigen.


Anzeigen des Wertes von Variablen im Lokalbereich des Testfensters

1	Unterbrechen Sie die Ausführung des Visual Basic für Applikationen-Codes.

Wie?

2	Klicken Sie in der Symbolleiste auf Testfenster  [image].

In der oberen Hälfte des Testfensters zeigt Microsoft Access auf der Registerkarte Lokal automatisch den Namen, den aktuellen Wert und den Typ aller Variablen und Objekte in der aktuellen Prozedur an. Die Werte im Lokalbereich werden bei jeder Unterbrechung der Codeausführung aktualisiert. Sie können den Wert einer Variablen im Lokalbereich ändern, indem Sie den bestehenden Wert markieren und den neuen Wert eingeben.


Anzeigen einer Liste relevanter Objekte, Eigenschaften und Methoden im Modulfenster

1	Klicken Sie im Menü Extras auf Optionen.

2	Klicken Sie auf die Registerkarte Module.

3	Stellen Sie unter Code-Optionen sicher, daß das Kontrollkästchen Elemente automatisch auflisten aktiviert ist.

Ist Elemente automatisch auflisten aktiviert, unterstützt Microsoft Access Sie beim Schreiben von Visual Basic für Applikationen-Code beim Ausfüllen von Anweisungen. Wenn Sie im Anschluß an den Namen eines Objekts ein Leerzeichen oder eine offene Klammer eingeben, zeigt Microsoft Access eine Liste relevanter Objekte, Eigenschaften und Methoden an, die auf den Objektnamen folgen können. Für das Eingeben eines Eintrags aus der Liste in die aktuelle Codezeile stehen Ihnen verschiedene Tasten zur Verfügung.

Taste	Wirkung
TAB	Fügt das Element ein
LEERTASTE	Fügt das Element sowie im Anschluß daran ein Leerzeichen ein
EINGABETASTE	Fügt das Element ein und verschiebt den Cursor zur nächsten Zeile
Anmerkung   Um die Liste wieder auszublenden, drücken Sie ESC.


Problembehandlung in Visual Basic-Modulen

Wobei benötigen Sie Hilfe?

Wie finde ich heraus, wo Probleme in meinem Visual Basic-Code auftreten?

Das Argument Kriterien in einer DLookup- oder einer anderen Aggregatfunktion für Domänen erzeugt unerwartete Ergebnisse.

Microsoft Access zeigt beim Ausführen von Code unerwünschte Meldungen an.

Wie wird Visual Basic verwendet, um einen neuen Datensatz zu einer Tabelle hinzuzufügen?

Es treten unerwartete Ergebnisse auf beim Verwenden einer der Find-Methoden.

Erstellte Sub-Prozedur oder Funktion testen.

Beim Verwenden der IsLoaded-Funktion erscheint die Meldung: "Sub oder Function nicht definiert".

Beim Verweisen auf ein Tabellenfeld im Code erscheint die Meldung: "Methode oder Datenelement nicht gefunden".

Wie wird Visual Basic zum Ändern der SQL-Anweisung, die einer Abfrage zugrundeliegt, verwendet?


Microsoft Access zeigt beim Ausführen von Code unerwünschte Meldungen an.

Sie können die Anzeige von Warnungen und anderen Meldungen während der Ausführung von Visual Basic-Code vorübergehend deaktivieren, indem Sie die Methode SetWarnings verwenden, um die Aktion Warnmeldungen auszuführen. Sie verwenden die Methode SetWarnings auch, um die Anzeige der Meldungen wieder zu aktivieren. Zum Anzeigen weiterer Informationen klicken Sie auf  [image].


Wie wird Visual Basic verwendet, um einen neuen Datensatz zu einer Tabelle hinzuzufügen?

Sie können mit Hilfe von Code einen neuen Datensatz zu einer Tabelle oder einer Datensatzgruppe hinzufügen, indem Sie die Methoden AddNew und Update des Objekts Recordset verwenden. Zum Anzeigen weiterer Informationen klicken Sie auf  [image], oder schlagen Sie in Erstellen von Anwendungsprogrammen mit Microsoft Access 97, in Kapitel 9, "Arbeiten mit Datensätzen und Feldern" nach.


Es treten unerwartete Ergebnisse auf beim Verwenden einer der Find-Methoden.

Die Methoden FindFirst, FindLast, FindNext und FindPrevious können aus den folgenden Gründen unerwartete Ergebnisse erzeugen:

•	Die Syntax des Arguments Kriterien, das Sie festgelegt haben, um auf den Wert eines Steuerelements oder einer Eigenschaft zu verweisen, ist ungültig. Um weitere Informationen zum Verweisen auf den Wert eines Steuerelements anzuzeigen, klicken Sie auf  [image].

•	Die Syntax des Arguments Kriterien, das Sie festgelegt haben, um den Wert eines Feldes, eines Steuerelements oder einer Eigenschaft mit einem Zeichenfolgenliteral zu kombinieren, ist ungültig. Um weitere Informationen zu Werten in Ausdrücken anzuzeigen, klicken Sie auf  [image].

Die Methoden FindRecord und FindNext können unerwartete Ergebnisse erzeugen, wenn das Argument NurAktuellesFeld der Methode FindRecord auf acCurrent eingestellt ist. Verwenden Sie die Methode GoToControl, um den Fokus zu dem Steuerelement zu bewegen, das die gesuchten Daten enthält, bevor Sie die Methoden FindRecord oder FindNext verwenden.


Erstellte Sub-Prozedur oder Funktion testen.

Sie können den Direktbereich im Testfenster verwenden, um die Ergebnisse einer Sub-Prozedur oder Funktion zu prüfen. Wenn Sie z.B. den Wert sehen möchten, den die benutzerdefinierte Funktion FirstOfNextMonth zurückgibt, geben Sie ein Fragezeichen, gefolgt von einem Leerzeichen, dem Namen der Funktion und beliebigen Argumenten in Klammern, ein:

? NächsterMonatsErster(Now)

Zum Anzeigen weiterer Informationen klicken Sie auf  [image].


Beim Verwenden der IsLoaded-Funktion erscheint die Meldung: Sub oder Function nicht definiert.

Die Funktion IsLoaded ist keine eingebaute Visual Basic-Funktion, sondern eine Beispielfunktion aus der Beispieldatenbank Nordwind. Wenn Sie die Funktion IsLoaded in Ihrer Datenbank verwenden möchten, öffnen Sie zuerst die Beispieldatenbank Nordwind, kopieren Sie dann die Funktion, und fügen Sie sie schließlich in ein Modul in Ihrer Datenbank ein.

Um weitere Informationen zum Öffnen der Beispieldatenbank Nordwind anzuzeigen, klicken Sie auf  [image].


Beim Verweisen auf ein Tabellenfeld im Code erscheint die Meldung: Methode oder Datenelement nicht gefunden.

Microsoft Access erzeugt diesen Fehler, wenn Sie den Operator . (Punkt) anstelle des Operators ! verwenden, um direkt auf ein Tabellenfeld zu verweisen. Der Fehler wird z.B. durch die letzte Zeile des folgenden Visual Basic-Codeausschnitts erzeugt:

Dim DB As Database

Dim tblTest As TableDef

Dim fldTest As Field

Set DB = CurrentDb

Set tblTest = DB.TableDefs("Kategorien")

Set fldTest = tblTest.[Kategorie-Nr]

Zum Beseitigen des Problems ersetzen Sie den Operator . (Punkt) durch den Operator ! oder verweisen auf das Feld als Element der Auflistung Fields. Sie können dazu eine der beiden folgenden Codezeilen verwenden, wobei die erste jedoch schneller ausgeführt wird:

Set fldTest = tblTest![Kategorie-Nr]

Set fldTest = tblTest.Fields("Kategorie-Nr")

Um weitere Informationen zum Verwenden der Operatoren . (Punkt) und ! anzuzeigen, klicken Sie auf  [image].


Wie wird Visual Basic zum Ändern der SQL-Anweisung, die einer Abfrage zugrundeliegt, verwendet?

Sie können die Eigenschaft SQL eines QueryDef-Objekts verwenden, um die einer Abfrage zugrundeliegende SQL-Anweisung zu ändern. Der folgende Visual Basic-Codeausschnitt ändert z.B. die der Abfrage Personalliste zugrundeliegende SQL-Anweisung, so daß die Abfrage alle Datensätze in der Tabelle Personal auswählt:

Dim DB As Database

Dim qryTest As QueryDef

Set DB = CurrentDb

Set qryTest = DB.QueryDefs("Personalliste")

qryTest.SQL = "SELECT * FROM Personal;"

Zum Anzeigen weiterer Informationen zur Eigenschaft SQL klicken Sie auf  [image].


Optimieren der Leistung von Visual Basic-Code.

Oft ist es sinnvoll, zum Verbessern der Geschwindigkeit Ihres Visual Basic-Codes einen effizienteren Ansatz zu wählen. Bestimmte Techniken können Ihnen helfen, die Ausführung Ihres Codes zu beschleunigen.

•	Stellen Sie sicher, daß der Code in Ihrer Datenbank kompiliert ist. Klicken Sie im Fenster Modul auf Alle Module kompilieren und speichern im Menü Testen.

Anmerkung   Sie müssen Ihren Code erneut kompilieren, nachdem Sie eine Datenbankdatei umbenannt haben, da beim Umbenennen einer Datenbank der Code in der Datenbank dekompiliert wird.

•	Deklarieren Sie Variablen immer explizit. Sie können sicherstellen, daß alle Variablen explizit deklariert werden, bevor sie in einer Prozedur verwendet werden, indem Sie die Option Variablen-Deklaration erforderlich auf der Registerkarte Modul des Dialogfelds Optionen einstellen. Zum Anzeigen weiterer Informationen klicken Sie auf [image].

•	Verwenden Sie beim Deklarieren von Variablen immer den jeweils genauesten Datentyp. Deklarieren Sie z.B. eine Variable, die ein Formular darstellt, als Variable vom Typ Form und nicht vom Typ Object oder Variant.

•	Verwenden Sie Variablen, um auf Eigenschaften, Steuerelemente und Datenzugriffsobjekte zu verweisen. Wenn Sie mehrmals auf den Wert einer Eigenschaft oder eines Steuerelements in einem Formular oder auf ein Datenzugriffsobjekt oder dessen Eigenschaft verweisen, erstellen Sie Objektvariablen, und verweisen Sie auf die Variablen, anstatt die vollständigen Bezeichner zu verwenden.

•	Verwenden Sie für Formularverweise in Ereignisprozeduren in einem Formularmodul das Schlüsselwort Me.

•	Verwenden Sie die Funktion Ilf sparsam. Vermeiden Sie die Verwendung der Funktion Ilf, wenn die Auswertung eines der Rückgabeausdrücke viel Zeit in Anspruch nimmt. Verwenden Sie statt dessen If … Then … Else.

•	Verwenden Sie dort, wo sie angebracht sind, Zeichenfolgenfunktionen. Verwenden Sie $-Funktionen (z.B. die Funktion Str$), wenn Sie mit Zeichenfolgen arbeiten, und Funktionen ohne $, wenn Sie mit dem Datentyp Variant oder anderen Datentypen arbeiten.

•	Verwenden Sie, falls möglich, die Datentypen Integer oder Long für Berechnungen.

•	Verwenden Sie dynamische Datenfelder sowie die Anweisungen Erase oder ReDim, um Speicherplatz freizugeben.

•	Verwenden Sie Konstanten, wo immer dies möglich ist.

•	Verwenden Sie Lesezeichen zum schnellen Wiederauffinden. Verwenden Sie Lesezeichen anstelle der Methode FindNext oder anderer Möglichkeiten, um zu einem bestimmten Datensatz zurückzukehren.

•	Verwenden Sie die Methoden FindRecord und FindNext bei indizierten Feldern. Diese Methoden sind wesentlich effizienter, wenn sie für ein indiziertes Feld eingesetzt werden.

•	Organisieren Sie Ihre Module. Visual Basic lädt Module bei Bedarf, d.h., ein Modul wird nur dann in den Speicher geladen, wenn Ihr Code eine der im Modul enthaltenen Prozeduren aufruft. Wenn Sie verwandte Prozeduren jeweils in ein Modul setzen, lädt Visual Basic weitere Module nur bei Bedarf.

•	Löschen Sie unbenötigten Code und nicht verwendete Variablen. Während Sie Ihre Anwendungen entwickeln und ändern, bleiben manchmal Prozeduren zurück, die von keiner Stelle in Ihrem Code aufgerufen werden, oder es gibt noch deklarierte Variablen, die nicht mehr verwendet werden. Überprüfen Sie gegebenenfalls Ihren Code auf solche unbenötigten Prozeduren und Variablen, und entfernen Sie diese.

Weitere Informationen finden Sie in Erstellen von Anwendungsprogrammen mit Microsoft Access 97, in Kapitel 13, "Optimieren Ihrer Anwendung".


Microsoft Office 97, Developer Edition (ODE), Inhalt

Microsoft Office 97, Developer Edition (ODE), stellt hochentwickelte Tools bereit, mit deren Hilfe Entwickler benutzerdefinierte Anwendungsprogramme erstellen und verteilen können.

Die ODE enthält die folgenden Komponenten:

Microsoft Office 97, Professional Edition, CD

Microsoft Office 97, Developer Edition, Tools-CD

•	Eine Lizenz für den lizenzgebührenfreien Vertrieb sowie Tools (einschließlich der Laufzeitversion von Microsoft Graph), mit deren Hilfe Sie Ihre selbstentwickelten Microsoft Office-Anwendungsprogramme an alle Ihre Benutzer weitergeben können.

•	Ein erweiterter Setup-Assistent, mit dem Sie für die Verteilung Ihrer Anwendungsprogramme automatisch Datenträger erstellen und Dateien komprimieren können.

•	Eine neue Version des Replikations-Managers, mit dem Sie Aktualisierungen Ihrer Replikate planen können. Ferner können sie bestimmen, welche Objekte in der Datenbank repliziert werden sollen, eine visuelle Anzeige aller Replikate in einer Gruppe sehen und mehrere Replikatgruppen gleichzeitig verwalten.

•	Die Komponente Microsoft Access-Quellcode-Verwaltung als Unterstützung in einer Mehrentwicklerumgebung. (Microsoft Visual SourceSafe wird separat vertrieben.)

•	ActiveX-Steuerelemente, mit deren Hilfe Sie Ihre Anwendungen flexibler gestalten und Microsoft Windows 95-Funktionalität duplizieren können, einschließlich neuer Steuerelemente für Internet-Anwendungen.

•	Windows API Viewer mit Deklarationen und Konstanten, die in der Windows 95-API (Application Programming Interface, Anwendungsprogrammierschnittstelle) enthalten sind. Sie können diese Deklarationen und Konstanten kopieren und in Ihre Visual Basic-Module einfügen.

•	Windows Help Workshop zum Entwickeln von Hilfe für Ihre Anwendungsprogramme.

•	Microsoft Office Developer Sampler mit Office-spezifischem Inhalt für das Microsoft Developer's Network.

Gedruckte Dokumentation

•	Microsoft Office 97/Visual Basic Programmierhandbuch

•	Erstellen von Anwendungsprogrammen mit Microsoft Access 97


Einschränken von Daten auf eine Teilmenge von Datensätzen

Bei der Arbeit mit Daten müssen Sie die Daten häufig auf eine bestimmte Gruppe von Datensätzen begrenzen. Sie können bei einigen Prozeduren Kriterien als Argument angeben, um festzulegen, welche Daten zurückgegeben werden. Geben Sie z.B. bei der Verwendung von Aggregatfunktionen für Domänen Kriterien an, um festzulegen, welche Daten zurückgegeben werden. Sie können auch Kriterien angeben, wenn Sie die Find-Methoden eines Recordset-Objekts verwenden, die Eigenschaft Filter eines Formulars einstellen oder eine SQL-Anweisung konstruieren. Obwohl diese Operationen unterschiedliche Syntax verwenden, ähnelt sich die Bildung des Kriterierenausdrucks.

Mit der Aggregatfunktion für Domänen DSum (DomSumme) können Sie z.B. die Gesamtsumme aller Frachtkosten in der Tabelle Bestellungen suchen. Sie können ein berechnetes Steuerelement erstellen, indem Sie den folgenden Ausdruck in die Eigenschaft ControlSource (Steuerelementinhalt) eingeben:

=DomSumme("[Frachtkosten]"; "Bestellungen")

Wenn Sie das Argument Kriterien angeben, wird die Funktion DomSumme auf einer Teilmenge von Domäne ausgeführt. Sie könnten z.B. die Gesamtsumme aller Frachtkosten in der Tabelle Bestellungen für die Bestellungen suchen, die in den US-Bundesstaat Kalifornien geliefert wurden:

=DomSumme("[Frachtkosten]"; "Bestellungen"; "[Region] = 'CA'")

Wenn Sie das Argument Kriterien für eine Domänenfunktion angeben, wertet Microsoft Access zunächst alle Ausdrücke im Argument aus und erstellt daraus einen Zeichenfolgenausdruck. Anschließend wird der Zeichenfolgenausdruck an die Domänenfunktion übergeben. Der Zeichenfolgenausdruck entspricht einer SQL WHERE-Klausel ohne das Wort WHERE.

Sie können numerische, textbezogene oder datums-/zeitbezogene Kriterien angeben. Welches Kriterium Sie auch angeben, das Argument Kriterien wird immer in eine Zeichenfolge umgewandelt, bevor es an die Aggregatfunktion für Domänen übergeben wird. Nachdem alle Ausdrücke ausgewertet wurden, müssen Sie daher sicherstellen, daß alle Bestandteile des Arguments zu einer einzigen Zeichenfolge verkettet werden, die in Anführungszeichen (") gesetzt wird.

Achten Sie beim Zusammenstellen von Kriterien darauf, daß die Zeichenfolge korrekt verkettet wird.

In der folgenden Liste werden die verschiedenen Möglichkeiten zum Angeben von Kriterien für eine Domänenfunktion aufgeführt:

Angeben numerischer Kriterien

Angeben textbezogener Kriterien

Angeben datums- und zeitbezogener Kriterien

Angeben numerischer Kriterien aus einem Steuerelement in einem Formular

Angeben textbezogener Kriterien aus einem Steuerelement in einem Formular

Angeben datums- und zeitbezogener Kriterien aus einem Steuerelement in einem Formular

Angeben mehrerer Felder im Argument "Kriterien"


Angeben numerischer Kriterien

Wenn Sie numerische Kriterien für das Argument Kriterien angeben möchten, geben Sie einen numerischen Wert als Bestandteil des Zeichenfolgenausdrucks an.

Angenommen, Sie führen die Funktion Dlookup (DomWert) auf der Tabelle Personal aus, um den Nachnamen eines bestimmten Angestellten zu ermitteln, und Sie möchten einen Wert aus dem Feld Personal-Nr im Argument Kriterien der Funktion verwenden, dann können Sie das Argument Kriterien wie im folgenden Beispiel zusammenstellen. Im Beispiel wird der Nachname des Angestellten mit der Personal-Nr 7 zurückgegeben:

=DomWert("[Nachname]"; "Personal"; "[Personal-Nr] = 7")


Angeben textbezogener Kriterien

Wenn Sie textbezogene Kriterien für das Argument Kriterien angeben möchten, geben Sie eine Textzeichenfolge als Bestandteil des Zeichenfolgenausdrucks an. Diese Textzeichenfolge muß in Hochkommas (') gesetzt werden.

Anmerkung   Durch die Hochkommas wird Microsoft Access mitgeteilt, daß das Argument Kriterien eine Zeichenfolge innerhalb einer Zeichenfolge enthält.

Angenommen, Sie verwenden die DAO-Methode Find, m die Stelle des erstmaligen Auftretens eines Nachnamens in einer Tabelle Personal aufzufinden. Sie können dazu das Argument Kriterien wie im folgenden Beispiel zusammenstellen. Im Beispiel wird der aktuelle Datensatzzeiger auf den ersten Datensatz gesetzt, der in der Tabelle Personal den Nachnamen Buchanan enthält. Achten Sie darauf, daß das Zeichenfolgenliteral Buchanan in Hochkommas und die ganze Zeichenfolge, die das Argument Kriterien bildet, in Anführungszeichen (") gesetzt werden muß.

Dim dbs As Database, rst As Recordset

Set dbs = CurrentDb

Set rst = dbs.OpenRecordset("Personal", dbOpenDynaset)

rst.FindFirst "[Nachname] = 'Buchanan'"


Angeben datums- und zeitbezogener Kriterien

Wenn Sie datums- oder zeitbezogene Kriterien für das Argument Kriterien angeben möchten, geben Sie einen Datums- oder Zeitwert als Bestandteil des Zeichenfolgenausdrucks an. Dieser Wert muß in Nummernzeichen (#) eingeschlossen sein.

Anmerkung   Durch das Nummernzeichen wird Microsoft Access mitgeteilt, daß das Argument Kriterien ein Datum oder eine Uhrzeit innerhalb einer Zeichenfolge enthält.

Angenommen, Sie erstellen einen Filter für ein Formular Personal, um die Datensätze aller Angestellten anzuzeigen, die am 1. Januar 1960 oder später geboren wurden. Sie könnten dann das Argument Kriterien der Eigenschaft Filter des Formulars wie im folgenden Beispiel zusammenstellen.

Forms!Personal.Filter = "[Geburtsdatum] >= #1-1-60#"


Angeben numerischer Kriterien aus einem Steuerelement in einem Formular

Wenn Sie das Argument Kriterien einer Aggregatfunktion für Domänen entsprechend den Wünschen eines Benutzers ändern möchten, können Sie angeben, daß die Kriterien einem bestimmten Steuerelement in einem Formular entnommen werden sollen. Sie könnten z.B. angeben, daß das Argument Kriterien einem Textfeld entnommen wird, das die Personal-Nr enthält.

Wenn Sie numerische Kriterien angeben möchten, die einem Steuerelement in einem Formular entnommen werden sollen, fügen Sie in das Argument Kriterien einen Ausdruck ein, der auf das Steuerelement verweist. Dieser Ausdruck sollte vom Zeichenfolgenausdruck getrennt stehen, damit er zuerst ausgewertet und dann mit dem Rest des Zeichenfolgenausdrucks verkettet wird, bevor die entsprechende Operation ausgeführt wird.

Angenommen, Sie führen die Funktion Dlookup(DomWert) auf einer Tabelle Personal aus, um den Nachnamen eines bestimmten Angestellten basierend auf der Personal-Nr zu finden. Im folgenden Beispiel werden die Kriterien durch den aktuellen Wert im Steuerelement Personal-Nr des Formulars Bestellungen festgelegt. Der auf das Steuerelement verweisende Ausdruck wird bei jedem Aufruf der Funktion ausgewertet. Wenn sich also der Wert des Steuerelements ändert, wird diese Änderung im Argument Kriterien berücksichtigt.

=DomWert("[Nachname]"; "Personal"; "[Personal-Nr] = " & Formulare!Bestellungen!Personal-Nr)

Wenn der aktuelle Wert des Feldes Personal-Nr 7 lautet, wird das folgende Argument Kriterien an die Funktion DomWert übergeben:

"[Personal-Nr] = 7"

Tip   Wenn Sie Fehler im Argument Kriterien beseitigen möchten, unterteilen Sie den Ausdruck in kleinere Komponenten und testen diese einzeln im Testfenster. Wenn alle Komponenten einwandfrei funktionieren, setzen Sie sie nacheinander wieder zusammen, bis der gesamte Ausdruck einwandfrei funktioniert.

Sie können auch eine Variable, die einen numerischen Wert darstellt, in das Argument Kriterien einfügen. Die Variable sollte getrennt vom Zeichenfolgenausdruck stehen, damit sie von Microsoft Access zuerst ausgewertet wird. Das Ergebnis wird dann mit dem Rest des Zeichenfolgenausdrucks verkettet.

Das folgende Beispiel zeigt, wie das Argument Kriterien zusammengestellt wird, wenn es eine Variable enthalten soll:

Dim intNum As Integer, Ergebnis As Variant

intNum = 7

Ergebnis = DomWert("[Nachname]", "Personal", _

"[Personal-Nr] = " & intNum)


Angeben textbezogener Kriterien aus einem Steuerelement in einem Formular

Wenn Sie das Argument Kriterien einer Operation entsprechend einem Benutzerwunsch ändern möchten, können Sie angeben, daß die Kriterien einem bestimmten Steuerelement eines Formulars entnommen werden sollen. Sie könnten z.B. angeben, daß das Argument Kriterien einem Listenfeld entnommen wird, das die Nachnamen aller Angestellten in einer Tabelle Personal enthält.

Wenn Sie textbezogene Kriterien angeben möchten, die einem Steuerelement eines Formulars entnommen werden sollen, fügen Sie in das Argument Kriterien einen Ausdruck ein, der auf das Steuerelement des Formulars verweist. Dieser Ausdruck sollte vom Zeichenfolgenausdruck getrennt stehen, damit er zuerst ausgewertet und dann mit dem Rest des Zeichenfolgenausdrucks verkettet wird, bevor die entsprechende Operation ausgeführt wird.

Sie müssen nicht nur den gesamten Zeichenfolgenausdruck in Anführungszeichen ("), sondern auch die textbezogenen Kriterien innerhalb des Zeichenfolgenausdruck in Hochkommas (') setzen. Die Hochkommas müssen sich in den Zeichenfolgen neben dem Ausdruck befinden, der auf das Steuerelement im Formular verweist.

Anmerkung   Durch die Hochkommas wird Microsoft Access mitgeteilt, daß das Argument Kriterien eine Zeichenfolge innerhalb einer Zeichenfolge enthält.

Im folgenden Beispiel wird eine Suche in der Tabelle Personal durchgeführt, um die Region zurückzugeben, in der ein Angestellter wohnt, wobei der Nachname des Angestellten zugrundegelegt wird. Die Kriterien werden vom aktuellen Wert des Listenfeld-Steuerelements Nachname im Formular Personal bestimmt. Beachten Sie die Anordnung der Hochkommas.

=DomWert("[Region]"; "Personal"; "[Nachname] = '" & Formulare!Personal!Nachname & "'")

Wenn der aktuelle Wert des Steuerelements King lautet, wird folgendes Argument Kriterien an die Funktion Dlookup (DomWert) übergeben, nachdem der Ausdruck ausgewertet und die Zeichenfolge verkettet wurde:

"[Nachname] = 'King'"

Beachten Sie, daß die gesamte Zeichenfolge, die das Argument Kriterien enthält, ebenfalls in Anführungszeichen stehen muß, nachdem die Zeichenfolge verkettet wurde.

Tip   Wenn Sie Fehler im Argument Kriterien beseitigen möchten, unterteilen Sie den Ausdruck in kleinere Komponenten und testen diese einzeln im Testfenster. Wenn alle Komponenten einwandfrei funktionieren, setzen Sie sie nacheinander wieder zusammen, bis der gesamte Ausdruck einwandfrei funktioniert.

Sie können auch eine Variable, die eine textbezogene Zeichenfolge darstellt, in das Argument Kriterien einfügen. Die Variable sollte getrennt vom Zeichenfolgenausdruck stehen, damit sie zuerst ausgewertet wird. Das Ergebnis wird dann mit dem Rest des Zeichenfolgenausdrucks verkettet. Die textbezogene Zeichenfolge muß in Hochkommas oder in Anführungszeichen gesetzt sein.

Das folgende Beispiel zeigt, wie das Argument Kriterien zusammengestellt wird, wenn es eine Variable enthalten soll, die eine textbezogene Zeichenfolge darstellt:

Dim strNachname As String, varErg As Variant

strNachname = "King"

varErg = DomWert("[Personal-Nr]", "Personal", "[Nachname] = '" & strNachname & "'")


Angeben datums- und zeitbezogener Kriterien aus einem Steuerelement in einem Formular

Wenn Sie das Argument Kriterien einer Operation entsprechend einem Benutzerwunsch ändern möchten, können Sie angeben, daß die Kriterien einem bestimmten Steuerelement eines Formulars entnommen werden. Sie könnten z.B. angeben, daß das Argument Kriterien einem Listenfeld entnommen wird, das Bestelldaten aus der Tabelle Bestellungen enthält.

Wenn Sie datums- oder zeitbezogene Kriterien angeben möchten, die einem Steuerelement eines Formulars entnommen werden sollen, fügen Sie in das Argument Kriterien einen Ausdruck ein, der auf das Steuerelement im Formular verweist. Dieser Ausdruck sollte vom Zeichenfolgenausdruck getrennt stehen, damit er zuerst ausgewertet und dann mit dem Rest des Zeichenfolgenausdrucks verkettet wird, bevor die entsprechende Operation ausgeführt wird.

Sie müssen nicht nur den gesamten Zeichenfolgenausdruck in Anführungszeichen (") setzen, sondern auch die datums- oder zeitbezogenen Kriterien innerhalb des Zeichenfolgenausdrucks in Nummernzeichen (#). Die Nummernzeichen müssen sich in den Zeichenfolgen befinden, die neben dem Ausdruck stehen, der auf das Steuerelement im Formular verweist.

Anmerkung   Durch die Nummernzeichen wird Microsoft Access mitgeteilt, daß das Argument Kriterien eine Datums- oder Zeitangabe innerhalb einer Zeichenfolge enthält.

Im folgenden Beispiel wird die Eigenschaft Filter eines Formulars auf der Grundlage von Kriterien eingestellt. Die Kriterien stammen von einem Steuerelement namens Einstellungsdatum des Formulars. Beachten Sie die Anordnung der Nummernzeichen.

Forms!Personal.Filter = "[Einstellungsdatum] >= #" & _

Forms!Personal!Einstellungsdatum & "#"

Forms!Personal.FilterOn = True

Ist der aktuelle Wert des Steuerelements Einstellungsdatum 1.5.92, hat die Eigenschaft Filter das folgende Argument Kriterien:

"[Einstellungsdatum] >= #1.5.92#"

Tip   Wenn Sie Fehler im Argument Kriterien beseitigen möchten, unterteilen Sie den Ausdruck in kleinere Komponenten und testen diese einzeln im Testfenster. Wenn alle Komponenten einwandfrei funktionieren, setzen Sie sie nacheinander wieder zusammen, bis der gesamte Ausdruck einwandfrei funktioniert.

Sie können auch eine Variable, die ein Datum oder eine Uhrzeit darstellt, in das Argument Kriterien einfügen. Die Variable sollte getrennt vom Zeichenfolgenausdruck stehen, damit sie zuerst ausgewertet wird. Das Ergebnis wird dann mit dem Rest des Zeichenfolgenausdrucks verkettet. Das Datums- oder Zeitkriterium muß in Nummernzeichen (#) eingeschlossen sein.

Das folgende Beispiel zeigt, wie das Argument Kriterien zusammengestellt wird, wenn es eine Variable enthalten soll, die ein Datum oder eine Uhrzeit darstellt:

Dim datEintrittsdatum As Date

datEintrittsdatum = #1.5.92#

Forms!Personal.Filter = "[Eintrittsdatum] >= #" & _

datEintrittsdatum & "#"


Angeben mehrerer Felder im Argument Kriterien

Sie können mehrere Felder im Argument Kriterien einer Aggregatfunktion für Domänen angeben.

Dabei müssen Sie sicherstellen, daß mehrere Zeichenfolgenausdrücke korrekt zu einer gültigen SQL WHERE-Klausel verkettet sind. In einer SQL WHERE-Klausel mit mehreren Feldern können Felder durch eines der folgenden drei Schlüsselwörter verknüpft werden: AND, OR oder NOT. Ihr Ausdruck muß nach der Auswertung eine Zeichenfolge ergeben, die eines dieser Schlüsselwörter enthält.

Angenommen, Sie wollen die Eigenschaft Filter für ein Formular Personal einstellen, um die angezeigten Datensätze durch zwei Gruppen von Kriterien einzuschränken. Im folgenden Beispiel werden die Daten gefiltert, so daß nur Angestellte aufgelistet werden, die den Titel "Vertriebsmitarbeiterin" tragen und nach dem 1. Januar 1993 eingestellt wurden:

Dim datEinstellungsdatum As Date, strPosition As String

datEinstellungsdatum = #1.1.93#

strPosition = "Vertriebsmitarbeiterin"

Forms!Personal.Filter = "[Einstellungsdatum] >= #" & _

datEinstellungsdatum & "# AND [Position] = '" & strPosition & "'"

Forms!Personal.FilterOn = True

Als Argument Kriterien erhalten Sie folgende Zeichenfolge:

"[Einstellungsdatum] >= #1.1.93# AND [Position] = 'Vertriebsmitarbeiterin'"

Tip   Wenn Sie Fehler im Argument Kriterien beseitigen möchten, unterteilen Sie den Ausdruck in kleinere Komponenten und testen diese einzeln im Testfenster. Wenn alle Komponenten einwandfrei funktionieren, setzen Sie sie nacheinander wieder zusammen, bis der gesamte Ausdruck einwandfrei funktioniert.


Verwenden von Anführungszeichen in Zeichenfolgen

In Situationen, in denen Sie Zeichenfolgen verketten müssen, sollten Sie unter Umständen eine Zeichenfolge oder Zeichenfolgenvariable in eine andere Zeichenfolge einbetten, z.B. in den folgenden Situationen:

•	Beim Angeben von Kriterien für Aggregatfunktionen für Domänen.

•	Beim Angeben von Kriterien für die Find-Methoden.

•	Beim Angeben von Kriterien der Eigenschaft Filter eines Formulars.

•	Beim Erstellen von SQL-Zeichenfolgen.

In diesen Situationen muß Microsoft Access eine Zeichenfolge an die Microsoft Jet-Datenbank-Engine übergeben. Wenn Sie z.B. das Argument Kriterien für eine Aggregatfunktion für Domänen angeben, muß Microsoft Access alle Variablen auswerten, sie zu einer Zeichenfolge verketten und schließlich die ganze Zeichenfolge an die Jet-Datenbank-Engine übergeben.

Wenn Sie eine numerische Variable einbetten, wertet Microsoft Access die Variable aus und verkettet den Wert mit der Zeichenfolge. Handelt es sich bei der Variablen jedoch um eine Textzeichenfolge, dann enthält die sich ergebende Kriterienzeichenfolge eine Zeichenfolge innerhalb einer Zeichenfolge. Eine Zeichenfolge innerhalb einer Zeichenfolge muß durch Zeichenfolgen-Trennzeichen gekennzeichnet werden. Andernfalls kann die Jet-Datenbank-Engine nicht feststellen, welcher Teil der Zeichenfolge den Wert darstellt, den Sie verwenden möchten.

Die Zeichenfolgen-Trennzeichen sind eigentlich kein Bestandteil der Variablen, aber sie müssen in die Zeichenfolge für das Argument Kriterien eingebettet sein. Sie können Anführungszeichen (") oder Hochkommas (') als Zeichenfolgen-Trennzeichen verwenden. Es gibt drei Möglichkeiten, um die Zeichenfolge für das Argument Kriterien zusammenzusetzen. Bei allen Möglichkeiten erhalten Sie eine Zeichenfolge für das Argument Kriterien, die wie eines der beiden folgenden Beispiele aussieht.

"[Nachname] = 'Schmidt'"

- Oder -

"[Nachname] = "Schmidt""

Verwenden von Hochkommas

Sie sollten Hochkommas in der Zeichenfolge für Kriterien so verwenden, daß der Wert einer Variablen, die mit der Zeichenfolge verkettet wird, in die Hochkommas gesetzt wird. Wenn das Argument Kriterien z.B. die Zeichenfolgenvariable strName enthalten soll, können Sie das Argument Kriterien wie im folgenden Beispiel zusammensetzen:

"[Nachname] = '" & strName & "'"

Wenn die Variable strName ausgewertet und mit der Zeichenfolge Kriterien verkettet ist, sieht die Zeichenfolge Kriterien folgendermaßen aus:

"[Nachname] = 'Schmidt'"

Anmerkung   Bei dieser Syntax sind keine Hochkommas im Wert der Variablen selbst zulässig. Enthält der Wert der Zeichenfolgenvariablen ein Hochkomma, dann gibt Microsoft Access einen Laufzeitfehler aus. Wenn Ihre Variable Werte mit Hochkommas darstellen kann, sollten Sie die weiter unten beschriebenen Syntaxvarianten verwenden.

Verwenden von Anführungszeichen

Sie sollten Anführungszeichen in der Zeichenfolge für das Argument Kriterien so verwenden, daß der Wert einer Variablen nach der Auswertung in Anführungszeichen gesetzt ist. Innerhalb einer Zeichenfolge müssen Sie zwei Paar Anführungszeichen verwenden, um ein Paar Anführungszeichen darzustellen. Sie könnten das Argument Kriterien wie im folgenden Beispiel zusammenstellen:

"[Nachname] = """ & strName & """"

Wenn die Variable strName ausgewertet und mit dem Argument Kriterien verkettet wird, wird jedes Paar Anführungszeichen durch ein Anführungszeichen ersetzt. Sie erhalten das folgende Argument Kriterien:

"[Nachname] = 'Schmidt'"

Diese Syntax erscheint vielleicht komplizierter als bei der Verwendung von Hochkommas, aber sie ermöglicht das Einbetten einer Zeichenfolge, die ein Hochkomma innerhalb der Zeichenfolge Kriterien enthält. Außerdem haben Sie die Möglichkeit, mehrere Zeichenfolgen in der eingebetteten Zeichenfolge zu verschachteln.

Verwenden einer Variablen, die Anführungszeichen darstellt

Sie können eine Zeichenfolgenvariable erstellen, die Anführungszeichen darstellt, und diese Variable zusammen mit dem Wert der Variablen mit der Zeichenfolge für Kriterien verketten. Die in ANSI verwendete Darstellung für Anführungszeichen ist Chr$(34). Sie könnten diesen Wert einer Zeichenfolgenvariablen strAnfZeich zuweisen, und Sie könnten dann das Argument Kriterien wie im folgenden Beispiel zusammensetzen:

"[Nachname] = " & strAnfZeich & strName & strAnfZeich

Wenn die Variablen ausgewertet und mit der Zeichenfolge Kriterien verkettet werden, erhalten Sie folgendes Argument Kriterien:

"[Nachname] = "Schmidt""


Microsoft Access-Spezifikationen

Was möchten Sie tun?

Informationen zu Datenbankspezifikationen anzeigen

Informationen zu Tabellenspezifikationen anzeigen

Informationen zu Abfragespezifikationen anzeigen

Informationen zu Formular- und Berichtsspezifikationen anzeigen

Informationen zu Makrospezifikationen anzeigen


Datenbankspezifikationen

Attribut	Maximalwert
Größe einer Datenbankdatei (.mdb)	1 Gigabyte.  Da eine Datenbank jedoch verknüpfte Tabellen aus anderen Dateien enthalten kann, ist ihre Gesamtgröße nur durch die verfügbare Speicherkapazität beschränkt.
Anzahl der Objekte in einer Datenbank	32.768
Module (einschließlich Formulare und Berichte, deren Eigenschaft HasModule auf True eingestellt ist)	1024
Anzahl der Zeichen in einem Objektnamen	64
Anzahl der Zeichen in einem Kennwort	14
Anzahl der Zeichen in einem Benutzer- oder Gruppennamen	20
Anzahl der gleichzeitig aktiven Benutzer	255


Tabellenspezifikationen

Attribut	Maximalwert
Anzahl der Zeichen in einem Tabellennamen	64
Anzahl der Zeichen in einem Feldnamen	64
Anzahl der Felder in einer Tabelle	255
Anzahl der geöffneten Tabellen	1.024. Die effektive Anzahl kann wegen interner Tabellen, die Microsoft Access öffnet, kleiner sein.
Tabellengröße	1 Gigabyte
Anzahl der Zeichen in einem Feld vom Datentyp Text	255
Anzahl der Zeichen in einem Feld vom Datentyp Memo	65.535, wenn die Daten über die Benutzeroberfläche eingegeben werden; 1 Gigabyte, wenn die Daten programmgesteuert eingegeben werden.
Größe eines Feldes vom Datentyp OLE-Objekt	1 Gigabyte
Anzahl der Indizes in einer Tabelle	32
Anzahl der Felder in einem Index	10
Anzahl der Zeichen in einer Gültigkeitsmeldung	255
Anzahl der Zeichen in einer Gültigkeitsregel	2.048
Anzahl der Zeichen in einer Tabellen- oder Feldbeschreibung	255
Anzahl der Zeichen in einem Datensatz (ausgenommen Felder vom Datentyp Memo und OLE-Objekt)	2.000
Anzahl der Zeichen in der Eigenschafteneinstellung eines Feldes	255


Abfragespezifikationen

Attribut	Maximalwert
Anzahl der Durchsetzungsbeziehungen	32 pro Tabelle abzüglich der Anzahl von Indizes, die für Felder oder Feldkombinationen bestehen und nicht in Beziehungen verwickelt sind.
Anzahl der Tabellen in einer Abfrage	32
Anzahl der Felder in einer Datensatzgruppe	255
Größe einer Datensatzgruppe	1 Gigabyte
Sortierbeschränkung	255 Zeichen in einem oder mehreren Feldern
Anzahl der Ebenen bei verschachtelten Abfragen	50
Anzahl der Zeichen in einer Zelle des Abfrage-Entwurfsbereichs	1.024
Anzahl der Zeichen für einen Parameter in einer Parameterabfrage	255
Anzahl der ANDs in einer WHERE- oder HAVING-Klausel	40
Anzahl der Zeichen in einer SQL-Anweisung	ungefähr 64.000


Formular- und Berichtsspezifikationen

Attribut	Maximalwert
Anzahl der Zeichen in einem Bezeichnungsfeld	2.048
Anzahl der Zeichen in einem Textfeld	65.535
Breite des Formulars oder Berichts	55,87 cm (22 Zoll)
Höhe eines Bereichs	55,87 cm (22 Zoll)
Höhe aller Bereiche zuzüglich der Bereichsköpfe (in der Entwurfsansicht)	508 cm (200 Zoll)
Anzahl der Ebenen bei verschachtelten Formularen oder Berichten	3
Anzahl der Felder oder Ausdrücke, die in einem Bericht sortiert oder gruppiert werden können	10
Anzahl der Kopf- und Fußbereiche in einem Bericht	1 Berichtskopf/-fuß; 1 Seitenkopf/-fuß; 10 Gruppenköpfe/-füße
Anzahl der gedruckten Seiten in einem Bericht	65.536
Anzahl der Steuerelemente und Bereiche, die während der Lebensdauer des Formulars bzw. Berichts insgesamt hinzugefügt werden können	754


Makrospezifikationen

Attribut	Maximalwert
Anzahl der Aktionen in einem Makro	999
Anzahl der Zeichen in einer Bedingung	255
Anzahl der Zeichen in einem Kommentar	255
Anzahl der Zeichen in einem Aktionsargument	255


DDE-Funktion

Sie können die Funktion DDE verwenden, um einen dynamischen Datenaustausch (DDE) mit einer anderen Anwendung zu beginnen, Informationen von dieser Anwendung anzufordern und diese Informationen in einem Steuerelement eines Formulars oder Berichts anzuzeigen.

Verwenden Sie die Funktion DDE beispielsweise in der Einstellung der Eigenschaft ControlSource (Steuerelementinhalt) eines Textfelds, um Daten aus einer bestimmten Zelle einer Microsoft Excel-Tabelle anzuzeigen.

Syntax

DDE(Anwendung; Thema; Element)

Die Syntax der Funktion DDE hat die folgenden Argumente.

Argument	Beschreibung
Anwendung	Ein Zeichenfolgenausdruck, der den Namen einer Anwendung angibt, die an einem DDE-Dialog teilnehmen kann. Normalerweise ist dies der Name einer .EXE-Datei (ohne die Erweiterung .EXE ) für eine auf Microsoft Windows basierende Anwendung, wie z.B. Microsoft Excel. Wenn Sie z.B. einen DDE-Dialog mit Microsoft Excel starten möchten, geben Sie "Excel" als Argument Anwendung an.
Thema	Ein Zeichenfolgenausdruck, der den Namen eines Themas angibt, das von Anwendung erkannt wird. Das Thema ist häufig eine Dokument- oder Datendatei. In der Dokumentation der anderen Anwendung finden Sie eine Liste möglicher Themen.
Element	Ein Zeichenfolgenausdruck, der den Namen eines Datenelements bezeichnet, das von Anwendung erkannt wird. In der Dokumentation der anderen Anwendung finden Sie eine Liste möglicher Elemente.
Hinweis

Die Funktion DDE versucht, einen DDE-Dialog mit der angegebenen Anwendung und dem Thema zu starten, und fordert die Daten in Element an. Im Erfolgsfall liefert die Funktion DDE eine Zeichenfolge, die die angeforderten Informationen enthält.

Wenn Sie Daten von Microsoft Excel anfordern, könnte Element ein Zeilen-und-Spaltenbezeichner sein, wie z.B. "Z1S1", oder der Name eines Zellbereiches. Im folgenden Beispiel fordert die Funktion DDE Informationen von der Zelle in Zeile 1, Spalte 1 in einer Microsoft Excel-Tabelle an. Sie können den folgenden Ausdruck für ein Textfeld-Steuerelement in das Feld der Eigenschaft Steuerelementinhalt im Eigenschaftenfenster des Steuerelements eingeben.

= DDE("Excel"; "Tabelle1"; "Z1S1")

Sie können die Funktion DDE nur in der Eigenschaft Steuerelementinhalt eines Textfelds, einer Optionsgruppe, eines Kontrollkästchens oder eines Kombinationsfelds verwenden. Sie können die Funktion DDE nicht aus Visual Basic heraus aufrufen.

Wenn Sie die Funktion DDE verwenden, ist das Steuerelement in der Formularansicht und der Seitenansicht schreibgeschützt. Wenn Sie die Funktion DDE z.B. in einem Textfeld verwenden, kann der Text im Textfeld nicht bearbeitet werden. Sie müssen den Text in der anderen Anwendung bearbeiten. Da die Eigenschaft Steuerelementinhalt in der Formularansicht und der Seitenansicht ebenfalls schreibgeschützt ist, müssen Änderungen am Steuerelement in der Entwurfsansicht vorgenommen werden.

Die maximal zulässige Anzahl an DDE-Dialogen, die gleichzeitig geöffnet sein können, wird von Microsoft Windows sowie dem Arbeitsspeicher und den Ressourcen Ihres Computers bestimmt. Wenn der Dialog nicht gestartet werden kann, weil die Anwendung nicht ausgeführt oder das Thema nicht erkannt wird, oder wenn die maximal zulässige Anzahl an Dialogen bereits erreicht wurde, gibt die Funktion DDE den Wert Null zurück.

Anmerkung   Möglicherweise ist die andere Anwendung so konfiguriert, daß sie die Aufforderung zum DDE-Dialog ignoriert. In diesem Fall gibt die Funktion DDE den Wert Null zurück. Sie können auch Microsoft Access so konfigurieren, daß Anfragen von anderen Anwendungen ignoriert werden: Klicken Sie im Menü Extras auf Optionen, und wählen Sie im Dialogfeld Optionen in der Registerkarte Weitere unter DDE-Operationen die Option DDE-Anfragen ignorieren aus.

Tip   Wenn Sie Objekte einer anderen Anwendung aus Microsoft Access heraus bearbeiten müssen, bietet sich die Automation an.

Die folgende Tabelle gibt einen Überblick über das Verhalten der Funktion DDE bei Verwendung mit den einzelnen Steuerelementen.

Steuerelement	Hinweis
Textfeld	Das Argument Element kann auf Text oder Zahlen verweisen. Wenn Element auf mehrere Informationen verweist (z.B. auf einen benannten Bereich einer Microsoft Excel-Tabelle, der mehrere Zellen enthält), gibt die Funktion DDE den ersten Eintrag zurück. Sie könnten die Funktion DDE z.B. zusammen mit einem Textfeld verwenden, um die Daten anzuzeigen, die in einer Zelle der Tabelle enthalten sind.
Kombinationsfeld	Die Funktion DDE füllt das Kombinationsfeld mit den Informationen, auf die Element verweist. Sie können keine Daten in den Textbereich des Feldes eingeben. Sie könnten die Funktion DDE z.B. zusammen mit einem Kombinationsfeld verwenden, um eine Liste von Staaten oder Ländern anzuzeigen, die Sie in einer Microsoft Excel-Tabelle verwalten.
Optionsgruppe	Die Eigenschaft OptionValue (Optionswert) jedes Optionsfelds einer Optionsgruppe ist auf eine Zahl eingestellt. Normalerweise ist der Wert der ersten Schaltfläche 1, der Wert der zweiten ist 2 usw. Die von der Funktion DDE zurückgegebene Zahl bestimmt, welches Optionsfeld ausgewählt wird.
	Wenn die Funktion DDE z.B. 2 zurückgibt, wird die zweite Schaltfläche ausgewählt. Wenn DDE einen Wert zurückgibt, der mit keiner Einstellung der Eigenschaft Optionswert übereinstimmt, wird keine der Schaltflächen ausgewählt. Wenn Element auf mehrere Informationen verweist (z.B. auf einen benannten Bereich einer Microsoft Excel-Tabelle, der mehrere Zellen enthält), gibt die Funktion DDE den ersten Eintrag zurück.
Kontrollkästchen	Wenn die Funktion DDE die Zahl 0 zurückgibt, wird das Kontrollkästchen deaktiviert. Wenn die Funktion DDE eine Zahl ungleich 0 zurückgibt (z.B. 1 oder -1), wird das Kontrollkästchen aktiviert. Wenn Element auf Text oder mehrere Informationen verweist (z.B. auf den benannten Bereich einer Microsoft Excel-Tabelle, der mehrere Zellen enthält), steht das Kontrollkästchen nicht zur Verfügung.


DDESend-Funktion (DDESenden)

Sie können die Funktion DDESend verwenden, um einen dynamischen Datenaustausch (DDE) mit einer anderen Anwendung zu beginnen und Daten aus einem Steuerelement eines Formulars oder Berichts an diese Anwendung zu senden.

Verwenden Sie die Funktion DDESend in der Einstellung der Eigenschaft ControlSource (Steuerelementinhalt) eines Textfelds, um die in diesem Textfeld angezeigten Daten an eine bestimmte Zelle in einer Microsoft Excel-Tabelle zu senden.

Syntax

DDESend(Anwendung; Thema; Element; Daten)

Die Funktion DDESend verwendet die folgenden Argumente.

Argument	Beschreibung
Anwendung	Zeichenfolgenausdruck, der den Namen einer Anwendung angibt, die an einem DDE-Dialog teilnehmen kann. Normalerweise ist dies der Name einer .EXE-Datei (ohne die Erweiterung .EXE) für eine auf Microsoft Windows basierende Anwendung, wie z.B. Microsoft Excel. Wenn Sie z.B. einen DDE-Dialog mit Microsoft Excel starten möchten, geben Sie "Excel" als Argument Anwendung ein.
Thema	Zeichenfolgenausdruck, der den Namen eines Themas angibt, das von Anwendung erkannt wird. Thema ist häufig eine Dokument- oder Datendatei. In der Dokumentation der anderen Anwendung finden Sie eine Liste möglicher Themen.
Element	Zeichenfolgenausdruck, der den Namen eines Datenelements bezeichnet, das von Anwendung erkannt wird. In der Dokumentation der anderen Anwendung finden Sie eine Liste möglicher Elemente.
Daten	Zeichenfolge oder Ausdruck, die oder der die Daten enthält, die an Anwendung gesendet werden.
Hinweis

Die Funktion DDESend beginnt einen DDE-Dialog mit den Argumenten Anwendung und Thema und kennzeichnet Element als das Datenelement, das Daten empfängt. Wenn das Argument Anwendung z.B. Microsoft Excel darstellt, könnte Thema den Wert "Tabelle1" haben, und Element wäre ein Zeilen- und Spaltenbezeichner wie "Z1S1" oder der Name eines Zellbereiches.

Das Argument Daten gibt die zu sendenden Informationen an. Es kann sich dabei um ein Zeichenfolgenliteral, etwa "Bericht vorgelegt von M. Meyer", handeln oder um einen Ausdruck mit dem Ergebnis einer Funktion, die eine Zeichenfolge (z.B. "Vorgelegt am " & Datum( )) erzeugt. Wenn Element auf mehrere Informationen verweist (z.B. auf einen benannten Bereich einer Microsoft Excel-Tabelle, der mehrere Zellen enthält), sendet die Funktion DDESend das Argument Daten an den ersten Eintrag.

Im folgenden Beispiel sendet die Funktion DDESend die Zeichenfolge "Beispieltext" an die Zelle in Zeile 1, Spalte 1 einer Microsoft Excel-Tabelle. Sie können den folgenden Ausdruck für ein Textfeld-Steuerelement in das Feld der Eigenschaft Steuerelementinhalt im Eigenschaftenfenster des Steuerelements eingeben.

=DDESend("Excel"; "Tabelle1"; "Z1S1"; "Beispieltext")

Angenommen, Sie möchten Daten von einem gebundenen Steuerelement eines Microsoft Access-Formulars an eine Zelle einer Microsoft Excel-Tabelle senden. Die Eigenschaft Steuerelementinhalt des gebundenen Steuerelements enthält bereits einen Feldnamen oder Ausdruck. Sie können ein weiteres Text- oder Kombinationsfeld erstellen und dessen Eigenschaft Steuerelementinhalt auf einen Ausdruck einstellen, der die Funktion DDESend enthält, wobei das Argument Daten dem Namen des gebundenen Steuerelements entspricht. Wenn z.B. bereits ein gebundenes Textfeld mit dem Namen Nachname vorhanden ist, können Sie ein weiteres Textfeld erstellen und dessen Eigenschaft Steuerelementinhalt folgendermaßen einstellen:

= DDESend("Excel"; "Tabelle1"; "Z1S1"; [Nachname])

Dieses "Zwischen-Steuerelement" muß ein Textfeld oder ein Kombinationsfeld sein. Sie können den Namen eines gebundenen Steuerelements nicht für das Argument Daten bei einem Kontrollkästchen oder einer Optionsgruppe verwenden.

Sie können die Funktion DDESend nur in der Einstellung der Eigenschaft Steuerelementinhalt eines Textfelds, einer Optionsgruppe, eines Kontrollkästchens oder eines Kombinationsfelds eines Formulars verwenden. Sie können die Funktion DDESend nicht aus Visual Basic heraus aufrufen.

Wenn Sie die Funktion DDESend verwenden, ist das Steuerelement in der Formularansicht und der Seitenansicht schreibgeschützt. Da die Eigenschaft Steuerelementinhalt in der Formularansicht und der Seitenansicht ebenfalls schreibgeschützt ist, müssen Änderungen am Steuerelement in der Entwurfsansicht vorgenommen werden.

Die maximal zulässige Anzahl an DDE-Dialogen, die gleichzeitig geöffnet sein können, wird von Microsoft Windows sowie dem Arbeitsspeicher und den Ressourcen Ihres Computers bestimmt. Wenn der Dialog nicht gestartet werden kann, weil das Argument Anwendung nicht ausgeführt oder das Argument Thema nicht erkannt wird, oder wenn die maximal zulässige Anzahl an Dialogen bereits erreicht wurde, gibt die Funktion DDESend den Wert Null zurück.

Anmerkung   Möglicherweise ist die andere Anwendung so konfiguriert, daß sie die Aufforderung zum DDE-Dialog ignoriert. In dem Fall gibt die Funktion DDESend den Wert Null zurück. Sie können auch Microsoft Access so konfigurieren, daß Anfragen von anderen Anwendungen ignoriert werden: Klicken Sie im Menü Extras auf Optionen, und wählen Sie im Dialogfeld Optionen in der Registerkarte Weitere unter DDE-Operationen die Option DDE-Anfragen ignorieren aus.

Tip   Wenn Sie Objekte einer anderen Anwendung aus Microsoft Access heraus bearbeiten müssen, bietet sich die Automation an.

Die folgende Tabelle gibt einen Überblick über das Verhalten der Funktion DDESend bei Verwendung mit den einzelnen Steuerelementen.

Steuerelement	Hinweis
Textfeld oder Kombinationsfeld	Da das Textfeld oder das Kombinationsfeld in der Formularansicht und in der Seitenansicht leer erscheint, sollten Sie die zugehörige Eigenschaft Visible (Sichtbar) auf Nein einstellen. Das Argument Daten kann auf ein anderes Steuerelement verweisen. Das folgende Beispiel zeigt, wie Sie den Inhalt des Steuerelements Nachname an eine Microsoft Excel-Tabelle senden können: = DDESend("Excel"; "Tabelle1"; "Z1S1"; [Nachname])
Optionsgruppe	Keines der Optionsfelder der Optionsgruppe ist in der Formularansicht und der Seitenansicht ausgewählt. Sie können die Optionsgruppe (und die darin enthaltenen Optionsfelder) ausblenden, indem Sie die zugehörige Eigenschaft Sichtbar auf Nein einstellen. Das Argument Daten muß numerische Daten enthalten, wie z.B. "2". Enthält es nicht-numerische Daten, dann sendet die Funktion DDESend die Informationen nicht, und Element wird nicht geändert.
Kontrollkästchen	Das Kontrollkästchen erscheint in der Formularansicht und in der Seitenansicht abgeblendet. Sie können es ausblenden, indem Sie die zugehörige Eigenschaft Sichtbar auf Nein einstellen. Das Argument Daten muß numerische Daten enthalten, wie z.B. "2". Enthält es nicht-numerische Daten, dann sendet die Funktion DDESend die Informationen nicht, und Element wird nicht geändert.


Verwenden von Microsoft Access als DDE-Server

Microsoft Access unterstützt dynamischen Datenaustausch (DDE) sowohl als Zielanwendung (Client) als auch als Quellanwendung (Server). Eine Anwendung wie Microsoft Word kann z.B. als Client Daten mittels DDE von einer Microsoft Access-Datenbank als Server abrufen.

Tip   Wenn Sie Microsoft Access-Objekte aus einer anderen Anwendung heraus bearbeiten möchten, bietet sich Automatisierung an.

Ein DDE-Datenaustausch zwischen einem Client und einem Server findet zu einem bestimmten Thema statt. Ein Thema kann entweder eine Datendatei in dem von der Server-Anwendung unterstützten Format oder das Thema System sein, welches Informationen über die Server-Anwendung selbst bereitstellt. Nachdem ein Datenaustausch zu einem bestimmten Thema begonnen hat, kann nur ein mit diesem Thema verbundenes Datenelement übertragen werden.

Wenn Sie z.B. in Microsoft Word arbeiten und Daten aus einer bestimmten Microsoft Access-Datenbank in ein Dokument einfügen möchten, leiten Sie einen DDE-Datenaustausch mit Microsoft Access ein, indem Sie einen DDE-Kanal mit der Funktion DDEInitiate öffnen und den Namen der Datenbankdatei als Thema angeben. Sie können dann diesen Kanal dazu verwenden, Daten von dieser Datenbank an Microsoft Word zu übertragen.

Die folgenden Themen werden von Microsoft Access als DDE-Server unterstützt:

•	Das Thema System

•	Der Name einer Datenbank (Thema Datenbank)

•	Der Name einer Tabelle (Thema Tabellenname)

•	Der Name einer Abfrage (Thema Abfragename)

•	Eine Microsoft Access SQL-Zeichenfolge (Thema SQLZeichenfolge)

Nachdem Sie einen DDE-Datenaustausch eingeleitet haben, können Sie die Anweisung DDEExecute dazu verwenden, einen Befehl von der Client- an die Server-Anwendung zu senden. Wenn Microsoft Access als DDE-Server verwendet wird, erkennt es die folgenden Befehle als gültig an:

•	Den Namen eines Makros in der aktuellen Datenbank

•	Jede Aktion, die Sie in Visual Basic mit einer Methode des Objekts DoCmd ausführen können.

•	Die Aktionen DatenbankÖffnen und DatenbankSchließen, die nur für DDE-Operationen verwendet werden. (Ein Beispiel zur Anwendung dieser Aktionen finden Sie weiter unten in diesem Thema.)

Anmerkung   Wenn Sie eine Makroaktion als eine DDEExecute-Anweisung angeben, folgen die Aktion und alle Argumente der Syntax des Objekts DoCmd und werden in eckigen Klammern ([ ]) angegeben. Anwendungen, die DDE unterstützen, erkennen jedoch keine eingebauten Konstanten in DDE-Operationen. Außerdem werden Zeichenfolgenargumente, die ein Komma enthalten, in Anführungszeichen ("") angegeben. In anderen Fällen sind Anführungszeichen nicht notwendig.

Die Client-Anwendung kann die Funktion DDERequest dazu verwenden, Textdaten über einen geöffneten DDE-Kanal von der Server-Anwendung abzurufen. Außerdem kann der Client die Anweisung DDEPoke dazu verwenden, Daten an die Server-Anwendung zu senden. Nachdem die Datenübertragung beendet wurde, kann der Client die Anweisung DDETerminate zum Schließen des DDE-Kanals oder die Anweisung DDETerminateAll zum Schließen aller offenen Kanäle verwenden.

Anmerkung   Wenn Ihre Client-Anwendung keine Daten über einen DDE-Kanal mehr empfängt, sollte sie diesen Kanal schließen, um Speicher-Ressourcen freizugeben.

Das folgende Beispiel zeigt, wie Sie eine Microsoft Word-Prozedur mit Visual Basic erstellen können, die Microsoft Access als DDE-Server verwendet. (Damit dieses Beispiel funktioniert, muß Microsoft Access geöffnet sein.)

Sub AccessDDE()

Dim intKan1 As Integer, intKan2 As Integer

Dim strAbfragedaten As String

' Nordwind-Beispieldatenbank unter Verwendung des Themas

' "System" öffnen.

' Datenbank muß geöffnet sein, bevor andere DDE-Themen verwendet

' werden.

intKan1 = DDEInitiate("MSAccess", "System")

' Ändern Sie diesen Pfad gegebenenfalls, um auf den tatsächlichen

' Speicherplatz der Nordwind-Beispieldatenbank zu verweisen.

DDEExecute intKan1, "[DatenbankÖffnen" _

 	 & " C:\PROGRAMME\MICROSOFT OFFICE\ACCESS\BEISPIEL\NORDWIND.MDB]"

' Abrufen aller Daten aus der Abfrage "Die zehn teuersten

' Artikel".

intKan2 = DDEInitiate("MSAccess", "NORDWIND.MDB; _

QUERY [Die zehn teuersten Artikel]")

strAbfragedaten = DDERequest(intKan2, "All")

DDETerminate intKan2

' Datenbank schließen.

DDEExecute intKan1, "[DatenbankSchließen]"

DDETerminate intKan1

' Abgerufene Daten im Testfenster drucken.

Debug.Print strAbfragedaten

End Sub

Weitere Informationen zum Verwenden von Microsoft Access als DDE-Client finden Sie in Kapitel 11, "Datenaustausch mit anderen Anwendungen", im Handbuch Erstellen von Anwendungsprogrammen mit Microsoft Access 97.

In den folgenden Abschnitten finden Sie Informationen über die gültigen, von Microsoft Access unterstützten DDE-Themen.

Das Thema System

Das Thema System ist ein Standardthema für alle auf Microsoft Windows basierenden Anwendungen. Es liefert Informationen zu den anderen von der Anwendung unterstützten Themen. Damit auf diese Informationen zugegriffen werden kann, muß Ihr Code zuerst die Funktion DDEInitiate mit "System" als Argument Thema aufrufen und dann die Funktion DDERequest mit einer der folgenden Angaben für das Argument Element ausführen.

Element	Rückgabewert(e)
SysItems	Eine Liste von Elementen, die vom Thema System in Microsoft Access unterstützt werden
Formats	Eine Liste der Formate, die Microsoft Access in die Zwischenablage kopieren kann
Status	"Busy" oder "Ready"
Topics	Eine Liste aller geöffneten Datenbanken
Das folgende Beispiel zeigt die Verwendung der Funktionen DDEInitiate und DDERequest mit dem Thema System:

' DDE-Datenaustausch mit Microsoft Access in Visual Basic einleiten.

Dim intKan1 As Integer, strErgebnisse As String

intKan1 = DDEInitiate("MSAccess", "System")

' Liste der vom Thema "System" unterstützten Themen anfordern.

strErgebnisse = DDERequest(intKan1, "SysItems")

' Aktion "DatenbankÖffnen" zum Öffnen von NORDWIND.MDB durchführen.

' Ändern Sie diesen Pfad gegebenenfalls, um auf den tatsächlichen

' Speicherplatz der Nordwind-Beispieldatenbank zu verweisen.

DDEExecute intKan1, "[DatenbankÖffnen " _

& " C:\PROGRAMME\MICROSOFT OFFICE\ACCESS\BEISPIEL\NORDWIND.MDB]"

Das Thema Datenbank

Das Thema Datenbank ist der Dateiname einer vorhandenen Datenbank. Sie können entweder nur den Namen der Datenbank (Nordwind) oder den vollständigen Pfad mit der Erweiterung .MDB (C:\PROGRAMME\MICROSOFT OFFICE\ACCESS\BEISPIEL\NORDWIND.MDB) eingeben. Nachdem Sie den DDE-Datenaustausch mit der Datenbank eingeleitet haben, können Sie eine Liste aller Objekte in der Datenbank anfordern.

Anmerkung   Sie können DDE nicht zum Abfragen der Microsoft Access Informationsdatei zu Arbeitsgruppen verwenden.

Das Thema Datenbank unterstützt die folgenden Elemente.

Element	Rückgabewert(e)
TableList	Eine Liste mit Tabellen
QueryList	Eine Liste mit Abfragen
FormList	Eine Liste mit Formularen
ReportList	Eine Liste mit Berichten
MacroList	Eine Liste mit Makros
ModuleList	Eine Liste mit Modulen
Das folgende Beispiel zeigt, wie Sie das Formular Personal in der Nordwind-Beispieldatenbank mit einer Visual Basic-Prozedur öffnen können:

' Einen DDE-Datenaustausch mit der Nordwind-Beispieldatenbank in

' Visual Basic einleiten.

' Die Datenbank muß geöffnet sein.

intKan2 = DDEInitiate("MSAccess", "Nordwind")

' Liste von Formularen in der Nordwind-Beispieldatenbank anfordern.

strRückgabe = DDERequest(intKan2, "FormList")

' Aktion "ÖffnenFormular" und Argumente ausführen, um das Formular

' "Personal" zu öffnen.

DDEExecute intKan2, "[ÖffnenFormular Personal,0,,,1,0]"

Die Themen TABLE Tabellenname, QUERY Abfragename und SQL SQLZeichenfolge

Diese Themen verwenden die folgende Syntax:

Datenbankname; TABLE Tabellenname

Datenbankname; QUERY Abfragename

Datenbankname; SQL [SQLZeichenfolge]

Argument	Beschreibung
Datenbankname	Der Name der Datenbank, zu der die Tabelle oder Abfrage gehört oder für die die SQL-Anweisung gilt, gefolgt von einem Semikolon (;). Der Datenbankname kann entweder nur der Name der Datenbank (Nordwind) oder der vollständige Pfad mit der Erweiterung .MDB (C:\PROGRAMME\MICROSOFT OFFICE\ACCESS\BEISPIEL\NORDWIND.MDB) sein.
Tabellenname	Der Name einer vorhandenen Tabelle
Abfragename	Der Name einer vorhandenen Abfrage
SQLZeichenfolge	Eine gültige SQL-Anweisung mit maximal 256 Zeichen und einem Semikolon am Ende. Wenn Sie mehr als 256 Zeichen austauschen möchten, geben Sie dieses Argument nicht an, sondern erstellen statt dessen eine SQL-Anweisung mit einer Reihe von DDEPoke-Anweisungen. Der folgende Visual Basic-Code verwendet z.B. die Anweisung DDEPoke, um eine SQL-Anweisung zu erstellen und dann das Ergebnis der Abfrage anzufordern.
	IntKan1 = DDEInitiate("MSAccess", "Nordwind;SQL") DDEPoke intKan1, "SQLText", "SELECT *" DDEPoke intKan1, "SQLText", " FROM Bestellungen" DDEPoke intKan1, "SQLText", " WHERE [Frachtkosten] > 100;" strRückgabe = DDERequest(intKan1, "NextRow") DDETerminate intKan1
In der folgenden Tabelle sind die gültigen Elemente der Themen TABLE Tabellenname, QUERY Abfragename und SQL SQLZeichenfolge aufgeführt.

Element	Rückgabewert(e)
All	Alle Daten in der Tabelle, einschließlich Feldnamen
Data	Alle Zeilen mit Daten, ohne Feldnamen
FieldNames	Eine einzeilige Liste der Feldnamen
FieldNames;T	Eine zweizeilige Liste von Feldnamen (erste Zeile) und deren Datentypen (zweite Zeile)
	Die folgende Liste enthält die Rückgabewerte und die Datentypen, die sie darstellen:
	Wert	Datentyp
	0	Ungültig
	1	True/False (nicht-Null)
	2	Byte ohne Vorzeichen
	3	2-Byte-Ganzzahl mit Vorzeichen (Integer)
	4	4-Byte-Ganzzahl mit Vorzeichen (Long)
	5	8-Byte-Ganzzahl mit Vorzeichen (Currency)
	6	4-Byte Gleitkomma einfacher Genauigkeit (Single)
	7	8-Byte Gleitkomma doppelter Genauigkeit (Double)
	8	Datum/Uhrzeit
	9	Binäre Daten, maximal 256 Bytes
	10	ANSI-Text, Groß- und Kleinschreibung nicht beachtet, maximal 256 Bytes (Text)
	11	Long Binary (OLE-Objekt)
	12	Long Text (Memo)
NextRow	Die Daten in der nächsten Zeile der Tabelle oder Abfrage. Beim Öffnen eines Kanals gibt NextRow die Daten in der ersten Zeile zurück. Wenn bei der Ausführung von NextRow die aktuelle Zeile der letzte Datensatz ist, schlägt die Anforderung fehl.
PrevRow	Die Daten der vorhergehenden Zeile der Tabelle oder Abfrage. Wenn PrevRow als erste Anforderung über einen neuen Kanal angegeben wird, werden die Daten der letzten Zeile der Tabelle oder Abfrage zurückgegeben. Ist der erste Datensatz die aktuelle Zeile, schlägt die Anforderung fehl.
FirstRow	Die Daten in der ersten Zeile einer Tabelle oder Abfrage
LastRow	Die Daten in der letzten Zeile einer Tabelle oder Abfrage
FieldCount	Die Anzahl der Felder in einer Tabelle oder Abfrage
SQLText	Eine SQL-Anweisung, die für die Tabelle oder Abfrage steht. Für Tabellen gibt dieses Element eine SQL-Anweisung in der Form "SELECT * FROM Tabelle;" zurück.
SQLText;n	Eine SQL-Anweisung in Abschnitten mit jeweils n Zeichen, die die Tabelle oder Abfrage darstellt, wobei n eine Ganzzahl bis maximal 256 sein kann. Angenommen, für eine Abfrage wird die folgende SQL-Anweisung verwendet: "SELECT * FROM Bestellungen;" Das Element "SQLText;7" gibt dann die folgenden, durch Tabulatoren getrennten Abschnitte zurück: "SELECT " "* FROM " "Bestellungen;"
Das folgende Beispiel zeigt, wie Sie DDE in einer Visual Basic-Prozedur verwenden können, um Daten aus einer Tabelle in der Nordwind-Beispieldatenbank abzurufen und diese in einer Textdatei einzufügen:

Sub NordwindDDE

Dim intKan1 As Integer, intKan2 As Integer, intKan3 As Integer

Dim strRückgabe1 As Variant, strRückgabe2 As Variant, strRückgabe3 As Variant

' Daten mit einem Visual Basic-Modul aus der Tabelle

' "Kategorien", der Abfrage "Katalog" und der Tabelle

' "Bestellungen" in NORDWIND.MDB abrufen.

' Die Datenbank muß geöffnet sein.

intKan1 = DDEInitiate("MSAccess", "Nordwind;TABLE Versandfirmen")

intKan2 = DDEInitiate("MSAccess", "Nordwind;QUERY Katalog")

intKan3 = DDEInitiate("MSAccess", "Nordwind;SQL SELECT * " _

& "FROM Bestellungen " _

& "WHERE BestellNr > 10050;")

strRückgabe1 = DDERequest(intKan1, "All")

strRückgabe2 = DDERequest(intKan2, "FieldNames;T")

strRückgabe3 = DDERequest(intKan3, "FieldNames;T")

DDETerminate intKan1

DDETerminate intKan2

DDETerminate intKan3

' Daten in eine Textdatei einfügen.

Open "C:\DATEN.TXT" For Append As #1

Print #1, strRückgabe1

Print #1, strRückgabe2

Print #1, strRückgabe3

Close #1

End Sub


DDE-Funktionen und -Anweisungen

DDE-Funktion

DDEExecute-Anweisung

DDEInitiate-Funktion (DDEInit)

DDEPoke-Anweisung

DDERequest-Funktion (DDEAnfrage)

DDESend-Funktion (DDESenden)

DDETerminate-Anweisung

DDETerminateAll-Anweisung


DDEExecute-Anweisung

Mit der Anweisung DDEExecute können Sie einen Befehl von einer Client-Anwendung über einen geöffneten DDE-Kanal (DDE= dynamischer Datenaustausch) an eine Server-Anwendung senden.

Angenommen, Sie haben einen DDE-Kanal in Microsoft Access geöffnet, um Textdaten einer Microsoft Excel-Tabelle in eine Microsoft Access-Datenbank zu übertragen. Verwenden Sie die Anweisung DDEExecute, um den Befehl Neu an Microsoft Excel zu senden, mit dem Sie angeben, daß Sie eine neue Tabelle anlegen möchten. In diesem Beispiel dient Microsoft Access als Client-Anwendung und Microsoft Excel als Server-Anwendung.

Syntax

DDEExecute Kanalnummer, Befehl

Die Anweisung DDEExecute verwendet die folgenden Argumente:

Argument	Beschreibung
Kanalnummer	Eine Kanalnummer, die lange Ganzzahl, die von der Funktion DDEInitiate zurückgegeben wird.
Befehl	Ein Zeichenfolgenausdruck, der einen Befehl angibt, den die Server-Anwendung erkennt. In der Dokumentation der Server-Anwendung finden Sie eine Liste dieser Befehle.
Hinweis

Der Wert des Arguments Befehl ist abhängig von der Anwendung und dem Thema, die beim Öffnen des Kanals Kanalnummer angegeben wurden. Wenn Kanalnummer keine Ganzzahl ist, die einem geöffneten Kanal entspricht, oder wenn die andere Anwendung den genannten Befehl nicht ausführen kann, tritt ein Fehler auf.

Von Visual Basic aus können Sie die Anweisung DDEExecute nur verwenden, um Befehle an eine andere Anwendung zu senden. Weitere Informationen zum Senden von Befehlen an Microsoft Access aus einer anderen Anwendung finden Sie unter Verwenden von Microsoft Access als DDE-Server.

Tip   Wenn Sie Objekte einer anderen Anwendung aus Microsoft Access heraus bearbeiten möchten, bietet sich Automatisierung an.


Dynamischer Datenaustausch (DDE) - Beispiel

Das folgende Beispiel stellt eine DDE-Verknüpfung zu Microsoft Excel her, trägt einige Werte in Zellen in der ersten Zeile einer neuen Tabelle ein und gibt die Werte als Diagramm aus. Zuerst öffnet die Funktion DDEInitiate einen Kanal und beginnt mit dem DDE-Datenaustausch. Dann sendet die Anweisung DDEExecute Microsoft Excel den Befehl zum Öffnen einer neuen Tabelle. Mit der Funktion DDERequest wird anschließend der Name der neu erstellten Tabelle von Microsoft Excel abgefragt. Ein neuer Kanal wird geöffnet, und die Anweisung DDEPoke sendet Microsoft Excel die auszugebenden Daten. Schließlich löst die Anweisung DDETerminate die DDE-Verknüpfung mit Microsoft Excel, und die Anweisung DDETerminateAll beendet alle aktiven DDE-Verknüpfungen.

Sub ExcelDDE()

Dim intI As Integer, intKan1 As Integer

Dim strThemen As String, strRückgabe As String, strTabellenname As String

' Fehlerbehandlungsroutine einrichten.

On Error Resume Next

' Verknüpfung herstellen.

intKan1 = DDEInitiate("Excel", "System")

' Falls Fehler auftritt, wurde Excel vielleicht

If Err Then

' nicht gestartet. Fehler zurücksetzen

Err = 0

' und Tabellenkalkulation starten.

Shell "C:\EXCEL\EXCEL.EXE", 1

' Bei weiterem Fehler, Programm beenden.

If Err Then Exit Sub

' Verknüpfung zur Tabelle herstellen.

intKan1 = DDEInitiate("Excel", "System")

End If

' Neue Tabelle anlegen.

DDEExecute intKan1, "[New(1)]"

' Themenliste und Tabellennamen abrufen.

strThemen = DDERequest(intKan1, "Selection")

strTabellenname = Left(strThemen, InStr(1, strThemen, "!") - 1)

' DDE-Verknüpfung beenden.

DDETerminate intKan1

' Verknüpfung zu neuer Tabelle herstellen.

intKan1 = DDEInitiate("Excel", strTabellenname)

For intI = 1 To 10	' Einige Werte in

DDEPoke intKan1, "R1C" & intI, intI	' erste Zeile eintragen.

Next intI

' Diagramm erstellen.

DDEExecute intKan1, "[Select(""R1C1:R1C10"")][New(2,2)]"

' Alle Verknüpfungen beenden.

DDETerminateAll

End Sub


DDEInitiate-Funktion (DDEInit)

Mit der Funktion DDEInitiate können Sie einen DDE-Dialog (DDE = dynamischer Datenaustausch) mit einer anderen Anwendung beginnen. Die Funktion DDEInitiate öffnet einen DDE-Kanal zur Datenübertragung zwischen einem DDE-Server und einer Client-Anwendung.

Wenn Sie z.B. Daten von einer Microsoft Excel-Tabelle zu einer Microsoft Access-Datenbank übertragen möchten, können Sie die Funktion DDEInitiate zum Öffnen eines Kanals zwischen diesen beiden Anwendungen verwenden. In diesem Beispiel dient Microsoft Access als Client-Anwendung und Microsoft Excel als Server-Anwendung.

Syntax

DDEInitiate(Anwendung, Thema)

Die Funktion DDEInitiate verwendet die folgenden Argumente:

Argument	Beschreibung
Anwendung	Ein Zeichenfolgenausdruck, der eine Anwendung angibt, die an einem DDE-Datenaustausch teilnehmen kann. Normalerweise ist Anwendung der Name einer .EXE-Datei (ohne die Erweiterung .EXE) einer auf Microsoft Windows basierenden Anwendung, wie z.B. Microsoft Excel.
Thema	Ein Zeichenfolgenausdruck, der den Namen eines Themas enthält, das von Anwendung erkannt wird. In der Dokumentation der Anwendung finden Sie eine Liste der Themen.
Hinweis

Wenn kein Fehler auftritt, beginnt die Funktion DDEInitiate den DDE-Datenaustausch mit der angegebenen Anwendung und dem angegebenen Thema und gibt einen ganzzahligen Wert vom Datentyp Long zurück. Dieser Rückgabewert stellt eine eindeutige Kanalnummer für einen Kanal dar, über den die Datenübertragung stattfinden kann. Diese Kanalnummer wird anschließend für andere DDE-Funktionen und -Anweisungen verwendet.

Wenn die Anwendung noch nicht gestartet wurde oder zwar gestartet wurde, das Thema aber nicht erkennt oder kein DDE unterstützt, gibt die Funktion DDEInitiate einen Laufzeitfehler zurück.

Der Wert des Arguments Thema hängt von der Anwendung ab. Bei Anwendungen, die Dokumente oder Datendateien verwenden, enthalten gültige Themenbezeichnungen häufig den Namen dieser Dateien.

Anmerkung   Die Anzahl von Kanälen, die maximal gleichzeitig geöffnet sein können, wird von Microsoft Windows sowie vom Arbeitsspeicher und den Ressourcen Ihres Computers bestimmt. Wenn Sie einen Kanal nicht benötigen, schließen Sie ihn, um System-Ressourcen nicht unnötig zu belegen. Verwenden Sie dazu die Anweisungen DDETerminate oder DDETerminateAll.

Tip   Wenn Sie Objekte einer anderen Anwendung aus Microsoft Access heraus bearbeiten möchten, bietet sich Automatisierung an.


DDEPoke-Anweisung

Mit der Anweisung DDEPoke können Sie über einen geöffneten DDE-Kanal (DDE = dynamischer Datenaustausch) Textdaten aus einer Client-Anwendung an eine Server-Anwendung senden.

Wenn z.B. ein offener DDE-Kanal zwischen Microsoft Access und Microsoft Excel existiert, können Sie mit der Anweisung DDEPoke Text von einer Microsoft Access-Datenbank in eine Microsoft Excel-Tabelle übertragen. In diesem Beispiel dient Microsoft Access als Client-Anwendung und Microsoft Excel als Server-Anwendung.

Syntax

DDEPoke Kanalnummer, Element, Daten

Die Anweisung DDEPoke verwendet die folgenden Argumente:

Argument	Beschreibung
Kanalnummer	Eine Kanalnummer, eine Ganzzahl, die von der Funktion DDEInitiate zurückgegeben wird.
Element	Ein Zeichenfolgenausdruck, der den Namen eines Datenelements darstellt, das von der durch die Funktion DDEInitiate angegebenen Anwendung erkannt wird. In der Dokumentation der Anwendung finden Sie eine Liste der möglichen Elemente.
Daten	Eine Zeichenfolge, die die Daten enthält, die an die andere Anwendung gesendet werden.
Hinweis

Der Wert des Arguments Element ist abhängig von der beim Öffnen des Kanals Kanalnummer angegebenen Anwendung und dem angegebenen Thema. Element kann z.B. einen Bereich von Zellen in einer Microsoft Excel-Tabelle darstellen.

Bei der Zeichenfolge, die das Argument Daten darstellt, muß es sich um eine alphanumerische Textzeichenfolge handeln. Andere Formate werden nicht unterstützt. Daten könnte z.B. eine Zahl sein, die in eine Zelle in einem bestimmten Bereich einer Microsoft Excel-Tabelle eingetragen werden soll.

Wenn Kanalnummer keine Ganzzahl ist, die einem geöffneten Kanal entspricht, oder wenn die andere Anwendung die angegebenen Daten nicht erkennt oder akzeptiert, tritt ein Laufzeitfehler auf.

Tip   Wenn Sie Objekte einer anderen Anwendung aus Microsoft Access heraus bearbeiten möchten, bietet sich Automatisierung an.


DDERequest-Funktion (DDEAnfrage)

Mit der Funktion DDERequest können Sie über einen geöffneten DDE-Kanal (DDE = dynamischer Datenaustausch) ein Element oder Informationen von einer DDE-Server-Anwendung anfordern.

Wenn z.B. ein offener DDE-Kanal zwischen Microsoft Access und Microsoft Excel existiert, können Sie mit der Funktion DDERequest Text von einer Microsoft Excel-Tabelle an eine Microsoft Access-Datenbank übertragen. In diesem Beispiel dient Microsoft Access als Client-Anwendung und Microsoft Excel als Server-Anwendung.

Syntax

DDERequest(Kanalnummer, Element)

Die Funktion DDERequest verwendet die folgenden Argumente:

Argument	Beschreibung
Kanalnummer	Eine Kanalnummer, eine Ganzzahl, die von der Funktion DDEInitiate zurückgegeben wird.
Element	Ein Zeichenfolgenausdruck, der den Namen eines Datenelements darstellt, das von der durch die Funktion DDEInitiate angegebenen Anwendung erkannt wird. In der Dokumentation der Anwendung finden Sie eine Liste der möglichen Elemente.
Hinweis

Das Argument Kanalnummer gibt die Kanalnummer des gewünschten DDE-Datenaustauschs an, und das Argument Element legt fest, welche Daten von der Server-Anwendung abgerufen werden. Der Wert von Element ist abhängig von der beim Öffnen des Kanals Kanalnummer angegebenen Anwendung und dem angegebenen Thema. Element kann z.B. einen Bereich von Zellen in einer Microsoft Excel-Tabelle darstellen.

Die Funktion DDERequest gibt eine Zeichenfolge vom Datentyp Variant zurück, die die angeforderten Informationen enthält, wenn die Anforderung erfolgreich war.

Die Daten werden im alphanumerischen Textformat angefordert. Bilder oder Text in einem anderen Format können nicht übertragen werden.

Wenn Kanalnummer keine Ganzzahl ist, die einem geöffneten Kanal entspricht, oder wenn die angeforderten Daten nicht übertragen werden können, tritt ein Laufzeitfehler auf.

Tip   Wenn Sie Objekte einer anderen Anwendung aus Microsoft Access heraus bearbeiten möchten, bietet sich Automatisierung an.


DDETerminate-Anweisung

Mit der Anweisung DDETerminate können Sie einen angegebenen DDE-Kanal (DDE= dynamischer Datenaustausch) schließen.

Wenn Sie z.B. einen DDE-Kanal zur Datenübertragung zwischen Microsoft Excel und Microsoft Access geöffnet haben, können Sie die Anweisung DDETerminate zum Schließen dieses Kanals verwenden, nachdem die Übertragung beendet ist.

Syntax

DDETerminate Kanalnummer

Hinweis

Das Argument Kanalnummer gibt die Kanalnummer des zu schließenden Kanals an. Es verweist auf einen mit der Funktion DDEInitiate geöffneten Kanal. Wenn Kanalnummer keine Ganzzahl ist, die der Nummer eines geöffneten Kanals entspricht, tritt ein Laufzeitfehler auf.

Sobald ein Kanal geschlossen ist, tritt bei allen nachfolgenden DDE-Funktionen oder -Anweisungen, die auf diesen Kanal zugreifen, ein Laufzeitfehler auf.

Die Anweisung DDETerminate hat keine Auswirkung auf aktive DDE- Verknüpfungsausdrücke in Feldern von Formularen oder Berichten.

Tip   Wenn Sie Objekte einer anderen Anwendung aus Microsoft Access heraus bearbeiten möchten, bietet sich Automatisierung an.


DDETerminateAll-Anweisung

Mit der Anweisung DDETerminateAll können Sie alle geöffneten DDE-Kanäle (DDE = dynamischer Datenaustausch) schließen.

Wenn Sie z.B. zwei DDE-Kanäle zwischen Microsoft Excel und Microsoft Access geöffnet haben, einen zum Abrufen von Systeminformationen über Microsoft Excel und einen zum Übertragen von Daten, dann können Sie mit der Anweisung DDETerminateAll beide Kanäle gleichzeitig schließen.

Syntax

DDETerminateAll

Hinweis

Das Verwenden der Anweisung DDETerminateAll entspricht dem Ausführen der Anweisung DDETerminate für alle geöffneten Kanalnummern. Ähnlich wie DDETerminate hat auch die Anweisung DDETerminateAll keinen Einfluß auf aktive DDE- Verknüpfungsausdrücke in Feldern von Formularen oder Berichten.

Die Anweisung DDETerminateAll löst keinen Laufzeitfehler aus, wenn bei der Ausführung keine DDE-Kanäle geöffnet sind.

Tips

•	Wenn Sie eine Prozedur unterbrechen, die einen dynamischen Datenaustausch durchführt, bleiben möglicherweise Kanäle unbeabsichtigt geöffnet. Sie vermeiden das unnötige Belegen von System-Ressourcen, indem Sie während der Fehlersuche in Code, der einen dynamischen Datenaustausch durchführt, die Anweisung DDETerminateAll in Ihrem Code oder im Direktbereich (unterer Teil) des Testfensters ausführen.

•	Tip   Wenn Sie Objekte einer anderen Anwendung aus Microsoft Access heraus bearbeiten möchten, bietet sich Automatisierung an.


Aggregatfunktionen für Domänen

Aggregatfunktionen liefern statistische Informationen über Datensatzgruppen (Domänen). Sie können eine Aggregatfunktion z.B. verwenden, um die Anzahl der Datensätze in einer bestimmten Datensatzgruppe zu zählen oder um den Durchschnitt von Werten in einem bestimmten Feld zu ermitteln.

Die beiden Typen der Aggregatfunktionen, Aggregatfunktionen für Domänen und SQL-Aggregatfunktionen, haben eine ähnliche Funktion, werden jedoch in unterschiedlichen Situationen eingesetzt. Die SQL-Aggregatfunktionen können in die Syntax einer SQL-Anweisung eingebunden, aber nicht direkt aus Visual Basic aufgerufen werden. Umgekehrt können die Aggregatfunktionen für Domänen direkt aus Visual Basic-Code aufgerufen werden. Sie können auch in eine SQL-Anweisung eingebunden werden, jedoch ist es im allgemeinen effizienter, in diesem Fall SQL-Aggregatfunktionen zu verwenden.

Wenn Sie statistische Berechnungen innerhalb von Code durchführen, müssen Sie die Aggregatfunktionen für Domänen verwenden. Sie können die Aggregatfunktionen für Domänen auch verwenden, um Kriterien anzugeben, Werte zu aktualisieren oder berechnete Felder in einem Abfrageausdruck zu erzeugen. Sie können entweder die SQL-Aggregatfunktionen oder die Aggregatfunktionen für Domänen in einem berechneten Steuerelement in einem Formular oder einem Bericht verwenden.

Es gibt folgende Aggregatfunktionen für Domänen:

DAvg-Funktion

DCount-Funktion

DLookup-Funktion

DFirst, Dlast-Funktionen

DMin-, DMax-Funktionen

DStDev-, DStDevP-Funktionen

DSum-Funktion

DVar-, DVarP-Funktionen


DAvg-Funktion (DomMittelwert)

Mit der Funktion DAvg können Sie den Durchschnittswert einer Gruppe von Werten in einer bestimmten Datensatzgruppe (Domäne) berechnen. Verwenden Sie die Funktion DAvg in einem Makro, in einem Abfrageausdruck oder in einem berechneten Steuerelement.

Sie können die Funktion DAvg z.B. in der Kriterienzeile einer Auswahlabfrage nach Frachtkosten verwenden, um die Ergebnisse auf Datensätze zu beschränken, bei denen die Frachtkosten über dem Durchschnitt liegen. Sie können auch einen Ausdruck, der die Funktion DAvg enthält, in einem berechneten Steuerelement verwenden, um dann den durchschnittlichen Wert der vorangegangenen Bestellungen neben dem Wert des neuen Auftrags anzuzeigen.

Syntax

DAvg(Ausdr, Domäne[, Kriterien])

Die Funktion DAvg enthält die folgenden Argumente.

Argument	Beschreibung
Ausdr	Ein Ausdruck, der das Feld kennzeichnet, das die numerischen Daten enthält, deren Durchschnitt Sie ermitteln möchten. Der Ausdruck kann ein Zeichenfolgenausdruck sein, der ein Feld in einer Tabelle oder Abfrage kennzeichnet, oder ein Ausdruck, der eine Berechnung mit Daten in dem Feld durchführt. Sie können im Argument Ausdr den Namen eines Tabellenfelds, eines Steuerelements in einem Formular, einer Konstanten oder einer Funktion einbeziehen. Enthält das Argument Ausdr eine Funktion, so kann dies entweder eine eingebaute oder eine benutzerdefinierte Funktion sein; Aggregatfunktionen für Domänen oder SQL-Aggregatfunktionen sind jedoch nicht zulässig.
Domäne	Ein Zeichenfolgenausdruck, der die Gruppe der Datensätze kennzeichnet, die die Domäne bilden. Es kann sich hierbei um den Namen einer Tabelle oder den Namen einer Abfrage handeln.
Kriterien	Ein Zeichenfolgenausdruck, den Sie optional angeben können, um den Datenbereich einzuschränken, für den die Funktion Davg ausgeführt wird. Das Argument Kriterien ist z.B. oft gleichbedeutend mit der WHERE-Klausel in einem SQL-Ausdruck (ohne das Wort WHERE). Wird das Argument Kriterien nicht angegeben, so berechnet die Funktion DAvg das Argument Ausdr für die gesamte Domäne. Jedes Feld, das im Argument Kriterien enthalten ist, muß auch ein Feld des Arguments Domäne sein, sonst gibt Davg den Wert Null zurück.
Hinweis

Datensätze, die Null-Werte enthalten, werden nicht in die Berechnung des Durchschnittswerts einbezogen.

Unabhängig davon, ob Sie DAvg in einem Makro, einem Modul, einem Abfrageausdruck oder einem berechneten Steuerelement verwenden, müssen Sie das Argument Kriterien sehr sorgfältig erstellen und dafür sorgen, daß es korrekt ausgewertet wird.

Sie können mit DAvg die Kriterien in der Zeile Kriterien bei einer Abfrage festlegen. Nehmen Sie z.B. an, daß Sie eine Liste von allen bestellten Produkten, deren Bestellmenge über dem Durchschnitt liegt, anzeigen möchten. Sie können eine Abfrage auf den Tabellen Bestelldetails und Artikel erstellen, die Felder Artikelname und Anzahl einbeziehen und den folgenden Ausdruck in der Zeile Kriterien unter dem Feld Anzahl festlegen.

> DomMittelwert("[Anzahl]"; "Bestelldetails")

Sie können die Funktion DAvg auch in einem berechneten Feldausdruck oder in der Zeile Aktualisieren von einer Aktualisierungsabfrage verwenden.

Anmerkung   Sie können entweder DAvg oder Avg in einem berechneten Feldausdruck in einer Berechnungsabfrage verwenden. Wenn Sie die Funktion DAvg verwenden, werden die Durchschnittswerte ermittelt, bevor die Daten gruppiert werden. Verwenden Sie dagegen Avg, so werden zuerst die Daten gruppiert, bevor der Mittelwert der Feldausdrücke ermittelt wird.

Verwenden Sie DAvg in einem berechneten Steuerelement, wenn Sie Kriterien angeben müssen, um den Datenbereich einzugrenzen, auf dem DAvg angewendet wird. Wenn Sie z.B. die durchschnittlichen Frachtkosten, die nach Kalifornien versandt wurden, anzeigen möchten, legen Sie die Eigenschaft ControlSource eines Textfelds auf den folgenden Ausdruck fest.

= DomMittelwert("[Frachtkosten]"; "Bestellungen"; "[Region] = 'CA'")

Wenn Sie einfach den Durchschnitt aller Datensätze in Domäne berechnen möchten, verwenden Sie die Funktion Avg.

Sie können DAvg in einem Modul, einem Makro oder einem berechneten Steuerelement eines Formulars verwenden, wenn sich ein anzuzeigendes Feld nicht in der Datenherkunft des Formulars befindet. Nehmen Sie z.B. an, ein Formular basiert auf der Tabelle Bestellungen, und Sie möchten das Feld Anzahl aus der Tabelle Bestelldetails einbeziehen, um die durchschnittliche Anzahl der bestellten Artikel eines bestimmten Kunden anzuzeigen. Mit DAvg können Sie die Berechnung durchführen und die Daten in Ihrem Formular anzeigen.

Tips

•	Wenn Sie DAvg in einem berechneten Steuerelement einsetzen, sollten Sie das Steuerelement in der Kopf- oder Fußzeile positionieren, damit der Wert des Steuerelements nicht jedesmal neu berechnet wird, wenn Sie zu einem neuen Datensatz wechseln.

•	Ist der Datentyp des Feldes, aus dem das Argument Ausdr abgeleitet wird, eine Zahl, so gibt DAvg den Datentyp Double zurück. Wenn Sie DAvg in einem berechneten Steuerelement verwenden, fügen Sie eine Datentypumwandlungsfunktion in den Ausdruck ein, um das Leistungsverhalten zu verbessern.

•	Obwohl Sie mit der Funktion DAvg den Durchschnittswert von Feldern in einer Fremdtabelle ermitteln können, kann es effizienter sein, eine Abfrage zu erstellen, die alle erforderlichen Felder enthält, und dann Ihrem Formular oder Bericht diese Abfrage zugrunde zu legen.

Anmerkung   Änderungen von Datensätzen im Argument Domäne, die noch nicht gespeichert sind, werden von dieser Funktion nicht berücksichtigt. Wenn die Funktion DAvg die geänderten Werte einbeziehen soll, müssen Sie die Änderungen erst speichern, indem Sie aus dem Menü Datei den Befehl Datensatz speichern wählen, den Fokus auf einen anderen Datensatz setzen oder die Methode Update ausführen.


DAvg-Funktion (DomMittelwert) - Beispiel
DAvg-Funktion (DomMittelwert) – Beispiel

Dieses Beispiel gibt die durchschnittlichen Frachtkosten von Bestellungen zurück, die nach dem 1. Januar 1996 nach Großbritannien versandt wurden. Das Argument Domäne gibt die Tabelle Bestellungen an. Das Argument Kriterien begrenzt die sich ergebende Datensatzgruppe auf Datensätze, bei denen Bestimmungsland gleich Großbritannien und Versanddatum ein Datum nach oder gleich dem 1.1.96 ist. Mit dem Schlüsselwort AND werden die Felder in der Zeichenfolge des Arguments Kriterien voneinander getrennt. Alle Datensätze, die in der Berechnung mit der Funktion DAvg verwendet werden, erfüllen beide Kriterien.

Dim dblX As Double

dblX = DAvg("[Frachtkosten]", "Bestellungen", _

"[Bestimmungsland] = 'Großbritannien' AND [Versanddatum] > #1-1-96#")

Das nächste Beispiel berechnet einen Durchschnittswert mit Hilfe der Variablen strLand im Argument Kriterien. Im Zeichenfolgenausdruck befinden sich Hochkommas, d.h. wenn alle Zeichenfolgen verkettet sind, wird das Zeichenfolgenliteral Großbritannien in Hochkommas gesetzt. In diesem Beispiel wird das Schlüsselwort OR verwendet, um die einzelnen Felder zu trennen. Dieses Beispiel gibt alle Datensätze zurück, die entweder eines oder beide Kriterien erfüllen.

Dim dblX As Double, strLand As String

strLand = "Großbritannien"

dblX = DAvg("[Frachtkosten]", "Bestellungen", _

"[Bestimmungsland] = '" & strLand & "' OR " & _

"[Versanddatum] < #1-1-96#")


DCount-Funktion (DomAnzahl)

Mit der Funktion DCount können Sie die Anzahl der Datensätze in einer angegebenen Datensatzgruppe (Domäne) ermitteln. Verwenden Sie die Funktion DCount in Visual Basic, in einem Makro, einem Abfrageausdruck oder einem berechneten Steuerelement.

Sie können DCount z.B. in einem Modul verwenden, um die Anzahl der Datensätze in der Tabelle Bestellungen für Bestellungen zurückzugeben, die an einem bestimmten Datum aufgegeben wurden.

Syntax

DCount(Ausdr, Domäne[, Kriterien])

Die Funktion DCount hat die folgenden Argumente.

Argument	Beschreibung
Ausdr	Ein Ausdruck, der das Feld mit den numerischen Daten kennzeichnet, deren Durchschnitt Sie ermitteln möchten. Der Ausdruck kann ein Zeichenfolgenausdruck sein, der ein Feld in einer Tabelle oder Abfrage kennzeichnet, oder ein Ausdruck, der eine Berechnung mit Daten in dem Feld durchführt.  Sie können im Argument Ausdr den Namen eines Tabellenfelds, eines Steuerelements in einem Formular, einer Konstanten oder einer Funktion einbeziehen. Enthält das Argument Ausdr eine Funktion, so kann dies entweder eine eingebaute oder eine benutzerdefinierte Funktion sein; Aggregatfunktionen für Domänen oder SQL-Aggregatfunktionen sind jedoch nicht zulässig.
Domäne	Ein Zeichenfolgenausdruck, der die Gruppe der Datensätze kennzeichnet, die die Domäne bilden. Es kann sich hierbei um den Namen einer Tabelle oder um den Namen einer Abfrage handeln.
Kriterien	Ein Zeichenfolgenausdruck, den Sie optional angeben können, um den Datenbereich einzuschränken, für den die Funktion Dcount ausgeführt wird. Das Argument Kriterien ist z.B. oft gleichbedeutend mit der WHERE-Klausel in einem SQL-Ausdruck (ohne das Wort WHERE). Wird das Argument Kriterien nicht angegeben, so berechnet DCount das Argument Ausdr für die gesamte Domäne. Jedes Feld, das im Argument Kriterien enthalten ist, muß auch ein Feld des Arguments Domäne sein, sonst gibt Dcount den Wert Null zurück.
Hinweis

Verwenden Sie die Funktion DCount, um die Anzahl der Datensätze zu ermitteln, wenn die Werte der einzelnen Datensätze unwichtig sind. Obwohl das Argument Ausdr eine Berechnung auf einem Feld durchführen kann, berechnet DCount lediglich die Anzahl der Datensätze. Der Wert einer vom Argument Ausdr durchgeführten Berechnung ist nicht verfügbar.

Unabhängig davon, ob Sie DCount in einem Makro, einem Modul, einem Abfrageausdruck oder einem berechneten Steuerelement verwenden, müssen Sie das Argument Kriterien sehr sorgfältig erstellen und dafür sorgen, daß es korrekt ausgewertet wird.

Verwenden Sie DCount in einem berechneten Steuerelement, wenn Sie Kriterien festlegen müssen, um den Datenbereich, auf den die Funktion angewendet wird, einzuschränken. Wenn Sie z.B. die Anzahl der nach Kalifornien versandten Bestellungen anzeigen möchten, setzen Sie die Eigenschaft ControlSource eines Textfelds auf den folgenden Ausdruck:

= DomAnzahl("[Bestell-Nr]"; "Bestellungen"; "[Region] = 'CA'")

Wenn Sie einfach alle Datensätze im Argument Domäne zählen möchten, ohne Einschränkungen anzugeben, verwenden Sie die Funktion Count.

Tip   Die Funktion Count wurde optimiert, um die Datensätze in Abfragen so schnell wie möglich zu ermitteln. Verwenden Sie anstelle von DCount die Funktion Count in einem Abfrageausdruck, und legen Sie zusätzliche Kriterien fest, um die Ergebnisse weiter einzuschränken. Verwenden Sie DCount, wenn Sie die Datensätze innerhalb eines Code-Moduls, eines Makros oder eines berechneten Steuerelements zählen müssen.

Mit DCount können Sie die Anzahl der Datensätze für ein Feld ermitteln, das nicht in der Datenherkunft enthalten ist, die Ihrem Formular oder Bericht zugrunde liegt. Sie könnten z.B. die Anzahl der Bestellungen aus der Tabelle Bestellungen in einem berechneten Steuerelement eines Formulars anzeigen, dem die Tabelle Artikel zugrunde liegt.

DCount zählt nur dann Datensätze, die den Wert Null in dem durch Ausdr angegebenen Feld enthalten, wenn im Argument Ausdr das Sternchen (*) als Platzhalterzeichen angegeben wird. Wenn Sie ein Sternchen verwenden, berechnet die Funktion DCount die Gesamtanzahl der Datensätze, einschließlich der Datensätze, die Null-Felder enthalten. Das folgende Beispiel berechnet die Anzahl der Datensätze in der Tabelle Bestellungen.

intX = DCount("*", "Bestellungen")

Ist das Argument Domäne eine Tabelle mit einem Primärschlüssel, so können Sie die Gesamtanzahl der Datensätze auch ermitteln, indem Sie das Argument Ausdr auf das Primärschlüsselfeld setzen, da niemals ein Null-Wert im Primärschlüsselfeld stehen wird.

Wenn das Argument Ausdr mehrere Felder bezeichnet, trennen Sie die Feldnamen mit einem Verkettungsoperator, einem kaufmännischem Und-Zeichen (&) oder einem Plus-Zeichen (+). Wenn Sie ein kaufmännisches Und-Zeichen zum Trennen der Felder verwenden, gibt DCount die Anzahl der Datensätze zurück, die in den aufgelisteten Feldern Daten enthalten. Wenn Sie dagegen ein Plus-Zeichen verwenden, gibt die Funktion nur Datensätze zurück, die tatsächlich Daten enthalten. Das folgende Beispiel verdeutlicht die Auswirkungen der einzelnen Operatoren bei Feldern, die Daten in allen Datensätzen enthalten, und bei Feldern, die keine Daten enthalten (Region):

intW = DCount("[Empfänger]", "Bestellungen")	' Gibt 831

' zurück.

intX = DCount("[Region]", "Bestellungen")	' Gibt 323

' zurück.

intY = DCount("[Empfänger] + [Region]", "Bestellungen")	' Gibt 323

' zurück.

intZ = DCount("[Empfänger] & [Region]", "Bestellungen")	' Gibt 831

' zurück.

Anmerkung   Das kaufmännische Und-Zeichen (&) ist der bevorzugte Operator bei der Zeichenfolgenverkettung. Sie sollten das Plus-Zeichen (+) nur bei einer numerischen Addition verwenden, es sei denn, Sie wünschen explizit, daß sich Nullen in einem Ausdruck fortsetzen.

Änderungen von Datensätzen im Argument Domäne, die nicht gespeichert sind, werden bei dieser Funktion nicht berücksichtigt. Wenn die Funktion DCount die geänderten Werte einbeziehen soll, müssen Sie die Änderungen erst speichern, indem Sie aus dem Menü Datei den Befehl Datensatz speichern wählen, den Fokus auf einen anderen Datensatz setzen oder die Methode Update verwenden.


DCount-Funktion (DomAnzahl) - Beispiele

Dieses Beispiel gibt die Anzahl der Bestellungen zurück, die nach dem 1. Januar 1996 nach Großbritannien versandt wurden. Die Domäne ist die Tabelle Bestellungen. Das Argument Kriterien beschränkt die sich ergebende Datensatzgruppe auf Datensätze, bei denen Bestimmungsland gleich Großbritannien ist und das Versanddatum nach dem 1.1.96 liegt.

intX = DCount("[Versanddatum]", "Bestellungen", _

"[Bestimmungsland] = 'Großbritannien' AND [Versanddatum] > #1-1-96#")

Im nächsten Beispiel wird im Argument Kriterien der aktuelle Wert des Kombinationsfelds Bestimmungsland übergeben. Die Werte im Kombinationsfeld Bestimmungsland stammen aus dem Feld Bestimmungsland in der Tabelle Bestellungen. Beachten Sie, daß der Bezug auf das Steuerelement nicht in den Anführungszeichen steht, die für Zeichenfolgen verwendet werden. Dadurch wird sichergestellt, daß Microsoft Access bei jedem Aufruf der Funktion DCount die aktuellen Daten vom Steuerelement erhält.

intX = DCount("[Versanddatum]", "Bestellungen", "[Bestimmungsland] " &_

 "= '" & Forms!Bestellungen![Bestimmungsland] & "' AND " & _

"[Versanddatum] < #6-6-96#")


DFirst-, DLast-Funktionen (DomErsterWert, DomLetzterWert)

Mit den Funktionen DFirst und DLast können Sie einen zufälligen Wert eines bestimmten Feldes in einer Tabelle oder einer Abfrage zurückgeben, wenn Sie einen beliebigen Wert aus diesem Feld benötigen. Sie können die beiden Funktionen in einem Makro, einem Modul, einem Abfrageausdruck oder berechneten Steuerelement eines Formulars oder Berichts verwenden.

Syntax

DFirst(Ausdr, Domäne[, Kriterien])

DLast(Ausdr, Domäne[, Kriterien])

Die Funktionen DFirst und DLast verwenden die folgenden Argumente.

Argument	Beschreibung
Ausdr	Ein Ausdruck, der das Feld kennzeichnet, von dem Sie den ersten oder letzten Wert ermitteln möchten. Der Ausdruck kann ein Zeichenfolgenausdruck sein, der ein Feld in einer Tabelle oder Abfrage kennzeichnet, oder ein Ausdruck, der eine Berechnung mit Daten in dem Feld durchführt. Sie können im Argument Ausdr den Namen eines Tabellenfelds, eines Steuerelements in einem Formular, einer Konstanten oder einer Funktion einbeziehen. Enthält das Argument Ausdr eine Funktion, so kann dies entweder eine eingebaute oder eine benutzerdefinierte Funktion sein; Aggregatfunktionen für Domänen oder SQL-Aggregatfunktionen sind jedoch nicht zulässig.
Domäne	Ein Zeichenfolgenausdruck, der die Gruppe der Datensätze kennzeichnet, die die Domäne bilden.
Kriterien	Ein Zeichenfolgenausdruck, den Sie optional angeben können, um den Datenbereich einzuschränken, für den die Funktion DFirst oder DLast ausgeführt wird. Das Argument Kriterien ist z.B. oft gleichbedeutend mit der WHERE-Klausel in einem SQL-Ausdruck (ohne das Wort WHERE). Wird das Argument Kriterien nicht angegeben, so berechnen DFirst und DLast das Argument Ausdr für die gesamte Domäne. Jedes Feld, das im Argument Kriterien enthalten ist, muß auch ein Feld des Arguments Domäne sein, sonst geben DFirst und DLast den Wert Null zurück.
Hinweis

Wenn Sie den ersten oder letzten Datensatz einer Gruppe von Datensätzen (Domaine) zurückgeben möchten, sollten Sie eine als "Aufsteigend" oder "Absteigend" sortierte Abfrage erstellen und die Eigenschaft TopValues auf 1 einstellen. Weitere Informationen finden Sie im Thema zur Eigenschaft TopValues. Aus Visual Basic können Sie auch ein Recordset-Objekt erstellen und die Methoden MoveFirst oder MoveLast verwenden, um den ersten oder letzten Datensatz einer Gruppe von Datensätzen zurückzugeben.


DLookup-Funktion (DomWert)

Sie können die Funktion DLookup verwenden, um den Wert eines bestimmten Feldes aus einer angegebenen Datensatzgruppe (Domäne) abzurufen. Verwenden Sie DLookup in Visual Basic, einem Makro, einem Abfrageausdruck oder einem berechneten Steuerelement eines Formulars oder Berichts.

Sie können DLookup verwenden, um den Wert eines Feldes anzuzeigen, das sich nicht in der Datenherkunft Ihres Formulars oder Berichts befindet. Nehmen Sie z.B. an, einem Ihrer Formulare liegt die Tabelle Bestelldetails zugrunde. Das Formular zeigt die Felder Bestell-Nr, Artikel-Nr, Einzelpreis, Anzahl und Rabatt an. Das Feld Artikelname stammt jedoch aus einer anderen Tabelle, der Tabelle Artikel. Sie können DLookup in einem berechneten Steuerelement verwenden, um den Artikelnamen auf demselben Formular anzuzeigen.

Syntax

DLookup(Ausdr, Domäne[, Kriterien])

Die Syntax der Funktion DLookup hat die folgenden Argumente.

Argument	Beschreibung
Ausdr	Ein Ausdruck, der das Feld kennzeichnet, dessen Wert Sie zurückgeben möchten. Der Ausdruck kann ein Zeichenfolgenausdruck sein, der ein Feld in einer Tabelle oder Abfrage kennzeichnet, oder ein Ausdruck, der eine Berechnung mit Daten in dem Feld durchführt. Sie können im Argument Ausdr den Namen eines Tabellenfelds, eines Steuerelements in einem Formular, einer Konstanten oder einer Funktion einbeziehen. Enthält das Argument Ausdr eine Funktion, so kann dies entweder eine eingebaute oder eine benutzerdefinierte Funktion sein; Aggregatfunktionen für Domänen oder SQL-Aggregatfunktionen sind jedoch nicht zulässig.
Domäne	Ein Zeichenfolgenausdruck, der die Gruppe der Datensätze kennzeichnet, die die Domäne bilden. Es kann sich hierbei um den Namen der Tabelle oder um den Namen der Abfrage handeln.
Kriterien	Ein Zeichenfolgenausdruck, den Sie optional angeben können, um den Datenbereich einzuschränken, für den DLookup ausgeführt wird. Das Argument Kriterien ist z.B. oft gleichbedeutend mit der WHERE-Klausel in einem SQL-Ausdruck (ohne das Wort WHERE). Wird das Argument Kriterien nicht angegeben, so berechnet DLookup das Argument Ausdr für die gesamte Domäne. Jedes Feld, das im Argument Kriterien enthalten ist, muß auch ein Feld des Arguments Domäne sein, sonst gibt DLookup den Wert Null zurück.
Hinweis

DLookup gibt einen einzelnen Feldwert zurück, der auf den im Argument Kriterien angegebenen Informationen basiert. Das Argument Kriterien ist zwar ein optionales Argument, die Funktion DLookup gibt jedoch lediglich einen zufälligen Wert der Domäne zurück, wenn Sie keinen Wert für das Argument Kriterien angeben.

Erfüllt kein Datensatz die Bedingungen im Argument Kriterien, oder enthält das Argument Domäne keine Datensätze, so gibt DLookup den Wert Null zurück.

Erfüllen mehrere Felder die Kriterien, so gibt DLookup den Wert zurück, der als erster auftritt. Sie sollten die Kriterien so angeben, daß der Feldwert, den DLookup zurückgibt, nur einmal vorkommt. Sie könnten z.B. einen Wert aus einem Primärschlüssel für Ihre Kriterien verwenden, wie [Personal-Nr] im folgenden Beispiel, um sicherzustellen, daß DLookup einen Wert zurückgibt, der nur einmal vorkommt.

Dim varX As Variant

varX = DLookup("[Nachname]", "Personal", "[Personal-Nr] = 1")

Unabhängig davon, ob Sie DLookup in einem Makro, einem Modul, einem Abfrageausdruck oder einem berechneten Steuerelement verwenden, müssen Sie das Argument Kriterien sehr sorgfältig erstellen und dafür sorgen, daß es korrekt ausgewertet wird.

Sie können mit DLookup die Kriterien in der Zeile Kriterien einer Abfrage festlegen, entweder innerhalb eines berechneten Feldausdrucks in einer Abfrage oder in der Zeile Aktualisieren einer Aktualisierungsabfrage.

Sie können DLookup auch in einem Ausdruck in einem berechneten Steuerelement eines Formulars oder Berichts verwenden, wenn sich das erforderliche Feld nicht in der Datenherkunft befindet, die Ihrem Formular zugrunde liegt. Nehmen Sie z.B. an, in einem Formular Bestellungen, das auf einer Tabelle Bestelldetails basiert, zeigt das Textfeld Artikelnummer die Artikel-Nr an, und Sie möchten den Artikelnamen in Abhängigkeit vom Wert in diesem Textfeld aus der Tabelle Artikel ermitteln. Sie könnten ein neues Textfeld erstellen und die dazugehörige Eigenschaft ControlSource auf den folgenden Ausdruck festlegen:

= DomWert("[Artikelname]"; "Artikel"; "[Artikel-Nr] = " _

& Forms![Bestellungen]![Artikelnummer])

Tips   Obwohl Sie die Funktion DLookup verwenden können, um den Wert eines Feldes aus einer Fremdtabelle anzuzeigen, kann es effizienter sein, eine Abfrage zu erzeugen, die die gewünschten Felder aus beiden Tabellen enthält, und Ihrem Formular oder Bericht diese Abfrage zugrundezulegen.

Sie können auch den Nachschlage-Assistenten verwenden, um Werte in Fremdtabellen zu finden.

Anmerkung   Änderungen von Datensätzen im Argument Domäne, die noch nicht gespeichert sind, werden von dieser Funktion nicht berücksichtigt. Wenn die Funktion DLookup auf den geänderten Werten basieren soll, müssen Sie die Änderungen erst speichern, indem Sie aus dem Menü Datei den Befehl Datensatz speichern wählen, den Fokus auf einen anderen Datensatz setzen oder die Methode Update ausführen.


DLookup-Funktion (DomWert) - Beispiele

Diese Beispiel gibt Namensinformationen aus dem Feld Firma aus dem Datensatz zurück, der die Bedingungen im Argument Kriterien erfüllt. Die Domäne ist die Tabelle Versandfirmen. Das Argument Kriterien beschränkt die resultierende Datensatzgruppe auf Datensätze, bei denen Firmen-Nr gleich 1 ist.

Dim varX As Variant

varX = DLookup("[Firma]", "Versandfirmen", "[Firmen-Nr] = 1")

Das folgende Beispiel aus der Tabelle Versandfirmen verwendet das Formular-Steuerelement Firmen-Nr, um das Argument Kriterien für DLookup anzugeben. Beachten Sie, daß der Verweis auf das Steuerelement nicht in den Anführungszeichen steht, die die Zeichenfolge kennzeichnen. Dadurch wird sichergestellt, daß Microsoft Access bei jedem Aufruf von DLookup die aktuellen Werte vom Steuerelement erhält.

Dim varX As Variant

varX = DLookup("[Firma]", "Versandfirmen", "[Firmen-Nr] =" _

& Forms![Formular1]![Firmen-Nr])

Das nächste Beispiel verwendet die Variable intSuche, um den Wert zu ermitteln.

Dim intSuche As Integer, varX As Variant

intSuche = 1

varX = DLookup("[Firma]", "Versandfirmen", _

"[Firmen-Nr] = " & intSuche)


DMin-, DMax-Funktionen (DomMin, DomMax)

Mit den Funktionen DMin und DMax können Sie den kleinsten und größten Wert in einer angegebenen Datensatzgruppe (Domäne) ermitteln. Verwenden Sie DMin und DMax in Visual Basic, in einem Makro, einem Abfrageausdruck oder einem berechneten Steuerelement.

Sie können z.B. DMin und DMax in berechneten Steuerelementen in einem Bericht verwenden, um die größten und kleinsten Bestellmengen eines bestimmten Kunden anzuzeigen. Sie können DMin auch in einem Abfrageausdruck verwenden, um alle Bestellungen mit einem größeren als dem kleinstmöglichen Rabatt anzuzeigen.

Syntax

DMin(Ausdr, Domäne[, Kriterien])

DMax(Ausdr, Domäne[, Kriterien])

Die Funktionen DMin und DMax verwenden die folgenden Argumente.

Argument	Beschreibung
Ausdr	Ein Ausdruck, der das Feld kennzeichnet, von dem Sie den kleinsten oder größten Wert ermitteln möchten. Der Ausdruck kann ein Zeichenfolgenausdruck sein, der ein Feld in einer Tabelle oder Abfrage kennzeichnet, oder ein Ausdruck, der eine Berechnung mit Daten in dem Feld durchführt. Sie können im Argument Ausdr den Namen eines Tabellenfelds, eines Steuerelements in einem Formular, einer Konstanten oder einer Funktion einbeziehen. Enthält das Argument Ausdr eine Funktion, so kann dies entweder eine eingebaute oder eine benutzerdefinierte Funktion sein; Aggregatfunktionen für Domänen oder SQL-Aggregatfunkionen sind jedoch nicht zulässig.
Domäne	Ein Zeichenfolgenausdruck, der die Gruppe der Datensätze kennzeichnet, die die Domäne bilden. Es kann sich hierbei um den Namen der Tabelle oder um den Namen der Abfrage handeln.
Kriterien	Ein Zeichenfolgenausdruck, den Sie optional angeben können, um den Datenbereich einzuschränken, für den DMin oder DMax ausgeführt wird. Das Argument Kriterien ist z.B. oft gleichbedeutend mit der WHERE-Klausel in einem SQL-Ausdruck (ohne das Wort WHERE). Wird das Argument Kriterien nicht angegeben, so berechnen DMin und Dmax das Argument Ausdr für die gesamte Domäne. Jedes Feld, das im Argument Kriterien enthalten ist, muß auch ein Feld des Arguments Domäne sein, sonst geben DMin und DMax den Wert Null zurück.
Hinweis

DMin und DMax geben den kleinsten und den größten Wert zurück, der die Bedingung im Argument Kriterien erfüllt. Gibt das Argument Ausdr numerische Daten an, so geben DMin und DMax numerische Werte zurück. Gibt das Argument Ausdr Zeichenfolgendaten an, so wird die Zeichenfolge zurückgegeben, die alphabetisch an erster oder letzter Stelle steht.

DMin und DMax ignorieren Null-Werte in dem Feld, das durch das Argument Ausdr angegeben wird. Erfüllt allerdings kein Datensatz die Bedingung im Argument Kriterien, oder enthält das Argument Domäne keine Datensätze, so geben DMin und DMax den Wert Null zurück.

Unabhängig davon, ob Sie DMin oder DMax in einem Makro, einem Modul, einem Abfrageausdruck oder einem berechneten Steuerelement verwenden, müssen Sie das Argument Kriterien sehr sorgfältig erstellen und dafür sorgen, daß es korrekt ausgewertet wird.

Sie können DMin und DMa) verwenden, um die Kriterien in der Zeile Kriterien einer Abfrage, in einem berechneten Feldausdruck in einer Abfrage oder in der Zeile Aktualisieren einer Aktualisierungsabfrage anzugeben.

Anmerkung   Sie können DomMin und DomMax (DMin und DMax) oder die Funktionen Min und Max in einem berechneten Feldausdruck in einer Berechnungsabfrage verwenden. Wenn Sie DMin und Dmax verwenden, werden die Werte ausgewertet, bevor die Daten gruppiert werden. Verwenden Sie Min oder Max, so werden die Daten gruppiert, bevor der Wert im Feldausdruck ausgewertet wird.

Verwenden Sie DMin oder DMax in einem berechneten Steuerelement, wenn Sie Kriterien festlegen müssen, um den Datenbereich einzuschränken, auf dem die Funktion ausgeführt wird. Wenn Sie z.B. die höchsten Frachtkosten anzeigen möchten, die für eine nach Kalifornien versandte Bestellung berechnet wurden, legen Sie die Eigenschaft ControlSource eines Textfelds auf den folgenden Ausdruck fest.

= DomMax("[Frachtkosten]"; "Bestellungen"; "[Region] = 'CA'")

Möchten Sie einfach nur den kleinsten oder größten Wert aller Datensätze der im Argument Domäne angegebenen Domäne finden, so verwenden Sie die Funktion Min oder Max.

Sie können DMin oder DMax in einem Modul, einem Makro oder einem berechneten Steuerelement eines Formulars verwenden, wenn sich das Feld, das Sie anzeigen möchten, nicht in der Datenherkunft befindet, die Ihrem Formular zugrunde liegt.

Tip   Obwohl Sie DMin oder DMax verwenden können, um den kleinsten oder größten Wert in einem Feld einer Fremdtabelle zu finden, kann es effizienter sein, eine Abfrage zu erstellen, die die benötigten Felder aus beiden Tabellen enthält, und dann Ihrem Formular oder Bericht diese Abfrage zugrundezulegen.

Anmerkung   Änderungen von Datensätzen im Argument Domäne, die noch nicht gespeichert sind, werden von diesen Funktionen nicht berücksichtigt. Wenn die Funktionen DMin oder DMax auf den geänderten Werten basieren sollen, müssen Sie die Änderungen erst speichern, indem Sie aus dem Menü Datei den Befehl Datensatz speichern wählen, den Fokus auf einen anderen Datensatz setzen oder die Methode Update ausführen.


DMin-, DMax-Funktionen (DomMin, DomMax) - Beispiel

Dieses Beispiel gibt den kleinsten und den größten Wert aus dem Feld Frachtkosten für Bestellungen zurück, die nach Großbritannien versandt wurden. Als Domäne wird die Tabelle Bestellungen verwendet. Das Argument Kriterien beschränkt die resultierende Datensatzgruppe auf die Datensätze, bei denen Bestimmungsland gleich Großbritannien ist.

Dim curX As Currency, curY As Currency

curX = DMin("[Frachtkosten]", "Bestellungen", _

"[Bestimmungsland] = 'Großbritannien'")

curY = DMax("[Frachtkosten]", "Bestellungen", _

"[Bestimmungsland] = 'Großbritannien'")

Im nächsten Beispiel enthält das Argument Kriterien den aktuellen Wert eines Textfelds Bestelldatum. Das Textfeld ist an ein Feld Bestelldatum in der Tabelle Bestellungen gebunden. Der Verweis auf das Steuerelement steht nicht in den Anführungszeichen ("), die für die Zeichenfolgen verwendet werden. Dadurch wird sichergestellt, daß Microsoft Access bei jedem Aufruf von DMax den aktuellen Wert vom Steuerelement abruft.

Dim curX As Currency

curX = DMax("[Frachtkosten]", "Bestellungen", "[Bestelldatum] = #" _

& Forms![Bestellungen]![Bestelldatum] & "#")

Im nächsten Beispiel enthält der Kriterienausdruck eine Variable dteBestelldatum. Beachten Sie, daß der Zeichenfolgenausdruck #-Zeichen enthält, die das Datum umschließen, wenn die Zeichenfolgen verkettet werden.

Dim strBestelldatum As String, curX As Currency

strBestelldatum = "3-30-96"

curX = DMax("[Frachtkosten]", "Bestellungen", _

[Bestelldatum] = #" & strBestelldatum & "#")


DStDev-, DStDevP-Funktionen (DomStdAbw, DomStdAbwG)

Mit den Funktionen DStDev und DStDevP können Sie die Standardabweichung einer Gruppe von Werten in einer bestimmten Datensatzgruppe (Domäne) ermitteln. Verwenden Sie DStDev und DStDevP in einem Makro, einem Abfrageausdruck oder einem berechneten Steuerelement in einem Formular oder Bericht.

Verwenden Sie DStDev, um eine Population auszuwerten, und DStDevP, um eine Populationsstichprobe auszuwerten.

Sie können z.B. die Funktion DStDev in einem Modul verwenden, um die Standardabweichung einer Gruppe von Testergebnissen von Studenten zu berechnen.

Syntax

DStDev(Ausdr, Domäne[, Kriterien])

DStDevP(Ausdr, Domäne[, Kriterien])

Die Syntax der Funktionen DStDev und DStDevP enthält die folgenden Argumente.

Argument	Beschreibung
Ausdr	Ein Ausdruck, der das numerische Feld kennzeichnet, aus dem die Standardabweichung berechnet werden soll. Der Ausdruck kann ein Zeichenfolgenausdruck sein, der ein Feld in einer Tabelle oder Abfrage kennzeichnet, oder ein Ausdruck, der eine Berechnung mit Daten in dem Feld durchführt. Sie können im Argument Ausdr den Namen eines Tabellenfelds, eines Steuerelements in einem Formular, einer Konstanten oder einer Funktion einbeziehen. Enthält das Argument Ausdr eine Funktion, so kann dies entweder eine eingebaute oder eine benutzerdefinierte Funktion sein; Aggregatfunktionen für Domänen oder SQL-Aggregatfunkionen sind jedoch nicht zulässig.
Domäne	Ein Zeichenfolgenausdruck, der die Gruppe der Datensätze kennzeichnet, die die Domäne bilden. Es kann sich hierbei um den Namen der Tabelle oder um den Namen der Abfrage handeln.
Kriterien	Zeichenfolgenausdruck, den Sie optional angeben können, um den Datenbereich einzuschränken, für denDStDev oder DStDevP ausgeführt wird. Das Argument Kriterien ist z.B. oft gleichbedeutend mit der WHERE-Klausel in einem SQL-Ausdruck (ohne das Wort WHERE). Wird das Argument Kriterien nicht angegeben, so berechnen DStDev und DStDevP das Argument Ausdr für die gesamte Domäne. Jedes Feld, das im Argument Kriterien enthalten ist, muß auch ein Feld des Arguments Domäne sein, sonst geben DStDev und DStDevP den Wert Null zurück.
Hinweis

Bezieht sich das Argument Domäne auf weniger als zwei Datensätze, oder erfüllen weniger als zwei Datensätze die Bedingungen im Argument Kriterien, so geben DStDev und DStDevP den Wert Null zurück, um anzuzeigen, daß eine Standardabweichung nicht berechnet werden kann.

Unabhängig davon, ob Sie die Funktion DStDev oder DStDevP in einem Makro, einem Modul, einem Abfrageausdruck oder einem berechneten Steuerelement verwenden, müssen Sie das Argument Kriterien sehr sorgfältig erstellen und dafür sorgen, daß es korrekt ausgewertet wird.

Mit den Funktionen DStDev und DStDevP können Sie Kriterien in der Zeile Kriterien einer Auswahlabfrage festlegen. Sie können z.B. eine Abfrage auf der Tabelle Bestellungen und der Tabelle Artikel erstellen, um die Artikel anzuzeigen, bei denen die Frachtkosten über dem Mittelwert zuzüglich Standardabweichung für Frachtkosten liegen. Die Zeile Kriterien unter dem Feld Frachtkosten würde dann den folgenden Ausdruck enthalten:

> (DomStdAbw("[Frachtkosten]"; "Bestellungen") + _

DomMittelwert("[Frachtkosten]"; "Bestellungen"))

Sie können DStDev und DStDevP innerhalb eines berechneten Feldausdrucks in einer Abfrage oder in der Zeile Aktualisieren einer Aktualisierungsabfrage verwenden.

Anmerkung   Sie können DStDev und DStDevP oder  StDev und StDevP in einem berechneten Feldausdruck in einer Berechnungsabfrage verwenden. Wenn Sie DStDev oder DStDevP verwenden, werden die Werte berechnet, bevor die Daten gruppiert werden. Wenn Sie StDev oder StDevP verwenden, werden die Daten gruppiert, bevor die Werte im Feldausdruck ausgewertet werden.

Verwenden Sie DStDev und DStDevP in einem berechneten Steuerelement, wenn Sie das Argument Kriterien angeben möchten, um den Datenbereich einzuschränken, auf dem die Funktion ausgeführt wird. Wenn Sie z.B. die Standardabweichung von Bestellungen anzeigen möchten, die nach Kalifornien versendet werden sollen, legen Sie die Eigenschaft ControlSource eines Textfelds auf den folgenden Ausdruck fest:

= DomStdAbw("[Frachtkosten]"; "Bestellungen"; "[Region] = 'CA'")

Möchten Sie lediglich die Standardabweichung aller Datensätze einer Domäne ermitteln, so verwenden Sie die Funktion StdAbw oder StdAbwG (StDev oder StDevP).

Tip   Wenn der Datentyp des Feldes, von dem das Argument Ausdr stammt, eine Zahl ist, geben DStDev und DStDevP den Datentyp Double zurück. Wenn Sie DStDev oder DStDevP in einem berechneten Steuerelement verwenden, fügen Sie eine Datentyp-Konvertierungsfunktion in den Ausdruck ein, um das Leistungsverhalten zu verbessern.

Anmerkung   Änderungen von Datensätzen im Argument Domäne, die noch nicht gespeichert sind, werden von diesen Funktionen nicht berücksichtigt. Wenn die Funktionen DStDev oder DStDevP auf den geänderten Werten basieren sollen, müssen Sie die Änderungen erst speichern, indem Sie aus dem Menü Datei den Befehl Datensatz speichern wählen, den Fokus auf einen anderen Datensatz setzen oder die Methode Update ausführen.


DStDev-, DStDevP-Funktionen (DomStdAbw, DomStdAbwG) - Beispiele

Dieses Beispiel gibt Abschätzungen der Standardabweichung für die Population und für eine Populationsstichprobe für diejenigen Bestellungen zurück, die nach Großbritannien versandt wurden. Die Domäne ist die Tabelle Bestellungen. Das Argument Kriterien beschränkt die resultierende Datensatzgruppe auf Datensätze, bei denen Bestimmungsland gleich Großbritannien ist.

Dim dblX As Double, dblY As Double

' Stichprobenschätzung.

dblX = DStDev("[Frachtkosten]", "Bestellungen", _

"[Bestimmungsland] = 'Großbritannien'")

' Populationsschätzung.

dblY = DStDevP("[Frachtkosten]", "Bestellungen", _

"[Bestimmungsland] = 'Großbritannien'")

Das nächste Beispiel berechnet die gleichen Schätzungen mit Hilfe der Variablen strLand im Argument Kriterien. Im Zeichenfolgenausdruck befinden sich Hochkommas ('), d.h. wenn alle Zeichenfolgen verkettet sind, wird das Zeichenfolgenliteral Großbritannien in Hochkommas gesetzt.

Dim strLand As String, dblX As Double, dblY As Double

strLand = "Großbritannien"

dblX = DStDev("[Frachtkosten]", "Bestellungen", _

"[Bestimmungsland] = '" & strLand & "'")

dblY = DStDevP("[Frachtkosten]", "Bestellungen", _

"[Bestimmungsland] = '" & strLand & "'")


DSum-Funktion (DomSumme)

Mit der Funktion DSum können Sie die Summe einer Gruppe von Werten in einer bestimmten Datensatzgruppe (Domäne) berechnen. Verwenden Sie DSum in Visual Basic, in einem Makro, einem Abfrageausdruck oder einem berechneten Steuerelement.

Sie können z.B. die Funktion DSum in einem berechneten Feldausdruck in einer Abfrage verwenden, um den Gesamtumsatz zu berechnen, den ein bestimmter Angestellter in einem Zeitraum gemacht hat. Sie können die Funktion DSum auch in einem berechneten Steuerelement verwenden, um die laufenden kumulierten Umsätze eines bestimmten Produkts anzuzeigen.

Syntax

DSum(Ausdr, Domäne[, Kriterien])

Die Funktion DSum verwendet die folgenden Argumente.

Argument	Beschreibung
Ausdr	Ein Ausdruck, der das Feld mit den numerischen Daten kennzeichnet, dessen Werte Sie aufsummieren möchten. Der Ausdruck kann ein Zeichenfolgenausdruck sein, der ein Feld in einer Tabelle oder Abfrage kennzeichnet, oder ein Ausdruck, der eine Berechnung mit Daten in dem Feld durchführt. Sie können im Argument Ausdr den Namen eines Tabellenfelds, eines Steuerelements in einem Formular, einer Konstanten oder einer Funktion einbeziehen. Enthält das Argument Ausdr eine Funktion, so kann dies entweder eine eingebaute oder eine benutzerdefinierte Funktion sein; Aggregatfunktionen für Domänen oder SQL-Aggregatfunktionen sind jedoch nicht zulässig.
Domäne	Ein Zeichenfolgenausdruck, der die Gruppe der Datensätze kennzeichnet, die die Domäne bilden. Es kann sich hierbei um den Namen der Tabelle oder um den Namen der Abfrage handeln.
Kriterien	Ein Zeichenfolgenausdruck, den Sie optional angeben können, um den Datenbereich einzuschränken, für den DSum ausgeführt wird. Das Argument Kriterien ist z.B. oft gleichbedeutend mit der WHERE-Klausel in einem SQL-Ausdruck (ohne das Wort WHERE). Wird das Argument Kriterien nicht angegeben, so berechnet DSum das Argument Ausdr für die gesamte Domäne. Jedes Feld, das im Argument Kriterien enthalten ist, muß auch ein Feld des Arguments Domäne sein, sonst gibt DSum den Wert Null zurück.
Hinweis

Erfüllt kein Datensatz die Bedingungen im Argument Kriterien, oder enthält die Domäne keine Datensätze, so gibt die Funktion DSum den Wert Null zurück.

Unabhängig davon, ob Sie DSum in einem Makro, einem Modul, einem Abfrageausdruck oder einem berechneten Steuerelement verwenden, müssen Sie das Argument Kriterien sehr sorgfältig erstellen und dafür sorgen, daß es korrekt ausgewertet wird.

Mit DSum können Sie die Kriterien in der Zeile Kriterien in einer Abfrage, in einem berechneten Feld in einem Abfrageausdruck oder in der Zeile Aktualisierung bei einer Aktualisierungsabfrage festlegen.

Anmerkung   Sie können entweder DSum oder Sum  in einem berechneten Feldausdruck in einer Berechnungsabfrage verwenden. Wenn Sie DSum verwenden, werden die Werte berechnet, bevor die Daten gruppiert werden. Wenn Sie die Funktion Sum verwenden, werden die Daten gruppiert, bevor die Werte im Feldausdruck ausgewertet werden.

Sie sollten DSum verwenden, wenn Sie die Summe einer Gruppe von Werten, die sich nicht in der Datenherkunft Ihres Berichts befindet, anzeigen möchten. Nehmen Sie z.B. an, ein Formular zeigt Informationen über ein bestimmtes Produkt an. Sie können DSum verwenden, um die Zwischensummen der Umsätze mit diesem Produkt in einem berechneten Steuerelement anzuzeigen.

Tip   Wenn Sie eine Zwischensumme in einem Steuerelement auf einem Bericht anzeigen möchten, können Sie die Eigenschaft RunningSum des Steuerelements verwenden, wenn das dem Steuerelement zugrundeliegende Feld in der Datenherkunft des Berichts enthalten ist. Verwenden Sie DSum, um eine Zwischensumme in einem Formular anzuzeigen.

Anmerkung   Änderungen von Datensätzen im Argument Domäne, die nicht gespeichert sind, werden bei dieser Funktion nicht berücksichtigt. Wenn die Funktion DSum die geänderten Werte einbeziehen soll, müssen Sie die Änderungen erst speichern, indem Sie aus dem Menü Datei den Befehl Datensatz speichern wählen, den Fokus auf einen anderen Datensatz setzen oder die Methode Update verwenden.


DSum-Funktion (DomSumme) - Beispiele

Dieses Beispiel summiert die Werte aus dem Feld Frachtkosten für Bestellungen auf, die nach Großbritannien versandt wurden. Die Domäne ist die Tabelle Bestellungen. Das Argument Kriterien beschränkt die resultierende Datensatzgruppe auf Datensätze, bei denen Bestimmungsland gleich Großbritannien ist.

Dim curX As Currency

curX = DSum("[Frachtkosten]", "Bestellungen", "[Bestimmungsland] = 'Großbritannien'")

Das nächste Beispiel berechnet eine Summe mit zwei unterschiedlichen Kriterien. Der Zeichenfolgenausdruck enthält Hochkommas (') und #-Zeichen, so daß bei der Verkettung der Zeichenfolgen das Zeichenfolgenliteral in Hochkommas und das Datum in #Zeichen gesetzt wird.

Dim curX As Currency

curX = DSum("[Frachtkosten]", "Bestellungen", _

"[Bestimmungsland] = 'Großbritannien' AND [Versanddatum] > #1-1-96#")

Sie können eine Domänenfunktion in der Zeile Aktualisieren einer Aktualisierungsabfrage verwenden. Nehmen Sie z.B. an, daß Sie die aktuellen Umsätze eines Produkts in der Tabelle Artikel verfolgen möchten. Sie können der Tabelle Artikel ein neues Feld Aktuelle Umsatzzahlen hinzufügen und eine Aktualisierungsabfrage starten , um die korrekten Werte zu berechnen und die Datensätze zu aktualisieren. Erstellen Sie eine neue Abfrage, der die Tabelle Artikel zugrunde liegt, und wählen Sie aus dem Menü Abfrage den Befehl Aktualisieren. Fügen Sie dem Abfrage-Entwurfsbereich das Feld Aktuelle Umsatzzahlen hinzu, und geben Sie folgendes in die Zeile Aktualisieren ein:

DSumme("[Anzahl]*[Einzelpreis]"; "Bestelldetails"; _

"[Artikel-Nr] = " & [Artikel-Nr])

Wenn die Abfrage ausgeführt wird, berechnet Microsoft Access die Gesamtsumme der Umsätze für jedes Produkt aus den Informationen in der Tabelle Bestelldetails. Die Summe der Umsätze für jedes Produkt wird in die Tabelle Artikel eingetragen.


DVar-, DVarP-Funktionen (DomVarianz, DomVarianzG)

Mit den Funktionen DVar und DVarP können Sie die Varianz einer Gruppe von Werten in einer angegebenen Datensatzgruppe (Domäne) abschätzen. Verwenden Sie DVar und DVarP in Visual Basic, in einem Makro, einem Abfrageausdruck oder einem berechneten Steuerelement in einem Formular oder Bericht.

Verwenden Sie DVarP, um die Varianz einer Population zu ermitteln, und verwenden Sie DVar, um die Varianz einer Populationsstichprobe zu ermitteln.

Sie können z.B. DVar verwenden, um die Varianz einer Gruppe von Testergebnissen von Studenten zu ermitteln.

Syntax

DVar(Ausdr, Domäne[, Kriterien])

DVarP(Ausdr, Domäne[, Kriterien])

Die Funktionen DVar und DVarP verwenden die folgenden Argumente.

Argument	Beschreibung
Ausdr	Ein Ausdruck, der das numerische Feld kennzeichnet, für dessen Werte Sie die Varianz ermitteln möchten. Der Ausdruck kann ein Zeichenfolgenausdruck sein, der ein Feld in einer Tabelle oder Abfrage kennzeichnet, oder ein Ausdruck , der eine Berechnung mit Daten in dem Feld durchführt. Sie können im Argument Ausdr den Namen eines Tabellenfelds, eines Steuerelements in einem Formular, einer Konstanten oder einer Funktion einbeziehen. Enthält das Argument Ausdr eine Funktion, so kann dies entweder eine eingebaute oder eine benutzerdefinierte Funktion sein; Aggregatfunktionen für Domänen oder SQL-Aggregatfunktionen sind jedoch nicht zulässig. Jedes in Ausdr enthaltene Feld muß ein numerisches Feld sein.
Domäne	Ein Zeichenfolgenausdruck, der die Gruppe der Datensätze kennzeichnet, die die Domäne bilden. Es kann sich hierbei um den Namen der Tabelle oder um den Namen der Abfrage handeln.
Kriterien	Ein Zeichenfolgenausdruck, den Sie optional angeben können, um den Datenbereich einzuschränken, für den die Funktion oder DVar oder DvarP ausgeführt wird. Das Argument Kriterien ist z.B. oft gleichbedeutend mit der WHERE-Klausel in einem SQL-Ausdruck (ohne das Wort WHERE). Wird das Argument Kriterien nicht angegeben, so berechnen DVar oder DVarP das Argument Ausdr für die gesamte Domäne. Jedes Feld, das im Argument Kriterien enthalten ist, muß auch ein Feld des Arguments Domäne sein, sonst geben DVar oder DVarP den Wert Null zurück.
Hinweis

Bezieht sich das Argument Domäne auf weniger als zwei Datensätze, oder erfüllen weniger als zwei Datensätze das Argument Kriterien, so geben DVar und DVarP den Wert Null zurück, um anzuzeigen, daß keine Varianz berechnet werden kann.

Unabhängig davon, ob Sie DVar oder DVarP in einem Makro, einem Modul, einem Abfrageausdruck oder einem berechneten Steuerelement verwenden, müssen Sie das Argument Kriterien sehr sorgfältig erstellen und dafür sorgen, daß es korrekt ausgewertet wird.

Sie können DVar und DVarP verwenden, um die Kriterien in der Zeile Kriterien einer Auswahlabfrage, in einem berechneten Feldausdruck in einer Abfrage oder in der Zeile Aktualisieren einer Aktualisierungsabfrage festzulegen.

Anmerkung   Sie können DVar und DVarP oder Var und VarP in einem berechneten Feldausdruck in einer Berechnungsabfrage verwenden. Wenn Sie DVar oder DVarP verwenden, werden die Werte berechnet, bevor die Daten gruppiert werden. Wenn Sie Var oder VarP verwenden, werden die Daten gruppiert, bevor die Werte im Feldausdruck ausgewertet werden.

Verwenden Sie DVar und DVarP in einem berechneten Steuerelement, wenn Sie das Argument Kriterien festlegen müssen, um den Datenbereich einzuschränken, auf dem die Funktion ausgeführt wird. Wenn Sie z.B. die Varianz der Bestellungen anzeigen möchten, die nach Kalifornien versendet werden sollen, legen Sie die Eigenschaft ControlSource eines Textfelds auf den folgenden Ausdruck fest:

= DVarianz("[Frachtkosten]"; "Bestellungen"; "[Region] = 'CA'")

Möchten Sie lediglich die Standardabweichung aller Datensätze im Argument Domäne ermitteln, so verwenden Sie Var oder VarP.

Anmerkung   Änderungen von Datensätzen im Argument Domäne, die noch nicht gespeichert sind, werden von diesen Funktionen nicht berücksichtigt. Wenn die Funktionen DVar oder DVarP die geänderten Werte einbeziehen sollen, müssen Sie die Änderungen erst speichern, indem Sie aus dem Menü Datei den Befehl Datensatz speichern wählen, den Fokus auf einen anderen Datensatz setzen oder die Methode Update ausführen.


DVar-, DVarP-Funktionen (DomVarianz, DomVarianzG) - Beispiele

Dieses Beispiel gibt die Abschätzungen der Varianz für eine Population und für eine Populationsstichprobe für Bestellungen zurück, die nach Großbritannien versandt wurden. Die Domäne ist die Tabelle Bestellungen. Das Argument Kriterien beschränkt die resultierende Datensatzgruppe auf Datensätze, bei denen Bestimmungsland gleich Großbritannien ist.

Dim dblX As Double, dblY As Double

' Stichprobenschätzung.

dblX = DVar("[Frachtkosten]", "Bestellungen", _

"[Bestimmungsland] = 'Großbritannien'")

' Populationsschätzung.

dblY = DVarP("[Frachtkosten]", "Bestellungen", _

"[Bestimmungsland] = 'Großbritannien'")

Das nächste Beispiel gibt Schätzungen mit Hilfe der Variablen strLand im Argument Kriterien zurück. Im Zeichenfolgenausdruck befinden sich Hochkommas ('), d.h. wenn alle Zeichenfolgen verkettet sind, wird das Zeichenfolgenliteral Großbritannien in Hochkommas gesetzt.

Dim strLand As String, dblX As Double

strLand = "Großbritannien"

dblX = DVar("[Frachtkosten]", "Bestellungen", "[Bestimmungsland] = '" _

& strLand & "'")


Berechnen von Feldern in Aggregatfunktionen für Domänen

Sie können das Argument Zeichenfolgenausdruck (Ausdr) in einer Aggregatfunktion für Domänen verwenden, um eine Berechnung auf den Werten in einem Feld durchzuführen. Sie können z.B. einen Prozentsatz (etwa einen Zuschlag oder eine Umsatzsteuer) berechnen, indem Sie einen Feldwert durch eine Zahl dividieren.

Die folgende Tabelle enthält Beispiele zur Berechnung von Feldern aus der Tabelle Bestellungen und der Tabelle Bestelldetails.

Berechnung	Beispiel
Addieren einer Zahl zu einem Feld	"[Frachtkosten] + 5"
Subtrahieren einer Zahl von einem Feld	"[Frachtkosten] - 5"
Multiplizieren eines Feldes mit einer Zahl	"[Frachtkosten] * 2"
Dividieren eines Feldes durch eine Zahl	"[Frachtkosten] / 2"
Addieren eines Feldes zu einem anderen Feld	"[Lagerbestand] + [Bestellte Einheiten]"
Subtrahieren eines Feldes von einem anderen Feld	"[Mindestbestand] - [Lagerbestand]"
Sie würden eine Aggregatfunktion für Domänen wahrscheinlich in einem Makro, einem Modul, einem berechneten Steuerelement in einem Formular oder Bericht oder in einem Ausdruck Kriterien in einer Abfrage verwenden.

Sie können z.B. den durchschnittlichen Rabatt von allen Bestellungen in der Tabelle Bestelldetails berechnen. Multiplizieren Sie das Feld Einzelpreis mit dem Feld Rabatt , um den Rabatt für jede Bestellung zu ermitteln, und berechnen Sie danach den Durchschnitt. Geben Sie folgende Zeilen in eine Modulprozedur ein:

Dim dblX As Double

dblX = DAvg("[Einzelpreis] * [Rabatt]", "[Bestelldetails]")


BeforeUpdate-, AfterUpdate-Ereignisse (VorAktualisierung, NachAktualisierung)

•	Das Ereignis BeforeUpdate tritt ein, bevor geänderte Daten in einem Steuerelement oder Datensatz aktualisiert werden.

•	Das Ereignis AfterUpdate tritt ein, nachdem geänderte Daten in einem Steuerelement oder Datensatz aktualisiert wurden.

Anmerkungen

•	Das Ändern von Daten in einem Steuerelement mit Visual Basic oder einem Makro, das die Aktion SetzenWert enthält, löst diese Ereignisse nicht aus. Wenn Sie danach jedoch zu einem anderen Datensatz gehen oder den Datensatz speichern, treten die Ereignisse BeforeUpdate und AfterUpdate des Formulars ein.

•	Die Ereignisse BeforeUpdate und AfterUpdate gelten nur für Steuerelemente eines Formulars, nicht für Steuerelemente eines Berichts.

•	Diese Ereignisse gelten nicht für Optionsfelder, Kontrollkästchen oder Umschaltflächen einer Optionsgruppe, sondern nur für die Optionsgruppe selbst.

Hinweis

Wenn beim Eintreten dieser Ereignisse ein Makro oder eine Ereignisprozedur ausgeführt werden soll, stellen Sie die Eigenschaft BeforeUpdate oder AfterUpdate auf den Namen des Makros oder auf [Ereignisprozedur] ein.

Die Ereignisse BeforeUpdate und AfterUpdate werden beim Aktualisieren eines Steuerelements oder Datensatzes ausgelöst. Innerhalb eines Datensatzes werden geänderte Daten in jedem Steuerelement aktualisiert, wenn das Steuerelement den Fokus abgibt oder wenn der Benutzer die EINGABETASTE oder TAB drückt. Wenn der Fokus den Datensatz verläßt oder der Benutzer im Menü Datensätze auf den Befehl Datensatz speichern klickt, wird der gesamte Datensatz aktualisiert. Gleichzeitig werden die Daten in der Datenbank gespeichert.

Wenn Sie in ein Steuerelement eines Formulars neue oder geänderte Daten eingeben und dann zu einem anderen Datensatz wechseln oder den Datensatz mit dem Befehl Datensatz speichern aus dem Menü Datensätze speichern, treten zunächst die Ereignisse BeforeUpdate und AfterUpdate des Steuerelements und unmittelbar danach die Ereignisse BeforeUpdate und AfterUpdate des Formulars ein. Wenn Sie zu einem anderen Datensatz gewechselt haben, treten für das Steuerelement die Ereignisse Exit und LostFocus ein, gefolgt vom Ereignis Current für den Datensatz, zu dem Sie gelangt sind, und den Ereignissen Enter und GotFocus für das erste Steuerelement dieses Datensatzes. Sie können die Makros oder Ereignisprozeduren für die Ereignisse BeforeUpdate oder AfterUpdate ohne die Makros oder Ereignisprozeduren für die Ereignisse Exit oder LostFocus ausführen, indem Sie den Datensatz mit dem Befehl Datensatz speichern aus dem Menü Datensätze speichern.

Die Makros und Ereignisprozeduren für die Ereignisse BeforeUpdate und AfterUpdate werden nur ausgeführt, wenn Sie in einem Steuerelement Daten ändern. Diese Ereignisse treten nicht ein, wenn sich ein Wert in einem berechneten Steuerelement ändert. Die Makros und Ereignisprozeduren für die Ereignisse BeforeUpdate und AfterUpdate eines Formulars werden nur ausgeführt, wenn Sie die Daten in einem oder mehreren Steuerelementen des Datensatzes ändern.

Bei Formularen können Sie das Ereignis BeforeUpdate verwenden, um das Aktualisieren eines Datensatzes zu unterbinden, bevor Sie zu einem anderen Datensatz wechseln.

Bei gebundenen Steuerelementen wird die Einstellung der Eigenschaft OldValue erst dann auf den aktualisierten Wert gesetzt, nachdem das Ereignis AfterUpdate eingetreten ist. Selbst wenn der Benutzer in das Steuerelement einen neuen Wert eingibt, wird die Einstellung der Eigenschaft OldValue erst geändert, wenn die Daten gespeichert sind (der Datensatz aktualisiert ist). Wenn Sie die Aktualisierung unterbinden, wird der im Steuerelement vorhandene Wert durch den Wert der Eigenschaft OldValue ersetzt.

Sie verwenden das Ereignis BeforeUpdate häufig, um Daten zu überprüfen, insbesondere bei komplexen Gültigkeitsüberprüfungen wie z.B.:

•	Gültigkeitsüberprüfungen, die Bedingungen für mehrere Werte eines Formulars einbeziehen.

•	Gültigkeitsüberprüfungen, die verschiedene Fehlermeldungen für verschiedene eingegebene Daten anzeigen.

•	Gültigkeitsüberprüfungen, die durch den Benutzer außer Kraft gesetzt werden können.

•	Gültigkeitsüberprüfungen, die Verweise auf Steuerelemente anderer Formulare bzw. auf benutzerdefinierte Funktionen enthalten.

Anmerkung  Wenn Sie einfache oder komplexere Gültigkeitsüberprüfungen durchführen möchten, wie z.B. das Erzwingen eines Wertes in einem Feld oder die Überprüfung mehrerer Steuerelemente eines Formulars, können Sie für Steuerelemente die Eigenschaft ValidationRule und für Felder und Datensätze in Tabellen die Eigenschaften ValidationRule und Required verwenden.


BeforeUpdate-, AfterUpdate-Ereignisse (VorAktualisierung, NachAktualisierung) - Makros

Sie können beim Eintreten des Ereignisses BeforeUpdate oder AfterUpdate ein Makro ausführen, indem Sie die Eigenschaft BeforeUpdate oder AfterUpdate auf den Namen des Makros einstellen. Microsoft Access führt dann das Makro für ein Steuerelement oder Formular aus, bevor bzw. nachdem die Daten im Steuerelement oder im aktuellen Datensatz des Formulars aktualisiert sind. Werden die Daten im Steuerelement oder Datensatz nicht aktualisiert, wird das Makro nicht ausgeführt.

Hinweis

Sie können Makros für das Ereignis BeforeUpdate verwenden, wenn Sie alle Gültigkeitsüberprüfungen für ein Formular in einer Makrogruppe speichern oder einen Ausdruck für die Gültigkeitsregel in mehreren Formularen verwenden.

Sie haben z.B. ein Formular, in dem der Benutzer den Namen eines Landes in das Steuerelement Land und die entsprechende Postleitzahl in das Steuerelement Postleitzahl eingibt. In diesem Fall können Sie bedingte Ausdrücke im Makro verwenden, um sicherzustellen, daß sich die Werte entsprechen, die in die Steuerelemente eingegeben wurden. Wenn der Benutzer dann in das Steuerelement Postleitzahl ungültige Werte eingibt, wird eine Meldung angezeigt.

Sie können ein Makro für das Ereignis AfterUpdate verwenden, um eine andere Seite des Formulars anzuzeigen oder den Fokus auf ein bestimmtes Steuerelement oder einen bestimmten Datensatz zu bewegen. Wenn der Benutzer z.B. in das Steuerelement Kategorie eines Formulars einen Wert eingibt, können Sie in einem Makro für das Ereignis BeforeUpdate mit der Aktion GeheZuSeite den Fokus auf die Seite des Formulars bewegen, auf der die Steuerelemente dieser Kategorie enthalten sind.

Sie können in einem Makro für das Ereignis AfterUpdate die Aktion AbbrechenEreignis verwenden, um die Aktualisierung zu unterbinden. Wenn dieses Makro einem Steuerelement zugeordnet ist, setzt die Aktion AbbrechenEreignis den Fokus auf das Steuerelement zurück, und die vom Benutzer eingegebenen Daten verbleiben im Steuerelement.

Wenn ein Makro für das Ereignis BeforeUpdate einem Formular zugeordnet ist, in dem es bei jeder Datensatzänderung ausgeführt wird, setzt die Aktion AbbrechenEreignis den Fokus auf den Datensatz zurück.

In einem Makro für das Ereignis AfterUpdate können Sie die Aktion AbbrechenEreignis nicht verwenden, um das Ereignis AfterUpdate zu unterbinden.


BeforeUpdate-, AfterUpdate-Ereignisse (VorAktualisierung, NachAktualisierung) - Ereignisprozeduren

Sie können eine Ereignisprozedur erstellen, die beim Eintreten des Ereignisses BeforeUpdate oder AfterUpdate ausgeführt wird, indem Sie die Eigenschaft BeforeUpdate bzw. AfterUpdate auf [Ereignisprozedur] einstellen und dann auf die Editor-Schaltfläche  [image] klicken.

Syntax

Private Sub Form_BeforeUpdate (Cancel As Integer)

Private Sub Steuerelementname_BeforeUpdate (Cancel As Integer)

Private Sub Form_AfterUpdate ( )

Private Sub Steuerelementname_AfterUpdate ( )

Die Ereignisprozedur für das Ereignis BeforeUpdate hat folgende Argumente:

Argument	Beschreibung
Steuerelementname	Der Name des Steuerelements, dessen BeforeUpdate-Ereignisprozedur Sie ausführen möchten.
Cancel	Die Einstellung gibt an, ob das Ereignis BeforeUpdate eintritt. Das Einstellen von Cancel auf True (-1) unterbindet das Ereignis BeforeUpdate.
Die Ereignisprozedur für das Ereignis AfterUpdate hat das folgende Argument:

Argument	Beschreibung
Steuerelementname	Der Name des Steuerelements, auf das sich die AfterUpdate-Ereignisprozedur auswirkt.
Hinweis

Das Ereignis AfterUpdate kann nicht unterbunden werden.

Sie können eine Ereignisprozedur für das Ereignis AfterUpdate verwenden, um eine andere Seite des Formulars anzuzeigen oder den Fokus auf ein bestimmtes Steuerelement oder einen bestimmten Datensatz zu bewegen. Wenn der Benutzer z.B. in das Steuerelement Kategorie eines Formulars einen Wert eingibt, können Sie in der Ereignisprozedur für das Ereignis AfterUpdate mit der Methode GoToPage den Fokus auf die Seite des Formulars bewegen, auf der sich die Steuerelemente dieser Kategorie befinden.


BeforeUpdate-, AfterUpdate-Ereignisprozeduren (VorAktualisierung, NachAktualisierung) - Beispiel

Dieses Beispiel zeigt, wie Sie mit einer Ereignisprozedur für das Ereignis BeforeUpdate überprüfen können, ob ein Artikelname bereits eingegeben wurde. Nachdem der Benutzer in das Feld Artikelname einen Artikelnamen eingegeben hat, wird der Wert mit dem Feld Artikelname der Tabelle Artikel verglichen. Stimmen die Werte überein, wird der Benutzer in einer Meldung darauf hingewiesen, daß der Artikel bereits in der Datenbank enthalten ist.

Sie können dieses Beispiel testen, indem Sie die folgende Ereignisprozedur zu einem Formular namens Artikel hinzufügen, das ein Textfeld namens Artikelname enthält.

Private Sub Artikelname_BeforeUpdate(Cancel As Integer)

If (Not IsNull(DLookup("[Artikelname]", "Artikel", _

"[Artikelname] ='" & Me!Artikelname & "'"))) Then

MsgBox "Dieser Artikel wurde bereits in die Datenbank eingegeben."

Cancel = True

Me!Artikelname.Undo

End If

End Sub


Click-Ereignis (Klicken)

Das Ereignis Click tritt ein, wenn der Benutzer eine Maustaste drückt und wieder losläßt, während sich der Mauszeiger auf einem Objekt befindet.

Anmerkungen

•	Das Ereignis Click gilt nur für Formulare, Formularbereiche und Steuerelemente eines Formulars, nicht aber für Steuerelemente eines Berichts.

•	Dieses Ereignis gilt nicht für Kontrollkästchen, Optionsfelder oder Umschaltflächen einer Optionsgruppe, sondern nur für die Optionsgruppe selbst.

•	Dieses Ereignis gilt nicht für Bezeichnungsfelder, die einem anderen Steuerelement zugeordnet sind, wie z.B. das Bezeichnungsfeld eines Textfelds, sondern nur für "freistehende" Bezeichnungsfelder. Das Klicken auf ein zugeordnetes Bezeichnungsfeld wirkt sich genauso aus wie das Klicken auf das zugeordnete Steuerelement. Es treten die normalen Ereignisse für das Steuerelement ein, aber kein Ereignis für das zugeordnete Bezeichnungsfeld.

•	Dieses Ereignis  betrifft ein Steuerelement, das einen hyperlink enthält.

Hinweis

Wenn beim Eintreten dieses Ereignisses ein Makro oder eine Ereignisprozedur ausgeführt werden soll, stellen Sie die Eigenschaft OnClick auf den Namen des Makros oder auf [Ereignisprozedur] ein.

Bei einem Formular tritt dieses Ereignis ein, wenn der Benutzer auf eine leere Fläche oder auf einen Datensatzmarkierer des Formulars klickt.

Bei einem Steuerelement tritt dieses Ereignis bei folgenden Benutzeraktionen ein:

•	Klicken mit der linken Maustaste auf ein Steuerelement. Dieses Ereignis wird nicht ausgelöst, wenn mit der rechten oder mittleren Maustaste auf das Steuerelement geklickt wird.

•	Klicken mit der linken Maustaste auf ein Steuerelement, das Hyperlink-Daten enthält. Dieses Ereignis wird nicht ausgelöst, wenn mit der rechten oder mittleren Maustaste auf das Steuerelement geklickt wird. Bewegt der Benutzer den Mauszeiger über ein Steuerelement mit Hyperlink-Daten, wird der Mauszeiger als "Handsymbol" dargestellt. Ein anschließendes Klicken mit der Maustaste aktiviert den Hyperlink und löst das Ereignis Click aus.

•	Auswählen eines Eintrags in einem Kombinationsfeld oder Listenfeld, indem entweder die PFEILTASTEN und dann die EINGABETASTE gedrückt werden oder mit der Maustaste geklickt wird.

•	Drücken der LEERTASTE, während sich der Fokus auf einer Befehlsschaltfläche, einem Kontrollkästchen, einem Optionsfeld oder einer Umschaltfläche befindet.

•	Drücken der EINGABETASTE auf einem Formular mit einer Befehlsschaltfläche, deren Eigenschaft Default auf Ja eingestellt ist.

•	Drücken von ESC auf einem Formular mit einer Befehlsschaltfläche, deren Eigenschaft Cancel auf Ja eingestellt ist.

•	Drücken der Zugriffstaste eines Steuerelements. Wenn z.B. die Eigenschaft Caption einer Befehlsschaltfläche auf &Start eingestellt ist, wird das Ereignis durch Drücken von ALT+S ausgelöst.

In der Regel ordnen Sie eine Ereignisprozedur oder ein Makro für das Ereignis Click einer Befehlsschaltfläche zu, um Befehle und befehlsähnliche Aktionen auszuführen. Bei den anderen möglichen Steuerelementen können Sie mit diesem Ereignis auf die weiter oben beschriebenen Situationen reagieren.

Bei Befehlsschaltflächen führt Microsoft Access das durch die Eigenschaft OnClick angegebene Makro bzw. die angegebene Ereignisprozedur aus, wenn der Benutzer die Befehlsschaltfläche durch Drücken der EINGABETASTE oder einer Zugriffstaste wählt. Das Makro bzw. die Ereignisprozedur wird nur einmal ausgeführt. Soll das Makro oder die Ereignisprozedur mehrmals ausgeführt werden, während die Befehlsschaltfläche gedrückt wird, stellen Sie deren Eigenschaft AutoRepeat auf Ja ein. Bei anderen Arten von Steuerelementen klicken Sie mit der Maus auf das Steuerelement, um das Ereignis Click auszulösen.

Für eine Befehlsschaltfläche tritt das Ereignis Click ein, wenn Sie die Befehlsschaltfläche wählen. Wenn der Fokus beim Wählen noch nicht auf die Befehlsschaltfläche gesetzt ist, treten vor dem Ereignis Click zunächst die Ereignisse Enter und GotFocus für die Befehlsschaltfläche ein.

Durch Doppelklicken auf ein Steuerelement treten die Ereignisse DblClick und Click ein. Bei Befehlsschaltflächen löst das Doppelklicken die folgenden Ereignisse in der angegebenen Reihenfolge aus:

MouseDown ⇒ MouseUp ⇒ Click ⇒ DblClick ⇒ Click

Sie können in einem Makro für das Ereignis DblClick die Aktion AbbrechenEreignis verwenden, um das zweite Click-Ereignis zu unterbinden. Weitere Informationen finden Sie im Hilfethema zum Ereignis DblClick.

Das Ereignis Click tritt für eine Optionsgruppe ein, nachdem Sie den Wert eines der Steuerelemente der Optionsgruppe durch Klicken auf das Steuerelement geändert haben. Wenn Sie z.B. auf eine Umschaltfläche, ein Optionsfeld oder ein Kontrollkästchen einer Optionsgruppe klicken, tritt das Ereignis Click für die Optionsgruppe nach den Ereignissen BeforeUpdate und AfterUpdate für die Optionsgruppe ein.

Tip   Verwenden Sie die Ereignisse MouseDown und MouseUp, um zwischen der linken, rechten und mittleren Maustaste zu unterscheiden.


Click-Ereignis (Klicken) - Makros

Sie können beim Eintreten des Ereignisses Click ein Makro ausführen, indem Sie die Eigenschaft OnClick auf den Namen des Makros einstellen.

Hinweis

Sie verwenden die Makros für das Ereignis Click häufig, um die Aktionen für jede Befehlsschaltfläche eines Formulars auszuführen. Der Benutzer kann z.B. beim Klicken auf eine Befehlsschaltfläche eines Formulars einen Bericht mit den Datensätzen des Formulars drucken. Durch Klicken auf eine andere Befehlsschaltfläche kann er ein damit zusammenhängendes Formular öffnen.

In einem Makro für das Ereignis Click können Sie die Aktion AbbrechenEreignis nicht verwenden, um das Ereignis Click zu unterbinden.


Click-Ereignis (Klicken) - Ereignisprozeduren

Sie können eine Ereignisprozedur erstellen, die beim Eintreten des Ereignisses Click ausgeführt wird, indem Sie die Eigenschaft OnClick auf [Ereignisprozedur] einstellen und dann auf die Editor-Schaltfläche  [image] klicken.

Syntax

Private Sub Form_Click

Private Sub Steuerelementname_Click

Die Ereignisprozedur für das Ereignis Click hat folgendes Argument:

Argument	Beschreibung
Steuerelementname	Der Name des Steuerelements, dessen Click-Ereignisprozedur Sie ausführen möchten.
Hinweis

Wenn der Benutzer auf ein Listenfeld doppelklickt, treten die folgenden Ereignisse in der angegebenen Reihenfolge ein:

 MouseDown ⇒ MouseUp ⇒ Click ⇒ DblClick

Bei anderen Steuerelementen ist die Reihenfolge der Ereignisse ähnlich. Wenn Sie Ereignisprozeduren für diese zusammengehörenden Ereignisse erstellen, muß der Code in den Ereignisprozeduren aufeinander abgestimmt sein. Die Ereignisprozedur für DblClick z.B. keinen Code enthalten, der die Aktionen unterbindet, die in der Ereignisprozedur für Click ausgeführt werden.

Das Ereignis Click kann nicht unterbunden werden.


Click-Ereignisprozeduren (Klicken) - Beispiel

In diesem Beispiel wird die Ereignisprozedur für das Ereignis Click dem Kontrollkästchen Schreibgeschützt zugeordnet. Die Ereignisprozedur stellt die Eigenschaften Enabled und Locked eines anderen Steuerelements des Formulars ein, nämlich des Textfelds Summe. Wenn der Benutzer auf das Kontrollkästchen klickt, überprüft die Ereignisprozedur, ob das Kontrollkästchen aktiviert oder deaktiviert ist und stellt dann die Eigenschaften des Textfelds entsprechend ein, um die Bearbeitung zuzulassen oder nicht zuzulassen.

Sie können dieses Beispiel testen, indem Sie die folgende Ereignisprozedur zu einem Formular hinzufügen, das ein Kontrollkästchen namens Schreibgeschützt und ein Textfeld namens Summe enthält.

Private Sub Schreibgeschützt_Click()

With Me!Summe

If Me!Schreibgeschützt = True Then	' Wenn aktiviert,

.Enabled = False	' Bearbeitung nicht zulassen.

.Locked = True

Else	' Wenn deaktiviert,

.Enabled = True	' Bearbeitung zulassen.

.Locked = False

End If

End With

End Sub


DblClick-Ereignis (Doppelklicken)

Das Ereignis DblClick tritt ein, wenn der Benutzer innerhalb der Systemzeitspanne für das Doppelklicken zweimal hintereinander die linke Maustaste drückt und wieder losläßt, während sich der Mauszeiger auf einem Objekt befindet.

Für ein Formular tritt das Ereignis DblClick ein, wenn der Benutzer  auf eine leere Fläche oder auf einen Datensatzmarkierer des Formulars doppelklickt. Für ein Steuerelement tritt dieses Ereignis ein, wenn der Benutzer in der Formularansicht auf das Steuerelement oder dessen Bezeichnungsfeld doppelklickt. Das Ereignis DblClick tritt ein, wenn der Benutzer auf das Formular oder Steuerelement doppelklickt, jedoch bevor das Ergebnis des Doppelklickens angezeigt wird (z.B. bevor Microsoft Access das Wort auswählt, auf dem sich die Einfügemarke in einem Textfeld befindet).

Anmerkungen

•	Das Ereignis DblClick gilt nur für Formulare, Formularbereiche und Steuerelemente eines Formulars, nicht aber für Steuerelemente eines Berichts.

•	Dieses Ereignis gilt nicht für Kontrollkästchen, Optionsfelder oder Umschaltflächen einer Optionsgruppe, sondern nur für die Optionsgruppe selbst.

•	Dieses Ereignis gilt nicht für Bezeichnungsfelder, die einem anderen Steuerelement zugeordnet sind, wie z.B. das Bezeichnungsfeld eines Textfelds, sondern nur für "freistehende" Bezeichnungsfelder. Das Doppelklicken auf ein zugeordnetes Bezeichnungsfeld wirkt sich genauso aus wie das Doppelklicken auf das zugeordnete Steuerelement. Es treten die normalen Ereignisse für das Steuerelement ein, aber keine Ereignisse für das zugeordnete Bezeichnungsfeld.

Hinweis

Wenn beim Eintreten dieses Ereignisses ein Makro oder eine Ereignisprozedur ausgeführt werden soll, stellen Sie die Eigenschaft OnDblClick auf den Namen des Makros oder auf [Ereignisprozedur] ein.

Bei Steuerelementen hängt das Ergebnis des Doppelklickens vom Steuerelement ab. So wird z.B. durch das Doppelklicken auf ein Wort in einem Textfeld das gesamte Wort ausgewählt. Beim Doppelklicken auf ein Steuerelement, das ein OLE-Objekt enthält, wird die Anwendung, mit der das Objekt erstellt wurde, zur Bearbeitung des Objekts gestartet.

Wenn das Ereignis DblClick nicht in der für das System festgelegten Zeitspanne für das Doppelklicken eintritt, erkennt das Formular, der Formularbereich oder das Steuerelement das zweifache Eintreten des Ereignisses Click anstelle des Eintretens des Ereignisses DblClick. Die Zeitspanne für das Doppelklicken hängt davon ab, auf welchen Wert die Doppelklickgeschwindigkeit in der Systemsteuerung von Microsoft Windows (Option Maus, Registerkarte Tasten) eingestellt ist.

Durch Ausführen eines Makros oder einer Ereignisprozedur beim Eintreten des Ereignisses DblClick können Sie ein Fenster oder ein Dokument öffnen, wenn Sie auf ein Symbol doppelklicken.

Beim Doppelklicken auf ein Steuerelement treten die Ereignisse Click und DblClick ein. Wenn der Fokus beim Doppelklicken noch nicht auf das Steuerelement gesetzt ist, treten vor dem Ereignis Click und DblClick zunächst die Ereignisse Enter und GotFocus für das Steuerelement ein.

Bei Objekten, die auf Mausereignisse reagieren, treten die Ereignisse in der folgenden Reihenfolge ein:

 MouseDown ⇒ MouseUp ⇒ Click ⇒ DblClick

Wenn Sie auf eine Befehlsschaltfläche doppelklicken, treten die folgenden Ereignisse in der angegebenen Reihenfolge ein:

MouseDown ⇒ MouseUp ⇒ Click ⇒ DblClick ⇒ MouseUp ⇒ Click

Es kann sein, daß das zweite Klicken keine Auswirkungen hat. Dies ist z.B. der Fall, wenn das Makro zum Ereignis Click ein gebundenes Dialogfeld als Reaktion auf das erste Eintreten des Ereignisses Click öffnet. Fügen Sie die Aktion AbbrechenEreignis in das Makro für das Ereignis DblClick ein, oder verwenden Sie in der Ereignisprozedur für das Ereignis DblClick das Argument Cancel, um das Ausführen des zweiten Makros oder der zweiten Ereignisprozedur für das Ereignis Click zu verhindern. Im allgemeinen sollte ein Doppelklicken auf eine Befehlsschaltfläche unterbunden werden.

Wenn Sie auf ein anderes Steuerelement als eine Befehlsschaltfläche doppelklicken, tritt das zweite Ereignis Click nicht ein.


DblClick-Ereignis (Doppelklicken) - Makros

Sie können beim Eintreten des Ereignisses DblClick ein Makro ausführen, indem Sie die Eigenschaft OnDblClick auf den Namen des Makros einstellen.

Hinweis

Durch Ausführen eines Makros beim Eintreten des Ereignisses DblClick können Sie das Standardverhalten eines Steuerelements beim Doppelklicken ändern. Sie können ein Makro z.B. vor dem Starten eines OLE-Servers als Reaktion auf das Doppelklicken auf ein eingebettetes Objekt ausführen. Das Makro kann dann eine Meldung mit der Frage anzeigen, ob das Objekt gedruckt oder bearbeitet werden soll. Sie können das Objekt mit einer benutzerdefinierten Funktion drucken.

Mit dem Ereignis DblClick können Sie veranlassen, daß ein Dialogfeld auch durch Doppelklicken auf ein Steuerelement anstelle von Klicken auf OK geschlossen werden kann. Das Makro für das Ereignis DblClick muß die Aktion Schließen für das Dialogfeld ausführen. Soll das Makro das Dialogfeld nur ausblenden, können Sie mit der Aktion SetzenWert die Eigenschaft Visible des Dialogfelds auf Nein einstellen.

Sie können in einem Makro für das Ereignis DblClick die Aktion AbbrechenEreignis verwenden, um das Standardverhalten des Steuerelements beim Doppelklicken zu unterbinden. Wenn der Benutzer das weiter oben erwähnte OLE-Objekt nicht bearbeiten, sondern drucken wollte, würden Sie das Objekt mit einer benutzerdefinierten Funktion drucken und dann mit der Aktion AbbrechenEreignis das Öffnen der OLE-Anwendung unterbinden.


DblClick-Ereignis (Doppelklicken) - Ereignisprozeduren

Sie können eine Ereignisprozedur erstellen, die beim Eintreten des Ereignisses DblClick ausgeführt wird, indem Sie die Eigenschaft OnDblClick auf [Ereignisprozedur] einstellen und dann auf die Editor-Schaltfläche  [image]  klicken.

Syntax

Private Sub Form_DblClick(Cancel As Integer)

Private Sub Steuerelementname_DblClick(Cancel As Integer)

Die Ereignisprozedur für das Ereignis DblClick hat folgende Argumente:

Argument	Beschreibung
Steuerelementname	Der Name des Steuerelements, dessen DblClick-Ereignisprozedur Sie ausführen möchten.
Cancel	Die Einstellung bestimmt, ob das Ereignis DblClick eintritt. Das Einstellen von Cancel auf True (-1) unterbindet das Ereignis DblClick.
Hinweis

Sie können die Ereignisprozedur für das Ereignis DblClick verwenden, um das Standardverhalten eines Steuerelements beim Doppelklicken zu ändern. So können Sie z.B. die Ereignisprozedur vor dem Starten eines OLE-Servers als Reaktion auf das Doppelklicken auf ein eingebettetes Objekt ausführen. Die Ereignisprozedur kann dann eine Meldung mit der Frage anzeigen, ob das Objekt gedruckt oder bearbeitet werden soll. Sie können das Objekt mit einer benutzerdefinierten Funktion drucken. Wenn der Benutzer das Objekt drucken möchte, anstatt es zu bearbeiten, können Sie das Objekt drucken und dann mit dem Argument Cancel das Starten des OLE-Servers unterbinden.

Wenn Sie Ereignisprozeduren für die Ereignisse MouseDown, MouseUp, Click und DblClick erstellen, achten Sie darauf, daß der Code aufeinander abgestimmt ist. So sollte z.B. die Click-Ereignisprozedur keinen Code enthalten, der Aktionen unterbindet, die von der DblClick-Ereignisprozedur ausgeführt werden.

Wenn Sie auf eine Befehlsschaltfläche doppelklicken, treten die folgenden Ereignisse in der angegebenen Reihenfolge ein:

MouseDown ⇒ MouseUp ⇒ Click ⇒ DblClick ⇒ MouseUp ⇒ Click

Sie können das Eintreten des zweiten Ereignisses Click verhindern, indem Sie das Argument Cancel auf True (-1) einstellen oder in der DblClick-Ereignisprozedur die Methode CancelEvent des Objekts DoCmd verwenden. Wenn Sie die Ausführung des zweiten Ereignisses Click nicht unterbinden, wird der Code in der Click-Ereignisprozedur erneut ausgeführt. Das folgende Beispiel unterbindet das zweite Ereignis Click:

Private Sub BefSF_DblClick(Cancel As Integer)

Cancel = True	' Das zweite Click-Ereignis unterbinden.

End Sub


DblClick-Ereignisprozeduren (Doppelklicken) - Beispiel

Dieses Beispiel zeigt, wie Sie mit einer DblClick-Ereignisprozedur ein Formular öffnen, das Datensätze einer Tabelle anzeigt, die die Datenquelle eines Kombinationsfelds ist. Wenn der Benutzer auf das Kombinationsfeld Verkaufsberater im Formular Bestellungen doppelklickt, führt dies zur Anzeige des Formulars Personal mit dem Datensatz für den im Kombinationsfeld ausgewählten Angestellten.

Sie können dieses Beispiel testen, indem Sie zu einem Formular namens Bestellungen die nachstehende Ereignisprozedur hinzufügen. Das Formular muß ein Kombinationsfeld namens Personal-Nr enthalten, das als Datenquelle dieselbe Tabelle wie das Formular Angestellte hat (bzw. eine Abfrage, die auf dieser Tabelle basiert).

Private Sub Personal_Nr_DblClick(Cancel As Integer)

DoCmd.OpenForm "Personal", , , _

"[Personal-Nr] = Forms!Bestellungen![Personal-Nr]"

End Sub


Enter-, Exit-Ereignisse (Hingehen, Verlassen)

•	Das Ereignis Enter tritt ein, bevor ein Steuerelement den Fokus von einem anderen Steuerelement desselben Formulars erhält.

•	Das Ereignis Exit tritt ein, unmittelbar bevor ein Steuerelement den Fokus an ein anderes Steuerelement desselben Formulars abgibt.

Anmerkungen

•	Die Ereignisse Enter und Exit gelten nur für Steuerelemente eines Formulars, nicht für Steuerelemente eines Berichts.

•	Diese Ereignisse gelten nicht für Kontrollkästchen, Optionsfelder oder Umschaltflächen einer Optionsgruppe, sondern nur für die Optionsgruppe selbst.

Hinweis

Wenn beim Eintreten dieser Ereignisse ein Makro oder eine Ereignisprozedur ausgeführt werden soll, stellen Sie die Eigenschaft OnEnter oder OnExit auf den Namen des Makros oder auf [Ereignisprozedur] ein.

Da das Ereignis Enter eintritt, bevor der Fokus auf ein bestimmtes Steuerelement bewegt wird, können Sie ein Makro oder eine Ereignisprozedur für das Ereignis Enter verwenden, um Anweisungen anzuzeigen. Sie können z.B. ein Makro oder eine Ereignisprozedur verwenden, um ein kleines Formular oder ein Meldungsfeld anzuzeigen, das die Verwendung des Steuerelements erläutert oder den Datentyp angibt, den das Steuerelement normalerweise enthält.

Das Ereignis Enter tritt vor dem Ereignis GotFocus ein. Das Ereignis Exit tritt vor dem Ereignis LostFocus ein.

Im Gegensatz zu GotFocus und LostFocus treten die Ereignisse Enter und Exit nicht ein, wenn ein Formular den Fokus erhält oder abgibt. Angenommen, Sie aktivieren ein Kontrollkästchen und klicken dann auf einen Bericht. In diesem Fall treten die Ereignisse GotFocus und Enter beim Aktivieren des Kontrollkästchens ein. Wenn Sie auf den Bericht klicken, tritt nur das Ereignis LostFocus ein. Das Ereignis Exit tritt nicht ein, da der Fokus in ein anderes Fenster verlagert wird. Wenn Sie erneut auf das Kontrollkästchen des Formulars klicken, um das Formular in den Vordergrund zu holen, tritt das Ereignis GotFocus, aber nicht das Ereignis Enter ein, da sich der Fokus bereits auf dem Steuerelement befand, als das Formular zuletzt aktiv war. Das Ereignis Exit tritt nur ein, wenn Sie auf dem Formular auf ein anderes Steuerelement klicken.

Wenn Sie den Fokus auf einem anderen Formular auf ein Steuerelement verlagern, das den Fokus auf diesem Formular nicht hatte, treten die Ereignisse Exit und LostFocus für das Steuerelement, das den Fokus auf diesem Formular hat, vor den Ereignissen Enter und GotFocus für das Steuerelement ein, zu dem Sie sich bewegt haben.

Wenn Sie mit der Maus den Fokus von einem Steuerelement des Hauptformulars auf ein Steuerelement eines Unterformulars setzen, treten die folgenden Ereignisse ein:

Exit (für das Steuerelement des Hauptformulars)

 ⇓

LostFocus (für das Steuerelement des Hauptformulars)

 ⇓

Enter (für das Unterformular-Steuerelement)

 ⇓

Exit (für das Steuerelement des Unterformulars, das den Fokus hatte)

 ⇓

LostFocus (für das Steuerelement des Unterformulars, das den Fokus hatte)

 ⇓

Enter (für das Steuerelement des Unterformulars, auf das der Fokus gesetzt wird)

 ⇓

GotFocus (für das Steuerelement des Unterformulars, auf das der Fokus gesetzt wird)

Wenn der Fokus auf dem Unterformular bereits auf das Steuerelement gesetzt war, zu dem Sie sich bewegen, treten die Ereignisse Enter und GotFocus nicht ein, wohl aber das Ereignis Enter für das Steuerelement im Unterformular. Wenn Sie den Fokus von einem Steuerelement eines Unterformulars auf ein Steuerelement des Hauptformulars bewegen, treten die Ereignisse Exit und LostFocus für das Steuerelement des Unterformulars nicht ein. Es treten nur das Ereignis Exit für das Steuerelement des Unterformulars und die Ereignisse Enter und GotFocus für das Steuerelement des Hauptformulars ein.

Anmerkung   Sie verwenden meistens die Maus oder eine Taste, z.B. TAB, um den Fokus auf ein anderes Steuerelement zu bewegen. Dies führt dazu, daß zusätzlich zu den weiter oben erwähnten Ereignissen Mausereignisse oder Tastaturereignisse eintreten.


Enter-, Exit-Ereignisse (Hingehen, Verlassen) - Makros

Sie können beim Eintreten des Ereignisses Enter oder Exit ein Makro ausführen, indem Sie die Eigenschaft OnEnter oder OnExit auf den Namen des Makros einstellen.

Hinweis

Wenn das Ereignis Enter oder Exit eintritt, können Sie ein Makro ausführen, das mit der Aktion GeheZuSteuerelement die Reihenfolge auf der Basis der aktuellen Daten im Steuerelement ändert. Wenn der Benutzer z.B. in das Feld Familienstand den Wert Ledig eingibt, wird der Fokus nicht auf das Feld Ehepartner/in gesetzt.

Sie können in einem Makro für das Ereignis Exit die Aktion AbbrechenEreignis verwenden, um das Verlassen des Steuerelements zu unterbinden. In einem Makro für das Ereignis Enter können Sie die Aktion AbbrechenEreignis nicht verwenden, jedoch können Sie die Aktion GeheZuSteuerelement  einsetzen, um den Fokus auf ein anderes Steuerelement zu setzen.


Enter-, Exit-Ereignisse (Hingehen, Verlassen) - Ereignisprozeduren

Sie können eine Ereignisprozedur erstellen, die beim Eintreten des Ereignisses Enter oder Exit ausgeführt wird, indem Sie die Eigenschaft OnEnter oder OnExit auf [Ereignisprozedur] einstellen und auf die Editor-Schaltfläche  [image] klicken.

Syntax

Private Sub Steuerelementname_Enter( )

Private Sub Steuerelementname_Exit(Cancel As Integer)

Die Ereignisprozedur für das Ereignis Enter hat folgendes Argument:

Argument	Beschreibung
Steuerelementname	Der Name des Steuerelements, dessen Enter-Ereignisprozedur Sie ausführen möchten.
Die Ereignisprozedur für das Ereignis Exit hat das folgende Argument:

Argument	Beschreibung
Steuerelementname	Der Name des Steuerelements, dessen Exit-Ereignisprozedur Sie ausführen möchten.
Cancel	Die Einstellung bestimmt, ob das Ereignis Exit eintritt. Das Einstellen von Cancel auf True (-1) unterbindet das Ereignis Exit.
Hinweis

Sie können das Ereignis Enter nicht unterbinden.


Enter-, Exit-Ereignisprozeduren (Hingehen, Verlassen) - Beispiel

In diesem Beispiel werden dem Textfeld Nachname zwei Ereignisprozeduren zugeordnet. Die Enter-Ereignisprozedur zeigt in einer Meldung den Datentyp an, der in das Textfeld eingegeben werden kann. Die Exit-Ereignisprozedur zeigt ein Dialogfeld an, in dem der Benutzer gefragt wird, ob Änderungen gespeichert werden sollen, bevor der Fokus auf ein anderes Steuerelement gesetzt wird. Wenn der Benutzer auf die Schaltfläche Nein klickt, wird das Argument Cancel auf True (-1) gesetzt. Dadurch bewegt sich der Fokus in das Textfeld, ohne daß die Änderungen zuvor gespeichert werden. Wenn der Benutzer JA wählt, werden die Änderungen gespeichert, und der Fokus wird auf ein anderes Steuerelement gesetzt.

Sie können dieses Beispiel ausprobieren, indem Sie die folgende Ereignisprozedur zu einem Formular hinzufügen, das ein Textfeld namens Nachname enthält.

Private Sub Nachname_Enter()

MsgBox "Geben Sie Ihren Nachnamen ein."

End Sub

Private Sub Nachname_Exit(Cancel As Integer)

Dim strMld As String

strMldg = "Sie haben '" & Me!Nachname & "' als Nachnamen " _

& "eingegeben." & vbCrLf & "Ist der Nachname richtig?"

If MsgBox(strMldg, vbYesNo) = vbNo Then

Cancel = True	' Exit unterbinden.

Else

Exit Sub	' Änderungen speichern und Exit zulassen.

End If

End Sub


Format-Ereignis (Formatieren)

Das Ereignis Format tritt ein, wenn Microsoft Access die Daten ermittelt, die in einen Bereich eines Berichts gehören, jedoch bevor der Bereich für die Vorschau oder für das Drucken formatiert wird.

Hinweis

Wenn beim Eintreten dieses Ereignisses ein Makro oder eine Ereignisprozedur ausgeführt werden soll, stellen Sie die Eigenschaft OnFormat auf den Namen des Makros oder auf [Ereignisprozedur] ein.

Das Ereignis Format tritt für jeden Bereich eines Berichts ein. Dadurch können Sie komplexe fortlaufende Berechnungen mit Daten aus allen Bereichen durchführen, einschließlich nicht gedruckter Bereiche.

Bei Detailbereichen in Berichten tritt das Ereignis Format für jeden Datensatz im Bereich ein, unmittelbar bevor Microsoft Access die Daten im Datensatz formatiert. Ein Makro oder eine Ereignisprozedur für das Ereignis Format kann auf die Daten im aktuellen Datensatz zugreifen.

Bei Gruppenköpfen in Berichten tritt das Ereignis Format für jede neue Gruppe ein. Ein Makro oder eine Ereignisprozedur für das Ereignis Format kann auf Daten im Gruppenkopf und im ersten Datensatz des Detailbereichs zugreifen. Bei Gruppenfüßen in Berichten tritt das Ereignis Format für jede neue Gruppe ein. Ein Makro oder eine Ereignisprozedur für das Ereignis Format kann auf die Daten im Gruppenfuß und im letzten Datensatz des Detailbereichs zugreifen.

Wenn Sie beim Eintreten des Ereignisses Format ein Makro oder eine Ereignisprozedur ausführen, können Sie mit Daten aus dem aktuellen Datensatz Änderungen am Seitenlayout des Berichts vornehmen. Sie können z.B. in einem Umsatzbericht einen Glückwunsch neben den monatlichen Umsätzen eines Verkaufsberaters ein- oder ausblenden. Dies ist von der Höhe der Umsätze abhängig. Nachdem das Steuerelement ein- oder ausgeblendet ist, formatiert Microsoft Access den Bereich unter Verwendung der Einstellungen der Formatierungseigenschaften wie CanGrow CanShrink, HideDuplicates, KeepTogether und Visible.

Bei Änderungen, die sich nicht auf das Seitenlayout auswirken, oder bei Ereignisprozeduren und Makros, die erst nach dem Formatieren der Daten einer Seite ausgeführt werden sollen (z.B. ein Makro zum Drucken von Seitensummen), verwenden Sie für den Berichtsbereich das Ereignis Print.

Manchmal muß Microsoft Access aufgrund mehrerer Formatierungsdurchläufe zu vorhergehenden Bereichen eines Berichts zurückkehren. In diesem Fall tritt das Ereignis Retreat ein, wenn zum jeweils vorhergehenden Bereich des Berichts gewechselt wird, und das Ereignis Format tritt für jeden Bereich mehrmals ein. Sie können ein Makro oder eine Ereignisprozedur beim Eintreten des Ereignisses Retreat ausführen, um alle Änderungen rückgängig zu machen, die beim Eintreten des Ereignisses Format für den Bereich vorgenommen wurden. Dies bietet sich an, wenn das Makro oder die Ereignisprozedur für das Ereignis Format Operationen ausführt, die für jeden Bereich nur einmal durchgeführt werden sollen (z.B. das Berechnen der Seitensummen oder das Ändern der Bereichsgröße).


Format-Ereignis (Formatieren) - Makros

Sie können beim Eintreten des Ereignisses Format ein Makro ausführen, indem Sie die Eigenschaft OnFormat auf den Namen des Makros einstellen.

Hinweis

Sie können mit der Eigenschaft FormatCount überprüfen, ob das Ereignis Format für einen Bereich mehrmals eingetreten ist. Wenn z.B. ein Bereich nicht auf eine Seite des Berichts paßt und sich ein Teil davon auf die nächste Seite verschiebt, tritt das Ereignis Format für jede Seite ein, und die Eigenschaft FormatCount wird auf den Wert 2 eingestellt. Sie können anhand der Einstellung der Eigenschaft FormatCount prüfen, wie oft ein Makro für das Ereignis Format pro Bereich ausgeführt wird.

Sie können in einem Makro für das Ereignis Format mit der Aktion AbbrechenEreignis das Formatieren eines Bereichs unterbinden. Microsoft Access formatiert den Bereich dann nicht für den Ausdruck, sondern druckt statt dessen den nächsten Bereich. Mit der Aktion AbbrechenEreignis kann ein Bereich in einem Bericht übersprungen werden, ohne daß beim Drucken des Berichts eine leere Fläche auf der Seite erscheint.


Format-Ereignis (Formatieren) - Ereignisprozeduren

Sie können eine Ereignisprozedur erstellen, die beim Eintreten des Ereignisses Format ausgeführt wird, indem Sie die Eigenschaft OnFormat auf [Ereignisprozedur] einstellen und dann auf die Editor-Schaltfläche  [image] klicken.

Syntax

Private Sub Bereichsname_Format(Cancel As Integer, FormatCount As Integer)

Die Ereignisprozedur für das Ereignis Format hat folgende Argumente:

Argument	Beschreibung
Bereichsname	Der Name des Bereichs im Bericht, dessen Format-Ereignisprozedur ausgeführt werden soll.
Cancel	Die Einstellung bestimmt, ob das Ereignis Format eintritt. Das Einstellen von Cancel auf True (-1) unterbindet das Formatieren des Bereichs.
FormatCount	Ein Wert vom Typ Integer, der angibt, wie oft das Ereignis Format für einen Bereich eingetreten ist. Wenn z.B. ein Bereich nicht auf eine Seite paßt und ein Teil davon auf die nächste Seite des Berichts verschoben wird, wird das Argument FormatCount auf den Wert 2 gesetzt.
Hinweis

Wenn Sie das Formatieren unterbinden, formatiert Microsoft Access den Bereich nicht für den Ausdruck, sondern druckt statt dessen den nächsten Bereich. Mit dieser Ereignisprozedur können Sie einen Bereich in einem Bericht überspringen, ohne daß beim Drucken des Berichts eine leere Fläche auf der Seite erscheint.


Format-Ereignisprozeduren (Formatieren) - Beispiel

Dieses Beispiel blendet einen Glückwunsch neben einem berechneten Steuerelement ein- oder aus, in dem die Umsätze pro Verkaufsberater angezeigt werden. In Berichtsbereichen, in denen die Umsätze das gesetzte Ziel überschreiten, zeigt ein Bezeichnungsfeld namens Glückwunsch vor dem Drucken des Bereichs folgenden Text an: "Glückwunsch! Sie haben Ihr Verkaufsziel überschritten." In Bereichen des Berichts, in denen das Verkaufsziel höher ist als die Umsätze, wird dieses Bezeichnungsfeld ausgeblendet.

Sie können dieses Beispiel testen, indem Sie zu einem Bericht die nachstehende Ereignisprozedur hinzufügen. Der Bericht muß ein Bezeichnungsfeld namens Meldung, ein Textfeld namens Gesamtsumme (ein berechnetes Steuerelement mit der Summe der Umsätze) sowie einen Detailbereich namens Umsätze enthalten.

Private Sub Umsätze_Format(Cancel As Integer, _

FormatCount As Integer)

Const conVerkaufsziel = 1000

If Me!Gesamtsumme > conVerkaufsziel Then

Me!Meldung.Visible = True

Else

Me!Meldung.Visible = False

End If

End Sub


Open-, Close-Ereignisse (Öffnen, Schließen)

•	Bei Formularen tritt das Ereignis Open beim Öffnen eines Formulars ein, jedoch bevor der erste Datensatz angezeigt wird. Bei Berichten tritt dieses Ereignis ein, bevor der Bericht in der Seitenansicht angezeigt oder gedruckt wird.

•	Das Ereignis Close tritt ein, wenn ein Formular oder Bericht geschlossen wurde und nicht mehr angezeigt wird.

Hinweis

Wenn beim Eintreten dieser Ereignisse ein Makro oder eine Ereignisprozedur ausgeführt werden soll, stellen Sie die Eigenschaft OnOpen oder OnClose auf den Namen des Makros oder auf [Ereignisprozedur] ein.

Wenn Sie beim Eintreten des Ereignisses Open für ein Formular ein Makro oder eine Ereignisprozedur ausführen, können Sie ein anderes Fenster schließen oder den Fokus auf ein bestimmtes Steuerelement eines Formulars setzen. Sie können mit einem Makro oder einer Ereignisprozedur auch Informationen abfragen, die vor dem Öffnen oder Drucken des Formulars oder Berichts benötigt werden. Ein Makro oder eine Ereignisprozedur für das Ereignis Open kann z.B. ein benutzerdefiniertes Dialogfeld öffnen, in das der Benutzer die Kriterien für die im Formular anzuzeigenden Datensätze oder den im Bericht enthaltenen Datumsbereich eingibt.

Das Ereignis Open tritt nicht ein, wenn Sie ein bereits geöffnetes Formular aktivieren, z.B. wenn Sie von einem anderen Fenster in Microsoft Access zu diesem Formular wechseln oder in einem Makro die Aktion ÖffnenFormular verwenden, um das geöffnete Formular in den Vordergrund zu bringen. Das Ereignis Activate tritt in derartigen Situationen jedoch ein.

Beim Öffnen eines Formulars führt Microsoft Access zunächst die dem Formular zugrundeliegende Abfrage aus und dann das Makro oder die Ereignisprozedur für das Ereignis Open. Beim Öffnen eines Berichts führt Microsoft Access jedoch das Makro oder die Ereignisprozedur für das Ereignis Open aus, bevor die dem Bericht zugrundeliegende Abfrage ausgeführt wird. Somit kann der Benutzer Kriterien für den Bericht angeben, bevor der Bericht geöffnet wird, z.B. in einem benutzerdefinierten Dialogfeld, das beim Eintreten des Ereignisses Open angezeigt wird.

Wenn in Ihrer Anwendung mehrere Formulare gleichzeitig geladen werden können, verwenden Sie die Ereignisse Activate und Deactivate anstelle von Open, um beim Bewegen des Fokus zu einem anderen Formular die benutzerdefinierten Symbolleisten ein- oder auszublenden.

Das Ereignis Open tritt vor dem Ereignis Load ein. Letzteres wird ausgelöst, wenn ein Formular geöffnet und die zugehörigen Datensätze angezeigt werden.

Wenn Sie ein Formular zum ersten Mal öffnen, treten die folgenden Ereignisse in der angegebenen Reihenfolge ein:

Open ⇒ Load ⇒ Resize ⇒ Activate ⇒ Current

Das Ereignis Close tritt nach dem Ereignis Unload ein. Letzteres wird ausgelöst, nachdem das Formular geschlossen wurde, aber bevor es vom Bildschirm entfernt wird.

Wenn Sie ein Formular schließen, treten die folgenden Ereignisse in der angegebenen Reihenfolge ein:

Unload ⇒ Deactivate ⇒ Close

Wenn das Ereignis Close eintritt, können Sie ein anderes Fenster öffnen oder den Namen des Benutzers anfordern, um einen Protokolleintrag vorzunehmen.

Bei der Verwendung der Ereignisse Open und Load für Makros oder Ereignisprozeduren gibt es einen wesentlichen Unterschied: die Ausführung des Ereignisses Open kann unterbunden werden, was beim Ereignis Load nicht der Fall ist. Wenn Sie z.B. in einer Ereignisprozedur für das Ereignis Open eines Formulars einen Datensatz des Formulars dynamisch erstellen, können Sie das Öffnen des Formulars unterbinden, wenn keine Datensätze vorhanden sind. Die Ausführung des Ereignisses Unload kann ebenfalls unterbunden werden, die Ausführung des Ereignisses Close jedoch nicht.


Open-, Close-Ereignisse (Öffnen, Schließen) - Makros

Sie können beim Eintreten des Ereignisses Open oder Close ein Makro ausführen, indem Sie die Eigenschaft OnOpen oder Close auf den Namen des Makros einstellen.

Hinweis

Sie können in einem Makro für das Ereignis Open mit der Aktion AbbrechenEreignis das Öffnen eines Formulars oder Berichts unterbinden. Die Aktion AbbrechenEreignis kann nicht in einem Makro für das Ereignis Close verwendet werden, jedoch in einem Makro, das beim Eintreten des Ereignisses Unload ausgeführt wird. Dadurch wird das Schließen des Formulars unterbunden.

Wenn ein Makro für das Ereignis Open auf Steuerelemente verweisen soll, setzen Sie zunächst den Fokus auf das entsprechende Steuerelement oder den Datensatz. Soll z.B. mit der Aktion SetzenWert in einem Makro für das Ereignis Open der Wert eines Steuerelements eines Formulars festgelegt werden, greifen Sie zunächst mit der Aktion GeheZuSteuerelement bzw. GeheZuDatensatz auf das Steuerelement oder den Datensatz zu, in dem das Steuerelement enthalten ist.


Open-, Close-Ereignisse (Öffnen, Schließen) - Ereignisprozeduren

Sie können eine Ereignisprozedur erstellen, die beim Eintreten des Ereignisses Open oder Close ausgeführt wird, indem Sie die Eigenschaft OnOpen bzw. OnClose auf [Ereignisprozedur] einstellen und auf die Editor-Schaltfläche  [image] klicken.

Syntax

Private Sub Form_Open(Cancel As Integer)

Private Sub Report_Open(Cancel As Integer)

Private Sub Form_Close( )

Private Sub Report_Close( )

Die Ereignisprozedur Open hat das folgende Argument.

Argument	Beschreibung
Cancel	Die Einstellung bestimmt, ob das Öffnen eines Formulars oder Berichts eintritt. Das Einstellen von Cancel auf True (-1) unterbindet das Öffnen eines Formulars oder Berichts.
Hinweis

Sie können das Ereignis Close nicht unterbinden.

Wenn Sie in einer Ereignisprozedur für das Ereignis Open auf Steuerelemente verweisen möchten, setzen Sie zunächst den Fokus mit der Methode SetFocus, der Methode GoToRecord oder der Methode GoToControl des Objekts DoCmd auf das entsprechende Steuerelement oder den entsprechenden Datensatz.

Wenn in einer Anwendung jeweils nur ein Formular geladen werden kann, können Sie in die Ereignisprozedur für das Ereignis Open eines Formulars Code zum Ein- oder Ausblenden einer Symbolleiste einfügen. Das folgende Beispiel zeigt beim Öffnen des Formulars die Symbolleiste Symbolleiste1 an:

Sub Form_Open(Cancel As Integer)

DoCmd.ShowToolbar "Symbolleiste1", acToolbarYes

End Sub


Open-, Close-Ereignisprozeduren (Öffnen, Schließen) - Beispiel

Dieses Beispiel zeigt, wie Sie das Öffnen eines Formulars unterbinden können, wenn der Benutzer auf die Schaltfläche Nein klickt. Ein Meldungsfeld mit der Aufforderung, Bestelldetails anzugeben, wird angezeigt. Klickt der Benutzer auf Nein, wird das Formular Bestelldetails nicht geöffnet.

Sie können dieses Beispiel testen, indem Sie die folgende Ereignisprozedur zu einem Formular hinzufügen:

Private Sub Form_Open (Cancel As Integer)

Dim intRückgabewert As Integer

intRückgabewert = MsgBox("Bestelldaten eingeben?", vbYesNo)

Select Case intRückgabewert

Case vbYes

DoCmd.OpenForm "Bestelldetails"	' Formular "Bestelldetails" öffnen.

Case vbNo

MsgBox "Bestelldetails müssen bis 17.00 Uhr eingegeben sein."

Cancel = True	' Ereignis Open unterbinden.

End Select

End Sub


Print-Ereignis (Drucken)

Das Ereignis Print tritt ein, wenn Daten in einem Bereich eines Berichts zum Drucken formatiert werden, jedoch bevor der Bereich gedruckt wird.

Hinweis

Wenn beim Eintreten dieses Ereignisses ein Makro oder eine Ereignisprozedur ausgeführt werden soll, stellen Sie die Eigenschaft OnPrint auf den Namen des Makros oder auf [Ereignisprozedur] ein.

Bei Detailbereichen in Berichten tritt das Ereignis Print für jeden Datensatz im Bereich ein, unmittelbar bevor Microsoft Access die Daten des Datensatzes druckt. Ein Makro oder eine Ereignisprozedur für das Ereignis Print kann auf die Daten des aktuellen Datensatzes zugreifen.

Bei Gruppenköpfen in Berichten tritt das Ereignis Print für jede neue Gruppe ein. Ein Makro oder eine Ereignisprozedur für das Ereignis Print kann auf Daten im Gruppenkopf und im ersten Datensatz des Detailbereichs zugreifen. Bei Gruppenfüßen in Berichten tritt das Ereignis Print für jede neue Gruppe ein. Ein Makro oder eine Ereignisprozedur für das Ereignis Print kann auf die Daten im Gruppenfuß und im letzten Datensatz des Detailbereichs zugreifen.

Sie können mit dem Ereignis Print erst dann ein Makro oder eine Ereignisprozedur ausführen, wenn Microsoft Access die Daten zum Drucken auf einer Seite aufbereitet hat. Sie können z.B. laufende Seitensummen berechnen, die im Seitenkopf oder -fuß gedruckt werden.

Bei Änderungen, die das Seitenlayout betreffen, z.B. das Ein- oder Ausblenden von Steuerelementen, verwenden Sie das Ereignis Format.

Das Ereignis Print tritt nur für Bereiche ein, die tatsächlich gedruckt werden. Wenn Sie auf Daten aus Bereichen zugreifen müssen, die nicht gedruckt werden (z.B. wenn Sie eine fortlaufende Summe haben, aber nur einzelne Seiten drucken), verwenden Sie statt dessen das Ereignis Format.

Das Ereignis Page tritt ein, nachdem für den Bericht alle Ereignisse Format und für eine Seite alle Ereignisse Print eingetreten sind, jedoch bevor die Seite tatsächlich gedruckt wird.


Print-Ereignis (Drucken) - Makros

Sie können beim Eintreten des Ereignisses Print ein Makro ausführen, indem Sie die Eigenschaft OnPrint auf den Namen des Makros einstellen.

Hinweis

Sie können mit der Eigenschaft PrintCount überprüfen, ob das Ereignis Print für einen Datensatz mehrmals eingetreten ist. Wenn z.B. ein Teil eines Datensatzes auf einer Seite und der Rest auf der nächsten Seite gedruckt wird, tritt das Ereignis Print zweimal ein, und die Eigenschaft PrintCount ist auf den Wert 2 eingestellt. Sie können die Einstellung der Eigenschaft PrintCount überprüfen, wenn Makros für das Ereignis Print nur einmal für einen Datensatz ausgeführt werden sollen (z.B. Makros, die die Summen für die Datensätze einer Seite in dem Seitenfuß anzeigen).

Sie können in einem Makro für das Ereignis Print mit der Aktion AbbrechenEreignis das Drucken eines Bereichs unterbinden. Microsoft Access druckt dann eine leere Fläche an der Stelle auf der Seite, an der beim Drucken des Berichts der entsprechende Bereich erschienen wäre. Mit der Aktion AbbrechenEreignis können Sie einen Bereich eines Berichts überspringen, so daß beim Drucken des Berichts eine leere Fläche auf der Seite erscheint.

Ein Makro für das Ereignis Print wird nur für Bereiche ausgeführt, die tatsächlich gedruckt werden.

Anmerkung   Sie können mit einem Makro für das Ereignis Print keine Eigenschaften für Objekte einstellen.


Print-Ereignis (Drucken) - Ereignisprozeduren

Sie können eine Ereignisprozedur erstellen, die beim Eintreten des Ereignisses Print ausgeführt wird. Dazu stellen Sie die Eigenschaft OnPrint auf [Ereignisprozedur] ein und klicken auf die Editor-Schaltfläche  [image].

Syntax

Private Sub Bereichsname_Print(Cancel As Integer, PrintCount As Integer)

Die Ereignisprozedur für das Ereignis Print hat folgende Argumente:

Argument	Beschreibung
Bereichsname	Der Name des Bereichs im Bericht, dessen Print-Ereignisprozedur ausgeführt werden soll.
Cancel	Die Einstellung bestimmt, ob das Drucken des Bereichs eintritt. Das Setzen des Arguments Cancel auf True (-1) unterbindet das Drucken des Bereichs
PrintCount	Ein Wert vom Typ Integer, der angibt, ob das Ereignis Print mehrmals für einen Datensatz eingetreten ist. Wenn z.B. ein Teil eines Datensatzes auf einer Seite gedruckt wird und der Rest auf der nächsten Seite, tritt das Ereignis Print zweimal ein, und Microsoft Access stellt das Argument PrintCount auf den Wert 2 ein.
Hinweis

Sie können das Drucken eines Bereichs unterbinden, indem Sie das Argument Cancel auf True (-1) einstellen oder die Methode CancelEvent des Objekts DoCmd verwenden. Microsoft Access druckt eine leere Fläche an der Stelle auf der Seite, an der der Bereich erschienen wäre. Mit der Methode CancelEvent oder dem Argument Cancel können Sie einen Datensatz in einem Bericht überspringen, so daß beim Drucken des Berichts eine leere Fläche auf der Seite erscheint.

Anmerkung   Sie können mit einer Ereignisprozedur für das Ereignis Print keine Eigenschaften für Objekte einstellen.


Print-Ereignisprozeduren (Drucken) - Beispiel

Dieses Beispiel überprüft das Argument PrintCount und ermittelt, wie oft das Ereignis Print eingetreten ist. Wenn es mehrmals eingetreten ist, wird das Ereignis Print für den Bereich unterbunden.

Sie können das Beispiel testen, indem Sie die folgende Ereignisprozedur zu einem Bericht hinzufügen. Der Bericht muß einen Bereich namens Kundendetails enthalten.

Private Sub Kundendetails_Print(Cancel As Integer, _

PrintCount As Integer)

If PrintCount > 1 Then Cancel = True

End Sub


Current-Ereignis (Anzeigen)

Das Ereignis Current tritt ein, wenn der Fokus auf einen Datensatz gesetzt wird, der somit zum aktuellen Datensatz wird. Es tritt außerdem ein, wenn das Formular aktualisiert bzw. erneut abgefragt wird.

Hinweis

Wenn beim Eintreten dieses Ereignisses ein Makro oder eine Ereignisprozedur ausgeführt werden soll, stellen Sie die Eigenschaft OnCurrent auf den Namen des Makros oder auf [Ereignisprozedur] ein.

Dieses Ereignis tritt ein, wenn entweder ein Formular geöffnet oder der Fokus von einem Datensatz auf einen anderen gesetzt wird. Microsoft Access führt das Makro oder die Ereignisprozedur für das Ereignis Current aus, bevor der erste oder nächste Datensatz angezeigt wird.

Wenn Sie beim Eintreten des Ereignisses Current für ein Formular ein Makro oder eine Ereignisprozedur ausführen, können Sie eine Meldung anzeigen oder Datensätze in einem anderen Formular synchronisieren, das mit dem aktuellen Datensatz zusammenhängt. Wenn z.B. ein Kundendatensatz zum aktuellen Datensatz wird, können Sie die vorherige Bestellung des Kunden anzeigen. Wenn ein Lieferantendatensatz zum aktuellen Datensatz wird, können Sie die bei diesem Lieferanten erhältlichen Artikel in einem Lieferantenformular anzeigen. Sie können auch anhand des aktuellen Datensatzes Berechnungen durchführen oder das Formular entsprechend den Daten im aktuellen Datensatz ändern.

Wenn das Makro oder die Ereignisprozedur die Aktion GeheZuSteuerelement oder GeheZuDatensatz bzw. die entsprechende Methode des Objekts DoCmd als Reaktion auf das Ereignis Open ausführt, tritt das Ereignis Current ein.

Das Ereignis Current tritt auch ein, wenn Sie ein Formular aktualisieren oder die dem Formular zugrundeliegende Tabelle oder Abfrage erneut abfragen. Dies ist z.B. der Fall, wenn Sie den Befehl Filter/Sortierung entfernen aus dem Menü Datensätze wählen, oder wenn Sie in einem Makro die Aktion AktualisierenDaten bzw. in Visual Basic-Code die Methode Requery verwenden.

Wenn Sie ein Formular zum ersten Mal öffnen, treten die folgenden Ereignisse in der angegebenen Reihenfolge ein:

Open ⇒ Load ⇒ Resize ⇒ Activate ⇒ Current


Current-Ereignis (Anzeigen) - Makros

Sie können beim Eintreten des Ereignisses Current ein Makro ausführen, indem Sie die Eigenschaft OnCurrent auf den Namen des Makros einstellen.

Hinweis

In einem Makro für das Ereignis Current können Sie die Aktion AbbrechenEreignis nicht verwenden, um das Ereignis Current zu unterbinden. Sie können jedoch die Aktion GeheZuDatensatz verwenden, um den Fokus auf einen anderen Datensatz zu setzen.


Current-Ereignis (Anzeigen) - Ereignisprozeduren

Sie können eine Ereignisprozedur erstellen, die beim Eintreten des Ereignisses Current ausgeführt wird. Dazu stellen Sie die Eigenschaft OnCurrent auf [Ereignisprozedur] ein und klicken auf die Editor-Schaltfläche  [image].

Syntax

Private Sub Form_Current( )

Hinweis

Sie können die Ausführung dieses Ereignisses nicht mit der Methode CancelEvent des Objekts DoCmd unterbinden. Es ist jedoch möglich, mit der Methode GoToRecord des Objekts DoCmd zu einem anderen Datensatz zu springen.


Current-Ereignisprozeduren (Anzeigen) - Beispiele

Im folgenden Beispiel überprüft eine Ereignisprozedur für das Ereignis Current den Status eines Optionsfelds namens Auslaufartikel. Wenn der Benutzer dieses Feld aktiviert, wird die Hintergrundfarbe des Feldes Artikelname auf Rot eingestellt, um anzuzeigen, daß der Artikel ausgelaufen ist.

Sie können dieses Beispiel testen, indem Sie die folgende Ereignisprozedur zu einem Formular hinzufügen. Das Formular muß ein Optionsfeld namens Auslaufartikel und ein Textfeld namens Artikelname enthalten.

Private Sub Form_Current()

If Me!Auslaufartikel Then

Me!Artikelname.BackColor = 255

EndIf

End Sub

Das folgende Beispiel stellt die Eigenschaft Caption eines Formulars auf das Feld Lieferantenname ein. Während der Fokus von einem Datensatz auf den nächsten gesetzt wird, zeigt die Titelleiste jeweils den aktuellen Lieferantennamen an.

Um dieses Beispiel zu testen, fügen Sie die folgende Ereignisprozedur zu einem Formular hinzu. Das Formular muß ein Textfeld namens Lieferantenname enthalten.

Private Sub Form_Current()

Me.Caption = Me!Lieferantenname

End Sub


Activate-, Deactivate-Ereignisse (Aktivierung, Deaktivierung)

•	Das Ereignis Activate tritt ein, wenn ein Formular oder ein Bericht den Fokus erhält und zum aktiven Fenster wird.

•	Das Ereignis Deactivate tritt ein, wenn ein Formular oder ein Bericht den Fokus an ein Tabellen-, Abfrage-, Formular-, Berichts-, Makro- oder Modulfenster oder an das Datenbankfenster abgibt.

Anmerkung   Das Ereignis Deactivate tritt nicht ein, wenn ein Formular den Fokus an ein Dialogfeld, an ein Formular, dessen Eigenschaft PopUp auf Ja eingestellt ist, oder an ein Fenster einer anderen Anwendung abgibt.

Hinweis

Wenn beim Eintreten dieser Ereignisse ein Makro oder eine Ereignisprozedur ausgeführt werden soll, stellen Sie die Eigenschaft OnActivate bzw. OnDeactivate auf den Namen des Makros oder auf [Ereignisprozedur] ein.

Sie können ein Formular oder einen Bericht auf folgende Arten aktivieren: durch Öffnen des Formulars bzw. Berichts, durch Klicken auf das Formular/den Bericht oder auf ein Steuerelement, das sich in diesem befindet, oder durch Verwenden der Methode SetFocus in Visual Basic (dies ist nur für Formulare möglich).

Das Ereignis Activate kann nur eintreten, wenn ein Formular oder ein Bericht sichtbar ist.

Das Ereignis Activate tritt vor dem Ereignis GotFocus ein. Das Ereignis Deactivate tritt vor dem Ereignis LostFocus ein.

Wenn Sie zwischen zwei geöffneten Formularen wechseln, tritt das Ereignis Deactivate für das Formular ein, das Sie verlassen, und das Ereignis Activate für das Formular, zu dem Sie wechseln. Wenn die Formulare keine sichtbaren aktivierten Steuerelemente enthalten, tritt das Ereignis LostFocus für das erste Formular vor dem Ereignis Deactivate und das Ereignis GotFocus für das zweite Formular nach dem Ereignis Activate ein.

Wenn Sie ein Formular zum ersten Mal öffnen, treten die folgenden Ereignisse in der nachstehend gezeigten Reihenfolge ein:

Open ⇒ Load ⇒ Resize ⇒  Activate ⇒ Current

Wenn Sie ein Formular schließen, treten die folgenden Ereignisse in der aufgeführten Reihenfolge ein:

Unload ⇒ Deactivate ⇒ Close


Activate-, Deactivate-Ereignisse (Aktivierung, Deaktivierung) - Makros

Zum Ausführen eines Makros bei Eintreten des Ereignisses Activate oder Deactivate stellen Sie die Eigenschaft OnActivate bzw. OnDeactivate auf den Namen des Makros ein.

Hinweis

Sie können in einem Makro für das Ereignis Activate oder Deactivate die Aktion ShowToolbar verwenden, um eine benutzerdefinierte Symbolleiste anzuzeigen oder auszublenden. Verwenden Sie das Ereignis Activate oder Deactivate zum Anzeigen bzw. Ausblenden von benutzerdefinierten Symbolleisten, wenn Sie gleichzeitig mehrere Formulare geladen haben. Wenn Sie nur ein Formular geladen haben, können Sie die Ereignisse Open und Close verwenden.

Wenn Sie zum Ausblenden einer benutzerdefinierten Symbolleiste ein Makro für das Ereignis Deactivate verwenden, müssen Sie sicherstellen, daß die Symbolleiste als Reaktion auf das formularbezogene Ereignis Unload ausgeblendet wird, da das Ereignis Deactivate beim Schließen eines Formulars nicht eintritt. Verwenden Sie zum Ausblenden einer Symbolleiste nicht das Ereignis GotFocus oder LostFocus, da diese Ereignisse nicht in Formularen ausgelöst werden, die aktivierte Steuerelemente enthalten.

Die Aktion AbbrechenEreignis kann in einem Makro für das Ereignis Activate bzw. Deactivate nicht eingesetzt werden.


Activate-, Deactivate-Ereignisse (Aktivierung, Deaktivierung) - Ereignisprozeduren

Zum Erstellen einer Ereignisprozedur, die ausgeführt wird, wenn das Ereignis Activate oder Deactivate eintritt, stellen Sie die Eigenschaft OnActivate bzw. OnDeactivate auf [Ereignisprozedur] ein und klicken dann auf die Editor-Schaltfläche  [image].

Syntax

Private Sub Form_Activate( )

Private Sub Report_Activate( )

Private Sub Form_Deactivate( )

Private Sub Report_Deactivate( )

Hinweis

Sie können die Ereignisprozeduren für Activate und Deactivate zum Anzeigen und Ausblenden benutzerdefinierter Symbolleisten verwenden. Wenn Sie zum Ausblenden einer benutzerdefinierten Symbolleiste die Ereignisprozedur für Deactivate verwenden, müssen Sie sicherstellen, daß die Symbolleiste als Reaktion auf das formularbezogene Ereignis Unload ausgeblendet wird, da das Ereignis Deactivate nicht eintritt, wenn ein Formular oder Bericht geschlossen wird. Verwenden Sie zum Anzeigen oder Ausblenden einer Symbolleiste in einem Formular nicht das Ereignis GotFocus oder LostFocus, da diese nicht für Formulare ausgelöst werden, die aktivierte Steuerelemente enthalten.

Die Ereignisse Activate und Deactivate können nicht unterbunden werden.


Activate-, Deactivate-Ereignis (Aktivierung, Deaktivierung) - Beispiel

Das nachstehende Beispiel zeigt, wie eine benutzerdefinierte Symbolleiste namens EigeneSymbolleiste angezeigt wird, wenn ein Formular den Fokus erhält, und wie diese ausgeblendet wird, wenn der Fokus an ein anderes Fenster abgegeben wird.

Zum Testen dieses Beispiels fügen Sie die nachstehende Ereignisprozedur zu einem Formular hinzu, das eine benutzerdefinierte Symbolleiste namens EigeneSymbolleiste enthält.

Private Sub Form_Activate()

' Die benutzerdefinierte Symbolleiste anzeigen.

DoCmd.ShowToolbar "EigeneSymbolleiste", acToolbarYes

End Sub

Private Sub Form_Deactivate()

' Die benutzerdefinierte Symbolleiste ausblenden.

DoCmd.ShowToolbar "EigeneSymbolleiste", acToolbarNo

End Sub


Change-Ereignis (Änderung)

Das Ereignis Change tritt ein, wenn sich der Inhalt eines Textfelds oder des Textteils eines Kombinationsfelds ändert. Es tritt auch ein, wenn Sie in einem Register-Steuerelement control zu einer anderen Seite wechseln. Beispiele für dieses Ereignis sind Zeichen, die unmittelbar in das Textfeld oder das Kombinationsfeld eingegeben werden, oder das Ändern der Einstellung der Eigenschaft Text des Steuerelements unter Verwendung eines Makros oder mit Visual Basic.

Anmerkungen

•	Das Festlegen des Wertes eines Steuerelements unter Verwendung eines Makros oder mit Visual Basic löst dieses Ereignis für das Steuerelement nicht aus. Sie müssen die Daten direkt in das Steuerelement eingeben oder die Eigenschaft Text des Steuerelements einstellen.

•	Dieses Ereignis hat nur für die Steuerelemente eines Formulars Gültigkeit, nicht aber für die Steuerelemente eines Berichts.

Hinweis

Wenn beim Eintreten dieses Ereignisses ein Makro oder eine Ereignisprozedur ausgeführt werden soll, stellen Sie die Eigenschaft OnChange auf den Namen des Makros oder auf [Ereignisprozedur] ein.

Wenn Sie bei Eintreten des Ereignisses Change ein Makro oder eine Ereignisprozedur ausführen, können Sie die Datenanzeige in mehreren Steuerelementen koordinieren. Sie können darüber hinaus auch Daten oder eine Formel in einem Steuerelement und die Ergebnisse in einem anderen Steuerelement anzeigen.

Das Ereignis Change tritt nicht ein, wenn sich ein Wert in einem berechneten Steuerelement ändert oder wenn Sie einen Eintrag aus dem Listenteil eines Kombinationsfelds auswählen.

Anmerkung   Das Ereignis Change kann ein sich wiederholendes Ereignis verursachen. Dies ist der Fall, wenn ein Makro oder eine Ereignisprozedur, das/die als Reaktion auf ein Ereignis Change eines Steuerelements ausgeführt wird, den Inhalt des Steuerelements ändert, z.B. durch Ändern einer Eigenschafteneinstellung, die den Wert des Steuerelements festlegt, wie etwa die Eigenschaft Text eines Textfelds. Sich wiederholende Ereignisse können Sie folgendermaßen verhindern:

•	Vermeiden Sie es möglichst, einem Steuerelement, ein Makro oder eine Ereignisprozedur für das Ereignis Change zuzuweisen, das bzw. die den Inhalt des Steuerelements ändert.

•	Erstellen Sie nicht zwei oder mehr Steuerelemente, deren Ereignisse Change sich gegenseitig beeinflussen, wie z.B. zwei Textfelder, die sich wechselseitig aktualisieren.

Das Ändern der Daten in einem Textfeld oder einem Kombinationsfeld unter Verwendung der Tastatur löst zusätzlich zum Eintreten von Ereignissen wie etwa Change das Eintreten von Tastaturereignissen aus. Wenn Sie z.B. zu einem neuen Datensatz gehen und in ein Textfeld des Datensatzes ein ANSI-Zeichen eingeben, treten die folgenden Ereignisse in der aufgeführten Reihenfolge ein:

KeyDown ⇒ KeyPress ⇒ BeforeInsert ⇒ Change ⇒ KeyUp

Die Ereignisse BeforeUpdate und AfterUpdate für das Textfeld oder das Kombinationsfeld treten nach dem Eingeben der neuen Daten oder Ändern der Daten im Textfeld oder Kombinationsfeld (oder nach dem Klicken auf Datensatz speichern im Menü Datensätze) und damit nach allen Change-Ereignissen des Steuerelements ein.

Das Ereignis NotInList tritt für Kombinationsfelder, deren Eigenschaft LimitToList auf Ja eingestellt ist, nach dem Eingeben eines Wertes, der nicht in der Liste ist, und dem Versuch ein, zu einem anderen Steuerelement zu wechseln oder den Datensatz zu speichern. Es tritt nach allen Ereignissen Change für das Kombinationsfeld ein. In diesem Fall treten die Ereignisse BeforeUpdate und AfterUpdate für das Kombinationsfeld nicht ein, da Microsoft Access keinen Wert akzeptiert, der nicht Bestandteil der Liste ist.


Change-Ereignis (Änderung) - Makros

Zum Ausführen eines Makros bei Eintreten des Ereignisses Change stellen Sie die Eigenschaft OnChange auf den Namen des Makros ein.

Hinweis

Sie können ein Makro für das Ereignis Change zum Synchronisieren der Daten zweier Steuerelemente verwenden. Wenn in einem Steuerelement eine Änderung eintritt, kann ein zweites entsprechend angepaßt werden.

Die Aktion AbbrechenEreignis kann in einem Makro für das Ereignis Change nicht eingesetzt werden.


Change-Ereignis (Änderung) - Ereignisprozeduren

Zum Erstellen einer Ereignisprozedur, die bei Eintreten des Ereignisses Change ausgeführt wird, stellen Sie die Eigenschaft OnChange auf [Ereignisprozedur] ein und klicken dann auf die Editor-Schaltfläche  [image].

Syntax

Private Sub Steuerelementname_Change( )

Eine Ereignisprozedur für das Ereignis Change hat das folgende Argument.

Argument	Beschreibung
Steuerelementname	Der Name des Steuerelements, dessen Change-Ereignisprozedur ausgeführt werden soll.
Hinweis

Das Ereignis Change kann nicht unterbunden werden.

Um sich wiederholende Ereignisse zu verhindern, erstellen Sie für ein Steuerelement, das seinen Inhalt ändert (z. B. .durch Einstellen der Eigenschaft Text für das Steuerelement) keine Ereignisprozedur für das Ereignis Change. Wenn Sie eine solche Ereignisprozedur trotzdem erstellen, müssen Sie eine Variable setzen, die weitere Änderungen so lange verhindert, bis die jeweils aktuelle Änderung abgeschlossen ist.


Change (Änderung)-Ereignisprozedur - Beispiel

Das folgende Beispiel zählt die Anzahl der Zeichen, die in ein Textfeld eingegeben wurden. Wurden mehr als drei Zeichen eingegeben, wird eine Meldung angezeigt und der Zähler auf 0 zurückgesetzt.

Zum Testen dieses Beispiels fügen Sie die nachstehende Ereignisprozedur zu einem Formular namens Bestellungen hinzu, das ein Textfeld namens Region enthält.

Private Sub Region_Change()

' Variable als statisch deklarieren, damit ihr Wert von einem

' Aufruf zum nächsten erhalten bleibt.

Static intBuchstabe As Integer

' Prüfen, wieviele Zeichen eingegeben wurden.

' Bei mehr als drei Zeichen den Wert des Textfelds zurücksetzen.

If intBuchstabe < 3 Then

intBuchstabe = intBuchstabe + 1

Else

MsgBox "Es sind nur drei Zeichen erlaubt."

intBuchstabe = 0

Forms!Bestellungen!Region.Undo

End If

End Sub


Error-Ereignis (Fehler)

Das Ereignis Error tritt ein, wenn in Microsoft Access ein Laufzeitfehler erzeugt wird, während ein Formular oder Bericht den Fokus hat. Dies gilt auch für Fehler der Microsoft Jet-Datenbank-Engine, nicht jedoch für Laufzeitfehler in Visual Basic.

Hinweis

Wenn beim Eintreten dieses Ereignisses ein Makro oder eine Ereignisprozedur ausgeführt werden soll, stellen Sie die Eigenschaft OnError auf den Namen des Makros oder auf [Ereignisprozedur] ein.

Durch Ausführen einer Ereignisprozedur oder eines Makros bei Eintreten des Ereignisses Error können Sie eine Fehlermeldung von Microsoft Access abfangen und statt dessen eine benutzerdefinierte Meldung anzeigen, die für Ihre Anwendung geeigneter ist.


Error-Ereignis (Fehler) - Makros

Zum Ausführen eines Makros bei Eintreten des Ereignisses Error stellen Sie die Eigenschaft OnError auf den Namen des Makros ein.

Hinweis

Sie können ein Makro für das Ereignis Error zum Anzeigen einer allgemeinen Meldung bei Eintreten eines Laufzeitfehlers verwenden. Da Makros jedoch weder den Fehlercode zurückgeben noch ermitteln können, welcher Fehler auftrat, eignet sich für dieses Ereignis in der Regel eher der Einsatz einer Ereignisprozedur.

Die Aktion AbbrechenEreignis kann in einem Makro für das Ereignis Error nicht eingesetzt werden.


Error-Ereignis (Fehler) - Ereignisprozeduren

Zum Erstellen einer Ereignisprozedur, die bei Eintreten des Ereignisses Error ausgeführt wird, stellen Sie die Eigenschaft OnError auf [Ereignisprozedur] ein und klicken dann auf die Editor-Schaltfläche  [image].

Syntax

Private Sub Form_Error(DataErr As Integer, Response As Integer)

Private Sub Report_Error(DataErr As Integer, Response As Integer)

Die Ereignisprozedur für das Ereignis Error hat die folgenden Argumente.

Argument	Beschreibung
DataErr	Der Fehlercode, der bei Eintreten eines Fehlers vom Objekt Err zurückgegeben wird. Sie können das Argument DataErr für die Funktion Error verwenden, um den als Zahl angegebenen Fehlercode auf die entsprechende Fehlermeldung abzubilden.
Response	Diese Einstellung legt fest, ob eine Fehlermeldung angezeigt wird. Für das Argument Response kann eine der folgenden eingebauten Konstanten eingesetzt werden:
	Konstante	Beschreibung
	acDataErrContinue	Ignoriert den Fehler und führt die Ausführung fort, ohne die Standardfehlermeldung von Microsoft Access anzuzeigen. Sie können anstelle der Standardfehlermeldung auch eine benutzerdefinierte Fehlermeldung angeben.
	AcDataErrDisplay	(Voreinstellung) Zeigt die Standardfehlermeldung von Microsoft Access an.
Hinweis

Das Ereignis Error kann nicht unterbunden werden.


Error-Ereignisprozedur (Fehler) - Beispiel

Das nachstehende Beispiel zeigt, wie Sie eine Standardfehlermeldung durch eine benutzerdefinierte Fehlermeldung ersetzen können. Wenn Microsoft Access eine Fehlermeldung zurückgibt, die mitteilt, daß ein doppelter Schlüssel (Fehlercode 3022) entdeckt wurde, zeigt diese Ereignisprozedur eine Meldung an, die dem jeweiligen Benutzer anwendungsspezifischere Informationen gibt.

Zum Testen dieses Beispiels fügen Sie die nachstehende Ereignisprozedur zu einem Formular hinzu. Das Formular muß auf einer Tabelle basieren, in der als Schlüssel für jeden Datensatz eine eindeutige Personalnummer existiert.

Private Sub Form_Error(DataErr As Integer, Response As Integer)

Const conDoppelterSchlüssel = 3022

Dim strMldg As String

If DataErr = conDoppelterSchlüssel Then

Response = acDataErrContinue

strMldg = "Jeder Personaldatensatz muß eine eindeutige " _

& "Personalnummer enthalten. Bitte überprüfen Sie Ihre Daten."

MsgBox strMldg

End If

End Sub


GotFocus-, LostFocus-Ereignisse (Fokuserhalt-, Fokusverlust)

•	Das Ereignis GotFocus tritt ein, wenn ein Formular oder ein Steuerelement den Fokus erhält.

•	Das Ereignis LostFocus tritt ein, wenn ein Formular oder ein Steuerelement den Fokus abgibt.

Anmerkung   Die Ereignisse GotFocus und LostFocus haben nur für Formulare und Steuerelemente eines Formulars Gültigkeit, nicht aber für Steuerelemente eines Berichts.

Hinweis

Wenn beim Eintreten dieser Ereignisse ein Makro oder eine Ereignisprozedur ausgeführt werden soll, stellen Sie die Eigenschaft OnGotFocus bzw. OnLostFocus auf den Namen des Makros oder auf [Ereignisprozedur] ein.

Diese Ereignisse treten ein, wenn der Fokus als Reaktion auf eine Benutzeraktion verschoben wird. Dies ist z.B. der Fall, wenn ein Objekt durch Drücken von TAB oder durch Klicken auf das Objekt aktiviert wird, wenn Sie in Visual Basic die Methode SetFocus verwenden oder in einem Makro eine der Aktionen AuswählenObjekt, GeheZuDatensatz, GeheZuSteuerelement oder GeheZuSeite benutzen.

Ein Steuerelement kann nur dann den Fokus erhalten, wenn dessen Eigenschaften Visible und Enabled auf Ja eingestellt sind. Ein Formular kann den Fokus nur erhalten, wenn es keine Steuerelemente enthält oder wenn alle sichtbaren Steuerelemente deaktiviert sind. Wenn ein Formular ein sichtbares aktiviertes Steuerelement enthält, tritt das Ereignis GotFocus für das Formular nicht ein.

Sie können festlegen, was passieren soll, wenn ein Formular oder ein Steuerelement den Fokus erhält. Dazu führen Sie bei Eintreten des Ereignisses GotFocus ein Makro oder eine Ereignisprozedur aus. Wenn Sie z.B. jedem Steuerelement eines Formulars eine Ereignisprozedur für GotFocus zuordnen, können Sie einen Benutzer durch Ihre gesamte Anwendung führen, indem Sie in einem Textfeld kurze Anleitungen oder Meldungen anzeigen. Darüber hinaus können Sie auf dem Bildschirm Stichwörter bereitstellen, indem Sie Steuerelemente aktivieren, deaktivieren oder anzeigen, die von dem Steuerelement abhängen, das den Fokus hat.

Anmerkung   Zum Anpassen der Reihenfolge, in der der Fokus auf einem Formular beim Drücken von TAB von einem Steuerelement an das nächste abgegeben wird, legen Sie die Reihenfolge der Steuerelemente fest oder definieren Zugriffstasten für die Steuerelemente.

Das Ereignis GotFocus tritt im Gegensatz zum Ereignis Enter jedesmal ein, wenn ein Steuerelement den Fokus erhält. Angenommen, der Benutzer klickt auf ein Kontrollkästchen eines Formulars, anschließend auf einen Bericht und zum Schluß erneut auf das Kontrollkästchen des Formulars, um dieses in den Vordergrund zu holen. Das Ereignis GotFocus tritt beide Male ein, wenn das Kontrollkästchen den Fokus erhält. Das Ereignis Enter tritt dagegen nur nach dem ersten Klicken des Benutzers auf das Kontrollkästchen ein. Das Ereignis GotFocus tritt nach dem Ereignis Enter ein.

Das Ereignis LostFocus tritt im Gegensatz zum Ereignis Exit jedesmal ein, wenn ein Steuerelement den Fokus abgibt. Das Ereignis Exit tritt nur dann ein, wenn ein Steuerelement den Fokus an ein anderes Steuerelement desselben Formulars abgibt. Das Ereignis LostFocus tritt nach dem Ereignis Exit ein.

Wenn Sie den Fokus von einem Formular auf ein Steuerelement eines anderen Formulars setzen, das auf diesem Formular nicht den Fokus hat, treten die Ereignisse Exit und LostFocus für das Steuerelement, das auf dem ersten Formular den Fokus hat, vor den Ereignissen Enter und GotFocus des Steuerelements ein, das auf dem zweiten Formular den Fokus erhält.

Wenn Sie zum Verschieben des Fokus von einem Steuerelement eines Hauptformulars auf ein Steuerelement eines Unterformulars dieses Formulars die Maus verwenden, treten die folgenden Ereignisse ein:

Exit (für das Steuerelement des Hauptformulars)

 ⇓

LostFocus (für das Steuerelement des Hauptformulars)

 ⇓

Enter (für das Unterformular-Steuerelement)

 ⇓

Exit (für das Steuerelement des Unterformulars, das den Fokus hatte)

 ⇓

Exit (für das Steuerelement des Unterformulars, das den Fokus hatte)

 ⇓

Enter (für das Steuerelement des Unterformulars, das den Fokus erhalten hat)

 ⇓

GotFocus (für das Steuerelement des Unterformulars, das den Fokus erhalten hat)

Wenn das Steuerelement des Unterformulars, zu dem Sie wechseln, vorher den Fokus hatte, tritt für dieses Steuerelement weder das Ereignis Enter noch das Ereignis GotFocus ein, es tritt jedoch das Ereignis Enter für das Unterformular ein. Wenn Sie den Fokus von einem Steuerelement des Unterformulars zu einem Steuerelement des Hauptformulars verschieben, treten für das Steuerelement des Unterformulars nicht die Ereignisse Exit und LostFocus ein, es treten lediglich das Ereignis Exit für das Unterformular-Steuerelement und die Ereignisse Enter und GotFocus für das Steuerelement des Hauptformulars ein.

Anmerkung   In der Regel wird zum Verschieben des Fokus zu einem anderen Steuerelement die Maustaste oder eine Taste, wie z.B. TAB, verwendet. Dies löst Mausereignisse oder Tastaturereignisse aus, die zusätzlich zu den oben beschriebenen Ereignissen eintreten.

Wenn Sie zwischen zwei geöffneten Formularen wechseln, tritt für das erste Formular das Ereignis Deactivate und für das zweite Formular das Ereignis Activate ein. Enthalten die Formulare keine sichtbaren aktivierten Steuerelemente, tritt für das erste Formular vor dem Ereignis Deactivate das Ereignis LostFocus und für das zweite Formular nach dem Ereignis Activate das Ereignis GotFocus ein.


GotFocus-, LostFocus-Ereignisse (Fokuserhalt, Fokusverlust) - Ereignisprozeduren

Zum Erstellen einer Ereignisprozedur, die bei Eintreten des Ereignisses GotFocus oder LostFocus ausgeführt wird, stellen Sie die Eigenschaft OnGotFocus bzw. OnLostFocus auf [Ereignisprozedur] ein und klicken auf die Editor-Schaltfläche  [image].

Syntax

Private Sub Form_GotFocus( )

Private Sub Steuerelementname_GotFocus( )

Private Sub Form_LostFocus( )

Private Sub Steuerelementname_LostFocus( )

Die Ereignisprozeduren für GotFocus und LostFocus haben das folgende Argument.

Argument	Beschreibung
Steuerelementname	Der Name des Steuerelements, dessen GotFocus- oder LostFocus-Ereignisprozedur ausgeführt werden soll.
Hinweis

Mit einer Ereignisprozedur für LostFocus können Sie eingegebene Daten in dem Moment überprüfen, in dem der Benutzer den Fokus eines Steuerelements verschiebt. Darüber hinaus können Sie Bedingungen aufheben oder ändern, die Sie in der GotFocus-Ereignisprozedur des Objekts formuliert haben.

Die Ereignisprozeduren für GotFocus und LostFocus können außerdem zum Aktivieren, Deaktivieren, Ausblenden und Anzeigen anderer Objekte eingesetzt werden.

Die Ereignisse GotFocus und LostFocus können nicht unterbunden werden.


GotFocus-, LostFocus-Ereignis (Fokuserhalt-, Fokusverlust) -Ereignisprozeduren-Beispiel

Das nachstehende Beispiel zeigt eine Meldung in einem Bezeichnungsfeld an, wenn ein Optionsfeld den Fokus erhält.

Zum Testen dieses Beispiels fügen Sie die nachstehende Ereignisprozedur zu einem Formular namens Kontakte hinzu. Dieses Formular muß ein Optionsfeld namens OptionJa und ein Bezeichnungsfeld namens BezeichnungJa enthalten.

Private Sub OptionJa_GotFocus()

Me!BezeichnungJa.Caption = "Optionsfeld 'Ja' hat den Fokus."

End Sub

Private Sub OptionJa_LostFocus()

Me!BezeichnungJa.Caption = ""	' Bezeichnung löschen.

End Sub


GotFocus-, LostFocus-Ereignisse (Fokuserhalt, Fokusverlust) - Makros

Zum Ausführen eines Makros bei Eintreten des Ereignisses GotFocus oder LostFocus stellen Sie die Eigenschaft OnGotFocus bzw. OnLostFocus auf den Namen des Makros ein.

Hinweis

Mit einem Makro für das Ereignis LostFocus können Sie eingegebene Daten in dem Moment überprüfen, in dem der Benutzer den Fokus von einem Steuerelement auf ein anderes verschiebt. Außerdem können Sie Bedingungen aufheben oder ändern, die Sie in dem Makro für das Ereignis GotFocus des Objekts eingestellt haben.

Makros für die Ereignisse GotFocus und LostFocus können außerdem zum Aktivieren, Deaktivieren, Ausblenden und Anzeigen anderer Objekte eingesetzt werden.

Die Aktion AbbrechenEreignis kann in einem Makro für das Ereignis GotFocus bzw. LostFocus nicht eingesetzt werden.


KeyDown-, KeyUp-Ereignisse (TasteAb, TasteAuf)

•	Das Ereignis KeyDown tritt ein, wenn der Benutzer eine Taste drückt, während ein Formular oder Steuerelement den Fokus hat. Dieses Ereignis tritt auch ein, wenn Sie mit der Aktion Tastaturbefehle in einem Makro bzw. mit der Anweisung SendKeys in Visual Basic Tastenanschläge an ein Formular oder Steuerelement senden.

•	Das Ereignis KeyUp tritt ein, wenn der Benutzer eine Taste losläßt, während das Formular oder das Steuerelement den Fokus hat. Dieses Ereignis tritt auch ein, wenn Sie mit der Aktion Tastaturbefehle in einem Makro bzw. mit der Anweisung SendKeys in Visual Basic Tastenanschläge an ein Formular oder Steuerelement senden.

Anmerkung   Die Ereignisse KeyDown und KeyUp haben nur für Formulare sowie Steuerelemente eines Formulars Gültigkeit, nicht aber für die Steuerelemente eines Berichts.

Hinweis

Wenn beim Eintreten dieser Ereignisse ein Makro oder eine Ereignisprozedur ausgeführt werden soll, stellen Sie die Eigenschaft OnKeyDown bzw. OnKeyUp auf den Namen des Makros oder auf [Ereignisprozedur] ein.

Für beide Ereignisse gilt, daß alle Tastenanschläge von dem Objekt empfangen werden, das den Fokus hat. Ein Formular kann nur dann den Fokus haben, wenn es keine Steuerelemente enthält oder alle seine sichtbaren Steuerelemente deaktiviert sind.

Ein Formular empfängt auch dann alle Tastaturereignisse, d.h. auch die, die für Steuerelemente eintreten, wenn Sie die Eigenschaft KeyPreview des Formulars auf Ja eingestellt haben. Mit dieser Eigenschafteneinstellung treten alle Tastaturereignisse zuerst für das Formular und dann für das Steuerelement ein, das den Fokus hat. Sie können, unabhängig davon, welches Steuerelement den Fokus hat, auf bestimmte auf einem Formular gedrückte Tasten reagieren. Sie können z.B. festlegen, daß mit der Tastenkombination STRG+X auf einem Formular immer dieselbe Aktion ausgeführt werden soll.

Wenn Sie eine Taste drücken und festhalten, treten die Ereignisse KeyDown und KeyPress wiederholt im Wechsel ein (KeyDown, KeyPress, KeyDown, KeyPress usw.), bis Sie die Taste wieder loslassen. Beim Loslassen tritt das Ereignis KeyUp ein.

Die Ereignisse KeyDown und KeyUp treten zwar beim Drücken fast aller Tasten ein, Sie werden jedoch in der Regel verwendet, um die folgenden Tasten bzw. Tastenkombinationen zu erkennen und zwischen diesen zu unterscheiden:

•	Tasten des erweiterten Zeichensatzes, wie z.B. Funktionstasten.

•	Navigationstasten, wie z.B. POS1, ENDE, BILD-AUF, BILD-AB, NACH-OBEN, NACH-UNTEN, NACH-RECHTS, NACH-LINKS und TAB.

•	Tastenkombinationen und Standardumschalttasten (UMSCHALTTASTE, STRG und ALT).

•	Die Zehnertastatur und die Zahlentasten der Tastatur.

Die Ereignisse KeyDown und KeyUp treten nicht ein, wenn Sie die folgenden Tasten drücken:

•	Die EINGABETASTE, wenn das Formular eine Befehlsschaltfläche enthält, deren Eigenschaft Default auf Ja eingestellt ist.

•	Die Taste ESC, wenn das Formular eine Befehlsschaltfläche enthält, deren Eigenschaft Cancel auf Ja eingestellt ist.

Tip   Mit dem Ereignis KeyPress können Sie feststellen, welchem ANSI-Zeichen die gedrückte Taste entspricht.

Die Ereignisse KeyDown und KeyUp treten ein, wenn Sie eine ANSI-Taste drücken oder senden. Das Ereignis KeyUp tritt nach jedem Ereignis für ein Steuerelement ein, das durch das Drücken oder Senden einer Taste ausgelöst wurde. Wenn ein Tastenanschlag bewirkt, daß der Fokus von einem Steuerelement an ein anderes abgegeben wird, tritt für das erste Steuerelement das Ereignis KeyDown ein, während für das zweite Steuerelement die Ereignisse KeyPress und KeyUp eintreten.

Weitere Informationen finden Sie unter Reihenfolge von Ereignissen bei Tastenanschlägen und Mausklicks.

Wenn durch das Drücken und Senden einer Taste ein gebundenes Dialogfeld angezeigt wird, treten die Ereignisse KeyDown und KeyPress ein, nicht aber das Ereignis KeyUp.


KeyDown-, KeyUp-Ereignisse (TasteAb, TasteAuf) - Makros
KeyDown-, KeyUp-Ereignisse (TasteAb, TasteAuf) − Makros

Zum Ausführen eines Makros bei Eintreten des Ereignisses KeyDown oder KeyUp stellen Sie die Eigenschaft OnKeyDown bzw. OnKeyUp auf den Namen des Makros ein.

Hinweis

Sie können ein Makro für das Ereignis KeyDown bzw. KeyUp so einsetzen, daß es immer dann reagiert, wenn der Benutzer eine Taste drückt oder losläßt, während ein Formular oder Steuerelement den Fokus hat. Da Makros jedoch nicht den Tastencode zurückgeben und nicht feststellen können, welche Taste gedrückt wurde, werden für diese Ereignisse in der Regel eher Ereignisprozeduren verwendet.

Die Aktion AbbrechenEreignis kann in einem Makro für das Ereignis KeyDown bzw. KeyUp nicht eingesetzt werden.


KeyDown-, KeyUp-Ereignisse (TasteAb, TasteAuf) - Ereignisprozeduren

Zum Erstellen einer Ereignisprozedur, die ausgeführt wird, wenn das Ereignis KeyDown oder KeyUp eintritt, stellen Sie die Eigenschaft OnKeyDown bzw. OnKeyUp auf [Ereignisprozedur] ein und klicken auf die Editor-Schaltfläche  [image].

Syntax

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

Private Sub Steuerelementname_KeyDown(KeyCode As Integer, Shift As Integer)

Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)

Private Sub Steuerelementname_KeyUp(KeyCode As Integer, Shift As Integer)

Die Ereignisse KeyDown und KeyUp haben die folgenden Argumente.

Argument	Beschreibung
Steuerelementname	Der Name des Steuerelements, dessen KeyDown- oder KeyUp-Ereignisprozedur ausgeführt werden soll.
KeyCode	Ein Tastencode wie z.B. vbKeyF1 (für die Taste F1) oder vbKeyHome (für die Taste POS1). Zum Angeben von Tastencodes verwenden Sie die eingebauten Konstanten, die im Objektkatalog angezeigt werden. Wenn Sie verhindern möchten, daß ein Objekt Tastenanschläge empfängt, stellen Sie das Argument KeyCode auf 0 ein.
Shift	Der Status der Tasten UMSCHALT, STRG und ALT zum Zeitpunkt des Ereignisses. Wenn Sie das Argument Shift auswerten müssen, können Sie eine der folgenden eingebauten Konstanten als Bit-Maske verwenden:
	Konstante	Beschreibung
	acShiftMask	Bit-Maske für UMSCHALT.
	acCtrlMask	Bit-Maske für STRG.
	acAltMask	Bit-Maske für ALT.
Hinweis

Zum Prüfen, ob eine Bedingung erfüllt ist, weisen Sie jedes Ergebnis zuerst einer temporären Variablen des Datentyps Integer zu und gleichen dann das Argument Shift gegen eine eingebaute Konstante ab. Verwenden Sie zum Testen, ob das Ergebnis der Bedingung größer 0 ist und damit angibt, daß eine der Tasten UMSCHALT, STRG oder ALT gedrückt wurde, das Argument Shift zusammen mit dem Operator And. Beispiel:

UmschaltGedrückt = (Shift And acShiftMask) > 0

In einer Ereignisprozedur können Sie beliebig kombinierte Bedingungen prüfen. Beispiel:

If UmschaltGedrückt And StrgGedrückt Then

.	' Diese Schritte ausführen, wenn UMSCHALT und STRG

.	' gedrückt wurden.

.

End If

Mit Ereignisprozeduren für KeyDown und KeyUp können Sie die klein- und großgeschriebene Version jedes Zeichens interpretieren. Dazu prüfen Sie sowohl auf das Argument KeyCode als auch auf das Argument Shift. Das Argument KeyCode gibt an, welche Taste gedrückt wurde (hier werden A und a als dieselbe Taste interpretiert). Shift gibt den Status von UMSCHALT+Taste an und dann entweder A oder a zurück.

Sie können Ereignisprozeduren für KeyDown und KeyUp für Tastaturbehandlungsroutinen verwenden, wenn Sie sowohl auf das Drücken als auch auf das Loslassen einer Taste reagieren müssen.

Sie können, unabhängig davon, welches Steuerelement den Fokus hat, auf bestimmte im Formular gedrückte Tasten reagieren. Sie können z.B. festlegen, daß mit der Tastenkombination STRG+X auf einem Formular immer dieselbe Aktion ausgeführt werden soll. Wenn Sie sicherstellen möchten, daß ein Formular alle Tastaturereignisse, d.h. auch die, die für Steuerelemente eintreten, vor deren Eintreten für die Steuerelemente empfängt, stellen Sie die Eigenschaft KeyPreview des Formulars auf Ja ein. Mit dieser Eigenschafteneinstellung treten alle Tastaturereignisse zuerst für das Formular und dann für das Steuerelement ein, das den Fokus hat. Sie können in den Ereignissen KeyDown, KeyPress und KeyUp auf bestimmte Tastenanschläge reagieren. Sie können verhindern, daß ein Steuerelement Tastenanschläge empfängt, auf die Sie reagiert haben, und daß für das Steuerelement Tastaturereignisse eintreten. Dazu stellen Sie das Argument KeyCode sowohl für das Ereignis KeyDown als auch für das Ereignis KeyUp auf 0 und das Argument KeyAscii für das Ereignis KeyPress auf 0 ein (wenn es sich um eine ANSI-Taste handelt). Wenn Sie verhindern möchten, daß das Steuerelement Tastenanschläge empfängt, müssen Sie alle drei Argumente auf 0 einstellen.

Sie können die Argumente für die Ereignisse KeyDown, KeyPress und KeyUp zusammen mit den Argumenten für die Ereignisse MouseDown, MouseUp und MouseMove verwenden, wenn Ihre Anwendung sowohl für Tastatur- als auch für Mausbenutzer einfach zu handhaben sein soll.

Die Ereignisse KeyDown und KeyUp können nicht unterbunden werden.


KeyDown-, KeyUp-Ereignisprozeduren (TasteAb, TasteAuf) - Ereignisprozeduren-Beispiel

Das nachstehende Beispiel ermittelt, ob die Taste UMSCHALT, STRG oder ALT gedrückt wurde.

Zum Testen dieses Beispiels fügen Sie die nachstehende Ereignisprozedur zu einem Formular hinzu, das ein Textfeld namens TastenAuswert enthält.

Private Sub TastenAuswert_KeyDown(KeyCode As Integer, Shift As Integer)

Dim intUmschaltGedr As Integer, intAltGedr As Integer

Dim intStrgGedr As Integer

' Bit-Masken einsetzen, um die gedrückte Taste zu ermitteln.

intUmschaltGedr = (Shift And acShiftMask) > 0

intAltGedr = (Shift And acAltMask) > 0

intStrgGedr = (Shift And acCtrlMask) > 0

' Per Meldung dem Benutzer mitteilen, welche Taste gedrückt wurde.

If intUmschaltGedr Then MsgBox "Sie haben UMSCHALT gedrückt."

If intAltGedr Then MsgBox "Sie haben ALT gedrückt."

If intStrgGedr Then MsgBox "Sie haben STRG gedrückt."

End Sub


KeyPress-Ereignis (Taste)

Das Ereignis KeyPress tritt ein, wenn der Benutzer eine Taste oder Tastenkombination drückt und losläßt, die einem ANSI-Code entspricht, während ein Formular oder ein Steuerelement den Fokus hat. Dieses Ereignis tritt auch ein, wenn Sie mit einer Aktion Tastaturbefehle in einem Makro bzw. mit der Anweisung SendKeys in Visual Basic einen ANSI-Tastenanschlag an ein Formular oder ein Steuerelement senden.

Anmerkung   Das Ereignis KeyPress hat nur für Formulare und Steuerelemente eines Formulars Gültigkeit, nicht aber für die Steuerelemente eines Berichts.

Hinweis

Wenn beim Eintreten dieses Ereignisses ein Makro oder eine Ereignisprozedur ausgeführt werden soll, stellen Sie die Eigenschaft OnKeyPress auf den Namen des Makros oder auf [Ereignisprozedur] ein.

Das Objekt, das den Fokus hat, empfängt alle Tastenanschläge. Ein Formular kann den Fokus nur dann haben, wenn es keine Steuerelemente enthält oder alle seine sichtbaren Steuerelemente deaktiviert sind.

Ein Formular empfängt auch dann alle Tastaturereignisse, d.h. auch die, die für Steuerelemente eintreten, wenn Sie die Eigenschaft KeyPreview des Formulars auf Ja eingestellt haben. Mit dieser Eigenschafteneinstellung treten alle Tastaturereignisse zuerst für das Formular und dann für das Steuerelement ein, das den Fokus hat. Sie können unabhängig davon, welches Steuerelement den Fokus hat, auf bestimmte auf dem Formular gedrückte Tasten reagieren. Sie können z.B. festlegen, daß mit der Tastenkombination STRG+X auf einem Formular immer dieselbe Aktion ausgeführt werden soll.

Wenn Sie eine ANSI-Taste drücken und festhalten, treten die Ereignisse KeyDown und KeyPress wiederholt im Wechsel (KeyDown, KeyPress, KeyDown, KeyPress usw.) ein. Sobald Sie die Taste loslassen, tritt das Ereignis KeyUp ein.

Die folgenden Tasten können das Ereignis KeyPress auslösen: jedes druckbare Zeichen der Tastatur, die Taste STRG kombiniert mit einem Zeichen des Standardalphabets oder mit einem Sonderzeichen, sowie die EINGABETASTE und die RÜCKTASTE. Mit Ereignisprozeduren für die Ereignisse KeyDown und KeyUp können Sie auf alle Tastenanschläge reagieren, die von dem Ereignis KeyPress nicht erkannt werden, wie z.B. Funktionstasten, Navigationstasten und beliebige Kombinationen dieser Tasten mit den Umschalttasten der Tastatur (ALT, UMSCHALT oder STRG). Im Gegensatz zu den Ereignissen KeyDown und KeyUp gibt das Ereignis KeyPress nicht den Status der Tastatur an, sondern statt dessen das ANSI-Zeichen, das der gedrückten Taste oder Tastenkombination entspricht.

KeyPress interpretiert die groß- und kleingeschriebene Version jedes Zeichens als eigenständige Tastencodes, d.h. als zwei getrennte Zeichen.

Anmerkung   Die RÜCKTASTE gehört zum ANSI-Zeichensatz, die ENTF-TASTE dagegen nicht. Wenn Sie in einem Steuerelement ein Zeichen unter Verwendung der RÜCKTASTE löschen, tritt das Ereignis KeyPress ein, wenn Sie die ENTF-TASTE verwenden jedoch nicht.

Die Ereignisse KeyDown und KeyPress treten ein, wenn Sie ein ANSI-Zeichen drücken oder senden. Das Ereignis KeyUp tritt nach jedem Ereignis für ein Steuerelement ein, das durch das Drücken oder Senden einer Taste ausgelöst wurde. Wenn ein Tastenanschlag bewirkt, daß der Fokus von einem Steuerelement an ein anderes abgegeben wird, tritt für das erste Steuerelement das Ereignis KeyDown ein, während für das zweite Steuerelement die Ereignisse KeyPress und KeyUp eintreten.

Wenn Sie z.B. zu einem neuen Datensatz gehen und in das erste Steuerelement des Datensatzes ein Zeichen eingeben, treten die folgenden Ereignisse ein:

Current (für den neuen Datensatz)

 ⇓

Enter (für das erste Steuerelement des neuen Datensatzes)

 ⇓

GotFocus (für das Steuerelement)

 ⇓

KeyDown (für das Steuerelement)

 ⇓

KeyPress (für das Steuerelement)

 ⇓

BeforeInsert (für den neuen Datensatz im Formular)

 ⇓

Change (für das Steuerelement, wenn es ein Textfeld oder Kombinationsfeld ist)

 ⇓

KeyUp (für das Steuerelement)

Weitere Informationen finden Sie unter Reihenfolge von Ereignissen bei Tastenanschlägen und Mausklicks.


KeyPress-Ereignis (Taste) - Makros

Zum Ausführen eines Makros bei Eintreten des Ereignisses KeyPress stellen Sie die Eigenschaft OnKeyPress auf den Namen des Makros ein.

Hinweis

Mit einem Makro für das Ereignis KeyPress können Sie immer dann reagieren, wenn der Benutzer eine ANSI-Taste drückt, während ein Formular oder ein Steuerelement den Fokus hat. Da Makros jedoch weder den ANSI-Tastencode zurückgeben noch feststellen können, welche Taste gedrückt wurde, werden für dieses Ereignis in der Regel eher  Ereignisprozeduren verwendet.

Sie können in einem Makro für das Ereignis KeyPress die Aktion AbbrechenEreignis verwenden, wenn Sie die Reaktion auf die Taste oder Tastenkombination abbrechen möchten. Sie können z.B. das Eingeben bestimmter ANSI-Zeichen in ein Steuerelement unter bestimmten Bedingungen unterbinden.


KeyPress-Ereignis (Taste) - Ereignisprozeduren

Zum Erstellen einer Ereignisprozedur, die ausgeführt wird, wenn das Ereignis KeyPress eintritt, stellen Sie die Eigenschaft OnKeyPress auf [Ereignisprozedur] ein und klicken auf die Editor-Schaltfläche  [image].

Syntax

Private Sub Form_KeyPress(KeyAscii As Integer)

Private Sub Steuerelementname_KeyPress(KeyAscii As Integer)

Das Ereignis KeyPress hat die folgenden Argumente.

Argument	Beschreibung
Steuerelementname	Der Name des Steuerelements, dessen KeyPress-Ereignisprozedur ausgeführt werden soll.
KeyAscii	Gibt einen numerischen ANSI-Code zurück. Das Argument KeyAscii wird als Referenz übergeben. Wird dieses Argument geändert, wird ein anderes Zeichen an das Objekt gesendet. Bei Verwendung des Wertes 0 für KeyAscii wird der Tastenanschlag annulliert, so daß das Objekt nicht erkennt, daß eine Taste gedrückt wurde.
Hinweis

Eine Ereignisprozedur für das Ereignis KeyPress eignet sich zum Abfangen von Tastenanschlägen, die in ein Textfeld oder ein Kombinationsfeld eingegeben werden. Sie erlaubt das Überprüfen von Tastenanschlägen auf Gültigkeit oder das Formatieren eingegebener Zeichen. Wird der Wert des Arguments KeyAscii geändert, ändert sich das angezeigte Zeichen.

Mit dem folgenden Ausdruck können Sie das Argument KeyAscii in ein Zeichen umwandeln.

Chr(KeyAscii)

Anschließend können Sie das Zeichen als Zeichenfolge verarbeiten und mit dem folgenden Ausdruck in eine ANSI-Nummer zurückübersetzen, die vom Steuerelement erkannt werden kann.

KeyAscii = Asc(Zeichen)

Anmerkung   Die ANSI-Nummer für die Tastenkombination STRG+@ lautet 0. Da Microsoft Access einen KeyAscii-Wert von 0 als Zeichenfolge der Länge Null (" ") interpretiert, sollten Sie die Tastenkombination STRG+@ in Ihren Anwendungen vermeiden.

Sie können, unabhängig davon, welches Steuerelement den Fokus hat, auf bestimmte im geöffneten Formular gedrückte Tasten reagieren. Sie können z.B. festlegen, daß mit der Tastenkombination STRG+X auf einem Formular immer dieselbe Aktion ausgeführt werden soll. Wenn Sie sicherstellen möchten, daß ein Formular alle Tastaturereignisse, d.h. auch die, die für Steuerelemente eintreten, vor deren Eintreten für die Steuerelemente empfängt, stellen Sie die Eigenschaft KeyPreview des Formulars auf Ja ein. Mit dieser Eigenschafteneinstellung treten alle Tastaturereignisse zuerst für das Formular und dann für das Steuerelement ein, das den Fokus hat. Sie können in den Ereignissen KeyDown, KeyPress und KeyUp des Formulars auf bestimmte Tastenanschläge reagieren. Sie können verhindern, daß ein Steuerelement Tastenanschläge empfängt, auf die Sie reagiert haben, und daß für das Steuerelement Tastaturereignisse eintreten. Dazu stellen Sie das Argument KeyCode sowohl für das Ereignis KeyDown als auch für das Ereignis KeyUp auf 0 und das Argument KeyAscii für das Ereignis KeyPress auf 0 ein. Wenn Sie verhindern möchten, daß das Steuerelement Tastenanschläge empfängt, müssen Sie alle drei Argumente auf 0 einstellen.

Sie können die Argumente für die Ereignisse KeyDown, KeyPress und KeyUp zusammen mit den Argumenten für die Ereignisse MouseDown, MouseUp und MouseMove verwenden, wenn Ihre Anwendung sowohl für Tastatur- als auch für Mausbenutzer einfach zu handhaben sein soll.

Das Ereignis KeyPress kann nicht in einer Ereignisprozedur, jedoch in einem Makro unterbunden werden.


KeyPress (Taste)-Ereignisprozedur - Ereignisprozeduren-Beispiel

Das nachstehende Beispiel konvertiert Text, der in ein Textfeld eingegeben wird, während der Eingabe zeichenweise in Großbuchstaben.

Zum Testen dieses Beispiels fügen Sie die nachstehende Ereignisprozedur zu einem Formular hinzu, das ein Textfeld namens Region enthält.

Private Sub Region_KeyPress(KeyAscii As Integer)

Dim strZeichen As String

' Umwandeln des ANSI-Wertes in eine Zeichenfolge.

strZeichen = Chr(KeyAscii)

' Umwandeln des Zeichens in einen Großbuchstaben und dann in

' einen ANSI-Wert.

KeyAscii = Asc(UCase(strZeichen))

End Sub


Load-, Unload-Ereignisse (Laden, Entladen)

•	Das Ereignis Load tritt ein, wenn ein Formular geöffnet und dessen Datensätze angezeigt werden.

•	Das Ereignis Unload tritt ein, nachdem ein Formular geschlossen wurde, aber bevor es vom Bildschirm gelöscht wird. Beim erneuten Laden des Formulars zeigt Microsoft Access das Formular wieder an und initialisiert den Inhalt aller darin enthaltenen Steuerelemente.

Hinweis

Wenn beim Eintreten dieser Ereignisse ein Makro oder eine Ereignisprozedur ausgeführt werden soll, stellen Sie die Eigenschaft OnLoad bzw. OnUnload auf den Namen des Makros oder auf [Ereignisprozedur] ein.

Das Ereignis Load wird durch die folgenden Benutzeraktionen ausgelöst:

•	Starten einer Anwendung.

•	Öffnen eines Formulars durch Klicken auf Öffnen im Datenbankfenster.

•	Ausführen der Aktion ÖffnenFormular in einem Makro.

Das Ereignis Unload wird durch die folgenden Benutzeraktionen ausgelöst:

•	Klicken auf die Schaltfläche Schließen in einem Formularfenster oder Klicken auf Schließen im Menü Datei oder im Systemmenü eines Formulars.

•	Ausführen der Aktion Close in einem Makro.

•	Beenden einer Anwendung durch Klicken mit der rechten Maustaste auf die Schaltfläche der Anwendung in der Task-Leiste und anschließendem Klicken auf Schließen.

•	Beenden von Windows während der Ausführung einer Anwendung.

Durch Ausführen eines Makros oder einer Ereignisprozedur beim Eintreten des Ereignisses Load für ein Formular können Sie Voreinstellungen für Steuerelemente festlegen oder berechnete Daten anzeigen, die auf Daten in den Datensätzen des Formular basieren.

Sie können mit einem Makro oder einer Ereignisprozedur, das/die während des Eintretens des Ereignisses Unload ausgeführt wird, bestätigen, daß das Formular entladen werden soll, oder Aktionen festlegen, die beim Entladen des Formulars ausgeführt werden sollen. Sie können darüber hinaus ein weiteres Formular öffnen oder ein Dialogfeld anzeigen, das nach dem Benutzernamen fragt, um einen Protokolleintrag zu erstellen, der angibt, wer das Formular verwendet hat.

Wenn Sie ein Formular zum ersten Mal öffnen, treten die folgenden Ereignisse in der nachstehend gezeigten Reihenfolge ein:

Open ⇒ Load ⇒ Resize ⇒ Activate ⇒ Current

Wenn Sie herausfinden möchten, ob sich für Ihr Makro oder Ihre Ereignisprozedur eher das Ereignis Open oder das Ereignis Load eignet, berücksichtigen Sie bei Ihrer Entscheidung, daß das Ereignis Open im Gegensatz zum Ereignis Load unterbunden werden kann. Wenn Sie z.B. in einer Ereignisprozedur für das Ereignis Open eine Datenherkunft für ein Formular dynamisch erstellen, können Sie das Öffnen des Formulars unterbinden, wenn es keine Datensätze gibt, die angezeigt werden können.

Beim Schließen eines Formulars treten die folgenden Ereignisse in der nachstehend gezeigten Reihenfolge ein:

Unload ⇒ Deactivate ⇒ Close

Das Ereignis Unload tritt vor dem Ereignis Close ein. Im Gegensatz zum Ereignis Unload kann das Ereignis Close nicht unterbunden werden.

Anmerkung   Wenn Sie Makros oder Ereignisprozeduren für Ereignisse erstellen, die zum Ereignis Load in Beziehung stehen, wie z.B. Activate und GotFocus, müssen Sie sicherstellen, daß diese sich nicht gegenseitig behindern (stellen Sie z.B. sicher, daß Sie in einem Makro oder einer Ereignisprozedur keinen Vorgang auslösen, der in einem anderen Makro oder einer anderen Ereignisprozedur abgebrochen wird) und daß diese keine sich wiederholenden Ereignisse auslösen.


Load-, Unload-Ereignisse (Laden, Entladen) - Makros

Wenn beim Eintreten des Ereignisses Load oder Unload ein Makro ausgeführt werden soll, stellen Sie die Eigenschaft OnLoad bzw. OnUnload auf den Namen des Makros ein.

Hinweis

Sie können ein Makro für das Ereignis Load erstellen, das nach dem Öffnen eines Formulars Aktionen für die Steuerelemente oder Datensätze eines Formulars ausführt. Sie können z.B. Standardeinstellungen für Steuerelemente festlegen.

Die Aktion AbbrechenEreignis kann in einem Makro für das Ereignis Load nicht eingesetzt werden.

Sie können die Aktion AbbrechenEreignis in einem Makro für das Ereignis Unload verwenden, wenn Sie das Entladen von Datensätzen unterbinden möchten. Damit wird auch das Schließen des Formulars unterbunden.

Wenn ein Makro für das Ereignis Unload die Aktion AbbrechenEreignis ausführt, können Sie das Formular nicht mehr schließen. Sie müssen entweder den Zustand korrigieren, der zum Ausführen der Aktion AbbrechenEreignis führte, oder Sie müssen das Makro öffnen und die Aktion AbbrechenEreignis löschen. Wenn es sich um ein gebundenes Formular handelt, können Sie weder das Makro öffnen noch in anderen Fenstern der Anwendung arbeiten.


Load-, Unload-Ereignisse (Laden, Entladen) - Ereignisprozeduren

Zum Erstellen einer Ereignisprozedur, die ausgeführt wird, wenn das Ereignis Load oder Unload eintritt, stellen Sie die Eigenschaft OnLoad bzw. OnUnload auf [Ereignisprozedur] ein und klicken auf die Editor-Schaltfläche  [image].

Syntax

Private Sub Form_Load( )

Private Sub Form_Unload(Cancel As Integer)

Das Ereignis Unload hat das folgende Argument.

Argument	Beschreibung
Cancel	Einstellung, die angibt, ob das Formular entladen werden soll. Wenn Sie das Argument Cancel auf True (-1) einstellen, wird das Entladen des Formulars verhindert.
Hinweis

Sie können in der Ereignisprozedur für das Ereignis Load eines Formulars einen Initialisierungscode verwenden. Sie können z.B. Standardeinstellungen für Steuerelemente festlegen und die auf Formularebene definierten Variablen initialisieren.

Das Ereignis Load kann nicht unterbunden werden.

Sie können in der Ereignisprozedur für das Ereignis Unload einen Code zur Plausibilitätsprüfung auf Formularebene verwenden, den Sie möglicherweise zum Schließen des Formulars oder Speichern der enthaltenen Daten in einer Datei benötigen.

Wenn das Argument Cancel für ein gebundenes Formular auf den Wert True eingestellt ist, kann es sein, daß Sie die Steuereung nicht wieder an die restliche Anwendung zurückgeben können.


Load-, Unload- Ereignis (Laden, Entladen) - Ereignisprozeduren-Beispiel

Das nachstehende Beispiel zeigt das aktuelle Datum beim Laden des Formulars in der Beschriftung des Formulars an.

Zum Testen dieses Beispiels fügen Sie die folgende Ereignisprozedur zu einem Formular hinzu:

Private Sub Form_Load()

Me.Caption = Date

End Sub

Das nächste Beispiel fordert den Benutzer auf, zu bestätigen, daß das Formular geschlossen werden soll.

Zum Testen dieses Beispiels fügen Sie die nachstehende Ereignisprozedur zu einem Formular hinzu. Schließen Sie das Formular in der Formularansicht, um das Dialogfeld anzuzeigen, und klicken Sie dann auf Ja oder Nein.

Private Sub Form_Unload(Cancel As Integer)

If MsgBox("Formular schließen?", vbYesNo) = vbYes Then

Exit Sub

Else

Cancel = True

End If

End Sub


MouseDown-, MouseUp-Ereignisse (MaustasteAb, MaustasteAuf)

•	Das Ereignis MouseDown tritt ein, wenn der Benutzer eine Maustaste drückt.

•	Das Ereignis MouseUp tritt ein, wenn der Benutzer eine Maustaste losläßt.

Anmerkungen

•	Die Ereignisse MouseDown und MouseUp haben nur für Formulare, Formularbereiche und Steuerelemente eines Formulars Gültigkeit, nicht jedoch für Steuerelemente eines Berichts.

•	Diese Ereignisse haben keine Gültigkeit für ein einem anderen Steuerelement zugeordnetes Bezeichnungsfeld, wie z.B. ein Bezeichnungsfeld für ein Textfeld. Sie gelten lediglich für "freistehende" Bezeichnungsfelder. Das Drücken und Loslassen einer Maustaste in einem zugeordneten Bezeichnungsfeld hat dieselbe Wirkung wie das Drücken und Loslassen der Taste im zugeordneten Steuerelement. Es treten nur die für das Steuerelement üblichen Ereignisse, keine zusätzlichen Ereignisse für das zugeordnete Steuerelement ein.

Hinweis

Wenn beim Eintreten dieser Ereignisse ein Makro oder eine Ereignisprozedur ausgeführt werden soll, stellen Sie die Eigenschaft OnMouseDown bzw. OnMouseUp auf den Namen des Makros oder auf [Ereignisprozedur] ein.

Mit dem Ereignis MouseDown oder MouseUp können Sie festlegen, was passiert, wenn eine bestimmte Maustaste gedrückt oder losgelassen wird. Die Ereignisse MouseDown und MouseUp erlauben im Gegensatz zu den Ereignissen Click und DblClick das Unterscheiden zwischen der linken, der rechten und der mittleren Maustaste. Außerdem können Sie Code für Maus-Tastatur-Kombinationen schreiben, in denen die Tasten UMSCHALT, STRG und ALT verwendet werden.

Zum Auslösen des Ereignisses MouseDown oder MouseUp für ein Formular drücken Sie die Maustaste auf einer leeren Stelle oder auf dem Datensatzmarkierer des Formulars. Zum Auslösen des Ereignisses MouseDown oder MouseUp für einen Formularbereich markieren Sie den Bereich und drücken dann die Maustaste auf einer leeren Stelle des Formularbereichs.

Die folgenden Aussagen gelten sowohl für das Ereignis MouseDown als auch für das Ereignis MouseUp:

•	Wird eine Maustaste gedrückt, während sich der Mauszeiger auf einem Formular oder Steuerelement befindet, empfängt dieses Objekt alle Mausereignisse bis einschließlich des letzten MouseUp-Ereignisses.

•	Wenn nacheinander mehrere Maustasten gedrückt werden, empfängt das Objekt, an das das Mausereignis gesendet wird, das nach dem ersten Drücken eintritt, so lange alle Mausereignisse, bis alle Tasten losgelassen wurden.

Wenn Sie auf ein Ereignis reagieren möchten, das durch Bewegen der Maus ausgelöst wird, müssen Sie das Ereignis MouseMove verwenden.


MouseDown-, MouseUp-Ereignisse (MaustasteAb, MaustasteAuf) - Makros

Wenn beim Eintreten des Ereignisses MouseDown oder MouseUp ein Makro ausgeführt werden soll, stellen Sie die Eigenschaft OnMouseDown bzw. OnMouseUp auf den Namen des Makros ein.

Hinweis

Sie können ein Makro für das Ereignis MouseDown oder MouseUp verwenden, um immer dann zu reagieren, wenn der Benutzer auf einem Formular oder Steuerelement eine Maustaste drückt bzw. losläßt. Da Makros jedoch weder Maustastencodes zurückgeben noch feststellen können, welche Maustaste gedrückt wurde, werden für dieses Ereignis in der Regel eher Ereignisprozeduren verwendet.

Die Aktion AbbrechenEreignis kann in einem Makro für das Ereignis MouseDown bzw. MouseUp nicht eingesetzt werden, mit einer Ausnahme: Sie können die Aktion AbbrechenEreignis in einem Makro für das Ereignis MouseDown  verwenden, wenn Sie das Ereignis unterbinden möchten, das beim Drücken der rechten Maustaste eintritt. Sie können z.B. die Anzeige eines Kontextmenüs unterbinden und statt dessen ein benutzerdefiniertes Kontextmenü anzeigen.


MouseDown-, MouseUp-Ereignisse (MaustasteAb, MaustasteAuf) - Ereignisprozeduren

Zum Erstellen einer Ereignisprozedur, die ausgeführt wird, wenn das Ereignis MouseDown oder MouseUp eintritt, stellen Sie die Eigenschaft OnMouseDown bzw. OnMouseUp auf [Ereignisprozedur] ein und klicken auf die Editor-Schaltfläche  [image].

Syntax

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

Private Sub Steuerelementname_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 Steuerelementname_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)

Die Ereignisse MouseDown oder MouseUp haben die folgenden Argumente.

Argument	Beschreibung
Steuerelementname	Der Name des Steuerelements, dessen MouseDown- oder MouseUp-Ereignisprozedur ausgeführt werden soll.
Button	Die Taste, die gedrückt (MouseDown) oder losgelassen (MouseUp) wurde und das Ereignis ausgelöst hat. Wenn Sie das Argument Button auswerten müssen, können Sie eine der folgenden eingebauten Konstanten als Bit-Maske verwenden:
	Konstante	Beschreibung
	acLeftButton	Bit-Maske für die linke Maustaste.
	AcRightButton	Bit-Maske für die rechte Maustaste.
	AcMiddleButton	Bit-Maske für die mittlere Maustaste.
Shift	Der Status der Taste UMSCHALT, STRG und ALT, den diese hatten, als die durch das Argument Button angegebene Taste gedrückt oder losgelassen wurde. Wenn Sie das Argument Shift auswerten müssen, können Sie eine der folgenden eingebauten Konstanten als Bit-Maske verwenden:
	Konstante	Beschreibung
	acShiftMask	Bit-Maske für UMSCHALT.
	acCtrlMask	Bit-Maske für STRG.
	acAltMask	Bit-Maske für ALT.
X, Y	Die x- und y-Koordinaten für die aktuelle Position des Mauszeigers. X und Y werden immer in Twips angegeben.
Anmerkung   Wird eine Maustaste gedrückt, während sich der Mauszeiger auf einem Formular oder Steuerelement befindet, empfängt dieses Objekt alle Mausereignisse bis einschließlich des letzten der Ereignisse MouseUp. Dies bedeutet, daß sich die Argumente X und Y nicht immer auf das Objekt beziehen, an das sie gesendet werden.

Hinweis

Zum Prüfen, ob eine Bedingung erfüllt ist, weisen Sie jedes Ergebnis zuerst einer temporären Variablen des Datentyps Integer zu und gleichen dann das Argument Shift oder Button gegen eine eingebaute Konstante ab. Verwenden Sie zum Testen, ob das Ergebnis der Bedingung größer 0 ist und damit angibt, daß die linke, die rechte oder die mittlere Taste gedrückt wurde, das Argument Button zusammen mit dem Operator And. Beispiel:

LinksUnten = (Button And acLeftButton) > 0

In einer Ereignisprozedur können Sie beliebige kombinierte Bedingungen prüfen. Beispiel:

If UmschaltGedrückt And StrgGedrückt Then

' Diese Schritte ausführen, wenn UMSCHALT und STRG

' gedrückt sind.

.

.

EndIf

Anmerkung   Das für die Ereignisse MouseDown und MouseUp verwendete Argument Button unterscheidet sich von dem für das Ereignis MouseMove verwendeten Argument Button. Für die Ereignisse MouseDown und MouseUp gibt das Argument Button je Ereignis genau eine Taste an. Das heißt, wenn Sie zwei Maustasten drücken, treten zwei Ereignisse MouseDown (und MouseUp) mit jeweils unterschiedlichem Wert für das Argument Button ein. Für das Ereignis MouseMove gibt das Argument Button den aktuellen Status aller Maustasten an.

Sie können die Argumente für die Ereignisse KeyDown, KeyPress und KeyUp zusammen mit den Argumenten für die Ereignisse MouseDown, MouseUp und MouseMove verwenden, wenn Ihre Anwendung sowohl für Tastatur- als auch für Mausbenutzer einfach zu handhaben sein soll.

Die Ereignisse MouseDown und MouseUp können nicht unterbunden werden.


Verwenden eingebauter Konstanten als Bit-Masken

Zum Auswerten des Arguments Shift oder Button verwenden Sie eine Bit-Maske.

Das Argument Button ist ein Bit-Feld, dessen niederwertige Bits der linken Maustaste (Bit 0), der rechten Maustaste (Bit 1) und der mittleren Maustaste (Bit 2) entsprechen. Diese Bits entsprechen den Werten 1, 2 bzw. 4. Nur eines dieser Bits ist gesetzt und gibt damit an, welche Taste das Ereignis ausgelöst hat.

Die eingebauten Konstanten, die Microsoft Access für das Argument Button bereitstellt, haben die folgenden Werte.

Konstante	Wert
acLeftButton	1
acRightButton	2
acMiddleButton	4
Das Argument Shift ist ein Bit-Feld, dessen niederwertige Bits den Tasten UMSCHALT (Bit 0), STRG (Bit 1) und ALT (Bit 2 ) entsprechen. Diese Bits entsprechen den Werten 1, 2 bzw. 4. Das Argument Shift zeigt den Status dieser Tasten an. Es können einige, alle oder keine dieser Bits gesetzt sein, womit angegeben wird, daß einige, alle oder keine der entsprechenden Tasten gedrückt sind. Ist z.B. sowohl STRG als auch ALT gedrückt, hat das Argument Shift den Wert 6.

Die eingebauten Konstanten, die Microsoft Access für das Argument Shift bereitstellt, haben die nachstehend aufgeführten Werte.

Konstante	Wert
acShiftMask	1
acCtrlMask	2
acAltMask	4
Diese Konstanten erlauben es, auf beliebige Tastenkombinationen zu prüfen, ohne für jede Kombination den zugehörigen Wert des Bit-Felds ermitteln zu müssen. Ein Bit wird gesetzt, wenn die entsprechende Maustaste oder Taste gedrückt wird.


MouseDown-, MouseUp-Ereignis (MaustasteAb, MaustasteAuf) - Ereignisprozeduren-Beispiel

Das nachstehende Beispiel zeigt, wie Sie feststellen können, welche Maustaste das Ereignis MouseDown ausgelöst hat.

Zum Testen dieses Beispiels fügen Sie die nachstehende Ereignisprozedur zu einem Formular hinzu.

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, _

X As Single, Y As Single)

If Button = acLeftButton Then _

MsgBox "Sie haben die linke Maustaste gedrückt."

If Button = acRightButton Then _

MsgBox "Sie haben die rechte Maustaste gedrückt."

If Button = acMiddleButton Then _

MsgBox "Sie haben die mittlere Maustaste gedrückt."

End Sub


MouseMove-Ereignis (Mausbewegung)

Das Ereignis MouseMove tritt ein, wenn der Benutzer die Maus bewegt.

Anmerkungen

•	Das Ereignis MouseMove hat nur für Formulare, Formularbereiche und Steuerelemente eines Formulars Gültigkeit, nicht aber für Steuerelemente eines Berichts.

•	Dieses Ereignis gilt nicht für ein einem anderen Steuerelement zugeordnetes Bezeichnungsfeld, wie z.B. ein Bezeichnungsfeld für ein Textfeld. Es hat nur für "freistehende" Bezeichnungsfelder Gültigkeit. Das Bewegen des Mauszeigers über ein zugeordnetes Bezeichnungsfeld hat dieselbe Wirkung wie das Bewegen des Zeigers über das zugeordnete Steuerelement. Es treten nur die für das Steuerelement üblichen, keine zusätzlichen Ereignisse für das Bezeichnungsfeld ein.

Hinweis

Wenn beim Eintreten dieses Ereignisses ein Makro oder eine Ereignisprozedur ausgeführt werden soll, stellen Sie die Eigenschaft OnMouseMove auf den Namen des Makros oder auf [Ereignisprozedur] ein.

Das Ereignis MouseMove wird ständig wiederholt ausgelöst, während sich der Mauszeiger über einem Objekt bewegt. Solange kein anderes Objekt ein Mausereignis auslöst, erkennt ein Objekt immer dann das Ereignis MouseMove, wenn der Mauszeiger innerhalb der Berandung des Objekts positioniert wird.

Zum Auslösen des Ereignisses MouseMove für ein Formular bewegen Sie den Mauszeiger über eine freie Stelle, auf den Datensatzmarkierer oder auf die Bildlaufleiste des Formulars. Zum Auslösen des Ereignisses MouseMove für einen Formularbereich markieren Sie den Formularbereich und bewegen dann den Mauszeiger über eine freie Stelle in diesem Bereich.

Anmerkungen

•	Das Verschieben eines Formulars kann das Ereignis MouseMove auch dann auslösen, wenn die Maus nicht bewegt wird, da dieses Ereignis durch das Bewegen eines Formulars unter dem Zeiger ausgelöst wird. Wenn ein Makro oder eine Ereignisprozedur ein Formular als Reaktion auf das Ereignis MouseMove verschiebt, kann sich das Ereignis wiederholen (d.h., es wird ständig das Ereignis MouseMove erzeugt).

•	Wenn zwei Steuerelemente sehr eng nebeneinander angeordnet sind und Sie den Mauszeiger schnell über den Zwischenraum zwischen diesen bewegen, wird das Ereignis MouseMove möglicherweise nicht für den Zwischenraum erzeugt (dies kann z.B. für das Ereignis MouseMove für den Formularbereich der Fall sein). In einem solchen Fall müssen Sie möglicherweise sowohl auf das Ereignis MouseMove für das angrenzende Steuerelement als auch für das Ereignis für den Formularbereich reagieren.

Zum Ausführen eines Makros oder einer Ereignisprozedur als Reaktion auf das Drücken und Loslassen der Maustasten verwenden Sie die Ereignisse MouseDown und MouseUp.


MouseMove-Ereignis (Mausbewegung) - Makros

Wenn beim Eintreten des Ereignisses MouseMove ein Makro ausgeführt werden soll, stellen Sie die Eigenschaft OnMouseMove auf den Namen des Makros ein.

Hinweis

Sie können ein Makro für das Ereignis MouseMove einsetzen, um immer dann zu reagieren, wenn der Benutzer die Maus auf einem Formular oder Steuerelement bewegt. Da Makros aber weder den Maustastencode zurückgeben noch die Koordinaten des Mauszeigers während einer Bewegung ermitteln können, verwenden Sie in der Regel für dieses Ereignis eher Ereignisprozeduren.

Die Aktion AbbrechenEreignis kann in einem Makro für das Ereignis MouseMove nicht eingesetzt werden.


MouseMove-Ereignis (Mausbewegung) - Ereignisprozeduren

Zum Erstellen einer Ereignisprozedur, die ausgeführt wird, wenn das Ereignis MouseMove eintritt, stellen Sie die Eigenschaft OnMouseMove auf [Ereignisprozedur] ein und klicken auf die Editor-Schaltfläche  [image].

Syntax

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

Private Sub Steuerelementname_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

Das Ereignis MouseMove hat die folgenden Argumente.

Argument	Beschreibung
Steuerelementname	Der Name des Steuerelements, dessen MouseMove-Ereignisprozedur ausgeführt werden soll.
Button	Der Status der Maustaste beim Eintreten des Ereignisses. Wenn Sie das Argument Button auswerten müssen, können Sie eine der folgenden eingebauten Konstanten als Bit-Maske verwenden:
	Konstante	Beschreibung
	acLeftButton	Bit-Maske für die linke Maustaste.
	acRightButton	Bit-Maske für die rechte Maustaste.
	acMiddleButton	Bit-Maske für die mittlere Maustaste.
Shift	Der Status der Tasten UMSCHALT, STRG und ALT, den diese hatten, als die durch das Argument Button angegebene Taste gedrückt oder losgelassen wurde. Wenn Sie das Argument Shift auswerten müssen, können Sie eine der folgenden eingebauten Konstanten als Bit-Maske verwenden:
	Konstante	Beschreibung
	acShiftMask	Bitmaske für UMSCHALT.
	acCtrlMask	Bitmaske für STRG.
	acAltMask	Bitmaske für ALT.
X, Y	Die x- und y-Koordinaten für die aktuelle Position des Mauszeigers. X und Y werden immer in Twips angegeben.
Hinweis

Zum Prüfen, ob eine Bedingung erfüllt ist, weisen Sie jedes Ergebnis zuerst einer temporären Variablen des Datentyps Integer zu und gleichen dann das Argument Shift oder Button gegen eine eingebaute Konstante ab. Verwenden Sie zum Testen, ob das Ergebnis der Bedingung größer 0 ist und damit angibt, daß die linke, die rechte oder die mittlere Taste gedrückt wurde, das Argument Button zusammen mit dem Operator And. Beispiel:

LinksUnten = (Button And acLeftButton) > 0

In einer Ereignisprozedur können Sie beliebig kombinierte Bedingungen prüfen. Beispiel:

If UmschaltGedrückt And StrgGedrückt Then

.' Diese Schritte ausführen, wenn UMSCHALT und STRG

.' gedrückt sind.

.

EndIf

Anmerkung    Das für die Ereignisse MouseDown und MouseUp verwendete Argument Button unterscheidet sich von dem für das Ereignis MouseMove verwendeten Argument Button. Für das Ereignis MouseMove gibt das Argument Button den aktuellen Status aller Maustasten an. Ein einzelnes Ereignis MouseMove kann eine beliebige Kombination der Maustasten angeben (einige, alle oder keine Maustaste gedrückt). Wenn Sie z.B. beim Bewegen der Maus sowohl die linke als auch die rechte Maustaste drücken, hat das Argument Button den Wert 3 (1 + 2). Für die Ereignisse MouseDown und MouseUp gibt das Argument Button je Ereignis genau eine Taste an.

Sie können die Argumente für die Ereignisse KeyDown, KeyPress und KeyUp zusammen mit den Argumenten für die Ereignisse MouseDown, MouseUp und MouseMove verwenden, wenn Ihre Anwendung sowohl für Tastatur- als auch für Mausbenutzer einfach zu handhaben sein soll. Angenommen, Sie möchten den Fokus der Tastatur mit dem Mausfokus abstimmen. Diese sind in der Regel identisch. Wenn Sie den Mauszeiger z.B. zuerst auf ein Textfeld setzen und dann mit der Maustaste klicken, werden sowohl der Tastaturfokus als auch der Mausfokus an das Textfeld vergeben. Das Bewegen des Mauszeigers über ein Steuerelement bewirkt jedoch nicht, daß dieses Steuerelement den Tastaturfokus erhält. Sie müssen mit einer Maustaste klicken, eine der Navigationstasten auf der Tastatur verwenden oder den Fokus in einer Ereignisprozedur für MouseMove auf das Steuerelement setzen.

Da das Ereignis MouseMove für jeden Bereich des Formulars, über den der Mauszeiger bewegt wird, eintritt, kann es bei unkontrollierten Bewegungen zu einer Unzahl von MouseMove-Ereignissen kommen. Sie können sicherstellen, daß ein Steuerelement oder ein Bereich, für den das Ereignis MouseMove einmal eingetreten ist, keine weiteren Ereignisse erhält, so lange der Mauszeiger sich noch auf diesem Bereich des Formulars befindet. Dazu deklarieren und prüfen Sie eine Modulvariable, die angibt, ob das Ereignis MouseMove für dieses Steuerelement oder diesen Formularbereich bereits eingetreten ist oder nicht.

Sie können das Ereignis MouseMove nicht unterbinden.


MouseMove-Ereignis (Mausbewegung) - Ereignisprozeduren-Beispiel

Im nachstehenden Beispiel wird ermittelt, wo sich der Mauszeiger befindet und ob die linke Maustaste und/oder die Taste UMSCHALT gedrückt sind. Während Sie die Maus bewegen, werden in einem Bezeichnungsfeld die x- und die y-Koordinate der Mauszeigerposition angezeigt.

Zum Testen dieses Beispiels fügen Sie die nachstehende Ereignisprozedur zu einem Formular hinzu, das ein Bezeichnungsfeld namens Koordinaten enthält.

Private Sub Detailbereich_MouseMove(Button As Integer, Shift As _

Integer, X As Single, Y As Single)

Dim intUmschaltUnten As Integer, intLinkeMaustaste As Integer

Me!Koordinaten.Caption = X & ", " & Y

' Bit-Masken einsetzen, um die Status der Umschalttaste und der

' linken Maustaste zu ermitteln.

intUmschaltUnten = Shift And acShiftMask

intLinkeMaustaste = Button And acLeftButton

' Prüfen, ob sowohl die Umschalttaste als auch die linke Maustaste

' gedrückt sind.

If intUmschaltUnten And intLinkeMaustaste > 0 Then

MsgBox "Umschalttaste und linke Maustaste wurden gedrückt."

End If

End Sub


Resize-Ereignis (Größenänderung)

Das Ereignis Resize tritt ein, wenn ein Formular geöffnet wird und wenn sich die Größe eines Formulars ändert.

Hinweis

Wenn beim Eintreten dieser Ereignisse ein Makro oder eine Ereignisprozedur ausgeführt werden soll, stellen Sie die Eigenschaft OnResize auf den Namen des Makros oder auf [Ereignisprozedur] ein.

Dieses Ereignis tritt ein, wenn Sie die Größe des Formulars in einem Makro oder in einer Ereignisprozedur ändern, z.B. unter Verwendung der Aktion Positionieren in einem Makro.

Durch das Ausführen eines Makros oder einer Ereignisprozedur bei Eintreten des Ereignisses Resize können Sie ein Steuerelement verschieben oder dessen Größe ändern, wenn die Größe des Formulars sich ändert, auf dem sich dieses Steuerelement befindet. Sie können das Ereignis Resize auch zur Neuberechnung von Variablen oder zum Zurücksetzen von Eigenschafteneinstellungen verwenden, die von der Größe des Formulars abhängen.

Wenn Sie ein Formular zum ersten Mal öffnen, treten die folgenden Ereignisse in der aufgeführten Reihenfolge ein:

Open ⇒ Load ⇒ Resize ⇒ Activate ⇒ Current

Anmerkung   Seien Sie vorsichtig, wenn Sie in einem Makro bzw. einer Ereignisprozedur für das Ereignis Resize eine der Aktionen Positionieren, Maximieren, Minimieren oder Wiederherstellen bzw. die entsprechenden Methoden für das Objekt DoCmd verwenden (MoveSize, Maximize, Minimize, Restore). Diese Aktionen können ein Ereignis Resize für das Formular auslösen und somit zu einem wiederholenden Ereignis führen.


Resize-Ereignis (Größenänderung) - Makros

Wenn beim Eintreten des Ereignisses Resize ein Makro ausgeführt werden soll, stellen Sie die Eigenschaft OnResize auf den Namen des Makros ein.

Hinweis

Wenn Sie den Bildschirm bei jedem Ändern der Größe eines Formulars aktualisieren möchten, verwenden Sie die Aktion AktualisierenObjekt in dem Makro für das Ereignis Resize.

Die Aktion AbbrechenEreignis kann in einem Makro für das Ereignis Resize nicht eingesetzt werden.


Resize-Ereignis (Größenänderung) - Ereignisprozeduren

Zum Erstellen einer Ereignisprozedur, die ausgeführt wird, wenn das Ereignis Resize eintritt, stellen Sie die Eigenschaft OnResize auf [Ereignisprozedur] ein und klicken auf die Editor-Schaltfläche  [image].

Syntax

Private Sub Form_Resize( )

Hinweis

Wenn Sie den Bildschirm bei jedem Ändern der Größe eines Formulars aktualisieren möchten, verwenden Sie die Methode Repaint in einer Ereignisprozedur für das Ereignis Resize.

Das Ereignis Resize kann nicht unterbunden werden.


Resize-Ereignis (Größenänderung) - Ereignisprozeduren-Beispiel

Das nachstehende Beispiel zeigt, wie mit einer Ereignisprozedur für das Ereignis Resize ein Formular nach dem Vergrößern auf Vollbildgröße aktualisiert wird. Wenn der Benutzer auf eine Befehlsschaltfläche mit der Bezeichnung Maximieren klickt, wird das Formular in Vollbildgröße angezeigt und das Ereignis Resize ausgelöst.

Zum Testen dieses Beispiels fügen Sie die nachstehenden Ereignisprozeduren zu einem Formular namens Kontakte hinzu, das eine Befehlsschaltfläche namens Maximieren enthält.

Private Sub Maximieren_Click()

DoCmd.Maximize

End Sub

Private Sub Form_Resize()

Forms!Kontakte.Repaint

End Sub


Retreat-Ereignis (Rücknahme)

Das Ereignis Retreat tritt ein, wenn Microsoft Access während der Formatierung eines Berichts zu einem vorherigen Berichtsbereich zurückkehrt.

Anmerkung   Das Ereignis Retreat betrifft alle Berichtsbereiche außer Seitenköpfen und -Seitenfüßen.

Hinweis

Wenn beim Eintreten dieses Ereignisses ein Makro oder eine Ereignisprozedur ausgeführt werden soll, stellen Sie die Eigenschaft OnRetreat auf den Namen des Makros oder auf [Ereignisprozedur] ein.

Unter bestimmten Umständen muß Microsoft Access zu einem vorherigen Berichtsbereich zurückkehren, um ermitteln zu können, wo sich bestimmte Steuerelemente und Bereiche eines Berichts befinden und ob diese in den jeweils verfügbaren Platz hineinpassen. Beispiele:

•	Gruppen (ausgenommen solche für Seitenköpfe und -füße), deren Eigenschaft KeepTogether auf Ganze Gruppe oder Mit 1. Detaildatensatz eingestellt ist.

•	Unterberichte oder Unterformulare, deren Eigenschaften CanGrow und/oder CanShrink auf Ja eingestellt sind.

•	Bereiche auf der letzten Seite eines Berichts.

In diesen Situationen tritt das Ereignis Format ein, während Microsoft Access ermittelt, wie die Bereiche auf die gedruckte Seite passen (das Ereignis Print tritt jedoch nicht ein, da die Bereiche zu diesem Zeitpunkt noch nicht gedruckt werden). Wenn die Bereiche nicht gedruckt werden können, kehrt Microsoft Access zu der geforderten Position zurück, so daß die Bereiche auf der nächsten Seite gedruckt werden können. Das Ereignis Retreat tritt für jeden Bereich ein, hinter dem Microsoft Access eine Rücknahme vornimmt. Das Ereignis Format tritt dann erneut für jeden Bereich ein, wenn Microsoft Access das Neudrucken der Bereiche vorbereitet.

Wenn Microsoft Access z.B. beim Formatieren eines Berichts das Ende der letzten Seite erreicht, tritt das Ereignis Retreat solange für jeden vorhergehenden Bereich ein, bis Microsoft Access den obersten Bereich auf der letzten Seite erreicht hat. Anschließend tritt erneut für jeden Bereich der Seite das Ereignis Format gefolgt vom Ereignis Print ein.

Sie können bei Eintreten des Ereignisses Retreat eine Ereignisprozedur oder ein Makro zum Rückgängigmachen von Änderungen ausführen, die Sie beim Eintreten des Ereignisses Format für diesen Bereich vorgenommen hatten. Dies ist dann hilfreich, wenn Ihre Ereignisprozedur bzw. Ihr Makro für das Ereignis Format Aktionen ausführt (wie z.B. das Berechnen von Seitensummen oder Prüfen der Größe eines Bereichs), die Sie für jeden Bereich nur einmal ausführen möchten.

Das Ereignis Retreat erlaubt auch das Beibehalten der Position von Berichtselementen. Der Bericht Umsätze nach Jahr aus der Nordwind-Beispieldatenbank verwendet dieses Ereignis zum Bestimmen, ob ein Seitenkopf gedruckt werden soll oder nicht. (Der Seitenkopf wird auf Seiten gedruckt, die auf eine Seite folgen, auf der der Gruppenkopf gedruckt wurde. Der Seitenkopf wird nicht auf Seiten gedruckt, die auf eine Seite folgen, auf der der Gruppenfuß gedruckt wurde.)


Retreat-Ereignis (Rücknahme) - Makros

Wenn beim Eintreten des Ereignisses Retreat ein Makro ausgeführt werden soll, stellen Sie die Eigenschaft OnRetreat auf den Namen des Makros ein.

Hinweis

Die Aktion AbbrechenEreignis kann in einem Makro für das Ereignis Retreat nicht eingesetzt werden.


Retreat-Ereignis (Rücknahme) - Ereignisprozeduren

Zum Erstellen einer Ereignisprozedur, die ausgeführt wird, wenn das Ereignis Retreat eintritt, stellen Sie die Eigenschaft OnRetreat auf [Ereignisprozedur] ein und klicken auf die Editor-Schaltfläche  [image].

Syntax

Private Sub Bereichsname_Retreat( )

Das Ereignis Retreat hat das folgende Argument.

Argument	Beschreibung
Bereichsname	Der Name des Bereichs des Berichts, dessen Retreat-Ereignisprozedur ausgeführt werden soll.
Hinweis

Das Ereignis Retreat kann nicht unterbunden werden.


Timer-Ereignis (Zeitgeber)

Das Ereignis Timer tritt in gleichbleibenden Intervallen ein, die in der Einstellung der Eigenschaft TimerInterval eines Formulars festgelegt sind.

Hinweis

Wenn beim Eintreten dieses Ereignisses ein Makro oder eine Ereignisprozedur ausgeführt werden soll, stellen Sie die Eigenschaft OnTimer auf den Namen des Makros oder auf [Ereignisprozedur] ein.

Durch Ausführen eines Makros oder einer Ereignisprozedur bei Eintreten des Ereignisses Timer können Sie steuern, welche Schritte Microsoft Access nach jedem Intervall des Zeitgebers ausführen soll. Sie können z.B. festlegen, daß zugrundeliegende Datensätze erneut abgefragt werden sollen oder die Anzeige in bestimmten Intervallen aktualisiert werden soll.

Die Einstellung der Formulareigenschaft TimerInterval gibt die Länge des Intervalls in Millisekunden an, das zwischen zwei Ereignissen Timer liegt. Das Intervall kann von 0 bis 65.535 Millisekunden lang sein. Wenn für die Eigenschaft TimerInterval die Einstellung 0 festgelegt wird, tritt das Ereignis Timer nicht ein.


Timer-Ereignis (Zeitgeber) - Ereignisprozeduren

Zum Erstellen einer Ereignisprozedur, die ausgeführt wird, wenn das Ereignis Timer eintritt, stellen Sie die Eigenschaft OnTimer auf [Ereignisprozedur] ein und klicken auf die Editor-Schaltfläche  [image].

Syntax

Private Sub Form_Timer( )

Hinweis

Das Ereignis Timer kann nicht unterbunden werden.


Timer-Ereignis (Zeitgeber-) Ereignisprozeduren-Beispiel

Das nachstehende Beispiel zeigt eine Digitaluhr, die Sie auf einem Formular anzeigen können. Die aktuelle Uhrzeit auf der Basis der Systemuhr Ihres Computers wird in einem Bezeichnungsfeld-Steuerelement angezeigt.

Zum Testen dieses Beispiels fügen Sie die nachstehende Ereignisprozedur zu einem Formular hinzu, das ein Bezeichnungsfeld namens Uhr enthält. Stellen Sie die Eigenschaft TimerInterval des Formulars auf 1000 Millisekunden ein, um die Uhr jede Sekunde zu aktualisieren.

Private Sub Form_Timer()

Uhr.Caption = Time	' Aktualisieren der Zeitanzeige.

End Sub


Timer-Ereignis (Zeitgeber) - Makros

Wenn beim Eintreten des Ereignisses Timer ein Makro ausgeführt werden soll, stellen Sie die Eigenschaft OnTimer auf den Namen des Makros ein.

Hinweis

Die Aktion AbbrechenEreignis kann in einem Makro für das Ereignis Timer nicht eingesetzt werden. Wenn Sie jedoch für die Eigenschaft TimerInterval des Formulars die Einstellung 0 festlegen, tritt das Ereignis Timer nicht ein.


Delete-, BeforeDelConfirm-, AfterDelConfirm-Ereignisse (Löschen, VorLöschBestätigung, NachLöschBestätigung)

•	Das Ereignis Delete tritt ein, nachdem der Benutzer, z.B. durch Drücken der ENTF-Taste, einen Vorgang ausgelöst hat, der einen Datensatz löscht, jedoch vor dem tatsächlichen Löschen des Datensatzes.

•	Das Ereignis BeforeDelConfirm tritt ein, nachdem der Benutzer einen oder mehrere Datensätze gelöscht hat, jedoch bevor Microsoft Access ein Dialogfeld anzeigt, in dem der Benutzer zur Bestätigung des Löschvorgangs aufgefordert wird.

•	Das Ereignis AfterDelConfirm tritt ein, nachdem der Benutzer den Löschvorgang bestätigt hat und die Datensätze tatsächlich gelöscht sind, oder wenn der Löschvorgang abgebrochen wurde.

Hinweis

Wenn beim Eintreten dieser Ereignisse ein Makro oder eine Ereignisprozedur ausgeführt werden soll, stellen Sie die Eigenschaft OnDelete, BeforeDelConfirm bzw. AfterDelConfirm auf den Namen des Makros oder auf [Ereignisprozedur] ein.

Wenn ein Datensatz gelöscht ist, wird er in einem temporären Puffer gespeichert. Das Ereignis BeforeDelConfirm tritt nach dem Ereignis Delete auf (oder, wenn Sie mehr als einen Datensatz gelöscht haben, nachdem alle Datensätze gelöscht sind, wobei das Ereignis Delete für jeden Datensatz eintritt), jedoch vor dem Anzeigen des Dialogfelds zur Bestätigung des Löschvorgangs. Wird das Ereignis BeforeDelConfirm unterbunden, werden die entsprechenden Datensätze aus dem Puffer wiederhergestellt, und das Dialogfeld zum Bestätigen des Löschvorgangs wird nicht angezeigt.

Das Ereignis AfterDelConfirm tritt nach dem tatsächlichen Löschen eines oder mehrerer Datensätze oder nach dem Unterbinden eines oder mehrere Löschvorgänge ein. Wird das Ereignis BeforeDelConfirm nicht unterbunden, tritt das Ereignis AfterDelConfirm nach der Anzeige des Dialogfelds zum Bestätigen des Löschvorgangs ein. Das Ereignis AfterDelConfirm tritt auch dann ein, wenn das Ereignis BeforeDelConfirm unterbunden wird. Die Ereignisprozedur für das Ereignis AfterDelConfirm gibt Statusinformationen zum jeweiligen Löschvorgang zurück. Sie können z.B. ein Makro oder eine Ereignisprozedur für das Ereignis AfterDelConfirm verwenden, wenn Sie Summen neu berechnen möchten, die sich durch das Löschen von Datensätzen ändern.

Wenn Sie das Ereignis Delete unterbinden, treten die Ereignisse BeforeDelConfirm und AfterDelConfirm nicht ein, und das Dialogfeld zum Bestätigen des Löschvorgangs wird nicht angezeigt.

Anmerkung   Die Ereignisse BeforeDelConfirm und AfterDelConfirm treten nicht ein und das Dialogfeld zum Bestätigen des Löschvorgangs wird nicht angezeigt, wenn Sie das Kontrollkästchen Datensatzänderungen unter Bestätigen auf der Registerkarte Bearbeiten/Suchen des Dialogfelds Optionen deaktivieren. (Sie können dieses Dialogfeld durch Klicken auf den Befehl Optionen im Menü Extras anzeigen.)

Durch Ausführen eines Makros oder einer Ereignisprozedur bei Eintreten des Ereignisses Delete können Sie verhindern, daß ein Datensatz tatsächlich gelöscht wird, oder festlegen, daß er nur unter bestimmten Bedingungen gelöscht wird. Das Ereignis Delete kann auch zur Anzeige eines Dialogfelds verwendet werden, das den Benutzer zur Bestätigung des Löschvorgangs auffordert.

Zum Löschen eines Datensatzes klicken Sie im Menü Bearbeiten auf den Befehl Datensatz löschen. Damit löschen Sie den aktuellen Datensatz (der Datensatz, der durch den Datensatzmarkierer gekennzeichnet ist). Sie können statt dessen auch auf den Datensatzmarkierer oder auf Datensatz markieren im Menü Bearbeiten klicken, um einen Datensatz zu markieren, und ihn anschließend durch Drücken der Taste ENTF löschen. Wenn Sie auf Datensatz löschen, den Datensatzmarkierer des aktuellen Datensatzes oder Datensatz markieren klicken, treten für das Steuerelement, das den Fokus hat, die Ereignisse Exit und LostFocus ein. Wurden in dem Datensatz Daten geändert, treten vor den Ereignissen Exit und LostFocus die Ereignisse BeforeUpdate und AfterUpdate für den Datensatz ein. Wenn Sie auf den Datensatzmarkierer eines anderen Datensatzes klicken, tritt außerdem das Ereignis Current für diesen Datensatz ein.

Nach dem Löschen des Datensatzes erhält der auf den gelöschten Datensatz folgende Datensatz den Fokus, und es tritt für diesen Datensatz zunächst das Ereignis Current ein. Anschließend treten für das erste Steuerelement dieses Datensatzes die Ereignisse Enter und GotFocus ein.

Das Ereignis BeforeDelConfirm tritt direkt ein, bevor Microsoft Access das Dialogfeld zur Bestätigung des Löschvorgangs anzeigt. Sobald die Frage im Dialogfeld beantwortet wurde (d.h. nach dem Bestätigen oder Abbrechen des Löschvorgangs) tritt das Ereignis AfterDelConfirm ein.

Es können ein oder mehrere Datensätze gleichzeitig gelöscht werden. Das Ereignis Delete tritt nach dem Löschen jedes einzelnen Datensatzes ein. Dies erlaubt Ihnen, vor dem eigentlichen Löschen auf die Daten des Datensatzes zuzugreifen und den Löschvorgang für jeden einzelnen Datensatz in einem Makro oder einer Ereignisprozedur für das Ereignis Delete zu bestätigen oder abzubrechen. Wenn Sie mehrere Datensätze löschen, treten das Ereignis Current für den Datensatz, der auf den zuletzt gelöschten folgt, und die Ereignisse Enter und GotFocus für das erste Steuerelement dieses Datensatzes erst dann ein, wenn alle Datensätze gelöscht sind. D.h., es tritt für jeden markierten Datensatz das Ereignis Delete ein, jedoch keine weiteren Ereignisse, bis alle markierten Datensätze gelöscht sind. Ebenso treten die Ereignisse BeforeDelConfirm und AfterDelConfirm erst ein, wenn alle markierten Datensätze gelöscht sind.


Delete-, BeforeDelConfirm-, AfterDelConfirm-Ereignisse (Löschen, VorLöschBestätigung, NachLöschBestätigung) - Makros
Delete-, BeforeDelConfirm-, AfterDelConfirm-Ereignisse (Löschen, VorLöschBestätigung, NachLöschBestätigung) − Makros

Wenn beim Eintreten des Ereignisses Delete, BeforeDelConfirm oder AfterDelConfirm ein Makro ausgeführt werden soll, stellen Sie die Eigenschaft OnDelete, BeforeDelConfirm bzw. AfterDelConfirm auf den Namen des Makros ein.

Hinweis

Mit einem Makro für das Ereignis Delete können Sie ein Dialogfeld anzeigen, das den Benutzer vor dem Löschen eines Datensatzes zur Bestätigung des Löschvorgangs auffordert.

Mit einem Makro für das Ereignis BeforeDelConfirm oder AfterDelConfirm können Sie immer dann reagieren, wenn der Benutzer einen Datensatz löscht. Makros für die Ereignisse BeforeDelConfirm und AfterDelConfirm können jedoch nicht das Argument einstellen, das festlegt, ob das Dialogfeld zum Bestätigen des Löschvorgangs angezeigt werden soll, noch kann ein solches Makro den Status eines Löschvorgangs zurückgeben. Daher werden für diese Ereignisse in der Regel eher Ereignisprozeduren eingesetzt.

Sie können in einem Makro für das Ereignis Delete die Aktion AbbrechenEreignis verwenden, um den Löschvorgang abzubrechen.

Die Aktion AbbrechenEreignis kann auch in einem Makro für das Ereignis BeforeDelConfirm eingesetzt werden, um den Löschvorgang für alle gelöschten Datensätze abzubrechen. In diesem Fall wird das Dialogfeld zum Bestätigen des Löschvorgangs nicht eingeblendet. Das Ereignis AfterDelConfirm tritt jedoch auch dann ein, wenn Sie das Ereignis BeforeDelConfirm unterbinden.

Die Aktion AbbrechenEreignis kann nicht in einem Makro für das Ereignis AfterDelConfirm eingesetzt werden.


Delete-, BeforeDelConfirm-, AfterDelConfirm-Ereignisse (Löschen, VorLöschBestätigung, NachLöschBestätigung) -
Delete-, BeforeDelConfirm-, AfterDelConfirm-Ereignisse (Löschen, VorLöschBestätigung, NachLöschBestätigung) - Ereignisprozeduren

Zum Erstellen einer Ereignisprozedur, die ausgeführt wird, wenn das Ereignis Delete, BeforeDelConfirm oder AfterDelConfirm eintritt, stellen Sie die Eigenschaft OnDelete, BeforeDelConfirm bzw. AfterDelConfirm auf [Ereignisprozedur] ein und klicken dann auf die Editor-Schaltfläche  [image].

Syntax

Private Sub Form_Delete(Cancel As Integer)

Private Sub Form_BeforeDelConfirm(Cancel As Integer, Response As Integer)

Private Sub Form_AfterDelConfirm(Status As Integer)

Die Ereignisprozedur für das Ereignis Delete hat das folgende Argument.

Argument	Beschreibung
Cancel	Diese Einstellung legt fest, ob das Ereignis Delete eintritt. Wenn Sie das Argument Cancel auf True (-1) einstellen, wird das Ereignis Delete unterbunden.
Die Ereignisprozedur für das Ereignis BeforeDelConfirm hat die folgenden Argumente.

Argument	Beschreibung
Cancel	Diese Einstellung legt fest, ob das Ereignis BeforeDelConfirm eintritt. Wenn Sie das Argument Cancel auf True einstellen, wird das Ereignis BeforeDelConfirm unterbunden und das Dialogfeld zum Bestätigen des Löschvorgangs nicht angezeigt. Wenn das Ereignis unterbunden wird, werden die ursprünglichen Datensätze wiederhergestellt, das Ereignis AfterDelConfirm tritt aber trotzdem ein. Wenn Cancel auf True eingestellt wird, wird das Argument Response ignoriert.
	Wenn Sie Cancel auf False (0) einstellen (dies ist die Voreinstellung), verwendet Microsoft Access den Wert des Arguments Response, um den Typ der Antwort auf das Ereignis Delete zu ermitteln.
Response	Diese Einstellung legt fest, ob Microsoft Access das Dialogfeld zum Bestätigen des Löschvorgangs für einen Datensatz anzeigt. Das Argument Response kann die folgenden eingebauten Konstanten annehmen:
	Konstante	Beschreibung
	acDataErrContinue	Die Verarbeitung wird ohne Anzeige des Dialogfelds zum Bestätigen des Löschvorgangs fortgesetzt. Wenn Sie das Argument Cancel auf False und das Argument Response auf acDataErrContinue einstellen, löscht Microsoft Access die Datensätze, ohne den Benutzer zur Bestätigung aufzufordern.
	AcDataErrDisplay	(Voreinstellung) Zeigt das Dialogfeld zum Bestätigen des Löschvorgangs an.
Die Ereignisprozedur für das Ereignis AfterDelConfirm hat das folgende Argument:

Argument	Beschreibung
Status	Diese Einstellung gibt an, ob ein Datensatz gelöscht wurde oder nicht. Das Argument Status kann eine der folgenden eingebauten Konstanten annehmen:
	Konstante	Beschreibung
	acDeleteOK	Gibt an, daß der Löschvorgang erfolgreich ausgeführt wurde.
	AcDeleteCancel	Gibt an, daß der Löschvorgang in Visual Basic abgebrochen wurde.
	AcDeleteUserCancel	Gibt an, daß der Löschvorgang vom Benutzer abgebrochen wurde.
Hinweis

Das Ereignis AfterDelConfirm kann nicht unterbunden werden.

Mit diesen Ereignissen können Sie festlegen, wie Datensätze gelöscht werden. Wenn ein Benutzer beispielsweise einen Datensatz (z.B. einen Personalstammdatensatz) löscht, tritt das Ereignis Delete ein. Sie können in die Ereignisprozedur für das Ereignis Delete Code einfügen, der die Daten aus den Feldern Personal-Nr und Name in temporären Variablen speichert. Bei Eintreten des Ereignisses BeforeDelConfirm können Sie die Anzeige des Dialogfelds zum Bestätigen des Löschvorgangs verhindern, indem Sie das Argument Response auf acDataErrContinue einstellen. Dies erlaubt das Anzeigen eines benutzerdefinierten Dialogfelds. Wenn das Ereignis AfterDelConfirm eintritt und das Argument Status auf acDeleteOK eingestellt ist, können Sie die temporären Variablen löschen oder die Personaldaten in einer anderen Tabelle speichern.


Delete-, BeforeDelConfirm-, AfterDelConfirm-Ereignisprozeduren (Löschen, VorLöschBestätigung, NachLöschBestätigung) - Beispiele

Das nachstehende Beispiel zeigt, wie Sie verhindern können, daß ein Benutzer Datensätze aus einer Tabelle löscht.

Zum Testen dieses Beispiels fügen Sie die nachstehende Ereignisprozedur zu einem Formular hinzu, das auf einer Tabelle basiert. Wechseln Sie zur Datenblattansicht des Formulars, und versuchen Sie, einen Datensatz zu löschen.

Private Sub Form_Delete(Cancel As Integer)

Cancel = True

MsgBox "Dieser Datensatz kann nicht gelöscht werden."

End Sub

Das folgende Beispiel zeigt, wie Sie unter Verwendung der Ereignisprozedur für das Ereignis BeforeDelConfirm die Anzeige des Dialogfelds zum Bestätigen des Löschvorgangs unterdrücken und beim Löschen des Datensatzes statt dessen ein benutzerdefiniertes Dialogfeld anzeigen. Es zeigt außerdem, wie Sie mit einer AfterDelConfirm-Ereignisprozedur eine Meldung anzeigen, die angibt, ob der Löschvorgang auf übliche Weise ausgeführt oder in Visual Basic bzw. durch den Benutzer abgebrochen wurde.

Zum Testen dieses Beispiels fügen Sie die folgende Ereignisprozedur zu einem Formular hinzu, das auf einer Tabelle oder Abfrage basiert:

Private Sub Form_BeforeDelConfirm(Cancel As Integer, _

Response As Integer)

' Verhindert, daß das Standarddialogfeld zum

' Bestätigen von Löschvorgängen angezeigt wird.

Response = acDataErrContinue

' Anzeigen eines benutzerdefinierten Dialogfelds.

If MsgBox("Diesen Datensatz löschen?", vbOKCancel) = vbCancel Then

Cancel = True

End If

End Sub

Private Sub Form_AfterDelConfirm(Status As Integer)

Select Case Status

Case acDeleteOK

MsgBox "Der Löschvorgang wurde normal ausgeführt."

Case acDeleteCancel

MsgBox "Der Löschvorgang wurde vom Programm abgebrochen."

Case acDeleteUserCancel

MsgBox "Der Löschvorgang wurde vom Benutzer abgebrochen."

End Select

End Sub


BeforeInsert-, AfterInsert-Ereignisse (VorEingabe, NachEingabe)

•	Das Ereignis BeforeInsert tritt ein, wenn der Benutzer das erste Zeichen in einen neuen Datensatz eingibt, jedoch bevor der entsprechende Datensatz tatsächlich erstellt wird.

•	Das Ereignis AfterInsert tritt nach dem Hinfzufügen eines neuen Datensatzes ein.

Anmerkung   Diese Ereignisse werden nicht ausgelöst, wenn der Wert eines Steuerelements unter Verwendung eines Makros oder von Visual Basic eingestellt wird.

Hinweis

Wenn beim Eintreten dieser Ereignisse ein Makro oder eine Ereignisprozedur ausgeführt werden soll, stellen Sie die Eigenschaft BeforeInsert bzw. AfterInsert auf den Namen des Makros oder auf [Ereignisprozedur] ein.

Sie können eine Ereignisprozedur oder ein Makro für das Ereignis AfterInsert verwenden, um für eine Datensatzgruppe eine Abfrage erneut durchzuführen, sobald ein neuer Datensatz hinzugefügt wird.

Die Ereignisse BeforeInsert und AfterInsert ähneln den Ereignissen BeforeUpdate und AfterUpdate. Diese Ereignisse treten in der folgenden Reihenfolge ein:

BeforeInsert ⇒ BeforeUpdate ⇒ AfterUpdate ⇒ AfterInsert.

Die nachstehenden Tabelle zeigt die Interaktion zwischen diesen Ereignissen.

Ereignis	Tritt ein
BeforeInsert	Wenn der Benutzer das erste Zeichen in einen neuen Datensatz eingibt.
BeforeInsert	Wenn der Benutzer den Datensatz aktualisiert.
AfterUpdate	Wenn der Datensatz aktualisiert ist.
AfterInsert	Wenn der aktualisierte Datensatz ein neuer Datensatz ist.
Wenn das erste Zeichen eines neuen Datensatzes in ein Textfeld oder ein Kombinationsfeld eingegeben wird, tritt das Ereignis BeforeInsert vor dem Ereignis Change ein.


BeforeInsert-, AfterInsert-Ereignisse (VorEingabe, NachEingabe) - Makros

Wenn beim Eintreten des Ereignisses BeforeInsert oder AfterInsert ein Makro ausgeführt werden soll, stellen Sie die Eigenschaft BeforeInsert bzw. AfterInsert auf den Namen des Makros ein.

Hinweis

Mit diesen Makros können Sie Meldungen oder nützliche Informationen anzeigen. Mit einem Makro für das Ereignis BeforeInsert können Sie z.B. Daten anzeigen, die der Benutzer beim Eingeben eines neuen Datensatzes benötigt.

In einem Makro für das Ereignis BeforeInsert kann die Aktion AbbrechenEreignis verwendet werden, um das Erstellen eines neuen Datensatzes zu unterbinden. Wenn Sie die Aktion AbbrechenEreignis in einem Makro für BeforeInsert verwenden, kehrt der Fokus zum neuen, leeren Datensatz zurück (das Zeichen, das der Benutzer eingegeben hat, ist gelöscht).

Die Aktion AbbrechenEreignis kann in einem Makro für das Ereignis AfterInsert nicht eingesetzt werden.


BeforeInsert-, AfterInsert-Ereignisse (VorEingabe, NachEingabe) - Ereignisprozeduren

Zum Erstellen einer Ereignisprozedur, die ausgeführt wird, wenn das Ereignis BeforeInsert oder AfterInsert eintritt, stellen Sie die Eigenschaft BeforeInsert bzw. AfterInsert auf [Ereignisprozedur] ein und klicken dann auf die Editor-Schaltfläche  [image].

Syntax

Private Sub Form_BeforeInsert(Cancel As Integer)

Private Sub Form_AfterInsert( )

Die Ereignisprozedur für das Ereignis BeforeInsert hat das folgende Argument.

Argument	Beschreibung
Cancel	Diese Einstellung legt fest, ob das Ereignis BeforeInsert eintritt. Wenn Sie das Argument Cancel auf True (-1) einstellen, wird das Ereignis BeforeInsert unterbunden.
Hinweis

Das Ereignis AfterInsert kann nicht unterbunden werden.


BeforeInsert-, AfterInsert-Ereignisprozeduren (VorEingabe, NachEingabe) - Beispiel

Das nachstehende Beispiel zeigt, wie Sie mit einer Ereignisprozedur für das Ereignis BeforeInsert überprüfen können, ob ein Benutzer einen neuen Datensatz erstellen möchte, und wie Sie mit einer Ereignisprozedur für AfterInsert die Datenherkunft für das Formular Personal erneut abfragen, sobald ein neuer Datensatz hinzugefügt wurde.

Zum Testen dieses Beispiels fügen Sie die nachstehende Ereignisprozedur zu einem Formular mit dem Namen Personal hinzu, das auf einer Tabelle oder Abfrage basiert. Wechseln Sie zur Datenblattansicht des Formulars, und versuchen Sie, einen Datensatz einzufügen.

Private Sub Form_BeforeInsert(Cancel As Integer)

If MsgBox("Datensatz hier einfügen?", vbOKCancel) = vbCancel Then

Cancel = True

End If

End Sub

Private Sub Form_AfterInsert()

Forms!Personal.Requery

End Sub


Updated-Ereignis (OLEAktualisierung)

Das Ereignis Updated tritt ein, wenn die Daten in einem OLE-Objekt geändert wurden.

Anmerkung   Das Ereignis Updated hat nur für Steuerelemente eines Formulars, nicht für Steuerelemente eines Berichts Gültigkeit.

Hinweis

Wenn beim Eintreten dieses Ereignisses ein Makro oder eine Ereignisprozedur ausgeführt werden soll, stellen Sie die Eigenschaft OnUpdated auf den Namen des Makros oder auf [Ereignisprozedur] ein.

Mit diesem Ereignis können Sie feststellen, ob sich die Daten eines Objekts seit dessen letzter Speicherung geändert haben.

Das Ereignis Updated tritt ein, wenn die Daten in einem OLE-Objekt geändert wurden. Diese Aktualisierung kann sowohl aus der Anwendung stammen, mit der das Objekt erstellt wurde, als auch aus einer der verknüpften Kopien des Objekts. Aus diesem Grund ist dieses Ereignis nicht synchron mit anderen Microsoft Access-Ereignissen für Steuerelemente.

Anmerkungen

•	Das Ereignis Updated und die Ereignisse BeforeUpdate und AfterUpdate für gebundene und ungebundene Objektfelder stehen nicht in Beziehung zueinander. Das Ereignis Updated tritt ein, wenn sich die Daten in einem OLE-Objekt geändert haben, während die Ereignisse BeforeUpdate und AfterUpdate eintreten, wenn Daten aktualisiert werden. Obwohl diese Ereignisse nicht direkt in Beziehung zueinander stehen, treten sie doch in der Regel zusammen ein, wenn die Daten in einem OLE-Objekt geändert werden. Das Ereignis Updated tritt normalerweise vor den Ereignissen BeforeUpdate und AfterUpdate ein; dies ist jedoch nicht immer der Fall.

•	Das mit Microsoft Access 97 gelieferte Kalender-Steuerelement unterstützt das Ereignis Updated nicht mehr. Wenn Sie eine Datenbank konvertieren, die das Kalender-Steuerelement aus einer früheren Version von Microsoft Access enthält, verschieben Sie den Code des Updated-Ereignisses für das Kalender-Steuerelement in das Ereignis AfterUpdate.


Updated-Ereignis (OLEAktualisierung) - Makros

Zum Ausführen eines Makros bei Eintreten des Ereignisses Updated stellen Sie die Eigenschaft OnUpdated auf den Namen des Makros ein.

Hinweis

In einem Makro für das Ereignis Updated können Sie eine Meldung erstellen, die immer dann angezeigt wird, wenn die Daten in einem OLE-Objekt aktualisiert wurden. Da Makros jedoch nicht den Code zurückgeben, anhand dessen ermittelt werden kann, wie das OLE-Objekt aktualisiert wurde, werden für dieses Ereignis in der Regel eher Ereignisprozeduren verwendet.

Die Aktion AbbrechenEreignis kann in einem Makro für das Ereignis Updated nicht eingesetzt werden.


Updated-Ereignis (OLEAktualisierung) - Ereignisprozeduren

Zum Erstellen einer Ereignisprozedur, die ausgeführt wird, wenn das Ereignis Updated eintritt, stellen Sie die Eigenschaft OnUpdated auf [Ereignisprozedur] ein und klicken dann auf die Editor-Schaltfläche  [image].

Syntax

Private Sub Steuerelementname_Updated(Code As Integer)

Ereignisprozeduren für das Ereignis Updated haben die folgenden Argumente.

Argument	Beschreibung
Steuerelementname	Der Name des Steuerelements, dessen Updated-Ereignisprozedur ausgeführt werden soll.
Code	Diese Einstellung gibt an, wie das OLE-Objekt aktualisiert wurde. Das Argument Code kann die folgenden eingebauten Konstanten annehmen:
	Konstante	Beschreibung
	acOLEChanged	Gibt an, daß sich die Daten des Objekts geändert haben.
	AcOLESaved	Gibt an, daß die Daten des Objekts von der Anwendung gespeichert wurden, mit der das Objekt erstellt wurde. Dies ist in der Regel dann der Fall, wenn der Benutzer auf den Befehl Aktualisieren der Anwendung oder einen anderen in dieser Anwendung zum Aktualisieren verfügbaren Befehl geklickt hat.
	AcOLEClosed	Gibt an, daß die Datei, die die Daten des Objekts enthält, in der Anwendung, von der das Objekt  erstellt wurde, geschlossen wurde.
	AcOLERenamed	Gibt an, daß die Datei, die die Daten des Objekts enthält, von der die Anwendung, von der das Objekt  erstellt wurde, umbenannt wurde.
Hinweis

Um zu überprüfen, ob die Daten des Objekts seit dessen letzter Speicherung geändert wurden, stellen Sie in der Ereignisprozedur für das Ereignis Updated eine öffentliche Variable ein, die angibt, ob das Objekt gespeichert werden muß. Wenn Sie das  OLE-Objekt speichern, setzen Sie die Variable zurück.

Das Ereignis Updated kann nicht unterbunden werden


NotInList-Ereignis (NichtInListe)

Das Ereignis NotInList tritt ein, wenn der Benutzer in das Textfeld eines Kombinationsfelds einen Wert eingibt, der nicht in der Liste des Kombinationsfelds enthalten ist.

Anmerkung   Das Ereignis NotInList hat nur für Steuerelemente eines Formulars, nicht für Steuerelemente eines Berichts Gültigkeit.

Hinweis

Wenn beim Eintreten dieses Ereignisses ein Makro oder eine Ereignisprozedur ausgeführt werden soll, stellen Sie die Eigenschaft OnNotInList auf den Namen des Makros oder auf [Ereignisprozedur] ein.

Dieses Ereignis erlaubt dem Benutzer, einen neuen Wert zum Listenfeld eines Kombinationsfelds hinzuzufügen.

Das Ereignis NotInList kann nur eintreten, wenn die Eigenschaft LimitToList auf Ja eingestellt ist.

Das Ereignis NotInList löst nicht das Ereignis Error aus.

Das Ereignis NotInList tritt für Kombinationsfelder ein, deren Eigenschaft LimitToList auf Ja eingestellt ist, und zwar wenn Sie einen Wert eingeben, der nicht in der Liste enthalten ist, und versuchen, zu einem anderen Steuerelement zu wechseln oder den Datensatz zu speichern. Es tritt nach allen Ereignissen Change für das Kombinationsfeld ein.

Wenn die Eigenschaft AutoExpand auf Ja eingestellt ist, wählt Microsoft Access in der Liste die Einträge aus, die mit der fortlaufenden Eingabe des Benutzers im Textfeldteil des Kombinationsfelds übereinstimmen. Entspricht die Eingabe dem Anfang eines Listeneintrags (Beispiel: der Benutzer gibt "Schm" ein, und "Schmittchen" kommt in der Liste vor), so tritt das Ereignis NotInList nicht auf, wenn der Benutzer zu einem anderen Steuerelement übergeht oder den Datensatz speichert. Die Zeichen, die Microsoft Access zur Eingabe des Benutzer hinzufügt (im obigen Beispiel "ittchen"), werden jedoch im Textfeldteil des Kombinationsfelds markiert. Wenn der Benutzer in solchen Fällen das Ereignis NotInList anwenden möchte (um beispielsweise den Namen "Schmitt" zur Kombinationsfeldliste hinzuzufügen), muß er hinter dem letzten Zeichen des neuen Wertes ein LEERZEICHEN eingeben oder die RÜCKTASTE oder ENTF-TASTE drücken.

Wenn die Eigenschaft LimitToList auf Ja eingestellt ist, und die Dropdown-Kombinationsfeldliste geöffnet wird, wählt Microsoft Access in der Liste genau die Zeichenfolgen aus, die mit der fortlaufenden Eingabe des Benutzers im Textfeldteil des Kombinationsfelds übereinstimmen, selbst wenn die Eigenschaft AutoExpand auf Nein eingestellt ist. Drückt der Benutzer die EINGABETASTE, oder wechselt er zu einem anderen Steuerelement oder Datensatz, so wird der ausgewählte Wert im Kombinationsfeld angezeigt. In diesem Fall wird das Ereignis NotInList nicht angewendet. Wenn das Ereignis NotInList trotzdem eintreten soll, darf der Benutzer die Kombinationsfeldliste nicht öffnen.


NotInList-Ereignis (NichtInListe) - Makros

Zum Ausführen eines Makros bei Eintreten des Ereignisses NotInList stellen Sie die Eigenschaft OnNotInList auf den Namen des Makros ein.

Hinweis

In einem Makro für das Ereignis NotInList können Sie zum Listenfeld des Kombinationsfelds einen neuen Wert hinzufügen. Dazu öffnen Sie bei Eintreten des Ereignisses NotInList ein benutzerdefiniertes Dialogfeld und stellen ein Steuerelement des Dialogfelds auf den neuen Wert ein. Dieses Steuerelement sollte an das Feld der Tabelle oder Abfrage gebunden sein, auf der das Kombinationsfeld basiert. Speichern Sie den Datensatz im benutzerdefinierten Kombinationsfeld, und führen Sie dann für das Kombinationsfeld erneut eine Abfrage aus.

Die Aktion AbbrechenEreignis kann in einem Makro für das Ereignis NotInList nicht eingesetzt werden.


NotInList-Ereignis (NichtInListe) - Ereignisprozeduren

Zum Erstellen einer Ereignisprozedur, die ausgeführt wird, wenn das Ereignis NotInList auftritt, stellen Sie die Eigenschaft OnNotInList auf [Ereignisprozedur] ein und klicken dann auf die Editor-Schaltfläche  [image].

Syntax

Private Sub Steuerelementname_NotInList(NewData As String, Response As Integer)

Ereignisprozeduren für das Ereignis NotInList haben folgende Argumente.

Argument	Beschreibung
Steuerelementname	Der Name des Steuerelements, dessen NotInList-Ereignisprozedur ausgeführt werden soll.
NewData	Eine Zeichenfolge, die Microsoft Access zum Übergeben des vom Benutzer in das Textfeld des Kombinationsfelds eingegebenen Textes an die Ereignisprozedur verwendet.
Response	Diese Einstellung gibt an, wie auf das Ereignis NotInList reagiert wurde. Das Argument Response kann die folgenden eingebauten Konstanten annehmen:
	Konstante	Beschreibung
	acDataErrDisplay	(Voreinstellung) Zeigt dem Benutzer die Standardmeldung an. Vewenden Sie diese Konstante, wenn Sie verhindern möchten, daß der Benutzer zum Listenfeld des Kombinationsfelds einen neuen Wert hinzufügen kann.
	AcDataErrContinue	Zeigt dem Benutzer nicht die Standardmeldung an. Verwenden Sie diese Konstante, wenn Sie eine benutzerdefinierte Meldung anzeigen möchten. Sie können in der Ereignisprozedur z.B. ein benutzerdefiniertes Dialogfeld anzeigen, in dem der Benutzer gefragt wird, ob der neue Eintrag gespeichert werden soll. Wenn die Antwort Ja lautet, kann die Ereignisprozedur den neuen Eintrag zum Listenfeld hinzufügen und das Argument Response auf acDataErrAdded einstellen. Lautet die Antwort Nein, kann die Ereignisprozedur das Argument Response auf acDataErrContinue einstellen.
	AcDataErrAdded	Zeigt dem Benutzer keine Meldung an, erlaubt jedoch in der Ereignisprozedur für das Ereignis NotInList das Hinzufügen des Eintrags zum Listenfeld des Kombinationsfelds. Nach dem Hinzufügen des Eintrags aktualisiert Microsoft Access die Liste durch erneutes Abfragen des Kombinationsfelds. Microsoft Access vergleicht dann erneut die Zeichenfolge mit dem Listenfeld des Kombinationsfelds und speichert den Wert des Arguments NewData in dem Feld, an das das Kombinationsfeld gebunden ist. Befindet sich die Zeichenfolge nicht im Listenfeld, zeigt Microsoft Access eine Fehlermeldung an.
Hinweis

Sie können für das Ereignis NotInList eine Ereignisprozedur erstellen, die dem Benutzer erlaubt, einen neuen Eintrag zum Listenfeld eines Kombinationsfelds hinzuzufügen. Beispielsweise können Sie einen Datensatz zu der Tabelle hinzufügen, die die Werte der Liste zur Verfügung stellt, oder einen Wert zu der Wertliste hinzufügen, auf der das Kombinationsfeld basiert.

Wenn Sie einen neuen Eintrag zu dem Listenfeld eines Kombinationsfelds hinzufügen möchten, muß Ihre Ereignisprozedur den Wert des Arguments NewData zu der Datenquelle des Kombinationsfelds hinzufügen. Wie Sie dies tun, ist abhängig vom Typ der Datenquelle des Kombinationsfelds. Diese wird in den Eigenschaften RowSourceType und RowSource für das Kombinationsfeld festgelegt. Im Beispiel zu diesem Thema fügt die Ereignisprozedur den neuen Wert zu der Wertliste eines Kombinationsfelds hinzu.

Wenn Sie zulassen möchten, daß der Benutzer den zu Beginn in das Kombinationsfeld eingegebenen Wert ändert (z.B. in einem benutzerdefinierten Dialogfeld), stellen Sie den Wert des Kombinationsfelds auf den neuen, in das benutzerdefinierte Dialogfeld eingegebenen Eintrag ein. Damit wird der neue Wert in dem Feld gespeichert, an das das Kombinationsfeld gebunden ist. Wenn Sie das Argument Response auf acDataErrContinue einstellen, fügt Microsoft Access den neuen Wert zu der Liste des Kombinationsfelds hinzu.


NotInList-Ereignisprozedur (NichtInListe) - Beispiel

Das nachstehende Beispiel verwendet das Ereignis NotInList, um einen Eintrag zu einem Kombinationsfeld hinzuzufügen.

Zum Testen dieses Beispiels erstellen Sie auf einem Formular ein Kombinationsfeld namens Farben. Stellen Sie die Eigenschaft LimitToList des Kombinationsfelds auf Ja ein. Zum Füllen des Kombinationsfelds stellen Sie die Eigenschaft RowSourceType auf Wertliste ein und geben als Einstellung für die Eigenschaft RowSource eine Liste aus Werten an, die jeweils durch ein Semikolon voneinander getrennt sind. Sie können z.B. folgende Werte für diese Eigenschaft bereitstellen: Rot; Grün; Blau.

Anschließend fügen Sie die nachstehende Ereignisprozedur zum Formular hinzu. Wechseln Sie zur Formularansicht, und geben Sie in das Textfeld des Kombinationsfelds einen neuen Wert ein.

Private Sub Farben_NotInList(NewData As String, _

Response As Integer)

Dim ctl As Control

' Zurückgeben des Control-Objekts, das auf das Kombinationsfeld zeigt.

Set ctl = Me!Farben

' Den Benutzer fragen, ob ein neuer Wert hinzugefügt werden soll.

If MsgBox("Wert fehlt. Hinzufügen?", vbOKCancel) = vbOK Then

' Einstellen des Arguments Response, um anzugeben,

' daß die Daten hinzugefügt werden.

Response = acDataErrAdded

' Hinzufügen der Zeichenfolge aus dem Argument NewData

' zur Datenquelle (Eigenschaft RowSource/Datensatzherkunft).

ctl.RowSource = ctl.RowSource & ";" & NewData

Else

' Der Benutzer hat "Abbrechen" gewählt,: die Fehlermeldung

' unterdrücken und die Änderungen rückgängig machen.

Response = acDataErrContinue

ctl.Undo

End If

End Sub

Anmerkung   Das hier gezeigte Beispiel fügt einen Eintrag zu einem ungebundenen Kombinationsfeld hinzu. Wenn Sie einen Eintrag zu einem gebundenen Kombinationsfeld hinzufügen, fügen Sie einen Wert zu einem Feld der zugrundeliegenden Datenherkunft hinzu. In den meisten Fällen können Sie nicht einfach ein Feld zu einem neuen Datensatz hinzufügen. Abhängig von der Struktur der Daten in der Tabelle müssen Sie jedoch in bestimmten Fällen ein oder mehrere Felder hinzufügen, um bestimmte Anforderungen an die Daten zu erfüllen. Ein neuer Datensatz muß z.B. immer Werte für alle Felder enthalten, die den Primärschlüssel bilden. Wenn Sie dynamisch Einträge zu einem gebundenen Kombinationsfeld hinzufügen möchten, gehen Sie wie folgt vor: Fordern Sie den Benutzer auf, Daten für alle erforderlichen Felder einzugeben, speichern Sie den neuen Datensatz, und fragen Sie dann das Kombinationsfeld erneut ab, um den neuen Wert anzuzeigen.


Synchronisieren von Formularen unter Verwendung eines Makros - Beispiel

Das folgende Makro öffnet das Formular Artikelliste, das die Artikel des aktuellen Lieferantenin der unteren rechten Ecke des Formulars Lieferanten anzeigt. Das Makro zeigt die Verwendung der Aktionen Echo, Meldung, StopMakro, ÖffnenFormular und Positionieren. Außerdem zeigt es die Verwendung eines bedingten Ausdrucks bei den Aktionen Meldung und StopMakro.

Klicken Sie auf  [image], um die Argumente für jede Aktion anzuzeigen.

	Bedingung	Aktion	Kommentar
			Der Schaltfläche Artikelübersicht im Formular Lieferanten zugeordnet.
		Echo	Bildschirmaktualisierung anhalten, während das Makro ausgeführt wird (Echo ist ausgeschaltet).
	IstNull([Lieferanten-Nr])	Meldung	Wenn es keinen aktuellen Lieferanten im Formular Lieferanten gibt, eine Meldung anzeigen ...
	...	StopMakro	... und das Makro anhalten.
		ÖffnenFormular	Das Formular Artikelliste öffnen und die Artikel des aktuellen Lieferanten anzeigen.
		Positionieren	Das Formular Artikelliste unten rechts im Formular Lieferanten positionieren.


Argumente für die Aktion "Echo"

Argument	Einstellung
Echo	Nein
Statusleistentext


Argumente für die Aktion "Meldung"

Argument	Einstellung
Meldung	Gehen Sie bitte zum Datensatz des Lieferanten, dessen Artikel Sie sehen möchten, und klicken Sie dann erneut auf die Schaltfläche Artikelübersicht.
Signalton	Ja
Typ	Ohne Symbol
Titel


Argumente für die Aktion "StopMakro"

Für diese Aktion gibt es keine Argumente.


Argumente für die Aktion "ÖffnenFormular"

Argument	Einstellung
Formularname	Artikelliste
Ansicht	Formular
Filtername
Bedingung	[Lieferanten-Nr] = Formulare![Lieferanten]![Lieferanten-Nr]
Datenmodus	Nur lesen
Fenstermodus	Normal


Argumente für die Aktion "Positionieren"

Argument	Einstellung
Rechts	6,604 cm
Unten	6,858 cm
Breite	10,414 cm
Höhe	3,175 cm


Zuweisen eines Filters unter Verwendung eines Makros - Beispiel

Das folgende Makro enthält eine Gruppe von Aktionen. Jede Aktion filtert die Datensätze für das Formular Lieferanten. Das Makro zeigt die Verwendung der Aktionen AnwendenFilter und AnzeigenAlleDatensätze. Außerdem zeigt es die Verwendung von Bedingungen, um zu ermitteln, welche Umschaltfläche in einer Optionsgruppe des Formulars gewählt wurde. Jeder Aktionszeile ist eine Umschaltfläche zugeordnet. Diese wählt entweder die Gruppe von Datensätzen, die mit A, B, C usw. anfangen, oder alle Datensätze.

Klicken Sie auf  [image], um die Argumente für jede Aktion anzuzeigen.

	Bedingung	Aktion	Kommentar
			Den Schaltflächen A-Z und Alle im Formular Lieferanten zugeordnet.
	[Filter für Firma] =1	AnwendenFilter	Filter für Firmen, deren Namen mit A, À, Á, Â, Ã oder Ä anfangen.
	[Filter für Firma] =2	AnwendenFilter	Filter für Firmen, deren Namen mit B anfangen.
	[Filter für Firma] =3	AnwendenFilter	Filter für Firmen, deren Namen mit C oder Ç anfangen.

... Die Aktionszeilen für D bis Y haben das gleiche Format wie diejenigen für A bis C ...

	[Filter für Firma] =26	AnwendenFilter	Filter für Firmen, deren Namen mit Z, Æ, Ø oder Å anfangen.
	[Filter für Firma] =27	AnzeigenAlleDatensätze	Alle Datensätze anzeigen.


Argumente für die Aktion "AnwendenFilter" (1)

Argument	Einstellung
Filtername
Bedingung	[Firma] Wie "[AÀÁÂÃÄ]*"


Argumente für die Aktion "AnwendenFilter" (2)

Argument	Einstellung
Filtername
Bedingung	[Firma] Wie"B*"


Argumente für die Aktion "AnwendenFilter" (3)

Argument	Einstellung
Filtername
Bedingung	[Firma] Wie "[CÇ]*"


Argumente für die Aktion "AnwendenFilter" (4)

Argument	Einstellung
Filtername
Bedingung	[Firma] Wie "[ZÆØÅ]*"


Argumente für die Aktion "AnzeigenAlleDatensätze"

Für diese Aktion gibt es keine Argumente.


Überprüfen der Gültigkeit von Daten unter Verwendung eines Makros - Beispiel

Das folgende Gültigkeitsmakro überprüft die in das Formular Lieferanten eingegebenen Postleitzahlen. Es zeigt die Verwendung der Aktionen Meldung, AbbrechenEreignis und GeheZuSteuerelement. Ein bedingter Ausdruck überprüft das in einen Datensatz des Formulars eingegebene Land und die Postleitzahl. Wenn die Postleitzahl nicht im richtigen Format für das betreffende Land eingegeben wird, zeigt das Makro ein Meldungsfeld an und bricht das Speichern des Datensatzes ab. Danach kehrt es zum Steuerelement Postleitzahl zurück, damit Sie den Fehler korrigieren können.

Klicken Sie auf  [image], um die Argumente für jede Aktion anzuzeigen.

	Bedingung	Aktion	Kommentar
			Zugeordnet zur Eigenschaft VorAktualisierung des Formulars Lieferanten.
	[Land] In ("Frankreich","Italien","Spanien") Und Länge([Postleitzahl]) <> 5	Meldung	Wenn die Postleitzahl nicht fünfstellig ist, eine Meldung anzeigen und...
	...	AbbrechenEreignis	... das Ereignis abbrechen.
	[Land] In ("Australien","Singapur") Und Länge([Postleitzahl]) <> 4	Meldung	Wenn die Postleitzahl nicht vierstellig ist, eine Meldung anzeigen und...
	...	AbbrechenEreignis	... das Ereignis abbrechen.
	([Land] = "Kanada") Und ([Postleitzahl] Nicht Wie"[a-z][0-9][a-z] [0-9][a-z][0-9]")	Meldung	Wenn die Postleitzahl nicht korrekt für Kanada ist, eine Meldung anzeigen und...
	...	AbbrechenEreignis	... das Ereignis abbrechen.
		GeheZuSteuerelement	Den Fokus auf das Steuerelement Postleitzahl verschieben.


Argumente für die Aktion "Meldung" (1)

Argument	Einstellung
Meldung	Die Postleitzahl muß fünfstellig sein.
Signalton	Ja
Typ	Information
Titel	Fehler in Postleitzahl


Argumente für die Aktion "AbbrechenEreignis" (1)

Für diese Aktion gibt es keine Argumente.


Argumente für die Aktion "Meldung" (2)

Argument	Einstellung
Meldung	Die Postleitzahl muß vierstellig sein.
Signalton	Ja
Typ	Information
Titel	Fehler in Postleitzahl


Argumente für die Aktion "AbbrechenEreignis" (2)

Für diese Aktion gibt es keine Argumente.


Argumente für die Aktion "Meldung" (3)

Argument	Einstellung
Meldung	Die Postleitzahl ist nicht gültig. Beispiel für eine kanadische Postleitzahl: H1J 1C3
Signalton	Ja
Typ	Information
Titel	Fehler in Postleitzahl


Argumente für die Aktion "AbbrechenEreignis" (3)

Für diese Aktion gibt es keine Argumente.


Argumente für die Aktion "GeheZuSteuerelement"

Argument	Einstellung
Steuerelementname	Postleitzahl


Setzen des Wertes eines Steuerelements unter Verwendung eines Makros - Beispiel

Das folgende Makro öffnet das Formular Artikel hinzufügen über eine Schaltfläche im Formular Lieferanten. Es zeigt die Verwendung der Aktionen Echo, ÖffnenFormular, SetzenWert und GeheZuSteuerelement. Die Aktion SetzenWert setzt das Steuerelement Lieferanten-Nr im Formular Artikel hinzufügen auf den aktuellen Lieferanten im Formular Lieferanten. Danach verschiebt die Aktion GeheZuSteuerelement den Fokus auf das Feld Kategorie-Nr, in dem Sie Daten für den neuen Artikel eingeben können.

Klicken Sie auf  [image], um die Argumente für jede Aktion anzuzeigen.

	Aktion	Kommentar
		Der Schaltfläche Artikel hinzufügen im Formular Lieferanten zugeordnet.
	Echo	Bildschirmaktualisierung anhalten, während das Makro ausgeführt wird (Echo ist ausgeschaltet).
	ÖffnenFormular	Das Formular Artikel hinzufügen öffnen.
	SetzenWert	Das Steuerelement Lieferanten-Nr auf den aktuellen Lieferanten im Formular Lieferanten setzen.
	GeheZuSteuerelement	Zum Steuerelement Kategorie-Nr gehen.


Argumente für die Aktion "Echo"

Argument	Einstellung
Echo	Nein
Statusleistentext


Argumente für die Aktion "ÖffnenFormular"

Argument	Einstellung
Formularname	Artikel
Ansicht	Formular
Filtername
Bedingung
Datenmodus	Hinzufügen
Fenstermodus	Normal


Argumente für die Aktion "SetzenWert"

Argument	Einstellung
Feld	Formulare![Artikel hinzufügen]![Lieferanten-Nr]
Ausdruck	Lieferanten-Nr


Argumente für die Aktion "GeheZuSteuerelement"

Argument	Einstellung
Steuerelementname	Kategorie-Nr


ReplicationConflictFunction-Eigenschaft

Die Eigenschaft ReplicationConflictFunction ermöglicht es Ihnen, mit Hilfe von benutzerdefiniertem Konfliktlösungscode Datenkonflikte zu lösen, die bei der Synchronisierung zwischen Replikaten auftreten. Wenn Sie diese Eigenschaft einstellen und der jeweilige Benutzer eine Konfliktlösung anfordert, ruft Microsoft Access anstelle des eingebauten Konfliktlösers Ihre Konfliktlösungsfunktion auf.

Einstellungen

Stellen Sie die Eigenschaft ReplicationConflictFunction auf eine Textzeichenfolge ein, d.h. auf den Namen der Function-Prozedur, die Sie aufrufen möchten. Beachten Sie, daß diese Einstellung mit dem Namen einer Function-Prozedur identisch sein muß und nicht der Name einer Sub-Prozedur sein kann. Wird die Eigenschaft ReplicationConflictFunction nicht eingestellt, ruft Microsoft Access den eingebauten Konfliktlöser auf.

Wenn Sie die Einstellung dieser Eigenschaft zum ersten Mal in Visual Basic festlegen, müssen Sie die Eigenschaft zunächst erstellen und dann an die Properties-Auflistung des benutzerdefinierten Document-Objekts anfügen. Sie sollten in Ihre Prozedur Fehlerbehandlungscode zum Testen für den Fall einbeziehen, daß die Eigenschaft in der Properties-Auflistung noch nicht vorhanden ist. Weitere Informationen finden Sie unter der Methode CreateProperty.

Wenn Sie die Eigenschaft ReplicationConflictFunction erstellen und anfügen, müssen Sie auch den Wert True (-1) für das optionale Argument DDL der Methode CreateProperty angeben. Dieses Argument stellt sicher, daß Benutzer das neue Property-Objekt nur dann ändern oder löschen können, wenn sie über dbSecWriteDef-Berechtigungen verfügen. Falls Sie den Wert True für dieses Argument nicht angeben, wird der benutzerdefinierte Konfliktlösungscode nicht aufgerufen.

Um die Steuerung an den eingebauten Konfliktlöser zurückzugeben, entfernen Sie die Eigenschaft ReplicationConflictFunction aus der Properties-Auflistung.

Sie können diese Eigenschaft auch auf der Registerkarte Anpassen des Dialogfelds Eigenschaften von Datenbankname hinzufügen oder löschen. Klicken Sie zum Öffnen dieses Dialogfelds im Menü Datei auf Datenbankeigenschaften.

Hinweis

Wurde der gleiche Datensatz einer replizierten Datenbank in einem oder mehreren Replikaten geändert, treten beim Synchronisieren eines Replikats mit der Replikatgruppe Konflikte auf. Wenn Sie diese Konflikte lösen möchten, ruft Microsoft Access den eingebauten Konfliktlöser auf. Der Assistent zeigt dem Benutzer jeden Konflikt an. Dieser muß manuell bestimmen, welcher geänderte Datensatz die richtigen Daten enthält.

Wenn Sie die Konfliktlösung für Ihre Anwendung automatisieren möchten, können Sie benutzerdefinierte Prozeduren zum Lösen von Konflikten schreiben und dann den eingebauten Funktionsumfang außer Kraft setzen, indem Sie die Eigenschaft ReplicationConflictFunction einstellen. Erstellen Sie eine Funktion, die als Zugang zum Konfliktlösungscode fungiert. Stellen Sie anschließend die Eigenschaft ReplicationConflictFunction auf den Namen dieser Funktion ein.

Wenn Sie benutzerdefinierten Konfliktlösungscode schreiben, muß dieser auch Entwurfs- und Datenfehler bei der Replikation behandeln. Um ein Beispiel anzuzeigen, öffnen Sie die Assistentendatenbank WZCNF80.MDA im Ordner OFFICE, und sehen Sie sich den Quellcode an.


ReplicationConflictFunction-Eigenschaft - Beispiel

Die folgende Funktion stellt eine Microsoft Access-Eigenschaft bei einem Datenzugriffsobjekt ein. Mit Hilfe dieser Funktion können Sie dann die Eigenschaft ReplicationConflictFunction einstellen. Wenn diese Eigenschaft in der Properties-Auflistung des benutzerdefinierten Document-Objekts UserDefined nicht bereits vorhanden ist, erstellt Microsoft Access die Eigenschaft automatisch und fügt sie an die Auflistung an. Beachten Sie, daß Sie zum Einstellen dieser Eigenschaft den Wert True (-1) für das optionale Argument blnDDL angeben müssen.

Function EinstellenAccessEigenschaft(obj As Object, _

strName As String, intTyp As Integer, _

varEinstellung As Variant, Optional blnDDL _

As Boolean)

Dim prp As Property

Const intEigNichtGefunden As Integer = 3270

On Error GoTo Fehler_EinstellenAccessEigenschaft

' Expliziter Verweis auf die Properties-Auflistung.

obj.Properties(strName) = varEinstellung

obj.Properties.Refresh

EinstellenAccessEigenschaft = True

Exit_EinstellenAccessEigenschaft:

Exit Function

Fehler_EinstellenAccessEigenschaft:

If Err = intEigNichtGefunden Then

' Überprüfen, ob optionales Argument übergeben

' wurde.

If Not IsMissing(blnDDL) Then

' Eigenschaft erstellen, Typ kennzeichnen,

' Anfangswert einstellen, DDL anzeigen.

Set prp = obj.CreateProperty(strName, _

intTyp, varEinstellung, blnDDL)

Else

' Eigenschaft erstellen, Typ kennzeichnen,

' Anfangswert einstellen.

Set prp = obj.CreateProperty(strName, _

intTyp, varEinstellung)

End If

' Property-Objekt an Properties-Auflistung

' anfügen.

obj.Properties.Append prp

obj.Properties.Refresh

EinstellenAccessEigenschaft = True

Resume Exit_EinstellenAccessEigenschaft

Else

MsgBox Err & ": " & vbCrLf & Err.Description

EinstellenAccessEigenschaft = False

Resume Exit_EinstellenAccessEigenschaft

End If

End Function

Die folgende Prozedur ruft die Funktion EinstellenAccessEigenschaft auf, um die Eigenschaft ReplicationConflictFunction einzustellen:

Sub EinstellenKonfliktlöser()

Dim dbs As Database, ctr As Container, _

doc As Document

Dim blnRückgabe As Boolean

' Verweis auf aktuelle Datenbank zurückgeben.

Set dbs = CurrentDb

' Verweis auf den Databases-Container zurückgeben.

Set ctr = dbs.Containers!Databases

' Verweis auf Document-Objekt UserDefined

' zurückgeben.

Set doc = ctr.Documents!UserDefined

blnRückgabe = EinstellenAccessEigenschaft(doc, _

"ReplicationConflictFunction", dbText, _

"BenutzerdefinierterKonfliktlöser", True)

' Rückgabewert auswerten.

If blnRückgabe = True Then

Debug.Print "Eigenschaft erfolgreich " & _

"eingestellt."

Else

Debug.Print "Eigenschaft nicht erfolgreich " & _

"eingestellt."

End If

End Sub


AccessError-Methode

Mit der Methode AccessError können Sie die beschreibende Zeichenfolge zurückgeben, die einem Microsoft Access-Fehler oder einem Datenzugriffsfehler zugeordnet ist.

Syntax

[Anwendung.]AccessError(Fehlernummer)

Die Methode AccessError verwendet folgende Argumente:

Argument	Beschreibung
Anwendung	Optional. Das Application-Objekt.
Fehlernummer	Die Nummer des Fehlers, zu dem Sie eine beschreibende Zeichenfolge zurückgeben möchten.
Hinweis

Mit der Methode AccessError können Sie die einem Microsoft Access-Fehler oder einem Datenzugriffsfehler zugeordnete beschreibende Zeichenfolge zurückgeben, wenn der Fehler nicht wirklich aufgetreten ist.

Sie können die Visual Basic-Methode Raise verwenden, um einen Visual Basic-Fehler neu zu erzeugen. Nachdem Sie den Fehler erzeugt haben, können Sie dessen zugeordnete beschreibende Zeichenfolge ermitteln, indem Sie die Eigenschaft Description des Objekts Err abrufen.

Die Methode Raise können Sie nicht verwenden, um einen Microsoft Access-Fehler oder einen Datenzugriffsfehler neu zu erzeugen. Mit Hilfe der Methode AccessError können Sie jedoch die diesen Fehlern zugeordnete beschreibende Zeichenfolge ausgeben, ohne den Fehler erzeugen zu müssen.

Mit dieser Methode können Sie eine beschreibende Zeichenfolge aus dem Ereignis Error eines Formulars heraus ausgeben.

Wenn der Microsoft Access-Fehler aufgetreten ist, können Sie die beschreibende Zeichenfolge entweder mit Hilfe der Methode AccessError oder der Eigenschaft Description des Visual Basic-Objekts Err zurückgeben.


AccessError-Methode - Beispiel

Die folgende Funktion gibt eine Fehlerzeichenfolge für eine beliebige gültige Fehlernummer zurück:

Function Fehlerzeichenfolge(lngFehler As Long) As _

String

Const conAnwFehler = _

"Anwendungs- oder objektdefinierter Fehler"

On Error Resume Next

Err.Raise lngFehler

If Err.Description = conAnwFehler Then

Fehlerzeichenfolge = AccessError(lngFehler)

ElseIf Err.Description = "" Then

MsgBox "Diese Nummer ist keine " & _

"Fehlerzeichenfolge zugeordnet."

Else

Fehlerzeichenfolge = Err.Description

End If

End Function


CodeDb-Funktion

Sie können mit der Funktion CodeDb in einem Modul den Namen desDatabase-Objekts ermitteln, das auf die Datenbank verweist, in der momentan Code ausgeführt wird. Mit der Funktion CodeDb können Sie auf Datenzugriffsobjekte (DAO) zugreifen, die Bestandteil einer Bibliotheksdatenbank sind.

Sie können z.B. mit der Funktion CodeDb in einem Modul einer Bibliotheksdatenbank ein Database-Objekt erstellen, das auf die Bibliotheksdatenbank verweist. Anschließend können Sie eine Datensatzgruppe öffnen, die auf einer Tabelle der Bibliotheksdatenbank basiert.

Syntax

Set Datenbank = CodeDb

Die Funktion CodeDb hat das folgende Argument.

Argument	Beschreibung
Datenbank	Eine Database-Objektvariable.
Hinweis

Die Funktion CodeDb gibt ein Database-Objekt zurück, dessen Eigenschaft Name auf den vollständigen Pfad und den Namen der Datenbank eingestellt ist, aus der es aufgerufen wurde. Diese Funktion bietet sich dann an, wenn Sie die Datenzugriffsobjekte in Ihrer Bibliotheksdatenbank bearbeiten müssen.

Wenn Sie eine Funktion einer Bibliotheksdatenbank aufrufen, bleibt die Datenbank, von der aus Sie die Funktion aufgerufen haben, die aktuelle Datenbank, auch wenn Code in einem Modul der Bibliotheksdatenbank ausgeführt wird. Sie müssen den Namen des Database-Objekts, das der Bibliotheksdatenbank entspricht, kennen, um auf die Datenzugriffsobjekte in der Bibliotheksdatenbank verweisen zu können.

Angenommen, in einer Bibliotheksdatenbank gibt es eine Tabelle mit einer Liste von Fehlermeldungen. Wenn Sie Daten in der Tabelle aus Code heraus bearbeiten möchten, können Sie mit Hilfe der Funktion CodeDb den Namen des Database-Objekts ermitteln, das auf die Bibliotheksdatenbank verweist, zu der die Tabelle gehört.

Wird die Funktion CodeDb in der aktuellen Datenbank ausgeführt, gibt die Funktion den Namen der aktuellen Datenbank zurück. Dies entspricht dem Wert, der von der Funktion CurrentDB zurückgegeben wird.


CodeDb-Funktion - Beispiel

Im folgenden Beispiel wird mit Hilfe der Funktion CodeDb ein Database-Objekt zurückgegeben, das auf eine Bibliotheksdatenbank verweist. Die Bibliotheksdatenbank enthält sowohl eine Tabelle namens Fehler als auch den momentan ausgeführten Code. Nachdem die Funktion CodeDb diese Informationen ermittelt hat, öffnet die Funktion FehlermeldLesen eine Datensatzgruppe vom Typ Tabelle, die auf der Tabelle Fehler basiert. Anschließend wird ausgehend von dem Integer-Wert, der an die Funktion übergeben wurde, eine Fehlermeldung aus einem Feld namens Fehlerdaten gelesen.

Function FehlermeldLesen (ByVal intFehler As Integer) As String

Dim dbs As Database, rst As RecordSet

' Die folgende Variable verweist auf die Datenbank,

' in der der Code ausgeführt wird.

Set dbs = CodeDb

' Ein Recordset-Objekt vom Typ Tabelle erstellen.

Set rst = dbs.OpenRecordSet("Fehler", dbOpenTable)

rst.Index = "Primärschlüssel"

rst.Seek "=", intFehler

' Die entsprechende Fehlermeldung zurückgeben.

FehlermeldLesen = rst.Fields!Fehlerdaten.Value

rst.Close

End Function


CreateControl-, CreateReportControl-Funktionen

•	Die Funktion CreateControl erstellt ein Steuerelement auf dem angegebenen geöffneten Formular.

•	Die Funktion CreateReportControl erstellt ein Steuerelement auf dem angegebenen geöffneten Bericht.

Angenommen, Sie entwickeln einen Assistenten, mit dessen Hilfe Benutzer ein bestimmtes Formular problemlos erstellen können. Sie können die Funktion CreateControl in Ihrem Assistenten verwenden, um die entsprechenden Steuerelemente zu dem Formular hinzuzufügen.

Syntax

CreateControl(Formularname, Steuerelementtyp[, Bereich[, Hauptobjekt[, Spaltenname[, Links[, Oben[, Breite[, Höhe]]]]]]])

CreateReportControl(Berichtsname, Steuerelementtyp[, Bereich[, Hauptobjekt[, Spaltenname[, Links[, Oben[, Breite[, Höhe]]]]]]])

Die Funktionen CreateControl und CreateReportControl haben die folgenden Argumente.

Argument	Beschreibung
Formularname, Berichtsname	Ein Zeichenfolgenausdruck, der den Namen des geöffneten Formulars oder Berichts angibt, auf dem das Steuerelement erstellt werden soll.
Steuerelement-typ	Eine der folgenden eingebauten Konstanten, die den Typ des zu erstellenden Steuerelements angeben. Sie können diese Konstanten im Objektkatalog anzeigen und von dort in Ihren Code einfügen. Klicken Sie dazu in der Symbolleiste Visual Basic auf Objektkatalog  [image]  , klicken Sie im Feld Projekt/Bibliothek auf Access, und klicken Sie im Feld Klassen auf Konstanten
	Konstante	Steuerelement
	acLabel	Bezeichnungsfeld
	acRectangle	Rechteck
	acLine	Linie
	acImage	Bild
	acCommandButton	Befehlsschaltfläche
	acOptionButton	Optionsfeld
	acCheckBox	Kontrollkästchen
	acOptionGroup	Optionsgruppe
	acBoundObjectFrame	Gebundenes Objektfeld
	acTextBox	Textfeld
	acListBox	Listenfeld
	acComboBox	Kombinationsfeld
	acSubform	Unterformular
	acObjectFrame	Objektfeld
	acPage	Seite
	acPageBreak	Seitenumbruch
	acCustomControl	ActiveX-Steuerelement
	acToggleButton	Umschaltfläche
	acTabCtl	Register-Steuerelement
Bereich	Eine der folgenden eingebauten Konstanten, die den Bereich angibt, der das neue Steuerelement enthalten soll.
	Konstante	Bereich
	acDetail	(Standardeinstellung) Detailbereich
	acHeader	Formularkopf oder Berichtskopf
	acFooter	Formularfuß oder Berichtsfuß
	acPageHeader	Seitenkopf
	acPageFooter	Seitenfuß
	acGroupLevel1Header	Kopf der Gruppenebene 1 (nur Berichte)
	acGroupLevel1Footer	Fuß der Gruppenebene 1 (nur Berichte)
	acGroupLevel2Header	Kopf der Gruppenebene 2 (nur Berichte)
	acGroupLevel2Footer	Fuß der Gruppenebene 2 (nur Berichte)
	Hat ein Bericht weitere Gruppenebenen, werden die Kopf/Fuß-Paare ab 9 fortlaufend numeriert.
Hauptobjekt	Ein Zeichenfolgenausdruck, der den Namen des Hauptsteuerelements eines untergeordneten Steuerelements angibt. Geben Sie bei Steuerelementen, die kein übergeordnetes Steuerelement haben, für dieses Argument eine leere Zeichenfolge an, oder lassen Sie das Argument weg.
Spaltenname	Der Name des Feldes, an das das Steuerelement gebunden wird, wenn es ein datengebundenes Steuerelement sein soll.
	Wenn Sie ein Steuerelement erstellen, das nicht an ein Feld gebunden wird, geben Sie für dieses Argument eine leere Zeichenfolge an.
Links, Oben	Numerische Ausdrücke, die die Koordinaten der linken oberen Ecke des Steuerelements in Twips angeben.
Breite, Höhe	Numerische Ausdrücke, die die Breite und Höhe des Steuerelements in Twips angeben.
Hinweis

Sie können die Funktionen CreateControl und CreateReportControl in einem von Ihnen erstellten Assistenten verwenden, um Steuerelemente auf einem Formular oder Bericht zu erstellen. Beide Funktionen geben ein Control-Objekt zurück.

Sie können die Funktionen CreateControl und CreateReportControl nur in der Entwurfsansicht eines Formulars bzw. der Entwurfsansicht eines Berichts verwenden.

Mit dem Argument Hauptobjekt geben Sie die Beziehung zwischen einem Hauptsteuerelement und einem untergeordneten Steuerelement an. Wenn einem Textfeld z.B. ein Bezeichnungsfeld zugeordnet wurde, ist das Textfeld das übergeordnete Steuerelement (das Hauptsteuerelement) und das Bezeichnungsfeld das untergeordnete Steuerelement. Wenn Sie ein Bezeichnungsfeld-Steuerelement erstellen, stellen Sie dessen Argument Hauptobjekt auf eine Zeichenfolge ein, die den Namen des übergeordneten Steuerelements angibt. Wenn Sie ein Textfeld erstellen, stellen Sie dessen Argument Hauptobjekt auf eine leere Zeichenfolge ein.

Sie stellen das Argument Hauptobjekt auch ein, wenn Sie Kontrollkästchen, Optionsfelder oder Umschaltflächen erstellen. Eine Optionsgruppe ist das übergeordnete Steuerelement der in ihr enthaltenen Kontrollkästchen, Optionsfelder oder Umschaltflächen. Ein übergeordnetes Steuerelement können nur folgende Steuerelemente haben: Bezeichnungsfeld, Kontrollkästchen, Optionsfeld und Umschaltfläche. Diese Steuerelemente können aber auch unabhängig, also ohne übergeordnetes Steuerelement, erstellt werden.

Stellen Sie das Argument Spaltenname entsprechend dem Typ des Steuerelements ein, das Sie erstellen, und abhängig davon, ob das Steuerelement an ein Feld einer Tabelle gebunden sein soll oder nicht. Folgende Steuerelemente können an ein Feld gebunden werden: Textfeld, Listenfeld, Kombinationsfeld, Optionsgruppe und gebundenes Objektfeld. Die Steuerelemente Umschaltfläche, Optionsfeld und Kontrollkästchen können dann an ein Feld gebunden werden, wenn sie nicht Bestandteil einer Optionsgruppe sind.

Wenn Sie den Namen eines Feldes für das Argument Spaltenname angeben, erstellen Sie ein Steuerelement, das an dieses Feld gebunden ist. Alle Eigenschaften des Steuerelements werden dann automatisch auf die Einstellungen der entsprechenden Feldeigenschaften eingestellt. Der Wert der Eigenschaft ValidationRule (Gültigkeitsregel) des Steuerelements ist dann z.B. identisch mit dem Wert dieser Eigenschaft für das Feld.

Anmerkung   Wenn Ihr Assistent Steuerelemente auf einem neuen oder vorhandenen Formular oder Bericht erstellt, muß er das Formular oder den Bericht zunächst in der Entwurfsansicht öffnen.

Sie können ein Steuerelement mit Hilfe der Anweisungen DeleteControl und DeleteReportControl wieder aus einem Formular oder Bericht entfernen.


CreateControl-, CreateReportControl-Funktionen - Beispiel

In diesem Beispiel wird zunächst ein neues Formular basierend auf der Tabelle Bestellungen erstellt. Dann werden mit Hilfe der Funktion CreateControl ein Textfeld-Steuerelement und ein zugeordnetes Bezeichnungsfeld-Steuerelement auf dem Formular erstellt.

Sub NeueSteuerelemente()

Dim frm As Form

Dim ctlBezFeld As Control, ctlText As Control

Dim intDatenX As Integer, intDatenY As Integer

Dim intBezFeldX As Integer, intBezFeldY As Integer

' Das neue Formlar mit der Tabelle Bestellungen als

' Datenherkunft erstellen.

Set frm = CreateForm

frm.RecordSource = "Bestellungen"

' Die Positionswerte für die neuen Steuerelemente einstellen.

intBezFeldX = 100

intBezFeldY = 100

intDatenX = 1000

intDatenY = 100

' Ein ungebundenes Textfeld in Standardgröße im

' Detailbereich erstellen.

Set ctlText = CreateControl(frm.Name, acTextBox, , "", "", _

intDatenX, intDatenY)

' Ein untergeordnetes Bezeichnungsfeld-Steuerelement

' für das Textfeld erstellen.

Set ctlBezFeld = CreateControl(frm.Name, acLabel, , ctlText.Name, _

"NeueBezeichnung", intBezFeldX, intBezFeldY)

' Die Anzeige des Formulars aktualisieren.

DoCmd.Restore

End Sub


CreateForm-, CreateReport-Funktionen

•	Die Funktion CreateForm erstellt ein Formular und gibt ein Form-Objekt zurück.

•	Die Funktion CreateReport erstellt einen Bericht und gibt ein Report-Objekt zurück.

Angenommen, Sie entwickeln einen Assistenten, der Umsatzberichte erstellen soll. Sie können die Funktion CreateReport in Ihrem Assistenten verwenden, um einen neuen Bericht zu erstellen, der auf einer angegebenen Berichtsvorlage basiert.

Syntax

CreateForm([Datenbank[, Formularvorlage]])

CreateReport([Datenbank[, Berichtsvorlage]])

Die Funktionen CreateForm und CreateReport haben die folgenden Argumente.

Argument	Beschreibung
Datenbank	Ein Zeichenfolgenausdruck, der den Namen der Datenbank angibt, in der die Formular- oder Berichtsvorlage enthalten ist, die Sie zum Erstellen des Formulars oder Berichts verwenden möchten. Wenn Sie dieses Argument nicht angeben, wird die aktuelle Datenbank (der von der Funktion CurrentDb zurückgegebene Wert) verwendet. Wenn Sie statt der aktuellen Datenbank eine andere Datenbank angeben, muß diese als Bibliotheksdatenbank geöffnet sein.
Formularvorlage, Berichtsvorlage	Ein Zeichenfolgenausdruck, der den Namen des Formulars oder Berichts angibt, das bzw. der als Vorlage zum Erstellen eines neuen Formulars oder Berichts verwendet werden soll. Wenn Sie dieses Argument nicht angeben, legt Microsoft Access dem neuen Formular oder Bericht die Vorlage zugrunde, die im Dialogfeld Optionen auf der Registerkarte Formulare/Berichte angegeben ist. Sie öffnen dieses Dialogfeld, indem Sie im Menü Extras auf Optionen klicken.
Hinweis

Sie können die Funktionen CreateForm und CreateReport verwenden, wenn Sie einen Assistenten entwickeln, mit dem neue Formulare oder Berichte erstellt werden können.

Die Funktion CreateForm bzw. CreateReport öffnet ein neues, minimiertes Formular bzw. einen neuen, minimierten Bericht in der Entwurfsansicht eines Formulars bzw. in der Entwurfsansicht eines Berichts.

Bei dem als Formularvorlage angegebenen Formular oder dem als Berichtsvorlage angegebenen Bericht kann es sich um ein Formular/einen Bericht handeln, das/der eigens zur Verwendung als Vorlage erstellt wurde, oder um ein beliebiges Formular bzw. einen beliebigen Bericht in derjenigen Datenbank, die durch das Argument Datenbank angegeben ist. Ist die im Argument Datenbank angegebene Datenbank nicht die aktuelle Datenbank, muß diese Datenbank als Bibliotheksdatenbank geöffnet sein. Weitere Informationen zu Bibliotheksdatenbanken finden Sie in Kapitel 12, "Verwenden von Bibliotheksdatenbanken und Dynamic Link Libraries", in Erstellen von Anwendungsprogrammen mit Microsoft Access 97.

Anmerkung   Wenn Sie eine Formular- oder Berichtsvorlage, die Sie als Vorlage verwenden möchten, in einer anderen Datenbank erstellt haben, können Sie diese Vorlage einfach in die aktuelle Datenbank importieren, statt eine Bibliotheksdatenbank zu laden. Danach sollten Sie prüfen, ob im Dialogfeld Optionen auf der Registerkarte Formulare/Berichte im Feld Formularvorlage bzw. Berichtsvorlage der gewünschte Formular- bzw. Berichtsname angezeigt wird. Formulare bzw. Berichte, die später mit der Funktion CreateForm bzw. CreateReport erstellt werden, basieren dann auf dieser Vorlage.

Ist der im Argument Formularvorlage bzw. Berichtsvorlage verwendete Name ungültig, verwendet Visual Basic die Formular- bzw. Berichtsvorlage, die im Dialogfeld Optionen auf der Registerkarte Formulare/Berichte im Feld Formularvorlage bzw. Berichtsvorlage angegeben ist.

Wenn Sie ein Formular bzw. einen Bericht mit der Funktion CreateForm bzw. CreateReport erstellen, wird die Eigenschaft HasModule des Formulars bzw. Berichts auf False (0) eingestellt. Wenn Sie möchten, daß das neue Formular bzw. der neue Bericht ein Klassenmodul hat, können Sie diese Eigenschaft auf True (-1) einstellen.

Die Funktion CreateForm bzw. CreateReport erstellt minimierte Formulare bzw. Berichte.


CreateForm-, CreateReport-Funktionen - Beispiele

Dieses Beispiel erstellt in der aktuellen Datenbank einen Bericht auf Basis der Vorlage, die im Dialogfeld Optionen auf der Registerkarte Formulare/Berichte in Berichtsvorlage angegeben ist.

Sub NormalerBericht()

Dim rpt As Report

Set rpt = CreateReport	' Minimierten Bericht

' erstellen.

DoCmd.Restore	' Bericht wiederherstellen.

End Sub

Das nächste Beispiel erstellt in der Nordwind-Datenbank ein neues Formular, das auf dem Formular Kunden basiert, und stellt dessen Eigenschaft RecordSource auf die Tabelle Kunden ein. Führen Sie diesen Code aus der Nordwind-Beispieldatenbank aus.

Sub NeuesFormular()

Dim frm As Form

' Das Formular basierend auf Formular "Kunden" erstellen.

Set frm = CreateForm( , "Kunden")

DoCmd.Restore

' Die Eigenschaft RecordSource auf die Tabelle

' "Kunden" einstellen.

frm.RecordSource = "Kunden"

End Sub


CreateGroupLevel-Funktion

Mit der Funktion CreateGroupLevel können Sie ein Feld oder einen Ausdruck angeben, nach dem Daten in einem Berichts gruppiert oder sortiert werden sollen.

Angenommen, Sie entwickeln einen Assistenten, der dem Benutzer, wenn er einen Bericht entwirft, die Wahl zwischen mehreren Feldern gibt, nach denen Daten gruppiert werden können. Rufen Sie aus dem Assistenten heraus die Funktion CreateGroupLevel auf, um die passenden Gruppen entsprechend der Auswahl des Benutzers zu erstellen.

Syntax

CreateGroupLevel(Bericht, Ausdruck, Kopf, Fuß)

Die Funktion CreateGroupLevel hat die folgenden Argumente.

Argument	Beschreibung
Bericht	Ein Zeichenfolgenausdruck, der den Namen des Berichts angibt, der die neue Gruppenebene enthält.
Ausdruck	Ein Zeichenfolgenausdruck, der das Feld oder den Ausdruck angibt, nach dem sortiert oder gruppiert werden soll.
Kopf, Fuß	Ein Integer-Wert, der angibt, ob das Feld oder der Ausdruck einen zugeordneten Gruppenkopf und/oder Gruppenfuß hat. Ist das Argument Kopf oder Fuß auf True (-1) eingestellt, hat das Feld bzw. der Ausdruck einen Gruppenkopf oder -fuß. Ist das Argument Kopf oder Fuß auf False (0) eingestellt, hat das Feld bzw. der Ausdruck keinen Gruppenkopf oder -fuß. Sie können einen Kopf und einen Fuß erstellen, indem Sie beide Argumente auf True einstellen.
Hinweis

Sie können die Funktion CreateGroupLevel verwenden, wenn Sie einen Assistenten entwickeln, der einen Bericht mit Gruppen oder Summen erstellt. Die Funktion CreateGroupLevel gruppiert oder sortiert Daten nach dem angegebenen Feld oder Ausdruck und erstellt einen Kopf und/oder Fuß für die Gruppenebene.

Die Funktion CreateGroupLevel steht nur in der Entwurfsansicht eines Berichts zur Verfügung.

Microsoft Access verwendet ein Datenfeld, das Eigenschaftendatenfeld GroupLevel, um die für einen Bericht erstellten Gruppenebenen zu verwalten. Die Funktion CreateGroupLevel fügt, ausgehend von dem Argument Ausdruck, eine neue Gruppenebene zu dem Datenfeld hinzu. Danach gibt CreateGroupLevel einen Indexwert zurück, der die Position der neuen Gruppenebene in diesem Datenfeld angibt. Das erste Feld oder der erste Ausdruck, nach dem sortiert oder gruppiert wird, entspricht der Ebene 0, das oder der zweite der Ebene 1 usw. Ein Bericht kann bis zu zehn Gruppenebenen (0-9) haben.

Wenn Sie dem Argument Kopf oder Fuß (oder beiden) den Wert True zuweisen, werden die Eigenschaften GroupHeader und GroupFooter des Berichts auf Ja eingestellt, und es wird ein Kopf und/oder Fuß für die Gruppenebene erstellt.

Nachdem ein Kopf oder Fuß erstellt wurde, können Sie weitere Gruppenebeneneigenschaften einstellen: GroupOn (GruppierenNach), GroupInterval (Intervall) und KeepTogether (Zusammenhalten). Sie können diese Eigenschaften in Visual Basic oder in dem Dialogfeld Sortieren und Gruppieren einstellen. Letzteres wird angezeigt, wenn Sie in der Symbolleiste Berichtsentwurf auf Sortieren und Gruppieren  [image]  klicken.

Anmerkung   Wenn Ihr Assistent Gruppenebenen in einem neuen oder vorhandenen Bericht erstellt, muß er den Bericht in der Entwurfsansicht öffnen.


CreateGroupLevel-Funktion - Beispiel

Im folgenden Beispiel wird in einem Bericht namens Bestellbericht für das Feld Bestelldatum eine Gruppenebene erstellt. Der Bericht, in dem die Gruppenebene erstellt werden soll, muß in der Entwurfsansicht geöffnet sein. Da die Argumente Kopf und Fuß auf True (-1) eingestellt sind, erstellt die Funktion sowohl einen Kopf als auch einen Fuß für die Gruppenebene. Danach werden die Höhe des Kopfes und die Höhe des Fußes eingestellt.

Sub GruppenebeneErstellen()

Dim varGruppenebene As Variant

' Neue Gruppenebene für das Feld "Bestelldatum" erstellen.

varGruppenebene = CreateGroupLevel("Bestellbericht", "Bestelldatum", _

True, True)

' Die Höhe des Kopf- und des Fußbereichs einstellen.

Reports!Bestellbericht.Section(acGroupLevel1Header).Height = 400

Reports!Bestellbericht.Section(acGroupLevel1Footer).Height = 400

End Sub


DeleteControl-, DeleteReportControl-Anweisungen

•	Die Anweisung DeleteControl löscht ein Steuerelement von einem Formular.

•	Die Anweisung DeleteReportControl löscht ein Steuerelement von einem Bericht.

Angenommen, Sie haben eine Prozedur, die immer dann ausgeführt werden muß, wenn sich ein Benutzer das erste Mal bei Ihrer Datenbank anmeldet. Sie können über die Eigenschaft OnClick (BeimKlicken) einer Schaltfläche des Formulars dafür sorgen, daß diese Prozedur ausgeführt wird. Nachdem sich der Benutzer angemeldet und die Prozedur ausgeführt hat, können Sie die Anweisung DeleteControl verwenden, um die Befehlsschaltfläche dynamisch von dem Formular zu löschen.

Syntax

DeleteControl Formularname, Steuerelementname

DeleteReportControl Berichtsname, Steuerelementname

Die Anweisungen DeleteControl und DeleteReportControl haben die folgenden Argumente.

Argument	Beschreibung
Formularname, Berichtsname	Ein Zeichenfolgenausdruck, der den Namen des Formulars oder Berichts angibt, zu dem das zu löschende Steuerelement gehört.
Steuerelementname	Ein Zeichenfolgenausdruck, der den Namen des zu löschenden Steuerelements angibt.
Hinweis

Die Anweisungen DeleteControl und DeleteReportControl sind nur in der Entwurfsansicht eines Formulars bzw. der Entwurfsansicht eines Berichts verfügbar.

Anmerkung   Wenn Sie einen Assistenten entwickeln, der ein Steuerelement von einem Formular oder Bericht löscht, muß der Assistent das Formular oder den Bericht in der Entwurfsansicht öffnen, bevor er das Steuerelement löschen kann.


DeleteControl-, DeleteReportControl-Anweisungen - Beispiel

Dieses Beispiel erstellt ein Formular mit einer Befehlsschaltfläche und zeigt eine Meldung an, in der der Benutzer gefragt wird, ob die Befehlsschaltfläche gelöscht werden soll. Wenn der Benutzer auf Ja klickt, wird die Befehlsschaltfläche gelöscht.

Sub BefehlsschaltflächeLöschen()

Dim frm As Form, ctlNeu As Control

Dim strMldg As String, intAntwort As Integer, intDialog As Integer

' Ein neues Formular erstellen und den Zeiger auf

' das Formular abrufen.

Set frm = CreateForm

' Die neue Befehlsschaltfläche erstellen.

Set ctlNeu = CreateControl(frm.Name, acCommandButton)

' Das Formular wiederherstellen.

DoCmd.Restore

' Die Beschriftung festlegen.

ctlNeu.Caption = "Neue Befehlsschaltfläche"

' Die Größe des Steuerelements festlegen.

ctlNeu.SizeToFit

' Den Benutzer auffordern, das Steuerelement zu löschen.

strMldg = "" & ctlNeu.Name &" wird gelöscht. Fortfahren?"

' Festlegen, welche Schaltflächen im Dialogfeld

' angezeigt werden sollen.

intDialog = vbYesNo + vbCritical + vbDefaultButton2

intAntwort = MsgBox(strMldg, intDialog)

If intAntwort = vbYes Then

' Das Steuerelement löschen.

DeleteControl frm.Name, ctlNeu.Name

End If

End Sub


SysCmd-Funktion

Mit der Funktion SysCmd können Sie eine der folgenden Operationen durchführen:

•	Anzeigen eines Statusanzeigers oder optional eines bestimmten Textes in der Statusleiste.

•	Zurückgeben von Informationen über Microsoft Access und seine zugehörigen Dateien.

•	Zurückgeben des Zustands eines angegebenen Datenbankobjektes, um mitzuteilen, ob das Objekt geöffnet ist, ob es sich um ein neues Objekt handelt oder ob es geändert, aber nicht gespeichert wurde.

Wenn Sie z.B. einen Assistenten entwickeln, der ein neues Formular erstellt, können Sie mit Hilfe der Funktion SysCmd einen Statusanzeiger anzeigen, der den Fortschritt des Assistenten beim Erstellen des Formulars angibt.

Syntax

Rückgabewert = SysCmd(Aktion[, Text][, Wert])

Objektzustand = SysCmd(Aktion[, Objekttyp][, Objektname])

Die Funktion SysCmd hat die folgenden Argumente.

Argument	Beschreibung
Aktion	Eine der folgenden eingebauten Konstanten, die die Art der durchzuführenden Aktion angeben.
	Die nachfolgend aufgeführten Konstanten betreffen einen Statusanzeiger. SysCmd gibt den Wert Null zurück, wenn diese Aktionen erfolgreich sind. Andernfalls löst Microsoft Access einen Laufzeitfehler aus.
	acSysCmdInitMeter	Initialisiert den Statusanzeiger. Sie müssen die Argumente Text und Wert angeben, wenn Sie diese Aktion verwenden.
	acSysCmdUpdateMeter	Aktualisiert den Statusanzeiger mit dem angegebenen Wert. Sie müssen das Argument Text angeben, wenn Sie diese Aktion verwenden.
	acSysCmdRemoveMeter	Entfernt den Statusanzeiger.
	acSysCmdSetStatus	Stellt den Text in der Statusleiste auf das Argument Text ein.
	acSysCmdClearStatus	Setzt den Text in der Statusleiste zurück.
	Die nachfolgend aufgeführten Konstanten geben Informationen über Microsoft Access zurück.
	acSysCmdRuntime	Gibt den Wert True (-1) zurück, wenn eine Laufzeitversion von Microsoft Access ausgeführt wird.
	acSysCmdAccessVer	Gibt die Versionsnummer von Microsoft Access zurück.
	acSysCmdIniFile	Gibt den Namen der von Microsoft Access verwendeten .INI-Datei zurück.
	acSysCmdAccessDir	Gibt den Namen des Verzeichnisses zurück, in dem sich MSACCESS.EXE befindet.
	acSysCmdProfile	Gibt die Einstellung von /profile zurück, die der Benutzer angegeben hat, wenn er Microsoft Access über die Befehlszeile gestartet hat.
	acSysCmdGetWorkgroupFile	Gibt den Pfad zur Arbeitsgruppen-Datei (SYSTEM.MDW) zurück.
	Die folgende Konstante gibt Informationen über den Zustand eines Datenbankobjekts zurück.
	acSysCmdGetObjectState	Gibt den Zustand des angegebenen Datenbankobjekts zurück. Sie müssen die Argumente Objekttyp und Objektname angeben, wenn Sie für Aktion diesen Wert verwenden.
Text	Ein Zeichenfolgenausdruck, der den Text angibt, der linksbündig in der Statusleiste angezeigt wird. Dieses Argument ist erforderlich, wenn das Argument Aktion auf acSysCmdInitMeter, acSysCmdUpdateMeter oder acSysCmdSetStatus eingestellt ist. Für andere Werte des Argumentes Aktion ist dieses Argument nicht zulässig.
Wert	Ein numerischer Ausdruck, der die Anzeige des Statusanzeigers steuert. Dieses Argument ist erforderlich, wenn das Argument Aktion auf acSysCmdInitMeter eingestellt ist. Für andere Werte des Argumentes Aktion ist dieses Argument nicht zulässig.
Objekttyp	Eine der folgenden eingebauten Konstanten:
	acTable
	acQuery
	acForm
	acReport
	acMacro
	acModule
	Dieses Argument ist erforderlich, wenn das Argument Aktion auf acSysCmdGetObjectState eingestellt ist. Für andere Werte des Argumentes Aktion ist dieses Argument nicht zulässig.
Objektname	Ein Zeichenfolgenausdruck, der den gültigen Namen eines Datenbankobjekts angibt, das den Typ hat, der durch das Argument Objekttyp angegeben ist. Dieses Argument ist erforderlich, wenn das Argument Aktion auf acSysCmdGetObjectState eingestellt ist. Für andere Werte des Argumentes Aktion ist dieses Argument nicht zulässig.
Hinweis

Indem Sie die Funktion SysCmd mit den verschiedenen Statusanzeiger-Aktionen aufrufen, können Sie in der Statusleiste einen Statusanzeiger für eine Operation anzeigen, für die die Dauer oder die Anzahl der durchzuführenden Schritte bekannt ist, und den Statusanzeiger aktualisieren, um den Fortschritt der Operation mitzuteilen.

Damit ein Statusanzeiger in der Statusleiste angezeigt wird, müssen Sie zunächst die Funktion SysCmd mit der Aktion acSysCmdInitMeter und den Argumenten Text und Wert aufrufen. Ist das Argument Aktion auf acSysCmdInitMeter eingestellt, gibt das Argument Wert den Maximalwert (gleich 100 Prozent) des Statusanzeigers an.

Sie aktualisieren den Statusanzeiger, um den Fortschritt der Operation anzuzeigen, indem Sie SysCmd mit der Aktion acSysCmdUpdateMeter und dem Argument Wert aufrufen. Hat das Argument Aktion den Wert acSysCmdUpdateMeter, verwendet SysCmd das Argument Wert, um den im Statusanzeiger angezeigten Prozentsatz zu berechnen. Wenn Sie z.B. den Maximalwert auf 200 einstellen und anschließend den Statusanzeiger mit dem Wert 100 aktualisieren, wird der Statusanzeiger bis zur Mitte gefüllt.

Sie können auch den in der Statusleiste angezeigten Text ändern, indem Sie SysCmd mit der Aktion acSysCmdSetStatus und dem Argument Text aufrufen. Während eines Sortiervorgangs könnte der Text z.B. in "Sortiervorgang läuft..." geändert werden. Sobald der Sortiervorgang abgeschlossen ist, könnten Sie die Statusleiste zurücksetzen, indem Sie den Text entfernen. Das Argument Text kann ungefähr 80 Zeichen enthalten. Da der Text in der Statusleiste in einer Proportionalschriftart angezeigt wird, ist die tatsächliche Anzahl der angezeigten Zeichen von der Gesamtbreite aller durch Text angegebenen Zeichen abhängig.

Wenn Sie den in der Statusleiste angezeigten Text verbreitern, wird der Statusanzeiger entsprechend gekürzt. Ist der Text länger als die Statusleiste und das Argument Aktion auf acSysCmdInitMeter eingestellt, ignoriert die Funktion SysCmd den Text, so daß in der Statusleiste nichts angezeigt wird. Ist der Text länger als die Statusleiste und das Argument Aktion auf acSysCmdSetStatus eingestellt, kürzt SysCmd den Text so, daß er in die Statusleiste paßt.

Sie können den Statusleistentext nicht auf eine leere Zeichenfolge (" ") einstellen. Zum Löschen des vorhandenen Textes aus der Statusleiste müssen Sie das Argument Text auf ein Leerzeichen einstellen. Die folgenden Beispiele zeigen, wie Text aus der Statusleiste gelöscht werden kann:

varRückgabe = SysCmd(acSysCmdInitMeter, " ", 100)

varRückgabe = SysCmd(acSysCmdSetStatus, " ")

Wird der Statusanzeiger bereits angezeigt, wenn Sie den Text einstellen, indem Sie die Funktion SysCmd mit der Aktion acSysCmdSetStatus aufrufen, löscht die Funktion SysCmd den Statusanzeiger automatisch.

Rufen Sie die Funktion SysCmd mit anderen Aktionen auf, um Systeminformationen über Microsoft Access zu erhalten, z.B. welche Version von Microsoft Access ausgeführt wird, ob es sich um eine Laufzeitversion handelt, wo sich die ausführbare Datei von Microsoft Access befindet, welche Einstellung für das Argument /profile in der Befehlszeile angegeben wurde und wie der Name der .INI-Datei lautet, die zu Microsoft Access gehört.

Anmerkung   Sowohl die allgemeinen als auch die benutzerdefinierten Einstellungen von Microsoft Access werden jetzt in der Windows-Registrierung gespeichert, so daß Sie wahrscheinlich keine .INI-Datei für Ihre Microsoft Access-Anwendung benötigen. Die Aktion acSysCmdIniFile gibt es nur aus Gründen der Kompatibilität mit früheren Versionen von Microsoft Access.

Rufen Sie die Funktion SysCmd mit der Aktion acSysCmdGetObjectState und den Argumenten Objekttyp und Objektname auf, um den Zustand eines angegebenen Datenbankobjekts zurückzugeben. Es gibt vier mögliche Zustände für ein Objekt: nicht geöffnet bzw. nicht vorhanden, geöffnet, neu, geändert, aber noch nicht gespeichert.

Wenn Sie z.B. einen Assistenten entwickeln, der ein neues Feld in eine Tabelle einfügt, müssen Sie ermitteln, ob die Struktur der Tabelle geändert, aber noch nicht gespeichert wurde, damit Sie die Tabelle speichern können, bevor Sie ihre Struktur verändern. Sie ermitteln den Zustand der Tabelle, indem Sie den von der Funktion SysCmd zurückgegebenen Wert auswerten.

Wird die Funktion SysCmd mit der Aktion acSysCmdGetObjectState aufgerufen, kann sie eine beliebige Kombination der folgenden Konstanten zurückgeben.

Konstante	Zustand des Datenbankobjekts
acObjStateOpen	Geöffnet
acObjStateNew	Neu
acObjStateDirty	Geändert, aber nicht gespeichert
Anmerkung   Wenn das Objekt, auf das durch das Argument Objektname verwiesen wird, nicht geöffnet oder nicht vorhanden ist, gibt die Funktion SysCmd den Wert 0 zurück.


SysCmd-Funktion - Beispiele

In diesem Beispiel wird ein Recordset-Objekt vom Typ Snapshot erstellt. Anschließend werden alle Datensätze gelesen, und es wird ein Statusanzeiger angezeigt, der die aktuelle relative Position im Snapshot angibt.

Function DSätzeLesen(strTabelle As String) As Integer

Const conUnbrauchbareArgumente = -1

Dim dbs As Database, rst As Recordset

Dim lngAnzahl As Long, strMldg As String

Dim varRückgabe As Variant, lngX As Long

DSätzeLesen = 0

If strTabelle <> "" Then

DoCmd.Hourglass True

Set dbs = CurrentDb

On Error Resume Next

Set rst = dbs.OpenRecordSet(strTabelle)

' Die Anzahl der Datensätze ermitteln.

rst.MoveLast

rst.MoveFirst

If Err Then

DSätzeLesen = conUnbrauchbareArgumente

End If

lngAnzahl = rst.RecordCount

On Error GoTo 0

If lngAnzahl Then

strMldg = "Lesen von " & UCase$(strTabelle) & "..."

varRückgabe = SysCmd(acSysCmdInitMeter, strMldg, lngAnzahl)

' Die Meldung in der Statusleiste anzeigen.

For lngX = 1 To lngAnzahl

varRückgabe = SysCmd(acSysCmdUpdateMeter, lngX)

' Den Statusanzeiger aktualisieren.

.	' Den Datensatz bearbeiten.

.

.

rst.MoveNext	' Zum nächsten Datensatz wechseln.

Next lngX

varRückgabe = SysCmd(acSysCmdClearStatus)

GoSub ObjekteSchließen

DSätzeLesen = lngAnzahl	' Die Anzahl der Datensätze zurückgeben.

Exit Function

End If

End If

' Die Tabelle wurde nicht gefunden oder enthält

' keine Datensätze.

strMldg = "Die Tabelle '" & strTabelle & "' wurde nicht gefunden oder enthält keine Datensätze."

MsgBox strMldg, vbInformation, "DSätzeLesen"

GoSub ObjekteSchließen

Exit Function

ObjekteSchließen:

On Error Resume Next

rst.Close

dbs.Close

On Error GoTo 0

DoCmd.Hourglass False

Return

End Function

Das nächste Beispiel verdeutlicht, wie Sie die Funktion SysCmd zusammen mit der Aktion acSysCmdGetObjectState einsetzen können, um den Zustand des aktiven Datenbankobjekts zu ermitteln.

Dim intObjTyp As Integer, strObjName As String, intObjState As Integer

intObjTyp = Application.CurrentObjectType

strObjName = Application.CurrentObjectName

intObjState = SysCmd(acSysCmdGetObjectState, intObjTyp, strObjName)

If intObjState <> 0 Then

.

.

.

End If