Datenübernahme aus anderer Tabelle

Hallo,

ich habe in meinem Formular ein Kombifeld (Name) und mehrere Textfelder. Wird ein Name mittels Kombifeld ausgewählt, sollen
gleichzeitig zwei Textfelder (Beruf und Wohnort) automatisch ausgefüllt werden. Der Beruf und Wohnort stehen aber in einer anderen Tabelle (Personendaten).

Ich habe jetzt bei meinem Kombifeld das Ereignis After_Update ausgewählt und kann die zwei Textfelder schon mal mit sinnlosen Daten befüllen.
Leider gelingt mir das Auslesen der Daten zu dieser bestimmten Person aus der anderen Tabelle nicht :frowning:

Ansatz:
Ich habe die ID der Person und müßte die jetzt mit der ID aus der anderen Tabelle überprüfen und dann den gewünschten Datensatz z.B. Beruf übernehmen…

Wie kann ich das realiseren???
Dank im Voraus

Thomas

Moin, Thomas,

kombifeld.rowsource = "Select Name, Beruf, Wohnort from Tabelle_1, Personendaten Where "

Gruß Ralf

Hallo Thomas,

ich habe in meinem Formular ein Kombifeld (Name) und mehrere
Textfelder. Wird ein Name mittels Kombifeld ausgewählt, sollen
gleichzeitig zwei Textfelder (Beruf und Wohnort) automatisch
ausgefüllt werden. Der Beruf und Wohnort stehen aber in einer
anderen Tabelle (Personendaten).

also ein 1:1 Beziehung, wie schon weiter unten diskutiert: ein ganz schlechtes Datenbankdesign. Ok, wird bestimmt seine Gründe haben :frowning:

Ich habe jetzt bei meinem Kombifeld das Ereignis After_Update
ausgewählt und kann die zwei Textfelder schon mal mit
sinnlosen Daten befüllen.

das ist doch schon mal gut

Leider gelingt mir das Auslesen der Daten zu dieser bestimmten
Person aus der anderen Tabelle nicht :frowning:

hmmm, wolln ma sehen

Ansatz:
Ich habe die ID der Person und müßte die jetzt mit der ID aus
der anderen Tabelle überprüfen und dann den gewünschten
Datensatz z.B. Beruf übernehmen…
Wie kann ich das realiseren???

  • öffne eine neue/leere Abfrage
  • füge als erste Tabelle die mit dem Namen hinzu
  • füge als zweite Tabelle die mit den Personendaten hinzu
  • per drag&drop erzeugst du nun eine Beziehung zwischen diesen Tabellen über das ID-Feld
  • Wichtig: von NAME zu PersDaten und nicht umgekehrt!!
  • in die Spalten fügst du ein:
  1. Spalte: ID
  2. Spalte: Name (btw: das Wort NAME ist ein geschützter Begriff)= umbenennen
  3. Spalte: Beruf
  4. Spalte: Wohnort

Sortierung: Name

Speichere deine Abfrage nun z.B. unter der Bezeichnung: BASIS_für_Suchfeld_Name

Nun öffne dein Formular im Bearbeitungsmodus.

  • öffne die Eigenschaften deines Kombifeldes
  • trage unter Datensatzherkunft die neu erstellte Abfrage ein
  • Spaltenanzahl=4
  • Spaltenbreiten: 0cm;3cm;0cm;0cm (= nur der Name wird angezeigt)

Nun kannst du deinen Namen über das Kombifeld auswählen und hast die anderen Daten direkt parat:

Me.Suchname.Column(0) = ID
Me.Suchname.Column(1) = Name
Me.Suchname.Column(2) = Beruf
Me.Suchname.Column(3) = Wohnort

fertig

btw: eigentlich benötigst du nun gar keine zusätzliche Textfelder mehr, oder?

zweite, langsame Möglichkeit: nutze die Dlookup Funktion.

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

Hallo Wolfgang,

danke für die ausführliche Beschreibung und das du dir die Zeit genommen hast! Es hat auf Anhieb funktioniert und dank deiner Anleitung konnte ich gleich noch ein paar Probleme lösen :smile:
Schönen Sonntag wünsch i Dir,

Grüße, Thomas

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]