0 / 0 / 0
Регистрация: 16.02.2014
Сообщений: 18
|
|
1 | |
Администрирование БД. Разграничить права пользователям17.02.2014, 08:33. Показов 5885. Ответов 32
Метки нет (Все метки)
Народ всем доброго дня!
Кто знает как в MS Access обстоят дела с администрированием? Мне нужно чтобы было хотябы 3 профиля с разными правами: 1 просматривать бд 2 просматривать и добавлять клиентов 3 полный доступ 428.rar
0
|
17.02.2014, 08:33 | |
Ответы с готовыми решениями:
32
Как в access 2007 разграничить права пользователей? Права доступа отдельным пользователям Можно разграничить права доступа в MS SQL CE? Если нет, то посоветуйте, где можно как создать пользователя с правами системного администратора без права передавать эти права другим пользователям?? |
914 / 562 / 88
Регистрация: 13.02.2014
Сообщений: 2,082
|
||||||
17.02.2014, 09:29 | 2 | |||||
Много вариантов...
Например файлом рабочей группы, об этом полно в интернете. Расскажу про свой: Создаешь таблицу пользователей, в ней различные поля (чекбоксы) доступа, например "Просмотр", "Администрирование", "Отчетность" и т.д. Также создаешь поля "Сотрудник", "Логин", "IP", "Имя компьютера", по которым и будет определяться доступ. При входе в БД функцией Environ определяешь COMPUTERNAME/USERNAME и согласно доступу формируешь меню (скрываешь/открываешь кнопки), например
Не забываешь также включить защиту от Shift. Вот вкратце, хоть и не совсем защита на 100%, но весьма мобильная.
1
|
0 / 0 / 0
Регистрация: 16.02.2014
Сообщений: 18
|
|
17.02.2014, 09:58 [ТС] | 3 |
трудновато для новичка
0
|
914 / 562 / 88
Регистрация: 13.02.2014
Сообщений: 2,082
|
|
17.02.2014, 10:19 | 4 |
Boxer1nLane, начни, потом подскажем.
Сперва создай пользовательское меню с кнопками открытия различных форм, отчетов и т.д. 1. Создай таблицу "Сотрудники". 2. Создай макрос с именем AutoExec (этот макрос запускается при открытии БД), где создай макрокоманду ЗапускПрограммы на функцию Старт(). 3. В функции Старт(): 3.1 Определи имя пользователя. 3.2 Считай из т. "Сотрудники" доступы для этого пользователя. 3.3. Измени меню.
1
|
0 / 0 / 0
Регистрация: 16.02.2014
Сообщений: 18
|
|
17.02.2014, 10:56 [ТС] | 5 |
сделаю отпишусь
0
|
0 / 0 / 0
Регистрация: 16.02.2014
Сообщений: 18
|
|
17.02.2014, 17:57 [ТС] | 6 |
Блин ковырялся, ковырялся - получилась только форма (главная), access для меня чужд. 428 2003.rar
Есть способ попроще? не обязательно сильную защиту ставить, достаточно что бы простой юзер(оператор кол центра) не смог случайно чтонить добавить или изменить.
0
|
17533 / 7285 / 1663
Регистрация: 21.06.2012
Сообщений: 13,956
|
|
17.02.2014, 18:22 | 7 |
Если база разделена на интерфейс и данные - сделайте два разных интерфейса (для операторов и администраторов), закрыв в них доступ к таблицам и т.п. И ставьте операторам их ограниченный интерфейс.
0
|
914 / 562 / 88
Регистрация: 13.02.2014
Сообщений: 2,082
|
||||||
17.02.2014, 19:16 | 8 | |||||
Полдела сделал, молоток. Исправь только поле АдминистРирование в таблице.
Создай модуль, в нем функцию Старт(), в ней:
О, нене, только не так! А если править что придется? 2 файла? только не это!
0
|
17533 / 7285 / 1663
Регистрация: 21.06.2012
Сообщений: 13,956
|
|
17.02.2014, 19:30 | 9 |
Это почему же? Для простых интерфейсов и двух групп пользователей нормальный вариант. Делаете форму в общем со всеми возможностями изменения, экспортируете ее в ограниченный и блокируете все/нужные поля. Программирование измененной формы по таблице разрешений будет проще?
0
|
0 / 0 / 0
Регистрация: 16.02.2014
Сообщений: 18
|
|
17.02.2014, 19:41 [ТС] | 10 |
Rube, Всё сделал как ты сказал, но походу не доделал чего то=( 428 2003.rar глянь
0
|
0 / 0 / 0
Регистрация: 16.02.2014
Сообщений: 18
|
|
17.02.2014, 20:00 [ТС] | 11 |
ltv_1953, а как заблокировать поля, кнопки на форме?
0
|
914 / 562 / 88
Регистрация: 13.02.2014
Сообщений: 2,082
|
||||||
17.02.2014, 20:08 | 12 | |||||
Почему программирование формы? Речь про скрытие кнопок меню для различных пользователей, а форма одна у всех, ее не трогаем. Вот только открыть ее не каждый сможет.
Boxer1nLane, не модуль надо обзывать "Старт" (его название любое придумай), а функцию в нем:
Получить его можно в окне VBA Immediate (в меню View) прописав ?Environ("Username") и нажав Enter Ну и дебаж по F8 функцию Старт, смотри что получается. Только ты еще меню не сделал, но это 5 мин работы.
0
|
0 / 0 / 0
Регистрация: 16.02.2014
Сообщений: 18
|
|
17.02.2014, 20:43 [ТС] | 13 |
Rube, ты меня окончательно запутал=( ничего не получилось, что то не то делаю.. ещё завтро сдавать
"меню" ты имеешь ввиду где выбирается пользователь?
0
|
914 / 562 / 88
Регистрация: 13.02.2014
Сообщений: 2,082
|
|
17.02.2014, 21:02 | 14 |
Boxer1nLane, нет, меню это меню, панель инструментов если так понятней. Наверху, где менюшки файл, вид, помошь и т.д.
0
|
17533 / 7285 / 1663
Регистрация: 21.06.2012
Сообщений: 13,956
|
||||||
17.02.2014, 21:40 | 15 | |||||
Почему только скрытие кнопок меню. А те формы, которые вызываются из меню для всех одинаковы? Или в меню буду разные пункты для вызова формы для просмотра или редактирования клиентов?
В общем случае придется программировать блокировку конкретных полей в формах и т.п., в зависимости от полномочий пользователя. Обычно есть таблица Пользователи/Объекты с разрешениями. Ее и используют в событиях открытия и/или загрузки, для проверки, есть ли разрешение на открытие формы, указания режима данных формы, скрытия/блокировки/запрета доступа к конкретным полям. Добавлено через 12 минут Для кнокпи (запрет доступа): Me.Êíîïêà21.Enabled = False Для поля (запрет изменений): Me.Поле1.Locked = True Для формы (запрет изменений):
0
|
914 / 562 / 88
Регистрация: 13.02.2014
Сообщений: 2,082
|
|
17.02.2014, 21:44 | 16 |
ltv_1953, Допустим есть форма "Отчетность", вызывается из меню "Сервис" кнопкой "Отчеты". Тем пользователям у которых в т.Пользователи поле Отчетность = true, кнопку показываем. остальным скрываем.
А если допустим у пользователя только просмотр какой либо формы, без возможности сохранить внесенные изменения, то просто вешаем Exit Sub на Click кнопки сохранения. Ну или блокировку полей делать, где они ничего не должны вносить.
0
|
17533 / 7285 / 1663
Регистрация: 21.06.2012
Сообщений: 13,956
|
|
17.02.2014, 22:17 | 17 |
И как это сделать скрывая кнопки в меню. Это уже программирование в формах, о чем и было сразу написано. И как это согласуется с предыдущим Вашим утверждением
Добавлено через 16 минут
Нашлась Работа с таблицей метаданных и блокировка полей в ней.
0
|
914 / 562 / 88
Регистрация: 13.02.2014
Сообщений: 2,082
|
|
17.02.2014, 22:35 | 18 |
Это уже другая суть. Есть формы, которые доступны всем, но вот вносить изменения кому то нельзя. Для них и ставим запрет нажатия кнопки в форме.
А есть формы которые не надо вообще показывать пользователям, вот для них то и скрываем в меню кнопки открытия этих форм. Т.е. это два независимых друг от друга решения.
0
|
17533 / 7285 / 1663
Регистрация: 21.06.2012
Сообщений: 13,956
|
|
17.02.2014, 22:43 | 19 |
Понятно. И без второго не обойтись. А про метаданные почитайте по ссылке. Да и другие сходные темы по этому слову поищите - это общая работающая схема.
1
|
914 / 562 / 88
Регистрация: 13.02.2014
Сообщений: 2,082
|
|
17.02.2014, 22:45 | 20 |
0
|
17.02.2014, 22:45 | |
17.02.2014, 22:45 | |
Помогаю со студенческими работами здесь
20
Разграничить права админам Сделать перенаправление, разграничить права на папках Разграничить права пользователей на выполнение операций Как разграничить права доступа на редактирование записей в БД Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |