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

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

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

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

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

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

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

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

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

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

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


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


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