Form.Bookmark-Eigenschaft (Access)

Verwenden Sie die Bookmark-Eigenschaft mit Formularen, um ein Lesezeichen festzulegen, das einen bestimmten Datensatz in der dem Formular zugrunde liegenden Tabelle, Abfrage oder SQL-Anweisung eindeutig identifiziert. Variant mit Lese-/Schreibzugriff.

Syntax

Ausdruck. Lesezeichen

expression Eine Variable, die ein Form-Objekt darstellt.

HinwBemerkungeneise

Hinweis

Die BookmarkBookmark-Eigenschaft des Formulars wird unabhängig von der Bookmark-Eigenschaft von ADO oder der Bookmark-Eigenschaft von DAO der zugrunde liegenden Tabelle oder Abfrage abgerufen oder festgelegt.

Wenn ein gebundenes Formular in der Formularansicht geöffnet wird, wird jedem Datensatz ein eindeutiges Lesezeichen zugewiesen. In Visual Basic können Sie das Lesezeichen für den aktuellen Datensatz speichern, indem Sie den Wert der Bookmark-Eigenschaft des Formulars einer Zeichenfolgenvariablen zuweisen. Um nach dem Verschieben zu einem anderen Datensatz zu einem gespeicherten Datensatz zurückzukehren, legen Sie die Bookmark-Eigenschaft des Formulars auf den Wert der gespeicherten Zeichenfolgenvariablen fest. Verwenden Sie die StrComp-Funktion , um eine Variant- oder Zeichenfolgenvariable mit einem Lesezeichen zu vergleichen, oder wenn Sie ein Lesezeichen mit einem Lesezeichen vergleichen. Das dritte Argument für die StrComp-Funktion muss auf den Wert 0 (null) festgelegt werden.

Hinweis

Lesezeichen werden nicht mit den Datensätzen gespeichert, die sie darstellen, und sind nur gültig, wenn das Formular geöffnet ist. Sie werden bei jedem Öffnen eines gebundenen Formulars von Microsoft Access neu generiert.

Es gibt keine Beschränkung für die Anzahl der Lesezeichen, die Sie speichern können, wenn jedes mit einer eindeutigen Zeichenfolgenvariablen gespeichert wird.

Die BookmarkBookmark-Eigenschaft ist jeweils nur für den aktuellen Datensatz des Formulars verfügbar. Um das Lesezeichen eines anderen Datensatzes zu speichern, müssen Sie zum gewünschten Datensatz wechseln und den Wert der BookmarkBookmark-Eigenschaft in einer Stringvariablen speichern, die diesen Datensatz kennzeichnet.

Verwenden Sie Lesezeichen in jeder Form, die vollständig auf Access-Tabellen basiert. Allerdings unterstützen andere Datenbankprogramme möglicherweise keine Lesezeichen. So können Sie beispielsweise in einem Formular, dem eine verknüpfte Tabelle ohne Primärindex zugrunde liegt, keine Lesezeichen benutzen.

Ein erneutes Abfragen eines Formulars bewirkt, dass alle für Datensätze des Formulars definierten Lesezeichen ungültig werden. Die Auswahl von Aktualisieren im Menü Datensätze wirkt sich jedoch nicht auf Lesezeichen aus.

Da Access beim Öffnen eines Formulars ein eindeutiges Lesezeichen für jeden Datensatz im Recordset eines Formulars erstellt, funktioniert die Textmarke eines Formulars nicht für ein anderes Recordset, selbst wenn die beiden Recordsets auf derselben Tabelle, Abfrage oder SQL-Anweisung basieren. Angenommen, Sie öffnen ein Formular, das an die Tabelle Customers gebunden ist. Wenn Sie die Tabelle Customers mithilfe von Visual Basic öffnen und dann die ADO Seek-Methode oder DAO Seek-Methode verwenden, um einen bestimmten Datensatz in der Tabelle zu suchen, können Sie die Bookmark-Eigenschaft des Formulars nicht auf den aktuellen Tabellendatensatz festlegen. Um diese Art von Vorgang auszuführen, können Sie die ADO Find-Methode oder die DAO Find-Methode mit der RecordsetClone-Eigenschaft des Formulars verwenden.

Wenn Sie die BookmarkBookmark-Eigenschaft auf den Wert einer Stringvariablen festlegen, die das Lesezeichen eines zuvor gelöschten Datensatz enthält, und anschließend versuchen, zu diesem Datensatz zu gelangen, tritt ein Fehler auf.

Der Wert der Bookmark-Eigenschaft ist nicht dasselbe wie eine Datensatznummer.

Beispiel

Um das folgende Beispiel mit der Northwind-Beispieldatenbank zu testen, müssen Sie dem Formular Lieferanten eine Befehlsschaltfläche mit dem Namen cmdFindContactName hinzufügen und dann dem Click-Ereignis der Schaltfläche den folgenden Code hinzufügen. Nach dem Klicken auf die Schaltfläche wird der Benutzer dazu aufgefordert, einen Teil des Namens der gesuchten Kontaktperson einzugeben. Wird der Name gefunden, wird die Bookmark -Eigenschaft des Formulars auf die Bookmark -Eigenschaft von DAO des Recordset -Objekts festgelegt, wodurch der Datensatz, der den Namen enthält, zum aktuellen Datensatz des Formulars wird.

Private Sub cmdFindContactName_Click() 
 
 Dim rst As DAO.Recordset 
 Dim strCriteria As String 
 
 strCriteria = "[ContactName] Like '*" & InputBox("Enter the " _ 
 & "first few letters of the name to find") & "*'" 
 
 Set rst = Me.RecordsetClone 
 rst.FindFirst strCriteria 
 If rst.NoMatch Then 
 MsgBox "No entry found.", vbInformation 
 Else 
 Me.Bookmark = rst.Bookmark 
 End If 
 
 Set rst = Nothing 
 
End Sub

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.