am 08.06.2009 9:29 Uhr schrieb Stefan Sicurella unter [email protected]:
Hi,
> Also so viel wie ich weiß und ich benutze das auch so, bekommst du
> wenn du mit rowid aufrufst im ersten Datensatz immer die Anzahl der
> Datensätze.
Ich glaube, da hast Du was in den falschen Hals bekommen. Wenn man dieses
statement betrachtet:
> rsDaten = DB_Inst.SQLSelect("SELECT rowID, Klasse, NrInKlasse,
> NAME_VORNAME, Geschlecht, " + aktuSQL_SELECTString + " FROM tblAlles
> WHERE " + aktuSQL_WHEREString)
, dann ist die Behauptung
> In deinem Fall is idxfield(1).integerValue die Anzahl der Datensätze.
nicht richtig, vielmehr erhält man einfach die rowID des aktuellen
Datensatzes.
> Alle weiteren Felder verschieben sich dann um einen Wert wenn du mit
> idxfield(integervalue).stringvalue aufrufst
> Deshalb empfehle ich immer mit rsDaten.field("Klasse").stringvalue das
> Feld direkt anzugeben...
> Warum bei dir beim zweiten Durchlauf die Daten des ersten Datensatzes
> fehlen sehe ich auf Anhieb leider nicht.
Zufällig ist mir bekannt, das die recordset.movefirst-Implementierung für
einige DBs nicht funktioniert (was an den plugins liegen dürfte).
Wahrscheinlich ist das einfach nur ein bug.
Warum musst Du den Recordset 2-mal durchlaufen? Lies doch alles was Du
brauchst beim ersten Versuch aus und lade den Inhalt halt in Arrays oder so.
Ciao,
Maximilian Tyrtania