假设在窗体中的一个文本框text1
如何将text1中的内容显示到水晶报表中(参数字段为AA)
点击刷新以后,可以改变水晶报表的内容!
先谢了~

解决方案 »

  1.   

    设计报表时在Formula Fields里面新建一个Formula Field,并定义好这个Formula Field名称(比如:abc,下面代码中替换的就是Name为abc的Formula Field的Text的内容),然后把这个Formula Field拖到报表中显示的地方,然后在VB中用以下代码替换这个Formula Field的Text内容。
    '定义对象
    Dim myReport As CRAXDRT.Report
    Dim Report_App As CRAXDRT.Application'打开报表文件
    Set Report_App = New CRAXDRT.Application
    Set myReport = Report_App.OpenReport(workdir & "\xqsum.rpt")'遍历报表中所有的FormulaField对象,找到名称为"abc"的Formula Field,并用字符串“123”替换"abc"对象Text属性中的内容
    Dim i As Long
    For i = 1 To myReport.FormulaFields.Count
        If myReport.FormulaFields(i).FormulaFieldName = "abc" Then
            myReport.FormulaFields(i).Text = "123"
        End If
    Next
    以上代码在水晶报表8中可用,其他版本的没试过。