AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi dbLookUpComboBox + DBGrid
Thema durchsuchen
Ansicht
Themen-Optionen

dbLookUpComboBox + DBGrid

Ein Thema von fanavity · begonnen am 24. Okt 2011 · letzter Beitrag vom 24. Okt 2011
Antwort Antwort
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
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.541 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: dbLookUpComboBox + DBGrid

  Alt 24. Okt 2011, 14:38
Hat denn die dbLookUpComboBox kein OnChange-Ereignis?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
fanavity

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

AW: dbLookUpComboBox + DBGrid

  Alt 24. Okt 2011, 14:44
Leider nicht.. Ausserdem wüsste ich dann auch nicht, wie ich die ganzen Variablen zur weiterverarbeitung an diese Prozedur übertragen sollte..
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.541 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: dbLookUpComboBox + DBGrid

  Alt 24. Okt 2011, 14:48
Dann versuch es mal OnCloseUp.
Zitat:
Mit einer Ereignisbehandlungsroutine für OnCloseUp können Sie auf das Schließen der Lookup-Liste reagieren. Beim Schließen der Liste wird dem Tabellenfeld der ausgewählte Lookup-Wert zugewiesen. Die Liste kann vom Benutzer oder mit der Methode CloseUp geschlossen werden.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
fanavity

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

AW: dbLookUpComboBox + DBGrid

  Alt 24. Okt 2011, 14:51
Nun habe ich aber ein Problem.Ich weiß nicht wie ich die ganzen Parameter in die OnClose Procedur bekomme, die ich benötige um die weiteren SQLSTATEMENTS auszuführen.. Sorry wenn ich mich ein bisschen doof anstelle. Ich lerne gerade erst Delphi ^^
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.541 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: dbLookUpComboBox + DBGrid

  Alt 24. Okt 2011, 14:57
Ich habe anscheinend noch nicht ganz mitbekommen, was überhaupt wo steht Du willst doch bei Änderungen des Wertes der LookUpComboBox diesen neuen Wert als Parameter für ein Statement verwenden, oder habe ich das falsch verstanden?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
fanavity

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

AW: dbLookUpComboBox + DBGrid

  Alt 24. Okt 2011, 15:00
Das ist soweit richtig. Nur habe ich davor noch 6Functionen, wo ich Parameter für das Statement sammle. Und diese müssen auch mit rein!

Denn die werden zum Teil aus Dateien ausgelesen, werden eingegeben etc. Und die dbLookupComboBox zeigt dann automatisch nur noch die zutreffenden Felder an.
Dort wählt man dann eines aus und anschließend sollen die SQLSTATEMENTS mit den vorhergesammlten 6 + dem dbLookupCombobox Parameter ausgeführt werden.

Hui.. ich hoffe das war verständlich
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.541 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: dbLookUpComboBox + DBGrid

  Alt 24. Okt 2011, 15:17
Dann schreib Dir doch einfach eine Methode mit einem parametrisierten Statement, der Du entweder den aktuellen Wert der LookupComboBox als Parameter übergibst oder die das intern selbst ausliest. Diese Methode rufst Du dann im OnCloseUp auf.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.733 Beiträge
 
Delphi 6 Enterprise
 
#9

AW: dbLookUpComboBox + DBGrid

  Alt 24. Okt 2011, 15:24
Alternativ kann man doch auch, die zuvor ermittelten Werte, die bereits zur Einschränkung der Ergebnismenge in der ComboBox gebraucht wurden und die auch weiterhin noch gebraucht werden erstmal in Variablen zwischenspeichern und dann im OnChange der Combobox diese auslesen und zusammen mit dem Wert in der combobox das Statement für das Grid generieren.
Ralph
  Mit Zitat antworten Zitat
Antwort Antwort


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 04:47 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