设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1529|回复: 6
打印 上一主题 下一主题

[Access本身] 使用宏还是使用 Visual Basic?

[复制链接]
跳转到指定楼层
1#
发表于 2009-2-15 15:58:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
以下摘自 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 .
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2009-2-15 16:16:22 | 只看该作者
十分赞同楼上的观点,用Visual Basic的确比较方便.
3#
发表于 2009-2-16 08:43:12 | 只看该作者
谢谢~~学习了~~
4#
发表于 2009-2-16 17:56:40 | 只看该作者
学习学习。
5#
发表于 2009-2-16 18:10:38 | 只看该作者
学习了,但学习vba还是有些困难
6#
发表于 2009-10-19 15:06:28 | 只看该作者
VBA学起来感觉有点麻烦。。哎。。
7#
发表于 2009-10-19 18:18:41 | 只看该作者
除了两个特殊宏,都用vba
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-19 06:28 , Processed in 0.099660 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表