onhandig tellen

Status
Niet open voor verdere reacties.

JEPEDEWE

Terugkerende gebruiker
Lid geworden
14 jun 2006
Berichten
1.682
Ik wil het aantal records tellen na het lopen van een querry

Code:
    sql = "SELECT DATA.DATUM, DATA.CODE WHERE DATA.KODE = '" & Forms!Voorschrift_nieuw!Kode & "';"
    Set TB = db.OpenRecordset(sql)
    TB.MoveLast
    TB.MoveFirst
    AANTAL = TB.RecordCount
    If AANTAL >= 18 Then...................

Als er geen records bestaan dan krijg ik een fout op lijn TB.MoveLast
Zijn er wél records dan loopt de code correct

Ik denk dat er toch een handigere (en foutloze) manier moet bestaan om dat te doen wat ik doe... iemand tips?

Bedankt
JP
 
Dat valt wel mee; hooguit een extra ‘beveiliging’ inbouwen, bijvoorbeeld door te controleren of het aantal records groter is dan 0. Of een check op BOF en EOF.

Code:
     If rs.RecordCount > 0
     If rs.EOF <> rs.BOF
 
Je gebruikt eens Code en dan Kode in je benaming?
En verder kan een DCount met Nz normaal wel alles tellen in één regeltje, iets in de zin van
Code:
Dim staantal as integer
stAantal = Nz(DCount("Data", "Kode", "Kode= '" & Forms!Voorschrift_nieuw!Kode & "'),0)
 
@Johan: JP gebruikt inderdaad twee verschillende velden met de namen KODE en CODE. Don’t ask :). Ik zou in deze situatie geen (toch al niet al te snelle) DCOUNT gebruiken, omdat er toch al een recordset open is. Gelijk boter bij de vis halen dus, en de check in de recordset houden.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan