我遇到了问题,我在init 表单中使用了一个小查询。 我用了这段代码:
query q = new Query();
QueryBuildDataSource qbds;
QueryRun queryRun;
qbds.addRange(fieldNum(MyTable,dataAreaId)).value(SysQuery::valueUnlimited());
queryRun = new queryRun(q);
if (! queryRun.prompt())
{
element.close();
}
MyTable_ds.query(queryRun.query());
当我在查询提示中加入一个值时,我会收到一条错误消息:
“无法选择公司字段。”
我的设计和 dataSource 此字段,但我无法在查询中使用。 我可以毫无问题地使用所有其他字段。
可以在查询中使用此字段吗?
谢谢你的时间,
享受!
答案 0 :(得分:2)
您不能在查询中加入DataAreaId
。
但是,您可以在查询中使用addCompanyRange
方法:
q.addCompanyRange("dat");
试试这个:
query q = new Query();
QueryBuildDataSource qbds;
QueryRun queryRun;
qbds = q.addDataSource("MyTable");
//Build you query
q.allowCrossCompany(true);
q.addCompanyRange("dat");
queryRun = new queryRun(q);
if (! queryRun.prompt())
{
element.close();
}
MyTable_ds.query(queryRun.query());