• 締切済み

Access2010 音 鳴らす

Access2010 で質問です。  PC環境:windows 7 テーブル  :A フィールド名:B(格納されるデータは日付形式) ・AのBに日付情報が入れば、警告音が鳴る。 これを実現できるソースをお教えいただきたいです。 ほぼ初心者の為、モジュールでの表現になるか、 テーブルでの表現になるか詳しく記入いただければ非常に助かります。 よろしくお願いします。

みんなの回答

回答No.2

> 日付情報が入れば、警告音が鳴る。 とのことですが、逆に「入力されるのはどのタイミングでどこから」でしょうか。 テーブルやクエリに直接入力しに行くのであれば、 「日付(っポイ)データが入力されたら音」は難しいです。 定型入力を使って「定型以外のデータが入力されそうになったら警告」するのが吉です。 フォームを使って入力するなら、マクロやVBA(モジュール)も使えます。 ただし、テーブルやクエリに連結したフォームだと、テーブルの定義を優先しますので、 やはり「日付以外だと音」の実装しか難しいところです。 そうなると、 非連結のフォームを作って、登録するクエリなりマクロなりを組む。 そのテキストボックスに「日付なら警告音を鳴らすマクロ/モジュール」を仕込む。 というのが求める正解に近いのかもしれません。 非連結のフォームに関しては本題から外れますので割愛。悪しからずご容赦ください。 入力フォームを[F_Beep]、フォーム内のテキストボックスの名前を[Column_A]として マクロであれば If IsDate([Forms].[F_BEEP].[Column_A])=True Then     警告音 If文の最後 というマクロを作り、テキストボックスの更新前処理に仕込みます。 モジュールを組むのであれば Function M_Beep()     If IsDate([Forms].[F_BEEP].[Column_A]) = True Then         Beep         ' MsgBox "日付です", vbInformation, "日付"     End If End Function くらいで組んで、やはりテキストボックスの更新前処理に仕込んでやります。 ※MsgBox~~の行はオマケです。 なお、ここでいう「音」はWindowsの標準警告音です。 それ以外の音・・となると、もう少し(そこそこ)複雑です。 はてさて、参考になりますかどうか。

  • chayamati
  • ベストアンサー率41% (260/624)
回答No.1

エクセルの日付の実態がシリアルナンバー(自然数)であることはご存知ですね アクセスも同様のようですので、日付の判定は困難です。 カーソルが日付項目が移動したときにフィールドの右端にカレンダー入力が現れますが… テーブルのデザインビューでフィールドを定型入力に定義して入力形式を強制すると 形式に合わないときに警告音が鳴り次へ進めません。 流れは添付を参考にしてください。

関連するQ&A