Hallo,
kaum hab' ich mich hier angemeldet, kommt ein Problem nach dem anderen
Ich habe eine Tabelle in der verschiedene Produkte gelistet sind und eine andere
Tabelle mit den verschiedenen Herstellern.
In meiner Produkt-Tabelle gibt es ein Feld Hersteller_ID, welches mit dem ID der Hersteller-Tabelle verknüpft ist - soweit auch kein Problem, funktioniert.
In meine Formular möchte ich nun über eine ComboBox die Möglichkeit haben nach
den Herstellern zu filtern. Zu diesem Zweck hab' ich eine DBLookUPComboBox genommen, deren ListSource-Eigenschaft mit meiner Hersteller-Tabelle , ListField mit dem Herstellernamen und KeyField mit dem ID der Hersteller-Tabelle verknüpft ist - funktioniert.
Beim OnClick Ereignis wird String mit folgende SQL-Anweisung generiert:
Delphi-Quelltext
1:
| myFilterString := 'SELECT * FROM t_produkt WHERE Hersteller_ID = ' + MyFilterLookUpComboBox.KeyValue; |
Diese String wird der SelectSQL Eigenschaft meines DataSets zugewiesen und ausgeführt.
Als Ergebnis erhalte ich genau das was ich will, nämlich, dass nach dem jeweiligen Hersteller gefiltert wird.
Mein Problem ist nun, dass ich als ersten Eintrag in der ComboBox 'Alle Hersteller' stehen haben möchte, um die Where-Klausel aufzuheben, nur möchte ich keinen 'Alle Hersteller' Eintrag in meiner Hersteller-Tabelle haben.
Frage: Kann ich zu meinem Zweck die DBLookUPComboBox verwenden, oder muss ich eine normale ComboBox nehmen und der Eigenschalft 'Items' irgendwie meine Hersteller zuweisen? Zweiteres wäre bestimmt relativ aufwendig??
Ich hoffe ihr könnt einigermaßen nachvollziehen, was ich überhaupt meine
Thomas