• 締切済み

いつもお世話になっております。

いつもお世話になっております。 現象が限定的で、調べてもこれといった答えが見つからなかったので質問させて下さい。 [質問]ACCESS2007においてフォーム操作時に特定のキー入力時に発生する警告音を消したい。 現象: フォーム上の入力用のテキストボックスにタブでフォーカスを当てたときにBackSpaceキーやDeleteキーを押下すると警告音(デフォルトのvbCriticalのメッセージ出現時と同じ音)が発生します。 テキストボックスに既に値が入っている場合、BackSpaceキーを押すと警告音が鳴りますがDeleteでは鳴りません。 また、マウスクリックによりテキストボックスを選択した時にはどちらのキーを押しても警告音は発生しません。 警告音が鳴る際にポップアップやエラー等は発生していません。 Windowsの設定で警告音自体を無くすという手段も考えましたが、普通のエラーの時にも警告音が出ないのは困るのでその方法は断念しました。 DeleteおよびBackSpaceを押したときの音だけを鳴らないようにしたいのですが、解決策はおろか原因すらもよく分かりません。 現象、解決方法ご存知の方いらっしゃいましたら回答をよろしくお願い致します。

みんなの回答

  • layy
  • ベストアンサー率23% (292/1222)
回答No.4

鳴ってほしい事象と鳴ってほしくない事象はどちらがケース多いでしょうか。 鳴らさない仕掛けよりも、 「あるときにのみ警告音を鳴らす」 こういう方が仕掛けがあるのでは?。 DeleteおよびBackSpaceを押す以前に 何か対処させておく方がいいように思います。

すると、全ての回答が全文表示されます。
  • layy
  • ベストアンサー率23% (292/1222)
回答No.3

とある数字用テキストボックスにて、数字とBS、ENTERしか入力許さない、英字は何押しても無視、というテクニックはありますが、今回のは似てますか?。 もし、DELとBSは受け付けない、とするなら対応はIF文でできそうです。警告音は出るかはわかりません。

nekocat2121
質問者

お礼

回答ありがとうございます。 説明不足でしたら申し訳ありません。 確かに仰る方法で入力の制限は出来そうですが、 今回はあくまで音を消したいだけで、 BS、Delの働きはしてもらわなくては困ってしまいます。

すると、全ての回答が全文表示されます。
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.2

#1です。説明が抜けていました。 #1の方法で何かのイベント、たとえばテキストボックスの Changeイベントなどで鳴るか確認してください。

nekocat2121
質問者

お礼

わざわざ補足説明ありがとうございます。 まだAPIの使い方が理解できず↓の回答を実施できずにいます。 もう少ししたら調査する時間できそうなので、 実際に導入してみたいと思います。

すると、全ての回答が全文表示されます。
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.1

APIを利用する方法 Public Declare Function Beep Lib "kernel32" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long Sub cmdBeep() BeepAPI 2000, 1000 'あるいは 'Call BeepAPI(2000,1000) End Sub

nekocat2121
質問者

お礼

回答ありがとうございます。 基本的に当方知識0のAPIは使用していなかったのですが、 もし他に方法がないようでしたら教えていただいた方法で検討・実施してみたいと思います。

nekocat2121
質問者

補足

すみません、調査しました。 BeepというAPIの関数は音を鳴らす関数ということでしたが、 実際にその関数を使用して音を消すことは可能なのですか? また、どのように使用すればBS,Del押下時に対応付けられるのかが見当がつきませんでした。 可能であればご回答を頂きたく思います。

すると、全ての回答が全文表示されます。

関連するQ&A