Modales SQL-AbfrageskriptHallo,
Ich frage mich, ob es möglich ist, einer SQL-Abfrage ein "modales Verhalten" hinzuzufügen, wenn die Abfrage per Skript ausgeführt wird. Hier ist mein Beispiel:
***** Skriptstart *****
Neue SQL-Abfrage (
Verbindung(...),
Wählen(...),
Aus(...)
) << Ändern << Modal;
doStuffWithTheTableFromTheQuery();
***** Skriptende *****
Ich weiß, dass "<< Modal" nicht funktioniert. Ich weiß auch, dass es ein PostQueryScript() gibt. Allerdings möchte ich mein Drehbuch lieber ohne schreiben. Gibt es eine Möglichkeit, die SQL-Abfrage modal zu machen?
Danke schön!
Betreff: Modales SQL-AbfrageskriptPerfekt!
Danke,
Sieger
Betreff: Modales SQL-AbfrageskriptHey vkessler,
Ändern
) << run;
Zu:
) << run foreground;
laufen von selbst wird die Abfrage im Hintergrund ausführen, wenn Ihre Einstellungen dafür eingerichtet sind (und dies die Standardeinstellung ist), deshalb doStuffWithTheTableFromTheQuery() läuft zu früh. Wenn du benutzt Vordergrund ausführen , wartet das Skript, bis die Abfrage abgeschlossen ist, bevor es fortfährt.
HTH,
Erich
Betreff: Modales SQL-AbfrageskriptHallo Eric,
danke für deinen Rat. Mit einem angeforderten Filter wird die Abfrage modal. Das löst mein Problem aber leider nicht. Das liegt daran, dass der eigentliche Download aus der Datenbank Zeit braucht und „doStuffWithTheTableFromTheQuery()“ wieder fehlschlägt, da die Tabelle nicht skriptfähig ist. Meine Lösung ist jetzt eine Abfrage mit einem Eingabeaufforderungsfilter und einer While-Schleife. Das "wait(0)" scheint keine Wirkung zu haben. Hier ist mein Codebeispiel:
Neue SQL-Abfrage (
Verbindung(...),
Abfragename ("SQL-Tabelle"),
Wählen(...),
Aus(...),
Wo(... Aufforderung (...) ...)
) << ausführen;
checkForDataTable = Funktion({min},
dtSchalter = 0;
dtCountTry = 0;
dtCountMax = 120 * min; // 120 * min * 0,5 s = min Minuten
Während (dtSwitch == 0 & dtCountTry < dtCountMax,
dtCountTry++;
Versuchen(
dt = Datentabelle ( "SQL-Tabelle" );
dtSchalter = 1;
,
Wenn ( dtCountTry == dtCountMax,
Throw( "Skript gestoppt. SQL-Abfrage dauerte "||Char(min)||" Mindest." )
);
Warten (0,5);
);
);
);
checkForDataTable(10);
doStuffWithTheTableFromTheQuery();
Betreff: Modales SQL-AbfrageskriptHey vkessler,
Es gibt keine Möglichkeit, das Abfrage-Generator-Fenster (das angezeigt wird, wenn Sie Modify an ein Abfrageobjekt übergeben) modal zu machen. Wenn das, was Ihr Benutzer ändern können soll, jedoch nur auf den Filterteil der Abfrage beschränkt ist, können Sie Ihre Abfrage mit einem Eingabeaufforderungsfilter versehen und dann anstelle von „Ändern“ „Vordergrund ausführen“ ausführen. Die Filtereingabeaufforderung *ist* modal, sodass der Benutzer aufgefordert wird, den Filter zu aktualisieren, und die Abfrage dann vollständig ausgeführt wird (dank „Vordergrund“), bevor Ihre nächste JSL-Zeile ausgeführt wird.
Wenn die Eingabeaufforderung für den Filter ausreichend erscheint und Sie nicht wissen, wie das geht, lassen Sie es mich wissen und ich kann loslegen.
Danke,
Erich
Betreff: Modales SQL-AbfrageskriptVersuchen Sie es mit wait(0); nach deiner Anfrage. Sollte es ermöglichen, dass die Abfrage abgeschlossen wird, bevor mit dem nächsten Schritt fortgefahren wird.
Betreff: Modales SQL-AbfrageskriptDas Problem ist, dass das Skript fortfährt, bevor die Abfrage ausgeführt wurde. Daher schlägt "doStuffWithTheTableFromTheQuery()" fehl, da keine Tabelle vorhanden ist. Ich habe eine Problemumgehung mit einer While-Schleife, bei der die Existenz der Tabelle überprüft wird, bevor das Skript fortgesetzt wird, aber ich habe mich gefragt, ob es eine andere Lösung wie eine modale SQL-Abfrage gibt.
Betreff: Modales SQL-AbfrageskriptKönnen Sie den Grund dafür angeben, dass die SQL-Abfrage modal sein soll?