中文版Access 2007循序渐进教程 课件第7章

上传人:飞*** 文档编号:48578289 上传时间:2018-07-17 格式:PPT 页数:55 大小:2.40MB
返回 下载 相关 举报
中文版Access 2007循序渐进教程 课件第7章_第1页
第1页 / 共55页
中文版Access 2007循序渐进教程 课件第7章_第2页
第2页 / 共55页
中文版Access 2007循序渐进教程 课件第7章_第3页
第3页 / 共55页
中文版Access 2007循序渐进教程 课件第7章_第4页
第4页 / 共55页
中文版Access 2007循序渐进教程 课件第7章_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《中文版Access 2007循序渐进教程 课件第7章》由会员分享,可在线阅读,更多相关《中文版Access 2007循序渐进教程 课件第7章(55页珍藏版)》请在金锄头文库上搜索。

1、第第7 7章章 学习使用学习使用VBA VBA “超级货架超级货架”什么是什么是VBAVBA “内部结构内部结构”VBAVBA程序的基本语法与书写格式程序的基本语法与书写格式 “增加内涵增加内涵”功能功能模块的创建模块的创建 “兢兢业业兢兢业业” ” VBAVBA程序的调试程序的调试 典型实例:给典型实例:给“ “考勤管理系统考勤管理系统” ”添加功能代码添加功能代码 7.1 “超级货架”什么是VBA VBA(Visual Basic for Application)是 Microsoft Office系列的内置编程语言,其功 能十分强大。在Access 2007中,VBA的功能是通过模块来

2、实现的。事实上,在Access 2007中,程序设 计的核心工作就是编写模块和事件过程。 如下图所示为Access 2007中VBA程序的编 写界面。 打开此窗 口的方法 为在“创建 ”选项卡中 单击“宏” 下拉按钮 ,在打开 的列表中 选择“模块 ”项功能模块 的事件过 程(不同 的功能模 块,具有 不同的事 件过程, 实际上这 里就是所 谓的程序 源代码) 功能模块属性窗格7.2 “内部结构”VBA程序的基本 语法与书写格式 7.2.1 变量和常量 在任何编程语言中,都要用到变量和常量,它们都 是用来存储数据的。变量存储的是经常需要变动的 数据,常量储存的是不用改变的数据(或对象)。 1变

3、量 变量在引用之前必须被声明,声明一个变量就是 事先将变量的有关信息告诉程序,声明变量要使 用Dim语句,其语法格式为: Dim Str1 As String 声明一个名为Str1的字符串变量 Str1=“Hello“ 给变量赋值 Str1=“Goodbye“ 改变变量的值Dim 变量名 As 类型 以上语句中的“As 类型”子句是可选的。如果选择 了该子句,就可以定义变量的数据类型或对象类 型。例如以下语句:2常量 在VBA中,声明常量的语法格式为: Const 常量名 As 类型表达式在这个表达式中,“常量名”的命名规则同变量一 样,语句中的“表达式”是由数值常量和字符串常 量以及运算符组

4、成的。例如: Public Const PI=3.1415926 声明一个在整个程序中都能使用的常量PI 7.2.2 流程控制语句 程序员最基本和最重要的工作就是告诉计算机何 时要做出什么样的动作。就像一个交通警察指挥 大量的车辆和行人何时该走、何时该停、该向哪 边走一样。 本节主要介绍If语句、Select Case语句、 Do.Loop语句、For.Next语句、GoTo 语句以 及With语句等流程控制语句,下面我们分开详 细介绍。 1If 语句 If语句是我们最常用的一种分支语句。它符合人们 通常的语言习惯和思维习惯。比如if(如果)绿灯 亮是真,then(那么)车就可以通行,else

5、(否则 )车辆要等待行人通过。 If语句有三种语法形式。 1)最简单的形式 if then 2)带有else的形式if thenelseend ifif thenelseif thenelseend if3)带有多重条件的形式2Select Case语句 根据表达式的值,来决定执行多组语句中的哪一 组,这就是Select Case语句。它的语法如下: Select Case 表达式Case 表达式列表1语句陈述1Case 表达式列表2语句陈述2.Case 表达式列表n语句陈述n End Select下面的实例可以使我们进一步了解Select Case语 句的用法。 Dim Score As I

6、nteger Select Case ScoreCase Is = 90MsgBox “You got an A on the test. “Case 80 To 89MsgBox “You got a B on the test. “Case 60 To 79MsgBox “You got a C on the test. “Case ElseMsgBox “You failed. “ End Select在此例子中,Case语句按照先后顺 序进行比较,首先执行与第一个 Case条件相匹配的代码,若不存在 匹配的条件,则执行Case Else语句 ,然后程序将执行End Select语句 后

7、面的代码。 3DoLoop语句 用Do.Loop语句可以定义要多次执行的语句块。 我们也可以定义一个条件,当这个条件为假时, 就结束这个循环。Do.Loop语句有以下两种形式 。 第1种: DoWhile|UntilExit DoLoop第2种: DoExit Do LoopWhile|Until 上面格式中,是用来检查真(非零)或假( 零或Null)的一个比较谓词或表达式。While子句 和Until子句的作用正好相反。 如果指定了一个While子句,则当是真, 就继续执行。如果指定了Until子句,则当 为真时,循环执行结束。 4ForNext语句 按照指定次数来重复执行同一组语句,这就是

8、 For.Next 语句。 在事先不知道循环需要执行多少次时,应该使 用Do循环。而事先知道要执行多少次时,最好 使用For.Next语句。 ForNext语句的语法格式为: For 循环控制变量=初值 To 终值 Step 步长循环语句 Next其中,“Step 步长”可以省略,省略时步长为1。循环 控制变量可以为整型、长整型、实型以及字符串; 但最常用的还是整型和长整型。 在循环中可以通过Exit For跳出循环体,下面的例子 说明了ForNext语句的使用方法: For i=1 To 100 Step 2Score=Score+10 Next上边语句的意义是:将初值赋予循环控制变量,即循

9、 环控制变量的值从1开始,在执行完一次循环体后, 将循环控制变量加上步长2,当i的值大于100时,跳 出循环。是一个逻辑表达式,if语句通过检查 的真或假来进行语句判断。 比如,若为True(真),则执行紧接在关 键字Then后面的一条或多条语句。 若为False(假),则无论接下来是什么 语句,程序都检查下一个Else或执行 Else关键字后面的语句。 6With语句 在引用对象的时候,我们通常会感到冗长的对象限 定,繁琐而又累赘。如果你喜欢简单,那么用With 可以简化代码中对复杂对象的引用。 可以用With语句建立一个“基本”对象,然后用一个 速记符号来引用这个对象上的对象、集合、属性或

10、 方法。 With End With例如,下面的代码来自一个Access窗体,它设置 了一个组件框控件的“可见性”属性,并调用了该组 件框的两个方法。With Me!cboAuthorSearchList.Visible=True 设置为可见.Dropdown 点击下拉菜单 End With 7.2.3 过程与函数 简单地讲,过程和函数就是指能够执行特定功能的 语句块,都是为编写程序而服务的。但是它们之间 是有区别的。 1过程 过程是VBA代码的一个单元,它包括一系列用于 执行某个任务或是进行某种计算的语句。过程只执行一个或多个操作,没有返回值。比如 下面就是一个过程的例子。Sub cmdSm

11、allFont_Click()With Selection.Font.Name=“Arial“.Size=16End With End Sub上面列出的代码就是一个简单的过程。实际上在With 下的所有操作,默认访问的都是cmdSmallFont对象通常用Sub声明一个新的过程,其语法格式如下: Private|Public|FriendStaticSub name(arglist )statements End Sub各项的意义请参考书中表格7-1。 2函数 函数其实也是过程,不过它是一种特殊的、能够返 回具体值的过程,返回的值通常是计算的结果或测 试的结果,能够在表达式中使用。用Funct

12、ion语句可以声明一个新函数。其语法形 式如下: Public | Private | FriendStatic Function name (arglist) As typestatementsname=expressionExit Function End Function各项的意义请参考 书中表格7-2 7.2.4 注释语句 注释语句就是穿插在程序代码中并对代码的意义 和功能进行说明的语句,它不参与程序的运行。 在VBA程序中,添加注释可以通过两种方式来实 现:一是使用Rem语句,二是使用“”符号。 Dim Mystr1,Mystr2 Mystr1=”Welcome” :Rem为Myst

13、r1赋值。 Mystr2=”Goodbye” 为Mystr2赋值。这也是一条注释,无需使用冒号 。 “Rem注释”在语句 之后要用冒号隔开 。 7.2.5 语句的连写和换行 Dim MyNO As StringMyNo=“2002091229”可以写成下面的一行:Dim MyNo As String:MyNo=“2002091229”一般而言,程序语句都是一句一行,但是有些时 候可能需要在一行中连写几句代码。这时需要用冒 号“:”来分开这些不同用途的语句。例如: 另外,还有一种情况在编程中经常遇到,那就是程 序代码过长,虽然一行能够写完。但是书写起来不 方便,看上去也不美观,希望将这句代码分开

14、写成 几行。这时要用到空格加下划线“ _”,比如下面的例子。Public Const Date=#1/1/2000#,Author=“Nancy“, _ Tel=“62774059“空格加下划线(“ _”)被称为续行号,它可以把语 句分成两行或多行,用于解决程序代码中语句过长 的问题。 7.3 “增加内涵”功能模块的创建 7.3.1 模块简介 模块作为Access数据库中的一个重要对象,它是 将VBA声明、表达式和程序作为一个单元进行保 存的集合。 模块由一个通用声明部分以及一个或多个子程序 或函数组成的。模块的通用声明部分用来对要在 模块中或模块之间使用的变量、常量、自定义数 据类型以及模块

15、级的Option语句进行声明。其它 部分为子程序或函数部分,具体如下图所示。这是多 功能模 块(写 在窗体 的模块 就是窗 体操作 模块, 写在报 表里边 的就是 报表模 块) 模块的 声明部 分 模块里 边的函 数和代 码 7.3.2 创建具有密码验证的主窗体模块 1打开“计件工资管理系统”数据库,打开新建“ 窗体”的设计视图 单击组合框按 钮,将鼠标光 标移动到要添 加组合框的位 置单击鼠标左 键,添加一个 组合框23 将组合框的标签修改为“请选择要 打开的表格”。然后双击组合框, 打开组合框的“属性”窗口单击“数据”标签,在“行 来源类型”下拉列表中选 择“值列表”项在“行来源”中输入几

16、个已经创建好 的窗体的名称:“人事表”;“加班表” ;“请假表”456在组合框的 下面添加两 个命令按钮 ,并更名为 “打开”和“关 闭”选中“打开”按钮,然后单 击代码按钮,打开该窗 体的代码编辑窗口 79在事件列表中选 择“Click”项 在对象选择下拉列表中选 择“Command2”项 为“打开”按钮的单击事件 输入代码 81012在事件列表中选 择“Click”项 在对象选择下拉列表中选 择“Command3”项 为“关闭”按钮的单击事件 输入代码 111315在对象列表中选择“Form”,在事 件过程列表中选择“Load”事件 为Load事件输入代码 1416双击打开“密码窗体”,将 首先弹出要求输入密码的 窗口,输入密

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号