1
在此寻找解决方法。最好不涉及制作一堆用户表单。访问VBA - Msgbox
背景:我有一个Access数据库用于扫描进出办公室的物品。扫描每件物品后,它会验证该物品是否可以离开办公室。如果不是,则调用msgbox并说“此项目超出校准范围,您确定要采取吗?” (vbyesno)
问题:扫描物品时,系统会从条码和回车中看到数字。这对于扫描表单非常有用。但是,如果用户在msgbox出现时没有注意并扫描下一个项目,则回车将单击msgbox中的默认值,关闭它并且用户不明智。
我的临时解决方案:在成为新的默认值的是/否后添加了第三个按钮(取消)。扫描一个新项目将点击它,它只是重新打开msgbox。因此用户最终应该注意。这不是一个很好的解决方案。
Dim ans As Integer
'2 is vbCancel
ans = 2
Do While ans = 2
ans = MsgBox("Test", vbYesNoCancel + vbDefaultButton3 + vbSystemModal + vbExclamation)
if ans = 2 then
'Restart Loop
elseif ans = vbYes
'Do something
elseif ans = vbNo
'Do something else
end if
Loop
有很多不同的情况下,msgbox可以出现,所以使每个用户形成一个单独的用户是我希望避免的。
感谢,
布洛克