• 締切済み

処理の途中で停止させ、再開させたいです(VBA)

お世話になります。 フォームのコマンドボタンを押すと、処理が始まるVBAを作成しております。 If DCount("*", "T_データ1") > 0 Then MsgBox ("!データ1が存在します!" & Chr(13) & _ "!データ1一覧を表示します!") DoCmd.OpenForm "F_データ1レコード" ● '住所データを振り分ける Call zyushoCheck テーブルにレコードが存在して、フォームが開いた後(●印のところ)、30秒くらい 次の処理まで時間を置き、時間が経過したら、 Call zyushoCheckを開始させる方法を教えてください。 TimeInterval?でできますでしょうか? どうぞよろしくお願いいたします。

みんなの回答

回答No.1

Timer関数でいけると思います。 '30秒中断させるために開始時刻取得と停止時間設定をする wkStop_Time = Timer '中断開始 wkReStart_Time = 30 '中断時間(秒) '指定時間を過ぎるまでループさせる Do Until Timer > wkStop_Time + wkReStart_Time Loop Call zyushoCheck こんな感じです。詳しくはヘルプを参照してくださいね

Nikki1211
質問者

補足

ご回答ありがとうございます。 ヘルプを参照しながら、コードを入れてみたのですが、 確かに処理は一時的に停止するものの、 この処理の前の「フォームを開く処理」が途中と言いますか、 完全に表示されないままストップしてしまい、 また再開されてしまいます。 完全にフォームが開いた後に処理を停止させる方法をご存知でしたら、 是非教えてくださいませ。 わからないことばかりで申し訳ございませんが、何卒ご教授のほど、 よろしくお願いいたします。

関連するQ&A