VBA Tipp: Aktuelle Datensatznummer / Gesamtzahl der Datensätze

Aus DBWiki
Wechseln zu: Navigation, Suche

Anforderung

Ich möchte in einem Formular mit selbstgebauten Navigationselementen wie bei den Access-Navigationsschaltflächen die Nummer des aktuellen Datensatzes und die Gesamtzahl der Datensätze in einem Textfeld anzeigen lassen (z.B. 3 von 25).

Lösung

Die folgende Prozedur für das Ereignis Beim Anzeigen (Form_Current) leistet das Gewünschte. Im Formular muss ein Textfeld mit dem Namen Datensatznummer vorhanden sein.

Private Sub Form_Current()
 
   'Quelle: http://www.dbwiki.net/
 
   Dim rs     As DAO.Recordset
   Dim strakt As String
   Dim stranz As String
 
   stranz = 1
   strakt = 1
 
   On Error GoTo Ende
   Set rs = Me.RecordsetClone
   stranz = CStr(rs.RecordCount)
 
   If rs.RecordCount > 0 Then
 
      If Me.NewRecord Then
         stranz = stranz + 1
         strakt = stranz
      Else
         rs.Bookmark = Me.Bookmark
         strakt = CStr(rs.AbsolutePosition + 1)
      End If
 
      rs.MoveLast
 
   End If
 
Ende:
   Me.Datensatznummer = strakt & " von " & stranz
 
End Sub

Wikilinks