Ich verwende gerne JMP interative, um die Start- und Endzeit der Eingabe zu erhalten, und verwende dann SQL, um die Datentabelle zu filtern. Die Parameter dateb und datee, wenn sie beispielsweise als '2017-10-10', '2017-11-11' definiert sind, funktionieren gut, aber wenn ich die zugewiesenen Variablen dateb und datee verwende, erhalte ich nicht die richtige Filterung (leere Tabellen).
Ich schätze jede Hilfe, die Sie leisten können. Vielen Dank.
------------------------------------
defuplim = Heute ();
deflowlim = Heute () - In Tagen ( 730 );
WW = Neues Fenster ( "Wählen Sie Ihre Daten im Format JJJJ-MM-TT" ,
<< Modal ,
<< Ergebnis zurückgeben ,
V Listenfeld (
Textfeld ( "Anfangsdatum:" ),
str1 = Zahlenbearbeitungsfeld (
abflusslim,
10 ,
<< SetFunction (
Funktion ( {das},
lowlim = str1 << erhalten
)
)
),
Textfeld ( "Endtermin:" ),
str2 = Zahlenbearbeitungsfeld (
defuplim,
10 ,
<< SetFunction (
Funktion ( {Dies},
uplim = str2 << erhalten
),
)
),
str1 << Format festlegen ( Format ( „JJJJ-MM-TT“ ) ),
str2 << Format festlegen ( Format ( „JJJJ-MM-TT“ ) )
),
H Listenfeld ( Button-Box ( "OK" ), Button-Box ( "Absagen" ) ),
);
dateb = Als Datum (ww[ "str1" ]);
Verabredung = Als Datum (ww[ "str2" ]);
dateb = Format (Datum, „JJJJ-MM-TT“ );
Verabredung = Format (Verabredung, „JJJJ-MM-TT“ );
dt1 = Datenbank öffnen (
"DSN=XXX;UID=root;PWD=xxxxx;" ,
"Wählen Sie * aus xyz, wobei Datum (Startzeit) zwischen 'dateb' und 'datee' liegt." , "TMP"
);
Vielen Dank Jim. Es hat perfekt funktioniert.
Sehen Sie, ob diese Änderung funktioniert
defuplim = Today();
deflowlim = Today() - In Days( 730 );
ww = New Window( "Pick Your Dates in yyyy-mm-dd format",
<<MODAL></MODAL>
Sie müssen Ihre Stringdaten wieder in Daten umwandeln, damit die Datenbank sie verstehen kann.Wenn dies Oracle ist, benötigen Sie eine Anweisung wie:
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);