AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Sortieren durch DBLookupcombobox? wie?
Thema durchsuchen
Ansicht
Themen-Optionen

Sortieren durch DBLookupcombobox? wie?

Ein Thema von mafiaente · begonnen am 17. Jan 2007 · letzter Beitrag vom 18. Jan 2007
Antwort Antwort
Seite 1 von 2  1 2      
mafiaente

Registriert seit: 16. Jan 2007
35 Beiträge
 
#1

Sortieren durch DBLookupcombobox? wie?

  Alt 17. Jan 2007, 14:42
Datenbank: paradox7 • Zugriff über: ttable
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.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Sortieren durch DBLookupcombobox? wie?

  Alt 17. Jan 2007, 14:46
Nimm nen TQuery un füge die Sortierungsbedingung dem SQL-Statement hinzu
Markus Kinzler
  Mit Zitat antworten Zitat
mafiaente

Registriert seit: 16. Jan 2007
35 Beiträge
 
#3

Re: Sortieren durch DBLookupcombobox? wie?

  Alt 17. Jan 2007, 14:48
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!
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

Re: Sortieren durch DBLookupcombobox? wie?

  Alt 17. Jan 2007, 14:52
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)
Andreas
  Mit Zitat antworten Zitat
mafiaente

Registriert seit: 16. Jan 2007
35 Beiträge
 
#5

Re: Sortieren durch DBLookupcombobox? wie?

  Alt 17. Jan 2007, 16:59
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!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Sortieren durch DBLookupcombobox? wie?

  Alt 17. Jan 2007, 17:02
TDBComboBox Daten werden von Combobox in DB geschrieben
TDBLookupComboBox Angezeigte Daten kommen zusätzlich noch aus einer DB.
Markus Kinzler
  Mit Zitat antworten Zitat
mafiaente

Registriert seit: 16. Jan 2007
35 Beiträge
 
#7

Re: Sortieren durch DBLookupcombobox? wie?

  Alt 17. Jan 2007, 17:05
ah ok vielen dank! jetzt brauch ich nur noch hilfe bei meinem filterproblem, dann bin ich wunschlos glücklich
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Sortieren durch DBLookupcombobox? wie?

  Alt 17. Jan 2007, 18:05
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.
Markus Kinzler
  Mit Zitat antworten Zitat
mafiaente

Registriert seit: 16. Jan 2007
35 Beiträge
 
#9

Re: Sortieren durch DBLookupcombobox? wie?

  Alt 17. Jan 2007, 19:30
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:
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;
hoffe jmd kann mir den entscheidenden impuls geben!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Sortieren durch DBLookupcombobox? wie?

  Alt 17. Jan 2007, 20:37
Du brauchst wieder 2 Komponenten (2 TQuery).
Den 1. für die Kategorien

Ich nenne sie mal qKat.

Delphi-Quellcode:
qKat.SQL.Text := 'select id, bez from Kategorie';
qArtikel.SQL.Text := 'select <liste> from Artikel where kategorie = :katid";
qArtikel.RequestLive := True;
qKat.Open;
Im AfterScroll-Event setzen wir nun den Parameter des 2. Queries:
qArtikel.ParamByName('katid').Value := qKat.FieldByName('id'.Value;
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz