如何使用VBA将记录从rs1移动到rs2(ADODB.Recordsets)?

问题描述 投票:0回答:1

在Access中,我有rs1rs2,都为As ADODB.Recordset,它们具有相同的字段。我想将记录/行从rs1移至rs2

[我知道如何使用SQLrs2.AddNew并在Fields上进行迭代,但是我想通过使用ADODB.Record-对象来完成此操作。

Dim rs1 As ADODB.Recordset
Dim rs2 As ADODB.Recordset
...

Private Sub MoveRecord (id As Long)

  Dim r As ADODB.Record

  rs1.filter = "id=" & id

  Set r = rs1(0)

  ' And now??? rs2.Addnew r is rubbish...


End Sub 

我尝试了Record.MoveRecord方法,但是看来这是用于移动文件的?

Record.MoveRecord (Source, Destination, UserName, Password, Options, Async)

[SourceDestinationStrings,不是RecordSet s。

可以这样做,如果可以,怎么做?

access-vba adodb
1个回答
2
投票

如果您觉得有必要使用此功能,则可以自己编写...

Public Sub MoveCurrentRecord(rsSource, rsTarget)
   rsTarget.AddNew
   Dim fld
   For Each fld In rsSource.Fields
      rsTarget.Fields(fld.Name).Value = fld.Value
   Next
   rsTarget.Update
End If

与ADO和DAO一起使用,并同时将记录和记录集作为源对象。请注意,您可能希望实现其他逻辑以跳过自动编号字段。

© www.soinside.com 2019 - 2024. All rights reserved.