PDA

Vollständige Version anzeigen : Von hinten suchen...


xnitrox
20.01.2003, 11:18
Hallo,
ich hab hier eine kleine Suchfunktion. Das Problem ist, mittlerweile sind sehr viele Datensätze vorhanden. Er fängt halt immer von vorne an zu suchen. Da ich aber Datensätze fast immer von hinten benötige wäre es natürlich besser wenn er auch von hinten anfängt zu suchen.
So gut kenn ich mich nicht aus, aber wenn ich statt "rs.FindFirst" - "rs.FindLast" angebe, passiert rein gar nichts. Bzw. er sucht trotzdem von vorne. Was mache ich falsch?

Hier die such Funktion:

rs.FindFirst "[Fahrgestellnummer 3] = '" & Schlüssel3 & "'"
If rs.NoMatch = True Then
MsgBox "Das Fahrzeug ist nicht vorhanden!", vbCritical, "Meldung"
Exit Sub
Else
DoCmd.Hourglass True
DoCmd.Echo False
DoCmd.GoToRecord acForm, aktuellesFormular, acFirst
Select Case aktuellesFormular
Case "Datenpflege Admin"
While Forms![Datenpflege Admin].[Fahrgestellnummer 3] <> Schlüssel3
DoCmd.GoToRecord acForm, aktuellesFormular, acNext
Wend

Aquarii
20.01.2003, 11:31
Hallo xnitrox,

ich würde den Code umbauen, in dem ich zu dem letzten Datensatz wechseln würde und dann Datensatzweise nach vorn "blättere"


rs.movelast
Do
...
rs.movePrevious
loop Until rs.BOF

rs.close

xnitrox
20.01.2003, 13:16
... aber da ich nicht den richtigen peil hab, weiss ich nicht welche Passage jetzt genau bei "..." einzusetzen ist. Was genau muss ich übernehmen? Ich krieg ihr ständig Fehlermeldungen :-(

Gast
20.01.2003, 14:05
... oder Du Läßt Deinen Code so wie er ist und trägst beim OpenRecordset statt Deinem Tabellenname folgendes ein:
Select * From <Tabellenname> Order By <deinsortierfeld_womöglich_eingangsdatum>...

xnitrox
20.01.2003, 16:04
...aber so doof wies klingen mag. Ohne die Schleife (für die erste Antwort) kann ich nix machen. Ich hab erst seit ein paar Tagen Access und häng auch direkt schon fest. Bin Anwender, kein Programmierer.

Gruss

nitro