以下部分提供有关 VBA 的有用信息。 提供了对象名称,以便你可以在 Northwind 2.0 Starter Edition 数据库中轻松检查它们。
VBA (Visual Basic for Applications) 是所有 Microsoft 365 产品中使用的编程语言,而不仅仅是 Access。 它主要记录在此处:Access 开发人员文档。若要开始,请参阅 Access 编程简介。
搜索信息时,请务必查找 Access 特定示例,并在搜索词中包含 Microsoft Access。 通常,其他 Microsoft 365 产品的解决方案可以正常工作,但可能需要更改。
Microsoft Access 是一款成熟的产品。 这意味着有很多示例,这非常适合你。 这也意味着有关 Access 编程的旧书籍仍然可供你查看。 许多较旧的书籍仍然以原始成本的一小部分在二手书网站上提供。
Microsoft Access 文件是 Microsoft 365 文件。 Microsoft 365 文件必须位于受信任的位置或启用其内容。 这些项目被认为是安全的,因为你创建了它们,或者它们来自可信的来源。 每次打开任何 Microsoft 365 文件时都会进行此检查。 我们将在此处将其称为受信任/启用。 如果从不受信任的位置发布并打开应用程序的新版本,则启用内容的过程将重复。 有关详细信息,请参阅 Microsoft 365 文件的受信任位置、决定是否信任数据库和在 Microsoft 365 中添加、删除或更改受信任位置。
宏、函数和子过程是将业务逻辑实现到 Access 数据库的方式。
窗体上的控件 ((如按钮、文本框、标签等)) 可以使用其事件 (例如单击控件) 触发其他过程,例如添加、删除记录或打开窗体。 可以使用宏或 VBA 实现这些过程。 Northwind 主要使用宏和一些 VBA。 有关详细信息,请参阅 RunCode 宏操作。
某些控件类型具有可自动创建宏的内置向导。 例如,将命令按钮添加到窗体将打开一个向导,该向导将为按钮提供多个功能选择。 添加组合框将打开一个向导,该向导可以配置为在窗体上查找特定记录。
导航窗格是查看和访问所有数据库对象的主要方式,默认情况下,它显示在 Access 窗口的左侧。 Northwind 2.0 初学者版导航窗格已自定义。 我们创建了一个名为 Northwind Starter 2.0 的自定义类别。 这使我们能够按功能区域组织对象。 有关详细信息,请参阅自定义导航窗格。
了解 Access 和 Microsoft 365 中的范围和可见性非常重要。 作用域是指变量、常量或过程可供其他过程使用的可用性。 有三个范围级别:过程级别、专用模块级别和公共模块级别。 声明变量时,可以确定变量的范围。 最好是显式声明所有变量,以避免具有不同作用域的变量之间的命名冲突错误。 所有模块都有两个指令语句:Option Compare Database 和 Option Explicit。 有关详细信息,请参阅 了解范围和可见性、公共语句、Private 语句、静态语句和了解变量的生存期。
如果已使用 Access 中内置的任何控件向导,你知道如果创建了宏,通常根本不会处理错误,并且如果创建了 VBA,则可能仅限于 MsgBox 函数 Err.Description 样式。
在 Northwind 2.0 Starter Edition 中,我们实现了所谓的全局错误处理程序。 任何过程中发生的错误都会调用全局级别的函数来显示错误。 最大的优点是代码是一致的,如果需要更改消息,例如显示错误号或将错误记录到文件,则只能在一个位置完成。
clsErrorHandler 是实现错误处理代码的类模块。 类模块将其所有主要函数和帮助程序函数保存在一个单元中,使代码更加封装。 AutoExec 宏最终在 modStartup 中调用启动函数,创建 clsErrorHandler 的实例,并将其保存为全局变量,以便在整个应用程序中使用它。
事实上,过程中的错误处理代码非常一致,因此我们能够在不到五分钟内使用一些花哨的 VBA 代码创建所有代码,这些代码为每个过程配置了正确的错误处理程序。 此代码未包含在模板中。