Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi DBGRID Felder und ZQuery (https://www.delphipraxis.net/48168-dbgrid-felder-und-zquery.html)

xaverras 21. Jun 2005 16:24

Datenbank: mysql • Version: 4.10x • Zugriff über: zeoes

DBGRID Felder und ZQuery
 
Hallo,

ich habe eine form mit 2 Tabsheet auf die eine Tabsheet ist eine DBGrid mit einem Feld, ich möchte der Wert dieser Feld benutzen um in der
betreffenden Datensatz in der zweite Tabsheet zu springen.

der zweite Tabsheet enthält mehrere DBEdit die an eine Datasource gelinkt sind (ZqryAllOrders = select id, order_id, .... from orders),
3 DBGrids die von der Datensource abhängen wo die DBEdit gelingt sind z.B select * from order_deltails where order_id := order_id.

auf die Erste Tabsheet habe ich eine PopUpMenu, der an ein Action gelinkt ist, die Action ist wie folgend:
Delphi-Quellcode:
procedure TKundenverwaltung.GoToOrdersIDExecute(Sender: TObject);
begin

  zqryAllOrders.SQL.Text:= 'select * from orders where orders_id = '+ DBGridorders_details.SelectedField.Text;
  zqryAllOrders.Open;
  zqryAllOrders.ExecSQL;
  TabSheet2.Visible:= true;
  PageControlcustomers.ActivePageIndex:=1;

end;
So jetzt das Problem ist, dass wenn ich die Action durch den PoUpMenu ausführe werde ich zwar auf der Zweite Tabsheet gebracht alle Unterquery werden auch richtig angezeigt, jedoch die Hauptquery ist deakriviert und wird überhaupt nichts angezeigt, wenn die Unterquery auf die richtige Datensätze gesetzte werden das heißt dass in Hintgrund doch richtig gearbeitet hat, nur warum zeigt nichts an?
Ich habe alles Mögliches probiert, mit query open, close, clear, hat nichts gebracht.


Danke

Xaver

[edit=Sharky]Delphi-Tags eingefügt. Mfg, Sharky[/edit]

Stevie 21. Jun 2005 16:36

Re: DBGRID Felder und ZQuery
 
Hi Xaver,
Delphi-Quellcode:
procedure TKundenverwaltung.GoToOrdersIDExecute(Sender: TObject);
begin
  zqryAllOrders.SQL.Text:= 'select * from orders where orders_id = '+ DBGridorders_details.SelectedField.Text;
  zqryAllOrders.Open;
  zqryAllOrders.ExecSQL; // <<-- WEG DAMIT!!!
  TabSheet2.Visible:= true;
  PageControlcustomers.ActivePageIndex:=1;
end;
Ich erwähn es hier zum x-ten mal: ;-)
Open ist für Datenmengen und ExecSQL, um Statements auszuführen, die keine Ergebnismenge zurückliefern, ein Delete beispielsweise.

MfG
Stevie

xaverras 21. Jun 2005 18:19

Re: DBGRID Felder und ZQuery
 
Hallo Stevie,

erstmal danke es funktioniert, ich bin noch anfänger mit Delphi... Jetzt wird richtig angezeigt, jedoch ist ein Problem enstanden, zwar kann man
nicht me hr navigieren, da die Datasource bleibt stecken auf die where Klausel.

gibt eine Möglichkeit, nach der Ausführung zurück auf 'select * from orders' zu setzten ohne das Anzeigen zu Verändern?

Danke.

Xaver

Stevie 22. Jun 2005 07:44

Re: DBGRID Felder und ZQuery
 
Zitat:

Zitat von xaverras
Jetzt wird richtig angezeigt, jedoch ist ein Problem enstanden, zwar kann man
nicht mehr navigieren, da die Datasource bleibt stecken auf die where Klausel.

Äh, was? :gruebel:
Zitat:

Zitat von xaverras
gibt eine Möglichkeit, nach der Ausführung zurück auf 'select * from orders' zu setzten ohne das Anzeigen zu Verändern?

Klar, einfach SQL.Text ändern ;-)


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