Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Access Verknüpfungen





Frage

Hallo, möchte in einer Access Datenbank die aus zwei einfachen Tabellen (Tab.1 Adressen, Tab.2 Ort-PLZ) folgendes Problem innerhalb eines Formular lösen. Tabelle 1 ist einen Kudendatei mit Name, Vorname, Str, PLZ, Ort, etc. Tabelle zwei besteht aus den Feldern PLZ und Ort. D.h. dort werden PLZ und die dazugehörigen Orte eingegeben. Jetzt möchte ich im Formlar "KUNDEN" die Kundendaten eingeben. An der stelle "PLZ" möchte ich ein Listenfeld haben, wo ich per KLICK die PLZ auswählen kann. Soweit noch nicht besonders schwer. Jetzt soll aber, wenn ich bei PLZ z.B. 70123 auswähle, und diese PLZ z.B. zu dem Ort "Stuttgart" gehört, dieser Ort im Feld Ort eingetragen werden. Also nochmal in Kurzform: Ich wähle im Feld PLZ die PLZ 70123 aus, diese in Verknüpft mit dem Ort "Stuttgart", so dass durch diese Auswahl im Feld PLZ eben "70123" und gleichzeitig im Feld ORT "Stuttgart" steht, ohne dass ich dies noch separat auswählen muss. Ich weiss dass dies irgendwie über bestimmte Verknüpfungen gehen muss, und habe soetwas auch früher schon mal gemacht, bekomme es aber nicht mehr hin. Wer kann mir helfen. Danke! Gruß heimar77

Antwort 1 von Nessus

Hi,

wenn ich es richtig Verstanden habe, fehlt die Beziehung zwischen den Tabellen.

Nessus

Antwort 2 von heimar77

Hi Nessus,

klar brauche ich Beziehungen, dass ist mir klar. Aber welche genau?
Wenn ich im Formular ein Listenfeld im Feld PLZ mache, stehen dort die PLZ und die Feld Orte bleibt leer. Außerdem übernimmt er in die Tabelle nur den Wert 3 (3.Eintrag der PLZ/Orte-Liste) und nicht die PLZ.

Gruß heimar77

Antwort 3 von FrankieH

Im Prinzip ist die Lösung recht einfach - hat aber einen kleinen Haken auf den ich später zu sprechen komme.

Mache Dir zwei Comboboxen, die diegleiche Recordsource haben:
Select PLZ, Ort from tbl_PLZ_ORTE order by PLZ;

Stelle die Spaltenanzahl jeweils auf zwei, die gebundene Spalte jeweils auf 1, die Spaltenbreiten auf:
cboPLZ: 1cm;2cm (als Vorschlag)
cboOrt: 0cm;2cm

Als Daten gibst Du an:
cboPLZ = PLZ
cboOrt = cboPLZ

Das ist im Prinzip alles. Wenn Du nun die Datensätze durchblätterst, steht automatisch PLZ und der zugehörige Ort - sofern sie in der Tabelle vorhanden sind - in den Auswahlboxen. Änderst Du die PLZ ändert sich der Ort sofort mit.

Jetzt der Haken: Du kannst den Ort nicht ändern, sondern diesen nur über die PLZ.
Da Städte mehrere PLZs haben, wäre das auch nicht sinnvoll.

Und: Du solltest den Ort nicht in der Adresstabelle speichern sondern nur die PLZ, da dies sonst redundant wäre. Über ein Tabllen-join kannst Du diesen ja bei den Abfragen ermitteln.

HTH,
Gruß
Frankie