【发布时间】:2017-04-05 13:59:28
【问题描述】:
在这里寻找解决方法。最好不涉及制作一堆用户表单。
背景:我有一个 Access DB,用于扫描办公室内外的物品。扫描完每件物品后,它会验证该物品是否可以离开办公室。如果不是,则会调用一个 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,因此我希望避免让每个用户形成一个单独的用户。
谢谢,
布洛克
【问题讨论】:
标签: vba ms-access barcode-scanner msgbox