天使と悪魔選手権

フォームを開いた後、Msgboxを表示させたくて、Access2000VBAのOpenイベント又はLoadイベントに、Msgboxを記述しました。
ところが、フォームが開く前にMsgboxが表示されてしまします。フォームが開いた後Msgboxを表示させるためにはどうしたらよいのですか?

また、ADOで接続したテーブルの数値型フィールドの合計値を計算して、計算結果をテキストボックスに代入するコードを記述した後、このテキストボックスの値をMsgboxに表示させるコードを記述たところ、計算を終える前にMsgboxが表示されてしまいます。
前のコードが確実に実行された後、次のコードの処理に進む様にするにはどうすればよいのですか?

A 回答 (1件)

こんにちは。

maruru01です。

方法の一例ですが。
まず前半の方は、Timerイベントを使用する方法があります。
フォームのプロパティの[タイマ間隔]にミリ秒で値を指定し(1秒なら1000)、タイマ時(Timer)イベントにMsgBox表示のコードを書きます。
ただし、Timerイベントはタイマ間隔ごとに発生しつづけるので、タイマ間隔に0を指定してストップさせます。


Private Sub Form_Timer()

  Me.TimerInterval = 0
  MsgBox "略"

End Sub


これで1回だけ発生します。

次に後半ですが、計算結果表示のテキストボックスが、ユーザーが入力することがなければ、このテキストボックスのChangeイベントにMsgBoxのコードを書いてはどうでしょうか。
これなら計算(して表示)後にMsgBoxが表示されると思いますが。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!