versuche mich gerade an einer Datenbank.
Eigentlich klappt es ganz gut, doch nun ist mehr ein Fehler aufgefallen wo ich leider nicht weiss, wie ich den beheben kann.
Ich habe ein Übersichtsformular mit allen Aufträgen. Über einen Button öffnet man dann ein neues Formular mit den Details zu dem Auftrag. Dazu habe ich ein Modul, welches eine globale Variable enthält, um den entsprechenden Datensatz zu finden. Die Variable ist:
Option Compare Database
Global Datensatz As Single
Option Explicit
Beim Öffnen des Formulars wird dann der Datensatz gesucht:
Problem ist jetzt folgendes. Wenn ich die Datenbank frisch öffnen, funktioniert dies nicht. Mir wird immer der erste Auftrag angezeigt.
Wenn ich jetzt einmal das Modul mit meiner Variablen öffne und wieder schliesse funktioniert alles wie es soll, es wird der richtige Auftrag rsaugesucht. Woran kann dies liegen??? Muss ich das Modul erst irgendwie aktivieren? Oder die globale Variable schon irgendwie falsch? Leider kein Experte, sondern learning bei doing…
zunächst kommt mir Global Datensatz As Single spanisch vor. Warum „Single“?
Zur Frage: eine globale Variable, so sie denn in einem Standardmodul deklariert ist (und irgendwann irgendwo definiert/gesetzt wird), ist nur solange gültig/vorhanden, bis die Access-Sitzung beendet wird. D. h, die Variable (und deren Wert) sind nur im Arbeitsspeicher der Access-Instanz vorhanden.
Soll der Wert dauerhaft, also über Access-Sitzungen hinweg, beibehalten werden, so muss entweder der Wert in einer Tabelle oder als (hinzugefügte) benutzerdefinierte Eigenschaft (user property) der Access-Applikation gespeichert werden.
ich glaube, das Problem liegt nicht am Öffnen der Detaildatensätze (das ich im Übrigen mit einem verknüpften Unterformular lösen würde) , sondern darin, nach einem Neustart der DB gleich auf dem zuletzt angezeigten (Auftrags)-Datensatz zu stehen…