Tôi đã tìm kiếm cách sao chép hoặc sao chép bản ghi trong VBA. Và ý tôi là, có những dữ liệu vô tình độc lập với nhau.Sao chép sâu hoặc sao chép bản ghi ADODB trong VBA
Tôi đã thử
Set copyRS = origRS.Clone
Set copyRS = origRS
Khi tôi sử dụng bất kỳ phương pháp tôi không thể thay đổi một recordset mà không sửa đổi khác. Vì vậy, trong ví dụ này:
- tôi tạo một recordset
- tôi cư recordset với tên John
- tôi sao chép recordset
- tôi thay đổi nhân bản một
- Kiểm tra kết quả
Mã:
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)
Nhưng không may cho tôi, đây sẽ thay đổi cả bản ghi
Câu hỏi của tôi là:
Có cách nào sao chép một recordset từ recordset khác và sau đó sửa đổi dữ liệu độc lập với nhau (không vòng lặp)?
Tôi biết rõ ràng là bạn có thể làm điều đó thông qua một vòng lặp, nhưng không có cách nào khác?
Brilliant !! Tôi đã tìm kiếm điều này trong một thời gian dài !! –