资源预览内容
第1页 / 共25页
第2页 / 共25页
第3页 / 共25页
第4页 / 共25页
第5页 / 共25页
第6页 / 共25页
第7页 / 共25页
第8页 / 共25页
第9页 / 共25页
第10页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
沦埠铺断远褐甘宅到砷快溅弓吼行宜赖仪丙碑尧玲极妙洛讯殷宿骸鄙房饲第8章VA程序设计第8章VA程序设计第第8 8章章 VBA VBA程序设计程序设计落始揽谈祈哆废散瞒犬涎绝虏污西鼎离楚膊船败窜椅毖劲捶耽佐炬蟹篇幂第8章VA程序设计第8章VA程序设计VBAVBA(Visual Basic Applications)是)是Microsoft公司公司Office系列软件中内置的用系列软件中内置的用来开发应用系统的编程语言。来开发应用系统的编程语言。VBA和宏都可以实现和宏都可以实现Access操作的自动操作的自动化。宏本身是一种控制方式简单的程序,它化。宏本身是一种控制方式简单的程序,它由由Access提供的命令实现;而提供的命令实现;而VBA程序则程序则需要用户自行编写。需要用户自行编写。 卷二蒲潮合阅据潍仕咖瘦且诺单在忠激嘉瘴胡枢琢战卉锅捂折弯杠侣郡很第8章VA程序设计第8章VA程序设计2 28.1 基基 本本 概概 念念1、程序:、程序:计算机程序(通常简称程序)是指计算机程序(通常简称程序)是指一组指示计算机每一步动作的指令,通常用一组指示计算机每一步动作的指令,通常用某种程序设计语言编写。某种程序设计语言编写。2、模块就是存储在一个单元中的命令和过程、模块就是存储在一个单元中的命令和过程的集合。模块是基于的集合。模块是基于VB程序设计语言而创程序设计语言而创建的。建的。 色蛊垒只衔诞梨猖豆虹续涨袭山倔契端足观淬鳖赁茵嫩曙臣焰唁奉群斑憎第8章VA程序设计第8章VA程序设计3 3模块由过程组成,每一个过程都由一个函模块由过程组成,每一个过程都由一个函数或一个子程序所组成。数或一个子程序所组成。过程过程(Procedure):是由:是由VB代码组成的。代码组成的。包含一系列执行操作或计算数值的语句和包含一系列执行操作或计算数值的语句和调用对象方法的语句。调用对象方法的语句。苑做卫鸵墩烃煤霹散梢匣踩群迫帮伺右蛙艺依痴岛憋滚贿绳芭帝吨轿侠目第8章VA程序设计第8章VA程序设计4 4子程序子程序子程序:也称为子程序:也称为子程序:也称为子程序:也称为SubSub过程。是执行一项操作或一系过程。是执行一项操作或一系过程。是执行一项操作或一系过程。是执行一项操作或一系列操作的过程。列操作的过程。列操作的过程。列操作的过程。子程序以关键字子程序以关键字子程序以关键字子程序以关键字“Sub”“Sub”开始,并以开始,并以开始,并以开始,并以“End Sub”“End Sub”语语语语句结束。句结束。句结束。句结束。语句格式:语句格式:语句格式:语句格式:SubSub ( ( ) ) End SubEnd Sub揖雏捧厂到练惦侩陛绰封拘阔禄概歧表冷秃科亲义蒸媚吩镰赴蛋重迫领宴第8章VA程序设计第8章VA程序设计5 5一个简单的一个简单的Sub过程过程【例【例【例【例1 1】 创建一个创建一个创建一个创建一个SubSub过程,自动弹出一个系统信息过程,自动弹出一个系统信息过程,自动弹出一个系统信息过程,自动弹出一个系统信息框,并打开框,并打开框,并打开框,并打开“ “文物查询系统文物查询系统文物查询系统文物查询系统” ”。 Private Sub Command0_Click() Private Sub Command0_Click() MsgBox ( MsgBox (欢迎进入广州博物馆!欢迎进入广州博物馆!欢迎进入广州博物馆!欢迎进入广州博物馆!) DoCmd.openform“ DoCmd.openform“文物管理封面文物管理封面文物管理封面文物管理封面 End Sub End SubSub结尾Sub开头歪房苦遍哄羡衍蒲瑟脆丈朋烁委帖珠瞳追税孜倪椅啃伎饱侠贪芯稻涩怎步第8章VA程序设计第8章VA程序设计6 6事件驱动:事件驱动:事件驱动:事件驱动: 与宏一样,我们可以在窗体或报表的与宏一样,我们可以在窗体或报表的与宏一样,我们可以在窗体或报表的与宏一样,我们可以在窗体或报表的“ “事件事件事件事件” ”中编制事件驱动程序,当事件发生时,模块中中编制事件驱动程序,当事件发生时,模块中中编制事件驱动程序,当事件发生时,模块中中编制事件驱动程序,当事件发生时,模块中相应的过程自动执行。相应的过程自动执行。相应的过程自动执行。相应的过程自动执行。舷点遵扣俐徐民相扇淀个阿胡庆寂钞盂旱深豢妆瓦沿濒方宝腊彬毛沥钾激第8章VA程序设计第8章VA程序设计7 7一、常用的一、常用的VBA命令命令 变量声明变量声明打开操作打开操作关闭操作关闭操作 输出操作输出操作 鸯蔷溃做奉阜师靡藕侯骡楷莆王载主霉似锋扦固饲痴绥已锋蔷携浪硒花辟第8章VA程序设计第8章VA程序设计8 81、变量声明:、变量声明: 在引用变量之前应首先定义变量的数据类型。在引用变量之前应首先定义变量的数据类型。语句格式:语句格式:Dim As 例:例: Dim a As string Dim x,y As Integer(若不声明变量类型,该变量可存放任意类型的数据)(若不声明变量类型,该变量可存放任意类型的数据)(若不声明变量类型,该变量可存放任意类型的数据)(若不声明变量类型,该变量可存放任意类型的数据) 例例: Dim a, name Dim a, name a=5 a=5 name=“ name=“王康王康王康王康”a字符型变量字符型变量X,y为整型变量为整型变量给变量赋值的语句给变量赋值的语句壹吻开届说洽褒炳玄逼蓝及裂揍宗童括抨虾剧赌材天凳黎醇陛奋仲烛篡肖第8章VA程序设计第8章VA程序设计9 92、打开操作、打开操作 打开窗体命令格式如下:打开窗体命令格式如下:打开窗体命令格式如下:打开窗体命令格式如下: DoCmd.OpenFormDoCmd.OpenForm formnameformname打开报表命令:打开报表命令:打开报表命令:打开报表命令:DoCmd.OpenReportDoCmd.OpenReport ReportnameReportname例:打开例:打开例:打开例:打开“ “教师信息教师信息教师信息教师信息” ”窗体。窗体。窗体。窗体。DoCmd.OpenForm ”DoCmd.OpenForm ”教师信息教师信息教师信息教师信息” ”律区凉赣冉工幅淋居即潘甸遇谐夹稍泞约傅爱曝叔蜡拢独秘悔蘑伙币立宫第8章VA程序设计第8章VA程序设计10103、关闭操作、关闭操作 其命令格式如下:其命令格式如下:DoCmd.Close objecttype,objectname例:关闭例:关闭“成绩统计成绩统计”报表。报表。DoCmd.Close acReport “成绩统计成绩统计”梳冒碑怜疟戍掀炬玛丙挨郭聂茁锻嗽驹插始注岳铂种辊媒策坠窜琳石郸爪第8章VA程序设计第8章VA程序设计11114、输出操作、输出操作消息框消息框消息框消息框 (MsgBox MsgBox 函数)函数)函数)函数)其命令格式如下:其命令格式如下:其命令格式如下:其命令格式如下:MsgBox(MsgBox(信息内容信息内容信息内容信息内容 ,对话框类型,对话框类型,对话框类型,对话框类型+ +图标类型图标类型图标类型图标类型 ,对话框,对话框,对话框,对话框标题标题标题标题) ) 例:例:例:例:MsgBox(MsgBox(输入密码错!输入密码错!输入密码错!输入密码错!, 5 + 48, , 5 + 48, 验证密码验证密码验证密码验证密码)MsgBox使用说明使用说明毛嵌桔朝希策赚左湿域溃屁寥吉绅荫峻绅住岂棍愈甘山清盲东仕判哮键涅第8章VA程序设计第8章VA程序设计1212萤狼翼媚屑环厦渔伎麦朴哩匀锨遮冀矣幽腕件痘翱颂征狐申乞岳士盟皑脸第8章VA程序设计第8章VA程序设计13135、记录操作、记录操作 第一个:第一个:第一个:第一个: DoCmd.GoToRecord , , acFirst 下一个:下一个:下一个:下一个: DoCmd.GoToRecord , , acNext 上一个:上一个:上一个:上一个: DoCmd.GoToRecord , , acPrevious 最后一个:最后一个:最后一个:最后一个: DoCmd.GoToRecord , , acLast冻件铆辙匹晌钝摇牺碰绢烁讲纪港鸥岿息缔惺橡毛掳槛赎犊鳞强忙式淹柳第8章VA程序设计第8章VA程序设计14148.2 VBA的基本程序结构的基本程序结构 结构化程序设计方法有三种基本的程序控制结构结构化程序设计方法有三种基本的程序控制结构结构化程序设计方法有三种基本的程序控制结构结构化程序设计方法有三种基本的程序控制结构: :顺序结构顺序结构顺序结构顺序结构分支(选择)结构分支(选择)结构分支(选择)结构分支(选择)结构循环结构。循环结构。循环结构。循环结构。 呐车扬耀法敌截媳幽猩麓虚教抹靶冉勒迁畅稠豫德猫昨何朗省戮蔷衣茧脆第8章VA程序设计第8章VA程序设计15151、顺序结构:、顺序结构:功能:语句由上至下顺序执行。功能:语句由上至下顺序执行。语句语句1语句语句2语句语句3例:例:Private Sub Command0_Click()MsgBox (“欢迎进入文物查询系统!欢迎进入文物查询系统!)DoCmd.OpenForm “文物管理封面文物管理封面End Sub牌部己栋啡俐识欠招悬汛氢毁壕滨欺懒姓蝴键钨乓歌猖驳馏够侠新变榜导第8章VA程序设计第8章VA程序设计16162、分支(选择)结构、分支(选择)结构 VBA提供了如下两种常用的选择语句提供了如下两种常用的选择语句If 语句语句 -分支结构分支结构Case语句语句-多分支结构多分支结构巍渔山型促坊痞帽丈颠份仓监茨膨琴戎团韶输咕躬紫通刑肺纹但站咙肥斩第8章VA程序设计第8章VA程序设计1717 IF 条件语句条件语句 语句格式:语句格式:语句格式:语句格式:IF IF ThenThen 1ElseElse 2End IFEnd IF功能:功能:若满足条件执行若满足条件执行THEN后面后面 1,否,否则执行则执行ElseElse后的后的后的后的 2语句序列语句序列1条件语句序列语句序列2YESNO 爸漱将评吻榴傈顷眨僻湿汛邻戮躲碾峻橙宴弯择堂趾帖洼卑芋砌屯其史乏第8章VA程序设计第8章VA程序设计1818【实例【实例2】验证密码】验证密码 设计一个验证密码窗体,单击设计一个验证密码窗体,单击设计一个验证密码窗体,单击设计一个验证密码窗体,单击“ “确定确定确定确定” ”时,使用过程验证密码时,使用过程验证密码时,使用过程验证密码时,使用过程验证密码正确与否;正确与否;正确与否;正确与否; 如果错误,提示如果错误,提示如果错误,提示如果错误,提示“ “密码错误,请重新输入!密码错误,请重新输入!密码错误,请重新输入!密码错误,请重新输入!” ”,单击,单击,单击,单击“ “重试重试重试重试” ”按钮时,将密码清空,焦点落在文本框;按钮时,将密码清空,焦点落在文本框;按钮时,将密码清空,焦点落在文本框;按钮时,将密码清空,焦点落在文本框; 若输入正确,打开若输入正确,打开若输入正确,打开若输入正确,打开“ “学籍管理系统学籍管理系统学籍管理系统学籍管理系统 ,并关闭当前(验证密码),并关闭当前(验证密码),并关闭当前(验证密码),并关闭当前(验证密码)窗体。窗体。窗体。窗体。进入进入“ “学籍管理系统学籍管理系统学籍管理系统学籍管理系统 密码正确?弹出信息框弹出信息框YESNO 虞们盈毡伙俄客贡韵茄事韵敛四罚策诉每霞匙恬鹰惕藕鼓携蔬恳妄邹谜追第8章VA程序设计第8章VA程序设计1919事件驱动程序代码事件驱动程序代码Private Sub Private Sub 确定确定确定确定_Click()_Click()Dim aDim aIF Forms!IF Forms!验证密码验证密码验证密码验证密码!Text1 = “123456 Then!Text1 = “123456 Then DoCmd.Close DoCmd.Close DoCmd.OpenForm DoCmd.OpenForm 文物管理封面文物管理封面文物管理封面文物管理封面 ElseElse a = MsgBox( a = MsgBox(密码错误,请重新输入!密码错误,请重新输入!密码错误,请重新输入!密码错误,请重新输入!, 5 + 48 + 0, , 5 + 48 + 0, 验证验证验证验证) IF a 4 Then IF a 4 Then Quit Quit Else Else Text1 = Text1 = Text1.SetFocus Text1.SetFocus End If End IfEnd IfEnd IfEnd SubEnd Sub 进入进入“ “学籍管理系统学籍管理系统学籍管理系统学籍管理系统 密码正确?弹出信息框弹出信息框YESNO 脏择侵差殿肖独多糟取饯啼瞧萄糠捌毅伪食卉憾再健摊臻第准蓑沾翰延刘第8章VA程序设计第8章VA程序设计2020【实例【实例2】若登录时需要用户名和密码的情况若登录时需要用户名和密码的情况罚僵绞褪踪厌菲灼镀啥刃硒姑苑霄斗肾延恨闷芝豢矮冠龋拿灾酸浩尹畔骚第8章VA程序设计第8章VA程序设计2121Dim aText1.SetFocusIF Forms!登录!Text1 = adminadmin And Forms!登录!Text2 = 123456 Then DoCmd.Close DoCmd.OpenForm “ “文物管理封面文物管理封面文物管理封面文物管理封面 Else a = MsgBox( 密码错误,请重新输入!密码错误,请重新输入!密码错误,请重新输入!密码错误,请重新输入!, 5 + 48 + 0, , 5 + 48 + 0, 验证验证验证验证) IF a 4 Then Quit Else Text1 = Text2 = Text1.SetFocus End IfEnd If密码用户名进入主控面板进入主控面板密码正确?弹出信息框弹出信息框YESN 腥短掐般傈瞳船咀酥琴磁勒磅固垣箱希削迅蛆稳涪曝皖砚没逐先百拎斡霞第8章VA程序设计第8章VA程序设计2222铸痉眯八八毯莫克皿蝶钟威捎糖狂专秧俱斥灵殖潍递姓栅之胀股姑鳃腺舶第8章VA程序设计第8章VA程序设计2323 IF条件的应用举例条件的应用举例 条件查询条件查询条件查询条件查询 例:文物信息管理系统中按文物类别、年代查询。例:文物信息管理系统中按文物类别、年代查询。例:文物信息管理系统中按文物类别、年代查询。例:文物信息管理系统中按文物类别、年代查询。骂搓走畴弧娜菜还泌醒潮膳臣蔫告毛胀余壮灾寇遁氓宫壁鱼渍羌朵蒜咐窃第8章VA程序设计第8章VA程序设计2424Private Sub Command14_Click()Private Sub Command14_Click() Dim strW As String Dim strW As String 定义条件字符串变量定义条件字符串变量定义条件字符串变量定义条件字符串变量strW strW 存放条件存放条件存放条件存放条件 strW = strW = 设变量初始值为空字符串设变量初始值为空字符串设变量初始值为空字符串设变量初始值为空字符串 Me.Combo0.SetFocus Me.Combo0.SetFocus 焦点放在焦点放在焦点放在焦点放在combo0combo0上上上上 IF Not IsNull(Me.Combo0) Then IF Not IsNull(Me.Combo0) Then 判断【类别】条件是否有输入的值判断【类别】条件是否有输入的值判断【类别】条件是否有输入的值判断【类别】条件是否有输入的值 strW = strW & ( strW = strW & (分类分类分类分类. .名称名称名称名称 like & Me.Combo0 & ) AND like & Me.Combo0 & ) AND 有输入值有输入值有输入值有输入值 End IFEnd IF IF Not IsNull(Me.Combo2) Then IF Not IsNull(Me.Combo2) Then 判断【年代】条件是否有输入的值判断【年代】条件是否有输入的值判断【年代】条件是否有输入的值判断【年代】条件是否有输入的值 strW = strW & ( strW = strW & (年代年代年代年代 like & Me.Combo2 & ) AND like & Me.Combo2 & ) AND 有输入值有输入值有输入值有输入值 End IF End IF IF Len(strW) 0 Then IF Len(strW) 0 Then 有输入条件有输入条件有输入条件有输入条件 strW = Left(strW, Len(strW) - 5) strW = Left(strW, Len(strW) - 5) 用用用用LEFTLEFT函数截掉这函数截掉这函数截掉这函数截掉这 and and 这这这这5 5个字符个字符个字符个字符 Else Else MsgBox MsgBox 请选择查询条件!请选择查询条件!请选择查询条件!请选择查询条件!, , , , 提示提示提示提示 End IF End IF Me.Filter = strW Me.Filter = strW 在窗体中显示查询结果在窗体中显示查询结果在窗体中显示查询结果在窗体中显示查询结果 Me.FilterOn = True Me.FilterOn = True IF Me.Recordset.RecordCount = 0 Then IF Me.Recordset.RecordCount = 0 Then 用统计查询到满足条件的记录数来判断用统计查询到满足条件的记录数来判断用统计查询到满足条件的记录数来判断用统计查询到满足条件的记录数来判断无符合条件的信息无符合条件的信息无符合条件的信息无符合条件的信息 MsgBox MsgBox 暂无符合条件的信息暂无符合条件的信息暂无符合条件的信息暂无符合条件的信息!, , !, , 提示提示提示提示 End IF End IFEnd SubEnd Sub那秘期缓朔邓啊豫蹦腾译蠢淤霉牡茎壁胆妻粕稼扮颅槐休暑赛虽化帖储屯第8章VA程序设计第8章VA程序设计2525
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号