Vb.net 从VB中设置crystal报表中公式字段的值

Vb.net 从VB中设置crystal报表中公式字段的值,vb.net,crystal-reports,Vb.net,Crystal Reports,我是vb和crystal report的新手,请帮助我解决问题。我正在使用vb代码为crystal报表中的公式字段赋值。这是我的密码: Dim report As CrystalDecisions.CrystalReports.Engine.ReportDocument report = New report_Student() report.DataDefinition.FormulaFields("student").Text = "Slone" &

我是vb和crystal report的新手,请帮助我解决问题。我正在使用vb代码为crystal报表中的公式字段赋值。这是我的密码:

 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()
我将此放置在按钮单击事件中。现在,在从查看器加载crystal report之前,运行此程序时出错,此错误显示:

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\n文本”)

我没有试过这个,但希望它能起作用

如果不是,则可能需要使用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"

但我希望第1种方法能起作用。

我不知道Crystal是Vb.net的一部分,但你可以猜一下
chrW(13)
而不是
chr(13)
chr(13)是回车-你确定应该在你的公式中吗?同样的错误我得到@siva我应该在我的公式中输入什么?我正在公式字段中插入一个换行代码。vbnewline或environment.newline也不起作用。为什么要在公式中插入新行?所以在我的报告中,它显示的是斯隆然后是新行汤普森