Как получить мой текущий логин пользователя в формах MS Access - PullRequest
0 голосов
/ 22 января 2012

У меня начальный вход в форму для проверки данных пользователя для доступа к моей базе данных MS Access.

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

Так что я исследовал это, но не смог получить полезный сценарий - Могут ли некоторые помочь мне, как я могу получить эти детали .. Спасибо!

Ответы [ 3 ]

1 голос
/ 23 января 2012

Хотя подход API @Remou предлагает работу, я перешел к этому методу

Public Function GetUserName() As String
    Dim wshNet As Object
    Set wshNet = CreateObject("WScript.Network")
    GetUserName = wshNet.UserName
    Set wshNet = Nothing
End Function

Я считаю, что он более надежен, чем вызов API

1 голос
/ 23 января 2012

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

Чтобы скрыть форму с именем frmLogin:

DoCmd.OpenForm "frmLogin",acNormal,,,,acHidden

или

DoCmd.OpenForm "frmLogin",acNormal,WindowMode:=acHidden

Если скрытый frmLogin включает в себя текстовое поле с именем txtUserName, вы можете проверить его значение следующим образом:

Debug.Print Forms!frmLogin!txtUserName

Я основал этот ответ на предположении, что вы создали собственную структуру безопасности в приложении базы данных Access.Но этот момент неясен.Если вы используете Access ULS (безопасность на уровне пользователя), для которого требуется база данных более старого формата MDB, функция CurrentUser (), о которой упоминал Мэтт, даст вам имя безопасности доступа для пользователя.Однако, если вы используете именно такой подход, я не понимаю, зачем вам нужна отдельная форма для входа.

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

0 голосов
/ 22 января 2012

Запишите зарегистрированного пользователя в общедоступную переменную после проверки, а затем вы можете проверить это с помощью команды "CurrentUser ()", чтобы увидеть, совпадают ли они в следующей форме.

ПРИМЕЧАНИЕ. Используйте этот метод, только еслиу каждого пользователя есть своя копия внешнего интерфейса (не используйте, если все используют один и тот же интерфейс, хотя с хорошей практикой этого не должно быть)

...