回避策を探しています。好ましくは、ユーザフォームの束を作ることを伴わないもの。VBAにアクセス - Msgbox
背景:私はオフィス内外のアイテムをスキャンするためのアクセスDBを持っています。各アイテムはスキャンされた後、そのアイテムがオフィスを離れても問題ないことを確認します。そうでない場合、msgboxが呼び出され、「このアイテムは較正されていません。あなたはそれを取ってもよろしいですか?
問題:アイテムをスキャンすると、バーコードとキャリッジリターンの数値が表示されます。これは、スキャンフォームとうまく動作します。ただし、msgboxが表示されたときにユーザーが注意を払っていない場合、次の項目をスキャンすると、復帰はmsgboxのデフォルト値をクリックして閉じ、ユーザーは誰も賢明ではありません。
一時的な解決策:yes/noの後に3番目のボタン(キャンセル)を追加して新しいデフォルト値にしました。新しいアイテムをスキャンするとそのアイテムがクリックされ、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
ので、それぞれが、私は避けることを望むだろう何かである個々のユーザーフォームを作り、メッセージボックスが表示されることができる多くの異なる場合があります。
おかげで、
Brockの