|
Организация доступа
|
|||
---|---|---|---|
#18+
Здравствуйте все! Планируется наличие четырех групп пользователей: 1. С полным доступом 2. Аналитики - работа с отчетами (непрямая, через формы) 3 и 4. Регистраторы - непосредственно наполняют базу данных, они двух типов, при этом большая часть регистрируемых данных одинакова, различия в дополнительных данных, т.е. в принципе буду наполнять одну основную таблицу, но некоторые поля будут различаться. Хотелось бы услышать ваше мнение о наиболее оптимальном способе предоставления доступа в применении к данной ситуации. Сам вообще думал: 1. создавать разные формы для каждого типа и в зависимости от введенного пароля менять свойства доступа. или 2. На главной форме опять же по результату проверки пароля менять свойство Visible элементов управления. Данная база - первый проект, больший чем таблица + 2 формы + отчет, так что прошу сильно не критиковать идеи )))) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2018, 18:37 |
|
Организация доступа
|
|||
---|---|---|---|
#18+
Lekks... 3 и 4. Регистраторы - ..., при этом большая часть регистрируемых данных одинакова, различия в дополнительных данных, т.е. в принципе буду наполнять одну основную таблицу, но некоторые поля будут различаться... Есть сомнения в правильности схемы данных. Для каждой роли, после авторизации, создается свое меню приложения, элементы которого дают доступ к формам/отчетам, прописанным этой роли. Возможна настройка видимости/доступности некоторых элементов форм при их открытии, в зависимости от роли текущего пользователя. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2018, 19:03 |
|
Организация доступа
|
|||
---|---|---|---|
#18+
Predeclared Есть сомнения в правильности схемы данных У самого иногда возникают, проверяю - нет, вроде все нормально ))))) Я наверное неправильно выразился. Два типа регистраторов наполняют одну таблицу, но кроме этого, одни вносят данные (например, изображения) в другую таблицу, а вторые этого не делают, вторые должны будут выводить отчет по основной таблице за определенный период (за смену), первым этого не надо. Данные по основной таблице не различаются. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2018, 05:58 |
|
Организация доступа
|
|||
---|---|---|---|
#18+
Predeclared Для каждой роли, после авторизации, создается свое меню приложения, элементы которого дают доступ к формам/отчетам, прописанным этой роли. Возможна настройка видимости/доступности некоторых элементов форм при их открытии, в зависимости от роли текущего пользователя. Ну то есть обобщенно оба предложенных мною варианта вместе но для стартовых форм, представляющих собой меню? А как организовать невидимость или недоступность вызываемых форм? Ну, чтобы особо любопытные непосредственно в Access в чужие формы не лезли? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2018, 06:05 |
|
Организация доступа
|
|||
---|---|---|---|
#18+
На всякий случай схема данных (неполная, несколько таблиц в базу еще не введены) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2018, 06:18 |
|
Организация доступа
|
|||
---|---|---|---|
#18+
Lekks, формы создаются для решения задачи и не зависят от группы пользователя и его роли, а на этой форме уже кнопки и пр. делаются доступными/видимыми в зависимости от роли. p.s. мне лично нравится динамическое построение форм, т.е. в общем случае есть одна форма на весь проект и она создается в зависимости от задачи и здесь может быть приплетена (изменение формы) и роль. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2018, 12:00 |
|
Организация доступа
|
|||
---|---|---|---|
#18+
aleckoLekks, формы создаются для решения задачи и не зависят от группы пользователя и его роли, а на этой форме уже кнопки и пр. делаются доступными/видимыми в зависимости от роли. ну вы уж тут переборщили со своей узкой категоричностью... если есть например режим ввода классификатора только для администраторов, то обычному юзеру незачем показывать пустую форму или форму с неактивными кнопками и полями... Более правильный и полный ответ (где есть и стратегия и тактика) был ранее... PredeclaredДля каждой роли, после авторизации, создается свое меню приложения, элементы которого дают доступ к формам/отчетам, прописанным этой роли. Возможна настройка видимости/доступности некоторых элементов форм при их открытии, в зависимости от роли текущего пользователя. Со вторым утверждением тоже не так всё просто, особенно для начинающего, можно сделать 10 обычных проектов за то время которое уйдет на изготовление и отладку динамической формы... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2018, 13:47 |
|
Организация доступа
|
|||
---|---|---|---|
#18+
Predeclared Для каждой роли, после авторизации, создается свое меню приложения, элементы которого дают доступ к формам/отчетам, прописанным этой роли. А поподробнее можно? или пример? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2018, 15:54 |
|
Организация доступа
|
|||
---|---|---|---|
#18+
На скрине: верхняя менюшка для регистраторов средняя менюшка для полного доступа нижняя менюшка для аналитиков ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2018, 21:58 |
|
Организация доступа
|
|||
---|---|---|---|
#18+
LekksНа всякий случай схема данных... Сомнения меня не обманули. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2018, 22:02 |
|
Организация доступа
|
|||
---|---|---|---|
#18+
PredeclaredLekksНа всякий случай схема данных... Сомнения меня не обманули. Ваши рекомендации? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2018, 11:58 |
|
Организация доступа
|
|||
---|---|---|---|
#18+
Predeclared, за информацию о меню приложения спасибо. До этого в литературе и в примерах не наталкивался. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2018, 12:06 |
|
Организация доступа
|
|||
---|---|---|---|
#18+
Lekks, а база mdb\mde или accdb? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2018, 12:34 |
|
Организация доступа
|
|||
---|---|---|---|
#18+
ОзверинLekks, а база mdb\mde или accdb? accdb ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2018, 12:38 |
|
Организация доступа
|
|||
---|---|---|---|
#18+
Lekks, создавать разные формы для одинаковых данных - довольно сложная в поддержке вещь. Приведу пример: есть две формы, которые(по сути у вас) реализуют доступ к одним и тем же данным, но выводят разные контролы. Вдруг, по какой то причине, обработка данных изменилась. Придется менять сразу две формы, а если групп больше - то и форм больше. У этого подхода есть плюс - такие формы проще менять, если изменения не касаются друг друга(других форм с аналогичными данными, но другими правами). Я бы выбрал все-таки вариант с одной формой(для одинаковых данных), и, в зависимости от типа группы: - все-таки не делал поля инвизбл, ибо это сильно влияет на внешний вид формы(пустые дыры в форме напрягают), а делал enabled=false - соответственно и контролы тоже enabled=false\true Я бы перестраивал пункты меню в зависимости от типа группы, скрывая абсолютно недоступные элементы, но - это вопрос такой. Перестройка меню при старте приложения - может отнимать время и вызывать странную реакцию самого акса(подергивания, например), что меня очень нервирует. Потому, права на работу в очередной форме вешал бы на Form_Open, а пункты меню оставлял бы на месте, до тех пор, пока не разобрался бы и не выделил время на "идеальное" поведение приложения при перестройке меню и до тех пор, пока вы не получите достаточно опыта, чтобы написать эту перестройку при старте. Насчет организации в таблице. Наверняка, всю систему трудно заточить на одни лишь данные(вставку в таблицу, чтение), потому что существуют разные аналитические отчеты, которые выводят много чего откуда - запутаетесь короче. Потому я считаю целесообразным давать права на формы (отчеты) в целом и внутри форм на конкретные возможности. Таблица таких прав, наверное, могла бы выглядеть так: id right_name right_value description1 ПроводкаНакладных True Возможность проводить накладные(Да/Нет) Лучше, конечно, подобные права сразу объединять как-нибудь в блоки по функиональному признаку, например. К примеру, все, что касается накладных - можно было найти по одной группе, но это уже такое. id group_name right_name right_value description1 ГруппаПравНакладные Проводка True Возможность проводить накладные(Да/Нет) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2018, 13:23 |
|
Организация доступа
|
|||
---|---|---|---|
#18+
ОзверинLekks, Я бы выбрал все-таки вариант с одной формой(для одинаковых данных), и, в зависимости от типа группы: - все-таки не делал поля инвизбл, ибо это сильно влияет на внешний вид формы(пустые дыры в форме напрягают), а делал enabled=false - соответственно и контролы тоже enabled=false\true права на работу в очередной форме вешал бы на Form_Open, а пункты меню оставлял бы на месте Спасибо, учту. Enabled действительно наверное предпочтительнее, к тому же различия в 5-6 элементах, "дырок" многовато будет ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2018, 13:35 |
|
Организация доступа
|
|||
---|---|---|---|
#18+
Еще по ходу вопрос: Runtime создается только изменением расширения файла? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2018, 14:41 |
|
Организация доступа
|
|||
---|---|---|---|
#18+
LekksЕще по ходу вопрос: Runtime создается только изменением расширения файла? по моему даже рантайм запустит такой вариант, если он будет удовлетворять всем условиям, но вообще - нет. http://www.databasedev.co.uk/microsoft-access-mde.html ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2018, 15:28 |
|
Организация доступа
|
|||
---|---|---|---|
#18+
Озверин http://www.databasedev.co.uk/microsoft-access-mde.html mde и accde в области переходов показывают все наполнение БД, в том числе прилинкованные таблицы. Мне же желательно чтобы области переходов вообще пользователи не видели. Как в рантайме ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2018, 16:26 |
|
Организация доступа
|
|||
---|---|---|---|
#18+
1. Делаешь ярлык на mdb-ху. 2. В самой базе создаешь макрос autoexec.mdb, в нем указываешь че надо по загрузке базы - вызов форм, какие-т заставки, расчеты и т.п. 3. Лезешь в менюху, "Параметры запуска" там вырубаешь все аксессные менюхи, дебуггер и т.п. ЧТоб запустить со всей этой лабудой надо во время загрузки удерживать шифт. Еще вот так нашел. Только через макрос обязательно? Или можно программно? И кусочек кода тогда если есть)))) Как мёд, так и ложкой )))) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2018, 16:44 |
|
Организация доступа
|
|||
---|---|---|---|
#18+
LekksЕще по ходу вопрос: Runtime создается только изменением расширения файла? Для начала вам нужно понять, что несмотря на то, что сам Акцесс и его vba относительно не сложные в освоении, но всё таки это не крекс-пекс-фекс ... MS Access - это программное обеспечение включающее среду разработки баз данных и интерфейсов к ним + среду выполнения проектов Access. RuntimeAccess - это тоже программное обеспечение, но в нем только среда выполнения проектов Access. Его скачивают и устанавливают при продаже продуктов баз данных если на стороне клиента нет Офиса и он не планирует его покупать от слова совсем. То есть RuntimeAccess это не "расширение" это тот же Акцесс, только в нем нельзя залезть в конструктор форм, отчетов и модулей ибо эта возможность оттуда вырезана. Lekks3. Лезешь в менюху, "Параметры запуска" там вырубаешь все аксессные менюхи, дебуггер и т.п. Еще вот так нашел. Только через макрос обязательно? Или можно программно? И кусочек кода тогда если есть)))) Не обязательно через макрос, там же (в "Параметры запуска") выбираешь форму для просмотра из своих готовых, от нее и начнутся все танцы, например с ввода пароля... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2018, 17:27 |
|
Организация доступа
|
|||
---|---|---|---|
#18+
Lekks, там все не просто, но закрыть можно. MSO какой? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2018, 17:43 |
|
Организация доступа
|
|||
---|---|---|---|
#18+
vmag Для начала вам нужно понять, что несмотря на то, что сам Акцесс и его vba относительно не сложные в освоении, но всё таки это не крекс-пекс-фекс ... Да это то понятно. Полгода пытаюсь изучать, но пожалуй и десятой части нюансов не видел))) И разницу между Access и RuntimeAccess тоже понимаю. Просто у забугорного товарища Мэтью Макдоналда прочитал про такой способ - изменение accdb на accdr, а другого способа в общем то и не знал))) vmagLekks3. Лезешь в менюху, "Параметры запуска" там вырубаешь все аксессные менюхи, дебуггер и т.п. Еще вот так нашел. Только через макрос обязательно? Или можно программно? И кусочек кода тогда если есть)))) Не обязательно через макрос, там же (в "Параметры запуска") выбираешь форму для просмотра из своих готовых, от нее и начнутся все танцы, например с ввода пароля... Я вообще-то вот это имел ввиду: 2. В самой базе создаешь макрос autoexec.mdb, в нем указываешь че надо по загрузке базы - вызов форм, какие-т заставки, расчеты и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2018, 17:54 |
|
Организация доступа
|
|||
---|---|---|---|
#18+
aleckoLekks, там все не просто, но закрыть можно. MSO какой? 2007 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2018, 17:56 |
|
Организация доступа
|
|||
---|---|---|---|
#18+
LekksЯ вообще-то вот это имел ввиду: 2. В самой базе создаешь макрос autoexec.mdb, в нем указываешь че надо по загрузке базы - вызов форм, какие-т заставки, расчеты и т.п. Я тоже это имел ввиду... - макросы не обязательны. - можно обойтись стартовой формой (например формой ввода пароля). Если пароль не ввели правильно, - приложение закрывается. Если пароль ввели правильно - открывается следующая форма - с меню, в состав которого входят режимы, соответствующие статусу пользователя, вам Predeclared выше картинок набросал ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2018, 18:25 |
|
|
start [/forum/topic.php?fid=45&msg=39724127&tid=1611051]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
133ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
66ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 262ms |
0 / 0 |