上期我们分享了EXCEL读取ACCESS数据库表,实现系统登录的功能【Excel VBA 访问带密码保护的Access数据库/用户窗体设置/EXCEL用户+密码登录界面(Access版)】,接下来我们将继续设计【收费管理系统】,感兴趣的朋友可以跟着一起做,有什么建议也欢迎提出来,谢谢!
今天的任务是设置【主界面】或者叫【主页】,用来放置命令按钮,作为进入各种功能模块的入口。
主界面设置比较简单,我们打开【收费管理系统】EXCEL文档,输入用户名密码,进入VBA编辑器,设有密码的必须输入密码才能进入,这里密码是0。
下面我们就一起来做:
1、在Sheets("Main")中,设置单元格A1行高为250,列宽为80,增加命令按钮“CmdShowMain”,显示主菜单的意思,Caption改为“收费管理系统”;“CmdExit”,Caption改为“退出系统"。调整命令按钮大小和位置,把它们都放到A1单元格里,其他单元格统统隐藏:
2、在EXCEL文件中插入表页,命名为“Settings”,用来存放部分登录信息:
其中,B列的字段名称不能随便改动,在代码里有引用,如果确定需要修改的话,要同步修改。C列的值是根据实际登录的数据文件、用户信息写入,供后期调用。
3、打开VBE,插入用户窗体Usf_Main,调整大小,Caption改为“主菜单”:
4、在Usf_Main上添加控件,设置字体,调整位置:
(1)标签,LbTitle,Caption修改为“主菜单”;
(2)命令按钮,CmdUsers,Caption修改为“用户管理”;
看上去空荡荡的,由于时间关系,暂时先这样,待后面慢慢来完善。
5、修改代码:
(1)Sheets(“Main”)页面命令按钮:
Private Sub CmdShowMain_Click()
Usf_Main.Show '显示主菜单
End Sub
Private Sub CmdExit_Click()
ThisWorkbook.Save
ThisWorkbook.Close '保存并退出系统
End Sub
(2)Private Sub Workbook_BeforeClose,删除以下代码:
'Sheets("Main").Range("A1:B2").ClearContents
(3)Private Sub Workbook_Open(),增加把数据库完整文件路径写入Sheets(“Settings”)的代码:
Private Sub Workbook_Open()
Dim iRow
dataFile = ThisWorkbook.Path & "\收费管理系统数据库.accdb"
Sheets("Settings").Activate
With ActiveSheet
iRow = .UsedRange.Rows.Count
.Cells(Application.WorksheetFunction.Match("dataFile", .Range(Cells(1, 2), Cells(iRow, 2)), 0), 3) = dataFile
End With
UsF_Login.Show
End Sub
代码解析:
line 4~8:这里通过工作表“MATCH”来定位“dataFile”在B列的第几行,然后把变量dataFile的值写入对应的第3列单元格。
(4)Usf_Login窗体的“登录”按钮:删除把用户信息写入Sheets(“Main”)的代码,改为写入Sheets(“Settings”)的对应单元格。
''把登录用户信息记到Sheets("Settings")
'Sheets("Main").Range("A1") = "用户ID:"
'Sheets("Main").Range("A2") = "用户姓名:"
'Sheets("Main").Range("B1") = currUserID
'Sheets("Main").Range("B2") = currUserName
Sheets("Settings").Activate
With ActiveSheet
iRow = .UsedRange.Rows.Count
.Cells(Application.WorksheetFunction.Match("currUserID", .Range(Cells(1, 2), Cells(iRow, 2)), 0), 3) = currUserID
.Cells(Application.WorksheetFunction.Match("currUserName", .Range(Cells(1, 2), Cells(iRow, 2)), 0), 3) = currUserName
End With
代码解析:
line 2~5:这几行注释掉,也可以删除,这里是为了演示之用。
line 6~11:把用户信息写入Sheets("Settings”),用了工作表函数MATCH,前面解释过。
7、我们来看一下今天的成果:
感谢你们的阅读和喜欢,我收藏了很多技术干货,可以共享给喜欢我文章的朋友们,如果你肯花时间沉下心去学习,它们一定能帮到你,干货内容:
点击文末的名片可以抱走,或点此链接