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后,其他的就都添加进去了,每次都是第一条进不去,为什么呢?
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后,其他的就都添加进去了,每次都是第一条进不去,为什么呢?
Adodc2.Recordset.Movefirst试试
呵呵
不好意思
第一条加不进去,也就是存储数据从第一条开始了?
把 Adodc2.Recordset.Update
Adodc2.Refresh
注释掉试试
For i = 1 To n
conn.execute "insert into 表名(字段1,字段2,...) values(...)"
Next i
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我做了试验,这样可以,换成你的字段