• 締切済み

Access2000VBAで前に記述したコードが終わる前に次に進みます・・・

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

みんなの回答

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 方法の一例ですが。 まず前半の方は、Timerイベントを使用する方法があります。 フォームのプロパティの[タイマ間隔]にミリ秒で値を指定し(1秒なら1000)、タイマ時(Timer)イベントにMsgBox表示のコードを書きます。 ただし、Timerイベントはタイマ間隔ごとに発生しつづけるので、タイマ間隔に0を指定してストップさせます。 Private Sub Form_Timer()   Me.TimerInterval = 0   MsgBox "略" End Sub これで1回だけ発生します。 次に後半ですが、計算結果表示のテキストボックスが、ユーザーが入力することがなければ、このテキストボックスのChangeイベントにMsgBoxのコードを書いてはどうでしょうか。 これなら計算(して表示)後にMsgBoxが表示されると思いますが。

関連するQ&A