为什么需要一个循环来改变记录在Access VBA?

问题描述 投票:1回答:1

我试图在Access更改记录布尔列的值。 ,我用没有抛出任何错误的代码:

    Dim rs As New ADODB.Recordset

        rs.Open "select * from TABLE where field1 = '" & Me.field1 & "' AND field2 = '" & Me.field2 & "'",currentproject.connection, adOpenDynamic, adLockOptimistic
        rs("boolean") = True

但是,布尔值没有更新。该recordset.recodcount属性给出1.这就是为什么我想我并不需要一个循环。但是,如果我添加了一个循环,不明白为什么是这样的情况下,只记录更新。

 Do While Not rs.EOF
         rs("boolean") = True
       rs.MoveNext
       Loop

为什么我需要添加一个循环更新场时,只有一个记录?

ms-access access-vba
1个回答
3
投票

你并不需要一个循环。你只需要触发更新。

其实,这只是你如何建立连接的限制。由于它不支持批量更新,移动到下一个记录触发更新。

如果添加rs.Update到第一段代码,它应该只是工作。

© www.soinside.com 2019 - 2024. All rights reserved.