如何按日期范围值过滤执行查询?
How to filter in execute query by Date range value?
我必须在 executeQuery
中进行 Query ,并且我必须按日期字段进行过滤,
我的代码是:
public void executeQuery()
{
utcDateTime dateUTC, datenullUTC;
query q = new Query();
QueryBuildRange qbr;
QueryBuildDataSource qbds ;
QueryRun queryRun;
dateUTC = DateTimeUtil::newDateTime(_dateValue, 0, DateTimeUtil::getCompanyTimeZone());
qbds = q.addDataSource(tableNum(MCRCustCategory) );
qbds.addRange(fieldNum(MCRCustCategory, ValidTo)).value(strFmt ("> %1", dateUTC) );
queryRun = new QueryRun (q);
super();
}
在我的 init
中,我调用 executeQuery,但不在我的表单中进行过滤。
如何使用Range中的日期?
谢谢大家,
尽情享受吧!
你使用了一个 table,它使用了 date effective。你假设你必须自己做选择,这是不正确的。
改用这个:
public void executeQuery()
{
this.queryBuildDataSource().validTimeStateAsOfDate(_dateValue);
super();
}
如果您有间隔,请改用它:
this.queryBuildDataSource().validTimeStateDateRange(fromDate, toDate)
您在问题中提供的代码根本没有做任何事情,因为表单没有使用您构建的查询。反正你构建了错误的查询!
这篇blog post解释的很简洁。
我必须在 executeQuery
中进行 Query ,并且我必须按日期字段进行过滤,
我的代码是:
public void executeQuery()
{
utcDateTime dateUTC, datenullUTC;
query q = new Query();
QueryBuildRange qbr;
QueryBuildDataSource qbds ;
QueryRun queryRun;
dateUTC = DateTimeUtil::newDateTime(_dateValue, 0, DateTimeUtil::getCompanyTimeZone());
qbds = q.addDataSource(tableNum(MCRCustCategory) );
qbds.addRange(fieldNum(MCRCustCategory, ValidTo)).value(strFmt ("> %1", dateUTC) );
queryRun = new QueryRun (q);
super();
}
在我的 init
中,我调用 executeQuery,但不在我的表单中进行过滤。
如何使用Range中的日期?
谢谢大家,
尽情享受吧!
你使用了一个 table,它使用了 date effective。你假设你必须自己做选择,这是不正确的。
改用这个:
public void executeQuery()
{
this.queryBuildDataSource().validTimeStateAsOfDate(_dateValue);
super();
}
如果您有间隔,请改用它:
this.queryBuildDataSource().validTimeStateDateRange(fromDate, toDate)
您在问题中提供的代码根本没有做任何事情,因为表单没有使用您构建的查询。反正你构建了错误的查询!
这篇blog post解释的很简洁。