Axapta Dynamics AX 2012中的查询范围值中有多个值

Axapta Dynamics AX 2012中的查询范围值中有多个值,axapta,x++,dynamics-ax-2012,Axapta,X++,Dynamics Ax 2012,如何构建具有多个值的查询。我需要创建只在网格中显示活动BOM的过滤器,我正在寻找解决方案。这是我的代码,它不起作用: public void executeQuery() { QueryBuildRange qbr; QueryRun queryRun; Query q = new Query(); qbr = SysQuery::findOrCreateRange(BOMTable_q.dataSourceTable(tableNum(BOMT

如何构建具有多个值的查询。我需要创建只在网格中显示活动BOM的过滤器,我正在寻找解决方案。这是我的代码,它不起作用:

public void executeQuery() 
{
QueryBuildRange         qbr;
QueryRun                queryRun;
Query q = new Query();

qbr = SysQuery::findOrCreateRange(BOMTable_q.dataSourceTable(tableNum(BOMTable)), fieldNum(BOMTable, BOMId));

if (activeButton==false)
{
    qbr.value(SysQuery::valueUnlimited());
}   
else
{
    while select BOMVersion where BOMVersion.Active==true && BOMVersion.Approved==true{
    qbr.value(queryValue(BOMVersion.BOMId));
}
super();
您有两个选择:

  • 添加多个范围
  • 将多个值添加到一个由逗号分隔的范围
  • 备选案文1:
    querybuilddatasourceqbds=q.dataSourceTable(BOMTable);
    QueryBuildRange-qbr;
    而(…)
    {
    qbr=qbds.addRange(fieldNum(BOMTable,BOMId));
    qbr.value(queryValue(BOMVersion.BOMId));
    }
    
    备选案文2:
    QueryBuildRange qbr=q.dataSourceTable(BOMTable).addRange(fieldNum(BOMTable,BOMId));
    容器c;
    而(…)
    {
    c+=查询值(BOMVersion.BOMId);
    }
    qbr.值(con2str(c));
    
    是。。。这正是我需要的。谢谢:)