|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.12.2011, 11:41 | #1 |
Пользователь
Регистрация: 03.11.2011
Сообщений: 34
|
Отмена изменений в БД Access
Всем привет. Имеем аксессную базу в одну таблицу, подключение ADO Query и грид. Задачка следующая и довольно простая: Нужно что бы пользователь мог отменять последнее действие. Аналог Ctrl+Z. Моя мысль. Сделать еще одну таблицу "Действия" с полями User, ID, Field, Count, которую заполнять при изменении данных в главной таблицы (ну наверное перед AdoQuery.Post) При нажатии кнопки "Отмена" (ну или "Вернуть все в зад") данные меняются обратно, последняя запись из таблицы "Действия" удаляется. При закрытие программы все данные из таблицы "Действия" удаляются. Смысл моего поста: оцените степень бредовости моей идеи. или может давно существуют штатные методы отмены внесенных изменений?
|
15.12.2011, 19:13 | #2 |
Форумчанин
Регистрация: 08.09.2010
Сообщений: 880
|
"Штатных методов" отмены изменений в СУБД не существует. Разве только в dBase и похожих настольных БД.
В общем случае все потенциальные изменения делаются пользователем в памяти (ну, иначе на клиенте). И только когда пользователь даст команду "записать", изменения попадают в базу данных. Такое решение позволяет не придумывать задачи на откат. Который, кстати, в серьезных системах управления (учета ли) вообще не практикуется и считается не просто дурным тоном при разработке БД, а может привести к конфликтным ситуациям со всеми вытекающими последствиями. Если это учебная БД, то можно делать как угодно, как придумается - никто канделябрами бить не будет. Некому. |
17.12.2011, 11:25 | #3 |
Холост/Не замужем
Форумчанин
Регистрация: 13.11.2007
Сообщений: 283
|
А чем не устраивает функция
Код:
Если так тогда кроме копирования самой базы во временную директорию для изменения, и при сохранении копировать её назад, а при отмене просто удалить временную, больше методов думаю нет. |
17.12.2011, 19:00 | #4 |
Участник клуба
Регистрация: 07.12.2011
Сообщений: 1,025
|
Batch
LockType:= adLockBatchOptimistic
и Cancel/UpdateBatch
Не стесняемся, плюсуем!
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сохранение изменений | Dmitrov | БД в Delphi | 2 | 16.05.2011 09:25 |
Сохранение изменений | Dmitrov | Помощь студентам | 0 | 15.05.2011 13:36 |
Отслеживание изменений | Fezdipekla | Microsoft Office Access | 3 | 09.07.2010 22:56 |
Access 2007. Блокировка изменений макета формы. | Alessio | Microsoft Office Access | 0 | 25.03.2010 14:29 |
Внесение изменений в БД (Access) | Patriot1 | БД в Delphi | 11 | 18.11.2008 14:15 |