Script query modale SQLCiao,
Mi chiedo se sia possibile aggiungere un "comportamento modale" a una query SQL, quando la query è programmata. Ecco il mio esempio:
***** Script Start *****
Nuova query SQL (
Connessione(...),
Selezionare(...),
A partire dal(...)
) << Modify << Modal;
doStuffWithTheTableFromTheQuery ();
Script ***** *****
So che "<< Modal" non funziona. So anche che esiste un PostQueryScript (). Tuttavia, preferisco scrivere il mio script senza di esso. C'è un modo per rendere modale SQL Query?
Grazie!
Ri: Script di query SQL modaliPerfezionare!
Grazie,
Vincitore
Ri: Script di query SQL modaliEhi, vkessler,
Modificare
) << run;
a:
) << run foreground;
correre da solo eseguirà la query in background se questo è ciò per cui sono state impostate le preferenze (ed è l'impostazione predefinita), ecco perché doStuffWithTheTableFromTheQuery () corre troppo presto. Se usi Esegui in primo piano , lo script attenderà che la query finisca prima di procedere.
HTH,
Eric
Ri: Script di query SQL modaliEhi Eric,
grazie per il tuo consiglio. Con un filtro richiesto la query diventa modale. Tuttavia, questo non risolve il mio problema, purtroppo. Questo perché il download effettivo dal database richiede tempo e "doStuffWithTheTableFromTheQuery ()" fallisce nuovamente, poiché la tabella non è programmabile. La mia soluzione ora è una query con un filtro richiesto e un ciclo while. "Wait (0)" sembra non avere alcun effetto. Ecco il mio esempio di codice:
Nuova query SQL (
Connessione(...),
Queryname ("tabella SQL"),
Selezionare(...),
A partire dal(...),
Dove(... Richiesta(...) ...)
) << run;
checkForDataTable = Funzione ({min},
dtSwitch = 0;
dtCountTry = 0;
dtCountMax = 120 * min; // 120 * min * 0,5 s = minuti min
Mentre (dtSwitch == 0 & dtCountTry dtCountTry ++;
Provare(
dt = Tabella dati ("Tabella SQL");
dtSwitch = 1;
,
Se (dtCountTry == dtCountMax,
Lancio ("Script fermato. La query SQL ha richiesto "|| Char (min) ||" min. ")
);
Attendere (0,5);
);
);
);
checkForDataTable (10);
doStuffWithTheTableFromTheQuery ();
Ri: Script di query SQL modaliEhi, vkessler,
Non esiste un modo per rendere modale la finestra Query Builder (cosa succede quando si passa Modifica a un oggetto query). Tuttavia, se ciò che vuoi che il tuo utente sia in grado di modificare è limitato solo alla parte del filtro della query, puoi fare in modo che la tua query abbia un filtro richiesto, quindi, invece di fare Modifica, esegui Primo piano. Il prompt del filtro * è * modale, quindi all'utente verrà richiesto di aggiornare il filtro, quindi la query verrà eseguita fino al completamento (grazie a "Primo piano") prima dell'esecuzione della prossima linea di JSL.
Se il suggerimento per il filtro sembra abbastanza e non sai come farlo, fammelo sapere e posso iniziare.
Grazie,
Eric
Ri: Script di query SQL modaliProva a mettere wait (0); dopo la tua richiesta Dovrebbe consentire alla query di terminare prima di continuare con il passaggio successivo.
Ri: Script di query SQL modaliIl problema è che lo script procede prima dell'esecuzione della query. Quindi, "doStuffWithTheTableFromTheQuery ()" non riesce, poiché non esiste una tabella. Ho una soluzione alternativa con un ciclo while, in cui viene verificata l'esistenza della tabella prima che lo script continui, ma mi chiedevo se c'è un'altra soluzione come una query SQL modale.
Ri: Script di query SQL modaliPuoi fornire il motivo per cui vuoi che la query SQL sia modale?