在Microsoft Access 2013中,如何访问当前ODBC连接的用户名?

时间:2013-08-30 14:41:53

标签: ms-access ms-access-2013

我正在Microsoft Access 2013中构建一个使用MySQL作为后端的系统。我想有一个表单,其中当前登录到MySQL数据库的用户的用户名是输入字段的默认值。我尝试使用CurrentUser()函数来执行此操作,但似乎总是返回“Admin”。

所以我猜这里确实有两个问题:

  1. 有没有办法从Access 2013中访问登录MySQL服务器的用户的用户名?

  2. 如果没有,我该如何控制CurrentUser()的用户名?在这个系统中,我能够区分系统的不同用户并且不是每个人都只是显示为“管理员”,这一点非常重要。

  3. 有可能有更好的方法来完成我的要求,我甚至不知道要问的正确问题,如果是这样,请告诉我。

    谢谢!

1 个答案:

答案 0 :(得分:2)

在Access中创建一个“传递”查询,该查询使用与MySQL的ODBC连接,并向MySQL询问当前用户的名称。

SELECT CURRENT_USER();

该查询将按原样执行(意味着不涉及Access数据库引擎),然后在Access中提供查询结果。

VBA CurrentUser()函数检索Access安全帐户名称。除非您使用的ULS(用户级安全性)仅适用于较旧的MDB数据库格式,否则安全帐户将始终为“Admin”。所以它通常不是很有用,对你在这里需要的东西肯定没用。