代码如下:
Private Sub Form_Load()
Dim Path As String
Dim Db As Database
Dim SQL As String
Path = App.Path & "\化验对号.mdb" '文件名及文件存放路径
  Set Db = Workspaces(0).OpenDatabase(Path) '打开文件
Data1.DatabaseName = Path   '连接数据库
    Data1.RecordSource = "送样单"      '连接表名Data1.Recordset.MoveNextText1(0).Text = Data1.Recordset.Fields(0)
Text1(0).DataField = Db.TableDefs("送样单").Fields(0)
End Sub结果是Data1.Recordset.MoveNext和Text1(0).Text = Data1.Recordset.Fields(0)出现“对象变量或With变量未设置”的错误!Data可是控件啊!怎么设置变量?怎么设啊?

解决方案 »

  1.   

    if (not Data1.Recordset.eof) and (not Data1.Recordset.bof) then先判断是否有值 
      

  2.   

    猜想可能没有取来数据****************************Private Sub Form_Load() 
    Dim Path As String 
    Dim Db As Database 
    Dim SQL As String 
    Path = App.Path & "\化验对号.mdb" '文件名及文件存放路径 
      Set Db = Workspaces(0).OpenDatabase(Path) '打开文件 
    Data1.DatabaseName = Path  '连接数据库 
        Data1.RecordSource = "送样单"      '连接表名 debug.print Data1.Recordset.RecordCount  '看是否有数据?
    Data1.Recordset.MoveNext Text1(0).Text = Data1.Recordset.Fields(0) 
    Text1(0).DataField = Db.TableDefs("送样单").Fields(0) 
    End Sub 
      

  3.   

    Data1.RecordSource = "送样单"
    Data1.refresh
      

  4.   

    毛病不少,
    在Form_Load里用这条语句(Data1.Recordset.MoveNext)就会报错,因用的是DAO,不是ADO
    想在代码里绑定字段也不对,建议不绑定或直接绑定上再运行,不能在代码里指定(Text1(0).DataField =...)
      

  5.   

    毛病不少,
    1.在Form_Load里用这条语句(Data1.Recordset.MoveNext)就会报错,因用的是DAO,不是ADO
    2.想在代码里绑定字段也不对,建议不绑定或直接绑定上再运行,不能在代码里指定(Text1(0).DataField =...)第一个问题可以将那几句代码放到别的过程里解决,如
    Private Sub Form_Activate()
        on error resume next
        Data1.Recordset.MoveFirst
        Text1(0).Text = Data1.Recordset.Fields(0)
    End Sub