1 / 1 / 0
Регистрация: 08.03.2011
Сообщений: 101
1

Как в access 2007 разграничить права пользователей?

24.06.2011, 09:40. Показов 13762. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как в access 2007 разграничить права пользователей? Например, чтобы несколько пользователей имели право редактировать записи,а все остальные - только просматривать.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.06.2011, 09:40
Ответы с готовыми решениями:

Распределение прав пользователей в Access 2007
Дана БД нужно сделать чтобы для пользователя "родитель" был возможен только просмотр форм и...

Создание пользователей с минимальными правами доступа в MS Access 2007
Столкнулась с такой проблемой. После совсем недавнего перехода на 2007 офис не могу разобраться как...

Администрирование БД. Разграничить права пользователям
Народ всем доброго дня! Кто знает как в MS Access обстоят дела с администрированием? Мне нужно...

Можно разграничить права доступа в MS SQL CE? Если нет, то посоветуйте, где можно
Сейчас у меня в приложении хранятся данные в Sqlite бд. Появилась необходимость разграничить права...

11
3353 / 1772 / 83
Регистрация: 05.08.2010
Сообщений: 4,471
24.06.2011, 09:47 2
Нужно бы использовать файл рабочей группы..но,формат accdb не поддерживает mdw...
Но,можно запустить Акс 2007 со старой MDW-шкой..

1. Открываем редактор системного реестра, выполнив системную команду "regedit"
2. Открываем мышкой "по дереву" реестр в следующей последовательности:
HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Access\Access Connectivity
Engine\Engines
3. В правом окне имени "SystemDB" соответствует полное имя файла рабочей группы, включая путь к файлу (может быть и сетевой)
4. Изменяем его существующее значение на нужное.
5. Закрываем, сохранив, пользуемся.

А можно сделать на уровне авторизации в формах(при запуске делать проверку,кто вошел, и раздавать права) самостоятельно.
0
1 / 1 / 0
Регистрация: 08.03.2011
Сообщений: 101
24.06.2011, 09:56  [ТС] 3
Интересный способ. Но в моем случае предполагается, что аксесс файл будет путешествовать от компа к компу или читаться с флешки. Как можно разграничить права в самом аксесс-файле?
0
3353 / 1772 / 83
Регистрация: 05.08.2010
Сообщений: 4,471
24.06.2011, 09:57 4
Цитата Сообщение от Smelov Посмотреть сообщение
Как можно разграничить права в самом аксесс-файле?
Цитата Сообщение от Agapov_stas Посмотреть сообщение
А можно сделать на уровне авторизации в формах(при запуске делать проверку,кто вошел, и раздавать права) самостоятельно.
.....
0
1 / 1 / 0
Регистрация: 08.03.2011
Сообщений: 101
24.06.2011, 10:01  [ТС] 5
Можно пример через формы?
0
3353 / 1772 / 83
Регистрация: 05.08.2010
Сообщений: 4,471
24.06.2011, 10:06 6
Цитата Сообщение от Smelov Посмотреть сообщение
Можно пример через формы?
Да не вопрос:
https://www.cyberforum.ru/sear... id=3322972
1
1 / 1 / 0
Регистрация: 08.03.2011
Сообщений: 101
24.06.2011, 11:45  [ТС] 7
Попробовал реализовать пример из https://www.cyberforum.ru/ms-a... 72523.html

Вот этот код

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
DIM rst AS DAO.Recordset
DIM CountRec AS LONG
Set dbs = CurrentDb()
Set rst = dbs.OpenRecordset("ТаблицаСЛогинамииПаролями")
CountRec = rst.RecordCount 'определяем число строк в таблице
IF CountRec > 0 THEN 'смотрим, чтоб не пустой запрос
    rst.MoveFirst 'возращаемся в начало набора строк
DO WHILE NOT rst.EOF 
    IF Me.ПолеЛогин.Value = "Какой-тоЛогин" AND Me.ПолеПароль.Value = rst.Fields("Пароль") THEN
Forms![НазваниеФормыОткрываемойСЗапретомДобавления].AllowAdditions=False
Forms![НазваниеФормыОткрываемойСЗапретомРедактирования].AllowEdits=False
END IF
rst.MoveNext 'переходим на следующую запись
 LOOP
rst.CLOSE
все хорошо, только при выполнении Forms![Моя форма].AllowAdditions=False говорит, что такой формы нет. Хотя она есть. Название копировал из свойства формы. Access 2007.
0
3353 / 1772 / 83
Регистрация: 05.08.2010
Сообщений: 4,471
24.06.2011, 12:03 8
Вообще, не лучший вариант открывать Recordset.
Я бы посоветовал при открытии БД запускать маленькую\иль большую(не важно) форму авторизации, и после выбора пользователя, проверять праоль и статус входящего.

Что по поводу
при выполнении Forms![Моя форма].AllowAdditions=False говорит, что такой формы нет
Вы уверены,что именно так называется форма?

Пример в 2003формате выложить можете?
0
1 / 1 / 0
Регистрация: 08.03.2011
Сообщений: 101
24.06.2011, 18:41  [ТС] 9
2Agapov_Stas

1. Этот вариант я хочу использовать по причине того, что не нашел в форуме ничего более понятного и подходящего

2. Уверен абсолютно! Название копировал из списка форм. У меня стоит Access 2007
0
2454 / 797 / 24
Регистрация: 18.08.2009
Сообщений: 1,697
24.06.2011, 20:40 10
Smelov, насчет формы: форму сперва открыть надо, а затем задать свойства редактирования и добавления данных. Дальше по поводу "открывать Recordse", открывается таблица, хранящая пароли и статусы. Именно с ее данными сравниваются значения, вводимые пользователем через форму
0
1 / 1 / 0
Регистрация: 08.03.2011
Сообщений: 101
24.06.2011, 20:55  [ТС] 11
Цитата Сообщение от Елена Посмотреть сообщение
Smelov, насчет формы: форму сперва открыть надо, а затем задать свойства редактирования и добавления данных. Дальше по поводу "открывать Recordse", открывается таблица, хранящая пароли и статусы. Именно с ее данными сравниваются значения, вводимые пользователем через форму
т.е. если у меня 15 форм, то я в каждой из них должен прописывать этот код? но должно же быть решение, чтобы один раз ввел логин/пароль и дальше спокойно работаешь....
0
2454 / 797 / 24
Регистрация: 18.08.2009
Сообщений: 1,697
25.06.2011, 06:14 12
Smelov, можно создать в модуле глобальную переменную
PureBasic
1
Public НазваниеПеременной As Variant
и на форме-заставке задавать значение этой переменной после выбора пользователем статуса (т.е. написать условие). Затем в каждой форме по событию ОткрытьФорму проверять значение этой переменной, написать условие, используя If или Case, в каком виде должна открыться форма в зависимости от глобальной переменной.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.06.2011, 06:14
Помогаю со студенческими работами здесь

Раскрывающийся список в Access 2007. Как создать?
Есть список, есть поле со списком, а как Раскрывающийся список создать? :scratch: Подскажите. ...

Как можно суммировать в таблице Access 2007 ?
Здравствуйте! Как можно суммировать в таблице Access 2007 ? в таблице в Access 2007 Например: ...

Как сделать в access 2007 запрос по году?
Сталкнулся с такой проблемой не могу сделать запрос по году, приходится только по полной дате и в...

Как реализовать добавление родственников в access 2007
Всем привет, ребят вообщем вопрос, есть база данных (ФИО, адрес, год рожд, ну и тд.) как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru