Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS Access > MS Access


Автор: Medved 16.1.2003, 10:16
Написана маленькая база данных (выдача пропусков) на MS Access. Там всего две формы. Как можно защититься от пользователя, чтобы он не открыл саму базу данных, и не мог в ней ничего править, а имел бы к ней доступ только через формы?


P.S. Убедитьльная просьба, не предлагать написать это приложение на чем-нибудь другом. Условие задачи именно такое, которое я описал.

Заранее благодарен!

Автор: AntonSaburov 16.1.2003, 22:36
Завести пользователя, меню Сервис->Защита. А потом выдавать права.
Да и кроме этого там неплохой Мастер есть по защите. Так то по идее и все.

Чуть не забыл :)
Поле того как все будет защищено и будет создан файл рабочей группы, надо запустить "Администратор рабочих групп" (WRKGADM.EXE) и указать на новый файл рабочих групп. После этого запускаем Аксес и видим предложениена ввод пароля.


Автор: Vit 17.1.2003, 06:01
Сохранить в откомпиллированном виде (файл MDE) не подойдёт?

Автор: U-gene 17.1.2003, 18:42
Проблема в том, что для того, что бы работать с данными в таблицах БД Акцесса, пользователь ОБЯЗАТЕЛЬНО должен иметь право на работу с этими таблицами. То есть если мы лишим права работы с таблицами, он не сможет ничего делать в них не только напрямую, но и через формы. А нам это нужно? :)

ИТАК. Сделана рабочая база (MDB-файл). Отлажена и работает без нареканий. Далее

1)Делаешь макрос (с именем autoexec - он будет выполняться при входе в БД) в котором ты скрываешь главное окно БД и открываешь некую стартовую форму.

2)В меню Tools\Startup убираешь галочку с Allow Full Menu. Фишка в том, что пункт меню, позволяющий показать скрытое ранее главное окно БД,после этого не будет показываться. Кстати, вместо вышеописанного макроса autoexec можно пользовать опции доступные по Tools\Startup - там есть много интересных вещей обуславливающих загрузку БД.

В принципе уже достаточно. Но можно еще (ну на всякий случай:)

3) Делаешь изо всего полученного MDE файл.

4)Ну совсем на всякий случай -  запрещаешь юзерам разработку макросов, дабы они не могли добраться до главного окна БД с их помощью (хотя как бы им добраться, ежели главное окно скрыто?)

Вооот. Запускаешь и любуешься.
.
.
.
.
.
И очень сильно надеешся,  что не найдется юзер, знающий, что если войти в БД с нажатой кнопкой Shift, то он все равно попадет в главное окно :) Такой вот он - Акцесс :)

Кстати все написанное - очень приблизительно. Я, когда узнал, что нажатый шифт - самый главный козырь,  и нельзя позволить юзерам работать с данными ТОЛЬКО ЧЕРЕЗ ФОРМЫ ( запретив работать напрямую ), перестал АКЦЕССовской секретностью заморачиваться принципиально :).

Автор: Medved 18.1.2003, 05:52
Всем спасибо! Что-нибудь придумаем!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)