Dim pConn As New ADODB.Connection
pConn.ConnectionString = "Provider=SQLOLEDB.1;persist security=False;Password=1234;User ID=sa;Initial Catalog=HKSales;Data Source=192.168.101.252"
 pConn.CursorLocation = adUseClient
 pConn.Open
 
 Dim CryApp As New CRAXDDRT.Application
 Dim tReport As New CRAXDDRT.Report
 Dim adoRS As New ADODB.Recordset
 Dim txtsql As String
 
 txtsql = "SELECT a.vpo_No,a.po_Date,a.requested_Date,a.Material_No,a.Desp,a.quantity,a.unit,a.unit_Price,a.currency,a.re,b.vendor_Name FROM purchase a LEFT JOIN vendor b ON a.vendor_No = b.vendor_No ORDER BY a.material_No"
 adoRS.Open txtsql, pConn, adOpenDynamic, adLockBatchOptimistic
 Set tReport = CryApp.OpenReport(App.Path & "\purchaseorder.rpt", 1)
 tReport.Database.SetDataSource adoRS   
 tReport.ReadRecords     
 Screen.MousePointer = vbHourglass
 CRViewer91.ReportSource = tReport
 CRViewer91.ViewReport
 Screen.MousePointer = vbDefault请大虾帮我看看. 
当程序运行到: tReport.Database.SetDataSource adoRS   时就出错,提示: "0X3b06aebb" 指令引用的"0X046879e4"内存.该内存不能为"read",要终止程序,请单击"确定"
这是什么原因呢?

解决方案 »

  1.   

    请大家帮帮忙吧.我等了好久哟.谢谢Zezese(蓝酷云) 帮我顶.
      

  2.   

    我以前也出现过,原因就是你的报表在制作的时候没有制作好,你这个地方的数据源和水晶报表制作时候的数据源可能不一样.
    在水晶报表里面把数据源改成跟这个地方的SQL语句一样的数据源就OK了.
      

  3.   

    谢谢小乐,数据源是一样的.对了那错误的详细情况如下:
    错误签名:
    AppName: vb6.exe  AppVer: 6.0.89.88  ModName: crqe.dll
    ModVer: 9.2.0.580  Offset: 00064842请帮忙看看.
      

  4.   

    Set tReport = CryApp.OpenReport(App.Path & "\purchaseorder.rpt", 1)把后面参数1去掉看看把下面这句去掉 
    'tReport.ReadRecords一般内存出问题好象只存在9以下的版本中
      

  5.   

    To:小乐,我的报表也是通过ADO连接的。
    TO:daisy8675(莫依) , 参数Set tReport = CryApp.OpenReport(App.Path & "\purchaseorder.rpt", 1)及tReport.ReadRecords去掉,也是一样的。
    先谢谢你们了,是不是Crystal Report 是盗版的问题呢?
      

  6.   

    谢谢小乐,daisy8675(莫依),问题终于解决了. 原来我电脑里面同时存在(英文正版)crystal report 9 及8.5,我把2个都卸载掉再重装9.0的就行了.
    顺便问一下, 为什么我原来的8.5的报表导出PDF或XLS文件时,中文部分都变成乱码呢? 报表中的字体和都试了,都不行. 我换成9.0就可正常了. 
    有人能帮我解释一下原因么?
    我原来的开发环境: VB6(英文)+SP5+crystal report 8.5(英文正版)+MS SQL SERVER 2000(简体中文)+windows 2000 server(简体中文)系统.
      

  7.   

    不好意思,我上面打快了.我的crystal report 8.5 英文版的是正版的. crystal report 9.0 英文版是盗版的.
    帮我回答上面那个问题吧. 马上结贴.
      

  8.   

    谢谢你们!
    该问题已经结贴 ,得分记录: Zezese (10)、 wghshy (40)、 daisy8675 (10)、 daisy8675 (40)、