Crystal报表中的类型转换错误,此处需要一个数字..

时间:2015-10-04 11:45:19

标签: vb.net crystal-reports

我想在水晶报表查看器中使用类型数据整数过滤数据,例如:age,但我的代码不起作用,CR会抛出错误消息。

以下是我的代码

  Dim age As Integer
    age = Val(TextBox1.Text)
    Try
        Me.CrystalReportViewer1.SelectionFormula = "{biodata.age}  = '" & age.ToString & "'"
        Me.CrystalReportViewer1.RefreshReport()
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try

这是错误消息。

  

这里需要一个数字......   细节:....

有人可以指导我如何解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

首先,不建议发布 Bla blah 。它只是复制粘贴的问题,所以不妨把完整的错误文本。

您的回答:

您的数据库字段{biodata.age}似乎是数字。在这种情况下,CR不喜欢你的“ToString”转换。您有两个选择:

1)删除代码中的ToString并将“age”作为int传递。

Me.CrystalReportViewer1.SelectionFormula = "{biodata.age}  = & age &)"

2)如果您想继续使用age.ToString,请使用ToNumber(age.ToString)。这会将您的字符串转换为CR中的int。 像下面的东西,我不确定vb语法,但你不需要单引号。

Me.CrystalReportViewer1.SelectionFormula = "{biodata.age}  = ToNumber(& age.ToString &)"

要检查字段的类型,请右键单击字段资源管理器中的数据库字段,然后选中显示字段类型。