Supportnet / Forum / Datenbanken
Falsche Reihenfolge beim Auslesen einer Tabelle
Frage
Ich habe ein Problem beim auslesen bzw. beim schreiben von Datensätzen in
externe Access-Tabellen
Das ist zwar nicht das orginale Script, aber das ist ja egal.
Wenn ich dieses Script im Debug Modus durchspiele, merke ich ,das er nicht
mit dem ersten Datensatz
der Tabelle "Test" anfängt, sondern irgendwo in der mitte. Der letzte
Datensatz den er vergleicht ist der
über dem ersten.
Wenn ich den Befehl Tab_Test.movefirst verwende springt er trotzdem nicht zu
dem ersten Datensatz.
Set Arbeitsbereich = DBEngine.Workspaces(0)
Set Datenbank = Arbeitsbereich.OpenDatabase("c:\Tabell.mdb")
Set Tab_Test = Datenbank.OpenRecordset("Test")
Do Until Tab_Test.EOF
If Tab_Test!Name="Tester1" Then GoTo Name_gefunden
Tab_Test.MoveNext
Loop
end
Name_gefunden:
.
.
.
Tab_Test.close
------------------------------
Das steht in der Tabelle "Test":
Tester1
Tester2 <== Diese Zeile ließt er als letzte aus
Tester3 <== Diese Zeile ließt er zuerst aus
Tester4
Tester5
Die Tabelle Test schreibe ich ganz einfach mit
Tab_Test.addnew
Tab_Test!Name="Tester1"
Tab_Test.update
Tab_Test.addnew
Tab_Test!Name="Tester2"
Tab_Test.update
Tab_Test.addnew
Tab_Test!Name="Tester3"
Tab_Test.update
.
.
.
Wenn mir jetzt jemand helfen könnte wär das rießig
MfG Patrick
Antwort 1 von Rooster
Poste mal deine Tabellendefinition und deine Schlüssel !!! Normalerweise sortiert er die Tabellen nach deinem Primärschlüssel ...
Hast du die Daten dann in der Reihenfolge eingegeben wie du Sie jetzt wiederbekommst und hast du evtl. ein Autowert-Feld als Primärindex verwendet ?
Gruss, Rooster
Hast du die Daten dann in der Reihenfolge eingegeben wie du Sie jetzt wiederbekommst und hast du evtl. ein Autowert-Feld als Primärindex verwendet ?
Gruss, Rooster
Antwort 2 von Mick
Hallo, setze vor der Do-Schleife ein Tab_Test.MoveFirst, dann steht der Datensatzzeiger auf dem ersten Satz und es sollte klappen. Gruss Mick

