Access VBA MsgBox问题:点击确定后赋值脚本无法执行
问题排查与解决
嘿,我一眼就发现你代码里的问题啦!
你在判断MsgBox返回值的时候用了ok,但在VBA里,确认按钮对应的内置常量是**vbOK**,不是小写的ok。虽然VBA不严格区分大小写,但ok并不是系统认可的常量,所以这个条件永远不会成立——哪怕你点击了确定,代码也会走到Else分支直接退出Sub,自然不会执行赋值操作。
你去掉MsgBox的时候,代码直接执行赋值逻辑,所以能正常运行;加上MsgBox后,因为条件判断错误,赋值步骤根本没被触发。
修正后的代码应该是这样的:
Private Sub Overwrite_Btn_Click() If MsgBox("Yes?", vbOKCancel) = vbOK Then Me.Product_Quantity = Me.Quantity_Input Else Exit Sub End If End Sub
另外,其实Else分支里的Exit Sub可以省略,因为如果条件不满足,Sub本来就会自然结束,不过留着也不影响功能。
内容的提问来源于stack exchange,提问作者Seithan .The Unborn
相关产品推荐
相关产品推荐

