Invest-currency.ru

Как обезопасить себя в кризис?
2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Форма авторизации access

Archie Goodwin

Авторизация

Рубрики блога

  • Public / Общие темы
    • Новость + Мнение
    • Размышления
    • Уроки или советы
    • Это интересно
    • Юмор
    • Креатив
    • Рецензия
    • Личность
    • Притчи, истории
    • Новости сайта
  • Special / СпецРубрики
    • Записки вебмастера
    • Вопрос дизайна
    • Мой ПК
    • MS Office и VBA
    • Прочие офисные программы
  • Diary / Личный дневник
    • Дневник

Рекомендуем

Последние комментарии

Облако тегов

Устами великих

Реклама

Форма входа (MS Access)

Суть в том, что бы создать форму выскакивающую при входе, в которой бы были поле выпадающего списка для выбора сотрудника, поле для ввода пароля и соответственно кнопка «ОК». Но это не просто форма для безопасности. Еще должна быть привязка к должности пользователя. Так, после подтверждения правильности ввода данных, должна открываться форма со множеством подчиненных форм и кнопок на отчеты и запросы, при чем эта форма должна быть разной для каждой должности. Таким образом, получается что будет создан пользовательский интерфейс при этом не закрывая, так сказать, исходный код, но по большому счету, любому пользователю будет незачем просматривать все отчеты, фомы и запросы базы в поисках непонятно чего, так как у него все будет нужно у него перед глазами.

Самое первое что нужно, так это таблица с сотрудниками (или пользователями) со столбцами где указаны их имя, должность и пароль.

Потом создаем новую форму с помощью конструктора. Внешне можно настраивать как угодно, но обязательно должно быть поле с выпадающим списком, текстовое поле для ввода пароля и кнопка подтверждения. Вот что получилось у меня

Чтобы форма открывалась сразу же при запуске базы данных, необходимо

Соответственно для поля выпадающего списка нужно сделать привязку «источника строк» к полям таблицы «Персонал» (ну или пользователи) и выбрать такие поля как ID (уникальный номер для каждого сотрудника), Имя (в нашем случае поле называется ФИО) и Должность

При желании можно также выставить сортировку по интересующему полю, либо по ID, тогда пользователи будут отображаться по мере поступления на работу, можно по Имени, а можно сделать сортировку по должностям.

Далее выделяем кнопку «ОК» в конструкторе и ищем поле в событиях «Нажатие кнопки», выбирая [Процедура обработки событий] переходим в Visual Basic и прописываем следующий сценарий для кнопки, который будет работать по клику:

PS код уже с комментариями относительно его содержания

Собственно как бы все, задумка реализована. Теперь чтобы создать действительно пользовательский интерфейс нужно создать актуальные и необходимые формы для каждой должности и вставить в необходимую часть кода указанного выше.

Не получается. Выдает ошибку, что операция не поддерживается для обьектов этого типа.

Проблемная строка:
.FindFirst («ID=» & Me.cboCurrentEmployee.Value)

Решение найдено!

в 5 строке добавляем dbOpenDynaSet

Private Sub cmdLogin_Click()
Dim rst As DAO.Recordset
Set rst = CurrentDb.OpenRecordset(«Сотрудники», dbOpenDynaSet )
With rst
If IsNull(Me.cboCurrentEmployee.Value) Then
MsgBox «Ошибка входа! Выберите пользователя.»
Exit Sub

О сайте

«Понемногу обо всем и все, о немногом» — именно такой слоган, по-видимому, является наилучшим определением тематики блога. Здесь пишу о том, что для меня интересно или важно, собственно, поэтому разброс тематик очень широк – от размышлений на философские темы и смешных историй, до конкретных инструкций или анализа событий.

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

Записки вебмастера – рубрика, которая призвана собрать коллекцию полезных скриптов и авторских решений, интересных особенностей и стандартов верстки, решение вопросов юзабилити и функционала, полезных ресурсов и программ.

Вопрос дизайна – это актуальные тренды, пошаговые и видео-уроки в фотошопе, необходимые плагины для фоторедакторов, векторные и PSD исходники, PNG иконки и GIF анимации, кириллические шрифты с засечками и без засечек, заливки (паттерны) и градиенты.

Мой ПК – каждая статья в этой рубрике направлена на то, чтобы узнать свой компьютер лучше. Здесь можно будет почитать о системных процессах и редактировании системного реестра, о способах защитить личные данные и компьютер в целом, о настройке локальной сети и подключениях к сети интернет, обзор ряда программ, которые делают работу за компьютером удобнее, быстрее и приятнее.

MS Office и VBA – эта рубрика содержит интересные решения, малоизвестные функции и возможности, надстройки и макросы, в общем, все то, что может сделать вашу работу в пакете программ MS Office (в первую очередь — Excel, Word, Access, PowerPoint) более эффективной.

Прочие офисные программы – рубрика о программах для ведения учета (конфигурации, платформы, внешние отчеты для 1C), сдачи отчетности (MeDoc, БестЗвіт) и статистического анализа данных (SPSS), также здесь можно найти обзоры программного обеспечения для работы с периферийными устройствами. Свернуть

Запуск приложения через форму авторизации

В этой статье рассмотрим один из способов защиты приложения Access. Речь пойдет о входе в базу через ввод пароля, или говоря иначе — авторизация. В Access предусмотрена возможность задать пароль на базу данных: Сервис — Защита — Задать пароль базы данных . Однако сам пароль хранится в системном реестре в незашифрованном виде, и чтобы открыть такую защищенную базу, достаточно лишь зайти в реестр и прочитать его. Мы же попробуем создать аналогичный интерфейс, но уже с зашифрованным паролем, причем сделаем так, чтобы при попытке открыть форму, если пользователю удалось войти в базу, минуя стартовую форму авторизации, база аварийно закрывалась.

Читать еще:  Header add access control allow origin

Для этого нам понадобится в служебной таблице, например tAdminCop, завести поле Password, в котором будем хранить пароль, а так же модуль шифрования пароля — AdminPassword.

Схема авторизации следующая:

При старте приложения запускается форма авторизации formAdmPassword, в которой вводим пароль

Пароль считывается, шифруется и сравнивается с зашифрованным паролем в поле таблицы tAdminCop

Если пароли совпадают, то открывается стартовая форма приложения, если нет — выход из приложения.

В модуле Constants задана константа логического типа. При правильном пароле она принимает значение True, при ложном (по умолчанию) — соответственно False. В событие формы frmStart есть такая процедура:

Private Sub Form_Open(Cancel As Integer)
If flgEnabled = False Then
DoCmd.Quit acPrompt
End If
End Sub

Как видно, если flgEnabled = False, то, стало быть, выход из приложения. Таким образом, и делается невозможность открытия формы без ввода пароля. Если аналогичные процедуры повесить на остальные формы, отчеты, то единственной лазейкой для «врагов» останутся только таблицы, у которых, к сожалению, нет никаких событий, которые можно бы было перехватить. Единственной защитой для них будет скрытие окна приложения и установка защиты от Shift.
Очевидно, что такая авторизация эффективна лишь в том случае, когда «врагам» нет хода к исходному коду модулей, иными словами база преобразована в формат .mde. Вообще, основа любой защиты приложений Access — это .mde формат. Действительно, вздумай Вы защищать подобным образом .mdb, любой мог бы просто открыть модуль Constants и прописать там

Public Const flgEnabled = True

И все, никакой защиты.

Защита шифрованием пароля будет зависеть от сложности шифрования. Я показал лишь простейший пример (модуль AdminPassword). Вообще, стоит поискать в Интернете, или попытаться придумать самому более хитрый (стойкий) алгоритм шифрования.
Итак, проведем испытание:

Запускаем приложение. Появляется форма авторизации. Вводим 123456, жмем ввод — открывается стартовая форма. Теперь попробуем открыть форму frmStart без ввода пароля. Запускаем приложение, удерживая Shift — открывается окно проекта Access. Пытаемся запустить frmStart — приложение закрывается.
Если теперь добавить в нашу программу защиту от Shift, то приложение станет еще более «неприступным».

Используя защиту от Shift и вход через форму авторизации, можно здорово попортить нервы всем любителям лазить куда не следует. Но допустим, Вы решите установить (продать) свою программу кому — либо. Как сделать так, чтобы он не смог распространять ее без Вашего ведома? Иными словами, как организовать сервис регистрации программы ? Об этом в следующей статье.

Пример, как это все работает, Вы можете скачать ниже.

Практическая работа Защита данных в среде MS Access с помощью создания формы «Авторизация»

V Международный дистанционный конкурс «Старт»

Низкий оргвзнос 30р

Идёт приём заявок

Для учеников 1-11 классов и дошкольников

Наградные и подарки

Защита данных в среде MS Access с помощью создания формы «Авторизация»

Цель работы : ознакомиться со способом защиты базы данных с помощью создания формы авторизации пользователей.

Персональный компьютер (ПК);

Программное обеспечение ПК – программа Microsoft Access ;

Методические рекомендации по выполнению Практической работы.

Открыть созданную ранее БД

Создать новую форму «Авторизация» с помощью Конструктора форм

Добавить на форму 2 поля Элемент поле

Добавьте на форму 1 кнопку «ОК»

Оформите форму как указано на рисунке:

Форма в режиме «Конструктор»

Форма в режиме Форма

Измените название полей , для этого откройте их свойства (нажмите правой кнопкой мыши на поле и выберите «Свойства», перейдите на вкладку «Другие» и для логина введите название « login », для пароля « parol »)

Нажмите правой кнопкой мыши на созданную Вами кнопку «ОК» и выберите «Обработка событий»

На месте курсора введите код программы на языке VBA (пример программы ниже)

На месте «Ваше_имя» введите ваше имя , на месте «Другое_имя» введите любое другое имя.

На месте «Название_формы» и «Название_другой_формы» введите название любой формы из созданных ранее.

DoCmd.Close acForm, « авторизация «

ElseIf Me.parol = «555» And Me.login = « Другое _ имя » Then

DoCmd.Close acForm, « авторизация «

Else: MsgBox «Введите пароль заново»

Чтобы перейти на форму нажмите кнопку в крайнем левом углу окна:

Проверьте работу формы «Авторизация»:

Введите данные, которые Вы указали в программе «Ваше имя» и пароль 333 и нажмите кнопку «ОК»

Введите неверные данные, что произойдет?

Отчет по практической работе:

Зафиксируйте в тетради название работы, цель, оборудование и кратко запишите ход выполнения работы, напишите вывод;

Продемонстрируйте свою работу преподавателю.

Чтобы скачать материал, введите свой E-mail, укажите, кто Вы, и нажмите кнопку

Нажимая кнопку, Вы соглашаетесь получать от нас E-mail-рассылку

Если скачивание материала не началось, нажмите еще раз «Скачать материал».

  • Информатика

В данной работе содержится инструкция по созданию формы «Авторизация», которая будет являться начальной формой при открытии базы данных.

Созданная форма позволяет разграничить права доступа к информации, хранящейся в базе данных с помощью ввода логина и пароля пользователя. Работа помогает закрепить теоретические навыки создания форм в базе данных, а также познакомиться с языком программирования Visual Basic for Applications (VBA).

Создание форм в Access

Создание форм для вашей базы данных может сделать ввод данных намного более удобным. Когда вы создаете форму, вы можете создать ее таким образом, чтобы она работала с вашей базой данных и имела смысл для вас. На этом уроке вы узнаете, как создавать и изменять формы. Вы также узнаете, как использовать параметры формы, такие как элементы управления дизайном и свойства формы, чтобы убедиться, что ваша форма работает именно так, как вы этого хотите.

Читать еще:  Перечислите объекты access

Создание форм

Access упрощает создание формы из любой таблицы в вашей базе данных. Любая форма, которую вы создаете из таблицы, позволит вам просматривать данные, которые уже есть в этой таблице, и добавлять новые данные . После того, как вы создали форму, вы также можете изменить ее, добавив дополнительные поля и элементы управления дизайном, такие как комбинированные поля.

Чтобы создать форму:

  1. В панели навигации, выберите таблицу, которую нужно использовать, чтобы создать форму. Вам не нужно открывать таблицу.
  2. Выберите вкладку «Создать» на ленте и найдите группу «Формы». Нажмите команду «Форма».
  3. Ваша форма будет создана и открыта в виде макета.
  4. Чтобы сохранить форму, нажмите кнопку «Сохранить» на панели быстрого доступа. При появлении запроса введите имя для формы и нажмите «ОК».

О подформах

Если вы создали форму из таблицы, записи которой связаны с другой таблицей, ваша форма, вероятно, включает в себя подчиненную форму . Подформация представляет собой форму данных, которая отображает связанные записи в табличном формате. Например, подформация, включенная в форму «Клиенты», которую мы только что создали, отображает связанные заказы клиентов.

Вероятно, нам не нужно включать эту подформу, потому что мы просто хотим использовать форму «Клиенты» для ввода и просмотра контактной информации. Если вы обнаружите, что вам не нужна подформация, вы можете легко удалить ее. Просто нажмите его и нажмите клавишу «Удалить».

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

Добавление дополнительных полей в форму

Когда вы используете команду Form в существующей таблице, все поля из этой таблицы включены в эту форму. Однако, если позже вы добавите дополнительные поля в эту таблицу, эти поля автоматически не появятся в существующих формах. В подобных ситуациях вы можете добавить дополнительные поля в форму.

Чтобы добавить поле в форму:

  1. Перейдите на вкладку «Конструктор компоновки форм», затем найдите группу «Инструменты» в правой части ленты.
  2. Нажмите команду «Добавить существующие поля».
  3. Появится панель списка полей. Выберите поле или поля для добавления в форму.

Если вы хотите добавить поле из той же таблицы, которую вы использовали для создания формы, дважды щелкните имя нужного поля.

Чтобы добавить поле из другой таблицы:

  1. Нажмите «Показать все таблицы».
  2. Щелкните знак плюса + рядом с таблицей, содержащей поле, которое вы хотите добавить.
  3. Дважды щелкните нужное поле.
  4. Будет добавлено новое поле.

Вы также можете использовать описанную выше процедуру, чтобы добавить поля в совершенно пустую форму. Просто создайте форму, нажав команду «Пустая форма» на вкладке «Создать», а затем выполните указанные выше шаги, чтобы добавить нужные поля.

Добавление элементов управления дизайном

Элементы управления дизайном устанавливают ограничения для полей в ваших формах. Это поможет вам лучше контролировать, как данные вводятся в ваши формы, что, в свою очередь, помогает поддерживать целостность вашей базы данных.

Комбинированные поля

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

Комбинированные поля полезны для полей, которые имеют ограниченное число возможных действительных ответов. Например, вы можете использовать поле со списком, чтобы люди только вводили действительное состояние США при вводе адреса или что они выбирают только продукты, которые уже существуют в вашей базе данных при размещении заказа.

Чтобы создать поле со списком:

  1. В представлении «Макет формы» выберите вкладку «Дизайн макета форм» и найдите группу «Элементы управления».
  2. Выберите команду Combo Box, которая выглядит как раскрывающийся список.
  3. Ваш курсор превратится в крошечный значок перекрестия и выпадающего списка . Переместите курсор в место, где вы хотите вставить поле со списком, затем нажмите. Появится желтая строка, указывающая место, где будет создано ваше поле со списком.
    • В нашем примере, поле со списком будет расположен между в город поле и добавить в список рассылки.
  4. Появится диалоговое окно Combo Box Wizard . Выберите второй вариант, я наберу нужные значения и нажмите «Далее».
  5. Введите варианты, которые вы хотите отобразить в раскрывающемся списке. Каждый выбор должен быть в отдельности.
    • В нашем примере мы создаем поле со списком для добавления в список рассылки? поле в нашей форме, поэтому мы введем все возможные допустимые ответы для этого поля. Пользователи смогут выбрать один из трех вариантов из готового комбинированного поля: Нет, Да-Еженедельно и Только специальные предложения.
  6. При необходимости измените размер столбца, чтобы весь текст был виден. После того, как вы удовлетворены своим списком, нажмите «Далее».
  7. Выберите магазин, что значение в этом поле, а затем нажмите на стрелку раскрывающегося списка и выберите в поле, где вы хотите выбор из комбо — поля для записи. После выбора нажмите «Далее».
  8. Введите метку или имя, которое будет отображаться рядом с вашим полем со списком. Как правило, рекомендуется использовать имя поля, которое вы выбрали на предыдущем шаге.
  9. Нажмите «Готово» Ваше поле со списком появится в форме. Если вы создали свое поле со списком для замены существующего поля, удалите первое поле.
    • В нашем примере вы можете заметить, что теперь у нас есть два поля с тем же именем. Эти два поля отправляют информацию в одно и то же место, поэтому мы не нуждаемся в них обоих. Мы удалим его без поля со списком.
  10. Перейдите в режим просмотра формы, чтобы протестировать поле со списком. Просто нажмите стрелку раскрывающегося списка и убедитесь, что список содержит правильные варианты. Теперь поле со списком можно использовать для ввода данных.
Читать еще:  Eaccessviolation перевод на русский

Если вы хотите включить раскрывающийся список с длинным списком параметров и не хотите вводить их все, создайте поле со списком и выберите первый вариант в мастере со списком, я хочу получить значения из другой таблицы или запроса. Это позволит вам создать раскрывающийся список из поля таблицы.

Некоторые пользователи сообщают, что Access работает при работе с формами. Если у вас возникла проблема с выполнением любой из этих задач в представлении «Макет», попробуйте переключиться на «Дизайн».

Настройка параметров формы в Листе свойств

Лист свойств — это панель, содержащая подробную информацию о вашей форме и каждом ее компоненте. Из листа свойств вы можете вносить изменения в каждую часть своей формы, как с точки зрения функции, так и внешнего вида. Лучший способ ознакомиться с Листом свойств — открыть его и выбрать различные варианты. При выборе опции Access будет отображать краткое описание этой опции на нижней левой границы окна программы.

Изменение настроек формы

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

Create Login Form: MS Access

How to Create Login Form for MS Access

Before creating a Login Form, you need to set up a table that can verify the login ID and password on the Login Form. The step of creating Login Form can be followed below:

1. Create a table tblSecurityLevel with a SecurityID and SecurityLevel field and add Admin for SecurityID =1 and User for SecurityID =2

2. Create a table tblWorker with a LoginID, Password and UserType fields. On my database, I setup a table tblWorker that has a UserType field links to a table tlbSecurityLevel. So the data type of a UserType field is number because it refers to the SecurityID (Autonumber) in the tblSecurityLevel table above. You can create the UserType field from the Lookup Wizard on the dropdown of Data Type column.

3. Create a Login Form from the Dialog form design. Then customize the form such as resize, change caption or name form.

4. Input two text boxes in the Login Form as txtUserName with label Login ID and txtPassword with label Password

5. Under On Click Event of the Cancel button, add the Embadded Macro with a QuitAccess command to exit the program or Access application

6. Under On Click Event of the OK button, add the VBA code below under the Event Procedure

How the code above works

  1. Verify if the Login ID and Password both are entered. If not, show a message to enter a Login ID or Password.
  2. If both Login ID and Password are entered, then verify with table tblWorker if they match.
  3. If matching, then check if the login user has a temp password = “password”, if yes then close Login Form and open form “frmworkerinfo” to change their password
  4. If a password is not “password” then verify if the login user is Admin or User.
  5. If is a Admin, then close Login Form and open a Navigation Form
  6. If is a user then close Login Form and open a Navigation Form, but disable the Admin button on the navigation bar (NavigationButton13.Enabled = False)

7. Set a Login Form as a display form when open a database program on the Quick Access Option:

8. On the Navigation Form, create two textboxes and name it as txtLogin and txtUser. If the Login ID and password are correct then will open Navigation Form and pass the Login ID to txtLogin and pass workername to txtUser with code below:

9. If you have a first of Navigation Form is refer to the Login Id or User, it will show the Login user right away unless you click on that tab to refresh data. In this HowTo, I put the BrowseTo command to refresh the first page of Navigation Form because I have a greeting message to the Login user show below:

Ссылка на основную публикацию
ВсеИнструменты 220 Вольт
Adblock
detector