【发布时间】:2014-10-22 14:22:17
【问题描述】:
我一直在寻找一种在 VBA 中复制或复制记录集的方法。我的意思是,让基础数据彼此独立。
我试过了
Set copyRS = origRS.Clone
Set copyRS = origRS
当我使用任何一种方法时,我都无法在不修改另一个记录集的情况下修改一个记录集。所以在这个例子中:
- 我创建了一个记录集
- 我用名称 John 填充记录集
- 我克隆了记录集
- 我修改了克隆的
- 检查结果
代码:
Dim origRS As Recordset, copyRS As Recordset
Set origRS = New Recordset
'Create field
origRS.Fields.Append "Name", adChar, 10, adFldUpdatable
origRS.Open
'Add name
origRS.AddNew "Name", "John"
'Clone/copy
Set copyRS = origRS.Clone
'Change record in cloned/copied recordset
copyRS.MoveFirst
copyRS!Name = "James"
'This should give me "JamesJohn"
MsgBox copyRS.Fields(0).Value & origRS.Fields(0)
但不幸的是,这会修改两个记录集
我的问题是:
有没有办法从另一个记录集中复制一个记录集,然后相互独立地修改数据(不循环)?
我知道显然你可以通过循环来做到这一点,但是没有别的办法吗?
【问题讨论】: