Enthält gefiltertes Formular Daten? (Access 97, 2000)
Veröffentlicht am 30.12.2003
Frage:
Wie kann man in Erfahrung bringen, ob in einem gefilterten Formular Daten enthalten sind?
Antwort:
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.