![]() |
Prüfen ob Query closed is!?!?
Also wahrscheinlich ganz einfach, aber ich komme einfach auf die Schnelle nicht drauf. Wie prüfe ich ob ich eine Query closed habe.
So habe ich Sie bei ner Abfrage geschlossen: DatMod.KQu.close; Nun die Frage, wie kann ich das prüfen, ob der Nutzer per genannter Abfrage die Query geschlossen hat??? if DatMod.KQU.close = true funzt ja nicht :cry: ThX im vorraus... |
Re: Prüfen ob Query closed is!?!?
Probiers mal mit DatMod.KQu.Active
Greetz alcaeus |
Re: Prüfen ob Query closed is!?!?
Klappt nicht, wie ich mir das vorstelle. Zur Laufzeit kommt dann der Fehler "Operation bei geschlossener Datenmenge nicht ausführbar" oder so...
Sprich er überspringt bzw. bejaht die Abfrage: if DatMod.KQu.Active = true then begin ... //Queryarbeit end; IMHO: Activ is die Query ja, aber closed!!! Die Frage aber nun, wie prüfe ich, ob sie closed is... :roll: :?: :roll: PS: Die Query akriviere ich bei Programmstart und entaktiviere ich erst bei Programmende. Ich arbeite generell immer mit close und open bei kurzen reloads. |
Re: Prüfen ob Query closed is!?!?
Versuch mal mit query.state
Bei mir ist ein geschlossenes query auf dsInactive ein offenes auf dsEdit. Vielleicht hilfts ja. |
Re: Prüfen ob Query closed is!?!?
Zitat:
Delphi-Quellcode:
Man sieht also Query.Open ist genau das Gleiche wie Query.Active := True.
procedure TDataSet.Open;
begin Active := True; end; procedure TDataSet.Close; begin Active := False; end; Dein Laufzeitfehler bezieht sich möglicherweise auf eine andere Query/Table. |
Re: Prüfen ob Query closed is!?!?
Delphi-Quellcode:
Hier geht es aber wirklich nur um die eine Query.
procedure TKundenmenu.Button5Click(Sender: TObject);
begin DatMod.KQU.First; if DatMod.KQu.Active = true then begin if Druckauswahl.ItemIndex = 0 then l9_1.Print(0,LL_PROJECT_LIST,ExtractFilePath(Application.ExeName)+'drucken\Kunden\',1,LL_PRINT_EXPORT,LL_BOXTYPE_NORMALWAIT,handle,'Drucken/Exportieren', 1,''); if Druckauswahl.ItemIndex = 1 then l9_1.Design(0,handle,'Druck-Designer', LL_PROJECT_LIST,ExtractFilePath(Application.ExeName)+'drucken\Kunden\',0); if Druckauswahl.ItemIndex = 2 then l9_1.Design(0,handle,'Druck-Designer', LL_PROJECT_LIST,ExtractFilePath(Application.ExeName)+'drucken\Kunden\',1); end else ShowMessage('QUERY CLOSED'); end; PS: Jaja, jetzt bitte nicht wieder die Case-Propagonisten! @shmia: das klappt bei mir gar net. Da is Jacke wie Hose, das kommt bei beidem das gleiche raus... :?: |
Re: Prüfen ob Query closed is!?!?
Hi hast du vor dem
DatMod.KQU.First; ein DatMod.KQU.Open ausgeführt? mfG mirage228 |
Re: Prüfen ob Query closed is!?!?
Ahjaaaaaaaaaaaaaa. Daran lags. Natürlich...
Kann ja kein First ausführen, wenn Sie nich geladen is. :wall: LOL... wie gesagt, irgendwas sinnloses is es immer. ThX, das wars!!! |
Re: Prüfen ob Query closed is!?!?
Zitat:
Aber wenn ich mir so deinen Spaghetti-Code anschauen (Sorry, aber er ist schlecht formatiert und ungeschickt):
Delphi-Quellcode:
procedure TKundenmenu.Button5Click(Sender: TObject);
begin // was passiert wohl, wenn DatMod.KQU nicht Active ist ??? DatMod.KQU.First; // kann man bei geschlossener Datenmenge auf den 1. Datensatz positionieren ??? if DatMod.KQu.Active = true then // wäre dann nicht die folgende Abfrage sinnlos ??? |
Re: Prüfen ob Query closed is!?!?
Ups, sorry, meinte auch net dich @shmia
ich meinte mit dem, dass es net klappt, mit dem was Smokey sagte. Entschuldigung für die Verwechslung... :roll: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:41 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz