Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > 综合其它

使用宏还是使用 Visual Basic?

时 间:2008-07-15 15:42:02
作 者:UMVsoft整理   ID:43  城市:江阴
摘 要:使用宏还是使用 Visual Basic?

正 文:

在 Microsoft Access 中,通过宏 (宏:用来自动执行任务的一个操作或一组操作。)或者用户界面可以完成许多任务。而在其他许多数据库程序中,要完成相同的任务就必须通过编程。是使用宏还是使用 Microsoft Visual Basic for Applications (Visual Basic for Applications (VBA):宏语言版本的 Microsoft Visual Basic,用来编写 Windows 应用程序,它包含在几种 Microsoft 应用程序中。),取决于需要完成的任务。

什么时候应该使用宏?

对于简单的细节工作,譬如打开和关闭窗体、运行报表等,使用宏是一种很方便的方法。它可以简捷迅速地将已经创建的数据库对象 (数据库对象:Access 数据库包含诸如表、查询、窗体、报表、页、宏和模块等对象;Access 项目包含诸如窗体、报表、页、宏和模块等对象。)联系在一起,因为不需要记住各种语法,并且每个操作的参数 (参数:为操作、事件、方法、属性、函数或过程提供信息的值。)都显示在“宏”窗口 (“宏”窗口:用来创建和修改宏的窗口。)中。

除了使用宏带来的方便外,必须使用宏来完成下列操作:

创建全局赋值键。
在首次打开数据库时执行一个或一系列操作。当然,通过“启动”对话框也可以指定打开数据库时所需进行的操作,例如打开窗体。
什么时候应该使用 Visual Basic?

对于下列情况,应该使用 Visual Basic (Microsoft Visual Basic:Basic 的一种高级可视化编程版本。Visual Basic 由 Microsoft 开发,用于生成基于 Windows 的应用程序。) 而不要使用宏:

使数据库易于维护。因为宏是独立于使用它的窗体和报表的对象,所以很难维护包含许多用于响应窗体和报表上事件的宏的数据库。相反,Visual Basic 事件过程 (事件过程:自动执行的过程,以响应用户或程序代码启动的事件或系统触发的事件。)将建立在窗体或报表的定义中。如果把窗体或报表从一个数据库移到另一个数据库,则窗体或报表所带的事件过程也会同时移动。
使用内置函数或自行创建函数。Access 包含许多内置的函数,例如用于计算利息的 IPmt 函数。在计算时使用这些函数可以避免创建复杂的表达式 (表达式:算术或逻辑运算符、常数、函数和字段名称、控件和属性的任意组合,计算结果为单个值。表达式可执行计算、操作字符或测试数据。)。使用 Visual Basic 还可以创建自己的函数,通过这些函数可以执行表达式难以胜任的复杂计算,或者用来代替复杂的表达式。此外,也可在表达式中使用自己创建的函数对多个对象应用公共操作。
处理错误消息。当在使用数据库的过程中遇到意外的事情时,Access 将显示一则错误消息,但该消息对用户而言可能是莫名其妙的,特别是如果用户不熟悉 Access 时。而使用 Visual Basic 则可以在出现错误时检测错误,并显示自己指定的消息或执行某些操作。
创建或处理对象。在大多数情况下,在对象的“设计”视图 (设计视图:显示数据库对象(包括:表、查询、窗体、宏和数据访问页)的设计的窗口。在设计视图中,可以新建数据库对象和修改现有数据库对象的设计。)中创建和修改对象是最简易的方法。而在某些情况下,可能需要在代码中对对象进行定义。使用 Visual Basic 可以处理数据库中所有的对象,包括数据库本身。
执行系统级的操作。虽然在宏中执行 RunApp 操作可以从一个应用程序运行另一个基于 Microsoft Windows 或 Microsoft MS-DOS 的应用程序,但是在 Access 以外使用宏具有很大的局限性。而使用 Visual Basic 则可以查看系统中是否存在某个文件,或者通过“自动化” (自动化:从其他应用程序或开发工具使用应用程序的对象的方法。以前称为“OLE 自动化”,自动化是一种工业标准和组件对象模型 (COM) 功能。)或动态数据交换 (DDE) (动态数据交换 (DDE):已建立的一种协议,用于在基于 Microsoft Windows 的程序之间交换数据。) 与另外一个基于 Windows 的应用程序(如 Microsoft Excel)进行通讯,还可以调用 Windows 动态链接库 (DLL) (动态链接库:在运行期间能从 Visual Basic 过程中调用、加载和链接到用户应用程序的子程序集。) 中的函数。
一次处理多条记录。使用 Visual Basic 可以一次选择一个记录集或是单条记录,并对每条记录执行一项操作。而宏只能一次对整个记录集进行操作。
将参数传送给 Visual Basic 过程。创建宏时,可以在“宏”窗口的下半部分设置宏操作的参数,但在运行宏时无法对参数进行更改。而使用 Visual Basic 则可在程序运行期间将参数传递给代码,或者可以将变量 (变量:已命名存储位置,所包含的数据能够在程序执行过程中发生变动。每一变量都有名称,在它的作用域级别范围内能够唯一标识该变量。既可以指定数据类型,也可以不指定。)用于参数中,这在宏中是难以做到的。这些特性使得运行 Visual Basic 过程 (过程:模块中作为一个单元执行的一系列声明和语句。Visual Basic 中的过程包括 Sub 和 Function 过程。)时具有更大的灵活性。



Access软件网QQ交流群 (群号:54525238)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助