Jag har ett recordset som jag skapat genom en SQL på en Access-databas. Jag vill räkna posterna i detta recordset och kör en kodsnutt som är följande: Det är inget fel på svaret -1. -1 berättar att det finns poster i ditt recordset. Det är inte tomt. Men med den cursor du val attt öpna recordsetet. Kan den tyvär inte ta reda på det exakta antalet poster i ditt recordset. Jag tackar och bugar för tipseet. Nu funkar det precis som det ska. Stort tack Andreas! Om du bara skall läsa från recordsetet så är adOpenDynamic "overkill". Kör istället med adOpenStatic vilket kräver mindre resurser.RecordCount, det blir bara fel...
Private Sub Form_Load()
Set cn = New ADODB.Connection
cn.Open "DSN=MINDATABAS"
Exit Sub
Private Sub cmdSök_Click()
Set rs = cn.Execute(strUttryck)
intAntal = rs.RecordCount
Exit Sub
Detta genererar ett svar som är -1. Jag vet att recordsetet inte är tomt, för samma recordset används för rapportutskrift senare i programmet och det fungerar som det ska.
Vad är det som är fel? Tacksam för hjälp...Sv: RecordCount, det blir bara fel...
Skipa Execute och ange cursor location för recordset till client eller ange en annan cursor typ än forwardonly.Sv: RecordCount, det blir bara fel...
Så här blev koden till slut:
Private Sub cmdSök_Click()
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.Open strSQL, cn, adOpenDynamic, , adCmdText
intAntal = rs.RecordCount
...
Exit SubSv: RecordCount, det blir bara fel...