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
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.