Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
 Re: Перехватить/изменить метод стандартного контрола  [new]
Аллюр Д.
Member

Откуда:
Сообщений: 1843
ROI
AIzotov
пропущено...


В принципе это не важно. Важно понимать смогу ли я добавить свою логику в класс.

В Access нет такого понятия как переопределения методов класса.
Ну и классы в нем закрытые так - что увы.

Я не очень понял, что же хочет сделать автор темы, но в Аксесе можно создавать свои классы и в них делать всё, что хочется. В том числе, перехватывать события контролов
Private WithEvents fld As Access.ListBox 
4 сен 18, 16:04    [21664291]     Ответить | Цитировать Сообщить модератору
 Re: Перехватить/изменить метод стандартного контрола  [new]
Аллюр Д.
Member

Откуда:
Сообщений: 1843
AIzotov,

Перечитал все ваши посты в теме и вспомнилась фраза из анекдота - "Ты не мудри, ты пальцем покажи"

Бизнес-логика, Enabled, Locked... И при этом "не хочется копаться во всём коде"

Приведите пример (а не абстрактные рассуждения) как вам видится процесс управления доступом к контролам

AIzotov
Позволяет ли Access такие вольности?

Аксес вполне нормальная среда разработки, с весьма развитым языком, так что позволяет он очень много. Главное, понять чего хочешь и нагуглить пример реализации (почти не шутка)
4 сен 18, 16:12    [21664308]     Ответить | Цитировать Сообщить модератору
 Re: Перехватить/изменить метод стандартного контрола  [new]
AIzotov
Member

Откуда: Киев, Украина
Сообщений: 73
Кривцов Анатолий
... затем переходите на новую запись

Это не ленточная форма.

По поводу свойства Tag можно подумать.

Условное форматирование, как мне кажется, недостаточно гибкий вариант. Плюс есть органичения - не для всех контролов работает.
4 сен 18, 18:08    [21664500]     Ответить | Цитировать Сообщить модератору
 Re: Перехватить/изменить метод стандартного контрола  [new]
AIzotov
Member

Откуда: Киев, Украина
Сообщений: 73
Аллюр Д.
Приведите пример (а не абстрактные рассуждения) как вам видится процесс управления доступом к контролам


Пример вроде бы привел. Может он и абстрактный, но достаточно точно описывает работу приложения.
Процесс управления простой: есть таблица с перечнем всех ролей и их полномочиями по доступу к контролам.
После отработки бизнес-логики, приведенной в предыдущем примере, нужно только проверить, разрешен ли данный конкретный контрол текущей роли (найти запись роль-форма-контрол) и запретить/разрешить его.

Ну не знаю как по-другому объяснить.
4 сен 18, 18:22    [21664524]     Ответить | Цитировать Сообщить модератору
 Re: Перехватить/изменить метод стандартного контрола  [new]
Predeclared
Member

Откуда: And God I know I'm one
Сообщений: 879
>>Ну не знаю как по-другому объяснить.

Да все понятно объясняете.
4 сен 18, 18:46    [21664562]     Ответить | Цитировать Сообщить модератору
 Re: Перехватить/изменить метод стандартного контрола  [new]
ROI
Member

Откуда: г. Тюмень
Сообщений: 1760
AIzotov
Аллюр Д.
Приведите пример (а не абстрактные рассуждения) как вам видится процесс управления доступом к контролам


Пример вроде бы привел. Может он и абстрактный, но достаточно точно описывает работу приложения.
Процесс управления простой: есть таблица с перечнем всех ролей и их полномочиями по доступу к контролам.
После отработки бизнес-логики, приведенной в предыдущем примере, нужно только проверить, разрешен ли данный конкретный контрол текущей роли (найти запись роль-форма-контрол) и запретить/разрешить его.

Ну не знаю как по-другому объяснить.

Дык объясните, что конкретно у вас не получается?
А так на событие открытие формы вешаете обработчик доступа и делайте с вашими контролами что хотите
PS: я не думаю что обрабатывать нужно все ваши 100 форм.
5 сен 18, 05:18    [21664942]     Ответить | Цитировать Сообщить модератору
 Re: Перехватить/изменить метод стандартного контрола  [new]
AIzotov
Member

Откуда: Киев, Украина
Сообщений: 73
[quot ROI]
AIzotov
Дык объясните, что конкретно у вас не получается?
А так на событие открытие формы вешаете обработчик доступа и делайте с вашими контролами что хотите
PS: я не думаю что обрабатывать нужно все ваши 100 форм.


На данный момент у меня не получается объяснить задачу, чтобы ВСЕ поняли.
Все остальное получается.
5 сен 18, 09:13    [21665064]     Ответить | Цитировать Сообщить модератору
 Re: Перехватить/изменить метод стандартного контрола  [new]
Аллюр Д.
Member

Откуда:
Сообщений: 1843
Predeclared
>>Ну не знаю как по-другому объяснить.

Да все понятно объясняете.

Тогда вы объясните непонимающим
5 сен 18, 10:23    [21665169]     Ответить | Цитировать Сообщить модератору
 Re: Перехватить/изменить метод стандартного контрола  [new]
Аллюр Д.
Member

Откуда:
Сообщений: 1843
AIzotov
ROI
Дык объясните, что конкретно у вас не получается?
А так на событие открытие формы вешаете обработчик доступа и делайте с вашими контролами что хотите
PS: я не думаю что обрабатывать нужно все ваши 100 форм.


На данный момент у меня не получается объяснить задачу, чтобы ВСЕ поняли.
Все остальное получается.

Если некий контрол уже имеет Enable=False, то повторное Enable=False ему не повредит.
Если бизнес-логика запрещает давать этому контролу Enable=True, то надо либо хранить информацию об этом запрете, как уже предлагали в Tag (заполняется, например, в событии Open формы), либо каждый раз запрашивать из таблицы ролей.

В некую унифицированную процедуру передавать имя формы и имя контрола и делать выборку по этим условиям, дополним id роли текущего пользователя.

Минимизировать усилия по допиливанию форм, скорее всего, сильно не получится. Чуть выше я писал про собственный класс, но ради отслеживания одного события After_Update - овчинка не стоит выделки.
Так что я бы просто прошёлся вручную по всем нужным контролам и дописал вызов общей функции
5 сен 18, 10:36    [21665192]     Ответить | Цитировать Сообщить модератору
 Re: Перехватить/изменить метод стандартного контрола  [new]
ROI
Member

Откуда: г. Тюмень
Сообщений: 1760
Аллюр Д.
Так что я бы просто прошёлся вручную по всем нужным контролам и дописал вызов общей функции

Дык я же это и предлагал https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1301929&msg=21662817
5 сен 18, 10:49    [21665206]     Ответить | Цитировать Сообщить модератору
 Re: Перехватить/изменить метод стандартного контрола  [new]
Predeclared
Member

Откуда: And God I know I'm one
Сообщений: 879
Аллюр Д.
Predeclared
>>Ну не знаю как по-другому объяснить.

Да все понятно объясняете.

Тогда вы объясните непонимающим


Так что тут объяснять?

Легкого и/или "красивого" решения этой задачи пока не нарисовывается.
Остается только посочувствовать ТС,
так он вроде как не за этим сюда пришел.

Не?
5 сен 18, 13:29    [21665592]     Ответить | Цитировать Сообщить модератору
 Re: Перехватить/изменить метод стандартного контрола  [new]
alecko
Member

Откуда: Башкирия
Сообщений: 542
так то есть функция поиска в модулях,формах, запросах и пр.(где то на форуме было упоминание)
найти те события, да добавить в них
forms(frmname).Module.InsertLines (numberLines, "call NewFunction(Activecontrol.name)")

а там уж дело техники...
5 сен 18, 13:49    [21665642]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
Все форумы / Microsoft Access Ответить