Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi dbComboBox befüllen (https://www.delphipraxis.net/163919-dbcombobox-befuellen.html)

fanavity 21. Okt 2011 12:20

Datenbank: Oracle • Version: 10 • Zugriff über: BDE/ODBC

dbComboBox befüllen
 
Hallo,

ich habe eine Datenbank, wo ein Index und ein Datum gespeichert werden. Nun gebe ich ein Datum ein und ich möchte das er mir alle Indexwerte zu dem Datum in einer dbCombobox anzeigt. Damit ich eine grobe Übersicht habe, welche Indexwerte an dem Tag vorhanden waren/sind . Wenn ich diesen Index dann auswähle, möchte ich ihn in weiteren SQL-Abfragen benutzen. Das SQL-Statement habe ich bereits.. Nur verstehe ich nicht, wie ich das Ergebnis des Statements in meine dbComboBox bekomme. Könnt ihr mir da ein wenig auf die Sprünge helfen?

Ich hoffe das war verständlich und ihr könnt mir ein wenig auf die Sprünge helfen :)

PS: Die Delphi-Suche(F1) habe ich schon bemüht, aber nicht ganz verstanden..

Bummi 21. Okt 2011 12:26

AW: dbComboBox befüllen
 
Klingt als ob Du DBLookUpCombobox meinst
ListSource/ListField/KeyField >> DBLookUpCombobox.KeyValue

fanavity 21. Okt 2011 12:49

AW: dbComboBox befüllen
 
Auch mit DBLookUpCombobox weiß ich nichts so recht anzufangen :/ könntest du mir vll ein Beispiel geben, wie ich aus einer SQL Abfrage die Box fülle?

z.B.

Delphi-Quellcode:
SELECT INDEX
FROM TESTTABELLE
WHERE DATUM = :DATUM
Wie bekomme ich nun das Index in die Combobox :/

Bummi 21. Okt 2011 12:56

AW: dbComboBox befüllen
 
Du wirst den SQL mit einem nennen wir die Komponenete Query ausgeführt/geöffnet haben.
neue Datasource als Dataset Query zuweisen
neu TDBCombobox als ListSource die Datasource zuweisen
ListFiled und KeyField in Deinem Fall beide auf "Index" stellen
Wenn die Query geöffnet ist solltest Du in der Box die Indizes auswählen können und per
DBCombobox1.KeyValue darauf zugreifen ...

fkerber 21. Okt 2011 13:00

AW: dbComboBox befüllen
 
Hi,

unabhängig vom Hauptproblem zwei kleine Hinweise:
Der Spaltenname sollte nicht "Index" lauten, da es sich dabei um ein Schlüsselwort handelt.

Es gibt hier im Forum auch extra Code-Blöcke für SQL-Statements:
[CODE=SQL]SELECT id
FROM test
WHERE 1=2[/CODE]
SQL-Code:
SELECT id
FROM test
WHERE 1=2
LG, Frederic

fanavity 21. Okt 2011 13:16

AW: dbComboBox befüllen
 
Zitat:

Zitat von Bummi (Beitrag 1131729)
Du wirst den SQL mit einem nennen wir die Komponenete Query ausgeführt/geöffnet haben.
neue Datasource als Dataset Query zuweisen
neu TDBCombobox als ListSource die Datasource zuweisen
ListFiled und KeyField in Deinem Fall beide auf "Index" stellen
Wenn die Query geöffnet ist solltest Du in der Box die Indizes auswählen können und per
DBCombobox1.KeyValue darauf zugreifen ...

Leider bin ich zu doof oder so..

Delphi-Quellcode:
     Form1.Query2.Close;
     Form1.Query2.Sql.Clear;
     Form1.Query2.Sql.Add('SELECT ID ');
     Form1.Query2.Sql.Add('FROM TESTTABELLE ');
     Form1.Query2.Sql.Add('WHERE Datum = ''2011-10-21'' ');
     DBLookupComboBox1.ListField:= 'ID';
     DBLookupComboBox1.KeyField:= 'ID';
     Form1.Query2.Open;
Datasource ist mein Source habe ich ausgewählt.. :?

fkerber 21. Okt 2011 13:17

AW: dbComboBox befüllen
 
Hi,

fehlt das Leerzeichen nach "FROM" nur hier oder auch bei dir?

Allgemein:
Was passiert? Gibt es Fehlermeldungen?


LG, Frederic

Bummi 21. Okt 2011 13:17

AW: dbComboBox befüllen
 
Wenn Du an die Datasource ein DBGrid hängst, siehst Du dann Daten?

fanavity 21. Okt 2011 13:21

AW: dbComboBox befüllen
 
Zitat:

Zitat von Bummi (Beitrag 1131742)
Wenn Du an die Datasource ein DBGrid hängst, siehst Du dann Daten?

Ja dann sehe ich Daten!

@ fkerber es gibt keine Fehlermeldung, es bleibt einfach leer.. Und nein das war ein Tippfehler, den habe ich bei mir nicht :)

Bummi 21. Okt 2011 13:24

AW: dbComboBox befüllen
 
jetzt sehe ich das erst
Zitat:

Datasource ist mein Source habe ich ausgewählt
ListSource ist das was Du brauchst .....

Datasource und datafield wären wenn Du damit Werte einer anderen Tabelle ändern wolltest ... z.B. Anrede in Adressen als Nummer aus einer Anredentabelle nachschlagen ...

Du hast hier nur die "Anredentabelle"


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:55 Uhr.
Seite 1 von 2  1 2      

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