powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите, плиз, событие после удаления
7 сообщений из 7, страница 1 из 1
Помогите, плиз, событие после удаления
    #32100411
RiliR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема - нужно обновить данные в родительской форме после удаления записи. Т. е. не тогда, когда она (запись) ушла (якобы) из формы, а когда изменения уже зафиксированны в БД.
А для этого хотелось бы использовать некоторое событие (или может кто знает другой вариант?). Но все три события формы BeforeDelConfirm, AfterDelConfirm, Delete отрабатывают собственно до удаления.
Может что-нибудь посоветуете?
Заранее спасибо.
...
Рейтинг: 0 / 0
Помогите, плиз, событие после удаления
    #32100430
Фотография Pavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
После удаления произойдет событие текущая запись. Вот на него и садись. Толтько это событие происходит и при простом переходе по записям. так что нужно фиксировать факт удаления (через переменную или, что правильнее, через property let/get)
...
Рейтинг: 0 / 0
Помогите, плиз, событие после удаления
    #32100431
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще-то в Help сказано:
---
Событие После подтверждения Del возникает после фактического удаления записи или записей, или после отмены всех удалений. Если событие До подтверждения Del не отменяется, то событие После подтверждения Del возникает после вывода диалогового окна Подтверждение удаления. Событие После подтверждения Del возникает даже в том случае, когда событие До подтверждения Del было отменено.
---
Отработайте последовательность событий, после удаления записи и Current сработает.
...
Рейтинг: 0 / 0
Помогите, плиз, событие после удаления
    #32100441
RiliR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Pavel, Serge Gavrilov
Current - это вариант. Спасибо.
Хоть и не самый простой.
Тут вот нарыл еще один способ. Прицепиться к событию RecordChangeComplete Recordset-а. (Проект ADP, т. е. юзается ADO).
Описываю:

Код: plaintext
1.
Public WithEvents RS As Recordset


И вставляю обработчик оного:

Код: plaintext
1.
2.
3.
Private Sub RS_RecordChangeComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal cRecords As Long, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
    <обновления>
End Sub


И при открытии формы присваиваю Set RS = Me.Recordset
Вот только проблема. Похоже, что форма переодически переоткрывает рекордсет, и мой RS указывает уже на Nothing, а это обидно :(
Я так думаю, что надо тоже периодически переприсваивать RS. Но только с какой периодичностью? На Form_Current вешать что-то не хочется, по-моему, это перебор.
Может кто подскажет, при каких операциях форма переоткрывает рекордсет?
...
Рейтинг: 0 / 0
Помогите, плиз, событие после удаления
    #32100571
Фотография Pavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для Access + ADO это самое простое и правильное решение. Не загружайся, делай как советую. Если бы спросил про VB, я ответил бы тебе про события recordset'a. Но в Access это не прокатит.
...
Рейтинг: 0 / 0
Помогите, плиз, событие после удаления
    #32101056
MixaCh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serge Gavrilov:

В Access есть неприятная особенность:

Событие "После подтверждения удаления" не происходит, если отключить оное в настройках Access....

Не очень понятна логика разработчиков, но садиться на событие "После подтверждения" чревато.....
...
Рейтинг: 0 / 0
Помогите, плиз, событие после удаления
    #32101097
ДиД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
самое печальное, что если удалить все записи из формы не выделяя построчно, а просто нажать верхний левый квадрат в табличной форме, то и событие "текущая запись" не срабатывает. по крайней мере я уже задавал вопрос по этому поводу - все промолчали.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите, плиз, событие после удаления
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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