《工信版(中职)Access2010数据库案例教程07_01电子课件.ppt》由会员分享,可在线阅读,更多相关《工信版(中职)Access2010数据库案例教程07_01电子课件.ppt(70页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、YCF(中职)Access2010数据库案例教程07_01电子课件VBA编程基础项目一项目一 选择分支结构语句选择分支结构语句目录任务实施Task force项目拓展Project development项目测评Project evaluation项目小结Project summary过滤页第一部分Task force任务一 使用IF语句完成系统登录验证 任务二 使用IF嵌套语句完成“登录系统”选择打开 任务实施VBA编程基础重点IF语句IF嵌套语句循环结构语句难点IF语句IF嵌套语句循环结构语句VBA编程基础任务一任务一 使用使用IFIF语句完成系统登录验证语句完成系统登录验证 VBA编程基
2、础任务分析 本次任务我们将一起来学习VBA中的选择分支结构语句,我们一起来看一下使用VBA中的选择结构语句可以为我们解决哪些问题?通过之前的章节的学习,我们对Access数据库有了更加深入的认识,并完成对“图书借阅管理系统”的搭建,但是在学习的过程中我们不难发现对于一些简单的事件响应我们可以使用宏来实现,但是对相对复杂的事件若使用宏对象则很难实现,实际上在Access中可以使用VBA语句来实现相对复杂的操作,并且在之前章节的学习过程中我们已经对VBA有了简单的接触。VBA编程基础1.创建一个名为“L7_2”的窗体,并在该窗体上添加两个文本框和一个命令按钮,两文本框名称分别为Text1和Text
3、2,命令按钮名称为Cmmand1标题为“测试”,该窗体实现在Text1中输入一个数,单击测试按钮,Access将会判断Text1中的数字能否被3整除,若能被3整除,则在Text2中输出“能被3整除”,否则在Text2中输出“不能被3整除”最终效果图窗体设计效果任务分析 VBA编程基础2.在“图书借阅管理系统”中已创建完成“系统登录”界面,在图书借阅管理系统使用的过程中为了保证系统的安全性,在登录系统是需要对用户进行验证,输入正确的“用户名”和“密码”后弹出提示框“欢迎登录!”并打开系统主界面,若“用户名”与“密码”其中一项输入错误则弹出提示“用户名或密码错误,请重新输入!”单击确定按钮并清空用
4、户名与密码对应文本框中的数据。任务分析 VBA编程基础注:Username=“admin”,Password=“admin”登录错误验证登录成功验证任务分析 VBA编程基础一个语句是能够完成某项操作的一条命令。VBA程序就是由大量的语句构成。知识准备 01语句的概念 用于给变量、常量和过程定义命名一是声明语句 用于执行赋值操作,调用过程,实现各种流程控制二是执行语句 按照语句顺序依次执行。如赋值语句、过程调用语句等。顺序结构 又称为选择结构,根据条件选择执行路径。条件结构 重复执行某一段程序语句。循环结构下面分别介绍 VBA 程序结构和各种流程控制语句。执行语句又分为3种结构:VBA程序语句按
5、照其功能不同分为两大类型:VBA编程基础知识准备 在定义了这些内容的同时,也定义了它们的生命周期与作用范围,这取决于定义位置(局部、模块和全局)和使用的关键字(Dim、Public、Static 或 Global 等)。02Access 2010的数据类型用于定义符号常量、变量、数组或过程的语句。VBA编程基础知识准备 在VBA程序编写之前,首先应当对 VBA 程序结构有清楚的了解。n一般一行写一个语句n若语句太长,一行写不下,可以使用续行符“_”将语句连续写在下一行n可以用冒号将多个语句分隔写在一行03语句的书写规则说明:当输入一行语句并按下回车键后,如果该行代码以红色文本显示(有时伴有错误
6、信息出现),则表明该行语句存在语法错误应改正。VBA编程基础知识准备 单分支结构 n格式04If 语句n实现单分支程序结构功能 End If语句序列1IfThenVBA编程基础知识准备 首先计算If与Then之间“条件”的值,若条件式值为真(True)则执行“语句序列 1”,执行完“语句序列 1”之后,接着执行“End If”后面的语句,若条件式为假(False),直接执行“End If”后面的语句。执行流程图 04If 语句执行流程VBA编程基础知识准备 双分支结构n格式04If 语句 Else语句序列1 End If语句序列2n实现双分支程序设计,主要用于解决有两种情况的选择结构IfThe
7、n功能VBA编程基础知识准备 首先计算If与Then之间“条件”的值,若条件式值为真(True),则执行“语句序列1”,执行完“语句序列1”之后,接着执行“End If”后面的语句;若条件式值为假(False),则执行“语句序列2”,执行完“语句序2”之后,接着执行“End If”后面的语句。执行流程图04If 语句执行流程VBA编程基础知识准备 消息框函数用于在对话框中显示消息,等待用户单击按钮,并返回一个整型数值告诉系统用户单击的哪一个按钮。它的功能在VBA中也是以函数的形式调用使用,格式如下:MsgBox(消息,样式,标题)05MsgBox消息框VBA编程基础知识准备 说明:05MsgB
8、ox消息框显示在对话框中的信息;字符串的最大长度为1024。如果包含多行内容,可以在字符串中用回车符(Chr(13))、换行符(Chr(10))或回车与换行符的组合(Chr(13)&Chr(10))将各行分隔。消息决定消息框内的按钮和图标的种类和数目,它是“按钮类型”、“图标类型”、“缺省按钮”3个数值之和。样式对话框标题栏上显示的内容。标题VBA编程基础知识准备 05MsgBox消息框VBA编程基础知识准备 n缺省按钮,决定了默认情况下该按钮获得焦点,按下回车键,系统默认为单击该默认按钮。常用缺省按钮设置如下表所示:值符号常量缺省按钮0VbDefaultButton1第1个256VbDefa
9、ultButton2第2个512VbDefaultButton3第3个05MsgBox消息框VBA编程基础知识准备 为了便于对程序进行维护,程序中一般都有注释语句。注释语句在程序运行时不执行,可以添加到程序模块中的任何位置,并且默认以绿色文本显示。在VBA中程序语句可以通过以下两种格式实现:06注释语句Rem注释字符串格式一注释字符串格式二VBA编程基础知识准备 Dim Str1,Str206注释语句 Rem 注释,在语句之后要用冒号隔开Str1=“Beijing”这也是一条注释语句。这时,无需使用冒号Str2=“Shanghai”例:定义两个变量并赋值Rem定义两个变量VBA编程基础1.创建
10、一个名为“L7_2”的窗体,并在该窗体上添加两个文本框和一个命令按钮,两文本框名称分别为Text1和Text2,命令按钮名称为Cmmand1标题为“测试”,该窗体实现在Text1中输入一个数,单击测试按钮,Access将会判断Text1中的数字能否被3整除,若能被3整除,则在Text2中输出“能被3整除”,否则在Text2中输出“不能被3整除”。任务实施VBA编程基础任务实施 窗体设计效果步骤一创建一个窗体名称为L7_2,并在窗体上添加两个文本框和一个命令按钮,然后按照题目要求设置相关属性,创建好的窗体如图7.10所示。上面的文本框为Text1,下面的文本框为Text2,按钮名称为“cmd”。
11、VBA编程基础任务实施 事件属性设置步骤二打开“cmd”属性表,设置“事件”选项卡下的“单击”属性为“事件过程”。VBA编程基础任务实施 事件代码Private Sub Command1_Click()If Me!Text1 Mod 3=0 Then Me!Text2=能被3整除“Else Me!Text2=不能被3整除 End If End Sub 步骤三编写Cmd的单击事件过程代码如下,编写界面:VBA编程基础任务实施 最终效果图步骤四在Text1中输入23,单击“测试”按钮后结果如图7-13所示。读者可以自行输入其他数据进行验证。VBA编程基础任务实施 2.在“图书借阅管理系统”中已创建
12、完成“系统登录”界面,在图书借阅管理系统使用的过程中为了保证系统的安全性,在登录系统是需要对用户进行验证,输入正确的“用户名”和“密码”后弹出提示框“欢迎登录!”并打开系统主界面,若“用户名”与“密码”其中一项输入错误则弹出提示“用户名或密码错误,请重新输入!”单击确定按钮并清空用户名与密码对应文本框中的数据。VBA编程基础任务实施 If Me!T=admin And Me!P=admin Then 条件验证 MsgBox 欢迎使用!,vbInformation,成功 登录提示 DoCmd.Close 关闭登录界面 DoCmd.OpenForm 系统主界面 打开系统主界面 Else MsgBo
13、x 用户名或密码错误,请重新输入!,vbCritical,提示 登录信息错误提示 Me!T=Null 清空“用户名”Me!P=Null 清空“密码”End If步骤一以“设计视图”打开“登录界面”步骤二进入“登录”按钮单击事件编辑界面,键入如下代码:VBA编程基础任务实施 事件代码VBA编程基础任务实施 登录错误登录成功步骤三将“系统登录”窗体切换到“窗体视图”,键入用户名与密码,查看设计效果。VBA编程基础任务二任务二 使用使用IFIF嵌套语句完成嵌套语句完成“登录系统登录系统”选择打开选择打开 VBA编程基础任务分析通过任务一我们完成对简单IF语句的学习,本次任务我们将学习IF嵌套语句,所
14、谓嵌套语句即在一个IF语句中包含一个或多个IF语句,使用该嵌套语句可以实现对条件的多重筛选。VBA编程基础任务分析在“图书借阅管理系统”中包含“系统主界面”以及“切换面板”,这两个窗体均对系统功能进行了汇总,如果要求在系统登录是可以根据需要实现对两个窗体的选择登录则可用IF嵌套语句完成。VBA编程基础在“登陆窗体”界面中添加选项组控件,名称为“SE”,在选项组控件中包含两个选项按钮控件,对应标签分别为“系统主界面”、“切换面板”,要求当输入正确的登录信息后,单击“登录”按钮,可根据点选的选项按钮打开相对应的窗体。若没有点选则提示“请选择打开对象”。任务分析 本次任务我们通过以下任务完成对IF嵌
15、套语句的学习VBA编程基础窗体设计设计效果 任务分析 VBA编程基础前面讲的两类分支结构,只是一层的分支结构。实际上,在If分支结构中无论是If子句还是Else子句中还都可以再包含有If形式的分支语句,本书仅对Else子句中有If语句进行介绍。知识准备If 语句的嵌套VBA编程基础执行流程图 知识准备VBA编程基础功能:实现多分支程序结构,在这种结构下我们可以把Else子句中的所有语句(虚框框起部分)当作一个整体(可以理解为一个复合语句)来对待,那么这个结构又变成了一个双分支结构,在这个双分支结构内,Else 子句又是一个双分支结构,因此在执行Else子句时,又作为双分支来处理,其具体执行流程
16、是:知识准备VBA编程基础知识准备n首先计算“条件1”的值,若“条件1”为真,则执行“语句序列1”,然后跳到第二个End If后继续执行;n否则(“条件1”为假)则执行Else和第二个End If之间的语句序列(虚框部分),在执行Else子句时,按照双分支结构的执行思路执行。VBA编程基础从上面的分析及流程图我们可以看出n当“条件1”为真时才执行“语句序列1”n当“条件1”为假并且“条件2”为真时执行“语句序列2”n当“条件1”为假并且“条件2”为假时执行“语句序列3”格式2:IfThenElse IfThenElseEnd If 知识准备VBA编程基础任务实施在“登陆窗体”界面中添加选项组控
17、件,名称为“SE”,在选项组控件中包含两个选项按钮控件,对应标签分别为“系统主界面”、“切换面板”,要求当输入正确的登录信息后,单击“登录”按钮,可根据点选的选项按钮打开相对应的窗体。VBA编程基础任务实施添加效果图步骤一根据要求在“登陆窗体”界面中添加“选项组”控件,并添加两个选项按钮。VBA编程基础任务实施步骤二进入“登陆窗体”设计视图,并进入“登陆”按钮单击事件编辑界面,修改事件代码。VBA编程基础任务实施代码编辑VBA编程基础任务实施设计效果图步骤三将“登陆窗体”切换到“窗体视图”,查看设计效果。VBA编程基础任务实施输入正确的登陆信息并点选“切换窗体”,单击登陆按钮效果。用户登录登陆
18、效果图过滤页第二部分Project development网站数据库 项目拓展VBA编程基础VB中提供Timer计时控件可以实现“定时”功能。但VBA没有直接提供Timer计时控件,而是通过设置窗体的“计时器间隔(TimerInterval)”属性与添加“计时器触发(Timer)”事件来完成类似定时功能。项目拓展计时事件(Timer)注意:“计时器间隔”属性值的计时单位为毫秒,每1000毫秒为1秒。计时器触发事件过程(Form_Timer),每隔计时器间隔(TimerInterval)规定的时间就会被激发运行一次。这样重复不断,实现了“定时”处理功能。其处理过程VBA编程基础例:创建一个窗体L
19、7_5,在该窗体上有一个标签Label1。同时,设置窗体的“计时器间隔”为1秒,计时器触发事件过程实现在Label1 标签中动态显示系统当前日期和时间。项目拓展步骤一创建名为L7_5的窗体,并在该窗体上添加一个标签名为Label1。步骤二打开窗体的属性窗口,设置“计时器间隔”属性值为1000,并选择“计时器触发”属性为“(事件过程)”项,如图7-25所示。单击其后的“”按钮,进入Timer事件过程编辑环境编写事件代码。操作步骤:VBA编程基础项目拓展在利用窗体的Timer事件进行动画效果设计时,只需将相关代码添加进Form_Timer()事件过程中即可。此外,“计时器间隔”属性值可以在代码中动
20、态设置(如Me.TimerInterval=1000)。可以通过设置“计时器间隔”属性值为0(Me.TimerInterval=0)来终止Timer事件继续发生。步骤三设置“计时器触发(Form_Timer)”事件过程如下:步骤四运行测试如图7-26所示。Private Sub Form_Timer()Me!Label1.Caption=Now()End Sub VBA编程基础项目拓展执行效果图Timer事件设置VBA编程基础项目拓展使用Timer事件完善系统登录功能功能要求:1.登陆时必须在30秒之内输入正确的用户名与密码,30秒之后弹出提示框:单击“确定”按钮后关闭“登陆界面”。提示框VB
21、A编程基础项目拓展2.在登陆窗体左上方显示登陆倒计时登陆倒计时VBA编程基础项目拓展3.在30秒之内输入密码或用户名错误,弹出提示信息:提示框VBA编程基础项目拓展4.在30内输入正确的用户名与密码后:停止倒计时弹出提示框单击“确定”按钮后实现以下功能:将用户名与密码清空关闭系统登陆界面登陆到系统主界面。提示框VBA编程基础项目拓展计时器间隔设置步骤一以设计视图打开“登陆窗体”,在窗体适当位置添加三个标签控件,名称分别为“Lab1”、“time”、“Lab2”,“Lab1”标题为“登陆计时”,“Lab2”标题为“秒”。步骤二在窗体属性表中设置其“计时器间隔”属性为“1000”。并进入“计时器触
22、发”事件编辑界面。VBA编程基础项目拓展计时时间语句步骤三进入计时器触发事件VBA编辑界面,输入VBA语句。VBA编程基础项目拓展解析:Option Compare DatabaseDim Second As Integer用于定义系统变量,该变量可在窗体的不同事件过程中使用。Private Sub Form_open(Cancel As Integer)Second=0End Sub定义窗体打开事件,在打开系统登陆窗体时,系统便开始进行登陆倒计时,因此在打开窗体时,我们需要对所定义的变量进行赋值,以便其他过程调用。VBA编程基础项目拓展Private Sub Form_Timer()If S
23、econd 30 Then MsgBox 登陆超时,请在30秒内登陆!,vbCritical,警告 DoCmd.Close Else Me!time.Caption=30 Second 设置time标签的标题属性 End If Second=Second+1实现变量值加1运算End Sub VBA编程基础项目拓展单击事件过程步骤四进入“登陆”按钮“单击”事件编辑界面,修改单击事件过程。VBA编程基础项目拓展本次任务我们将通过以下操作来学习序列宏的创建。1.创建一个宏操作,当运行该宏时实现打开“借书登记”窗体,宏名为“macro1”。过滤页第三部分Project evaluation项目测评VBA编程基础项目测评VBA编程基础项目测评过滤页第四部分Project summary项目小结VBA编程基础项目小结任务一我们通过完成“登录窗体”的用户信息功能学习了IF语句的单分支以及双分支语句结构,并学习了Msgbox消息框语句结构,该两种语句结构相对较简单,但在初学阶段应正确区分IF语句单分支结构与IF语句的双分支结构,避免出现混淆。任务二主要学习IF嵌套语句,讲解了IF嵌套语句的两种书写格式,并用过完善“登录窗体”的功能讲解了IF嵌套语句的使用方法,通过本次任务的学习要求在使用IF嵌套语句的过程中能够准确的判断出语句序列的执行条件,并能够使用IF嵌套语句实现简单系统功能代码的编辑。
限制150内