如何将视图传递给queryRun?

时间:2013-01-23 09:51:36

标签: axapta dynamics-ax-2009 x++ rdp dynamics-ax-2012

我喜欢将“QueryRun”传递给View。如果我放这行,我在visual studio中有错误:

ProjPostTransView = queryRun.get(tablenum(ProjPostTransView));

但是如果我把这一行放在了我没有任何错误:

custTable = qeuryRun.get(tablenum(CustTable));

这最后一行不会产生错误,因为我感觉“表”到“queryrun”。现在我需要通过一个“视图”而不是表格。

3 个答案:

答案 0 :(得分:2)

嗯,您想要get的表格或视图必须是“静态”查询中定义的表格或视图之一:queryRun.query()

queryRun = new QueryRun(queryStr(CustTableQuery));

除了get之外,期望queryRun为CustTable是不合理的。

要查看SQL(包括FROM表),请使用:

info(queryRun.query().dataSourceNo(1).toString());   

答案 1 :(得分:2)

如果您尝试从ProjPostTransView获取ProjTransQuery视图,则无效。 ProjPostTransView不是该查询的数据源。它是一个从属对象。这意味着视图引用了查询。不是相反。 (参考:http://msdn.microsoft.com/en-us/library/bb278121(v=ax.50).aspx

答案 2 :(得分:0)

这个工作非常好,但它不是我需要的

this one work very well but its not what i need

如果我使用表而不是视图,我会将此代码作为示例:

if i work with table and not view i will make this code for exemple