Ho cercato un modo per duplicare o copiare un recordset in VBA. E con questo intendo, avere i dati immeritevoli indipendenti l'uno dall'altro.Deep Copy o Clona un recordset ADODB in VBA
Ho provato
Set copyRS = origRS.Clone
Set copyRS = origRS
Quando uso qualsiasi dei metodi smusso modificare uno recordset senza modificare l'altro. Quindi in questo esempio:
- creo un set di record
- Io popolo il set di record con il nome di Giovanni
- clono il set di record
- ho modificare il clonato un
- check risultato
Codice:
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)
Ma purtroppo per me, Questo modifica entrambi i set di record
La mia domanda è:
C'è un modo di copia di un set di record da un altro set di record e quindi modificare i dati in modo indipendente l'uno dall'altro (senza loop)?
So che evidentemente puoi farlo attraverso un ciclo, ma non c'è altro modo?
Brilliant !! Sono stato alla ricerca di questo per molto tempo !! –