J'aime utiliser JMP interactif pour obtenir l'heure de début et de fin des entrées, puis utiliser SQL pour filtrer la table de données. Les paramètres dateb et datee s'ils sont définis comme par exemple '2017-10-10', '2017-11-11' fonctionnent bien, mais lorsque j'utilise les variables dateb et datee assignées, je n'obtiens pas le filtrage correct (tables vides).
J'apprécie toute aide que vous pouvez fournir. Merci.
------------------------------------
défuplim = Aujourd'hui ();
déflowlim = 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 numéro (
déflowlim,
dix ,
<< DéfinirFonction (
Fonction ( {que},
lowlim = str1 << obtenir
)
)
),
Zone de texte ( "Date de fin:" ),
chaîne2 = Zone d'édition de numéro (
défuplim,
dix ,
<< DéfinirFonction (
Fonction ( {ce},
uplim = str2 << obtenir
),
)
),
str1 << définir le format ( Format ( "aaaa-mm-jj" ) ),
str2 << définir le format ( Format ( "aaaa-mm-jj" ) )
),
Zone de liste H ( 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 (rendez-vous, "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é.
Voyez 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 instruction 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);