Ich verwende gerne interaktives JMP, um die Start- und Endzeit der Eingabe zu erhalten, und verwende dann SQL, um die Datentabelle zu filtern. Die Parameter dateb und datee funktionieren einwandfrei, wenn sie beispielsweise als „10.10.2017“, „11.11.2017“ definiert sind, aber wenn ich die zugewiesenen Variablen dateb und datee verwende, erhalte ich nicht die richtige Filterung (leere Tabellen).
Ich freue mich über jede Hilfe, die Sie leisten können. Danke.
------------------------------------
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 ( "Startdatum:" ),
str1 = Nummernbearbeitungsfeld (
deflowlim,
10 ,
<< SetFunction (
Funktion ( {Das},
lowlim = str1 << erhalten
)
)
),
Textfeld ( "Endtermin:" ),
str2 = Nummernbearbeitungsfeld (
Defuplim,
10 ,
<< SetFunction (
Funktion ( {Das},
uplim = str2 << erhalten
),
)
),
str1 << Format festlegen ( Format ( „JJJJ-MM-TT“ ) ),
str2 << Format einstellen ( Format ( „JJJJ-MM-TT“ ) )
),
H-Listenfeld ( Button-Box ( "OK" ), Button-Box ( "Stornieren" ) ),
);
dateb = Als Datum (ww[ „str1“ ]);
datee = Als Datum (ww[ „str2“ ]);
dateb = Format (Datum, „JJJJ-MM-TT“ );
datee = Format (Datum, „JJJJ-MM-TT“ );
dt1 = Datenbank öffnen (
„DSN=XXX;UID=root;PWD=xxxxx;“ ,
„Wählen Sie * aus xyz aus, 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 String-Datumsangaben wieder in Datumsangaben umwandeln, damit die Datenbank sie verstehen kann.Wenn es sich um Oracle handelt, 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);