Hi Enrico,
Ah, jetzt ist alles klar… also ich sag Dir mal wie
das bei Access 2007 geht, Du machst Dir nämlich Stress
wo garkeiner ist.
Dieser von Dir beschriebene Fall kommt ja quasi ständig vor,
war nur unglücklich formuliert (lol oder ich war zu müde),
darauf baut ja im Prinzip jede Datenbank auf.
… und da es nunmal so essentiell ist, erledigt Access das
einfach für Dich.
Also so äußert sich das dann: ich öffne die
Tabelle Auftrag
ID, AuftrNr, Kunde, Lieferant
1,1001,„Hempelmann“,„Bachstein“
Ich klicke auf Bachstein wähle aus dem Listenfeld den
Namen „Maier“ und gehe eine Zeile tiefer damit Access den
Datensatz (das Dynaset) wegschreibt.
Jetzt öffne ich die Tabelle Auftrag im Entwurfsmodus:
ID: (autowert) primary key
AID: Text 10
so jetzt der Teil der Dich interessiert:
Kunde: Zahl (!)
Lieferant: Zahl (!)
Somit hat sich also Deine Bastelei erledigt. Du brauchst
in der gesamten Datenbank einfach GARNICHTS zu machen, weder
bei manuellen Eingaben in die Tabelle oder Abfrage direkt,
noch in Formularen. Überall wird Kunde und Lieferant als Text
bzw. Listenfeld angezeigt, steht aber tatsächlich als Zahl in
der Tabelle (Ausnahmen SQL-Statements).
Ich habe also z.B. eine Tabelle Kunden:
ID: Long
Name: Text 40
sowie die Tabelle Auftrag wie oben beschrieben.
Unter Menü Datenbank-Tools -> Beziehungen
Dort die beiden Tabellen also Auftrag und Kunden reinziehen.
Dann verbindest Du einfach die ID von Kunden mit dem Zahlenfeld
Kunde in Auftrag. Gleiches natürlich mit ID in Lieferant und dem Zahlenfeld Lieferant in Auftrag. Der fragt Dich beim Verknüpfen
nach der Beziehung, klar das ist dann „Kunden 1:n Auftrag“.
Das war alles. Nicht mal 2 Minuten Arbeit.
Viel Spass,
Alex