Im folgenden ein Beispiel, wie man bei einer FormDataSource einen QueryBuildRange aufbaut, welcher nur tagesaktuelle Datensätze anzeigt.
Im Beispiel enthält unsere FormDataSource namens DataSourceName zwei Datumsfelder namens FromDate und ToDate und es sollen abhängig von einer Checkbox nur Datensätze angezeigt werden, die "heute" gültig sind.
Diese Webseite verwendet Cookies, um Benutzern einen besseren Service anzubieten. Wenn Sie weiterhin auf der Seite bleiben, stimmen Sie der Verwendung von Cookies zu.
Mehr dazu
Im folgenden ein Beispiel, wie man bei einer FormDataSource einen QueryBuildRange aufbaut, welcher nur tagesaktuelle Datensätze anzeigt.
Im Beispiel enthält unsere FormDataSource namens DataSourceName zwei Datumsfelder namens FromDate und ToDate und es sollen abhängig von einer Checkbox nur Datensätze angezeigt werden, die "heute" gültig sind.
{
queryBuildRange qbr;
qbr = sysQuery::findOrCreateRange(DataSourceName_ds.queryBuildDataSource(), fieldNum(DataSourceName, recId));
if( !ShowExpiredCheckBox.checked())
{
qbr.value(strfmt('('+
'((%5.%2 <= %1) && (%5.%3 >= %1)) || ' +
'((%5.%2 == %4) && (%5.%3 == %4)) || ' +
'((%5.%2 <= %1) && (%5.%3 == %4)) || ' +
'((%5.%3 >= %1) && (%5.%2 == %4)) ' +
')',
Date2StrXpp(systemDateGet()),
fieldstr(DataSourceName, FromDate),
fieldstr(DataSourceName, ToDate),
Date2StrXpp(dateNull()),
tableId2name(tableNum(DataSourceName))));
}
else
{
qbr.value(SysQuery::valueUnlimited());
}
}
Der Aufruf obiger Methode kann beispielsweise in der executeQuery() der Datasource erfolgen.