Zitat von
eddy23:
... nur mit der combobox halt ned, die aber gleich auch meine datensätze steuern soll
Hai eddy23,
ich glaube hier liegt ein kleines "Verständnissproblem" vor
Mit einer
DBCombobox kannst Du nicht in einer Tabelle navigieren! Mit dieser kannst Du dem Datenfeld das Du in
DataField angegeben hast einen Wert zuweisen der entweder in die Combobox eingetippt wird oder ein Wert der aus der Eigenschaft
Items ausgewählt wird.
Wenn Du mit einer "Combobox" in deiner Tabelle navigieren möchtest kannst Du dafür eine
DBLookupCombobox missbrauchen.
Zuerst aber mal die "offizielle" Verwendung der DbLCb.
Diese ist dafür da um im Feld
DataField der Tabelle
DataSource den Wert aus dem Feld
KeyField der Tabelle
ListSource zuweisen zu können. Angezeigt wird in der DbLCb das Feld
ListField aus der Tabelle ListSource.
Uff... schöner Satz oder?
Ein klassiches Beispiel dafür ist zum Beispiel das Speichern von Anreden in einer Adress-Tabelle:
Code:
Adress-Tabelle
adress_id : Integer
anrede_id : Integer
name : String
vorname : String
Code:
Anreden-Tabelle
anrede_id : Integer
anrede : String
Die Eigenschaften der DBLookupComboBox wären jetzt so:
Code:
DataSource : Adress-Tabelle
DataField : anreden_id
ListSource : Anreden-Tabelle
KeyField : anreden_id
ListField : anrede
So könnte man mit Hilfe der DbLCb die Anrede ändern.
Aber das alles möchtest Du ja überhaupt nicht
Du möchtest nur mit Hilfe einer ComboBox in eine Tabelle navigieren. Ganz einfach. Lasse
DataSource und
DataField unbenutzt.
Möchtest Du zum Beispiel durch die Adress-Tabelle navigieren setze die Eigenschaften so:
Code:
DataSource :
DataField :
ListSource : Adress-Tabelle
KeyField : adress_id
ListField : name
Einen kleinen Fehler hat das ganze aber! Wenn Du auf andere Weise durch deine Tabelle navigierts (DBGrid, .Next, .First usw) bekommt die DbLCb das nicht mit. In diesem Fall müsstest Du dich von Hand darum kümmern das die Anzeige dort stimmt.
So, ich hoffe das hilft Dir etwas weiter.
Stephan B.
"Lasst den Gänsen ihre Füßchen"