Hi,各位同学好!我是吴明课堂的答疑老师之一陈婉。

作为Access的答疑老师,已经有超过三位同学跟我咨询如何能把自己写的Access文件打包成常见的系统,可以让使用者双击系统图标去打开和登录系统。还有同学说想把自己做的系统卖给其他人,这样就需要想办法封装好不让其他人看到自己写的代码。

我花了三天的下班时间,给大家做了一个例子,先给大家看看成品效果(因为微信对GIF图大小和帧数有要求,演示图又比较长,所以上传的动图有点糊,先粗略看一下大概功能就可以了)。


效果演示图如下:

准时下班系列!Access合集之第3集—如何用Access制作开发跟使用者权限分开的系统_系统用户权限

这个系统可以通过双击桌面的图标打开,设计了三种系统用户权限,每种类型的用户登录后看到的功能都有差别。

  1. 系统管理员用户(如图中的admin用户),这类用户需要开发者去添加,系统管理员可以使用用户管理功能,可以看到普通用户和本账户,但看不到超级管理员(开发者)和其他系统管理员账户
  2. 普通用户(被系统管理员授权的系统使用者),这类用户看不到用户管理功能,只能去使用系统功能
  3. 超级管理员用户(开发者),这类用户登录后,会被提示重新打开系统,再次双击图标后,系统会以开发者模式打开,开发者能看到access软件的界面,可以使用软件的所有功能,包括打开VBA环境并更改代码。

当然,这个案例是为了让大家学会怎么去实现如何让access文件看起来像一个常见的系统,且要实现分权限使用系统,所以没有做完所有的系统功能,大家可以任意发挥,去接入自己需要的系统功能。


首先,教大家怎么把Access文件做成可以通过双击自定义图标打开的系统:

1. 将做好的Access文件放到一个固定的文件夹下,并准备一个ico类型的图标

准时下班系列!Access合集之第3集—如何用Access制作开发跟使用者权限分开的系统_文件打包成系统_02

2. 在文件上右键,选择创建快捷方式

准时下班系列!Access合集之第3集—如何用Access制作开发跟使用者权限分开的系统_Access_03

3. 为生成的快捷方式更换图标和名称

准时下班系列!Access合集之第3集—如何用Access制作开发跟使用者权限分开的系统_Access_04

4. 对设置好的快捷方式右键,选择发送到—>桌面快捷方式

准时下班系列!Access合集之第3集—如何用Access制作开发跟使用者权限分开的系统_编程_05

注意事项:这个方案需要本机安装Access软件才能使用系统,如果希望摆脱这个限制,则需要想办法把文件跟运行文件所需要的支持文件一起打包,这个不是本期要讲的内容,大家可以自行在网络上查找解决方案。


接下来是核心了,给大家介绍一下这个实现了不同用户权限的系统。


组成结构解析:

​1. 用户表一张

​2. 窗体三个—系统登录窗体、主界面、用户管理界面

​3. VBA代码


主要功能介绍:

​1. 用户双击系统图标后,进入登录界面,输入正确的用户名和密码后,可以成功登录系统,否则登录不了;

准时下班系列!Access合集之第3集—如何用Access制作开发跟使用者权限分开的系统_文件打包成系统_06

2. 用户登录成功后,系统管理员和普通用户进入主界面(隐藏软件界面),开发者则提示其重新打开系统以进入开发模式;

准时下班系列!Access合集之第3集—如何用Access制作开发跟使用者权限分开的系统_文件打包成系统_07

3. 用户管理功能,管理员可以查看和新增用户,新增用户时对密码采用了MD5加密算法;

准时下班系列!Access合集之第3集—如何用Access制作开发跟使用者权限分开的系统_文件打包成系统_08

4. 系统管理按钮是预留的系统功能入口,并未实现具体功能;5.点退出系统,普通用户则会彻底退出系统,开发者模式下(超级管理员登录)则只会关闭本窗体。

关键代码展示:

​1. 公共代码模块(此部分都是被调用的共用方法或对象)

准时下班系列!Access合集之第3集—如何用Access制作开发跟使用者权限分开的系统_VBA_09

2. 用户类

准时下班系列!Access合集之第3集—如何用Access制作开发跟使用者权限分开的系统_编程_10

3. 窗体对象内代码(功能入口代码从系统登录窗体开始,从这里开始看代码逻辑)

准时下班系列!Access合集之第3集—如何用Access制作开发跟使用者权限分开的系统_VBA_11

所需技能分析:

​1. 基础的表设计能力

​2. 简单的SQL技能

​3. 窗体设计能力

​4. VBA基础编程能力

​5. 查阅API能力

​6. 调试代码能力

具体的算法逻辑和代码大家自己从文末的案例文档中学习(以creator用户登录后可以看代码),如果上述技能中缺少任意一项,都会影响自己从别人的案例中学习的效率。


上述所需技能均在吴明老师的《Access零基础到应用系统教程》中可以学到,如需系统学习Access,可查看以下课程:

​ https://edu.51cto.com/course/27250.html​​​

该课程可以使学员以最少的学习时间搭建最完善的数据库和Access窗体编程知识架构。


案例文档获取链接:

​https://pan.baidu.com/s/19qUhIecpSgGoJ50Bj1TyQw​

提取码:wmkt