powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / мониторинг пользователей
6 сообщений из 6, страница 1 из 1
мониторинг пользователей
    #32310404
ayv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ayv
Гость
Нужно построить простенькую систему аудита
в проекте .adp+SQL2000. Я использую ADO.
Пользователи входят в базу каждый со своим Логином
На время сеанса пользователя значение "User ID" метода (или свойства) Connection хранится в глобальной переменной User.
В каждой критически важной таблице есть 4 служебных поля
UserCreate(1), DateCreate(2), UserUpdate(3), DateUpdate(4)
Весь ввод возможен только через формы (естественно, эти поля юзера не видят).
Как сделать:
1. Чтобы при создании новой записи автоматически заполнялись поля 1 и 2
2. Чтобы при изменении существующей записи заполнялись поля 3 и 4. Историю хранить не надо, только последнего юзера и последнюю дату.
Формы - одиночные.
...
Рейтинг: 0 / 0
мониторинг пользователей
    #32310428
incold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все делается на сервере

1. 2. На таблицах значения по умолчанию SYSTEM_USER, getdate()

3.4. Триггера на обновление в таблицах проставлением SYSTEM_USER, getdate() в обновляемых записях.
...
Рейтинг: 0 / 0
мониторинг пользователей
    #32310430
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>1. Чтобы при создании новой записи автоматически заполнялись поля 1 и 2

Поставить Default GetDate() и suser_sname()

>2. Чтобы при изменении существующей записи заполнялись поля 3 и 4.

Надо написать маленький триггер типа такого
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
CREATE TRIGGER ИмяТирггера1
ON dbo.ИмяТаблицы
FOR UPDATE
AS
set nocount on
 -- аудит изменений
 
UPDATE t
SET UserUpdate2= SUSER_SNAME(), DateUpdate2= GETDATE()
FROM inserted i
INNER JOIN ИмяТаблицы t 
ON i.КлючПоле = t.КлючПоле
 -- конец аудита
 
...
Рейтинг: 0 / 0
мониторинг пользователей
    #32310467
ayv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ayv
Гость
спасибо, идею понял
буду пробывать
...
Рейтинг: 0 / 0
мониторинг пользователей
    #32310472
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АпАзДал (с) ЛП

==
Если обратишь внимание: SYSTEM_USER и SUSER_SNAME - это в данном случае синонимы. С единственным отличием SUSER_SNAME ([SID]) позволяет вернуть имя по SID'у пользователя. Что использовать в твоем конктретном случае - не имеет значения.
...
Рейтинг: 0 / 0
мониторинг пользователей
    #32310477
ayv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ayv
Гость
Спасибо Виктор
Думаю, что вопросы еще возникнут -)))
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / мониторинг пользователей
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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