使用 Dcount 条件访问 VBA 循环

Access VBA Loop with Dcount Condition

rcount = DCount("F1", "T1")

Do While rcount > 0

DoCmd.OpenQuery "q1"

Loop

谁能告诉我这段代码不起作用?它循环通过,但似乎忽略了 rcount > 0

的条件

执行删除查询后更新 rcount 的值。

rcount = DCount("F1", "T1")

Do While rcount > 0
    'DoCmd.OpenQuery "q1"
    CurrentDb.Execute "q1", dbFailOnError
    rcount = DCount("F1", "T1")
Loop

请注意,使用 CurrentDb.Execute 而不是 DoCmd.OpenQuery,您可以在不关闭 SetWarnings 的情况下避免确认消息。它还允许您使用 dbFailOnError,它将通知您有关问题的信息,否则这些问题会以静默方式失败。

但是我不明白你为什么要一次删除所有 T1 记录,而你可以一次删除它们...

CurrentDb.Execute "DELETE FROM T1;", dbFailOnError