Microsoft Access Club >AccessTips >このページ >次頁 < 前項  サイト内検索


フォームの タイマ時 イベントを止める方法:AccessTips012



フォームのタイマ時イベントとタイマ間隔イベントを利用して、イベントを繰り返し実行させられることは皆さんよくご存知だと思います 。しかし、この連続イベントをプロシージャで停止させる方法は余り知られていませんね。ここでは、TimerInterval/タイマ間隔 プロパティを用いてプロシージャ内で自在に制御する方法をご紹介します。

サンプルフォームの作成

サンプルとして、フォーム上に現在時刻を連続して表示させて見ましょう。以下のような非連結フォームを作成します。

  1. 非連結のテキストボックス(txt現在時刻)を作成します。
  2. コマンドボタン(cmdコマンド)を作成します。

フォームを開くイベントプロシージャの作成

フォームを開くイベントプロシージャを以下のように作成します。

Private Sub Form_Open(Cancel As Integer)

    Me.TimerInterval = 1000 ' TimerIntervalプロパティに1000を代入します。

End Sub
解説

TimerIntervalプロパティに1000を代入すると、1000/1000秒間隔でタイマ時イベントが実行されるようになります。

補足

TimerIntervalプロパティを用いずに、フォームプロパティにある タイマ間隔イベント に、1000を代入しても同じ動作になります。

タイマ時イベントプロシージャの作成

タイマ時イベントプロシージャを以下のように作成します。

Private Sub Form_Timer()

    Me.txt現在時刻 = Time() ' Time 関数はシステム時計の値を返します。

End Sub
解説

テキストボックスに現在時刻をTime関数を用いて代入します。

コマンドボタンクリック時イベントプロシージャの作成

コマンドボタンクリック時イベントプロシージャを以下のように作成します。

Private Sub Cmdコマンド_Click()

    Me.TimerInterval = 0

End Sub
解説

TimerIntervalプロパティに0を代入すると、0/1000秒間隔でタイマ時イベントが実行されるようになります。つまり、タイマ時イベントが停止します。

タイマ時イベント内にこの一行を記述して置くと、一度だけイベントを実行するだけになります。

実行結果

フォームをフォームビューで開きます。コマンドボタンをクリックすると、時間の進みが止まります。

関連ページ

 2004/09/19

ページの先頭へ 前ページへ戻る

 


フォームの タイマ時 イベントを止める方法:AccessTips012


 

-Microsoft Access Club-