内容正文:
数据库应用基础
ACCESS 2016
单元六 使用宏及VBA
目录页
01
OPTION
02
OPTION
03
OPTION
04
OPTION
任务一 创建宏
任务二 创建宏组
任务三 创建VBA程序
任务四 创建登录窗体
任务实施
技能拓展
2
04
OPTION
任务四 创建登录窗体
任务实施
技能拓展
3
任务四 创建登录窗体
问题导入
多数应用程序都有一个登录窗体,要求用户输入帐号和密码进行验证,验证通过才能进入程序主界面。如何设计登录窗体呢?
任务实施
技能拓展
大多数应用程序都有一个登录窗体,要求用户输入帐号和密码进行验证,验证通过才能进入主界面。
创建登录窗体
任务与目标
任务四 创建登录窗体
任务实施
技能拓展
5
一、VBA的基本语法与编写规则
每一种编程语言都有固定的语法和代码编写规则,VBA的基本语法与编写规则有如下两点:
知识准备
规则1
规则2
一条语句以回车键作为结束,通常一行输入一条语句,也可以使用冒号“:”在一行中编写多条语句。对于较长的需要分行编写的语句,可以在行尾输入续行符号“_”,然后回车换行,再继续输入。
为了增加程序的可读性,可以在程序中加入注释。注释语句以单引号“’”开头,VBA在执行过程会忽略注释。
任务实施
技能拓展
6
一、VBA的基本语法与编写规则
模块是用于存放VBA代码的容器,而过程则是VBA程序代码。
(1) 模块
模块分为以下两种:
知识准备
标准模块
类模块
未绑定到特定对象,通常存放整个数据库使用的子程序或函数。
窗体或报表的组成部分,如窗体或报表各种对象的事件过程。
任务实施
技能拓展
7
一、VBA的基本语法与编写规则
通常模块由两部分组成:
知识准备
声明部分
事件过程
用于定义常量、变量、用户自定义类型或外部过程。在声明部分设定的常量或变量是全局性的,可以被模块中的所有过程调用。
包括函数过程或子过程。
任务实施
技能拓展
8
二、模块与过程
(2) 过程
过程包含一系列VBA语句,分为子过程和函数过程。
子过程不返回值,用户既可以使用Access 2007创建的事件过程,也可以创建自定义子过程。
子过程的基本语法为:
[Public|Private|Friend][Static] Sub <过程名> [(参数)]
[语句系列]
End Sub
退出子过程使用Exit Sub语句,调用子过程使用Call语句。
知识准备
任务实施
技能拓展
9
二、模块与过程
(2) 过程
函数过程可以返回值,分为系统内部函数和用户自定义函数。
函数过程的基本语法为:
[Public|Private|Friend][Static] Function <函数过程名> [(参数)] As 数据类型
[语句系列]
[函数过程名 = <表达式>]
End Function
退出函数过程使用Exit Function语句。
知识准备
任务实施
技能拓展
10
二、模块与过程
子过程或函数过程的声明关键字含义见表6-6。
知识准备
关键字 含义
Public 所有模块的所有过程都可以访问该子过程或函数过程
Private 只有在包含其声明的模块中的其它过程可以访问该子过程或函数过程
Friend 只能在类模块中使用
Static 在调用之间保留子过程或函数过程中局部变量的值。对过程外的变量不会产生影响,即使过程中使用了这些变量
表6-6 子过程或函数过程声明关键字含义
任务实施
技能拓展
11
创建登录窗体
创建登录窗体的操作步骤如下:
(1)在“进销存”数据库中创建用户表(user),表结构如表6-7所示。
表6-7 “用户表”数据表结构
字段名称 字段含义 字段类型 字段大小 主键
user 用户名 文本 10 是
password 密码 文本 10
任务实施
技能拓展
12
创建登录窗体
(2)打开“窗体设计视图”,在窗体中添加表6-8所示的控件,完成的效果如图6-27所示。。
表6-8 “登录窗体控件及属性
控件 控件名称 控件标题
标签 Lable0 进销存管理系统
标签 Lable1 用户名
标签 Lable2 密 码
文本框 TxtUser
文本框 TxtPassword
按钮 Login 登录
按钮 Exit 退出
图6-257登录窗体控件
任务实施
技能拓展
13
方法与步骤
(3)在“属性表”窗格中,为窗体设置如下属性:
记录源:user
弹出方式:是
模式:是
自动居中:是
边框样式:对话框边框
记录选择器:否
导航按钮:否
快捷菜单:否
创建登录窗体
任务实施
技能拓展
14
(4)通常,用户在输入密码时显示为“*”,因此为文本框“TxtPas