2016-05-17 152 views
1

在所有锁定文件中的Access中,以及文件可以执行的通知因为用户正在锁定文件,所以只会提供名称Admin在Access工作区中更改默认用户的名称

如何更改该名称?

我有一个由超过40个用户使用的数据库,所有正在使用热点书桌的用户都可以将40个用户列为“Admin”,其计算机名称的含义与SDF2134一样多。

我知道如何使用CREATE USER添加用户和vba中的所有内容,但我如何使主用户和/或更改Admin用户名,因此它有意义。

据我所知,用户安全已从Access中删除,但仍有像这样的遗留问题,这使我的问题很难解决。

+0

作为一种解决方法,我将RDP添加到列出的计算机名称中,它建议我域/用户当前已登录。这给了我在DB中的人的实际用户名,我可以通过电子邮件通知他们退出。但是,如果你有40多个用户,这不会大量帮助... – Dave

+0

@Dave和IT安全已阻止所有这类访问 – Bullfrog

+0

那么这是无益的...不要假设'WMIC /节点:remotecomputer ComputerSystem获取命令行上的用户名会运行并告诉你谁在相关的PC上? – Dave

回答

1

这需要一些工作和维护(保持用户列表是最新的),并且我想知道是否值得努力。

你需要创建一个工作组文件(System.mdw),见How to use the Workgroup Administrator utility in Access 2007

使用这个MDW启动数据库:How to use an .mdw file in Access 2010

然后创建CREATE USER的所有用户。它们将被存储在您的mdw文件中。

最后,所有用户都必须使用mdw启动数据库并设置其用户名。因此,他们的命令行看起来是这样的:

"%ProgramFiles(x86)%\Microsoft Office\Office14\MSACCESS.EXE" 
    C:\path\frontend.accdb /wrkgrp N:\networkpath\your_system.mdw /User %username% 

%username%节省你为每个用户个人的命令行。

如果您想验证用户已无法与它篡改,您可以在VBA检查:

If CurrentUser() <> CreateObject("WScript.Network").UserName Then 
    MsgBox "Want to be somebody else?" 
End If 

CurrentUser()/User参数,其他方法Windows login


嗯,我认为这可能工作。我只使用过mdb/mde数据库的mdw文件。

+1

我知道这可能不值得您付出努力,但您的答案与广告中的完全一致,谢谢 – Bullfrog

+0

很酷,谢谢您的反馈。 @Bullfrog – Andre