这是我遇到的一个奇怪的问题。
我的记录选择公式如下,出于此错误的目的,我已将其缩小:
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中引用的公式。有任何想法吗?
答案 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)