2017-04-05 71 views
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可以出現,所以使每個用戶形成一個單獨的用戶是我希望避免的。

感謝,

布洛克

回答

0

強制用戶輸入像 '是' 或一個複選框(形式)的值。