Hallå! Det finns inget fel. RecordCount fungerar på följande sätt:<br>Antal rader i en Recordset
Har ett problem med Recordset. När jag försöker få ut antalet rader i Recordsettet så får jag alltid svaret -1. Även fasst jag VET att det är t.ex. 6 rader. Kan påpekas att jag använder MyODBC och DSN för att ansluta till en MySQL databas.
Koden ser ut så här:
<code>
dbQuery = "select * from int_forumpost where id = " & I
Set myRes = myCon.Execute(dbQuery)
numrows = myRes.RecordCount
</code>
numrows får värdet -1, men hämtar jag varje rad försig tills myRes.EOF så får jag fram att det är t.ex. 6 rader.
Vad är fel?
MvH JonasSv: Antal rader i en Recordset
Om du öppnar ett recordset utan poster - Retunerar den 0.<br>
Om du öppnar ett recordset som providerin inte vet antalet poster i - Retunerar den -1.<br>
Om du öppnar ett recordset som providerin känner till antalet poster i - Retunerar den korrekt antal poster.<br>
<br>
Finns flera sätt att öppna ett recordset som är medvetet om sina antal rader. Men du kan inte göra det med execute. Utan du måste använda ett separat recordset.<br>
<br>
Olika alternativ:<br>
* ClientSideCursor's - Fungerar med alla cursor's.
<code>
rs.CursorLocation =adUseClient
</code>
* StaticCursor - Ögonblicksbild. Förändras inte. Därför känner den till antal poster.
<code>
rs.Open "SELECT * FROM TabellNamn", Connection, adOpenStatic
</code>