Form.Bookmark-Eigenschaft (Access)

Verwenden Sie die Bookmark-Eigenschaft für Formulare, um eine Textmarke festzulegen, die einen bestimmten Datensatz in der zugrunde liegenden Tabelle, Abfrage oder SQL-Anweisung des Formulars eindeutig identifiziert. Variant mit Lese-/Schreibzugriff.

Syntax

Ausdruck verwendet werden. Lesezeichen

expression Eine Variable, die ein Form-Objekt darstellt.

Hinweise

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 eine eindeutige Textmarke zugewiesen. In Visual Basic können Sie die Textmarke für den aktuellen Datensatz speichern, indem Sie den Wert der Lesezeichen-Eigenschaft des Formulars einer Zeichenfolgenvariablen zuweisen. Wenn Sie nach dem Wechsel zu einem anderen Datensatz zu einem gespeicherten Datensatz zurückkehren möchten, legen Sie die Bookmark-Eigenschaft des Formulars auf den Wert der gespeicherten Zeichenfolgenvariablen fest. Verwenden Sie die StrComp-Funktion , um eine Varianten- oder Zeichenfolgenvariable mit einer Textmarke zu vergleichen oder wenn Sie eine Textmarke mit einer Textmarke vergleichen. Das dritte Argument für die StrComp-Funktion muss auf den Wert Null festgelegt werden.

Hinweis

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

Die Anzahl der Lesezeichen, die Sie speichern können, ist unbegrenzt, 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 Textmarken 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 für jeden Datensatz im Recordset eines Formulars eine eindeutige Textmarke 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 Kunden gebunden ist. Wenn Sie die Tabelle Kunden mit Visual Basic öffnen und dann die ADO-Suchmethode oder die DAO-Suchmethode verwenden, um einen bestimmten Datensatz in der Tabelle zu suchen, können Sie die Lesezeicheneigenschaft des Formulars nicht auf den aktuellen Tabellendatensatz festlegen. Für diese Art von Vorgang 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 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.