n = Adodc1.Recordset.RecordCount
  Adodc1.Recordset.MoveFirst
  If Not Adodc1.Recordset.EOF Or Not Adodc1.Recordset.BOF Then
     Adodc1.Recordset.MoveFirst
  End If
  
  With Adodc2
  For i = 1 To n
     
     On Error Resume Next
     Adodc2.RecordSource = "select * from 2008 order by id"
     Adodc2.CommandType = adCmdText
     Adodc2.Recordset.AddNew
     Adodc2.Recordset.Fields("车号").Value = Adodc1.Recordset.Fields("车号").Value
     Adodc2.Recordset.Fields("进厂日期时间").Value = Adodc1.Recordset.Fields("进厂日期时间").Value
     Adodc2.Recordset.Fields("进厂作业类别").Value = Adodc1.Recordset.Fields("进厂作业类别").Value
     Adodc2.Recordset.Update
     Adodc2.Refresh
     Adodc1.Recordset.MoveNext
     Next i
     Adodc2.Refresh代码如上,做完之后运行,第一条数据添加不进去,单步运行时,第一条的Adodc2.Recordset.Fields("车号").Value 写着“对象变量或with块变量未设置”,而后面的Adodc1.Recordset.Fields("车号").Value中有值。
到next后,其他的就都添加进去了,每次都是第一条进不去,为什么呢?

解决方案 »

  1.   

    在Adodc2.Recordset.AddNew前加一句
    Adodc2.Recordset.Movefirst试试
      

  2.   

    不对
    呵呵
    不好意思
    第一条加不进去,也就是存储数据从第一条开始了?
    把    Adodc2.Recordset.Update 
        Adodc2.Refresh 
    注释掉试试
      

  3.   

    建议这样新增记录:
    For i = 1 To n 
        conn.execute "insert into 表名(字段1,字段2,...) values(...)"
    Next i 
      

  4.   

     在 Adodc2.Recordset.AddNew 前加一句  Adodc2.Refresh  就行了
      

  5.   

    Private Sub Command1_Click()
    Dim n As Integer
    Adodc1.Refresh
     n = Adodc1.Recordset.RecordCount
      Adodc1.Recordset.MoveFirst
      If Not Adodc1.Recordset.EOF Or Not Adodc1.Recordset.BOF Then
        Adodc1.Recordset.MoveFirst
      End If
        If Not Adodc1.Recordset.EOF Or Not Adodc1.Recordset.BOF Then
        Adodc2.Recordset.MoveLast
      End If
      
      For i = 1 To n
        
        On Error Resume Next    Adodc2.Recordset.AddNew
        Adodc2.Recordset.Fields("ID").Value = Adodc1.Recordset.Fields("ID").Value
        Adodc2.Recordset.Fields("姓名").Value = Adodc1.Recordset.Fields("姓名").Value
        Adodc2.Recordset.Fields("年龄").Value = Adodc1.Recordset.Fields("年龄").Value
        Adodc2.Recordset.Update
        Adodc2.Refresh
        Adodc1.Recordset.MoveNext
        Next i
        Adodc2.Refresh
    End Sub我做了试验,这样可以,换成你的字段