Probleme Mit Recordset.recordcount

Hallo, habe ein VB Programm und eine access Datenbank.
Möchte nun eine Schleife n-recordcount mal durchlaufen lassen.

In meiner Tabelle sind ca. 9 Datensätze. Das Problem ist nun, dass das Recordcount am Anfang immer =1 ist, und nicht die tatsächliche Anzahl z.B.9 wiedergibt! Nach einigen sekunden ändert sich der recordcount auf den tatsächlichen Wert.

sql2 = "Select* from Datenspeicherung_allgemeine_Daten "
Data3.RecordSource = sql2
Data3.Refresh

Was kann das sein?
Danke

hallo neuling,

wieso machst du nicht eine schleife wie:

do until recordset.eof


rs.movenext
loop

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi

Das mit dem Recordcount = 1 passiert aus Performance-Gründen, da es bei (wirklich) viel Daten zu lange dauern würde, bis alle Datensätze durchlaufen wären.

Wenn du aber die Anzahl unbedingt im Voraus wissen willst, kannst du das enweder mit der (in der 1. Antwort beschriebenen) Schlaufe tun oder einfach mit

  • rs.MoveLast
  • rs.MoveFirst
    zuerst zum letzen Datensatz und dann wieder zum Ersten zurückspringen. Die Eigenschaft „Recordcount“ zeigt dir jetzt auch die korrekte Anzahl an…

Gruss Gabriel

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Habe das Problem gelöst.Da ich teilweise mit Kommazahlen gearbeitet habe, SQl bzw Access die Werte in z.B 2.3 umwandelt, habe ich alle Werte in Str(variable) umgewandelt. Und siehe da, es funtzt.

Danke