DoCmd.Hourglass は、Access VBA において マウスカーソルを砂時計(待機中の表示)に変更するためのメソッドです。ユーザーに「今処理中です」という視覚的なサインを出したいときに使います。
目次
🔹 基本構文
DoCmd.Hourglass HourglassOn
🔸 引数の解説
| 引数名 | 型 | 説明 |
|---|---|---|
HourglassOn | Boolean | True = 砂時計を表示する(処理中)False = 通常のマウスカーソルに戻す |
✅ 使用例:長い処理の前後でカーソル表示を切り替える
Sub LongProcess()
DoCmd.Hourglass True ' 砂時計表示(処理中)
' 時間のかかる処理
DoCmd.OpenQuery "qryMassiveUpdate"
DoCmd.Hourglass False ' 通常カーソルに戻す
MsgBox "完了しました。"
End Sub
✅ 注意点
DoCmd.Hourglass Trueでカーソルは砂時計になりますが、自動では戻りません。必ず処理後にFalseに戻すようにしましょう。- エラーなどで処理が中断されてもカーソルを戻すよう、
On Errorでの例外処理を使うのがおすすめです。
✅ 応用:安全なテンプレート
Sub SafeHourglass()
On Error GoTo ErrHandler
DoCmd.Hourglass True
' ここに重い処理を記述
DoCmd.RunSQL "UPDATE..."
Cleanup:
DoCmd.Hourglass False
Exit Sub
ErrHandler:
MsgBox "エラー: " & Err.Description
Resume Cleanup
End Sub
