Как проверить, не происходит ли событие CURRENT во время события OPEN формы - PullRequest
1 голос
/ 03 июня 2009

У меня есть процедура события, которая должна запускаться, когда пользователь выбирает определенную запись.

Если я добавлю его в событие ON CURRENT, оно будет работать.

Однако мне не нужно запускать его при открытии формы. То есть, когда форма открыта и записи загружены в форму, моя процедура события вызывается для каждого запись, которая загружена. Это замедляет мою программу, так как в этом нет необходимости.

У меня вопрос: как проверить, что событие не запускается во время «загрузки» записей.

что-то вроде:

on_current_event do:

if event is not during on_load then
do this
end if

end proc

Ответы [ 3 ]

3 голосов
/ 03 июня 2009

Почему бы не объявить логическую переменную уровня формы и установить ее в значение true после завершения загрузки формы?

В вашем событии OnCurrent вы можете сделать что-то вроде:

If Variable then
  Do Stuff
Else
  Don't do stuff
End If

Это, вероятно, не относится к основной проблеме, однако ...

2 голосов
/ 05 июня 2009

В коде вашей формы:

Private isLoading As Boolean

Private Sub Form_Open(Cancel as Boolean)
    isLoading = True
End Sub

Private Sub Form_Current()
    If isLoading Then 
        isLoading = False
        Exit Sub
    End If
End Sub

Таким образом, первое вхождение события OnCurrent при открытии формы будет обойдено.

При этом мне кажется, что это не ваша настоящая основная проблема, но вам нужно будет предоставить больше информации (откройте другой вопрос), если вы хотите, чтобы другие люди попытались помочь.

0 голосов
/ 03 июня 2009

Вы довольно хорошо ответили на свой вопрос - почему вы не используете событие ON LOAD?

...