![]() |
Datenbank: paradox7 • Zugriff über: ttable
Sortieren durch DBLookupcombobox? wie?
Hallo,
ich habe nun folgendes problem. ich versuche mich an einem Warenshop und habe in einer Tabelle nur all meine kategorien eingegeben, in einer anderen Tabelle die Artikel, wobei bei diesen auch die Kategorie mit zum datensatz gehört. so nun möchte ich erreichen, dass wenn ich über die lookupcombobox die kategorie auswähle, in den folgenden DBtext-feldern des formulars auch nur die artikel dieser ausgewählten kategorie über den DBnavigator auszuwählen sind. ich hoffe das prinzip konnte ich einigermaßen vermitteln un jmd kann mir helfen. |
Re: Sortieren durch DBLookupcombobox? wie?
Nimm nen TQuery un füge die Sortierungsbedingung dem SQL-Statement hinzu
|
Re: Sortieren durch DBLookupcombobox? wie?
hm ich versuche mir delphi gerade selbst anzueingnen un mit den query-sachen kenn ich mich noch so gut wie gar nich aus. eine genauere anleitung wäre sehr hilfreich. danke!
|
Re: Sortieren durch DBLookupcombobox? wie?
Ich fasse mal zusammen:
Du hast eine Tabelle ArtikelKategorie mit mehreren Kategorien (Medikamente, Drogen, Sexspielzeuge, ...) Du hast eine Tabelle Artikel mit vielen Datensätzen, die jeweils zu einer der obigenen Kategorien gehört. Das wäre also eine Master-Detail-Beziehung. Du möchtest nicht alle Artikel sehen, sondern nur die einer bestimmten Kategorie. Das nennnt man filtern (nicht sortieren). Es gibt nun 2 Möglichkeiten: 1.) eine SQL-Abfragen mit WHERE-Bedingung (gute Technik) 2.) das Property Filter setzen und Filtered=True (langsame Technik) |
Re: Sortieren durch DBLookupcombobox? wie?
hm da ich leider blutiger anfänger bin hilft mir das noch nich so viel weiter! könnte mir evtl. noch jmd die sache mit der sql-abfrage näher erklären?
brauch ich da eingtlich die DBlookupcombobox oder reicht da auch die DBcombobox? seh den unterschied da noch nicht so deutlich!? hoffe mir kann jmd helfen! vielen dank schonmal im vorraus! |
Re: Sortieren durch DBLookupcombobox? wie?
TDBComboBox Daten werden von Combobox in DB geschrieben
TDBLookupComboBox Angezeigte Daten kommen zusätzlich noch aus einer DB. |
Re: Sortieren durch DBLookupcombobox? wie?
ah ok vielen dank! jetzt brauch ich nur noch hilfe bei meinem filterproblem, dann bin ich wunschlos glücklich :wink:
|
Re: Sortieren durch DBLookupcombobox? wie?
Wie shmia schon angedeutet hat:
1) (schlechter) Per Master/Detail: -1.Table auf Kategorie-Tabelle setzen -1.DataSource auf diese Tabelle -Eigenschaft MasterSource der 2. Table auf diese DataSource setzen -MaserFields auf FK (PK erste Tabelle setzen) -2.DataSource auf 2. Tabelle 2) Mit TQuery-Komponenten Vorteil, es werden nur die benötigten Felder geladen. |
Re: Sortieren durch DBLookupcombobox? wie?
naja ich möchte das jetz über Query machen nur hab ich damit absolut keine erfahrung!
ich denk ma ich müsste den quelltext bei der DBlookupcombobox bei "onclick" einstellen,oder? nun habe ich dort folgenden code reingeschrieben, nur er bringt nciht die erhoffte wirkung!
Delphi-Quellcode:
hoffe jmd kann mir den entscheidenden impuls geben!
procedure TForm2.DBLookupComboBox1Click(Sender: TObject);
begin Query1.Active:=false; Query1.Sql.Clear; Query1.Sql.Add('SELECT kategorie FROM (db\artikel.db) WHERE kategorie=dblookupComboBox1.keyvalue'); Query1.Active:=true; end; |
Re: Sortieren durch DBLookupcombobox? wie?
Du brauchst wieder 2 Komponenten (2 TQuery).
Den 1. für die Kategorien Ich nenne sie mal qKat.
Delphi-Quellcode:
Im AfterScroll-Event setzen wir nun den Parameter des 2. Queries:
qKat.SQL.Text := 'select id, bez from Kategorie';
qArtikel.SQL.Text := 'select <liste> from Artikel where kategorie = :katid"; qArtikel.RequestLive := True; qKat.Open;
Delphi-Quellcode:
qArtikel.ParamByName('katid').Value := qKat.FieldByName('id'.Value;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz