Dim crApp As New CRAXDRT.Application
Dim crRpt As New CRAXDRT.reportPrivate Sub Form_load    Dim Rs As ADODB.Recordset
    Set Rs = New ADODB.Recordset
    Rs.Open SSql, gadoConn, adOpenDynamic, adLockReadOnly, adCmdText     Set crRpt = crApp.OpenReport("E:\rpt001.rpt")     
     
    crRpt.DiscardSavedData
    crRpt.Database.SetDataSource Rs
    crRpt.EnableParameterPrompting = False
    
    MDIMain.CRV.ReportSource = crRpt
    MDIMain.CRV.DisplayBackgroundEdge = False
    MDIMain.CRV.DisplayGroupTree = False
    MDIMain.CRV.Refresh   
    MDIMain.CRV.ViewReport
   ' MDIMain.CRV.PrintReport    end sub  其中crv是crviewer9。
 显示不了报表,但是执行MDIMain.CRV.PrintReport 就可以打印出来,数据也是对的。如何预揽。

解决方案 »

  1.   

    不是设这个crRpt.Database.SetDataSource Rs
    要设定database的Table数据源,
    详见:
    http://blog.csdn.net/myhgyp/archive/2005/01/13/252260.aspx
      

  2.   

    crRpt.Database.table(1).SetDataSource Rs还是没有,语句都可以过去,就是没有显示。
      

  3.   

    代码应该没什么问题
    比较奇怪的是你的水晶报表浏览器是放在MDI窗口上的吗?
    怎么放上去的?
    你用个普通的窗口看看