Einzelnen Beitrag anzeigen

Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Filter mittels Combobox

  Alt 15. Mär 2006, 21:05
Zitat von rgorholt:
... Sharky, was Du vorschlägst funktioniert bei mir nur, wenn sich die Query zu Tabelle 2 im Edit-Mode befindet. ...
Hai Ralf,

dann haben wir uns falsch verstanden.
Ich dachte Du hast ein Query für die ComboBox (Länder) und ein anders (nicht verknüpftes) für deine zweite Tabelle.
Bei dem Beispiel von mir darf es natürlich keine Verbindung der beiden Tabellen geben.
So wie ich es gezeigt habe kannst Du "nur" auf das Ergebniss der TDBLookupCombobox zugreifen.

Fals es ein Missverständniss dieser Kompo giebt versuche ich die Funktionsweise noche inmal zu erklären:

Gegeben sind zwei Tabellen:
Code:
tbl_anrede: -> DataSet1 -> DataSource1
 id : integer;
 bezeichnung : string;

tbl_kontakt: -> DataSet2 -> DataSource2
 id : integer;
 fk_anrede_id : integer;
 name : string;
Du kannst nun diese beiden Tabellen in einer Form mit einer TDBLookupCombobox verbinden. Dabei würde in diesem Beispiel gelten:
Delphi-Quellcode:
  with DBLookupComboBox1 do
  begin
    DataSource := DataSource2; // Die "Ziel" Tabelle
    DataField := 'fk_anrede_id'; // Das Verknüpungsfeld der Ziel-Tabelle
    ListSource := DataSource1; // Die "Quell" Tabelle
    ListField := 'bezeichnung'; // Das Anzeigefeld der Quelltabelle
    KeyField := 'id'; // Das Verknüpungsfeld der Quell-Tabelle
  end;
Wenn Du nun in der TDBLookupCombobox einen Eintrag (ListField) auswählst wird die ZielTabelle in den Editmodus gesetzt und dort wird im Feld DataField der Wert von KeyField eingetragen.

Wenn Du aber die TDBLookupCombobox ohne Data* verwendest ist dies nichts anderes als eine Liste welche den Datensatzzeiger immer auf der in ListSource angegeben TDataSet hat. Und somit kannst Du genau auf diesen Eintrag zugreifen. (ähnlich als hättest Du die Daten in einem DBGrid und würdest darüber einen Datensatz auswählen.

Uff... Sorry wenn ich es nicht genau erklärt habe. Aber ich hoffe Du verstehst was ich meinte.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat