水晶报表 参数据传递的遇到问题,请高手指点!急啊!!!

BlackCodeBoy 2004-09-01 04:19:44
在设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
...全文
134 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
RUKYO 2004-09-03
参看有关于DiscardSavedData的帮助
回复
BlackCodeBoy 2004-09-02
怎么没有人帮忙啊?
郁闷ing!
回复
sangshuyezi 2004-09-02
很奇怪,我用你那方法式着打答案时,第一次支行到了
f_Report.ParameterFields.GetItemByName("strYear").ClearCurrentValueAndRange
会提示有错,名字不对“strYear”。我因有事,把VB关了,一会再来运行,可是不会出错了。但是设置的参数对报表无效。
回复
BlackCodeBoy 2004-09-02
改成下面的样子就可以了,真搞不懂哪 为什么 对参数赋值,放在 f_Report.DiscardSavedData 之前会不行 不知哪位高人可以解释一下!

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_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
回复
阿泰 2004-09-02
呵呵,这个只要在报表里设置一下不进行参数提示就可以了啊
我算是来拣分吧,来得晚了,
欢迎就水晶报表使用进行讨论,呵呵
回复
BlackCodeBoy 2004-09-02
问题自己搞定了!
有没有人来产UP一下啊!
给分!
回复
相关推荐
发帖

1187

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
帖子事件
创建了帖子
2004-09-01 04:19
社区公告
暂无公告