Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: henfoni am August 03, 2012, 14:42:15

Titel: Datensatz Anzahl im Formular anzeigen
Beitrag von: henfoni am August 03, 2012, 14:42:15
Moin,

ich habe ein gebundenes Formular und möchte die Anzahl der Datensätze die unten in der Datensatzleiste steht, gern in einem Textfeld auf dem Formular anzeigen lassen.

Bin auch nach langem Rumprobieren noch zu keiner besseren Lösung gekommen als:
Private Sub Form_Current()
    Dim rs As Recordset
    Dim lngCount As Long

    Set rs = Me.RecordsetClone
    If Not rs.RecordCount = 0 Then
        With rs
            .MoveFirst
            .MoveLast
            lngCount = .RecordCount
        End With
        Me.txtDSAnzahl = lngCount ' DS-Anzahl notieren
    Else
        Me.txtDSAnzahl = 0
    End If
End Sub

Geht das auch irgendwie eleganter?

Gruß
Titel: Re: Datensatz Anzahl im Formular anzeigen
Beitrag von: Jonny am August 03, 2012, 15:20:35
Hallo,
schreibe in dein Textfeld:
=Anzahl(*)

ein VBA-Code ist nicht notwendig.

Gruß

Johann
Titel: Re: Datensatz Anzahl im Formular anzeigen
Beitrag von: Beaker s.a. am August 03, 2012, 23:52:49
Hallo hefoni,
ZitatGeht das auch irgendwie eleganter?
Unabhängig von Johanns Lösung.
    Set rs = Me.RecordsetClone
'If Not rs.RecordCount = 0 Then
'Diese Zeile/Prüfung brauchst Du nicht
'weil .RecordCount hier u.U. noch nicht den korrekten Wert liefert
'besser
    If rs.BOF And rs.EOF Then
    'ist rs nicht leer
        With rs
'            .MoveFirst
'brauchst Du auch nicht, da DS-Zeiger nach Set rs eh auf dem 1. DS steht
'wenn rs nicht leer ist
            .MoveLast
'damit kommst Du an den korrekten .RecordCount
            lngCount = .RecordCount
        End With
        Me.txtDSAnzahl = lngCount ' DS-Anzahl notieren
    Else
        Me!txtDSAnzahl = 0
    End If
    rs.Close
    Set rs = Nothing
End Sub

gruss ekkehard
Titel: Re: Datensatz Anzahl im Formular anzeigen
Beitrag von: henfoni am August 06, 2012, 14:10:16
und wieder was gelernt, dank euch!