繁体   English   中英

在 VB 的水晶报表中设置公式字段中的值

[英]Set values in formula fields in crystal report from VB

我是 vb 和水晶报告的新手,所以请帮助我解决我的问题。 我正在使用 vb 代码将值分配给我的水晶报告中的公式字段。 这是我的代码:

 Dim report As CrystalDecisions.CrystalReports.Engine.ReportDocument
        report = New report_Student()
        report.DataDefinition.FormulaFields("student").Text = "Slone" & Chr(13) & "Thompson"
        frm_print.viewerReport.ReportSource = report
        frm_print.viewerReport.RefreshReport()
        frm_print.Show()

我把它放在按钮点击事件中。 现在我在运行它时出现错误,在它从查看器加载水晶报告之前,此错误显示:

The remaining text does not appear to be part of the formula.
Details: errorKind
Error in formula student:
'Slone
'

我猜你有公式字段(不是文本对象),你应该在那里使用公式:

    report.DataDefinition.FormulaFields("student").Text = _
        ControlChars.Quote + "Slone" + ChrW(13) + "Thompson" + ControlChars.Quote

因此,在结果公式中将包含一个文本文字(“Slone\\nThompson”)。

没有试过这个,但希望它应该有效。

如果没有,那么您可能需要以下一种方式使用 CR 内部函数 ChrW() 作为换行符:

    report.DataDefinition.FormulaFields("student").Text = _
        ControlChars.Quote + "Slone" + ControlChars.Quote + _
        " + ChrW(13) + " + _
        ControlChars.Quote + "Thompson" + ControlChars.Quote

因此,在结果中,两个文本文字(“Slone”和“Thompson”)将与 CR 内部函数 ChrW() 的结果连接。

在 CR 公式编辑器中,它将显示为

    "Slone" + ChrW(13) + "Thompson"

但我希望第一种方式应该有效。

您应该使用报告参数而不是公式。 如果您需要修改报告中的值,请使用公式中的参数

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM