Hallo José,
zunächst einmal Danke für Deine schnelle und doch sehr präzise Antwort. Jedoch habe ich an Deiner Antwort festgestellt, dass meine Frage nicht genau genug war und dass ich einiges nicht verstanden habe. Dazu mehr unten …
Tabelle: SACHSEN
LAND LANDNAM RESSORT RTITEL ETAT
1 Sachsen 40 Schulen 300
1 Sachsen 60 Uni 430
… … … … …
Tabelle: NRW
LAND LANDNAM RESSORT RTITEL ETAT
4 NRW 40 Medizin 300
4 NRW 60 Straßen 430
… … … … …
Tabelle: weitere Tabellen
Wenn lediglich die Daten unterschiedlich sind, würde ich das
nicht in unterschiedliche Tabellen packen, sondern die
jeweiligen Datensätze per WHERE-Klausel auswählen.
Ich würde die Länder in eine Referenztabelle verbannen
(normalisieren). Sonst könnte passieren, daß Du z.B. zwei
verschiedene Einträge für das Land 4 erhälst.
Wenn ich das richtig verstehe, sind die Ressorts und die Etats
korrespondierend (d.h., pro Ressort gibt es nur ein Etat).
Prinzipiell schon, jedem Ressort ist ein Etat zugewiesen, nur das es sich dabei um Zeitreihen handelt, z.B. von 1895 bis 1933 oder von 1875 mit Lücken bis 1955. Also pro Jahr ein Etat für das Ressort. Ich habe diese Angaben nur weggelassen um die Tabelle hier nicht so unübersichtlich zu machen.
Ansonsten auch hier: teile diese Informationen in zwei
Tabellen auf, in Ressorts und Etats.
Lange Rede, kurzer Sinn: Erstelle die zwei Tabellen, Länder
und Ressorts. Die eine enthält alle Länderinformationen (LAND,
LANDNAM) . Die andere enthält die Ressortinformationen
(RESSORT, RTITEL, ETAT) plus einen Verweis (Foreign Key) auf
die Ländernummer.
Wie erstelle ich einen Verweis? Ich habe beides in der Hilfe eingegeben, Verweis und Foreign Key, aber nicht gefunden.
Erstelle ein Formular basierend auf der Tabelle Ressorts mit
den Feldern RESSORT, RTITEL, ETAT.
Erstelle zusätzlich ein ungebundenes Kombinationsfeld cbLand,
…cbLand wäre dann unter Eigenschaften der Name?
als Datenquelle gibst Du „SELECT LAND, LANDNAM FROM LAENDER“
ein, gebundenes Feld ist das erste.
…Datenquelle wäre dann unter Eigenschaften Datenherkunft?
Als Datenquelle des Formulars gibst Du „SELECT RESSORT,
RTITEL, ETAT FROM RESSORTS WHERE LAND = Me!cbLand“ an.
…sehe ich das richtig, das ich für das Formular die Eigenschaften erreiche, indem ich oben links das Kästchen markiere um das gesamte Formular zu markieren? Also darüber die Datenquelle/herkunft definieren?
Das Kombinationsfeld muß eine AfterUpdate-Prozedur erhalten,
die als einziges Me.Requery aufruft (d.h., die Daten des
Formulars werden bei jeder Auswahl im Kombinationsfeld neu
angezeigt).
Willst Du nicht eine Liste, sondern wirklich nur einen
Datensatz anzeigen, kannst Du das Ganze natürlich wiederholen:
…was wäre denn Deiner Meinung nach der Unterschied zwischen Liste und Datensatz, das habe ich nicht verstanden.
erstelle ein weiteres Kombifeld cbRessort, als Datenquelle
wird „SELECT RESSORT, RTITEL FROM RESSORTS WHERE LAND =
Me!cbLand“ eingetragen. Die Datenquelle des Formulars lautet
„SELECT RESSORT, RTITEL, ETAT FROM RESSORTS WHERE LAND =
Me!cbLand AND RESSORT = Me!cbRessort“. Die Ereignisprozedur
von cbLand ruft nicht Me.Requery, sondern Me!cbRessort.Requery
auf. Die Ereignisprozedur von cbRessort dann Me.Requery.
Ich danke Dir trotzdem schon mal, auch wenn Du mir vielleicht nicht auf alles antworten kannst.
Gruß,
Seppel