Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Запись в LOG-таблицу идентификаторов удаленных записей / 11 сообщений из 11, страница 1 из 1
19.03.2004, 18:52
    #32449981
AVKr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись в LOG-таблицу идентификаторов удаленных записей
Сижу чешу репу и что-то ничего не вычесыывается...

Нужно сделать следующее: при удалении группы записей из таблицы записать в специальную LOG-таблицу идентификаторы удаленных записей с дополнительными параметрами: кто, когда и т.п. По одной строчке на каждую запись. Но тут возникла проблемка.

Событие "Удаление" срабатывает нужное кол-во раз (по одному на каждую удаляемую запись). Но срабатывает оно до того как пользователь подтвердил или отказался от удаления, а Акцесс успел проверить ссылочную целостность. Стало быть, записывать рано.

А события "До подтверждения удаления" и "После подтверждения удаления" срабатывают один раз на весь набор удаляемых записей. Стало быть, уже поздно ловить отдельные идентификаторы.

Попробовал записывать в массив все идентификаторы на стадии "Удаление", чтобы потом залить их в LOG после подтверждения. Но в массив попадают и те записи, которые потом не могут быть удалены по условиям целостности.

Что-то я торможу... Может у кого какие мысли есть?
...
Рейтинг: 0 / 0
19.03.2004, 19:14
    #32449999
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись в LOG-таблицу идентификаторов удаленных записей
Вот обсуждение похожей проблемы:\r
/topic/62795&pg=-1\r
\r
Задачка не из легких. Окончательного ответа там нет.
...
Рейтинг: 0 / 0
19.03.2004, 19:22
    #32450006
AVKr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись в LOG-таблицу идентификаторов удаленных записей
Спасибо, Владимир Саныч!... Не то утешил, не то огорчил:) Думал, что проблема левой пяткой решается, просто у меня пятки неправильные. А оказалось, все не так жизнерадостно.

Пошел изучать обсуждение...
...
Рейтинг: 0 / 0
19.03.2004, 19:32
    #32450011
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись в LOG-таблицу идентификаторов удаленных записей
Может и решается как-то...
...
Рейтинг: 0 / 0
20.03.2004, 00:02
    #32450088
Odess
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись в LOG-таблицу идентификаторов удаленных записей
СанычМожет и решается как-то...

Конечно решается. Тригерами ;-)
Я вот последний месяц все думаю - чего я дурачок на SQL раньше не перешел ;-))
...
Рейтинг: 0 / 0
20.03.2004, 14:41
    #32450217
alexeyK-home
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись в LOG-таблицу идентификаторов удаленных записей
в аксессе я переделывал следующим образом базу
переименовывал таблицу под другим именем, добавлял битовое поле удалено и делал сохраненный запрос которому давал имя бывшей таблицы и условие удалено = 0

вместо удаления использовал установку значения этого поля.
...
Рейтинг: 0 / 0
20.03.2004, 14:42
    #32450218
Темный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись в LOG-таблицу идентификаторов удаленных записей
2 Odess:
А нафиг в этом случает тригеры? Transaction log тебе в руки и вперед
...
Рейтинг: 0 / 0
20.03.2004, 15:16
    #32450228
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись в LOG-таблицу идентификаторов удаленных записей
2 alexeyK-home:
И как при этом решается задача, описанная автором вопроса, что некоторые записи "не могут быть удалены по условиям целостности"? Как это учитывается при заполнении поля "Удалено"?
...
Рейтинг: 0 / 0
22.03.2004, 12:31
    #32451200
AVKr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись в LOG-таблицу идентификаторов удаленных записей
Понимаю, что все такие вещи надо на сервер переводить. Но, как где-то раньше писал, какой будет сервер пока неизвестно, поэтому приходится нагружать клиента.

Пришла в голову такая дурацкая мысль. Может на событие "Удаление" помещать все намеченные к удалению записи в LOG, а на событие "После подтверждения" проверять какие записи не удалились (по любой причине - отказ пользователя, условия целостности и т.п.) и выкидывать их из лога. Если получится, то в очередной раз правое ухо будет почесано левой пяткой.

Но кикие-то здесь должны быть подводные камни... Где бы соломки подстелить...
...
Рейтинг: 0 / 0
22.03.2004, 12:35
    #32451213
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись в LOG-таблицу идентификаторов удаленных записей
Где-то были обсуждения про работу акцесса после обработки события OnDelete. Нуф-Нуф, кажется, говорил, что если в этом обработчике открыть форму, то запись не удалится. У меня какие-то проблемы были с "триггерами для бедных" (с) - не помню уже, какие. Поищи по форуму.
...
Рейтинг: 0 / 0
22.03.2004, 12:49
    #32451243
фыыф
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись в LOG-таблицу идентификаторов удаленных записей
авторПопробовал записывать в массив все идентификаторы на стадии "Удаление", чтобы потом залить их в LOG после подтверждения. Но в массив попадают и те записи, которые потом не могут быть удалены по условиям целостности.


Дополни алгоритм проверкой успешности удаления. [После удаления]. (Например из массива сшей строку In(x;x;x...) и сделай запрос, или, открыв рекордсет (напр. клон формы), ищи неудалившиеся записи в цикле). Вот и все.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Запись в LOG-таблицу идентификаторов удаленных записей / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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