VB调用水晶报表,出现该字段名未知,请教是为什么!
Private Sub Form_Load()
  Dim props As CRAXDRT.ConnectionProperties     '报表数据源参数集
    Dim prop As CRAXDRT.ConnectionProperty        '报表数据源参数
    Dim i As Integer
 Dim adoCon As New ADODB.Connection
     Dim rst As New ADODB.Recordset
     Dim CnnStr As String
   Dim strSQL1 As String
      rst.CursorLocation = adUseClient
     CnnStr = ""
 CnnStr = "provider=SQLOLEDB;Data Source=192.168.0.11;Database=Demo_App ;UID=dm1;PWD=dm1;"
   strSQL1 = "SELECT top 10 * FROM uf_item_byl "
     adoCon.Open CnnStr
      rst.Open strSQL1, adoCon, adOpenStatic, adLockReadOnly
    Dim strTotal As String
     strTotal = ""
adoCon.CursorLocation = adUseClient
Set objCRReport = objCRApp.OpenReport(App.Path & "\Report.rpt", 1)
bjCRReport.DiscardSavedData
  '  赋给报表数据
    objCRReport.Database.SetDataSource rst
    

解决方案 »

  1.   

    该字段名未知是由水晶报表报出来的,所以代码级别是跟踪不到的。出现这种情况主要有以下可能1:模板制作完成后,数据库结构发生了变化,但是模板没有对应变化
    2:strSQL1 = "SELECT top 10 * FROM uf_item_byl " 取到的表的字段,与模板中的字段不匹配
    3:报表模板中用到的公式等,使用了已经被更改过的字段