Access数据库里头怎么弄用户名密码,简单点教教我咋设置啊
- 问答
- 2026-01-03 17:27:27
- 5
给整个数据库文件加密码(最简单)
这个方法最适合你自己用,或者跟你共享数据库的人都用同一个密码的情况,它的目的就是防止随便什么人双击就能打开你的数据库文件,这是Access自带的一个功能,设置起来不麻烦。
具体怎么做呢?你得用独占的方式打开数据库,什么叫独占?就是说你打开的时候,不让别人同时打开,操作是这样的:先打开Access软件,但别直接双击数据库文件,在Access的起始页,选择“打开其他文件”,找到你的数据库文件,但先别急着点“打开”,点击“打开”旁边那个小箭头,会弹出一个菜单,里面就有一个选项叫“以独占方式打开”,你点这个。(来源:Microsoft Access 帮助文档中的“以独占模式打开数据库”)
打开之后,你去看软件顶部的菜单栏,找到“文件”这一项,点进去之后,选择“信息”这个标签页,在那里,你会看到一个按钮叫“用密码进行加密”,点一下这个按钮,它会让你输入两次一样的密码,你输进去,再点“确定”,这个密码就设好了。(来源:Microsoft Access 帮助文档中的“使用密码加密数据库”)

下次你再想打开这个数据库文件的时候,不管是你自己还是别人,都会先弹出一个窗口,让你输入密码,密码输对了,才能进去看到里面的所有内容,这个方法的好处是简单直接,一了百了,但缺点也很明显,就是要么能看全部,要么啥也看不了,没法做到让张三只能看销售表,李四只能看人事表这种精细的控制。
第二种:在数据库里面自己做一套登录系统(稍微复杂点,但更灵活)
如果你想让不同的人用不同的账号登录,而且登录之后每个人能操作的权限不一样(比如有的人只能看数据,有的人可以改数据,有的人连表格设计都不能动),那就得用这种方法,这个方法不是Access直接提供一个现成的功能让你填用户名密码就行,而是需要你自己动手,像搭积木一样,用Access里面的几个东西组合起来实现。
你需要用到的主要是这么几个东西:用户表、登录窗体、还有一点简单的VBA代码,别怕VBA代码,我教你最简单的,照抄就行。

第一步,先建一个表,用来存用户名和密码,你就新建一个表,里面至少要有两个字段,比如一个叫“用户名”,数据类型选“短文本”;另一个叫“密码”,数据类型也选“短文本”,你就在这个表里,预先输入几条记录,比如用户名填“张三”,密码填“123456”;用户名“李四”,密码“abc123”,这就是你允许登录的用户名单和密码。(来源:基于Access数据库开发常见做法)
第二步,做一个登录窗口,这个窗口是用“窗体”功能做的,你切换到“创建”选项卡,点“窗体设计”,新建一个空白的窗体,在这个窗体上,你放上两个“文本框”:一个用来让人输入用户名,另一个用来输入密码,为了好看,你还可以在每个文本框前面加个“标签”,写上“用户名:”和“密码:”,再放两个“按钮”,一个按钮的文本写成“登录”,另一个写成“取消”。(来源:基于Access窗体设计基础)
第三步,也是最关键的一步,就是让“登录”按钮能干活,你右键点击这个“登录”按钮,选择“属性”,找到“事件”选项卡,在“单击”事件那一行,点右边的小按钮,选择“代码生成器”,这会打开一个写代码的窗口。
你在里面输入类似下面这样的代码,我尽量用大白话给你解释一下每一句是干嘛的:

Private Sub 登录按钮_Click() ' 这个“登录按钮”要换成你那个按钮的实际名字
Dim 输入用户名 As String
Dim 输入密码 As String
' 获取用户在窗体上输入的用户名和密码
输入用户名 = Me.用户名文本框.Value ' “用户名文本框”要换成你放用户名的那个文本框的名字
输入密码 = Me.密码文本框.Value ' “密码文本框”要换成你放密码的那个文本框的名字
' 判断如果用户名或者密码没填,就提示
If IsNull(输入用户名) Or IsNull(输入密码) Then
MsgBox "用户名和密码都不能为空!"
Exit Sub
End If
' 去之前建的那个用户表里查,看有没有输入的用户名和密码能对上的记录
If DCount("*", "用户表", "用户名='" & 输入用户名 & "' AND 密码='" & 输入密码 & "'") > 0 Then
' 如果查到了(DCount结果大于0),说明密码正确
MsgBox "登录成功!"
' 登录成功后,可以打开另一个主界面窗体,并把登录窗体隐藏或关闭
DoCmd.OpenForm "主界面窗体" ' “主界面窗体”是你希望用户登录后看到的那个主窗体的名字
DoCmd.Close acForm, "登录窗体" ' “登录窗体”就是你现在这个登录窗体的名字
Else
' 如果没查到,说明用户名或密码错误
MsgBox "用户名或密码错误!"
' 可以把密码框清空,让人重新输入
Me.密码文本框.Value = ""
Me.密码文本框.SetFocus
End If
End Sub
(来源:常见的Access VBA登录验证代码逻辑)
对于“取消”按钮,你也可以给它加代码,DoCmd.Close acForm, "登录窗体",一点击就关闭登录窗口。
第四步,设置一下数据库的启动选项,你不想让人一打开数据库就看到一堆乱七八糟的表和查询界面吧?你想让用户一打开就直接弹出你这个漂亮的登录窗口,那就在“文件”->“选项”->“当前数据库”里,找到“显示窗体”,在下拉菜单里选你刚做好的“登录窗体”,再把“导航窗格”(就是左边显示所有表、查询的那个东西)的勾选去掉,这样一设置,以后打开这个数据库,直接就是登录界面,别的地方都进不去,显得非常专业。(来源:Microsoft Access 选项中的“当前数据库”设置)
你得知道,这种自己做的登录系统,其安全性是相对较低的,因为密码是明文存在表里的,懂点Access的人如果绕开了登录窗体(比如在打开数据库时按住Shift键不放,可能会绕过启动设置),直接打开那个“用户表”,就能看到所有人的密码,所以如果安全性要求很高,这就不太行了,但对于一般的办公室内部小系统,区分一下权限,防止误操作,已经完全够用了。
如果你图省事,就自己用,用第一种方法给文件加密最简单,如果你想分用户管理,那就花点时间用第二种方法自己做一套,虽然步骤多了点,但跟着做下来一遍,你就能明白了。
本文由帖慧艳于2026-01-03发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:http://waw.haoid.cn/wenda/73829.html
