Office中国论坛/Access中国论坛
标题:
使用宏还是使用 Visual Basic?
[打印本页]
作者:
ACMAIN_CHM
时间:
2009-2-15 15:58
标题:
使用宏还是使用 Visual Basic?
以下摘自 Microsoft Access 2003 Help
使用宏还是使用 Visual Basic?
在 Microsoft Access 中,通过宏或者用户界面可以完成许多任务。而在其他许多数据库程序中,要完成相同的任务就必须通过编程。是使用宏还是使用 Microsoft Visual Basic for Applications,取决于需要完成的任务。
什么时候应该使用宏?
对于简单的细节工作,譬如打开和关闭窗体、运行报表等,使用宏是一种很方便的方法。它可以简捷迅速地将已经创建的数据库对象联系在一起,因为不需要记住各种语法,并且每个操作的参数都显示在“宏”窗口中。
除了使用宏带来的方便外,必须使用宏来完成下列操作:
创建全局赋值键。
在首次打开数据库时执行一个或一系列操作。当然,通过“启动”对话框也可以指定打开数据库时所需进行的操作,例如打开窗体。
什么时候应该使用 Visual Basic?
对于下列情况,应该使用 Visual Basic 而不要使用宏:
使数据库易于维护。因为宏是独立于使用它的窗体和报表的对象,所以很难维护包含许多用于响应窗体和报表上事件的宏的数据库。相反,Visual Basic 事件过程将建立在窗体或报表的定义中。如果把窗体或报表从一个数据库移到另一个数据库,则窗体或报表所带的事件过程也会同时移动。
使用内置函数或自行创建函数。Access 包含许多内置的函数,例如用于计算利息的 IPmt 函数。在计算时使用这些函数可以避免创建复杂的表达式。使用 Visual Basic 还可以创建自己的函数,通过这些函数可以执行表达式难以胜任的复杂计算,或者用来代替复杂的表达式。此外,也可在表达式中使用自己创建的函数对多个对象应用公共操作。
处理错误消息。当在使用数据库的过程中遇到意外的事情时,Access 将显示一则错误消息,但该消息对用户而言可能是莫名其妙的,特别是如果用户不熟悉 Access 时。而使用 Visual Basic 则可以在出现错误时检测错误,并显示自己指定的消息或执行某些操作。
创建或处理对象。在大多数情况下,在对象的“设计”视图中创建和修改对象是最简易的方法。而在某些情况下,可能需要在代码中对对象进行定义。使用 Visual Basic 可以处理数据库中所有的对象,包括数据库本身。
执行系统级的操作。虽然在宏中执行 RunApp 操作可以从一个应用程序运行另一个基于 Microsoft Windows 或 Microsoft MS-DOS 的应用程序,但是在 Access 以外使用宏具有很大的局限性。而使用 Visual Basic 则可以查看系统中是否存在某个文件,或者通过“自动化”或动态数据交换 (DDE) 与另外一个基于 Windows 的应用程序(如 Microsoft Excel)进行通讯,还可以调用 Windows 动态链接库 (DLL) 中的函数。
一次处理多条记录。使用 Visual Basic 可以一次选择一个记录集或是单条记录,并对每条记录执行一项操作。而宏只能一次对整个记录集进行操作。
将参数传送给 Visual Basic 过程。创建宏时,可以在“宏”窗口的下半部分设置宏操作的参数,但在运行宏时无法对参数进行更改。而使用 Visual Basic 则可在程序运行期间将参数传递给代码,或者可以将变量用于参数中,这在宏中是难以做到的。这些特性使得运行 Visual Basic 过程时具有更大的灵活性。
<ACMAIN Comments>
个人观点,仅供参考:
由于以前直接学过编程,所以在感觉上推荐直接学习VB。 我基本上对宏不懂,看别人程序的时候也猜看着。
******************
* 一切皆有可能 *
******************
.
同
一
贴
子
不
回
复
第
二
次
.
QQ群 48866293 / 12035577 / 7440532 / 13666209
http://forum.csdn.net/BList/OtherDatabase
.
http://www.accessbbs.cn/bbs/index.php
.
http://www.accessoft.com/bbs/index.asp
.
http://www.access-programmers.co.uk/forums
.
http://www.office-cn.net
.
.
http://www.office-cn.net/home/space.php?uid=141646
.
作者:
蓝天8390
时间:
2009-2-15 16:16
十分赞同楼上的观点,用Visual Basic的确比较方便.
作者:
ty_1029
时间:
2009-2-16 08:43
谢谢~~学习了~~
作者:
chaojianan
时间:
2009-2-16 17:56
学习学习。
作者:
wjsfeng
时间:
2009-2-16 18:10
学习了,但学习vba还是有些困难
作者:
benfeng3
时间:
2009-10-19 15:06
VBA学起来感觉有点麻烦。。哎。。
作者:
tz-chf
时间:
2009-10-19 18:18
除了两个特殊宏,都用vba
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3