在设Person.rpt 中已经 设置一个参数字段 strYear 按照下面的方法:为什么运行的时候,会弹出一个窗口,要我输入参数的值,我不是已经给参数据赋值了吗?难道不是这样赋值的?请大家多多指点!
Public Sub printD(v_strCondition As String)
On Error GoTo Ex
Dim f_CryApp As New CRAXDDRT.Application
Dim f_Report As CRAXDDRT.Report
Dim f_strSQL As String
Dim f_Rst As New ADODB.Recordset
f_strSQL = v_strCondition
Set f_Report = f_CryApp.OpenReport(App.Path & "\Report\Person.rpt")
f_Report.ParameterFields.GetItemByName("strYear").ClearCurrentValueAndRange'没有这
句的话,运行到下一句会出错
f_Report.ParameterFields.GetItemByName("strYear").AddCurrentValue ("2004")
f_Rst.Open f_strSQL, p_Conn, adOpenKeyset, adLockOptimistic f_Report.Database.SetDataSource f_Rst
f_Report.DiscardSavedData
Screen.MousePointer = vbHourglass
CRViewer91.ReportSource = f_Report
CRViewer91.Refresh
CRViewer91.ViewReport
Screen.MousePointer = vbDefault
Set f_Rst = Nothing
Exit Sub
Ex:
End Sub
Public Sub printD(v_strCondition As String)
On Error GoTo Ex
Dim f_CryApp As New CRAXDDRT.Application
Dim f_Report As CRAXDDRT.Report
Dim f_strSQL As String
Dim f_Rst As New ADODB.Recordset
f_strSQL = v_strCondition
Set f_Report = f_CryApp.OpenReport(App.Path & "\Report\Person.rpt")
f_Report.ParameterFields.GetItemByName("strYear").ClearCurrentValueAndRange'没有这
句的话,运行到下一句会出错
f_Report.ParameterFields.GetItemByName("strYear").AddCurrentValue ("2004")
f_Rst.Open f_strSQL, p_Conn, adOpenKeyset, adLockOptimistic f_Report.Database.SetDataSource f_Rst
f_Report.DiscardSavedData
Screen.MousePointer = vbHourglass
CRViewer91.ReportSource = f_Report
CRViewer91.Refresh
CRViewer91.ViewReport
Screen.MousePointer = vbDefault
Set f_Rst = Nothing
Exit Sub
Ex:
End Sub
郁闷ing!
On Error GoTo Ex
Dim f_CryApp As New CRAXDDRT.Application
Dim f_Report As CRAXDDRT.Report
Dim f_strSQL As String
Dim f_Rst As New ADODB.Recordset
f_strSQL = v_strCondition
Set f_Report = f_CryApp.OpenReport(App.Path & "\Report\Person.rpt")
f_Rst.Open f_strSQL, p_Conn, adOpenKeyset, adLockOptimistic f_Report.Database.SetDataSource f_Rst
f_Report.DiscardSavedData
f_Report.ParameterFields.GetItemByName
("strYear").ClearCurrentValueAndRange'没有这
句的话,运行到下一句会出错
f_Report.ParameterFields.GetItemByName("strYear").AddCurrentValue ("2004")
Screen.MousePointer = vbHourglass
CRViewer91.ReportSource = f_Report
CRViewer91.Refresh
CRViewer91.ViewReport
Screen.MousePointer = vbDefault
Set f_Rst = Nothing
Exit Sub
Ex:
End Sub
f_Report.ParameterFields.GetItemByName("strYear").ClearCurrentValueAndRange
会提示有错,名字不对“strYear”。我因有事,把VB关了,一会再来运行,可是不会出错了。但是设置的参数对报表无效。