所以我试图从表中选择一些数据然后遍历结果并将带有修改/附加数据的新记录插入表中。我遇到的问题是,当我遍历我的记录集时,它似乎经历了整个集合,然后在退出之前返回到第一个集合。
一个例子是我在表中有两条记录,当我进行选择时,它应该只插入两条记录,但由于某种原因它会插入3条,第一条重复两次
这是我的代码。
Dim rs1 As DAO.Recordset
Dim query1 As String
query1 = "select [Test Script] from TEST_SCRIPTS where TEST_ID= " & Me.TEST_ID & " "
Set rs1 = CurrentDb.OpenRecordset(query1)
If Not (rs1.EOF And rs1.BOF) Then
rs1.MoveFirst
Do Until rs1.EOF = True
INSERT_INTO_TEST_SCRIPTS = "insert into TEST_SCRIPTS ([Test Script], TEST_ID) values (""" & rs1![Test Script] & """, " & Me.TEST_ID & ") "
DoCmd.SetWarnings False
DoCmd.RunSQL INSERT_INTO_TEST_SCRIPTS
DoCmd.SetWarnings True
rs1.MoveNext
Loop
End If
rs1.Close
Set rs1 = Nothing
我是初次使用唱片机的人,这个一直困扰着我,我感谢任何帮助。
感谢
答案 0 :(得分:1)
我认为你的代码也应该有效,就像它一样。
尝试将记录集设置为仅转发,这可能会有所帮助
设置rs1 = CurrentDb.OpenRecordset(query1,dbOpenForwardOnly)
除此之外,进行插入选择会更有效。
插入YourTable(col1,col2)(从otherTable选择col1,col2)