こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

Access2010 音 鳴らす

Access2010 で質問です。
 PC環境:windows 7

テーブル  :A
フィールド名:B(格納されるデータは日付形式)

・AのBに日付情報が入れば、警告音が鳴る。

これを実現できるソースをお教えいただきたいです。
ほぼ初心者の為、モジュールでの表現になるか、
テーブルでの表現になるか詳しく記入いただければ非常に助かります。

よろしくお願いします。

投稿日時 - 2016-11-29 00:34:43

QNo.9261590

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.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の標準警告音です。
それ以外の音・・となると、もう少し(そこそこ)複雑です。
はてさて、参考になりますかどうか。

投稿日時 - 2016-12-08 15:05:04

ANo.1

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

投稿日時 - 2016-11-29 12:38:17

あなたにオススメの質問