在这里寻找解决方法。它最好不涉及制作一堆用户表单。
背景:我有一个Access DB,用来扫描进出办公室的物品。扫描完每件物品后,它会验证该物品是否可以离开办公室。如果不是,则会调用msgbox并提示“此项目已超出校准范围,您确定要使用它吗?”(vbyesno)
问题:当扫描物品时,系统会看到条形码和回车中的数字。这在扫描表单中非常有效。但是,如果用户在msgbox出现并扫描下一项时没有注意到,回车符将单击msgbox中的默认值,关闭它,用户将一无所知。
我的临时解决方案:我在yes/no之后添加了第三个按钮(cancel),它将成为新的默认值。扫描一个新的项目将点击它,它只是重新打开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
Loopmsgbox可以出现在许多不同的情况下,所以我希望避免让每个用户形成一个单独的表单。
谢谢,
布洛克
发布于 2017-04-05 22:04:09
强制用户输入一个值,如“Yes”或复选框(表单)。
https://stackoverflow.com/questions/43233386
复制相似问题