Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
 Аватар для Kkarn
902 / 292 / 50
Регистрация: 02.12.2014
Сообщений: 1,229

Ведение лога изменений в некоторых таблицах базы

31.10.2018, 21:25. Показов 2001. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
Возник вопрос добавить в базу что-то вроде автоматического ведения лога вносимых в некоторые таблицы изменений.
Заказчик видит это чем-то вроде:
"обычного ТХТ-файла со строками вида Дата/ время/ таблица/ ключевое поле/ поле в котором проводились изменения/ старое значение/ новое значение"
Мне раньше не приходилось подобным заниматься, поэтому с самого начала возникла куча мыслей по поводу того, не будет ли это "книгой о написании книги", ведь если не ограничить какими-то пределами подобное "протоколирование", то можно уйти в рекурсию и вести базу о том, как мы ведем базу)...
Еще меня смущает мысль о текстовом файле лога, не будет ли запись в файл изменений в реальном времени тормозить работу с базой (ну мало ли, я не сильно знаком с этими моментами...). Может, проще вести этот учет в отдельной таблице самой базы, и при надобности выгружать ему в ТХТ?..
Также практический вопрос кода: это что, нужно будет на формах на каждый контрол вешать на событие После обновления код, который будет ловить изменения и фиксировать?.. Других вариантов как-то и не вижу... Брр.

Буду очень признателен за мысли и советы по поводу того, как наиболее правильно это организовать.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.10.2018, 21:25
Ответы с готовыми решениями:

Ведение лога ошибок, отправка лога на e-mail
подскажите как дописать кусочик. есть vbs фаил,есть запрос , запрос берёт инфу и отправляет на email отчёт надо сделать два лог файла ...

Ведение лога bat
Вообщем существует огромное количество директорий с разными структурированными путями к директориям, программа BAT опрашивает эти пути...

Неправильное ведение лога
Здравствуйте, у меня такая проблема, пытаюсь вести лог, но текстовый файл сохраняется не в той кодировке, как это исправить? Вот код : ...

4
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
31.10.2018, 23:30
Лучший ответ Сообщение было отмечено Kkarn как решение

Решение

1. Лог пишется в таблицу БД. При необходимости экспортируется в любой внешний формат - текстовый файл, Excel и прочая.
2. Как правило заказчика интересуют только определенные, значимые поля. И только на них надо писать лог.
3. При входе в запись (событие Текущая запись /Current/) можно в цикле по полям считать имеющиеся данные в массив. Тем самым сохранить начальные данные записи. Также надо обнулить переменную уровня модуля формы, указывающую была ли редакция записи
4. На событии Dirty формы задать True переменной, указывающей была ли редакция записи
5. На событии После обновления формы (AfterUpdate) считать в цикле данные с формы и сравнить с массивом начальных значений. Поля, где есть разница, записывать в лог.

Вообще говоря, на форуме тема логов затрагивалась неоднократно. Не говоря уже о инете в целом... Только поискать.
1
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
01.11.2018, 08:34
1. По поиску: нажимаем сверху кнопку Поиск, в открывшемся списке выбираем Расширенный поиск. Слева сверху в открывшемся окне пишем "Лог изменений", справа выбираем СУБД МС Аксцесс, внизу - начать поиск.
2. Вот одна из ссылок с примерами логов: История изменений в БД
1
 Аватар для Kkarn
902 / 292 / 50
Регистрация: 02.12.2014
Сообщений: 1,229
01.11.2018, 09:26  [ТС]
mobile, Спасибо за хорошую инструкцию, все разложено идеально по полочкам. Принцип работы с переменной уровня модуля формы, указывающей на редактирование записи - помню, Вы мне его когда-то давно посоветовали по другому вопросу, тогда пригодилось).

alvk, спасибо, понял). А то здесь на форуме куча всяких разных поисков, не разбери поймешь.
Помню, раньше было удобно: создаешь новую тему, пишешь заголовок - а тебе сайт сам предлагает несколько подобных вариантов, которые уже были на форуме, и иногда надобность в новой теме сама отпадает. А сейчас почему-то такого не замечаю.
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
01.11.2018, 09:30
Цитата Сообщение от Kkarn Посмотреть сообщение
а тебе сайт сам предлагает несколько подобных вариантов
ну он и предлагает внизу после создания заголовка
конечно зря убрали, было удобно
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.11.2018, 09:30
Помогаю со студенческими работами здесь

Ведение общего лога
Всем привет! Есть несколько классов: class A { public $log; public function __construct(){ $this->log .= 'class...

Ведение лога ошибок
Есть программа, в основном работает стабильно, но иногда зависает безвозвратно. Причем при запуске exe файла может зависнуть, а при...

Правильное ведение лога в программе
Я пробую создать лог файл . Использую следующие команды. MyFile.WriteLine 'LOGON_USER ' & Request.ServerVariables('LOGON_USER') ...

Ведение лога приложения (log4j на Lotusscript)
Предлагаю обсудить ведение лога приложения в лотусе! Что мы имеем? К примеру, для java - отличные библиотеки, не нужно...

Ведение лога смены значений в поле
Всем привет! Помогите пожалуйста допилить код, который бы вёл лог смены значения в поле. Если в поле fTag впервые вносится...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru