2 ComboBoxen miteinander verbinden

Acre

Grünschnabel
Hab zwar die Beiträge durchsucht aber nichts gefunden.

Ich stehe nun vor dem Problem, dass ich zwei ComboBoxen habe die ich miteinander verbinden möchte. In der ComboBox1 werden die Tabellennamen der DB ausgegeben, wird ein Tabellenname selektiert, sollen in der ComboBox2 die zugehörigen Feldnamen ausgegeben werden.
Ich hab jetzt versucht, den selektierten Tabellennamen zu übergeben, aber es funktioniert leider nicht :(


Code:
ADOConnection1->GetTableNames(ComboBox1->Items);         
ADOConnection1->GetFieldNames("Tabellenname", ComboBox2->Items);
 
Hy,

hast du die Tabellennamen in der ComboBox statisch angegeben, oder verändern sie sich zur Laufzeit? An den Text der in einer ComboBox angezeigt wird, kommt du mit ComboBoxXY->Text dran.

Dann kannst du doch einfach in das ComboBoxOnChange() Event ne Selectanweisung auf die Datenbank los lassen, die dir die Feldnamen der Tabelle zurück gibt, die in der ComboBox angezeitgt wird und sie dann in der anderen ComboBox eintragen, oder?
 
hast du die Tabellennamen in der ComboBox statisch angegeben, oder verändern sie sich zur Laufzeit? An den Text der in einer ComboBox angezeigt wird, kommt du mit ComboBoxXY->Text dran.

Sie verändern sich zur Laufzeit nicht.


Dann kannst du doch einfach in das ComboBoxOnChange() Event ne Selectanweisung auf die Datenbank los lassen, die dir die Feldnamen der Tabelle zurück gibt, die in der ComboBox angezeitgt wird und sie dann in der anderen ComboBox eintragen, oder?

...ne selectanweisung in OnChange()... damit kann ich leider nichts anfangen, kannst du das ein wenig genauer erklären?
 
Das OnChange Event gibts bei vielen Steuerelementen. das is nichts anderes als eine Funktion, die aufgerufen wird, wenn sich etwas verändert. In Deinem Falls würdest Du ja einen Tabellennamen auswählen und dann soll irgendwas passieren (meinetwegen Datenfelder in einer anderen ComboBox anzeigen).

Des weiteren glaub ich wir reden an einander vorbei...
Was meinst du mit "den selektierten Tabellennamen zu übergeben"
-wohin übergeben?
-was soll passieren?
 
Sorry falls ich meine Frage etwas verwirrt formuliert habe.
Ich will in der ersten ComboBox den Tabellennamen auswählen und dann sollen in ComboBox2 die dazugehörigen Feldnamen angezeigt werden.
 
Soweit klar... Das steht ja auch schon in dem ersten Post.

Und die Feldnamen sollen dynamisch aus der DB gelesen werden?

! ! ! EDIT ! ! !:
Aso, warte, jetzt hab ich's begriffen! ;)
Hab gerade mal n Blick in die Hilfe geworfen. Da stehts doch gut erklärt.

Vielleicht wäre ne Beschreibung des Fehlers ganz gut. Also was genau "funktioniert nicht"?
(ich arbeite normal nicht mit den ADO Komponenten)
 
Zuletzt bearbeitet:
Die Tabellennamen lese ich schon korrekt aus, die werden in meiner ComboBox1 ausgegeben. Nur weiß ich nicht wie ich es jetzt schaffe in ComboBox2 die Feldnamen auszugeben sobald ein Tabellenname ausgewählt wird.
 
Ahhhhh.....

ja wie schon gesagt, pack in das OnChange() Event der ComoBox1 einfach:
Code:
ADOConnection1->GetFieldNames(ComboBox1->Text, ComboBox2->Items);
und dann sollte es laufen.

Die Funktion zu dem Event kannst du automatisch generieren lassen in dem Du im Objektinspektor auf den Reiter "Ereignisse" klickst und dann einfach n Doppelklick auf "OnChange". Du kommst dann automatisch im Quelltext an die richtige Stelle, an der Du einfach nur noch den o.g. Code einfügen musst...

dann sollte es gehn...
 
Zurück