Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программирование, связанное с MS Office > VPF: авторизация админа/менеджера в БД


Автор: kervus 10.6.2016, 00:39
Всем доброго времени суток!
В своей БД MS Access, связанной с центрами слухопротезирования, я решил сделать форму авторизации для админа и для менеджера (пароли у этих двух типов пользователей разные, естественно).
Как это сделать - я слямзил с того сайта: http://archie-goodwin.net/load/specializirovannye_blogi/ms_office/forma_vkhoda_ms_access/28-1-0-211
Вся соль в том, что когда выбираю тип пользователя в выпадающем списке и ввожу пароль, то в ответ выскакивает окошко: "Администратор" (или "Менеджер") не распознаётся ядром СУБД (тип ошибки 3070).
Захожу в код-сценарий для кнопки "Далее" - а там жёлтым цветом подсвечена вот такая строка (смотрите скриншот).
В чём ошибка здесь, уважаемые господа?

Автор: Akina 10.6.2016, 08:57
Цитата(kervus @  10.6.2016,  01:39 Найти цитируемый пост)
В чём ошибка здесь

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

Автор: kervus 10.6.2016, 21:15
Цитата(Akina @ 10.6.2016,  08:57)
Цитата(kervus @  10.6.2016,  01:39 Найти цитируемый пост)
В чём ошибка здесь

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

Так же кавычки в выделенной строчке присутствуют?

Автор: Akina 10.6.2016, 22:00
Мало прочитать ответ, его ещё и понять бы... речь не о кавычках в VBA-коде.

Автор: kervus 11.6.2016, 09:16
Цитата(Akina @ 10.6.2016,  22:00)
Мало прочитать ответ, его ещё и понять бы... речь не о кавычках в VBA-коде.

Да, ответ ваш я не очень понял.
Не можете ли поподробней объяснить его мне, тёмному ослику?  smile

Автор: kervus 11.6.2016, 19:17
Всем спасибо за внимание!

Оказывается, эту строчку надо было написать так:
.FindFirst ("Должность='" & Me.cboCurrentEmployee.Value & "'")

Всё дело в апострофе, Карл!

Прошу тему считать закрытой.

Автор: Akina 14.6.2016, 09:01
Цитата(kervus @  11.6.2016,  20:17 Найти цитируемый пост)
Всё дело в апострофе

Угу. Выражение, которое составлено, без изменений вставляется в запрос в секцию WHERE. А раз туда подставляется текстовый литерал, он должен быть обрамлён кавычками. Одинарными или двойными, неважно, драйвер доступа заменит, если что. Вы выбрали одинарные ака апострофы - нормально.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)