Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите, плиз, событие после удаления / 7 сообщений из 7, страница 1 из 1
03.02.2003, 14:44
    #32100411
RiliR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите, плиз, событие после удаления
Проблема - нужно обновить данные в родительской форме после удаления записи. Т. е. не тогда, когда она (запись) ушла (якобы) из формы, а когда изменения уже зафиксированны в БД.
А для этого хотелось бы использовать некоторое событие (или может кто знает другой вариант?). Но все три события формы BeforeDelConfirm, AfterDelConfirm, Delete отрабатывают собственно до удаления.
Может что-нибудь посоветуете?
Заранее спасибо.
...
Рейтинг: 0 / 0
03.02.2003, 15:11
    #32100430
Pavel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите, плиз, событие после удаления
После удаления произойдет событие текущая запись. Вот на него и садись. Толтько это событие происходит и при простом переходе по записям. так что нужно фиксировать факт удаления (через переменную или, что правильнее, через property let/get)
...
Рейтинг: 0 / 0
03.02.2003, 15:12
    #32100431
Serge Gavrilov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите, плиз, событие после удаления
Вообще-то в Help сказано:
---
Событие После подтверждения Del возникает после фактического удаления записи или записей, или после отмены всех удалений. Если событие До подтверждения Del не отменяется, то событие После подтверждения Del возникает после вывода диалогового окна Подтверждение удаления. Событие После подтверждения Del возникает даже в том случае, когда событие До подтверждения Del было отменено.
---
Отработайте последовательность событий, после удаления записи и Current сработает.
...
Рейтинг: 0 / 0
03.02.2003, 15:29
    #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
03.02.2003, 18:21
    #32100571
Pavel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите, плиз, событие после удаления
Для Access + ADO это самое простое и правильное решение. Не загружайся, делай как советую. Если бы спросил про VB, я ответил бы тебе про события recordset'a. Но в Access это не прокатит.
...
Рейтинг: 0 / 0
04.02.2003, 16:41
    #32101056
MixaCh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите, плиз, событие после удаления
Serge Gavrilov:

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

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

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


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