MS Access 中 VBA 代码与宏的优缺点是啥?

Posted

技术标签:

【中文标题】MS Access 中 VBA 代码与宏的优缺点是啥?【英文标题】:What are the Pros and Cons of VBA Code vs Macros in MS Access?MS Access 中 VBA 代码与宏的优缺点是什么? 【发布时间】:2014-02-21 13:39:32 【问题描述】:

我一直在研究数据库,并希望使用纯 VBA 代码来完成它。但是,一位朋友告诉我,使用宏对我来说更安全,因为数据库将在本地网络上使用。我对宏的使用不是很精通,但如果它对数据库有更好的方法,那么让我知道它的优缺点。如果我决定稍后将数据库迁移到 sql 会有问题。我做的第一个数据库在旧版本的访问中产生了错误,这使我倾向于使用 VBA。我知道这个问题听起来很复杂,但我基本上只是想要一些关于 VBA 与宏在访问中的优缺点的指导。

【问题讨论】:

【参考方案1】: 宏被认为更容易学习。 在大多数情况下,创建宏可能比编写 VBA 代码更快。 可以在 Access Web 应用程序中使用宏,这些应用程序发布在 共享点服务器。 VBA 不能。 VBA 比 VBA 更强大、更灵活 宏。您可以进行 API 调用、读取和写入文本文件、访问 使用 ADO 的其他数据库或数据存储,运行 DAO 循环 记录,并编写许多其他复杂的功能。 关于安全性,我认为没有一个比另一个更安全。使用 ADO 和传递查询是构建 Access 数据库应用程序的更安全的方法之一,因为您不需要使用链接表并且可以使用存储过程(如果使用 SQL Server)。使用宏无法做到这一点。

在我从事过的大多数更专业的 Access 应用程序(不是 Web 应用程序)中,我们只使用了一个宏,它被命名为 AutoExec。当您创建一个宏并将其命名为 AutoExec 时,它将首先运行(甚至在您设置为主窗体的窗体之前)。该宏通常用于隐藏 UI 元素、建立连接字符串、链接表和弹出登录表单等操作,其中大部分可能必须通过从宏中调用 VBA 函数来完成。

【讨论】:

关于我可以在这篇精彩文章中添加的唯一内容是,宏也是 Access 2010 及更高版本中可用的新表触发器和存储过程的编码语言。【参考方案2】:

宏具有一些无需代码的内置功能,此外,您还可以使用宏更快地构建功能。例如,如果我想打开一个数据库并运行 10 个 Create Table 查询,我只需单击几下就可以创建一个宏来执行此操作。我可以用 VBA 做同样的事情,但它需要更长的时间并且需要更好的 VBA 工作知识。我不知道宏可以做而 VBA 代码不能做的单个操作。

【讨论】:

【参考方案3】:

您可以从 VBA 获得更多功能,包括创建登录结构和逻辑。您还可以使用密码锁定您的 VBA 项目,这样您的源代码也不会被看到......

【讨论】:

以上是关于MS Access 中 VBA 代码与宏的优缺点是啥?的主要内容,如果未能解决你的问题,请参考以下文章

用于启用宏的 VBA 或 VBA ms 字

内联函数与宏的区别

从 VBA 代码中转储 MS Access 宏对象信息

如何在 VBA 代码中的 ms-access 中执行查询?

使用 MS Access 和 VBA 更新 Ms Word 文档中的(字段代码:数据库)字段

VBA 代码中的 MS Access SQL 查询