СообЧа > База Знаний > Базы данных > MS Access

Вопрос

Я сделал регистрацию входа в базу (фиксируется юзер, время входа и выхода). Все это пишу в отдельную таблицу, которую с интересом просматриваю. Но процедуры регистрации привязаны к открытию/закрытию формы, открываемой по умолчанию. А ведь всегда найдется «прошаренный юзер», который откроет базу, удерживая shift. При этом в моей таблице доступа ничего не запишется. Как же зарегистрировать все открытия базы?

Ответ

Если из другой базы запустить вот такую процедуру:
Sub AllShiftsOut()
Dim mdb As Database, prp As Property, app As New
Access.Application
app.OpenCurrentDatabase
"C:\Databases\Private\K31.mdb"
Set mdb = app.CurrentDb
Set prp = mdb.CreateProperty("AllowBypassKey", dbBoolean, False)
mdb.Properties.Append prp
app.CloseCurrentDatabase
Set prp = Nothing
Set mdb = Nothing
Set app = Nothing
End Sub

…то попробуйте-ка потом открыть указанную в 3-ей строчке базу с shift'ом… На всякий случай рекомендую потренироваться с копией, а когда надоест, проделать ChangeProperty на True

Alex



Copyright © 2000-2004 Сообщество Чайников
Контактная информация