|
|
|
как автоматизировать закрытие приложения.mdb ...
|
|||
|---|---|---|---|
|
#18+
Как автоматизировать закрытие приложения.mdb, с которым пользователь какое-то время не работает (не нажимает кнопки мыши и клавиатуры)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2004, 14:40 |
|
||
|
как автоматизировать закрытие приложения.mdb ...
|
|||
|---|---|---|---|
|
#18+
делаешь отдельную пустую формочку в ней таймер взводящий флаг если при повторном срабатывании таймер флаг взведен то DoCmd.Quit формочку запускаешь из autoexec docmd.openform ...,acHidden на все что ты считаешь активность вешаешь обработчик сбрасывающий флаг минус схемы за несохраненные пользователем данные ответит PIFA поэтому схема усложняется выдачей предупредительной формы(модальной и всплывающей) не MsgBox(он глушит таймер) со свистками и цветомузыкой для побудки пользователя главный гемор - вызов в массе точек подпрограммки сброса флага ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2004, 15:27 |
|
||
|
как автоматизировать закрытие приложения.mdb ...
|
|||
|---|---|---|---|
|
#18+
спасибо. если по ходу пьесы, пока буду мучить этот гемор, возникнет более лаконичный вариант, подскажи - буду признателен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2004, 12:54 |
|
||
|
как автоматизировать закрытие приложения.mdb ...
|
|||
|---|---|---|---|
|
#18+
ещё раз спасибо. дотумкал, сделал как велел Shuhard, обратился к классикам, процедура обработки события "Таймер" формы получилась такая: Private Sub Form_Timer() ' источник идеи: "ACCESS 7.0 СОТНИ ПОЛЕЗНЫХ РЕЦЕПТОВ" М.Хоффбауер и К.Шпильман, ' BHV Киев 1996 - с.316 Static LastFormName As Variant 'имя последней активной формы Static LastControlName As Variant 'имя последнего активного элемента управления Static IdleTime As Long 'счётчик времени в секундах Dim ActivFormName As Variant 'имя активной формы Dim ActivControlName As Variant 'имя активного элемента управления Const TimeLimit = 300 'время (секунды), по истечении которого 'приложение должно автоматически закрыться On Error Resume Next ActivFormName = Screen.ActiveForm.Name 'узнаём имя активной формы ActivControlName = Screen.ActiveControl.Name 'узнаём имя 'активного элемента управления On Error GoTo 0 If LastFormName <> ActivFormName Then 'если после предыдущего 'исполнения процедуры активной стала другая форма, то: LastFormName = ActivFormName 'изменяем имя последней активной формы и IdleTime = 0 'обнуляем счётчик времени End If If LastControlName <> ActivControlName Then 'так же проверяем, 'произошла ли смена активного элемента управления LastControlName = ActivControlName IdleTime = 0 End If IdleTime = IdleTime + CLng(Me.TimerInterval / 1000) 'увеличиваем значение счётчика 'на один интервал таймера формы, приведённый к секундам If IdleTime > TimeLimit Then 'если лимит исчерпан IdleTime = 0 Application.Quit 'закрываем приложение End If End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2004, 15:02 |
|
||
|
как автоматизировать закрытие приложения.mdb ...
|
|||
|---|---|---|---|
|
#18+
1 Моя любимая книжка 2 что будет при вводе пользователем данных в длинное MEMO поле сидит и кропотливо бьет(с бумажного носителя) использует 2 контрола последовательно т.е. успевает за время таймера сделать активным и вернуться назад юзает ActiveX в рамках которого производит обмен информацией ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2004, 15:19 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32540063&tid=1674266]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
161ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 243ms |
| total: | 477ms |

| 0 / 0 |
