Access VBA活用范例手册(txt+pdf+epub+mobi电子书下载)


发布时间:2020-07-18 04:47:19

点击下载

作者:左荣欣

出版社:中国铁道出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

Access VBA活用范例手册

Access VBA活用范例手册试读:

前言

PREFACE

◎写在前面

Access开发软件具有易学、易用、成本低的优点,它是开发小型管理软件的一个最佳选择。要使用Access开发软件,Access VBA则是必须学习的内容之一。

在初学Access VBA时,经常会遇到如“能否使用VBA实现某种功能”、“可以使用哪些方法实现某种功能”、“有没有更简单、更高效的方法实现某项功能”之类的问题。鉴于此,我们特别编写了这本书,书中精选了各类经典范例303个及3个大型综合实战案例,为读者展示了使用VBA代码解决各类问题和实现各种功能的一些常用方法和技巧。

◎精髓大提炼

本书共11章,分别从基础技巧、数据处理和数据交换3个层面展示了使用VBA代码解决问题和实现各种功能的方法,各章节的具体内容如下所示。

Chapter01 Access基础操作技巧

在使用VBA代码解决实际问题之前,需要掌握一些Access VBA的基础知识,比如,VBA编辑器的使用、认识过程、函数和变量等。

◎过程、模块与语句

◎内置函数

◎流程语句

Chapter02 控件和对象的使用技巧

使用Access进行程序开发时,离不开对象和控件的支持。了解并掌握通过VBA代码操作它们的方法,是熟练使用Access开发程序的前提。

◎在窗体上操作的控件

◎获取控件中的数据

◎数据库对象的引用

◎数据库对象的创建与编辑

Chapter03 掌握Access中的对象操作技巧

通过VBA代码控制数据库对象的打开、关闭、显示、隐藏等,是使用Access开发程序时不可避免的操作。

◎应用程序的操作技巧

◎窗体的操作

Chapter04 数据格式处理技巧

使用Access开发的程序,更多的是为了在不同成员之间进行交互。所以,使用简洁、规范的数据格式,可以提高程序的实用性。

◎文本的外观格式

◎字符串数据处理

◎数值数据处理

◎日期数据处理

Chapter05 数据排序技巧

通过对数据库中的排序,可以更加高效地对数据库中的数据进行查找和分析。本章便着重展示在不同环境下采用的数据排序方式和技巧。

◎对窗体中的数据记录进行排序

◎通过查询排序数据

◎通过编写SQL语句排序数据

Chapter06 数据查询技巧

数据的查找和筛选,可以说是数据库类管理软件最为重要的功能。通过对大量数据的查找和筛选,可以获得有价值的数据。

◎逐条查询技巧

◎同时显示所有查询记录技巧

◎通过编写SQL语句查询数据

Chapter07 数据记录的追加、删除和更新技巧

数据记录的追加、删除和更新,是数据库最为重要的功能之一。本章将着重讲解如何通过VBA代码实现这些功能。

◎追加数据技巧

◎删改数据技巧

◎通过编写SQL语句编辑记录

Chapter08 数据记录的统计和打印技巧

通过Access VBA代码实现对数据记录的统计和打印设置,可以拓展数据库管理软件的功能,实现电脑办公与传统办公的有机结合。

◎统计数据记录技巧

◎打印数据记录技巧

Chapter09 Access与其他Office组件之间的数据交换技巧

Office组件的每一个成员都有其鲜明的特点,比如,Word出色的文档处理能力,通过数据交换,Access开发的软件可以吸收这些特点。

◎Access与Word之间的数据读/写

◎Access与Excel之间的数据读/写

Chapter10 其他的操作技巧

作为一款常用的软件,Access功能繁多。本章将介绍一些其他的操作技巧,通过这些技巧,可以更好地使用Access开发数据库管理软件。

◎文件的操作

◎Web与XML的应用

◎超链接的应用

◎其他常用技巧

Chapter11 Access VBA办公实战综合案例

在全书的最后,通过3个精心挑选的综合案例,对Access VBA在办公过程中的实战应用进行更直观、综合的体现。

◎采购管理系统

◎会员管理系统

◎经销商查询系统

◎选择此书理由【案例目标明确,直指核心问题】

本书与市面上的一部分Access VBA类书籍不同,没有试图在一个综合性案例中解决所有问题,而是采用了一个案例解决一个问题的思路,尽量避免使读者陷入在大段程序中寻找所需代码的麻烦。【解决方法多样,拓展解题思路】

本书的部分案例采用了多种解决方法,通过比较这些方法之间的异同,可以有效地拓展读者解决问题的思路和能力。【提供完整代码,方便学习使用】

本书中的所有案例均提供完整的Access VBA代码,读者在使用本书时,可以通过下载文件快速获取案例的源代码。

◎学习指南

①案例编号

若需要在目录中查找相关的案例,可以使用案例编号进行查找。

②难易程度·适用版本

本书中将案例按照难易程度分为初、中、高3个等级,并使用黑色字体标识当前案例难度。部分不能够适用某些版本的案例则使用白色字体标出。

③案例标题

将案例主要解决的问题通过标题表示出来,以便根据问题查询相关知识和案例。

④案例归类·使用知识

本书中将每一章的案例按照方法分为若干小类,每一类中的案例均可以进行比较学习,并且在案例类别后面罗列了本例中使用的重点知识。

⑤基础解说

对本例中使用到的基础知识和注意事项进行解说。

⑥案例操作

叙述本例中需要解决的主要问题和简单的解决办法。

⑦素材文件

下载文件中提供本例进行操作时使用的素材,方便读者练习时使用。

⑧源文件

下载文件中保存的案例操作结果,方便读者练习时查阅代码和对比学习。

⑨过程源代码

本例中使用到的所有Access VBA代码,并使用注释对代码中的重要部分进行说明,方便读者阅读代码。

⑩执行过程

本例中Access VBA代码的执行方法、过程和结果。

◎超值下载

本书的下载文件中提供了书中11章共306个案例所使用到的所有素材文件和源文件,以供读者在练习时使用。

◎读者定位

本书主要适用于希望快速掌握Access VBA的相关知识,并使用Access VBA解决办公中实际问题的用户,对于不同年龄段的办公人员、文秘、财务人员、公务员,尤其对刚进入职场的工作人员解决实际问题有很强的指导作用。

编者2017年5月Chapter 01Access基础操作技巧

在使用Access VBA解决实际问题之前,需要了解一些它的基础操作及技巧,比如,VBA编辑器的使用、过程、函数和变量等一些在VBA编程中经常使用到的工具和概念。

只有了解了这些基本的知识和操作技巧后,才能够更好地学习和使用Access。

▼主要内容

◎过程、模块与语句“添加过程”对话框、Function关键字、Sub关键字、Call关键字……

◎内置函数

MsgBox()函数、InputBox()函数、IsNull()函数、Iif()函数、RGB()函数……

◎流程语句

If…Then…Else语句、Do Until…Loop语句、While…Wend语句……

▼涉及案例

◎设置强制性声明变量

◎创建Sub过程

◎创建Function程序

◎使用RGB()函数设置颜色

◎定义静态变量

◎使用内置常量

◎使用On Error GoTo处理错误

◎保护VBA代码

……◎VBA编辑器001 显示VBA编辑器

◎VBA编辑器:【Alt+F11】组合键、事件生成器、“数据库工具”选项

显示VBA编辑器的常用方法有3种,分别为单击“数据库工具”选项卡中的“Vasual Basic”按钮,按【Alt+F11】组合键,使用“事件生成器”。

其中,使用“事件生成器”的具体方式有两种,一种是在设计模式中任意对象上右击,在弹出的快捷菜单中选择“事件生成器”命令;另一种是在设计模式的“属性表”窗体中的“事件”选项卡中选择任意的事件。

◎应用实例

素材\第1章\显示VBA编辑器.accdb

本例需要通过4种不同的方式显示VBA编辑器,以查看当前数据库中使用的VBA代码。

◎案例操作

源文件\第1章\显示VBA编辑器.accdb

01 单击“数据库工具”选项卡中的“Vasual Basic”按钮。

02 关闭VBA编辑器,然后按【Alt+F11】组合键。

03 关闭VBA编辑器,打开“自定义排序”窗体。

04 切换至设计视图,在按钮上右击,弹出快捷菜单,选择“事件生成器”命令。

05 关闭VBA编辑器,打开属性表,切换至“事件”选项卡。

06 单击“单击”事件右侧的按钮,打开VBA编辑器。

◎执行过程

打开“显示VBA编辑器.accdb”源文件,根据案例中的步骤进行操作,可以得到如图1-1至图1-4所示的效果。

图1-1 通过“数据库工具”选项卡打开VBA编辑器

图1-2 通过【Alt+F11】组合键打开VBA编辑器

图1-3 通过快捷菜单打开VBA编辑器

图1-4 通过属性表打开VBA编辑器002 调用编辑工具栏

◎VBA编辑器:视图菜单

在编辑VBA代码时,使用编辑工具栏可以有效地提高VBA代码的编辑速度。可以通过VBA编辑器中的“视图/工具栏/编辑”命令调用编辑工具栏。

◎应用实例

素材\第1章\调用编辑工具栏.accdb

本例需要在VBA编辑器中调用编辑工具栏。

◎案例操作

源文件\第1章\调用编辑工具栏.accdb

01 单击VBA编辑器菜单栏中的“视图”按钮。

02 在弹出的菜单中选择“工具栏/编辑”命令。

◎执行过程

打开VBA编辑器,调用编辑工具栏,如图1-5所示。

图1-5 调用编辑工具栏003 设置代码的显示效果

◎VBA编辑器:【Tab】键、【Tab+Shift】组合键、Rem关键字

设置代码的显示效果,主要包括代码的缩进、突出,代码的注释、解除注释,将一行长代码设置在多行显示和将多行代码设置在一行显示等。

代码的缩进、注释,都可以通过编辑工具栏进行设置,本例中主要讲解如何在不使用组合键的情况下实现代码的缩进和注释等内容。

代码的缩进,可以在编辑代码时按【Tab】键进行设置;代码的突出可以按【Tab+Shift】组合键进行设置。

VBA编辑器默认按键一次缩进或突出4个字符,如果需要更改默认的缩进或突出字符数,可以选择“工具/选项”命令打开“选项”对话框,在其中进行设置,如图1-6所示。

图1-6 设置缩进或突出值

代码的注释,可以通过在需要注释的代码前面添加“'”或者“Rem”关键字来实现。解除注释只需删除代码前的“'”或者“Rem”关键字即可。注释后的代码在代码运行时不会执行,所以常用来对代码进行说明。

一行长代码设置在多行显示,需要在分断处使用半角状态下的空格“ ”和“_”来实现,如1-7左图所示。

多行代码设置在一行显示,可以使用冒号“:”来实现,如1-7右图所示。

图1-7 长代码和短代码的显示设置004 通过视图菜单打开窗

◎VBA编辑器:视图菜单

在VBA编辑器中,有一些功能各不相同的窗口,比如,最为常用的“代码”窗口。其他常用的窗口还有“对象窗口”、“立即窗口”、“本地窗口”和“属性窗口”等。

如果需要打开某个没有打开的窗口,可以通过VBA编辑器中的视图菜单来实现。

◎应用实例

素材\第1章\通过视图菜单打开窗口.accdb

本例需要在VBA编辑器中打开“属性”窗口。

◎案例操作

源文件\第1章\通过视图菜单打开窗口.accdb

01 单击VBA编辑器菜单栏中的“视图”按钮。

02 在打开的菜单中选择“属性窗口”命令。

◎执行过程

打开VBA编辑器,打开属性窗口,如图1-8所示。

图1-8 通过“视图”菜单打开“属性”窗口005 设置强制性声明变量

◎VBA编辑器:OptionExplicit语句、“选项”对话框

如果需要代码中的所有变量都必须进行显式定义才能够使用,可以强制性声明变量。

设置强制性声明变量的方法有两种,一种是在代码声明段使用“OptionExplicit”语句,如1-9左图所示;另一种是选择“工具/选项”命令打开“选项”对话框,在“编辑器”选项卡中勾选“要求变量声明”复选框,如1-9右图所示。

图1-9 强制性声明变量的两种方法

◎应用实例

素材\第1章\设置强制性声明变量.accdb

本例需要设置强制性声明变量,并演示使用没有声明的变量的效果。

◎案例操作

01 在代码窗口通用声明段设置强制性声明变量代码。

02 在程序代码中使用没有定义的代码。

03 在对象窗口中单击按钮,运行程序查看程序运行效果。

◎过程源代码

源文件\第1章\设置强制性声明变量.accdb

在事件过程中编写VBA代码,设置强制性声明变量,使用未定义变量,其具体的VBA代码如下。

◎执行过程

切换至对象窗口,然后单击“打开窗体并记录排序”按钮运行代码,结果如图1-10所示。

图1-10 强制性声明变量后使用未定义变量编译错误◎过程、模块与语句006 创建Sub过程

◎过程、模块与语句:“添加过程”对话框、Sub关键字

Sub过程可以执行处理过程,但是不会返回值。根据程序是否与特定对象的事件关联,可以分为标准程序和事件程序两类,本例仅讲解如何创建标准的Sub过程。

创建标准的Sub过程,有两种方法可供选择,一种是在VBA编辑器代码窗口打开的情况下,选择“插入/过程”命令,打开“添加过程”对话框,选中“子程序”和“公共的”单选按钮,设置名称即可创建Sub过程,如图1-11所示。

图1-11 通过“添加过程”对话框创建Sub过程

另一种方法是直接在VBA编辑器代码窗口中输入“Sub过程名”来创建Sub过程。

◎应用实例

素材\第1章\创建Sub过程.accdb

本例通过上述的第二种方法创建一个Sub过程,该过程通过两个输入对话框得到两个加数,并使用消息对话框返回这两个数的和。

◎案例操作

01 在代码窗口创建Sub过程,并输入求和代码。

02 按【F5】键运行Sub过程,查看代码运行效果。

◎过程源代码

源文件\第1章\创建Sub过程.accdb

创建Sub过程,编写VBA代码,通过输入对话框获取加数,使用消息对话框返回求和结果,其具体的VBA代码如下。

◎执行过程

按【F5】键,运行“加”过程,结果如图1-12所示。

图1-12 创建Sub过程计算两数之和007 创建Function程序

◎过程、模块与语句:“添加过程”对话框、Function关键字

Function程序又称为函数,需要返回计算的结果。制作出Function程序之后,可以在Access的查询或者窗体中使用该程序,将其当作自定义函数使用。

与Sub过程相比,Function程序过程中必须含有“程序名=返回值”这样的代码。

创建Function程序,也有两种方法可供选择,一种是在VBA编辑器代码窗口打开的情况下,选择“插入/过程”命令打开“添加过程”对话框,选中“函数”单选按钮,设置名称即可创建Function程序,如图1-13所示。

图1-13 通过“添加过程”对话框创建Function程序

另一种方法是直接在VBA编辑器代码窗口中输入“Function程序名”来创建Function程序。

◎应用实例

素材\第1章\创建Function过程.accdb

本例通过上述的第二种方法创建一个Function程序“求积”,该程序可以返回两个参数的积。然后创建一个Sub过程,在该过程中调用“求积”程序,并使用信息框输出求积的结果。

◎案例操作

01 在代码窗口创建Function程序“求积”。

02 在代码窗口中创建Sub过程“调用求积”。

03 按【F5】键运行“调用求积”过程,查看代码运行效果。

◎过程源代码

源文件\第1章\创建Function过程.accdb

创建Function程序,编写VBA代码,在Sub程序中调用Functon程序,其具体的VBA代码如下。

◎执行过程

按【F5】键运行“调用求积”过程,结果如图1-14所示。

图1-14 调用Function程序求积008 定义有作用域的过程

◎过程、模块与语句:Public关键字、Private关键字

在VBA程序代码中,可以通过特定的关键字定义过程的作用域。

如果希望过程在所有的模块中均能够使用,可以在过程的最前面添加ublic关键字,如1-15左图所示。如果希望过程只在当前的模块中使用,可以在过程的最前面添加Private关键字,如1-15右图所示。

图1-15 通过关键字定义过程的作用域

Public关键字和Private关键字还可以用于定义变量、常量等的作用域,其使用方法与上述的方法相似。009 创建标准模块和类模

◎过程、模块与语句:“插入”菜单、工程资源管理器

创建模块和类模块的常用方法有两种,一种是通过“插入”菜单插入,如1-16左图所示;另一种是通过工程资源管理器插入,如1-16右图所示。

图1-16 插入模块和类模块的两种方法010 导入与导出模块

◎过程、模块与语句:【Ctrl+E】组合键、【Ctrl+M】组合键

导出模块的常用方法有3种,分别为通过“文件/导出文件”命令导出模块,如1-17左图所示;在工程资源管理器欲导出模块名称上打开右键菜单导出文件,如1-17右图所示;在模块代码窗口按【Ctrl+E】组合键导出文件。

图1-17 导出模块的方法

通过上述3种方法均会打开“导出文件”对话框,如图1-18所示。然后根据提示操作即可导出模块。

图1-18 打开“导出文件”对话框后导出模块到我的文档

导出模块是为了在不同的数据库中使用相同的模块,从而减少代码的编写时间。

在数据库中使用已经导出的模块,需要先将模块导入当前的数据库中。

与导出模块类似,导入模块也有3种方法,分别为通过“文件”菜单、工程资源管理器和按组合键(【Ctrl+M】组合键)打开“导入文件”对话框,然后导入模块,如图1-19所示。

图1-19 导入模块到数据库中

导出和导入类模块的方法与导出和导入模块的方法完全相同,其中模块的扩展名为“.bas”,类模块的扩展名为“.csl”。011 直接删除指定模块

◎过程、模块与语句:导航窗格、【Delete】键

删除模块是在数据库的导航窗格中进行的,首先使得导航窗格显示模块或者所有Access对象,如1-20左图所示;然后在导航窗格中选择要删除的模块,通过右键菜单或者【Delete】键删除,如1-20右图所示。

图1-20 删除模块

通过上述方法可以完全从数据库中删除Access对象,删除之后将不能够通过撤销删除来恢复。012 快速定位到某个过程

◎过程、模块与语句:对象框、过程框

当代码窗口的过程较多时,就需要通过一定的方法实现快速定位到某个过程,以方便程序代码的阅读。

如果要查看一个已存在的通用过程,可以在“代码”窗口的对象框中选择“通用”选项,然后在过程框中选择所要查看的过程,如图1-21所示。

图1-21 快速定位通用过程的子过程

如果要查看一个事件过程,可以在“代码”窗口的对象框中选择适当的对象,然后在过程框中选择查看的事件,如图1-22所示。

图1-22 快速定位至事件过程

如果所选的事件过程没有设置代码,则会新建一个代码为空的对应事件过程。013 拆分代码窗口

◎过程、模块与语句:“添加过程”对话框、Function关键字

当代码窗口的过程较多时,就需要通过一定的方法实现快速定位到某个过程,以方便程序代码的阅读。

向下拖动代码窗口中垂直滚动条右上角的拆分条,可以将代码窗口拆分为两个面板,如图1-23所示。

图1-23 快速定位通用过程的子过程

拆分代码窗口之后,对象框及过程框中的选项指的是拥有焦点的面板。将焦点设置到相应面板可以快速将该面板定位至指定的过程代码中。014 调用Sub过程

◎过程、模块与语句:Call关键字

Sub过程可以在其他程序中调用,调用Sub过程需要使用Call关键字,其具体的语法格式如下所示。

◎应用实例

素材\第1章\调用Sub过程.accdb

本例需要在单击“F_调用测试”窗体中的按钮时,调用“信息”过程。

◎案例操作

01 在窗体中插入“Sub过程调用测试”按钮。

02 在代码窗口中创建Sub过程“信息”。

03 在代码窗口插入“cmd_调用测试_Click”事件过程。

04 执行运行程序,查看程序运行效果。

◎过程源代码

源文件\第1章\调用Sub过程.accdb

创建Sub过程和单击“Sub过程调用测试”按钮事件的过程,编写VBA代码,其具体的VBA代码如下。

◎执行过程

保存编写的VBA代码,将“F_调用测试”窗体的视图模式切换到窗体视图,单击“Sub过程调用测试”按钮,如图1-24所示。

图1-24 调用Sub过程测试015 递归调用中的参数传递

◎过程、模块与语句:If…Then…Else语句、递归调用

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载