J'aime utiliser JMP interative pour obtenir l'heure de début et de fin d'entrée, puis utiliser SQL pour filtrer la table de données. Le paramètre dateb et datee s'il est défini comme par exemple '2017-10-10', '2017-11-11' fonctionne bien, mais lorsque vous utilisez la variable dateb et datee assignée, je n'obtiens pas le filtrage correct (tables vides).
J'apprécie toute aide que vous pouvez fournir. Merci.
-----------------------------------------
défuplim = Aujourd'hui ();
deflowlim = Aujourd'hui () - En jours ( 730 );
ww = Nouvelle fenetre ( "Choisissez vos dates au format aaaa-mm-jj" ,
<< Modal ,
<< résultat de retour ,
Zone de liste V (
Zone de texte ( "Date de début:" ),
chaîne1 = Zone d'édition de nombre (
deflowlim,
dix ,
<< SetFunction (
Fonction ( {ce},
lowlim = str1 << obtenir
)
)
),
Zone de texte ( "Date de fin:" ),
chaîne2 = Zone d'édition de nombre (
défuplim,
dix ,
<< SetFunction (
Fonction ( {cette},
uplim = str2 << obtenir
),
)
),
chaîne1 << définir le format ( Format ( "aaaa-mm-jj" ) ),
chaîne2 << définir le format ( Format ( "aaaa-mm-jj" ) )
),
H Zone de liste ( Boîte à boutons ( "D'ACCORD" ), Boîte à boutons ( "Annuler" ) ),
);
dateb = Comme date (ww[ "str1" ]);
date = Comme date (ww[ "str2" ]);
dateb = format (dateb, "aaaa-mm-jj" );
date = format (date, "aaaa-mm-jj" );
dt1 = Ouvrir la base de données (
"DSN=XXX;UID=racine;PWD=xxxxx ;" ,
"Sélectionnez * à partir de xyz où date (heure de début) entre 'dateb' et 'datee'" , "TMP"
);
Merci beaucoup Jim. Cela a parfaitement fonctionné.
Voir si cette modification fonctionnera
defuplim = Today();
deflowlim = Today() - In Days( 730 );
ww = New Window( "Pick Your Dates in yyyy-mm-dd format",
<<MODAL></MODAL>
Vous devez reconvertir vos dates de chaîne en dates pour que la base de données les comprenne.S'il s'agit d'Oracle, vous avez besoin d'une déclaration telle que :
sql_statement = evalinsert(
"Select *
from xyz
where date(starttime) between to_date('^dateb^', 'YYYY-MM-DD')
and to_date('^datee^', 'YYYY-MM-DD') ");
dt1 = Open Database("DSN=XXX;UID=root;PWD=xxxxx;", sql_statement);