以下部分提供有关用户界面设计的信息,以及为何做出某些选择。 提供了对象名称,以便你可以在 Northwind 2.0 Starter Edition 数据库中轻松检查它们。
Northwind 2.0 Starter Edition 中的用户界面具有现代外观和感觉,并且简单而灵活。 主菜单窗体 (frmMainMenu) 左侧有一列操作,供用户选择菜单项,右侧有一个大工作区,从菜单中选择时会显示客户、产品或订单列表。 此设计一次将一个菜单项“拉取”到主菜单中的工作区中,并避免在其他窗口顶部打开多个新窗体。
选项卡式窗体
Access 支持两种类型的表单。 默认为由 Northwind 2.0 Starter Edition 使用的选项卡式文档。 传统的替代方法是使用重叠窗口。
菜单的新式增强功能
主菜单窗体 (frmMainMenu) 还包括显示有关订单、产品、客户和员工的摘要信息的基本仪表板。 例如,在“订单”标签下,可以看到当前订单数。 宏根据需要更新仪表板信息;它们在输入订单或订购或销售产品时执行,等等。 这些示例展示了如何通过新式外观和增强功能来改善用户体验。
菜单函数
有两种类型的菜单项。 大多数菜单项标识用户将选择用于进一步工作的应用程序的某个区域。 它们加载该区域的记录列表。 由于添加新订单是最常见的活动,因此主菜单还有一个 “添加订单” 项,它绕过现有订单列表,直接转到表单 (sfrmMainMenu_OrderList) 添加新订单。
新式查找标签
标签的使用方式有两种:
-
信息显示 传统标签标识应用程序及其元素,并向用户指出信息。 它们通常标识相邻控件的内容。 例如,“名字”标识员工名字列。
-
操作标签 某些标签的工作方式类似于命令按钮。 单击它们将执行代码。 使用标签而不是传统的命令按钮可呈现新式外观。 传统的命令按钮的工作方式相同,你可能更喜欢更传统的外观和感觉。 事实上,Access 支持多种不同的按钮样式,因此可以随意浏览。
虽然它们的外观相似,但操作标签上的标题可以告诉用户如何使用它们。 除了对列表使用复数和单数表示一项之外,标签还可以具有关键字,如“添加”。
选择菜单项
若要选择要处理的数据库区域,例如添加新订单、管理客户或添加或更新产品,请单击该菜单项。 单击它可将不可编辑的订单、客户、产品等列表加载到工作区中。
从列表中选择记录
列表中每条记录的超链接字段将打开该项目的编辑窗体,即主菜单的弹出窗体中的单个客户、订单、产品等。 关闭弹出窗体将返回到主菜单。
弹出窗口编辑表单
可以在弹出窗体中编辑现有记录或添加新记录。 每个弹出窗体都会打开到所选记录,准备好接受对该记录所做的更改。
必需值
表中的某些字段具有必需值。 Access 无法保存必填字段中没有值的记录,因此,窗体会显示默认 Access 错误消息,以警告你有关问题。 完成对现有记录的编辑或添加新记录后,请关闭弹出窗体以返回到主菜单中的列表。
在本部分中,我们将重点介绍每个窗体的功能。
主菜单
frmMainMenu) 主菜单 (是 Access 主窗体/子窗体设计。 作为选项卡式文档,主菜单窗体会以为模板选择的分辨率填充屏幕。 如前所述,标签以两种方式使用:标识应用程序的各个部分并显示有关这些项目的信息以及作为命令按钮。
Menu 本身占据主窗体左侧的窄垂直空间。 七个标签执行其标题指示的操作,例如,获取客户列表。
右侧的子窗体控件占据主窗体的最大份额。 单击 “菜单项 ”执行宏,将子窗体控件中的子窗体替换为连续视图中的相应窗体。
选择项列表
基本用户工作流是选择并加载项列表,例如订单 (sfrmMainMenu_OrderList) 。 列表是只读的,因为只需帮助用户导航到列表并从列表中选择一条记录:订单、客户、员工和产品。
这些列表窗体显示在连续视图中,其中多个记录同时显示。 一次一条记录(当前记录)具有焦点。 记录选择器 (连续视图窗体左侧深色矩形中的白色箭头,) 指示当前记录。
列表中的项可能不会显示表中的所有字段;有时只需要一部分字段。
从列表中选择一项
当项列表“拉取”到主菜单的子窗体中时,单击超链接将选择该项目的详细信息。 超链接使用记录的主键来选择适当的记录进行编辑。
打开单个记录的详细信息时,它们将显示在主菜单的新窗口中。 详细信息是弹出形式;只要它们处于打开状态,它们就会专注于自己。 在弹出窗体中一次与一条记录进行交互。
与列表不同,详细信息窗体显示表中该类型项的所有字段。 访问表单通常绑定到表或基于该表的查询,这意味着您可以直接在表单中编辑、添加或删除该表的值和记录,而无需进行其他编码。 当然,某些控件不可编辑,因为它们属于应用程序。 例如,可以显示主键,但用户无法编辑它们。 因此,许多 Access 应用程序根本不在窗体中显示主键字段。 但它们在 Northwind 2.0 Starter Edition 中使用超链接函数。
订单详细信息
订单详细信息窗体 (frmOrderDetails) 是 Access 主窗体/子窗体设计。 在窗体的主要部分中添加新订单或更新现有订单。 在订单行项子窗体中添加或更新这些订单中包含的产品 (sfrmOrderDetails) 。
使用主窗体和子窗体管理一对多关系。 订单详细信息窗体显示如何处理订单与订单中包含的一个或多个产品之间的一对多关系。 主窗体 (frmOrderDetails) 显示在单个视图中,并绑定到 orders 表。 子窗体 (sfrmOrderDetails) 处于连续视图中,并绑定到订单详细信息表。
大纲/子链接字段
主窗体和子窗体处理一对多关系的详细信息。 子窗体控件是子窗体的容器,具有 Master 和 Child 链接字段属性。
Access 会自动尝试从单面表中选择主键,并从这些字段的多侧表中选择相应的外键。 但是,如果你有更高级的要求,则可以替代该选择。
除了将“订单详细信息”表中的记录与“订单”表中的订单同步外,每次向订单详细信息添加新产品时,Access 都会自动提供订单中正确的主键作为外键。
在 frmOrderDetails) (订单窗体上,还会看到名为“最近订单 (sfrmOrders_MostRecent) ”的第二个子窗体,其中显示了最近订单的只读列表。 此列表也以连续视图显示最近的订单。 在输入订单之前,可以检查该订单是否可能是同一客户最近下达的另一个订单的副本。
请注意,可以编辑新订单和订单详细信息,但不能编辑最近订单的列表,因为它仅供信息。 另请注意,最近订单的“主链接”和“子链接”字段为空,因为当前订单与任何其他最近订单之间没有直接关系。
通常可在组合框或列表框中处理一对多关系。 例如,多个客户不会为一个订单联接在一起。 Orders 表中只需要一条信息,即 CustomerID。 用户从列出所有现有客户的组合框中选择相应的客户的外键。
订单详细信息窗体还具有与处理订单相关的操作菜单。 它水平显示。 标签上的标题将操作和目标组合在一起:
-
添加顺序
-
删除顺序
-
创建发票
-
发货订单
-
接收付款
-
关闭订单
它们执行执行一些基本错误检查的嵌入式宏,然后执行相应的操作。
员工列表和员工详细信息
员工列表 (frmEmployeeDetail) 在大多数方面与 frmOrderDetails) (订单列表相似。 例如,它具有用于选择单个员工的超链接,并且也是只读的。
接口设计选项和业务规则
通常,特定设计反映了应用程序的业务规则。 例如,主菜单 (frmMainMenu) 具有操作标签 “添加订单”,但不适用于员工、产品或客户。 这是因为添加新员工、产品或客户比添加新订单少得多。 因此,通过在列表或详细信息窗体上放置其他添加标签来减少菜单上的项目数是有意义的。 否则,此窗体遵循与订单窗体类似的方法。
产品列表和产品详细信息
“ 添加产品 ”标签位于产品的列表窗体上,因为 Northwind 的产品目录比员工更易变,但不像新订单那样频繁更新。
“ 导出到文件” 标签将打开内置的访问向导,以 Word 格式、Excel 格式、PDF 格式以及其他选项创建产品列表并将其导出到外部文件。
与前面的列表一样,超链接会打开产品详细信息窗体, (frmProductDetail) 编辑单个产品。 它还说明了唯一的产品代码,而不是主键,这是一个更人性化的值。
产品详细信息弹出窗体上的一个附加功能是 “转到产品 ”组合框。 此组合框是使用访问控制向导创建的,该向导可在功能区上访问,并将当前筛选器和折页器产品删除到组合框中选择的产品。
客户列表和客户详细信息
尽管开发人员不太经常使用拆分表单,但为了在 Northwind 2.0 Starter Edition 中说明这些窗体,客户列表是拆分形式。 有关详细信息,请参阅 创建拆分窗体。
拆分窗体有两个部分:一个视图部件显示当前所选记录,一个数据表部件显示记录列表。 由于拆分窗体在子窗体控件中不起作用,因此它必须作为新窗口加载才能显示该功能。 将该行为与在子窗体控件中加载的其他列表窗体进行比较。
拆分器栏位于 ID/客户名称标题行正上方。 将其拉下,并查看完整的拆分器形式。
此表单 (frmCustomerList) 还演示了几个更多 Access 功能。 “ 显示/隐藏字段” 标签允许更改显示的字段。 “创建标签标签”将打开一个访问向导,引导你完成为客户邮寄的地址标签的创建过程。
管理员设置
大多数 Access 应用程序都需要全局设置才能正常工作。 有些由开发人员确定,但有些需要不时可供用户访问。 管理员表单 (frmAdmin) 说明了用户直接或间接控制的一些设置:
-
所有订单的 TaxRate 都是相同的,但可以在此处进行更改。
-
AutoLogin 和 PromptForPersonalLogin 确定首次启动 Northwind 2.0 Starter Edition 或在首次使用后返回时的用户体验。 可以使用这些来重置新用户的初始体验。
-
LastResetDate 是上次使用“重置日期”时保存日期的位置。 它的唯一目的是在左侧导航中将该日期显示为一点“眼球”。
在“管理”菜单上,你将找到一个窗体 (sfrmAdmin_InternetOrders) ,通过该窗体可以创建模拟通过网站收到的订单的 Internet 订单。 它还通过限制每次创建的订单数来演示验证