'此字段名称未知'错误(Crystal Reports)

时间:2010-01-25 19:34:49

标签: crystal-reports

这是我遇到的一个奇怪的问题。

我的记录选择公式如下,出于此错误的目的,我已将其缩小:

reportDocument.RecordSelectionFormula = " {@ClientName} = 'Smith' "

如果我将这个确切的选择语句复制到Crystal中,它的预览很好,但是从.NET运行时我得到了

  

'此字段名称未知'。

问题出现在@ClientName公式字段中。

@ClientName只包含:

formula = {aw_illust.CL1LNAM}

我也可以将它设置为空白字符串(formula =“”),它仍然提供

  

'此字段名称未知。'

这是一个奇怪的部分,如果我绕过公式并将公式文本直接放入.NET中,一切正常。

reportDocument.RecordSelectionFormula = " {aw_illust.CL1LNAM} = 'Smith' "

这是相同的记录选择,除了将“@ClientName”公式替换为“{aw_illust.CL1LNAM}”。它恰好发生在这一个报告上,我还有很多其他的Crystal Reports正在使用.NET中引用的公式。有任何想法吗?

5 个答案:

答案 0 :(得分:2)

很可能你没有在报告的任何地方使用你的{@ClientName}公式; Crystal Reports倾向于忽略未使用的字段,公式等。将{@ClientName}字段放在报表中的某个位置(标题或类似部分)并禁止它 - 这样您就不会搞砸报表设计,但CR之后应该知道该公式

答案 1 :(得分:0)

哪种语法有公式?如果是水晶语法,则将其更改为基本语法。或者将公式的内容更改为crystal语法(不带“formula =”)

答案 2 :(得分:0)

你可以创建一个像{?ClientName}这样的参数并从.NET中设置它,然后在Crystal中选择一个像{@ClientName} = {?ClientName}一样的公式。

答案 3 :(得分:0)

您可以使用您想要的选择条件保存报告,然后使用以下内容显示reportDocument班级所看到的内容:

TextBox1.text = reportDocument.RecordSelectionFormula

这将确认您的语法是否正确。

答案 4 :(得分:0)

当我复制现有报告以用作新报告时,我也发生了同样的情况,您可以先在报告查看器中打开报告,就我而言

enter image description here

但是加载报告的查询没有名称 DateLocal Transaction 的选择,所以我得到了这个错误,解决方法是只使用那些需要的(额外与错误无关)或重命名查询中的选择值。