アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちわ 教えてください(*'▽')

フォームの編集後、無操作が続くとフォームを閉じるようにしたいです。
フォームプロパティのタイマーに60000と入れて。
操作中はタイマーを延長し、無操作なら5分後に閉じる予定でしたが、うまくいきません。

Option Compare Database
Public chkOperat As Integer
--------------------------------------------------------------
Private Sub Form_AfterUpdate()
chkOperat = 0
End Sub
---------------------------------------------------------------
Private Sub Form_Current()
chkOperat = 0
End Sub
---------------------------------------------------------------
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
chkOperat = 0
End Sub
---------------------------------------------------------------
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
chkOperat = 0
End Sub
---------------------------------------------------------------
Private Sub Form_Timer()
chkOperat = chkOperat + 1
If chkOperat = 5 Then DoCmd.Close acForm, "fo_フォームA", acSaveYes
End Sub

A 回答 (1件)

フォームのタイマー時イベントには


Private Sub Form_Timer()
DoCmd.Close acForm, "fo_フォームA", acSaveYes
'または 自フォームなら"fo_フォームA" を me.name
End Sub
としておいて
適当なイベントに
Private Sub Form_AfterUpdate()
me.timerinterval=1000*60*5 '5分に設定
End Sub
などと設定しておけばタイマーはリセットされるかと。
ただ、どのイベントに設定すれば必要十分の
最適解かはそちらで試してみてください。

PS.
自分で使う際にはともかく、他人が使う場合に自動で消えてしまうと
戸惑うのでは?と思います。
    • good
    • 0
この回答へのお礼

ありがとうございました。試してみます

お礼日時:2022/02/12 09:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!