水晶报表中定义的参数字段,怎么在水晶报表预览前,将实际的值传递给它们
水晶报表中定义的参数字段,如何在水晶报表预览前,将实际的值传递给它们
水晶报表中定义的参数字段,如何在水晶报表预览前,将实际的值传递给它们。
比如已经定义的参数字段为 1、用户姓名 (注字符型) 2、用户编号 (注:数值型)
谢谢大家。
------解决思路----------------------
------解决思路----------------------
VB6加水晶报表9,不知怎样传入参数
水晶报表中定义的参数字段,如何在水晶报表预览前,将实际的值传递给它们。
比如已经定义的参数字段为 1、用户姓名 (注字符型) 2、用户编号 (注:数值型)
谢谢大家。
------解决思路----------------------
Dim myReport As CRAXDRT.Report
Dim Report_App As CRAXDRT.Application
Set Report_App = New CRAXDRT.Application
Set myReport = Report_App.OpenReport("d:\123.rpt")
'绑定水晶报表数据源
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
rs.Open "select * from 购物记录表", dbConnection, adOpenKeyset, adLockReadOnly
myReport.Database.Tables(1).SetDataSource rs
Set rs = Nothing
‘替换参数字段
Call EditField("xm", "张三") '假定你在水晶报表里面定义了一个名为xm的参数字段,这里用“张三”替换对应的内容
Call EditField("totalmoney", "35.22")
…………
'显示报表预览
With CRViewer1
.ReportSource = myReport
.EnableGroupTree = False
.EnableAnimationCtrl = False
.EnableDrillDown = False
.EnableHelpButton = False
.EnablePopupMenu = False
.EnableSearchControl = False
.EnableSearchExpertButton = False
.EnableSelectExpertButton = False
.EnableStopButton = False
.ViewReport
End With
Private Sub EditField(strSource As String, strReplace As String)
Dim i As Long
For i = 1 To myReport.FormulaFields.Count
If myReport.FormulaFields(i).FormulaFieldName = strSource Then
myReport.FormulaFields(i).Text = "'" & strReplace & "'"
Exit Sub
End If
Next
End Sub
------解决思路----------------------
VB6加水晶报表9,不知怎样传入参数