Nachschlag-Tabellen-Problem

Hallo Access-Gurus,

ich bastle gerade an einer DB in Access_2000.
Dabei möchte ich bei einer Adresserfassung in einem Feld das Bundesland erfassen - über eine Nachschlagtabelle - das funktioniert schon.
Ins nächste Feld kommt dann der politische Bezirk. Dafür habe ich mir auch eine Nachschlagtabelle erstellt, mit Land und Bezirk, damit bei der Auswahlliste nicht alle Bezirke kommen, sondern nur die zum gerade gewählten Bundesland. Das geht aber nur, wenn der Datensatz schon gespeichert ist, oder? Gibt es eine Möglichkeit, den Inhalt eines Maskenfeldes dafür auszulesen? oder denke ich da verkehrt? geht das nur über ein Makro? Wann speichert Access die daten eines feldes in einer Tabelle? Gleich? oder erst wenn eine andere Tabelle angesprochen wird?
Fragen über Fragen…

Christof

Hallo, Christof!

Das geht aber
nur, wenn der Datensatz schon gespeichert ist, oder?

Nein:

Gibt es eine Möglichkeit, den Inhalt eines Maskenfeldes dafür
auszulesen?

Ja. Den Filter auf Deinen Bezirk setzt Du am besten im AfterUpdate-Ereignis des Steuerelements, welches das Bundesland angibt.

geht das nur über ein Makro?

Am besten per VBA. Ansonsten wärst Du, wie Du es wohl schon umgesetzt hast, auf die Auslösung bestimmter Ereignisse angewiesen, die aber relativ leicht umgangen werden können (nicht böswillig, sondern aus Versehen, z. B. weil der Datensatz nicht gespeichert wird, weil irgendwo anders hin geklickt wird…).

Wann speichert Access die daten eines feldes in einer
Tabelle? Gleich? oder erst wenn eine andere Tabelle
angesprochen wird?

Wenn in einen neuen Datensatz gesprungen wird oder das Formular gespeichert wird. Wenn Du z. B. einstellst, dass nach dem letzten Feld im Formular ein neuer Datensatz angesprungen werden soll, nach dem TAB gedrückt wurde, wird der Datensatz dann gespeichert. Wenn Du ein Unterformular hast und in dieses hineinklickst, wird (je nach Datenquelle(n)) der Datensatz ebenfalls gespeichert. Oder, wenn Du [Strg]+[S] drückst, wird i. d. R. der Datensatz ebenfalls gespeichert.

Gruß, Manfred