Я искал способ дублирования или копирования набора записей в VBA. И под этим я имею в виду, что данные, не зависящие друг от друга, не зависят друг от друга.Глубокое копирование или клонирование набора записей ADODB в VBA
Я попытался
Set copyRS = origRS.Clone
Set copyRS = origRS
При использовании любого из методов, я не могу изменить один набор записей без изменения других. Таким образом, в этом примере:
- создать набор записей
- я заполнить набор записей с именем John
- Я клонировать RecordSet
- Я изменяю клонированного себя один
- результат проверки
Код:
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)
Но, к сожалению, для меня, это модифицирует
наборы записейМой вопрос:
Есть ли способ копирования записей из другого набора записей, а затем изменить данные независимо друг от друга (без зацикливания)?
Я знаю, что, очевидно, вы можете сделать это через петлю, но нет ли другого пути?
Блестящая !! Я искал это в течение долгого времени! –