
お世話になっております。
Accessが無操作状態が5秒あったらフォームを閉じるようにしたいと考え、公開されているコードを参考に下記のようにしました。
:::::::::::::::::::::::::::::::::::::
1 Option Compare Database
2 Option Explicit
3
4 Dim sigStart1 As Single
5 Dim sigStart2 As Single
------------------------------------------------------------------------------------
6 Private Sub Form_Load()
7
8 TimerInterval = 1000
9 sigStart1 = Timer
10
11 End Sub
------------------------------------------------------------------------------------
12 Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
13
14 sigStart2 = Timer
15
16 End Sub
-------------------------------------------------------------------------------------
17 Private Sub Form_Timer()
18
19 Dim sigStop As Single
20 Dim IngTimer As Long
21
22 Me.KeyPreview = True
23 sigStop = Timer
24
25 If sigStart2 <> 0 Then
26 IngTimer = Fix(sigStop - sigStart2)
27 Else
28 IngTimer = Fix(sigStop - sigStart1)
29 End If
30
31 If IngTimer >= 5 Then
32 DoCmd.Close
33 End If
34
35 End Sub
-------------------------------------------------------------------------------------
上記のコードで閉じることはできるのですが、警告なしに急に閉じてしまうため、
警告のメッセージを出せるように改良したいです。
そこで31~33行目を次のようにしました。
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
If InfTimer >=5 Then
Dim res As vbMegBoxResult
res = MsgBoxres("作業を継続しますか?", vbYesNo + vbInformation)
If res = vbYes Then
MsgBox "OK"
Else
DoCmd.Close
End If
End If
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
警告は出ますが、メッセージボックスのYesNoを選択が必要になり、目的から外れてしまいました。
また、Yseを選択するとそれ以降連続してメッセージボックスが表示されてしまいます。
自分なりに調べ「Popup」を使ってみましたが、うまく出来ず断念しました。
現状説明が大変長くなってしまい申し訳ありませんが、教えていただきたいのは下記の2点です。
① メッセージボックスのように警告を出し、かつ無操作状態が継続した場合は、
自動でフォームを閉じる方法
② ①の警告で「Yes(継続)」を選択した場合、また無操作状態が継続するまで
メッセージボックスがでない方法
お手数をおかけしますが、何卒ご教示のほどよろしくお願い申し上げます。
No.4
- 回答日時:
新たに作ったフォーム側で、自動的に閉じるなら、こちらでもタイマー処理したほうが良いかも。
ShowMeHowさん、返信ありがとうございます。
新しいフォーム側でもタイマー処理したらうまくいきました。
教えてくださりありがとうございました。
No.3
- 回答日時:
vbaよくわからんけど、、、
31 If IngTimer >= 5 Then frmxxx.show vbmodal
32 sigStart2 = Timer
33
として、新たに作ったfrmxxx側で、、、
OK button click時に
docmd.close
CANCEL button click時に
me.close
とするとか
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Access フォーム自動終了
Access(アクセス)
-
Access 複数フォームを開き、画面の最上面にしたいフォームをコント
その他(データベース)
-
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
-
4
一定時間操作されないと自動で終了させる方法
Visual Basic(VBA)
-
5
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
-
6
Access終了時にマクロまたはVBAの実行したい
その他(Microsoft Office)
-
7
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
8
Access ファイルの権限を設定したい
Access(アクセス)
-
9
VBA=一定時間エクセルの入力操作がない場合、自動的にそのブックを閉じたい
Windows Vista・XP
-
10
アクセスVBAのMe!と[ ]
Access(アクセス)
-
11
Accessファイルを作成者以外は編集できないように設定するには
Access(アクセス)
-
12
【アクセス】「ほかのユーザー」を調べる方法
Access(アクセス)
-
13
フォームの高さを数値で指定したいのですが
Excel(エクセル)
-
14
access マクロでのフィルタの解除の方法
Access(アクセス)
-
15
クエリで出来た表にチェックボックスを追加する
その他(Microsoft Office)
-
16
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
17
Access VBAから使用したExcelプロセスを閉じる方法について
Visual Basic(VBA)
-
18
accessでlaccdbファイルが削除できずファイルが使えない
Access(アクセス)
-
19
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
20
[Access]帳票フォームにて連続する非連結コントロールに個々の値を入れるには
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAにてメッセージボックスを最...
-
VBA リストボックスをダブルク...
-
Googleフォーム・複数人の申し...
-
アクセス フォームが存在する...
-
Accessでサブフォームの合計を...
-
ユーザーフォーム上にアイコン...
-
Accessでフォームから別フォー...
-
サブフォームの新規レコードに...
-
PDFフォームに本日の日付を自動...
-
ACCESS 表形式フォームで1レ...
-
子フォームから親フォームのオ...
-
アクセス・別フォームの新規レ...
-
WithEvents変数について
-
Access サブフォームでの複数行...
-
C# マルチディスプレイにて、...
-
VBプログラムの終了
-
ACCESS VBAサブフォーム(DATA S...
-
C#で作成したDLLをDelphiで呼ぶ...
-
いつもお世話になっています VB...
-
EXCELのデータフォームのサイズ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Googleフォーム・複数人の申し...
-
VBA リストボックスをダブルク...
-
Accessでフォームから別フォー...
-
アクセスVBA フォームのス...
-
サブフォームのイベント取得
-
VBAにてメッセージボックスを最...
-
サブフォームの行ごとにコンボ...
-
ExcelVBAでユーザーフォーム内...
-
サブフォームの新規レコードに...
-
フォーム上の全てのコントロー...
-
accessで2つ以上のフォームを起...
-
Accessのトグルボタンでサブフ...
-
ユーザーフォーム上にアイコン...
-
ExcelVBAでフォーム内でブック...
-
PDFフォームに本日の日付を自動...
-
リストボックスの選択解除
-
dbOpenTableとdbOpenDynaset
-
VBAでフォームのスクロールバー...
-
Access サブフォームでの複数行...
-
フォームで複数のチェックボッ...
おすすめ情報