VB 2005 - Cobobox-Befüllungsproblem

D

Daniel Wittberger

Hallo

Folgender Sachverhalt aber nur stark vereinfacht:
Ich habe eine Access-Datenbank. Diese enthält 2 Tabellen. Eine Tabelle enthält die Informationen über die einzelnen Personen (Vorname, Nachname,...) In dieser Tabelle befindet sich auch ein Feld welches sich Land nennt. In diesem Feld wird die ID-Nummer des Landes abgelegt. In der zweiten Tabelle befinden sich Informationen über die Länder. Also wieder die ID-Nummer des Landes und der passende Name (1 => Österreich, 2 => Deutschland, ...) Natrülich umfasst die Datenbank noch unmengen mehr an Tabellen aber ich glaube die sind für mein folgendes Problem nicht relevant.

Mein Problem:
Ich kreiere eine Form in der wir einzeln die Daten der einzelnen Personen angezeigt werden. Natürlich kann ich diese auch problemlos editieren aber ich möchte anstatt jedes mal die ID-Nummer des Landes eintippen zu müssen einfach ein Drop-Down-Feld einbinden welches alle Länder der Tabelle mit dem Ländern enthält. Sobald man das Land ändert in dieser Combo-Box ändert, sollte diese Information in der Tabelle mit den Personeninfos festgehalten werden. Dies funktioniert jedoch nicht so wie ich will. Entweder es wird mir im Dropdown nichts angezeit oder es wird mir nur das aktuelle Land angezeigt mehr nicht, also ich kann kein anderes Land auswählen.
Was muss ich machen, besser gesagt, in welcher Relation muss ich die Tabellen miteinander verknüpfen damit ich das Ergbniss bekomme welches ich anstrebe?!

Besten Dank im Voraus für eure Antworten.

Grüsse
Daniel
 

Norbert Eder

Erfahrenes Mitglied
Einfach entsprechende DataObjects (Klasse "Customer" und Klasse "Country") erstellen. In der Country Klasse die Methode ToString überschreiben und dort einfach den Namen des Landes zurückgeben.

Die Country-Objekte (ein Objekt pro Landes-Datensatz) dann einfach zur ComboBox adden und den mit der ID die beim Customer hinterlegt ist selectieren. Fertig.
 
D

Daniel Wittberger

Dank dir für die schnelle Antwort. Ich werds so bald wie möglich versuchen.

Grüsse
Daniel
 

Norbert Eder

Erfahrenes Mitglied
Wenns Probleme gibt, einfach wieder nachfragen ;-) Wenn das "Problem" erledigt ist, den Thread bitte als erledigt markieren.

Norbert