任何人都可以帮忙吗?
此代码在应该启动的时候没有启动,并且在应该启动时没有停止,我无法找出原因。
Private Sub Condition1_Click()
Dim Condition1 As Boolean
Do
DoCmd.OpenQuery "qGBX2b"
DoCmd.OpenQuery "qGBX2c"
DoCmd.OpenQuery "qGBX2d"
CurrentDb.Execute "ALTER TABLE GBX2Temp ALTER COLUMN Line COUNTER(1,1)"
DoCmd.Requery
Loop Until Condition1 = True
MsgBox "Done", vbDefaultButton1, "Done"
End Sub
它从一个表单运行,其中一个字段正在倒计时,而Condition1是一个字段,一旦达到某个值就会变为TRUE。
由于代码在上面,它运行一次并且不循环,而Condition1的值为FALSE。如果我将Loop条件更改为“Loop Until Condition1 = False”,它将在值为FALSE时运行,但在更改为True时不会停止。
我哪里错了?
答案 0 :(得分:1)
您似乎遇到了范围问题。当您发出DIM
语句时,该变量名称将覆盖可能存在的所有其他字段或控件名称,除非您专门指定范围(例如me.Condition1
)
如果您有一个名为Condition1
的字段或文本框,则只需删除dim
语句,它就会使用该控件或字段的值。我建议您将文本框重命名为字段名称之外的其他内容...只是因为它是完全明确的,您指的是哪个值。因此,如果您的字段名称为Condition1
,请将文本框命名为txtCondition1
。