Microsoft Access 掲示板

PCのスリープと同時にAccessを終了する方法はあるでしょうか?

2 コメント
views
4 フォロー

お世話になります。

データベースを複数人で使用しており、そのうちの一人がAccessデータベースを立ち上げたままPCをスリープし退社しました。
翌日が休日で管理者の私だけ起動して分割テーブルのフィールドを修正しようとしたところ、.laccdbが立ち上がったままで修正できない、といった事態が発生しました。

これを回避するために、PCがスリープになったら同時にデータベースを強制終了する、といったことはVBAで実現できるでしょうか?あるいはその他に方法があればご教授いただければと思います。

よろしくお願いいたします。

TT
作成: 2024/08/25 (日) 08:56:03
通報 ...
1

PCがスリープに入ってしまうとCPUへの給電も止まるので、プログラムは止まってしまいます。
ですので、スリープに入る直前に発生するイベントがあればいいのですが、VBAにはないですね。APIならあるかも知れませんが、ちょっと検索してみた限りでは情報は見つかりませんでした。

Accessデータベースを立ち上げた放置するということはままあることなので、私は下記のような対策をしています。

各フォームのキーボードイベント、マウス移動イベントで、ユーザー操作を検知したら、その時刻をグロバール変数に格納する。
常に表示させてあるフォームのタイマーイベントで定期的にグロバール変数の時刻と現在時刻の時間差を求めて、その時間が設定した時間より長ければファイルを強制終了する。
強制終了する時間をスリープ待機時間より短く設定しておけば、スリープへ入る前に終了させることができます。

2

お世話になります。ありがとうございました!
チャレンジしてみます。
本当にここのサイトは勉強になります。