Axapta:Group By 子句后出现“从未选择记录”错误

问题描述

我是 Axe 2009 的新手。 我想在加入另一个表 B 后更新表 A 中记录的字段,我想在其 ID 上应用 Group by。

我尝试运行以下代码,但它向我抛出错误“无法编辑 tableA 中的记录。从未选择该记录”:

where select forupdate tableA group by tabAid,Dimension[5]
join tableB group by tabBid,Dimension[5]
where tableA.tabAid == tableB.tabBid && tableB.Dimension[5] != "" && tableA.Dimension[5]
{
     if(tableA.Dimension[5] != lines.Dimension[5])
     {
          ttsbegin;
          tableA.Dimension[5] = tableB.Dimension[5];
          tableA.update()
          ttscommit;
     }
}

我认为这应该是由 tableA 上的 Group By 子句的使用引起的,但是如果我删除它,在 if 检查中,tableA.Dimension[5] 是空的。

请有人帮助我。 谢谢。

解决方法

是的,问题在于 Group by 子句。尝试这样的事情。

ttsbegin;
while select forupdate tableA where tableA.Dimension[5] != ""
join tableB where tableB.tabBid == tableA.tabAid && tableB.Dimension[5] != ""
{
     if(tableA.Dimension[5] != tableB.Dimension[5])
     {          
          tableA.Dimension[5] = tableB.Dimension[5];
          tableA.update()          
     }
}
ttscommit;

*我写的代码没有编译器,可能需要一些调整。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...