#

Download:

Datei 1: 2017-03-28 Goto Record.zip

 

 

Wie setzt man den aktuellen Datensatz in einem MS Access Datenblatt als Unterformular zu einer bestimmten Position?

 

Aufgabe: Ich möchte per vba Befehl den Datensatz in einem Unterformular auf eine bestimmte Position setzen oder markieren.

 

 

Betrifft: vba, Recordset, currentrecordset, RecordsetClone, Bookmark, Goto, GotoRecordset

 

    '*move current recordset to row with ID=10

 

    '< get Datasheet Recordset >

    Dim rec As Recordset

    Set rec = ctlSubForm.Form.Recordset

    '</ get Datasheet Recordset >

   

    '< goto Recordset visible >

    rec.FindFirst "ID=10"

    '</ goto Recordset visible >

 

 

Beim Ausführen des Form.Recordset.FindFirst wird automatisch der Datensatz in die Position des Treffers gesetzt und quasi markiert.

Allerdings entspricht das noch nicht einem echten Markieren oder auswählen (Bookmark)

 

Beim Ausführen von rec.FindFirst "User='AA'" wird nach einer anderen Spalte gesucht.

 

 

Datenstruktur:

Die Übungstabelle hat nur zwei Spalten oder Felder:ID und User.

 

Unterformular:

Damit man Steuerelemente wie die zwei oberen Buttons anzeigen kann und gleichzeitig eine Datentabelle als Ansicht hat, kann man in einem Hauptformular ein Unterformular einbetten, welches im Unterformular die Datentabelle enthält.

Die Datentabelle entspricht einem Formular, dessen Standardansicht auf Datenblatt eingestellt wird.

 

 

 

Vba Code zum Bewegen des aktuellen Datensatzes in einem Formular-Datenblatt

Option Compare Database

Option Explicit On

 

Private Sub btnGoto11_Click()

    '-------------< btnGoto11_Click() >-------------

    '*move current recordset to row with ID=10

 

    '< get Datasheet Recordset >

    Dim rec As Recordset

    Set rec = ctlSubForm.Form.Recordset

    '</ get Datasheet Recordset >

   

    '< goto Recordset visible >

    rec.FindFirst "ID=10"

    '</ goto Recordset visible >

    '-------------</ btnGoto11_Click() >-------------

End Sub

 

 

 

Private Sub btnGotoAA_Click()

    Dim rec As Recordset

    Set rec = ctlSubForm.Form.Recordset

   

    rec.FindFirst "User='AA'"

End Sub

 

 

In Visual Basic for Application…

Beide Button Ereignisse

Mobile

.

0123movie.net