![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 04.03.2009
Сообщений: 9
|
![]()
Подскажите, плиз, как сделать недоступными/невидимыми все панели Access после входа под одним из пользователей? чтоб ему невозможно было что-то изменить, а были доступны только существующие формы и отчёты(которые он тоже не мог открывать в конструкторе)
и вообще возможно ли это?
Yusua
|
![]() |
![]() |
![]() |
#2 |
Новичок
Джуниор
Регистрация: 24.12.2009
Сообщений: 1
|
![]()
Что то не понятна задача и вообще проблема в чём, просто другого пользователя и ограничите возможность к использованию...
|
![]() |
![]() |
![]() |
#3 |
Участник клуба
Регистрация: 10.08.2009
Сообщений: 1,796
|
![]()
Здравствуйте Yusya.
я не могу сейчас подсказать Вам как это решается в А2007, нет установленного приложения, но как это реализовать в А2003 "поделюсь". 1. меню Сервис / Параметры запуска...: Полный набор меню... - не позволит выполнение недопустимых действий Контекстные меню... - не позволит переключаться в режим конструктора 2. событию формы "Закрыть" поручите выход из приложения: Код:
Евгений. |
![]() |
![]() |
![]() |
#4 |
Регистрация: 04.03.2009
Сообщений: 9
|
![]()
Здравствуйте Teslenko_EA!
Сейчас попробую это реализовать. но непонятно, зачем вешать выход из приложения на закрытие формы? мне нужно чтоб одному из пользователей было доступно всё, в этом случае нет ограничений, а вот другому можно только добавлять записи, редактировать их, делать выборки и вызывать хранимые процедуры. дак вот когда вход производиться под вторым пользователем, нужно все панели аксеса убрать или заблокировать, и доступ к конструктору и всем объектам прикрыть. это курсовой проект и я только учусь, так что не судите строго
Yusua
|
![]() |
![]() |
![]() |
#5 |
Участник клуба
Регистрация: 10.08.2009
Сообщений: 1,796
|
![]()
Здравствуйте Yusya.
Для управления разрешениями (привилегиями) в БД MS Access существует защита на уровне "Файла рабочей группы" (.mdw). Задачи подобные Вашей легко решаются с его применением. Создав файл и подключив его к БД, создают пользователей назначают им "разрешения" и устанавливают пароли доступа. Всё остальное выполняет MS Access самостоятельно, с учетом привилегий. ![]() Если Вы учитесь и действительно хотите знать, это похвально. ![]() Евгений. P.S. посты я подписываю своим именем для того, что бы ко мне обращались не по НИКу. ![]() |
![]() |
![]() |
![]() |
#6 |
Регистрация: 04.03.2009
Сообщений: 9
|
![]()
Евгений, а как создать этот (.mdw) файл и как его подключить к БД? У меня пользователи созданы уже на сервере. Заново прописывать их права?
Yusua
|
![]() |
![]() |
![]() |
#7 |
Участник клуба
Регистрация: 10.08.2009
Сообщений: 1,796
|
![]()
Yusya, возможно мы говорим о разных вещах, " пользователи...на сервере" и пользователи БД, это не одно и тоже.
О защите файлом mdw можно прочесть в разделе справки - Защита на уровне пользователей (MDB) о других способах защиты, например здесь. Евгений. |
![]() |
![]() |
![]() |
#8 |
Регистрация: 04.03.2009
Сообщений: 9
|
![]()
Спасибо Евгений!
Уже пытаюсь реализовать.
Yusua
|
![]() |
![]() |
![]() |
#9 |
Регистрация: 04.03.2009
Сообщений: 9
|
![]()
Спасибо большое за помощь.
Я хочу прояснить ситуацию: у меня есть база на SQL Servere 2005, в ней хранится вся база, а в Access2007 у меня только приложение. Пользователи созданы на сервере, и вход в приложение осуществляется под этими пользователями. Необходимо отключить для одного из пользователей доступ к панели Access и доступ к конструктору. Я так полагаю, что это возможно осуществить на уровне VBA, определив под кем мы зашли в данный момент и заблокировав ему доступ к объектам. Поправьте, если я ошибаюсь. Но как это реализовать на уровне VBA? как достучаться оттуда до панелей Access и др.? может есть методы?
Yusua
|
![]() |
![]() |
![]() |
#10 |
Участник клуба
Регистрация: 10.08.2009
Сообщений: 1,796
|
![]()
Здравствуйте Yusya.
с SQL сервером всё гораздо проще, Permission (разрешения) задаются безопасностью сервера, применяя для доступа к БД интерфейсную часть созданную не в MDB а в ADP файле, ко всем таблицам, функциям, представлениям,... будут применяться разрешения заданные на севере. О том как ограничить доступ пользователей к интерфейсной части я уже писал (пост #3), команда закрытия приложения DoCmd.Quit при закрытии "главной" формы, отключение "контекстного меню по умолчанию" и "Полного набора меню", лишает пользователя возможности каким либо образом открывать объекты в режиме конструктора. Так же можно программно включить "защиту от Shift'а", т.е удержание нажатой клавиши Shift, не приведет к отмене "Параметров запуска" как это происходит в MS Access по умолчанию. Конечно "рулить" разрешениями "на уровне VBA" можно, но зачем создавать собственный "инструмент", отказываясь от имеющихся возможностей. Евгений. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задача:в вижуал с++ Разработать приложение-сервер и приложение (смотри дальше сообщение) | Мила777 | Фриланс | 2 | 21.10.2009 11:05 |
Неизвестное приложение | grablin | Операционные системы общие вопросы | 3 | 11.10.2009 14:17 |
совместимость Access2007 и дельфи? | www-zek | Microsoft Office Access | 0 | 30.04.2009 14:25 |
консольное приложение | user_jasser | Общие вопросы Delphi | 3 | 17.10.2008 12:17 |