Mit Hilfe der CurrentRecord-Eigenschaft können Sie den aktuellen Datensatz eines Formulars ermitteln, ob gefiltert oder ungefiltert.
Wenn CurrentRecord nicht 0 ist, dann enthält das Formular momentan mindestens einen gespeicherten Datensatz. Es kann aber auch vorkommen, dass der Benutzer gerade einen neuen Datensatz bearbeitet. In diesem Fall hat die CurrentRecord-Eigenschaft trotzdem den Wert 0. Hier schafft die NewRecord-Eigenschaft (True für neue Datensätze) Abhilfe.
Eine allgemeine Eigenschaft-Funktion namens HasRecords, die feststellt, ob ein Formular Datensätze enthält, könnte also so aussehen:
Private Property Get HasRecords() As Boolean
If Nz(Len(Me.RecordSource), 0) = 0 Then
'Formular hat keine Datensatzherkunft
HasRecords = False
Else
HasRecords = Me.CurrentRecord <> 0 And Not Me.NewRecord
End If
End Property
Diese schreibgeschützte Eigenschaft können Sie in jedem beliebigen Formular verwenden.