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

Need to get a lookup from a table field which is having duplicate values.(I need only distinct values in lookup)

您好,我有一个表格,我需要在其中查找具有重复值的 table 字段。我只需要在查找中获取不同的值。我怎样才能实现它?

例子。

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

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

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

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

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();

}