Applies ToMicrosoft 365 专属 Access Access 2021 Access 2019

以下部分演示如何使用员工表单以及如何对其进行编程。 提供了对象名称,以便你可以在 Northwind 2.0 Starter Edition 数据库中轻松检查它们。

以下是有关使用员工列表表单的重要详细信息:

  • 从“main”菜单开始,从左侧菜单中选择“员工”会显示右侧工作区中 (sfrmMainMenu_EmployeeList) 员工列表。

  • 每个员工的 ID 都是一个超链接,用于在弹出窗体中打开该员工的记录以编辑其详细信息。

  • 若要添加新员工,请单击标题行最右侧的“ 添加员工 ”按钮,该按钮将在弹出窗体中打开新员工记录, (sfrmEmployeeDetail_OrderList) 添加其详细信息。

以下是有关使用员工详细信息弹出窗体的重要详细信息:

  • 员工详细信息弹出窗体 (frmEmployeeDetail) 允许编辑和添加员工记录。

  • 所有员工都需要三个字段:名字、姓氏和职务。

  • 在尝试保存员工记录之前,当一个或多个未完成时,默认访问错误消息会发出警报。 不会对其他字段(如电子邮件地址和电话号码)应用任何验证。 用户负责正确设置格式,例如 (000) 000-000。 游戏下拉列表控件的默认访问验证将条目限制为预先选择的值列表。 可以再次使用值字段控件的默认 Access 行为添加新标题。 选择窗体上的下拉列表将显示编辑图标。 多值字段

  • 员工图片作为附件字段存储在表中。 使用附件字段的默认 Access 行为添加新图像或更改现有图像。 附加图片的示例

  • 如果员工已创建订单,则员工详细信息右侧的子窗体会弹出在数据表视图中列出这些订单。

  • 可以通过单击“订单”子窗体中的超链接“订单 ID # (sfrmOrderDetails) 编辑该员工的任何现有订单。

员工窗体使用窗体控件中的 VBA 和嵌入宏来执行基本逻辑。 它们包含两个独立宏和多个嵌入宏。

员工列表

  • “员工列表”窗体 (sfrmMainMenu_EmployeeList) 从 RecordSource 属性) 的简单查询 qryEmployeeList (获取其数据。 建议的做法是将数据输入窗体基于单表查询。

  • 员工列表窗体上的控件已启用,这意味着你可以选择它们并锁定,这意味着它们是只读的。

  • 基于多值字段的“标题”字段是下拉列表或组合框。 其行源是值列表,这意味着可用的可选项直接包含在该字段中。 该列表的 “List 限制 ”属性设置为“是”,因为此表单不用于编辑。 多值字段仅作为特征的插图包含在内,而不作为建议。

  • 在员工列表 (sfrmMainMenu_EmployeeList) 中,“ 向上键 ”和“ 向下键” 事件的两个 Sub 过程会响应数据表视图中用户的光标移动。 它们检测光标移动的方向 (左、右、上、下) ,并调用将焦点移动到相应控件的 VBA 函数。

  • 编辑现有员工记录,并在详细信息窗体 (frmEmployeeDetail) 添加新记录。

  • 可以通过以下两种方式之一从员工列表中以可编辑的弹出窗体的形式打开员工详细信息表单:

    • 选择设置为超链接的 EmployeeID,打开员工详细信息窗体,并仅筛选为该员工记录。

    • 选择窗体标题上的 “添加员工 ”标签,打开员工详细信息窗体并将焦点移动到新记录。 所有当前记录都位于窗体的记录源中。

    请注意,这两种方法可能会对性能产生不同影响。 将窗体筛选为单个记录可最大程度地减少要从表传输的数据量。 对于小型记录集,差异可能不明显。

员工详细信息

  • 员工详细信息表单 (frmEmployeeDetail) 从简单的查询、qryEmployeeDetails (从窗体的 RecordSource 属性) 获取其数据。 建议将数据输入表单基于单表查询。

  • qryEmployeeDetails 中的 SELECT 子句使用星号通配符 (*) 来选择表中的所有字段,而 qryEmployeeList 中的 SELECT 子句将列出特定字段。 使用通配符可以检索基础表中的新字段,无需对查询进行其他编辑。 对于特定字段的列表,这是不可能的。 特定字段的列表将记录集限制为仅显示窗体中所需的字段。 设计应基于哪种方法更适合你的要求,尽管首选项应转到最不需要将来维护的方法,即通配符的使用。

  • 员工详细信息窗体上的控件已启用且未锁定,这意味着可以选择和编辑控件。

  • 基于多值字段的“标题”字段是下拉列表或组合框。 其行源是值列表,这意味着可用的可选项直接包含在该字段中。 列表的 “List 限制 ”属性设置为“否”,因为此窗体用于编辑。 添加或编辑游戏使用内置的 Access 方法,因此不需要任何代码。 多值字段仅作为特征的插图包含在内,而不作为建议。

  • 可以在详细信息窗体中编辑现有员工记录和新员工记录。

  • 可以通过以下两种方式之一从员工列表中以可编辑的弹出窗体的形式打开员工详细信息表单:

    • 通过选择设置为超链接格式的 EmployeeID,打开员工详细信息表单,并将其筛选为仅显示该员工记录。

    • 选择窗体标题上的 “添加员工 ”标签,打开员工详细信息窗体并将焦点移动到新记录。 所有当前记录都位于窗体的记录源中。

  • 将窗体筛选为单个记录可最大程度地减少要从表传输到窗体的数据量。 对于小型记录集(例如示例数据),差异可能不明显。

  • 个人 信息 (sfrmEmployeeDetail_OrderList) 右侧的子窗体控件显示当前所选员工 (的订单(如果有任何) )。 子窗体控件中的子窗体从 “订单 ”部分重新使用。 子窗体控件的内置 Access LinkMasterFields/LinkChildFields 属性同步并筛选为每个员工显示的记录。

  • 在员工详细信息 (frmEmployeeDetail) 中,表单的“ 当前 事件 ”和“ 关闭 事件 ”上的两个 Sub 过程将响应这些事件:

    • 在“当前”上 ,显示或隐藏 “添加员工 ”标签,具体取决于当前记录是现有记录,还是当它是新员工的记录时,已启动但尚未保存。

    • 关闭时 执行两个维护操作。 它会重新查询员工详细信息子窗体中的 Recordset,以更新详细信息窗体中所做的任何添加或更改。 它通过调用该宏重新同步main菜单中员工计数的显示。

macMainMenu_UpdateSubs       此宏是独立宏,在发生某些事件(包括员工表单)时运行。 在macMainMenu_UpdateSubs内,子 macros 根据它们所应用的特征进行分组。 对于员工,子 macro 将员工记录计数与main菜单上显示的计数同步。

嵌入宏    员工表单主要由表单中包含的嵌入宏驱动,并且只能从窗体进行编辑。 在员工列表中 (sfrmMainMenu_EmployeeList) :

  • EmployeeID 超链接       单击员工列表窗体中的 EmployeeID 将打开“员工详细信息”窗体,并将焦点设置为所选员工记录。

  • 添加员工标签      单击“ 添加员工 ”按钮可打开员工详细信息窗体, (frmEmployeeDetail) 并将焦点设置为新记录。

  • 员工详细信息          单击标题上的“ 添加员工 ”按钮将保存当前记录,并将焦点设置为新记录。

另请参阅

Northwind 2.0 入门版

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。