Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql access 2007 vba recordset.EOF循环返回集合的第一条记录_Sql_Vba_Ms Access_Eof_Recordset - Fatal编程技术网

Sql access 2007 vba recordset.EOF循环返回集合的第一条记录

Sql access 2007 vba recordset.EOF循环返回集合的第一条记录,sql,vba,ms-access,eof,recordset,Sql,Vba,Ms Access,Eof,Recordset,因此,我尝试从表中选择一些数据,然后循环遍历结果,并在表中插入带有修改/附加数据的新记录。我遇到的问题是,当我循环我的记录集时,它似乎会遍历整个记录集,然后在退出之前返回到第一个记录集 例如,我在表中有两条记录,当我做出选择时,它应该只插入两条记录,但出于某种原因,它会插入3条,第一条重复两次 这是我的密码 Dim rs1 As DAO.Recordset Dim query1 As String query1 = "select [Test Script] from TEST_SCRIPTS

因此,我尝试从表中选择一些数据,然后循环遍历结果,并在表中插入带有修改/附加数据的新记录。我遇到的问题是,当我循环我的记录集时,它似乎会遍历整个记录集,然后在退出之前返回到第一个记录集

例如,我在表中有两条记录,当我做出选择时,它应该只插入两条记录,但出于某种原因,它会插入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
我刚开始使用记录集,这个一直困扰着我,我感谢任何帮助


谢谢

我认为您的代码也应该可以正常工作

尝试将记录集设置为仅向前,可能会有所帮助

设置rs1=CurrentDb.OpenRecordsetquery1,仅dbOpenForwardOnly

除此之外,执行insert-select更有效

在表col1、col2中插入,从其他表中选择col1、col2


你100%确定数据没有在你的选择中出现两次吗?是的,我甚至删除了所有记录并压缩了数据库..我觉得我疯了,因为这应该可以工作我想我必须先删除rs1.MoveFirst,因为运行时错误,但在那之后一切都正常了。我感谢您关于如何使查询更有效的建议,谢谢Elias!我忘了你不能用那个!没问题。以下是“指定游标类型”下的不同记录集定义,以供将来参考