Records tellen

Status
Niet open voor verdere reacties.

Sytse1

Gebruiker
Lid geworden
9 aug 2007
Berichten
584
Office versie
miDer
In dit forum staan verschillende vragen over het tellen van records.
Ik heb ook hierover een vraag.
De volgende VBA functie telt 1 record meer dan er in de tabel staat.
Het kan toch niet zo zijn dat een evt nieuw record wordt meegeteld?
Code:
Function TelRec()
 With Forms!F_1 'Formulier naam F_1
 If Forms!F_1.RecordsetClone.RecordCount > 0 Then Forms!F_1.RecordsetClone.MoveLast
 !txtRecordDisplay = "Nr: " & .CurrentRecord & " van totaal " & .RecordsetClone.RecordCount
 End With
End Function
Wellicht zit er toch een fout in deze code?

De volgende code werkt goed maar dat -1 moet toch niet de bedoeling zijn.
Code:
Function TelRec()
 With Forms!F_1 'Formulier naam F_1
 If Forms!F_1.RecordsetClone.RecordCount > 0 Then Forms!F_1.RecordsetClone.MoveLast
 !txtRecordDisplay = "Nr: " & .CurrentRecord & " van totaal " & .RecordsetClone.RecordCount - 1
 End With
End Function
 
Laatst bewerkt:
Het kan toch niet zo zijn dat een evt nieuw record wordt meegeteld?

Dat is inderdaad hoe RecordsetClone werkt.
Het kijkt naar het aantal rijen dat een formulier in totaal weergeeft, ongeacht of een record nieuw is (en nog niet opgeslagen).
Als je dat niet wil, gebruik dan SQL met een count functie (of Dcount).
Of gebruik Recordset i.p.v. RecordsetClone.

Tardis
 
Bedankt voor je antwoord. Weer wat wijzer.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan