• 締切済み

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

いつもお世話になっております。 現象が限定的で、調べてもこれといった答えが見つからなかったので質問させて下さい。 [質問]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

  • コンボボックスにキー入力をさせない方法(ACCESS VBA)

    ACCESS VBAでコンボボックスを使ったプログラムを作成しています。 コンボボックスにキー入力(特にdelete、BackSpaceキー)をさせたくありません。 VBではSTYLEプロパティをドロップダウンリストにすれば 可能ですが、VBAで同じようにするプロパティが見つかりません。どなたかご存知でしたら教えてください。 それとも、そもそもそのようなプロパティは用意されていないのでしょうか? そのような場合も考えて、コンボボックスのKeydownイベントでキーコードを拾ってdelete、backspaceキーを無効にしようとも思いましたが、どうしたら無効になるのかわからず、できませんでした。 どなたかよい方法をご存知でしたら教えてください。

  • Firefoxのオートコンプリート個別削除について

    オートコンプリート(フォーム入力履歴)を個別に削除したいのですが、Firefox 55.0.3 (64ビット)、Firefox 55.0b6 Beta Windows 64-bitの場合、ただ削除したい候補にマウスを当ててDeleteキーを押しても、SHIFTキーの後でDeleteキーを押しても、またSHIFFTキーとDeleteキーを同時に押しても、BACKSPACEキーを押しても消えません。 どうすれば個別に消すことができますか?

  • 【VB.NET】テキストボックスでENTERを押したときに出る警告音を止めたい。

    Multilineを許可していない状態のテキストボックスでENTERを押すと改行出来ないから警告音がでるのは分かるのですが、KeyUpやKeyDownイベントをENTERキーで発生させたい為どうしても警告音が出てほしくないのですが警告音を出さないようにする方法ってないでしょうか? よろしくお願いします。

  • キーボードの←キーを押すとカーソルが右に動いてしまう

    文字入力時、キーボードの←キーを押すとカーソルが右に動き、→キーを押すとカーソルが左に動いてしまいます。 Excelのあるテキストボックスでのみ、この現象が発生しています。 直し方をご存知の方がいらっしゃいましたら、ご回答よろしくお願いします。

  • エクセルでEnterキーが効かなくなる現象について

    エクセルでEnterキーが効かなくなる現象について エクセル2007で入力フォームを作りました。テキストボックスにデータを入力しEnterキーを押すと、 次のテキストボックスへ移動します。この動作が、たまに、Enterキーを押しても次のテキストボックスへ 移動しなくなります。(他のパソコンでも同じようになります) 理由がわからない為、エクセルを閉じて、再度起動してみたり、パソコン自体を再起動したりすると、正常に動くのですが・・・(1度、VBAの画面で動かすとまた正常になります) どなたかぜひ助けてください。 よろしくお願いします。

  • ノートPCキーボードの不具合

    突然キーボード上の表記と異なる動作をするようになりました。 このキーボードは外付けのキーボードではなく、ノートPCに付いている標準のキーボードです。 現象は、矢印上のキーを押すとDeleteキーを押した時と同じ動作になり、入力した文字が削除され、本当のDeleteキーを押しても何も反応しません。矢印キーは全て機能せず、反応なしまたは違う動作になります。 全てのキーがそうなのかというと、そうでうはなくBackspaceキーやEnter,Shift,Tabキーは特に問題なく動作しており、一部のキーのみで異なる動作になってしまいます。 確認できているのは矢印キー全て、Esc, Functionキーです。 ネット上で同じ現象が発生するのかを色々探してきましたが、同じ現象が見当たらず、故障なのか、何かの設定でこうなったのかが分からず困っております。 どなたかご存じないでしょうか? よろしくお願いいたします。 OSはWin8からアップグレードした10です。 ※OKWAVEより補足:「ソニー製品」についての質問です。

  • Safari でフォーム入力ができない

    Mac OSX 10.6.8 Safari 5.1にて、Googleのテキストボックスとか、他のお問い合せフォーム等に、日本語で入力しようとすると、どのキーをたたいても、ページが再読み込みみたいになり、入力ができません。Firefoxで行うと問題ないので、Safariの問題かと思うのですが、この現象の解決策を教えていただけないでしょうか。 ※ちなみに、日本語入力は、ATOK 2008を使ってます。

    • ベストアンサー
    • Mac
  • Enterキーを押しても送信しないようにする

    ユーザーリクエストを受付けるHTMLフォームに 例えばテキストボックスがいくつかあって送信ボタンをクリックするとCGIにパラメータが送信されるという時に、テキストボックスの1つめにデータを入れた後、2つめ以降まだ入力してないのにEnterキーを思わず押してしまって送信されることってありますよね。 Enterキーを押しても送信されないようにすることって出来るのですか。よく、空白のテキストボックスが残っていると、「○○を入力してもう一度送信ボタンをクリックしてください」というエラーメッセージを表示して戻す。という手がありますが、テキストボックスが空白でも、データ送信はできる様にしたいのです。そうするとEnterキーを殺すしか方法が思いつかないのですが・・・

    • ベストアンサー
    • Perl
  • テキストボックスが消えない

    エクセル2002を使っています。 テキストボックスが消えない現象に陥っています。 テキストボックスの枠線をクリックしてDELETEキーを押せば消えるはずなんですけど、消えません。 更に、別の場所にドラッグして移動すると、テキストボックスは消えずにコピーになってしまいます。 コピーされたテキストボックスは削除できるのですが、元のテキストボックスは、消えません。 どうしたらいいでしょうか?

  • EXCEL 数値と文字列の共存

    凄く初歩的な質問だとは思うのですが解決出来なくて困っています。 ユーザーフォーム上のテキストボックスから セルに入力をする時に 485768 っと数値を入力すると入力はされますが 「数値が文字列として入力されています」 とエラーが出てしまします。 これだけなら「str」ってのを使うと解決するのですが その同じテキストボックスで 3RD-544 のような文字列も入力します。 これだと「str」だとエラーが出てしまいます。 しかし「val」で解決します。 でも、すると数値のみの時にエラーが出てしまします。 ・・・要するに文字列もしくは標準で入力したいのです。 if構文で数値の時は「str」、文字列の時は「val」 のように凄く回りくどくやれば出来そうな気はするのですが もっとさくっと出来る方法はないでしょうか?