当前课程知识点:Access数据库技术及应用 > 第十章 Access数据库编程 > 第10章 教务管理系统开发 > 第9章 模块与VBA程序设计
本章导读
通过Access自带的向导工具,能够创建表、窗体、报表和宏等基本对象。但是,由于创建过程完全依赖于Access内在的、固有的程序模块,这样虽然方便了用户的使用,但是同时也降低了所建系统的灵活性,对于数据库中一些复杂问题的处理则难以实现。因此,为了满足用户更加广泛的需求,Access为用户提供了自带的编程语言VBA。
VBA是Visual Basic for Applications的英文缩写,是用Basic语言作为语法基础的可视化的高级语言。它使用了对象、属性、方法和事件等概念。由于VBA也是采用Basic语言作为语法基础,就使得初学者在编程的过程中感到十分容易。
本章要点
l 模块及VBA程序设计相关概念
l VBA程序开发环境
l VBA程序开发基础知识
l VBA程序控制语句
l VBA自定义过程的定义与调用
l VBA数据库访问技术
l VBA程序的调试
通过VBA基本知识的学习,下面将实现引例中的VBA编程。主要步骤如下:
(1)启动“教务管理系统”,选择“创建”选项卡中的“窗体设计”命令按钮,打开窗体设计窗口。
(2)按图9.33所示添加窗体控件,并布局控件和设置相应控件的属性。
图9.33 “用户登录”界面设计
(3)按图9.34所示,建立“用户表”。
图9.34 用户表
(4)在“用户登录”窗体中右键单击“登录”按钮,选择“事件生成器”,打开“选择生成器”对话框,选择“代码生成器”,则打开VBE编辑窗口。输入“登录”按钮的事件过程代码如下:
Private Sub 登录_Click()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim strSQL As String
Set cn = CurrentProject.Connection
strSQL = "select * from 用户表"
rs.Open strSQL, cn, asopendynamic, adLockOptimistic, adCmdText
Do While Not rs.EOF
If yhm = rs.Fields("用户名") And mm = rs.Fields("密码") Then
DoCmd.OpenForm "主界面"
Exit Sub
End If
rs.MoveNext
Loop
If rs.EOF Then
MsgBox "用户名或密码不正确!"
yhm = ""
mm = ""
End If
rs.Close
cn.Close
Set rs = Nothing
Set cn = Nothing
End Sub
(5)编辑“取消”按钮的事件过程代码如下:
Private Sub 取消_Click()
DoCmd.Close
End Sub
(6)保存“用户登录”窗体,运行该窗体,输入用户名和密码测试“登录”和“取消”按钮功能的实现。
-第1节 数据库初探
--1.1数据库初探
--作业1.1
-第2节 概念模型
--1.2 概念模型
--作业1.2
-第3节 关系数据库
--作业1.3
-第4节 数据库设计
--作业1.4
-第1节 Access系统概述
--作业2.1
-第1节 创建与使用数据库
--作业3.1
-第1节 什么是表
--4.1 什么是表
--作业4.1
-第2节 创建表
--4.2创建表
--作业4.2
-第3节 字段属性设置
--作业4.3
-第4节 编辑和使用表
--作业4.4
-第5节 建立表之间的关联
--作业4.5
-第1节 查询的基本概念
--作业5.1
-第2节选择查询和参数查询
--作业5.2
-第3节 交叉表查询
--5.3交叉表查询
--作业5.3
-第4节 动作查询
--5.4动作查询
--作业5.4
-第5节 SQL查询
--作业5.5
-第1节 窗体的概念及控件
--作业6.1
-第2节 控件的使用
--作业6.2
-第1节 创建报表
--7.1创建报表
--作业7.1
-第2节 使用报表
--7.2 使用报表
--作业7.2
-第1节 宏的创建与使用
--作业8.1
-第1节 模块与VBA的环境
--作业9.1
-第2节 数据类型常亮变量
--作业9.2
-第3节 数组函数运算符
--作业9.3
-第4节 顺序结构和选择结构程序设计
--作业9.4
-第5节 循环结构程序设计
--作业9.5
-第6节 过程的定义和调用
--9.6VBA过程
--作业9.6
-第1节 数据库编程基础
--作业10.1
-第2节 学生信息查询系统(部分)
--作业10.2