請注意一點:我做的報表不是通過VB中的Add Crystal Report的方法得到的,而是直接用報表設計器做成的
現只想用VB去調用它
但在報表中有用到參數。如:?Parm1,?Parm2等
假設Parm1="中國軟件",Parm2="報表設計區"如果沒有參數用下面的方法可以成功調用,但是參數部分卻不知該怎樣傳遞
Dim a As Object
Dim b As Report
Set a = CreateObject("crystal.crpe.application")
Set b = a.OpenReport(App.Path & "\IEZHWI_P01.rpt")
b.Preview
謝謝!!!
現只想用VB去調用它
但在報表中有用到參數。如:?Parm1,?Parm2等
假設Parm1="中國軟件",Parm2="報表設計區"如果沒有參數用下面的方法可以成功調用,但是參數部分卻不知該怎樣傳遞
Dim a As Object
Dim b As Report
Set a = CreateObject("crystal.crpe.application")
Set b = a.OpenReport(App.Path & "\IEZHWI_P01.rpt")
b.Preview
謝謝!!!
解决方案 »
- excel里一定时间间隔内刷新显示sql数据库记录
- 如何限制打印机不换页(windows下)
- 如何把程序的图标放到状态栏中去?
- 如何在程序中改变表的结构?
- ★★★★★★★★★如何知道文本框内容的长度★★★★★★★★★★★★
- mschart能动态改变显示方式吗?急!
- 如何用代码建立DSN?
- **************~~~~~~~~~~~~~~~吐血问题~~~~~~~~**************
- 密码应该怎样记下来才安全?
- 如何在EXCEL2000中设置关闭表格时自动保存?
- 创建一个dll工程, 工程的里面有一个类 class1. 保存工程, 生成 dll文件.
- 怎样用vb编程实现将文本文件保存为网页文件?高手指教!急!!!!
b.ParameterFields(2).AddCurrentValue 参数2
.
.
.
.
Dim i, j, k As Integer
Dim strParamName As String
Dim mdicParamList As New Dictionary
Dim blnResult As Boolean
blnResult = False
mdicParamList.Add "Parm1", "中國軟件"
mdicParamList.Add "Parm1", "報表設計區" pcrpReport.EnableParameterPrompting = False
With pcrpReport.ParameterFields
If .Count > 0 Then
For i = 1 To .Count
strParamName = Mid(.Item(i).Name, 3, Len(.Item(i).Name) - 3) ' Convert "{?ParamName}" to "ParamName"
If mdicParamList.Exists(strParamName) Then
.Item(i).SetCurrentValue mdicParamList.Item(strParamName)
If Err.Number <> 0 Then
MsgBox "Can not set report parameter :" & _
vbLf & pcrpReport.ParameterFields(i).Name & " = " & mdicParamList.Item(strParamName) & _
vbLf & Err.Number & ": " & Err.Description, vbCritical
Err.Clear
End If
End If
Next i
End If
End With
blnResult = True
ExitHere:
Err.Clear
SetParameter = blnResult
End Function