我正在Microsoft Access 2013中构建一个使用MySQL作为后端的系统。我想有一个表单,其中当前登录到MySQL数据库的用户的用户名是输入字段的默认值。我尝试使用CurrentUser()函数来执行此操作,但似乎总是返回“Admin”。
所以我猜这里确实有两个问题:
有没有办法从Access 2013中访问登录MySQL服务器的用户的用户名?
如果没有,我该如何控制CurrentUser()的用户名?在这个系统中,我能够区分系统的不同用户并且不是每个人都只是显示为“管理员”,这一点非常重要。
有可能有更好的方法来完成我的要求,我甚至不知道要问的正确问题,如果是这样,请告诉我。
谢谢!
答案 0 :(得分:2)
在Access中创建一个“传递”查询,该查询使用与MySQL的ODBC连接,并向MySQL询问当前用户的名称。
SELECT CURRENT_USER();
该查询将按原样执行(意味着不涉及Access数据库引擎),然后在Access中提供查询结果。
VBA CurrentUser()
函数检索Access安全帐户名称。除非您使用的ULS(用户级安全性)仅适用于较旧的MDB数据库格式,否则安全帐户将始终为“Admin”。所以它通常不是很有用,对你在这里需要的东西肯定没用。