Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Letzter Datensatz mit command wieder aufrufen

Begonnen von derilzemer, November 28, 2016, 20:52:45

⏪ vorheriges - nächstes ⏩

derilzemer

Hallo,
ich habe in meiner DB eine Funktion, welche mir den letzten Datensatz anzeigen sollte.
Private Sub cmdLetzterDatensatz_Click()
    Me.Recordset.FindFirst "SpielID=" & lastID
End Sub

Aber irgendwie geht das so nicht, auch wenn ich der Meinung bin es hatr schopn funkltioniert. Anyway. Diese Funktion "letzter Datzensatz noch einmal aufrufen" wird von mir oft im Zusammenhang mit einer Suche benötigt, welche über ein eigenes Formular läuft. Ich habe aktuell 2500 Spiele. Da kann es dann vorkommen, dass ich ein Spiel über die Suche aufrufe, z.B. ID1346. Danach gehe ich in die Suche und suche ein weiteres Spiel, was z.B. die ID 2021 hat und aufrufe. Dann muss ich aber noch einmal zurück in Datensatz ID1346. Ist das zu bewerkstelligen? Ich habe gelesen, dazu muss man eine Tabelle haben, wo Access dies letze ID immer temporär ablegt, ist das richtig? Wenn ja, wer kann mich da unterstützen?

mfG
A. Müller
Grüße und Dank im voraus
Andreas

ebs17

ZitatDann muss ich aber noch einmal zurück in Datensatz ID1346
Dazu müsstest Du Dir die ID in irgendeiner Form gemerkt haben, um nachträglich darauf zugreifen und sie wie gezeigt verwenden zu können. Möglichkeiten dazu wären globale Variablen, Felder eines Hintergrundformulares oder TempVariablen.
Nachhaltig ist aber die Speicherung in einer Tabelle. Tabellen sind die nativen Objekte in einer Datenbank, und hier hättest Du auch eine Speicherung über das Schließen der Anwendung hinaus.

Grundzüge einer Verlaufsspeicherung:
- Tabelle, Feld für ID,  Feld für Zeitstempel, ggf. Erläuterungsfeld
- Im Form_Current werden evtl. vorhandene Einträge der aktuellen ID in der Tabelle per Abfrage gelöscht sowie dann die ID mit Now als Zeitstempel neu angelegt.
- Im Formular hast Du ein Listenfeld, das die Tabelleneinträge mit absteigender Zeitstempelsortierung anzeigt. Hier wird ein Eintrag ausgewählt, die ID ist für das FindFirst nutzbar.
- Insgesamt wird man dafür sorgen, dass die Tabelle  bei einer übersichtlichen Datensatzanzahl (20 ?) verbleibt.
Mit freundlichem Glück Auf!

Eberhard

derilzemer

Hallo eberhard,

ZitatGrundzüge einer Verlaufsspeicherung:
- Tabelle, Feld für ID,  Feld für Zeitstempel, ggf. Erläuterungsfeld
- Im Form_Current werden evtl. vorhandene Einträge der aktuellen ID in der Tabelle per Abfrage gelöscht sowie dann die ID mit Now als Zeitstempel neu angelegt.
- Im Formular hast Du ein Listenfeld, das die Tabelleneinträge mit absteigender Zeitstempelsortierung anzeigt. Hier wird ein Eintrag ausgewählt, die ID ist für das FindFirst nutzbar.
- Insgesamt wird man dafür sorgen, dass die Tabelle  bei einer übersichtlichen Datensatzanzahl (20 ?) verbleibt.

Mir würden das ja schon für maximal 5 Datensätze reichen, dann könnte die Einrichtung wie ein Ringspeicher "rollieren".
Ich habe jetzt mal ein wenig gegoogelt :(, das ist trotz allem aber schon einiges an Coding von Nöten, ist ja voll mein Bereich :(. Noch dazu ist es nur ein unvollständiges Exampel :( http://www.access-im-unternehmen.de/942. Da muss ich mal schauen wie ich da weiter komme. Aber danke für die Tips und Hinweise.

Gruß Andreas
Grüße und Dank im voraus
Andreas