|
|
|
Запись в LOG-таблицу идентификаторов удаленных записей
|
|||
|---|---|---|---|
|
#18+
Сижу чешу репу и что-то ничего не вычесыывается... Нужно сделать следующее: при удалении группы записей из таблицы записать в специальную LOG-таблицу идентификаторы удаленных записей с дополнительными параметрами: кто, когда и т.п. По одной строчке на каждую запись. Но тут возникла проблемка. Событие "Удаление" срабатывает нужное кол-во раз (по одному на каждую удаляемую запись). Но срабатывает оно до того как пользователь подтвердил или отказался от удаления, а Акцесс успел проверить ссылочную целостность. Стало быть, записывать рано. А события "До подтверждения удаления" и "После подтверждения удаления" срабатывают один раз на весь набор удаляемых записей. Стало быть, уже поздно ловить отдельные идентификаторы. Попробовал записывать в массив все идентификаторы на стадии "Удаление", чтобы потом залить их в LOG после подтверждения. Но в массив попадают и те записи, которые потом не могут быть удалены по условиям целостности. Что-то я торможу... Может у кого какие мысли есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2004, 18:52 |
|
||
|
Запись в LOG-таблицу идентификаторов удаленных записей
|
|||
|---|---|---|---|
|
#18+
Вот обсуждение похожей проблемы:\r /topic/62795&pg=-1\r \r Задачка не из легких. Окончательного ответа там нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2004, 19:14 |
|
||
|
Запись в LOG-таблицу идентификаторов удаленных записей
|
|||
|---|---|---|---|
|
#18+
Спасибо, Владимир Саныч!... Не то утешил, не то огорчил:) Думал, что проблема левой пяткой решается, просто у меня пятки неправильные. А оказалось, все не так жизнерадостно. Пошел изучать обсуждение... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2004, 19:22 |
|
||
|
Запись в LOG-таблицу идентификаторов удаленных записей
|
|||
|---|---|---|---|
|
#18+
Может и решается как-то... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2004, 19:32 |
|
||
|
Запись в LOG-таблицу идентификаторов удаленных записей
|
|||
|---|---|---|---|
|
#18+
СанычМожет и решается как-то... Конечно решается. Тригерами ;-) Я вот последний месяц все думаю - чего я дурачок на SQL раньше не перешел ;-)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2004, 00:02 |
|
||
|
Запись в LOG-таблицу идентификаторов удаленных записей
|
|||
|---|---|---|---|
|
#18+
в аксессе я переделывал следующим образом базу переименовывал таблицу под другим именем, добавлял битовое поле удалено и делал сохраненный запрос которому давал имя бывшей таблицы и условие удалено = 0 вместо удаления использовал установку значения этого поля. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2004, 14:41 |
|
||
|
Запись в LOG-таблицу идентификаторов удаленных записей
|
|||
|---|---|---|---|
|
#18+
2 Odess: А нафиг в этом случает тригеры? Transaction log тебе в руки и вперед ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2004, 14:42 |
|
||
|
Запись в LOG-таблицу идентификаторов удаленных записей
|
|||
|---|---|---|---|
|
#18+
2 alexeyK-home: И как при этом решается задача, описанная автором вопроса, что некоторые записи "не могут быть удалены по условиям целостности"? Как это учитывается при заполнении поля "Удалено"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2004, 15:16 |
|
||
|
Запись в LOG-таблицу идентификаторов удаленных записей
|
|||
|---|---|---|---|
|
#18+
Понимаю, что все такие вещи надо на сервер переводить. Но, как где-то раньше писал, какой будет сервер пока неизвестно, поэтому приходится нагружать клиента. Пришла в голову такая дурацкая мысль. Может на событие "Удаление" помещать все намеченные к удалению записи в LOG, а на событие "После подтверждения" проверять какие записи не удалились (по любой причине - отказ пользователя, условия целостности и т.п.) и выкидывать их из лога. Если получится, то в очередной раз правое ухо будет почесано левой пяткой. Но кикие-то здесь должны быть подводные камни... Где бы соломки подстелить... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2004, 12:31 |
|
||
|
Запись в LOG-таблицу идентификаторов удаленных записей
|
|||
|---|---|---|---|
|
#18+
Где-то были обсуждения про работу акцесса после обработки события OnDelete. Нуф-Нуф, кажется, говорил, что если в этом обработчике открыть форму, то запись не удалится. У меня какие-то проблемы были с "триггерами для бедных" (с) - не помню уже, какие. Поищи по форуму. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2004, 12:35 |
|
||
|
Запись в LOG-таблицу идентификаторов удаленных записей
|
|||
|---|---|---|---|
|
#18+
авторПопробовал записывать в массив все идентификаторы на стадии "Удаление", чтобы потом залить их в LOG после подтверждения. Но в массив попадают и те записи, которые потом не могут быть удалены по условиям целостности. Дополни алгоритм проверкой успешности удаления. [После удаления]. (Например из массива сшей строку In(x;x;x...) и сделай запрос, или, открыв рекордсет (напр. клон формы), ищи неудалившиеся записи в цикле). Вот и все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2004, 12:49 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32450088&tid=1675900]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
411ms |
get topic data: |
14ms |
get forum data: |
4ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 256ms |
| total: | 764ms |

| 0 / 0 |
