Форум программистов, компьютерный форум, киберфорум
Наши страницы
MS Access
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
TitanFighter
0 / 0 / 0
Регистрация: 15.10.2014
Сообщений: 28
1

Открыть или закрыть юзерам доступ на редактирование полей в зависимости от значения галочки в таблице доступа

20.01.2015, 23:43. Просмотров 974. Ответов 11
Метки нет (Все метки)

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

Суть такова: начальство будет заходить и тыкать галочки, какие поля группа "User" сможет редактировать, а какие нет.
Галочки начальство будет ставить через форму "List - доступ" сделанный на базе одноименной таблицы. (Форму для наглядности потом переделаю, мне главное сейчас, чтоб "галочки" работали).

При поставленных галочках в форме "List - доступ" в строке User для полей "Задача_Дата" и "Задача_Задача" должны быть заблокированы для редактирования Поля "Дата" и "Задача" на форме "User - Задача сотрудника".
Т.е. чтоб при открытии формы "User - Задача сотрудника" проверялось значение галочек для группы User в форме или таблице "List - доступ".

Благодарю за помощь.
0
Вложения
Тип файла: zip 53Test.zip (382.4 Кб, 6 просмотров)
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.01.2015, 23:43
Ответы с готовыми решениями:

Подсветка строк содержащих одинаковые значения полей или подсветка полей с одинаковым значением в таблице
Подскажите, возможна ли реализация в форме такой функции: При наведении курсора...

Как последовательно перебрать все записи в таблице, получая значения поля или полей?
Здравствуйте! Имеются объекты: ТблПромежуточная ТблВыполненныеРаботы...

Как в сводной таблице открыть или скрыть все значения поля
Как в сводной таблице открыть или скрыть все значения поля? Как я смотрел с...

Редактирование полей в таблице по клику
Добрый день возник вопрос по редактированию значений при выводи данных из БД....

Открыть\закрыть доступ к папке файлу
Добрый вечер.Написал программку для открытия,закрытия доступа к папке. using...

11
ltv_1953
Эксперт MS Access
12848 / 5826 / 1117
Регистрация: 21.06.2012
Сообщений: 10,492
21.01.2015, 01:35 2
Посмотрите здесь Различные права доступа к базе.
0
komsomol99l
6 / 6 / 2
Регистрация: 11.10.2014
Сообщений: 108
21.01.2015, 15:56 3
TitanFighter, было-бы значительно больше ответов и предложений, если:

1. расширение 53Test.accdb было-бы 53Test.mdb (не у всех Office 2007 и выше);
2. размерчик файла был-бы несколько поменьше (для этого Сервис-Служебные программы-Сжать и восстановить)
2
TitanFighter
0 / 0 / 0
Регистрация: 15.10.2014
Сообщений: 28
21.01.2015, 18:28  [ТС] 4
ltv_1953,
Спасибо за линк. Написано доступно. Попробовал сделать у себя по аналогии, но у меня возникли 2 проблемы.
1. Постоянно нужно держать открытой форму логина, чтоб с логин формы бралась группа юзера.
2. Поля на формах не меняют свои свойства (Visible, Enabled) исходя из значений, заданных в таблице МетаДата.

Хотелось бы сделать без доб полей на форме логина, а так, чтоб группа пользователя бралась прямиком из таблицы "Сотрудники"

komsomol99l,
я бы с радостью в мдб сохранил, но ругается Ексес, что "используются возможности текущего формата".
По поводу размера - сжатие сделал.
0
Вложения
Тип файла: zip NewTest.zip (62.3 Кб, 2 просмотров)
TitanFighter
0 / 0 / 0
Регистрация: 15.10.2014
Сообщений: 28
21.01.2015, 18:44  [ТС] 5
По поводу 1ой проблемы - можно ее скрыть через Me.Vissible, как бы не проблема. Нормальный ли это подход?
Больше волнует 2ой вопрос - почему не применяется таблица МетаДата к полям?
0
ltv_1953
Эксперт MS Access
12848 / 5826 / 1117
Регистрация: 21.06.2012
Сообщений: 10,492
21.01.2015, 18:50 6
Цитата Сообщение от TitanFighter Посмотреть сообщение
Больше волнует 2ой вопрос - почему не применяется таблица МетаДата к полям?
Я дал Вам только ссылку - эту схему сам не применяю. Полагаю, что если обратитесь к уважаемому Mobile, он все пояснит.
1
mobile
Эксперт MS Access
22923 / 12998 / 2689
Регистрация: 28.04.2012
Сообщений: 14,232
21.01.2015, 20:03 7
Цитата Сообщение от TitanFighter Посмотреть сообщение
1. Постоянно нужно держать открытой форму логина, чтоб с логин формы бралась группа юзера.
Это обычный прием. И очень удобный. Только надо при выборе сотрудника скрывать форму логина. Она будет на рабочем столе, но не видимая.

Цитата Сообщение от TitanFighter Посмотреть сообщение
2. Поля на формах не меняют свои свойства (Visible, Enabled) исходя из значений, заданных в таблице МетаДата.
Это из-за множества ошибок в таблице и форме. Например, в таблице tblMetaData форма названа "User - Данные компании", а сама форма называется "User - Данные компаний". В таблице записано поле "Поле-Код компании", а на форме такого поля нет. Кроме того, в коде несколько ссылок на отсутствующую таблицу "Сотрудники АПГ". А ее нет.
Я, разумеется не все просмотрел, поскольку натыкался на отсутствующие объекты. Вообщем, нужна внимательная корректировка кода и метаданных и все пойдет.
0
TitanFighter
0 / 0 / 0
Регистрация: 15.10.2014
Сообщений: 28
21.01.2015, 20:04  [ТС] 8
Благодарю. Ща буду все перечитывать. Спасибо.
0
TitanFighter
0 / 0 / 0
Регистрация: 15.10.2014
Сообщений: 28
21.01.2015, 21:41  [ТС] 9
mobile,
Пофиксил я все, как вы и сказали.
В итоге заработала МетаДата, но только для 1ой формы. Для 2ой - "табличной" - никак не могу понять в чем дело.

Мне нужно заблокировать для редактирования некоторые поля на форме "User_Задачи_сотрудника_Подчиненная", который юзер смотрит через форму навигации "User_Главная_страница"->"Задачи".
После фиксов, "User_Главная_страница"->"Данные компаний" работают как надо, а с "Задачами" беда.

Сделал сейчас все, как будет у юзера в реальности:
1. Логин форма - логин "Сергей", пароль "234"
2. Главная страница юзера с навигационными формами. 1ая - Данные компаний - все ок. 2ая - Задачи юзера - не могу заблокировать поля.

Подскажите, что не так делаю?
0
Вложения
Тип файла: zip NewTest.zip (69.1 Кб, 1 просмотров)
mobile
Эксперт MS Access
22923 / 12998 / 2689
Регистрация: 28.04.2012
Сообщений: 14,232
21.01.2015, 22:14 10
Лучший ответ Сообщение было отмечено TitanFighter как решение

Решение

TitanFighter, по-прежнему есть неточности в таблице метаданных. Из-за чего пришлось даже вставить обход ошибки в функции MetaData. Например, упомянутое в таблице ПолеСоСписком_Исполни не существует в подформе "User - Задачи сотрудника Подчиненная"

Теперь о главном. В форме "User - Задачи сотрудника" не требуется прятать поля. У Вас работа с полями в форме "User - Задачи сотрудника Подчиненная". Именно в ее событии загрузки надо вставлять обращение к процедуре. Что и сделано мною. И в дальнейшем Вам надо поступать также - обрабатывать поля на видимость и доступность именно в нужной форме. Неважно, подчиненная она или главная.

Второе. В прежней редакции функции Metadata не было варианта для табличных форм. Я изменил функцию и добавил обработку для даташит-форм.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Public Function Metadata(frm As Form, Role)
    Dim rst As Dao.Recordset, db As Dao.Database
    Set db = CurrentDb
    Set rst = db.OpenRecordset("select * from tblMetaData" _
    & " where Роль='" & Role & "' and Форма='" & frm.Name & "'")
    
    On Error Resume Next    'Пришлось вставить обход ошибок из-за неверной
                            'прописи полей в таблице метаданных
    Do Until rst.EOF
        frm(rst!Контрол).Enabled = rst!Enable
        If frm.DefaultView <> 2 Then    'если форма табличная, то используется свойство ColumnHidden
            frm(rst!Контрол).Visible = rst!Visible
        Else
            frm(rst!Контрол).ColumnHidden = Not rst!Visible
        End If
        rst.MoveNext
    Loop
End Function
1
Вложения
Тип файла: rar NewTest.rar (57.0 Кб, 2 просмотров)
TitanFighter
0 / 0 / 0
Регистрация: 15.10.2014
Сообщений: 28
22.01.2015, 00:44  [ТС] 11
mobile,
Прошу прощение за беспокойство. В прикрепленном вами файле есть 1 проблема:
Когда юзер на главной странице переходит на вкладку "задачи", а потом обратно на "Данные компаний", возникает сообщение из прикрепления... Но ведь с макетом и формой никаких изменений не происходит... Куда рыть?
0
Миниатюры
Открыть или закрыть юзерам доступ на редактирование полей в зависимости от значения галочки в таблице доступа  
mobile
Эксперт MS Access
22923 / 12998 / 2689
Регистрация: 28.04.2012
Сообщений: 14,232
22.01.2015, 02:11 12
Цитата Сообщение от TitanFighter Посмотреть сообщение
возникает сообщение
Видимо это особенность формы навигации. В обычных вкладках такого нет. Привожу форму Form1 с такими же вкладками, как и в форме навигации, но сделанными из стандартных вкладок. Никаких сообщений о сохранении нет при переходе на другую вкладку или закрытии формы.
0
Вложения
Тип файла: rar NewTest1.rar (58.2 Кб, 3 просмотров)
22.01.2015, 02:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.01.2015, 02:11

Редактирование текста в зависимости от значения переменной
Всем привет! Это опять я со своей змейкой:yes: Решил сделать систему рекордов,...

Как закрыть доступ в интернет всем программам и потом открыть только тем которыми я пользуюсь
Доброе время суток. Поставил Win 10 и начались проблемы с интернетом. Эта...

Как закрыть или скрыть основное окно и открыть дочернее, и как потом закрыть дочернее окно и открыть основное
Здравствуйте, передо мной возникла проблема, с которой я не могу справиться....


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru