如果......不明白

Sam*_*ler 0 sql ms-access vba

我有一大段代码,除非出现用户错误,否则一切正常.用户必须在其中放入值的文本框,然后单击按钮以更新表.

如果用户将该框留空并单击该按钮,则弹出一个msg框,要求他们填写一个值,如果该框包含一个值,则运行一系列命令和SQL.

不幸的是,当盒子留空时,会弹出msg框,但无论如何命令和SQL都会运行.

我想我可能只是遗漏了一些非常明显的东西,但我无法理解它.这是导致我出现问题的代码块...

If IsNull(Me.TxtStockValue) Then MsgBox "Please Select An Item To Update Stock And Ensure A Value Has Been Entered" Else:
DoCmd.RunSQL SQLDelete1
DoCmd.SetWarnings False
DoCmd.RunSQL SQLStory
DoCmd.RunSQL SQLDelete2
DoCmd.RunSQL SQLUpdate
DoCmd.SetWarnings True
Run Code Online (Sandbox Code Playgroud)

txtStockValue是txt框,不能为空.其他似乎没有按我想要的方式工作.

谢谢

山姆

ass*_*ias 6

试试这个 - 在你的版本中只有第一个语句(SQLDelete1)是else的一部分,其余的总是执行.

If IsNull(Me.TxtStockValue) Then
    MsgBox "Please Select An Item To Update Stock And Ensure A Value Has Been Entered"
Else
    DoCmd.RunSQL SQLDelete1
    DoCmd.SetWarnings False
    DoCmd.RunSQL SQLStory
    DoCmd.RunSQL SQLDelete2
    DoCmd.RunSQL SQLUpdate
    DoCmd.SetWarnings True
End If
Run Code Online (Sandbox Code Playgroud)