小弟要做一报表程序,方法是:现在水晶报表9.2中文版中建立一报表,设置好连接数据源,使用ADO连接SQL7数据库,在报表中添加字段,保存文件命名为report1.rpt不与数据一起保存。在vb中建立窗体,加入viewer控件。在Form Load中程序如下:
Dim crApp as new CRAXDDRT.Application
Dim Report as CRAXDDRT.reportset report = crapp.忘记(App.path & "\report1.rpt")
CRViewer91.ReportSource = report
CRViewer91.Refresh
CRViewer91.ViewReport
Screen.MousePointer = vbDefault生成可执行文件,用Setup Factory6打包,将水晶报表所需runtime都加进去。在win98机子上安装,安装完成后,运行程序,出现错误框,提示:“无效TLV数据源”我注册了crviewer.dll和craxdrt9.dll。不知还有什么地方不对?

解决方案 »

  1.   

    我知道了,你没有mdac2.7,要这个才行
      

  2.   

    你连数据源都没有呢
    怎么能打印呢?……………………
    这里有个例子,本来应该没问题,可惜显示不出来,我也正调试…………
    你看看…………
    ‘****************************************代码如下**********************
    Dim Sql As String
    Dim CryApp As New CRAXDDRT.Application
    Dim Report As CRAXDDRT.Report
    Dim rs As New ADODB.RecordsetPrivate Sub Form_Load()
    Me.Caption = "报表--" & RPTFormCaptionFrmCRpt.WindowState = 2
    Screen.MousePointer = vbHourglassDim strConn As String
    strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Password=;User ID=Admin;Data Source=" & App.Path & "\mzPrint.mdb;"Dim printCon As ADODB.Connection
    Set printCon = New ADODB.Connection
    printCon.Open strConn
       
    Set rs = New ADODB.Recordset
    rs.Open "select kapiantext as readunit from kapian", printCon, adOpenKeyset, adLockOptimisticSet Report = CryApp.OpenReport(App.Path & "\cardrpt.rpt")
    Report.Database.SetDataSource rsCRViewer91.ReportSource = ReportCRViewer91.ViewReportScreen.MousePointer = vbDefaultEnd 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 Report = Nothing
    Set CryApp = Nothing
    End Sub‘***************************************代码结束***************8