VBA代码和宏在MS Access中各有优缺点是什么?

3

我一直在处理一个数据库,并想使用纯VBA代码来完成。然而,我的一个朋友告诉我,如果这个数据库将在本地网络上使用,使用宏会更安全。虽然我并不怎么熟悉宏的使用,但如果它是更好的数据库方式,那就让我知道它的优点和缺点。如果我决定以后将数据库迁移到SQL,是否会出现问题呢?我做的第一个数据库在旧版本的Access中生成了错误,这引发了我对VBA的兴趣。虽然这个问题听起来很复杂,但我基本上只是想要一些有关在Access中使用VBA与宏的优缺点的指导。

3个回答

7
  • 宏被认为更容易学习。
  • 在大多数情况下,创建宏可能比编写VBA代码更快。
  • 宏可以在发布在Sharepoint服务器上的Access Web应用程序中使用。而VBA则不能。
  • VBA比宏更强大和灵活。您可以进行API调用,读写文本文件,使用ADO访问其他数据库或数据存储,通过记录运行DAO循环,并编写许多其他复杂功能。
  • 关于安全性,我认为两者都不比另一个更安全。使用ADO和Pass Through查询是构建Access数据库应用程序的更安全方法之一,因为您不需要使用链接表,而且可以使用存储过程(如果使用SQL Server)。使用宏无法实现此操作。

在我工作过的大多数更专业的Access应用程序(非Web应用程序)中,我们只使用了一个名为AutoExec的宏。当您创建一个名为AutoExec的宏时,它将是最先运行的东西(甚至在您设置为主要表单的表单之前)。通常使用此宏来隐藏UI元素,建立连接字符串,链接表格并弹出登录表单,其中大部分可能需要从宏中调用VBA函数来完成。


关于这篇精彩的文章,我唯一可以补充的是,在Access 2010及以上版本中,宏也是新表触发器和存储过程的编码语言。 - Albert D. Kallal

2

宏具有一些内置功能,可以消除代码的需求,同时你可以通过宏更快地构建功能。例如,如果我想要打开数据库并运行10个创建表查询,我可以仅用几个点击就创建一个宏来完成这个任务。我可以使用VBA做同样的事情,但是需要更长的时间,并且需要更好的VBA工作知识。我不知道有哪个操作只能由宏执行而不能由VBA代码执行。


1
您可以通过VBA获得更加灵活的功能,例如创建登录结构和逻辑。您还可以使用密码锁定您的VBA项目,使您的源代码不被他人看到。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接