【Access備忘録】一定時間テキストを表示する

記事
IT・テクノロジー
なんらかの処理を終えたあと、「完了しました」などと表示させたい(しなければならない)場合があります。

ノートやデスクトップパソコンでの使用なら、メッセージボックスでお知らせすれば済みます。

ただ、メッセージボックスはポップアップ表示なので、消すために「OK」ボタンを押さなければならないんですね。これが地味に面倒。しかもボタンが小さいのでタブレットの場合ですとタップするのが非常につらい。

なのでフォーム上のラベルにテキストでお知らせするのですが、表示させたらさせたで出っぱなしです。「もうわかったから消えてくれ」と。消す処理を行わなければ消えず、消す処理のためにはユーザーになんらかの操作をしてもらう必要があります。本末転倒。

Accessにはタイマー機能があり、たとえば事前に2秒と設定すると、コードに従って2秒おきに処理します。

ということは、タイマー時にラベルのテキストを消したあとタイマー設定を0に戻せば「2秒後に一度きりの処理」が可能になります。

なんらかの処理の最後に

    With Forms(formName)
        .ラベルメッセージ.Caption = "毛づくろいが終わりました。"
        .TimerInterval = 2000
    End With

と追加し、フォームの「タイマー時」に

    With Me
        .ラベルメッセージ.Caption = "猫を選択してください。"
        .TimerInterval = 0
    End With

と記述します。2秒後に「タイマー時」の処理を行うので、メッセージが元に戻り、かつタイマーが0になるので処理は一度きり、という仕組みです。

非常にシンプル、かつ有用です。メッセージの表示はあれこれ気を遣うしプログラムも意外と面倒なんですよね。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す