精通 Office 2007
第 21章 VBA编程与数据库安全初步了解 Visual Basic for Application(VBA)的编程环境,以及创建和使用模块对于实现自动管理数据库有很大帮助,另外对数据库的管理和安全保护工作也是数据库管理员需要考虑的问题。本章将介绍 VBA的编程和数据库管理安全方面的知识。
精通 Office 2007
教学重点与难点
VBA编程环境
创建和使用模块
设置 VBA代码保护
设置和撤销数据库访问密码
压缩和修复数据库精通 Office 2007
21.1 VBA编程环境
Access利用 Visual Basic编辑器 (VBE)来编写过程代码,它以微软的 Visual
Basic编程环境的布局为基础,实际上是一个集编辑、调试、编译等功能于一体的编程环境。所有的 Office应用程序都支持 Visual Basic编程环境,而且其编程接口都是相同的。使用该编辑器可以创建过程,也可以编辑已有的过程。
工程资源管理器窗口属性窗口过程视图按钮 全模块视图按钮工程资源管理器代码窗口对象组合框过程组合框精通 Office 2007
21.2 创建 VBA模块模块是将 VBA代码的声明、语句和过程作为一个单元进行保存的集合,是基本语言的一种数据库对象,数据库中的所有对象都可以在模块中进行引用。
利用模块可以创建自定义函数、子程序以及事件过程等,以便完成复杂的计算功能。模块可以代替宏,并可以执行标准宏所不能执行的功能。
模块的定义和创建
过程的创建
过程的调用精通 Office 2007
Access模块有两种基本类型:类模块和标准模块。模块中的每一个过程都可以是一个 Function过程或一个 Sub过程。
类模块
标准模块
21.2.1 模块的定义和创建精通 Office 2007
过程是包含 VBA代码的基本单位,可以完成一系列指定的操作。过程由计算的语句和方法组成,通常分为 Sub过程,Function过程和 Property过程。
其中,Sub过程是最常用的过程类型,也称为命令宏,可以传送参数和使用参数来调用它,但不返回任何值; Function过程也称为自定义函数过程,其运行方式和使用程序的内置函数一样,即通过调用 Function过程获得函数的返回值;
Property过程能够处理对象的属性。
21.2.2 过程的创建
Sub Example()
Dim Mess,Wind
Mess = "选择结果 "
Wind = MsgBox("请选择确定或取消按钮 ",1 + 64,"确认选择 ")
Select Case Wind
Case vbOK
MsgBox "已选确定 ",,Mess
Case vbCancel
MsgBox "已选取消 ",,Mess
End Select
End Sub
精通 Office 2007
Call语句用来调用过程,也可调用 Visual Basic的函数和自定义函数,两者均采用如下的格式:
21.2.3 过程的调用
[Call] name [argumentlist]
其中 name表示被调用过程的名称,argumentlist表示参数列表,各参数间必须以逗号隔开。
在窗体过程 (例如事件过程 )中可以直接调用标准模块中的过程,但也可通过标准模块的名称来调用。在标准模块的过程中调用窗体模块中的过程时,
必须以 Visual Basic格式指出窗体名,例如,Form_员工信息,name”。
精通 Office 2007
21.3 VBA代码保护在开发数据库产品以后,为了防止其他人查看或更改 VBA代码,需要对该数据库的 VBA代码进行保护。保护 VBA代码的措施主要有两种:对 VBA代码设置密码保护或生成 MDE文件保护。
设置密码保护
生成 ACCDE文件精通 Office 2007
用户可以通过对 VBA代码设置密码来防止其他非法用户查看或编辑数据库中的程序代码。
21.3.1 设置密码保护精通 Office 2007
除了使用密码保护 VBA代码以外,还可以通过创建 ACCDE文件保护程序代码。 ACCDE文件是旧版本 Access中的,mde 文件的 Access 2007版本。
21.3.2 生成 ACCDE文件精通 Office 2007
21.4 数据库安全策略数据库系统的安全主要是指防止非法用户使用或访问系统中的应用程序和数据。为避免应用程序及其数据遭到意外破坏,Access提供了一系列保护措施,包括设置访问密码,对数据进行加密等多种方法。
数据库访问密码
隐藏数据库对象精通 Office 2007
数据库访问密码是指为打开数据库而设置的密码,它是一种保护 Access
数据库的简便方法。设置密码后,打开数据库时将显示要求输入密码的对话框,
只有正确输入密码的用户才能打开数据库。
设置数据库访问密码
撤消数据库访问密
21.4.1 数据库访问密码精通 Office 2007
要隐藏数据库对象,用户可以在导航窗格中选中该对象,然后按下
Alt+Enter组合键打开属性对话框,如图 21-19所示的“销售明细 属性”对话框,
在对话框中选中“隐藏”复选框即可。
21.4.2 隐藏数据库对象精通 Office 2007
21.5 压缩和修复数据库数据库在不断增删数据库对象的过程中会出现碎片,而压缩数据库文件实际上是重新组织文件在磁盘上的存储方式,从而除去碎片,重新安排数据,
回收磁盘空间,达到优化数据库的目的。在对数据库进行压缩之前,Access
会对文件进行错误检查,一旦检测到数据库损坏,就会要求修复数据库。修复数据库可以修复数据库中的表、窗体、报表或模块的损坏,以及打开特定窗体、
报表或模块所需的信息。