刚刚接触水晶报表9.2 ,在vb里使用它,但很多地方不懂!请各位大侠帮帮忙!!!
我的代码是这样的,不知什么地方出错了
Private Sub Form_Load()Dim oApp As New CRAXDRT.Application
Dim oRpt As CRAXDRT.Report
Dim reportName As String
Dim StrTitle As StringStrTitle = "gggg"
Screen.MousePointer = vbHourglass
reportName = "\rpt\Pr2.rpt"Set oRpt = oApp.OpenReport(App.Path & reportName, 1)
'Title是报表的一个公式字段
oRpt.FormulaFields.GetItemByName("Title").Text = StrTitle oRpt.Database.SetDataSource rs
oRpt.ReadRecordsCRViewer91.ReportSource = oRptCRViewer91.ViewReport
Screen.MousePointer = vbDefault
End SubPrivate Sub Form_Resize()CRViewer91.Top = 0
CRViewer91.Left = 0
CRViewer91.Height = ScaleHeight
CRViewer91.Width = ScaleWidthEnd SubPrivate Sub Form_Unload(Cancel As Integer)
    
    Set rs = Nothing
    
    Set conn = Nothing
    
    Unload Form2
    
End Sub
调试的时候出错,错误提示是怎么的“剩余文本不是公式的一部分”
究竟那里错了???

解决方案 »

  1.   

    參考:Private Sub Form_Load()
        Dim strPathName As String, strReportName As String, strSqlPath As String
        Dim rsPath As New ADODB.Recordset
        strSqlPath = "select mean from tab where parameter_name='tabOrderFormReport'"
        rsPath.Open strSqlPath, strPubConnect, adOpenKeyset, adLockReadOnly
        If Not rsPath.EOF Then
            strPathName = rsPath.Fields(0).Value
        Else
            MsgBox "找不到報表路徑,請與資訊聯系!", vbCritical, "提醒您"
            Exit Sub
        End If
        strReportName = "custom_tabMaterialGoinReport.rpt"
        
        Screen.MousePointer = 11
        Set objReport = objApp.OpenReport(strPathName & strReportName, 1)
    '    Set objReport = objApp.OpenReport("G:\Report\" & strReportName, 1)
        objReport.Database.SetDataSource rsImport
        objReport.ReadRecords
        CRViewer91.ReportSource = objReport
        CRViewer91.ViewReport
        
        Screen.MousePointer = 0
        
    End SubPrivate Sub Form_Resize()
        CRViewer91.Top = 0
        CRViewer91.Left = 0
        CRViewer91.Height = ScaleHeight
        CRViewer91.Width = ScaleWidth
    End Sub