需要从具有重复值的表字段中进行查找。(我在查找中只需要不同的值)

时间:2015-01-09 04:44:30

标签: axapta lookup microsoft-dynamics ax

您好我有一个表单,我需要从具有重复值的表字段中查找。我只需要获取loookup中的不同值。我怎么能实现它?

实施例。

RmTable
field1 field2 field3
t1      jyo     abc
t2      jyo     cdd
t3      jyo     ccc
t4      Kim     dd
t5      pete    ss
t6      kim     sssw

我有一个有字段的表单。我需要从field2中查找不同的值。 你能帮我么。提前谢谢。

2 个答案:

答案 0 :(得分:1)

Dynamics AX X ++代码中select statement的语法没有像SQL中存在的distinct关键字。但是有一些解决方法:

  • 创建一个新表或枚举,其中包含查找字段的可能值,并在该表或枚举上执行查找(这是我建议的解决方法)
  • 在运行时创建查找所有可能查找值的List,然后使用SysLookup::lookupList函数

答案 1 :(得分:0)

public void lookup()

{

Query                   query = new Query();
QueryBuildDataSource    queryBuildDataSource;

SysTableLookup  sysTableLookup = sysTableLookup::newParameters(tableNum(APDicQuotationsControl), this);
;

sysTableLookup.addLookupfield(fieldNum(APDicQuotationsControl, Version));
queryBuildDataSource = query.addDataSource(tableNum(APDicQuotationsControl));

queryBuildDataSource.addSortField(fieldnum(APDicQuotationsControl, Version));
queryBuildDataSource.addOrderByField(fieldnum(APDicQuotationsControl, Version));
queryBuildDataSource.orderMode(OrderMode::GroupBy);

sysTableLookup.parmQuery(query);
sysTableLookup.performFormLookup();

}