Jag har ett VB-projekt med en Access-databas. Jag har skrivit en SQL-sats till en tabell och hämtar de data jag behöver, det funkar bra. Men ibland händer det att den selekterade databas-tabellen är tom. Jag får då ett felmeddelande. Innan du gör något med ett Recordset som du just hämtat från DB så bör du alltid kolla om egenskaperna EOF eller BOF är True för att försäkra dig om att du har fått minst en post i Recordset:et : Om man öppnat recordsetet räcker det med att kontrollera EOF. Vill man kontroller ett recordset som kan ha loopats igenom bör man istället And. Om recordsetet saknar poster är den ju på början och sluttet sammtidigt. Du kan testa det direkt i en loop också, beroende på hur du lägger in data i din kontroll. Until är att rekomendera:tom databas
Hur gör jag för att klara detta problem? ........med någon If-sats, IsNull, eller ......?
Hoppas på svar.
Hälsningar /Gunnar Sv: tom databas
<code>
' Hämta recordsetet här
If mRecordSet.EOF Or mRecordSet.BOF Then
' ... recordsetet är tomt. Meddela användaren eller gör något annat vettigt
Else
' ... använd recordsetet här
End If
</code>Sv: tom databas
Sv: tom databas
<code>
Do While Not rs.eof
'Lägg in data
rs.MoveNext
Loop
</code>
/EggetSv: tom databas
<code>
Do Until rs.eof
'Lägg in data
rs.MoveNext
Loop
</code>
Mer lätt läst, mindre att skriva.