使用Dcount条件访问VBA循环

时间:2015-01-08 19:07:46

标签: vba ms-access access-vba

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

Do While rcount > 0

DoCmd.OpenQuery "q1"

Loop

当这段代码无法正常工作时,有人能告诉我吗?它循环,但似乎忽略了rcount > 0

的条件

1 个答案:

答案 0 :(得分:1)

执行删除查询后,更新 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 记录,你可以一次删除所有 T1 记录...

CurrentDb.Execute "DELETE FROM T1;", dbFailOnError