|
Форма входа
|
|||
---|---|---|---|
#18+
В шаблонной базе данных Борей, есть форма которая меня заинтересовала - "Окно входа" Суть ее в том что она выскакивает при входе в базу данных и предлагает из списка сотрудников выбрать от имени кого зайти. При чем, для разных людей, из-за должности которую они занимают и очевидно для их потребностей, после подтверждения в форме "Окно входа" выскакивает новая форма состоящая из нескольких связанных подчиненных форм, и опять таки для разных людей из списка выскакивает разная информация. Мне в голову пришла идея оптимизировать эту форму и внедрить в нее еще и пароль. Есть таблица со списком сотрудников и должностей которые они занимают и таблица со списком паролей, связь таблиц возможна по уникальному айди сотрудника. В результате нужно чтобы выбрав из раскрывающегося списка сотрудника и введя ниже в текстовое поле пароль, пользователь при нажатии кнопки "ОК" прошел проверку на правильность пароля и в зависимости от пользователя открывалась форма, которая бы содержала нужную для пользователя информацию. Для реализации задуманного я понимаю, что мне не достаточно просто конструктора, а полностью синтаксис SQL я еще не изучил, а что-то просто еще не знаю, поэтому не понимаю некоторые вопросы, которые перечислю ниже. 1. Внешне я форму через конструктор и макет настроил, но нигде в свойствах обьекта не нашел поля которое бы отвечало за открытие этой формы при входе в базу данных. Собственно, вопрос в том, что нужно сделать чтобы форма запускалась при входе в базу данных? 2. Как связать выпадающий список пользователей, которые берет список полей из таблицы "Пользователи" с текстовым полем для пароля, который должен совпадать с выбранным пользователем? На сколько я понимаю, связь опять таки должна осуществляться через таблицы и их ключевое поле айди пользователя, а прописываться это должно по идее в каком-то из способов обработки событий для кнопки "ОК". 3. Ну и наконец, чтобы для пользователя с такой-то должностью открывалась такая-то форма. Опять таки на сколько я понимаю это должно прописываться в обработчике событий кнопки "ОК" Собственно, что именно надо прописать и может быть дадите еще пару каких-то советов по теме. Заранее спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2011, 11:35 |
|
Форма входа
|
|||
---|---|---|---|
#18+
AleX_X89, вот то, что Вам нужно - изучите Разграничение прав доступа ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2011, 11:46 |
|
Форма входа
|
|||
---|---|---|---|
#18+
WRX, это несколько не то что я спрашивал. Я задал конкретные вопросы в которых бы мне хотелось разобраться. Хотя чтиво которое вы предоставили, меня тоже заинтересовало, за что и спасибо :) Но в целом, вопрос остается открытым. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2011, 12:36 |
|
Форма входа
|
|||
---|---|---|---|
#18+
AleX_X89, Задачка, конечно, интересная... Но вот пара вопросиков: а что произойдет, если вдруг в таблице, в которой содержатся данные о сотрудниках вдруг исчезнут записи? Или сама таблица накроется? Или если возникнет необходимость запустить БД сотруднику, информации о котором в таблицах БД нет? Как тогда будет возможно осуществить вход? Чем Вас не устраивают штатные возможности Аксесса? На крайний случай можно всегда замутить привязку, сделав поле "Имя_для_пользователя" в таблице "Сотрудники"... P.S. просто я тоже в свое время мудрил, мудрил, пока понял, что не стоит изобретать велосипед. Штатная защита вполне для этого годится...;) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2011, 13:21 |
|
Форма входа
|
|||
---|---|---|---|
#18+
AleX_X89В шаблонной базе данных Борей, есть форма которая меня заинтересовала - "Окно входа" В окне БД - Сервис->Параметры запуска->Вывод формы/страницы..... Выбирайте, какую форму хотите запускать при открытии БД... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2011, 13:23 |
|
Форма входа
|
|||
---|---|---|---|
#18+
AleX_X892. Как связать выпадающий список пользователей, которые берет список полей из таблицы "Пользователи" с текстовым полем для пароля, который должен совпадать с выбранным пользователем? На сколько я понимаю, связь опять таки должна осуществляться через таблицы и их ключевое поле айди пользователя, а прописываться это должно по идее в каком-то из способов обработки событий для кнопки "ОК". Ну вот, как-то так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2011, 13:40 |
|
Форма входа
|
|||
---|---|---|---|
#18+
AleX_X893. Ну и наконец, чтобы для пользователя с такой-то должностью открывалась такая-то форма. Опять таки на сколько я понимаю это должно прописываться в обработчике событий кнопки "ОК" Там где я сказал, прописывать "все что душе угодно": Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2011, 13:52 |
|
Форма входа
|
|||
---|---|---|---|
#18+
Wipeout2097Задачка, конечно, интересная... Но вот пара вопросиков: а что произойдет, если вдруг в таблице, в которой содержатся данные о сотрудниках вдруг исчезнут записи? Или сама таблица накроется? Или если возникнет необходимость запустить БД сотруднику, информации о котором в таблицах БД нет? Как тогда будет возможно осуществить вход? Чем Вас не устраивают штатные возможности Аксесса? На крайний случай можно всегда замутить привязку, сделав поле "Имя_для_пользователя" в таблице "Сотрудники"... P.S. просто я тоже в свое время мудрил, мудрил, пока понял, что не стоит изобретать велосипед. Штатная защита вполне для этого годится...;) Форма входа нужна для удобства юзверов и чтобы не нагружать их лишней информацией. Что касается админа, то чтобы обезопаситься в приведенной вами ситуации, вполне можно создать дополнительную базу данных, в которой будут лишь две таблицы: с тем же персоналом и с паролями, которые будут ссылаться на рабочую базу данных. И в случае необходимости всегда будет возможность изменить записи в таблицах обходя форму входа рабочей базы данных. Кроме того я не хочу создавать ограничение прав для юзеров. Я хочу нечто другое... Хочу создать разделенные формы с подчиненными формами для каждой группы работников, в каждую из форм вставить все что нужно: ссылки и кнопки на требуемые отчеты и формы для работы той или иной должностной группы пользователей. Таким образом получается что я создам пользовательский интерфейс при этом не закрывая так сказать исходный код, но по большому счету любому пользователю будет незачем просматривать все отчеты, фомы и запросы базы в поисках непонятно чего, так как у него все будет нужно у него перед глазами. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2011, 13:54 |
|
Форма входа
|
|||
---|---|---|---|
#18+
AleX_X892. Как связать выпадающий список пользователей, которые берет список полей из таблицы "Пользователи" с текстовым полем для пароля, который должен совпадать с выбранным пользователем? На сколько я понимаю, связь опять таки должна осуществляться через таблицы и их ключевое поле айди пользователя, а прописываться это должно по идее в каком-то из способов обработки событий для кнопки "ОК". 3. Ну и наконец, чтобы для пользователя с такой-то должностью открывалась такая-то форма. Опять таки на сколько я понимаю это должно прописываться в обработчике событий кнопки "ОК" ничего ни с чем связывать не нужно, нужно по клику ОК попытатся выбрать должность по введённым Логин и Пароль если выборка вернёт запись - значит фиксируете где-то Логин пользователя и его Должность перестраиваете меню под эту должность и открываете форму для этой должности типа так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2011, 14:03 |
|
Форма входа
|
|||
---|---|---|---|
#18+
Wipeout2097В окне БД - Сервис->Параметры запуска->Вывод формы/страницы..... Выбирайте, какую форму хотите запускать при открытии БД... Спасибо) Разобрался с этим. У кого MS Access 2007, Кнопка "Оффис"/ Параметры Access / Текущая база данных / Форма просмотра (выбрать из списка) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2011, 14:06 |
|
Форма входа
|
|||
---|---|---|---|
#18+
Всем спасибо, буду пробовать оба варианта. Позже отпишусь получилось или нет. ПС. если будут еще какие-то советы, то был бы рад их выслушать. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2011, 14:28 |
|
Форма входа
|
|||
---|---|---|---|
#18+
Код: plaintext
Wipeout2097, можно подробнее обьяснить синтаксис этой строчки, так как на ней выдает ошибку. Что мы ищем?) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2011, 18:22 |
|
Форма входа
|
|||
---|---|---|---|
#18+
AleX_X89выдает ошибку Какую??? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2011, 18:35 |
|
Форма входа
|
|||
---|---|---|---|
#18+
Wipeout2097, разобрался со всем. Спасибо большое! :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2011, 18:53 |
|
Форма входа
|
|||
---|---|---|---|
#18+
Владимир Саныч, авторMethod or data member not found С этим разобрался) просто нужно было указать название выпадающего поля вместо ID в строчке Код: plaintext
Еще один момент... все работает в смысле идет отбор и по пользователям и по паролю, а также открывает форму для выбраного пользователя при условии такой-то должности, но есть небольшой казус... форма входа остается открытой после клика по кнопке "ОК" и открытия нужной формы. Очевидно нужна строчка с прописью закрытия формы... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2011, 19:02 |
|
Форма входа
|
|||
---|---|---|---|
#18+
AleX_X89... Еще один момент... все работает в смысле идет отбор и по пользователям и по паролю, а также открывает форму для выбраного пользователя при условии такой-то должности, но есть небольшой казус... форма входа остается открытой после клика по кнопке "ОК" и открытия нужной формы. Очевидно нужна строчка с прописью закрытия формы... 11109675 9-тая снизу ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2011, 19:09 |
|
Форма входа
|
|||
---|---|---|---|
#18+
ё9-тая снизу Код: plaintext
Код: plaintext
Ну в общем, банальность, но при имени формы Welcome не работает ни первый вариант Код: plaintext
ни второй Код: plaintext
при выполнении скрипта, пишет что обьект не найден Погуглил немного и нашел как бы фак по случаю http://am.rusimport.ru/msaccess/topic.aspx?ID=728 там выложено три разных варианта прописи в VB При чем выскакивает та же проблема, хоть и ошибка уже другая, в варианте 2 и 3, то есть соответсвенно: Код: plaintext
Код: plaintext
Run-time error "424" object required Помог только первый вариант: Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2011, 11:03 |
|
Форма входа
|
|||
---|---|---|---|
#18+
То есть. вопрос заключается в том как правильно определить имя формы и как нужно прописывать это в способах по закрытию формы которые возможны но у меня почему-то не получились. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2011, 11:07 |
|
Форма входа
|
|||
---|---|---|---|
#18+
Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2011, 11:09 |
|
Форма входа
|
|||
---|---|---|---|
#18+
askerli, отобраную форму по должности открывает, но текущую, а именно форму входа не закрывает. То есть все так словно этой строчки вообще нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2011, 11:22 |
|
Форма входа
|
|||
---|---|---|---|
#18+
хотя если форма называется Welcome Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2011, 11:32 |
|
Форма входа
|
|||
---|---|---|---|
#18+
askerliхотя если форма называется Welcome Код: plaintext
Спасибо, работает, только теперь получается эту команду нужно вставлять после отбора, то есть в целом выглядит так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2011, 12:03 |
|
Форма входа
|
|||
---|---|---|---|
#18+
AleX_X89ё9-тая снизу Код: plaintext
Код: plaintext
Ну в общем, банальность, но при имени формы Welcome нужно было просто так и написать Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2011, 12:09 |
|
|
start [/forum/topic.php?fid=45&fpage=57&tid=1611711]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
43ms |
get topic data: |
17ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 180ms |
0 / 0 |