由于我收到了如此好的快速解决方案,我会再次尝试从您那里得到一些帮助:
我打开了两个Recordset。
Set cmd1.ActiveConnection = cn1
cmd1.CommandText = "SELECT * FROM mov Where [Date] >= #" & DateA & "#;"
Set RSold = cmd1.Execute
Set cmd2.ActiveConnection = cn2
cmd2.CommandText = "SELECT * FROM mov"
Set RSnew = cmd2.Execute
(我只想保存文件的选定记录。)
我知道如何按记录复制记录,但有没有“捷径”来更快地完成记录?
由于
答案 0 :(得分:1)
试试这个:
Dim i As Long
Do While Not RSold.EOF
' You can place if condition here
RSNew.AddNew
For i = 0 To RSold.Fields.Count - 1
RSNew.Fields(RSold.Fields(i).Name) = RSold.Fields(i).Value
Next i
RSNew.Update
RSold.MoveNext
Loop
这会将记录从RSold复制到RSnew记录集
答案 1 :(得分:0)
我认为这样做可以做到你想要的一切。
Dim objPB As New PropertyBag
objPB.WriteProperty "rs", RSOld
Set RSNew = objPB.ReadProperty("rs")
Set objPB = Nothing
答案 2 :(得分:0)
您可以使用代码:
@user1838163 :Saving the second Recordset as a file
Dim RFileNm As String
Dim fs
Set fs = CreateObject("Scripting.FileSystemObject")
RFileNm = "c:\temp\" & Trim(RFileNm) & ".adt"
fs.DeleteFile (RFileNm)
RSNew .Save RFileNm, adPersistADTG
RSNew .Close
RSNew .Open RFileNm, , , , adCmdFile
答案 3 :(得分:0)
我认为CLONE不会做你想做的事。它只是为您提供了已有的同一记录集的另一个视图。这允许您使用多个书签等,但记录集仍然附加到原始的同一数据库。我还需要一种方法来复制记录集并以新格式将其保存到新数据库中。