Einzelnen Beitrag anzeigen

fanavity

Registriert seit: 2. Sep 2011
65 Beiträge
 
#1

dbLookUpComboBox + DBGrid

  Alt 24. Okt 2011, 14:36
Datenbank: Oracle • Version: 10 • Zugriff über: BDE/ODBC
Hallo,

ich habe eine dbLookUpComboBox,ein DBGrid und einen Button auf meiner Form. Nun möchte ich, das wenn man den Button anklickt, sich die dbLookUpComboBox füllt. Das klappt auch ohne Probleme. Nur weiß ich nicht, wie ich meinen Code umstellen kann, damit er "wartet" bis auch eine Auswahl gemacht wurde!

Denn sobald eine Auswahl gemacht wurde, soll sich das DBGrid füllen.

Hier mal ein Quellcode Beispiel:

Delphi-Quellcode:
procedure TForm2.Button2Click(Sender: TObject);
var
 ...
 ...
 ...
   Tabellenname, Nummer, Datum, Datum2, Test, Test2 : string;

begin
   
    Test:= TestErmitteln(Datum2);
    SQLBSTATEMENTS(Tabellenname, Nummer, Datum, Test, Test2);
 ...
 ...
 ...
Da werden die Prozeduren aufgerufen

TestErmitteln:

Delphi-Quellcode:
function TestErmitteln(Datum2: String): String;
var
   Test: string;
begin

     Try
     
     Form1.Query1.Close;
     Form1.Query1.Sql.Clear;
     Form1.Query1.Sql.Add('SELECT Test');
     Form1.Query1.Sql.Add('FROM TestTabelle ');
     Form1.Query1.Sql.Add('WHERE Name= ''Test'' ');
     Form1.Query1.Sql.Add('AND Datum= :Datum');
     Form1.Query1.Params.ParamByName('Datum').AsString := Datum2;
     Form2.DBLookupComboBox1.ListField:= 'Test';
     Form2.DBLookupComboBox1.KeyField:= 'Test';
     Form2.DBLookupComboBox1.ListSource := Form1.DataSource1;
     Form1.Query1.Open;

     Test:= Form2.DBLookupCombobox1.KeyValue;

     except
          on E: Exception do
          begin
              ShowMessage(E.Message);
         end;
     end;

     result := Test;
end;
SQLBSTATEMENTS ist ja unwichtig

Wie kann ich es nun machen, das er SQLBSTATEMENTS erst aufruft, wenn in der dbLookUpComboBox eine Auswahl getätigt wurde ? Bin echt am verzweifeln..

Denn jetzt läuft er SQLBSTATEMENTS auch durch, gibt dann eine exception und erst wenn ich dann was auswähle und nochmal den button drücke, klappt es!
  Mit Zitat antworten Zitat