vba - 如何使用 VBA 将记录从 rs1 移动到 rs2 (ADODB.Recordsets)?
问题描述
在 Access 中,我有rs1
和rs2
,As ADODB.Recordset
它们都有相同的字段。我想将记录/行rs1
从rs2
.
我知道如何使用SQL
orrs2.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)
Source
并且Destination
是Strings
,不是RecordSet
s。
可以做到这一点,如果可以,怎么做?
解决方案
如果你觉得有必要这样的功能,你可以自己写...
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 一起使用,并且将记录和记录集都用作源对象。请注意,您可能希望实现其他逻辑来跳过自动编号字段。
推荐阅读
- angular - polyfills-es2015、vendor-es2015、main-es2015 和其他因不允许 MIME 类型(文本/html)而被阻止?
- regex - 如何选择对应列包含给定列表中元素的列的元素?
- php - 管理员登录页面
- android - 检查是否显示消歧
- c++ - 设置 QFont 的颜色
- javascript - 如何从 nodejs 检查 Redis Cache 连接状态
- xml - postgres sql 行转换为特定的 xml 格式
- php - 我想同时检查两个变量的值
- reactjs - 我无法在 Redux 中使用调度操作更新我的状态(使用 Redux-starter-kit)
- openapi - 是否可以在 OpenAPI v3 规范中禁止未知查询参数?