ник: duh_si
Спасибо за подсказку...возможно если я вам полностью опишу все задачу то вам будет понятнее что за функцию я пытаюсь сделать( и так как у вас опыта в VBA больше чем у меня возможно вы подскажете какие нибудь альтернативы и лучшие варианты). В общем задача у меня стоит сделать права доступа по пользователям, сейчас вроде как финишняя премая (и время поджимает и начальник не добро смотрит на меня), для чего мне нужна эта функция, см.рис - запрос1 сделан на основе таблицы в которой занесенны: Формы, объекты которые на ней находятся и имена этих объектов,.. Закуп, иниц, вед - это роли пользователей, у пользователя своя роль и соответственно при ней какие то объекты доступны какие то нет.(Р-редактирование, Ч-чтение,НД-недоступно,НВ-невидимо) Столбец Право - это ранг опции, чтобы они могли перекрывать друг друга. т.е Р всегда будет главнее Ч,НД,НВ... Ч будет главнее НД,НВ и т.д....
Для чего мне нужна переменная с именем объекта, чтобы сделать фильтрацию, т.е в Условие отбора я ставлю эту переменную Obj
Public Function ObjName()
Obj = Screen.ActiveControl.Name
End Function
|
может в условие отбора нужно поставить ObjName (здесь я прошу поправить меня, если я ошибаюсь и в условие отбора как то иначе нужно помещать эту переменную)
Далее после того как произойдет фильт в запросе останется одна строка, в моем случае Кнопка2, дальше запросом из столбца Право берем значение которое там находится помещаем это в переменную Prav
Ну а дальше функция продолжает свою работу
If Prav = Нд Then
Ме.кнопка2.Enabled = false
Else
If Prav = ч Then
ну и т.д
И в итоге объект будет либо доступен толь для чтения , редактирования или вообще будет скрыт.
Еще большой вопрос для меня в какое событие это все должно выполнятся, т.е при запуске формы пользователь уже должен видеть что закрыто от него, а что доступно.