下面的报表的打印代码:
    Dim Cryapp As New CRAXDRT.Application
    Dim Rpt As CRAXDRT.report
    Set Rpt = Cryapp.OpenReport(App.Path & "\GoodsReceive\GR401R.rpt")
    Dim Conn As New ADODB.Connection
    Dim Rs As New ADODB.Recordset
    
    Conn.ConnectionString = strConn
    Conn.Open
    Rs.CursorLocation = adUseClient
    Dim sqlQ As String
    sqlQ = "exec sp_g_gr401r '" & Msk8toStr8(txtFromdate.Text) & "','" & Msk8toStr8(txtToDate.Text) & "'"
    
    Rs.Open sqlQ, Conn, adOpenKeyset, adLockReadOnly
    Rpt.Database.SetDataSource Rs
    Set grd.DataSource = Rs
    
    Rpt.DiscardSavedData
    Rpt.Database.Verify
    Rpt.EnableParameterPrompting = False
    
    Screen.MousePointer = vbHourglass
    RptShowFrm.RptShow.ReportSource = Rpt
    RptShowFrm.RptShow.ViewReport
    Screen.MousePointer = vbDefault
    RptShowFrm.Show 1真的搞不懂是怎么回事了?
存储过程传参完全正确,返回记录集完全正确,并且我把同时放进DATAGRID,记录全出来了,就是这个报表不出来,而弹出:Server has not yet been opened   对话框???我做的报表文件是在Crystal Report8.0中做的,做报表时是用带两个参数的存储过程来得到内容的,请各位高手帮帮忙,这到底是怎么回事了?

解决方案 »

  1.   

    DATAGRID只是测试数据有没有返回,不加一样的吗
      

  2.   

    没有人能解决我的问题吗?
    唉,我怎么一用crystal report就碰钉子,解决不了,那我就放弃用它好了,还是用active report吧
      

  3.   

    把datagrid先去掉,F8跟踪错误出在那句代码上。
      

  4.   

    就出在这一句:RptShowFrm.RptShow.ViewReport
    datagrid是后面加上去的,去掉就可以了。
    要不我这里在数据库northwind
      

  5.   

    要不我在本地数据库northwind中建了一个存储过程,跟这个是一样的做法,一样用我的crystal report8中做的报表文件,做了一个测试出现一样的问题,哪位能帮我测试检查一下吗?查出我这里哪里有问题:
    我这边出现的问题是:返回的记录集(RS)根本就没有放进报表模板中去,存储过程的两个参数根本就没有传过去