首页 理论教育 Access数据库基础及应用教程:用户管理模块设计与实现

Access数据库基础及应用教程:用户管理模块设计与实现

时间:2023-11-05 理论教育 版权反馈
【摘要】:“用户管理”模块的主要功能是实现用户按照管理员注册的用户信息进行登录,系统按照用户的类别赋予用户一定的使用权限,以便对用户的访问范围进行合理限制。“用户”表与系统的其他表之间没有任何联系。“用户管理”模块的功能通过VBA代码来实现。设计“用户管理”窗体用来实现管理员对用户的注册和注销,设计“登录窗体”,在数据库打开时自动运行,以实现用户的登录。“用户管理”窗体的设计视图如图10-34所示。

Access数据库基础及应用教程:用户管理模块设计与实现

“用户管理”模块的主要功能是实现用户按照管理员注册的用户信息(包括用户名、密码和用户类别)进行登录,系统按照用户的类别赋予用户一定的使用权限,以便对用户的访问范围进行合理限制。如果登录用户是管理员类别,则能使用系统的所有功能模块,如果登录用户是教师或学生类别,则只能使用系统的部分功能模块。设计一个“用户”表用来保存已注册用户的信息(包括用户名、密码和用户类别)。“用户”表与系统的其他表之间没有任何联系。“用户管理”模块的功能通过VBA代码来实现。设计“用户管理”窗体用来实现管理员对用户的注册和注销,设计“登录窗体”,在数据库打开时自动运行,以实现用户的登录。

此模块的设计难点是系统怎样区分当前用户是什么类别从而对功能进行限制。初学者在思考这个问题时往往没有任何思路,觉得问题的解决有很大的难度。其实,如果读者对面向对象编程的基本思路以及其中的类、对象、方法和属性的概念有较好的理解,另外如果对VBA模块代码中的变量、过程和函数的特性有较好的掌握,这个问题就好解决了。

VBA的模块分为标准模块和类模块,标准模块的结构类似于结构化编程中程序的结构,由变量、过程和函数的定义组成,标准模块中定义的全局变量、全局过程能够被所有模块调用。类模块包括两种:①是系统对象类模块(包括窗体模块和报表模块);②是用户定义类模块。类模块其实就是面向对象编程中所说的类,它是同一类软件事物(对象)的抽象表示。为了降低读者学习的难度,用户定义类模块在本教材中很少讲到,而教材中的VBA编程部分主要讲解的是标准模块、类模块中的窗体模块。

系统解决“区分当前用户是什么类别从而对功能进行限制”这个问题时用到了全局变量的特性。在标准模块main中定义全局变量userType(PublicuserTypeAsString),在“登录”窗体的模块代码中进行处理,如果用户登录成功,则将当前用户的类别值赋值给user-Type,由于全局变量具有全局特性,因此其他模块(包括窗体模块和报表模块)可以访问userType,在系统的主界面窗体“主界面”的窗体模块代码中,根据userType变量的值来设置打开其他窗体的相关按钮的“可用”(Enabled)属性(True表示可用,False表示不可用),这样就解决了这个看起来似乎很难解决的问题。

1.“用户”表的设计

“用户”表的设计视图如图10-32所示。

2.“登录”窗体的设计

“登录”窗体实现的功能是,用户通过输入用户名和密码进行登录。用户有3次输入机会,如果登录信息在3次内输入正确,则关闭当前的“登录”窗体,打开“主界面”窗体,进入系统的功能界面,选择使用各功能窗体。“登录”窗体的设计视图如图10-33所示。

978-7-111-45056-6-Chapter10-50.jpg

图10-32 “用户”表的设计视图

978-7-111-45056-6-Chapter10-51.jpg

图10-33 “登录”窗体的设计视图

“登录”窗体的窗体模块的代码如下:(www.xing528.com)

978-7-111-45056-6-Chapter10-52.jpg

978-7-111-45056-6-Chapter10-53.jpg

3.“用户管理”窗体的设计

“用户管理”窗体的设计实现两个功能:①用户注册,②用户注销。只有以管理员身份登录系统后才能使用用户管理功能。用户注册就是把注册信息添加到“用户”表,用户注销就是从“用户”表中删除用户信息。“用户管理”窗体的设计视图如图10-34所示。

“用户管理”窗体的窗体模块代码如下:

978-7-111-45056-6-Chapter10-54.jpg

图10-34 “用户管理”窗体的设计视图

978-7-111-45056-6-Chapter10-55.jpg

978-7-111-45056-6-Chapter10-56.jpg

978-7-111-45056-6-Chapter10-57.jpg

978-7-111-45056-6-Chapter10-58.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈