OnExit-Ereignis verloren

Alles, was den Programmierer beschäftigt

Moderator: SYNERPY

Antworten
Gast

OnExit-Ereignis verloren

Beitrag von Gast »

Hallo,

ich habe folgendes Problem:
ein query mit der Select-Anweisung 'SELECT * FROM V_BGALVANIK_CHARGE FOR UPDATE'. In dem Formular befinden sich mehrere Buttons und Editfelder ( Edit-Felder mit q_1 verbunden). Eins der Editfelder hat ein OnExit-Ereignis. Über einen der Button lese ich eine neue SQL-Anweisung ein:
q_1.Close;
q_1.SQL.Text := 'Select * from V_BGalvanik_Charge Where Charge = :nr';
q_1.ParamByName('nr', charge);
q_1.Open;
Mit einem weiteren Button kann ich wieder die Ausgangs SQL-Anweisung einlesen.
Bis hierher funktioniert auch alles.
Habe ich allerdings einen der Button betätigt und will einen neuen Datensatz einfügen, habe ich das Problem. Im vorher erwähnten OnExit-Ereignis hole ich mir eine benötigte ID aus der Datenbank. Nur leider wird das OnExit-Ereignis nicht mehr ausgeführt. Scheint irgendwie die Zuordnung verloren zu haben. Wie komme ich wieder zu dem OnExit-Ereignis.
Ich will auch keinen neuen Query verwenden, da ich diesen ja nicht mit dem Navigator verbinden kann.

Für die Antwort schon mal vielen Dank im voraus.
Gast

OnExit-Ereignis verloren

Beitrag von Gast »

Hallo,
ich bins nochmal. Schade, daß sich niemand für mein Problem interessiert. Wäre schön, wenn sich trotzdem jemand kümmern könnte.
Vielleicht der Admin?

Vielen Dank!
admin
Site Admin
Beiträge: 2673
Registriert: Di Feb 10, 2004 5:48 am
Wohnort: Bayreuth

Beitrag von admin »

Kann man hier nicht einfach den Focus auf das Feld setzen und es dann wieder verlassen?
Gast

OnExit-Ereignis verloren

Beitrag von Gast »

Funktioniert nur leider nicht.
Wenn ich einen neuen Datensatz anlegen will, komme ich automatisch in dieses Feld und somit habe ich ja den Focus. Aber wie schon erwähnt verändere ich zwischendurch die SQL-Anweisung und nach dieser Änderung funktioniert das OnExit-Ereignis nicht mehr.
Es geht lediglich nach Aufrufen des Formulars, ohne vorher einen Button betätigt zu haben, der die SQL-Anweisung ändert.

mfg
admin
Site Admin
Beiträge: 2673
Registriert: Di Feb 10, 2004 5:48 am
Wohnort: Bayreuth

Beitrag von admin »

Warum überhaupt die Query verändern? Einfach Felder mit den Suchbedingungen belegen und posten. Das Resultat ist dasselbe.
Gast

OnExit-Ereignis verloren

Beitrag von Gast »

Wir passen das Programm an unsere Bedürfnisse an, bzw. erweitern es (neue Tabellen und Formulare für die Produktion). Es würde hier zu weit führen, unseren Produktionsablauf für diesen speziellen Fall zu erläutern.
Ich will eigentlich auch nur wissen, warum das OnExit-Ereignis nach Verändern der SQL-Anweisung nicht mehr ausgeführt wird und wie ich es hinbekomme, das es wieder ausgeführt wird.

mfg
admin
Site Admin
Beiträge: 2673
Registriert: Di Feb 10, 2004 5:48 am
Wohnort: Bayreuth

Beitrag von admin »

Die Frage war nicht, warum das Programm angepasst wird, sondern die Query.
Sie können doch einfach über die Felder der Maske die Query einschränken.
Gast

OnExit-Ereignis

Beitrag von Gast »

Hallo,
ich wüsste nicht, wie ich über Felder einen Query einschränken könnte.

Wahrscheinlich habe ich mich nicht verständlich genug ausgedrückt.
Unser Arbeitsablauf erfordert es, die Datenmenge immer wieder zu verändern, bzw. einzuschränken. Dies wird mit der Where Klausel und dem darin enthaltenen Parameter erreicht. Die Daten werden in einem Grid dargestellt.
Ich verändere also durch betätigen verschiedener Buttons immer wieder die SQL-Anweisung. Das passiert alles noch im Lesemodus und funktioniert auch.
Will ich jetzt aber einen neuen Datensatz hinzufügen, den ich über Datenbankfelder eingebe, wobei das Eingabefeld ein Relationsfeld ist, wird das OnExit-Ereignis von diesem Relationdfeld nicht mehr ausgeführt. Das brauche ich aber, weil mir hier eine ID zur Verfügung gestellt wird, die für den weiteren Arbeitsablauf notwendig ist.
Es müssen meiner Meinung nach durch das Verändern der SQL-Anweisung, die Relationsverbindungen verlorengegangen sein, denn direkt nach dem Programmstart(also noch Original SQL) wird ja das Ereignis ausgeführt.
Ich hoffe, daß es etwas verständlicher geworden ist. Wenn nicht, weiß ich auch nicht weiter.
Trotzdem schönes Wochenende

mfg
Gast

OnExit-Ereignis

Beitrag von Gast »

Hallo, da bin ich noch mal.

Ich warte jetzt seit dem 06.01 auf eine Antwort. Wenn es keine Lösung für mein Problem gibt, hätten sie es mir doch mitteilen können.
Ich werde also versuchen, das Problem anders zu lösen.
Schade eigentlich. Komme ich eben in den Pool der nichtgelösten Probleme.

mfg
HST
admin
Site Admin
Beiträge: 2673
Registriert: Di Feb 10, 2004 5:48 am
Wohnort: Bayreuth

Beitrag von admin »

Manchmal "spinnt" das Forum und alle Beiträge erscheinen als gelesen, da passiert es schon mal, dass man etwas überliest.

Aber was ist hier denn eigentlich das Problem? Wie schon gesagt, im OnExit in den Suchmodus springen, die Felder der Query (oder der Maske) mit Werten bestücken und dann die Suche starten. Dabei werden die Felder als Suchbedingung (wie immer in AvERP) berücksichtigt und die WHERE-Bedingung selbstständig aufgebaut. Gleiches Ergebnis wie bisher, nur keine verschwindenden Felder.
Gast

OnExit-Ereignis

Beitrag von Gast »

Hallo,
jetzt hab ich's mit den Feldern verstanden. Für unseren Ablauf in diesem speziellen Fall aber leider nicht zu gebrauchen. Ich werde eine andere Lösung suchen.
Trotzdem vielen Dank.

mfg
HST
Antworten