powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Событие Current формы вызываеться происходит 2(!) раза.
8 сообщений из 8, страница 1 из 1
Событие Current формы вызываеться происходит 2(!) раза.
    #32756690
Рачаев Олег
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.

Форма на основе таблицы без подчиненных. Код:

Код: plaintext
1.
2.
3.
4.
    Private Sub Form_Load()
        Call utils.toLastRecord(Me)
        isCurrentFormDone = False
    End Sub

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Private Sub Form_Current()
    If Not isCurrentFormDone Then
        If Not Me.NewRecord Then
            If Not IsNull(Me!geo_id) Then
                geo_plasts.RowSource = utils.plastIdsListToPlastNamesList(geo_plasts, MULTI_SEQ_SEPARATOR)
            End If
            geo_plasts = geo_plasts.RowSource
            Call calculateWaterComponents
        Else
            geo_plasts.RowSource = ""
        End If
        isCurrentFormDone = True
    End If
End Sub

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Public Sub toLastRecord(theForm As Form)
    On Error GoTo err1
    If Not theForm.NewRecord And theForm.RecordsetClone.RecordCount >  0  Then
        theForm.RecordsetClone.MoveLast
        If Not (theForm.RecordsetClone.NoMatch) Then
            theForm.Bookmark = theForm.RecordsetClone.Bookmark
        End If
    End If
    Exit Sub
err1:
    MsgBox Err.Description, , theForm.Name
End Sub


Загвоздка в toLastRecord, повидимому он вызывает Requery формы, КАК ПОБОРОТЬ?

Заранее спасибо.
...
Рейтинг: 0 / 0
Событие Current формы вызываеться происходит 2(!) раза.
    #32756719
Рачаев Олег
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати и флажок isCurrentFormDone , который я ввел для предотвращения повторного срабатывания события Current, НЕ ПОМАГАЕТ! Вот такой ахтунг.
...
Рейтинг: 0 / 0
Событие Current формы вызываеться происходит 2(!) раза.
    #32756725
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может я чтого не понял, но:

OnCurrent срабатывает первый раз при открытии формы (для первой записи - если есть, конечно)
второй раз по вашему MoveLast

нет?
...
Рейтинг: 0 / 0
Событие Current формы вызываеться происходит 2(!) раза.
    #32756766
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а если так:
Код: plaintext
1.
2.
3.
4.
isCurrentFormDone = True
 
 Call utils.toLastRecord(Me)

 isCurrentFormDone = False
...
Рейтинг: 0 / 0
Событие Current формы вызываеться происходит 2(!) раза.
    #32756772
Alexey Sh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Флажок выставлять лучше в OnOpen
...
Рейтинг: 0 / 0
Событие Current формы вызываеться происходит 2(!) раза.
    #32756786
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
paparomeOnCurrent срабатывает первый раз при открытии формы (для первой записи - если есть, конечно)

И если нет тоже.
...
Рейтинг: 0 / 0
Событие Current формы вызываеться происходит 2(!) раза.
    #32756848
Рачаев Олег
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Че то я совсем запутался. Выставляю флажок в onOpen. И все работает нормально, т.е. флажковая защита срабатывает. Смотрю в дебагере сколько раз выполняеться onLoad - 1 раз (!), значит он не мог скидывать флажок.... Тогда как он скидывался? Экземпляр формы 1 (!), поток обработчика событий 1 (!). Так кто же ? Мистика...

2 Paparome:

Ну собственно верно, 1-ый раз onCurrent срабатывает на первой записи, второй после

theForm.Bookmark = theForm.RecordsetClone.Bookmark
...
Рейтинг: 0 / 0
Событие Current формы вызываеться происходит 2(!) раза.
    #32756991
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Geo paparomeOnCurrent срабатывает первый раз при открытии формы (для первой записи - если есть, конечно)

И если нет тоже.
Возможно - как-то не проверял :)
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Событие Current формы вызываеться происходит 2(!) раза.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]