Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Selektierten Wert aus einer Combobox in eine SQL Abfrage.... (https://www.delphipraxis.net/11330-selektierten-wert-aus-einer-combobox-eine-sql-abfrage.html)

Zyro 4. Nov 2003 13:24


Selektierten Wert aus einer Combobox in eine SQL Abfrage....
 
..übergeben.

Ich habe eine SQL Abfrage mit einer Ausgabe auf eine Combobox, in der man den Wert den man braucht. Aussuchen soll. Nun soll eine weitere Combobox nach ändern der ersten Box mit den nächsten Daten gefüllt werden, die sich aus der selektion der ersten Combobox ergeben.

Beispiel:

Combobox1: Fahrzeugtyp
->Sql Abfrage: Welche Kundennummern gehören zum Typ
Combobox2: Kunden Nummern.

samson 4. Nov 2003 13:34

Re: Selektierten Wert aus einer Combobox in eine SQL Abfrage
 
Hallo.

Die ComboBox enthält die Eigenschaft: Text. Mit folgendem kommst Du zum gewünschten ergebnis:
Delphi-Quellcode:
TQuery.Active := false;
TQuery.SQL.Text := 'select * from fahrzeuge where typ = '+QuotedStr(ComboBox1.Text);
TQuery.Active := true;

while not TQuery.eof do
begin
  .
  .
  .
end;
Gruss

Samson

Zyro 5. Nov 2003 07:22

Re: Selektierten Wert aus einer Combobox in eine SQL Abfrage
 
Also so?:

Delphi-Quellcode:
 object Qkdnr: TQuery
    DatabaseName = 'CARLINE1'
    SQL.Strings = ('SELECT KD_NR FROM SYSADM.FZ Sysadm_fz WHERE FZTYP =+QuotedStr(ComboBox1.Text)')
    Left = 40
    Top = 128
  end
Sorry, bin noch total neu in Delphi. :?

r_kerber 5. Nov 2003 07:33

Re: Selektierten Wert aus einer Combobox in eine SQL Abfrage
 
Hallo zyro,

zunächst erst einmal herzlich willkommen in der Delphi-Praxis.

Der Code, den Du geschrieben hast, funktioniert so nicht. In der Form wird das nicht eingetragen. Das muß im "normalen" Quellcode passieren, so wie es samson geschrieben hat. Diesen Code kannst Du z.B im OnClick-Ereignis eines Buttons eintragen.
Ein Hinweis: Schau Dir ruhig mal die Demos an, die bei Delphi bei sind, und die Code-Beispiele in der Hilfe. Die könnten Dir auch schon weiterhelfen.

Zyro 5. Nov 2003 07:55

Re: Selektierten Wert aus einer Combobox in eine SQL Abfrage
 
hmm...was Samson geschrieben hat geht leider irgendwie net. :(

r_kerber 5. Nov 2003 08:09

Re: Selektierten Wert aus einer Combobox in eine SQL Abfrage
 
Und was geht nicht? Vielleicht kannst Du ja auch mal das Stück Code von Dir posten?

Tester 5. Nov 2003 09:20

Re: Selektierten Wert aus einer Combobox in eine SQL Abfrage
 
Hallo zusammen!

Delphi-Quellcode:
TQuery.Active := false;
TQuery.SQL.Text := 'select * from fahrzeuge where typ = '+QuotedStr(ComboBox1.Text);
TQuery.Active := true;
Vergiss bei dem Vorschlag von Samson nicht das du, den Wert nach 'where' in diesem Fall also 'typ' deiner Abfrage angleichen mußt.

Wenn du also möchtest das dieser angezeigt, welcher am 11.11.2002 geboren ist.
Dann müßtest du statt 'typ', 'Geburtstag schreiben'.

Tester 5. Nov 2003 09:22

Re: Selektierten Wert aus einer Combobox in eine SQL Abfrage
 
Wäre aber wirklich nicht schlecht wenn du mal ein paar Zeilen Code mitschickst, so kann man dir am besten helfen.

MFG

Tester

Zyro 5. Nov 2003 09:23

Re: Selektierten Wert aus einer Combobox in eine SQL Abfrage
 
:) Jo..es geht jetzt auch. Mir wurde von einem Kollegen geholfen ;)

So..hab aber ein weiteres Problem :D

Bei einer Count abfrage in SQL (zbsp: "Select count(*) from FZ.....") muss das Field wie heissen?

Also: Query.FieldByName('wie?'); //Das 'wie' will ich wissen ;)

MrSpock 5. Nov 2003 09:28

Re: Selektierten Wert aus einer Combobox in eine SQL Abfrage
 
Hallo Zyro,

dafür kannst du den AS Operator benutzen:

SQL-Code:
SELECT COUNT(*) AS wie FROM ...

Tester 5. Nov 2003 09:32

Re: Selektierten Wert aus einer Combobox in eine SQL Abfrage
 
Letzt endlich erzeugst dafür ja nur eine Temporäre Spalte, du hast aber die Möglichkeit folgendes festzulegen

Code:
select count(Name) 'Summe' form Geschaeftskunden
So würde die temporär angelegte Spalte die, die Summe der Einträge besitzt 'Summe'
heißen.

Da diese Spalte aber meiner Meinung nur temporär ist müßtest du den Wert ein Variable übergeben um dann weiter damit zu arbeiten.

Gruß Tester

Zyro 5. Nov 2003 09:40

Re: Selektierten Wert aus einer Combobox in eine SQL Abfrage
 
Delphi-Quellcode:
count.SQL.Clear;
Qcount.SQL.Add('SELECT COUNT(*) AS count FROM FZ where FZTYP=:FZTYP');
Qcount.ParamByName('FZTYP').AsString:=cmbModel.Text;
Qcount.Open;
    while not Qcount.Eof do
     begin
          LbCount.Items.Add(Qcount.FieldByName('Count').AsString);
          Qcount.Next;
     end;
     Qcount.Close;
Also wie in meinem Quelltext geschrieben scheint es nicht zu gehen.

Hab jetzt extra Code mitgeliefert:D

Tester 5. Nov 2003 09:42

Re: Selektierten Wert aus einer Combobox in eine SQL Abfrage
 
Das habe ich dir doch gerade geschrieben!

Er legt Spalte nicht wirklich an und deshlab nützt da auch kein Fieldbyname.

Oder lieg ich jetzt falsch?

Zyro 5. Nov 2003 09:53

Re: Selektierten Wert aus einer Combobox in eine SQL Abfrage
 
Und wie speicher ich das temporäre Feld in eine variable?

MrSpock 5. Nov 2003 10:04

Re: Selektierten Wert aus einer Combobox in eine SQL Abfrage
 
Hallo Zyro,

du darfst als Bezeichner auch keine reservierten Worte wie count benutzen.

Zyro 5. Nov 2003 10:17

Re: Selektierten Wert aus einer Combobox in eine SQL Abfrage
 
ach mist...das ist mir letztens bei PHP auch schon passiert...da habe ich eine Tabellenspalte Alter für das Alter eines Menschen benannt. Hat er auch rumgezickt.

MrSpock 5. Nov 2003 11:36

Re: Selektierten Wert aus einer Combobox in eine SQL Abfrage
 
Hallo Zyro,

na wenn es denn jetzt klappt, wäre es ja gut.

Noch eine Info: Die Query liefert jetzt ja nur die Anzahl aller Datensätze, die die Bedingung erfüllen. Deine Schleife:

Delphi-Quellcode:
 while not Qcount.Eof do
     begin
          LbCount.Items.Add(Qcount.FieldByName('Count').AsString);
          Qcount.Next;
     end;
wird deshalb auch nur genau einmal durchlaufen!?


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:59 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