Access 编程简介

重要:  本文是由机器翻译的,请参阅免责声明。请在 此处 中查找本文的英文版本以便参考。

当您创建一个新的数据库时,您通常首先创建多个数据库对象,如表、 窗体和报表。最后,到达您必须在其中添加一些编程自动执行某些进程并结合数据库对象的点。本文可帮助您定向到 Access 2010 中的编程工具。

注意: 您可以 Visual Basic for Applications (VBA) 代码添加到 Web 数据库;但是,不能在 Web 浏览器中运行数据库时运行该代码。如果您的 Web 数据库中包含 VBA 代码,必须首先通过运行代码之前,请使用 Access 打开 Web 数据库。若要在 Web 数据库中执行编程任务,使用 Access 宏。

有关 Web 数据库的详细信息,请参阅生成可在 Web 上共享的数据库一文。

本文内容

什么编程?

应使用宏或应使用 VBA 代码?

使用命令按钮向导执行常见编程任务

了解宏

了解 VBA 代码

转换到 VBA 代码的宏

了解如何使用帮助系统

什么编程?

在 Access 中,编程是使用 Access 宏或 Visual Basic for Applications (VBA) 代码添加到您的数据库的功能的过程。例如,假设您已创建窗体和报表,您想要添加到窗体的命令按钮,单击时,打开报表。编程,这种情况下,是的过程创建的宏或 VBA 过程,然后设置命令按钮的OnClick事件属性,以便单击命令按钮运行宏或过程。简单的操作,例如打开报表,您可以使用命令按钮向导执行所有工作,或者您可以关闭该向导和都执行编程您自己。

注意: 许多 Microsoft Office 程序使用术语"宏"指的 VBA 代码。由于在 Access 中,"宏"是指您可以通过使用宏生成器组合的宏操作的命名集,则可以访问用户混乱。Access 宏操作表示 VBA 中可用的命令的子集。宏生成器让您更结构化的界面比 Visual Basic 编辑器中,使您可以添加到控件和对象的编程,而无需了解 VBA 代码。请记住,在 Access 帮助文章中,Access 宏称为宏。相反,VBA 代码称为 VBA、 代码、 函数或过程。类模块 (这是单个窗体或报表的一部分,并通常包含刚刚为这些对象的代码) 和模块 (这不依赖于特定对象并通常包含可用于整个数据库的"全局"代码) 中包含 VBA 代码。

对象 (如窗体和报表) 和控件 (例如命令按钮和文本框) 具有可以附加的宏或过程的各种事件属性。每个事件属性是与特定事件,如单击鼠标,打开窗体,或修改的文本框中的数据相关联。通过外部访问,如系统事件的因素或宏或附加到其他事件的过程,也会触发事件。数据库可以获得复杂,如果您将多个宏或过程添加到多个事件属性的许多对象,但在大多数情况下,您可以使用几乎编程所需的结果。

返回页首

应使用宏或应使用 VBA 代码?

使用宏、 VBA,或两者的决策主要取决于您打算如何部署或分发数据库。例如,如果数据库存储在您的计算机上,并且您是唯一的用户,并且您习惯使用 VBA 代码,您可能决定使用 VBA 执行大多数编程任务。但是,如果您打算与其他人共享您的数据库,通过在文件服务器上找到它,您可能希望避免出于安全考虑使用 VBA。如果您想要发布为 Access Web 应用程序数据库,您必须使用宏,而不是 VBA 执行编程任务,因为 VBA 与不兼容的 Web 发布功能。

Access Web 应用程序   Access Web 应用程序是的您可以使用其发布到的 Microsoft SharePoint 服务器上运行的 Access Services 应用程序的 Access 2010 的新增功能。此项服务使其他人使用标准的 Internet 浏览器中,通过您的数据库,而不必在其计算机上安装 access。但是,因为 VBA 代码与不兼容的 Web 发布功能,如果您计划发布您的应用程序为 Access Web 应用程序,必须使用宏来执行编程任务。

在设计新的 Access Web 应用程序时,应首先单击空白 Web 数据库,当您首次启动 Access。这会限制可用于创建您的数据库,有助于确保的 Web 应用程序将成功发布的功能。

客户端应用程序   如果您不打算发布到 Access Services 服务器应用程序,您应基于您决定要使用宏或 VBA 代码在两个问题︰ 安全和所需的功能。安全问题时,因为 VBA 可用于创建的代码,损害数据的安全性,或者可以损害您的计算机上的文件。使用由其他人创建的数据库时,您应启用 VBA 代码,只有当您知道数据库的来源可靠。创建将由其他人的数据库时,您应该尝试避免包括编程要求用户专门授予对数据库的受信任的状态的工具。此部分中,避免所需的用户信任数据库的常规方法附带更高版本。

为帮助确保您的数据库的安全性,您应该尝试使用宏时可以使用和不能使用宏操作执行的操作仅为使用 VBA 编程。此外,您应该尝试使用不需要授予对数据库的受信任的状态才能运行的宏操作。限制的宏操作,这种方式使用允许用户以使您确信数据库有可能会损害的数据或其他文件在其计算机上的没有编程。

宏的注意事项

Access 2010 包含许多新的宏操作,您可以生成比您可以通过使用早期版本的 Access 生成更强大的宏。例如,您现在可以创建和使用全局临时变量使用宏操作,您可以通过使用新的错误处理宏操作更合适处理错误。在早期版本的 Access 中,这种功能都可用只能通过使用 VBA。此外,您可以直接在事件属性的对象或控件嵌入宏。嵌入的宏成为对象或控件的部分,如果移动或复制的对象或控件保持。

宏提供了一种简便的方式来处理许多编程任务,例如打开和关闭窗体和运行报告。您可以轻松地结合因为必须记住的小语法已创建的数据库对象 (窗体、 报表和等等)。每个操作的参数将显示在宏生成器。

除了提高了的安全性和易于使用的宏提供,您必须使用宏执行下列任务︰

  • 将一个操作或一组操作分配给键。这需要创建名为 AutoKeys 宏组。

  • 首次打开数据库时执行的操作或一系列操作。这需要创建一个名为 AutoExec 宏。

    注意: AutoExec 宏运行宏或 VBA 代码之前,即使您指定Access 选项对话框中的启动窗体并附加到该窗体的OnOpenOnLoad事件的宏或 VBA 代码。

有关如何构建宏的详细信息,请参阅部分中了解宏

VBA 的注意事项

您应使用 VBA 编程,而不宏,如果您想要执行下列任一操作︰

  • 使用内置函数,或创建您自己的函数   Access 包含许多内置函数,例如IPmt函数计算支付的利息。您可以使用这些内置函数执行计算,而无需创建复杂的表达式。通过使用 VBA 代码,您也可以创建自己的函数来执行超过的功能的表达式的计算,或要替换复杂的表达式。此外,您可以使用您在表达式中创建的函数将常用的操作应用到多个对象。

  • 创建或操作对象   在大多数情况下,您将找到它是最简便的方法创建和修改对象的设计视图中的对象。但是,在某些情况下,您可能希望操作的代码中的对象的定义。通过使用 VBA,您可以处理数据库,除了数据库本身中的所有对象。

  • 系统级别执行的操作   您可以执行RunApp操作在宏内访问,请从运行其他程序 (如 Microsoft Excel 中),但您不能使用宏执行许多其他外部访问。通过使用 VBA,您可以检查计算机上是否存在文件、 使用自动化或动态数据交换 (DDE) 与其他 Microsoft 基于 Windows 的程序,例如 Excel,通信和调用 Windows 动态链接库 (Dll) 中的函数。

  • 操作记录一次   可以使用 VBA 单步执行一组记录中,一次一条记录,并对每个记录执行操作。相反,宏处理整个记录集,一次。

返回页首

使用命令按钮向导执行常见编程任务

如果要向窗体中添加命令按钮,命令按钮向导可以帮助您开始使用编程。该向导可帮助您创建执行特定任务的命令按钮。在 Access 2010 (.accdb) 文件中,向导将创建一个命令按钮的OnClick属性中嵌入的宏。在.mdb 或.adp 文件中,向导将创建 VBA 代码,因为嵌入的宏不可用的文件格式。两种情况下,然后可以修改或增强的宏或 VBA 代码以更好地满足您的需求。

  1. 在导航窗格中,右键单击要向其中添加命令按钮,窗的体,然后单击设计视图

  2. 设计选项卡上,单击向下箭头以显示控件库中,然后确保已选中使用控件向导

  3. 设计选项卡上控件库中,单击按钮

  4. 在窗体设计网格中,单击要放置该命令按钮的位置。

    命令按钮向导即会启动。

  5. 在向导的第一页上,单击要查看哪些操作的向导程序命令按钮执行类别列表中的每个类别。在操作列表中,选择所需的操作,然后单击下一步

  6. 单击文本选项或图片选项,具体取决于您是否希望文本或图片以显示命令按钮上。

    • 如果您想要显示的文本,您可以编辑文本选项旁边的框中的文本。

    • 如果您想要显示的图片,向导会建议列表中的图片。如果您想要选择不同的图片,选择显示所有图片复选框以显示所有 Access 提供,命令按钮图片的列表,或单击浏览以选择其他位置存储的图片。

      单击“下一步”

  7. 输入该命令按钮有意义的名称。这是一个可选步骤,并且此名称不显示命令按钮上。但是,最好输入有意义的名称,以便当您需要引用更高版本 (例如,如果您要设置在窗体控件的 tab 键次序) 命令按钮,它将被更易于区分命令按钮。如果命令按钮关闭窗体,例如,您可能其命名为 cmdClose 或 CommandClose。

  8. 单击“完成”

    Access 会将命令按钮放在窗体上。

  9. 如果您想要查看哪些向导为您的"设计",请按照下列可选步骤︰

    1. 如果属性表未显示,请按 F4 以显示它。

    2. 单击属性表中的事件选项卡。

    3. 上单击属性框中,单击 按钮图像 生成按钮。

      Access 将启动宏生成器,并显示该向导创建的宏。如果您希望 (适用于有关如何编辑宏,请参阅部分中了解宏的详细信息),您可以编辑该宏。完成后,在设计选项卡上的关闭组中,单击关闭关闭宏生成器。如果 Access 提示您保存所做的更改并更新属性,单击以保存所做的更改或以拒绝所做的更改。

  10. 设计选项卡的视图组中,单击视图,然后单击窗体视图。单击新建命令按钮以确认它可按预期方式工作。

返回页首

了解宏

宏是一种工具,使您能够自动执行任务并将功能添加到您的窗体、 报表和控件。例如,如果向窗体中添加命令按钮,您将关联到包含您希望该按钮执行单击每个时间的命令的宏的按钮的OnClick事件属性。

很有帮助 Access 宏视为通过构建要执行的操作列表中创建代码简化的编程语言。生成宏时,从下拉列表中选择每个操作,然后填写所需的信息,每个操作。宏使您能够将功能添加到窗体、 报表和控件,无需在 VBA 模块中编写代码。大多数人发现更轻松地构建比编写 VBA 代码的宏和宏提供 VBA 中, 可用的命令的子集。

可以使用下图中显示的宏生成器来创建宏。

Access 2010 宏生成器

若要显示宏生成器︰

  • “创建”选项卡上的“宏和代码”组中,单击“宏”

返回页首

了解 VBA 代码

宏,如 VBA 允许您添加到 Access 应用程序的自动化和其他功能。您可以通过使用第三方控件扩展 VBA 和可以为您自己的特定需要编写您自己的函数和过程。

注意: 您可以 Visual Basic for Applications (VBA) 代码添加到 Web 数据库;但是,不能在 Web 浏览器中运行数据库时运行该代码。如果您的 Web 数据库中包含 VBA 代码,必须首先通过运行代码之前,请使用 Access 打开 Web 数据库。若要在 Web 数据库中执行编程任务,使用 Access 宏。

有关 Web 数据库的详细信息,请参阅生成可在 Web 上共享的数据库一文。

A 快速方式若要开始使用 VBA 编程是首先构建 Access 宏,然后将其转换为 VBA 代码。在转换到 VBA 代码的宏部分中包含执行此操作的说明。此功能将创建新的 VBA 模块中宏执行相同操作。它还会打开 Visual Basic 编辑器,以便您可以开始修改过程。当您在使用 Visual Basic 编辑器中时,您可以单击关键字,然后按 F1 以启动 Access 开发人员帮助,并了解有关每个关键字的详细信息。您可以浏览访问开发人员帮助并发现新命令可帮助您执行所需的编程任务。

返回页首

转换到 VBA 代码的宏

您可以使用 Access 2010 自动转换 VBA 模块或类模块的宏。是否存在作为单独对象或嵌入的宏,则可以转换到窗体或报表,附加的宏。您还可以转换不会将其附加到特定的窗体或报表的全局宏。

注意: 您可以 Visual Basic for Applications (VBA) 代码添加到 Web 数据库;但是,不能在 Web 浏览器中运行数据库时运行该代码。如果您的 Web 数据库中包含 VBA 代码,必须首先通过运行代码之前,请使用 Access 打开 Web 数据库。若要在 Web 数据库中执行编程任务,使用 Access 宏。

有关 Web 数据库的详细信息,请参阅生成可在 Web 上共享的数据库一文。

转换到窗体或报表附加的宏

此过程将转换为 VBA 任何宏引用 (或嵌入在) 窗体或报表 (或其任何控件),并将 VBA 代码添加到窗体或报表的类模块。类模块组成部分的窗体或报表,并将它与窗体或报表一起移动,如果移动或复制。

  1. 在导航窗格中,右键单击窗体或报表,然后单击设计视图

  2. 设计选项卡的工具组中,单击Visual Basic 到转换窗体的宏转换报表宏到 Visual Basic

  3. 转换窗体宏转换报表宏对话框中,选择您希望 Access 添加错误处理代码生成的功能。此外,如果您有在您的宏的任何注释,选择是否希望让他们作为函数中的批注。单击转换以继续。

    如果没有类模块存在窗体或报表,Access 将创建一个,并将一个过程添加到每个窗体或报表与关联的宏的模块。Access 还会更改窗体或报表的事件的属性,使之运行,而不是宏的新 VBA 过程。

  4. 若要查看和编辑的 VBA 代码︰

    1. 窗体或报表仍处于打开状态在设计视图中,如果尚未显示属性表,同时按 F4 显示该表。

    2. 在属性表的事件选项卡上,将显示[事件过程],任何属性框中单击,然后单击生成按钮 按钮图像 。若要查看特定控件的事件属性,请单击该控件以将其选中。若要查看的整个窗体或报表的事件属性,请从属性表顶部的下拉列表中选择窗体报表

      Access 打开 Visual Basic 编辑器,并在其类模块中显示的事件过程。您可以向上滚动或向视图中相同的任何其他过程类模块。

转换全局宏

  1. 在导航窗格中,右键单击要转换的宏,然后单击设计视图

  2. 设计选项卡的工具组中,单击将宏转换到 Visual Basic

  3. 转换宏对话框中,选择所需的选项,然后单击转换

    Access 将该宏,并打开 Visual Basic 编辑器。

  4. 若要查看和编辑的 VBA 代码︰

    1. 在 Visual Basic 编辑器中,如果未显示项目资源管理器窗格中,在视图菜单上,单击项目资源管理器

    2. 展开您使用的数据库的名称下树。

    3. 模块,双击模块转换宏的宏名称。

      Visual Basic 编辑器中打开该模块。

附加到事件属性的 VBA 函数

将全局宏转换为 VBA 时,VBA 代码位于标准模块。类模块中,与标准模块不是窗体或报表的部分。您很可能希望在窗体、 报表,事件属性相关联的函数或控件,以便在代码运行完全何时以及所需位置。若要执行此操作,您可以将 VBA 代码复制到类模块,然后将其与事件属性,或者您可以使用以下过程进行特殊的事件属性从呼叫转接至标准模块。

  1. 在 Visual Basic 编辑器中,记下该函数的名称。例如,如果转换一个名为 MyMacro 宏,则函数名称将 MyMacro()。

  2. 关闭 Visual Basic 编辑器。

  3. 在导航窗格中,右键单击窗体或报表所需以关联函数,然后单击设计视图。

  4. 单击您希望与之关联的函数的控件或部分。

  5. 如果属性表未显示,请按 F4 以显示它。

  6. 在属性表的事件选项卡上,单击您希望与之关联的函数事件属性框。

  7. 在属性框中,键入等号 (=) 后面跟有函数的名称,例如, =MyMacro(。请务必包括括号。

  8. 单击快速访问工具栏上的保存保存窗体或报表。

  9. 在导航窗格中双击窗体或报表中,,然后测试它以查看该代码将运行。

现在,你知道要添加到您的数据库的 VBA 代码的基本步骤。本文介绍仅如何开始; 的基础知识有许多出色的参考资料和联机资源可帮助您构建您的编程技巧。

返回页首

了解如何使用帮助系统

Access 2010 提供了多种方法来帮助您编程。您可以通过单击 Access 窗口的右上角中的帮助按钮来获取随时的帮助。

“帮助”按钮

Access 将显示帮助窗口。

此外,当您正在构建宏或 VBA 过程,您可以单击宏操作、 关键字或内置函数名称,然后按 F1。在大多数情况下,Access 将显示有关您单击的项的帮助主题。

后帮助窗口处于打开状态,请使用工具栏上的导航按钮在页面之间移动。

“帮助查看器”工具栏

例如,开始查看目录,请单击,然后单击返回转发停止刷新按钮以主题之间移动或重新加载主题。也可以通过在工具栏,然后按 ENTER 或单击搜索下的框中输入搜索词中搜索特定信息的帮助系统。

搜索有关编程信息时,时,通常很有帮助浏览访问开发人员帮助除了访问帮助。

切换到 Access 开发人员帮助

  1. 单击搜索按钮旁边的下拉箭头。

    “帮助”中的“搜索”按钮

    帮助窗口显示,您可以通过浏览可用帮助主题的列表。

    “帮助搜索”列表

  2. 如果您已连接到 Internet,在来自 Office.com 的内容,下单击开发人员参考。我们建议使用此方法时,因为从 Office.com 的内容始终是最新。如果您未连接到 Internet,或者您的系统管理员已禁用帮助窗口的联机状态的能力,您仍然可以查看 Access 开发人员帮助通过单击来自此计算机的内容下的开发人员参考

  3. 您可以浏览帮助的目录或表中使用的链接,通过工具栏正下方的框中输入搜索词,然后按 ENTER。

  4. 若要切换回访问帮助,请单击搜索按钮旁边的下拉箭头,然后单击来自 Office.com 的内容来自此计算机的内容下的访问帮助

有关使用脱机或联机帮助的详细信息,请单击帮助窗口的右下角中的连接状态菜单,然后单击解释这些选项

帮助查看器中的“连接状态”消息

返回页首

注意: 机器翻译免责声明:本文是由无人工介入的计算机系统翻译的。Microsoft 提供机器翻译是为了帮助非英语国家/地区用户方便阅读有关 Microsoft 产品、服务和技术的内容。由于机器翻译的原因,本文可能包含词汇、语法或文法方面的错误。

扩展你的技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×