将一行从表复制到Access中的另一个表

时间:2013-11-08 06:40:15

标签: vba ms-access

这是我第一次使用Access,所以我现在很困惑。这是我的代码,我不知道哪个部分是错的。没有错误,但单击按钮后没有发生任何事情。谢谢!这是代码:

Private Sub Command12_Click()

Dim db As Database
Dim rs As DAO.Recordset
Dim rs2 As DAO.Recordset
Set db = CurrentDb()
Set rs = db.OpenRecordset("Amity")
Set rs2 = db.OpenRecordset("Opportunity")
With rs2
.AddNew
.Fields("Donor_Code") = rs!Donor_Code
.Update
.Close
End With
rs.Close

End Sub

1 个答案:

答案 0 :(得分:0)

您可以使用Do循环尝试此操作:

Private Sub Command12_Click()

  Dim db As Database
  Dim rs As DAO.Recordset
  Dim rs2 As DAO.Recordset

  Set db = CurrentDb()    
  Set rs = db.OpenRecordset("Amity")
  Set rs2 = db.OpenRecordset("Opportunity")

  Do While (Not rs.EOF)
    rs2.AddNew
    rs2.Fields("Donor_Code").Value = rs!Donor_Code.Value
    rs2.Update
    rs.MoveNext
  Loop
'
  rs2.Close
  Set rs2 = Nothing
  rs.Close
  Set rs = Nothing
  Set db = Nothing
'
End Sub