条件中的对象声明 - 逻辑中断:
If mycondition = True Then
Dim objrpt As New CrystalReport1
Else
Dim objrpt As New CrystalReport2
End If
objrpt.SetDataSource(ds.tables( “XXX”))
我在上面的行中收到错误说: 由于其保护级别
,未声明objrpt可能无法访问我同意如果条件不满足可能无法进入 - 但在这里 如果没有达到,那么CrystalReport2会知道吗?
答案 0 :(得分:1)
问题是您的变量必须在If
语句之外声明。无法从外部访问在If
语句中声明的变量。
Dim objrpt As ReportDocument
If mycondition = True Then
objrpt = New CrystalReport1
Else
objrpt = New CrystalReport2
End If
objrpt.SetDataSource(ds.tables("xxx"))
答案 1 :(得分:0)
下面的代码工作正常 - 但它的逻辑很有趣: - )
If GLB_SelectedRPT = "3B" Then
Dim objrpt As New CommissionRpt3B
objrpt.SetDataSource(StrongDS.Tables("mytempcomm"))
CrystalReportViewer1.ReportSource = objrpt
Else
Dim objrpt As New CommissionRpt3BPlus
objrpt.SetDataSource(StrongDS.Tables("mytempcomm"))
CrystalReportViewer1.ReportSource = objrpt
End If
此致 森萨