Access数据库实用教程-教案-第8章-Access的编程工具VBA_第1页
Access数据库实用教程-教案-第8章-Access的编程工具VBA_第2页
Access数据库实用教程-教案-第8章-Access的编程工具VBA_第3页
Access数据库实用教程-教案-第8章-Access的编程工具VBA_第4页
Access数据库实用教程-教案-第8章-Access的编程工具VBA_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第8章Access的编程工具VBA教学内容VBA编程环境;VBA的数据类型及运算;VBA程序流程的控制;VBA数组的概,念及用法:VBA模块的创建:VBA的数据库编程。教学要求【知识目标】理解VBA的基本概念;了解VBA的编程环境;熟悉在窗体上调用VBA代码的方法;熟悉和掌握Access程序设计的过程;理解并掌握三种程序控制结构。理解各种变量类型的使用范围及定义方法;掌握过程和常用函数的调用方法;掌握数组的基本使用方法;理解模块的概念;了解并掌握用ADO接口访问数据库的一般方法。【技能目标】掌握在模块中创建Sub过程、函数过程的方法;掌握在不同过程中通过参数的传值实现数据的传递方法;掌握使用ADO和ADO对象对数据库进行操作的方法;能利用VBA代码完成对象的操作。教学重点VBA程序设计;模块的创建和使用。教学难点1.用ADO接口访问数据原的一般方法;3.编写VBA代码。教学方法讲授法、案例法、演示法课时数20课时(授课10课时,实验10课时)课程导入【思路】举例:在窗体上单击鼠标,输入姓名后,窗体上显示欢迎等字样。分析:ACCESS的特点之一是不须编程,即可创建简单的应用系统。但这样的系统功能有限,有时无法满足用户的要求。如上例。引出:编程的好处在于:■增强系统功能■满足用户要求■方便系统维护

中断模式代表VBA程序的一种运行状态。在中断模式下,程序暂停运行,这时编程者可以查看并修改程序代码,检查各个变量或表达式的取值是否正确等。有两种情况可以使程序进入中断模式。一种是如果程序出现错误,无法继续执行,则会自动进入中断模式。第二种是通过设置断点,或在程序运行过程中单击“中断”按钮人为进入中断模式。8.6.1错误类型编程时,可能产生的错误有4种:语法错误、编译错误、运行错误和逻辑错误。语法错误语法错误是指输入代码时产生的不符合程序设计语言语法要求的错误,初学者经常发生此类错误。编译错误编译错误是指在程序编译过程中发现的错误。编译错误编译错误是指在程序编译过程中发现的错误。4.逻辑错误如果程序运行后,得到的结果和所期望的结果不同,则说明程序中存在逻辑错误。8.6.2程序调试方法为了帮助编程者更有效地查找和修改程序中的逻辑错误,VBE提供了几个调试窗口,分别是立即窗II、本地窗II和监视窗II。设置断点在程序中人为设置断点,当程序运行到设置了断点的语句时,会自动暂停运行并进入中断状态。单步跟踪也可以单步跟踪程序的运行,即每执行一条语句后都自动进入中断状态。设置监视点如果设置了监视表达式,一旦监视表达式的值为真或改变,程序也会自动进入中断模式。8.7VBA的数据库编程讲授+演示【思路】在讲解8.6节时,通过分析讲解教材中的实例,让学生理解其中涉及的相关概念,掌握VBA数据库编程的方法。注意:讲清相关的概念。讲授+演示【思路】在讲解8.6节时,通过分析讲解教材中的实例,让学生理解其中涉及的相关概念,掌握VBA数据库编程的方法。注意:讲清相关的概念。8.7.1数据访问接口ADO什么是ADO?ADO(ActiveXDataObject)即ActiveX数据访问对象,是Microsoft公司在DAO(数据访问对象)、RDO(远程数据对象)之后推出的新的数据访问对象。在VBA中引用ADO类库ADO采用面向对象方法设计,各个对象的定义被集中在ADO类库中。要使用ADO对象,先要引用ADO类库。

8.7.2ADO的主要对象ADO共有9个对象和4个对象集合。ADO的对象模型同样采用分层结构,经常被使用的是3个处在最上层的对象,分别是Connection对象、Command对象和Recordset对象。Connection对象Connection对象的作用是用于建立与数据源的连接,这是访问数据源的首要条件。要创建到数据源的连接,应该先定义一个ADO的Connection对象。方法是:DimMyCnnAsADODB.ConnectionSetMyCnn=NewADODB.ConnectionCommand对象连接到数据源后,需要执行对数据源的请求,以获取结果集。ADO将这一类型的命令功能封装在Command对象中。Command对象的作用是用来定义并执行针对数据源运行的具体命令使用Command对象,同样需要先创建一个Command对象的实例,然后通过设置Command对象的ActiveConnection属性使打开的连接与Command对象相关联。再通过使用CommandTcxt属性来定义命令(如SQL语句)的可执行文本。最后调用Command对象的Execute方法执行命令并返[^记录集。Recordset对象Recordset是最常用的ADO对象。从数据源获取的数据就存放在Recordset对象中,并旦所有Recordset对象均由记录(行)和字段(列)组成。可以使用Recordset对象的方法和属性定位到数据的各行,查看行中的值或者操纵记录集中的数据。同样使用Recordset对象需要先定义并初始化一个Recordset对象。8.7.3使用记录集中的数据【问题】VBA编程与宏的主要区别?从数据源获取r【问题】VBA编程与宏的主要区别?输出记录集中的数据插入、删除和更新记录集中的数据本章小结本章首先介绍了Access的内置编程语言VBA的有关知识,包括VBA的基本语法与设计方法,然后介绍Access编程中的常用对象、数据库访问接口ADO的使用方法,最后介绍如何在VBA程序中用ADO访问Access数据库。VBA(VisualBasicforApplication)是MicrosoftOffice内置的编程语言;基本语法等来源于BASIC,是根据VB简化的宏语言,其语法、词法与VB基本相同,它简单、易学。但VBA不是一个独立的开发工具,不能独立运行,需要Word、Excel、Access等运行环境,一般被嵌入到这样的宿主软件中。

课后练习一、问答题VBA程序设计语言有什么特点?与VisualBasic程序设计语言的区别是什么?VBE环境主要由哪些窗口组成?它们的作用是什么?什么是对象?什么是对象的属性、方法和事件?VBA的循环控制语句有哪几种?什么是过程?过程和函数的区别是什么?二、选择题(见教材)三、填空题(见教材)实验内容及要求一、实验目的熟悉和掌握Access程序设计的过程。理解并掌握三种程序控制结构。理解并掌握数组的使用方法。掌握过程和函数的创建及调用方法。了解并掌握用ADO接口访问数据库的一般方法。二、实验内容创建“随机数发生器”窗体,如图8-23所示。窗体运行后,在“从”(下限)和“到”(上限)文本框中输入数据范围,然后单击“生成”按钮,窗体中的标签显示一个在此范围内的随机数。请谕入随机数的范围:从匚_2到口。。请谕入随机数的范围:从匚_2到口。。图8-23“随机数发生器”窗体int(Rnd()*(上限-下限+1)+下限)创建“宋词欣赏”窗体,如图8-24所示。窗体运行后,选择窗体下方的单选按钮,在窗体上方显示出对应的诗词O创建“统计"窗体,如图8-25所示。窗体运行后,单击左侧的“生成”按钮,自动生成50个0-100之间的随机数。单击右侧的“统计”按钮,在右侧的各个文本框中输出统计结果。创建“雇员基本情况查询”窗体。要求如下。(1)按图8-26所示格式和内容创建窗体。(2)添加查询功能并验证查询结果。如果未输入要查询的雇员姓名,而单击“查询”

按钮,应使用消息框给出提示,提示内容为“对不起,未输入雇员姓名,清输入!”;如果输入并找到了要查找的雇员,应在窗体输出结果;否则使用消息框给出未找到信息,如图8-26所示。提示:窗体为非绑定窗体,所有的控件为非绑定式控件。饨计统计窗体图8-24“宋词欣赏”窗体16*513411027648550■生成图8-2590-100480-897图8-24“宋词欣赏”窗体16*513411027648550■生成图8-2590-100480-89770-79560-692<6032统计“统计”窗休如图8-27所示。要求在左侧的列表框中选5.创建“图书销售情况统计查询”窗体,定出版社的名称后,在右侧的文本框中显示该出版社图书的销售情况。图8-26“雇员基本情况台询”窗体出毗H华大学出质H中国商11出氐•社图8-27“图书销罟情况统计企询"窗体三、实验要求完成题目要求的设计及操作,运行并查看结果。保存上机操作结果。记录上机中出现的问题及解决方法。编写上机报告,报告内容包括如下。(1)实验内容:实验题目与要求。(2)分析与思考:实验过程、实验中遇到的问题及解决方法,实验的心得与体会。8.1VBA程序设计概述VBA(VisualBasicforApplication)是MicrosoftOffice内置的编程语言,是根据VisualBasic简化的宏语言。VBA则是根据VisualBasic简化的宏语言,其基本语法、词法与VisualBasic基木相同,因而具有简单、易学的特点。与VisualBasic不同的是,VBA不是一个独立的开发工具,一般被嵌入到像Word.Excel.Access这样的宿主软件中,与其配套使用,从而实现在其中的程序开发功能。8.1.1VBA编程环境在Office中使用的VBA开发界面被称为VBE(VisualBasicEditor),它具有编辑、调试和编译VB程序的功能。讲授【补充】程序:命令的有序集合;程序设计:编写、调试程序的过程;程序设计语言:机器语言/汇编语言/高级语言。⑷编程的过程:讲授【补充】程序:命令的有序集合;程序设计:编写、调试程序的过程;程序设计语言:机器语言/汇编语言/高级语言。⑷编程的过程:®规划®编写代码®程序调试工具栏在VBE环境中包括标准、编辑、调试和用户窗体工具栏。一般除了标准工具栏总是被显示外,其他凡个工具栏可以在用到时使用菜单“视图”一“工具栏”调出。工程资源管理器窗口工程资源管理器窗口用层次列表的形式给出了当前应用程序中的所有窗体、报表和VBA程序模块,因而通过该窗口可了解当前VBA应用程序的构成情况。代码窗口讲授+演示代码窗II主要用来显示、编辑模块中的程序代码。

讲授+演示属性窗口属性窗口列出了所选对象控件的各种属性。在前面章节设计窗体、报表等对象时也用到了属性窗口(属性表对话框),不过那里的属性己经被翻译成了中文。可以在Access数据库环境中的属性窗口设置对象的各种属性值,也可以在VBE环境的属性窗II设置对象的各种属性值。但是在程序代码中必须使用控件属性的英文形式。例如,下面的程序代码将当前窗体的标题改为“身份验证”。注意,这里使用了“Caption”而不是"标题"。其中的"Me"代表当前窗体。Me.Caption—身份验证"立即窗口立即窗口用来在调试程序的过程中给变量临时赋值或输出变量或表达式的值。在Access中,通常使用Debug对象的Print方法进行输出。讲授【思路】针对每个概念,最好通过具体实例进行讲解。如,属性、方法、事件等。讲授【思路】针对每个概念,最好通过具体实例进行讲解。如,属性、方法、事件等。VBA采用了面向对象的程序设计方法。对象和集合对象就是构造应用程序元素。对象好比积木块,它是VBA应用程序的基础构件。在开发一个应用程序时,必须先建立各种对象,然后围绕对象进行程序设计。为了能在程序中对具体的数据库进行操作和管理,Access提供了•整套数据库的对象,每个对象都有各自的属性、方法和事件。类是对一类相似对象的定义和描述。【提示】对象的引用:指明某个对象的属性(或事件、方法)的归属层次的描述。对象的引用的写法:对象.属性名【问题】是每个控件都有焦点事件吗?对象集合是由一组对象组成的集合,这些对象的类型可以相同,也可以不同。例如,在AccessH4有对象集合Forms,其中包含了【提示】对象的引用:指明某个对象的属性(或事件、方法)的归属层次的描述。对象的引用的写法:对象.属性名【问题】是每个控件都有焦点事件吗?Access中的对象大多有父子关系。在VBA代码中访问对象,要从根对象开始,逐步取其子对象,直到要访问的对象为止。属性和方法对象的特征用属性和方法来描述。属性用来表示对象的状态,如窗体的Name(名称)属性Caption(标题)属性等。方法用来描述对象的行为,如窗体有Refresh方法,Debug对象有Print方法等。事件和事件过程事件是对象能够响应的各种动作。一个对象所能响应的事件的集合是由系统定义好的。应用程序对事件的处理就是事件过程。8.2VBA编程基础程序的本质是处理数据。在学习编程之前,应先了解VBA是怎样对数据进行划分,以及怎样对数据进行运算的。讲授8.2.1数据类型讲授VBA的数据类型共有13种。每种数据类型的数据在存储时所占的存储空间和处理时

能够进行的运算都不相同。数据类型决定:所占存储空间的大小;能够进行的运算;取值范围.在VBA应用程序中,需要对变量的数据类型进行说明。VBA提供了较为完备的数据类型,Access数据表中的字段使用的数据类型(OLE对象和备注字段数据类型除外),在VBA中都有对应的数据类型。在定义方式上,除支持符号定义方式外,还支持使用关键字定义方式。常量常量就是其值在程序运行期间不变的量。常量又分为字面常量、符号常量和固有常量。字面常量字面常量是常量按照其实际数值表示。各种类型的字面常屈表示如下。各种数字型常量。字符型常量。日期型常量。布尔型常量:符号常量可以定义用符号代替常量,如用符号PI代替3.1415926.如果程序中多处用到某个常量,将其定义成符号常量是一个好方法。这样的好处是一方面增加了代码的可读性,另一方面也便于维护。固有常量这是一类特殊的符号常量,通常已经预先在类库中定义好,编程者只要直接使用这些已经定义好的符号常量即可。变量变量是其值在程序运行期间变化的量。计算机处理变化的数据的方法是将数据存储在内存的一块临时存储空间中,所以变量实际代表的就是内存中的这块被命名的临时存储空间。【提示】是内存中用于存储数据的临时空间;使用前最好先声明。讲授【提示】是内存中用于存储数据的临时空间;使用前最好先声明。讲授【思路】选择几种常用函数,进行举例说明,加深学生对函数的理解,变量的声明一般,变量在使用前应该先声明。用Dim语句显式声明变量,格式为Dim变量名[AS类型]函数VBA提供了大量的内置函数,这些函数极大地丰富了VBA的功能,方便了使用者。函数有函数名、参数和函数值3个要素。函数名:是函数的标识。参数:是调用函数时被传给函数的数据,一般写在函数名后的括号中,也可以没有参并能根据所需选择和应用。讲授【思路】通过具体实例讲解表达式的概念及写法讲授+演示并能根据所需选择和应用。讲授【思路】通过具体实例讲解表达式的概念及写法讲授+演示【问题】输入一个数,判断该函数值:是函数返回的值,函数的功能决定了函数的返回值。按照函数的功能,VBA的内置.函数可分为数学函数、字符串函数、日期函数、转换函数等。8.2.5表达式要对数据进行运算就要构造表达式,表达式是将常量、变量、字段名称、控件的属性值和函数用运算符连接而成的运算式。VBA中有5类运算符,使用这些运算符可以分别构成算术表达式、字符表达式、关系表达式、布尔表达式和对象引用表达式。算术表达式算术运算符共有7个,可以构成算术表达式。字符串表达式字符运算符只有1个&,作用是连接两个字符串。关系表达式关系运算符用来实现对数据的比较,结果为逻辑值True或Falseo布尔表达式布尔表达式也叫逻辑表达式,用来实现对逻辑量True和False的运算。对象引用表达式如果在表达式中用到对象,则要构造对象引用表达式,结果为被引用的对象或被引用对象的属性值或方法。对象引用运算符有2个:“!”和。可以使用完整标识符引用对象、对象的属性或方法。如引用窗体“系统登录”中文本框“txt密码”的完整引用形式为:Forms![系统登录]![txt密码]。8.3VBA程序流程控制程序由语句组成。年个程序语句由关键字、标识符、运算符和表达式等组成。每条语句指明了计算机要进行的具体操作。按照语句所执行的功能,VBA的程序语句有声明语句、赋值语句、注释语句、控制语句等。VBA程序书写原则:VBA不区分字母的大小写,应使用半角符号;•在程序中可适当添加空格和缩进;一行写一条语句,多条语句写在同一•行时用“:”分开;一条语句分多行写时用1个空格加下划线“续行。8.3.1程序的顺序控制有些程序很复杂,但任何复杂的程序经过分解后都可以看做是由三种基本结构组成的。程序的三种基本控制结构是顺序结构、分支结构和循环结构。顺序结构是最简单的一种结构。程序运行时,计算机按照语句的排列顺序依次执行程序中的每一条语句。8.3.2程序的分支控制

类似上一章的仃宏操作,分支结构是用条件来控制语句的执行。在VBA中,执行分支结构控制的语句有If语句和SelectCase语句。If・"Then・"Else语句语句格式为:If〈表达式〉Then〈语句块1>Else〈语句块2>EndIf执行时,先判断表达式的值,为True则执行语句块1,否则执行语句块2。〈表达式》可■以是任何表达式,一般为关系表达式或布尔表达式。如果是其他表达式,则非0认为是True,0认为是False。If***Then***ElseIf语句如果需要用多个条件对程序进行控制,可以使用If-Then-Elself语句。其语句格式为:If〈表达式1>Then〈语句块1>Elself〈表达式2>Then〈语句块2>[Elself〈表达式n>Then〈语句块n>Else〈语句块n+l>]EndIf运行时,从表达式1开始逐个测试条件,当找到第一个为True的条件时,即执行该条件后所对应的语句块。SelectCaseVBA中的另一个多分支语句是SelectCase语句。其语句格式为:SelectCase〈变量或表达式〉Case〈表达式列表1>语句块1Case〈表达式列表2>语句块2•♦•[CaseElse语句块n+1]EndSelect数是奇数还是偶数.讲授+演示【思路】在讲解节时,可以通过演示教材中的实例,使学生了解如何实现程序的分支控制。4.分支嵌套使用各种分支语句时可以在其中的语句块中嵌套另一个分支语句,这就是分支嵌套。而且各种分支语句之间也可以嵌套,例如,在If-Thon-Else语句中嵌套SelectCase语句等。8.3.3程序的循环控制循环控制结构也叫重复控制结构。特点是程序执行时,该语句中的一部分操作即循环体被重复执行多次。在VBA中,执行循环控制的语句有For循环语句和I)o-l.oop循环语句。For循环语句语句格式为:For〈循环变量>=〈初值〉to〈终值〉[Step〈步长>]〈语句块〉[ExitFor]〈语句块〉Next〈循环变量〉【)()•••Loop循环语句该语句适合的范围更广。有以下两种形式。形式1:Do{WhilelUntil}<条件〉语句块[ExitDo]语句块Loop循环嵌套与分支结构相似,各种循环控制语句也可以嵌套,并旦分支结构和循环结构彼此之间也可以进行嵌套。通过各种语句之间的这种嵌套,就可以实现更复杂的程序控制。儿种循环语句的比较。8.4VBA数组如果在程序中要对-•组数据进行处理,通常的解决方法是将这组数放在数组中。数组并不是一种数据类型而是一组相同类型的变量集合。在程序vzhong使用数组的最大好处是用一个数据名代表逻辑上相关的一组数据,用下标来区别该数据组中的各个元素。8.4.1数组的概念及定义数组是一组相同类型的数据的集合。它属于构造数据类型,可以由变量这样的基本类型构造而成。1.一维数组的定义【问题】求解:1+2+3+-+10?讲授+演示【思路】在讲解8.3.3节时,通过分析、讲解和演示教材中的实例,让学生了解如何实现程序的循环控制。【问题】要处理10个人的考试成绩,怎么组织这些数据?讲授讲授+演示讲授+演示【思路】在讲解8.4.2节时,通过分析讲解教材中的实例,让学生理解数组的概念和使用方法。讲授+演示【思路】在讲解8.5节时,通过分析讲解教材中的实例,让学生掌握VBA模块的创建中的概念及创建方法。注意:讲清相关的概使用数组必须先定义数组,一维数组的定义格式为:Dim数组名([<下界〉to]〈上界»[As〈数据类型>]2.二维数组的定义二维数组其定义格式为:Dim数组名(K下界〉to]〈上界〉,K下界〉to]〈上界»[As〈数据类型〉]8.4.2数组的应用一旦定义了数组,就可以用前面介绍的对变量的处理方法处理数组,并且可以用循环语句对数组进行处理,从而简化程序的书写,提高程序的可读性。数组可以看做是程序中对成组数据的组织方法,使用数组可■以提高数据的处理效率。本节主要介绍了一维和二维定长数组的定义和使用方法,关于动态数组和多维数组等其他内容,可参考有关书籍。8.5VBA模块的创建VBA程序是由模块组成的。使用工程资源管理器窗口就可以直观地看到当前所打开的Access程序的构成。组成VBA程序的模块有类模块和标准模块,类模块通常和某个具体的对象相连,前面章节所建立的窗体和报表都属于类模块。8.5.1VBA标准模块模块是存储代码的容器。标准模块一般用来承载在程序其他模块中要引用的代码,这些代码按照其是否有返回值可以被组织成Sub过程和Function函数。因而标准模块不与某个具体的对象相连,它的作用就是为其他模块提供可共享的公共Sub过程和Function函数。过程的创建和调用过程一般是一段可以实现某个具体功能的代码。与函数不同,过程没有返回值。既可以在类模块中创建过程,也可以在标准模块中创建过程。8.5.3函数的创建和调用与过程不同,函数有返回值。VBA的函数包含内置函数和用户自定义函数两种。关于内置函数前面己有介绍,这里主要介绍如何在模块内创建自定义函数。创建函数与创建过程的方法相似,不同的是在图8-10所示的“添加过程”对话框中应将类型选择为“函数”。考虑到函数有返回值,因此在定义函数时应特别注意要指明函数的返回值的类型,并且在函数体内给函数赋值.函数的定义形式如下:[PubliclP

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论