在数据库应用程序中,与查看一组相关记录同时查看一条记录是很有用的和。例如,您可能希望查看一个客户记录以及该客户的当前订单。比较普遍的实现方法是创建一个主表/细表窗体。
要创建主表/细表窗体,请按照以下步骤执行:
注意 该主题是指导您创建一个简单数据库应用程序系列中的一部分,该应用程序和 Nwind.mdb 中的数据交互作用。它以和 Microsoft Jet/Microsoft Access 数据库中的数据交互作用主题作为开始。
您已经在“创建数据环境 Command 对象”和“创建基于查询的数据网格窗体”主题中看到如何创建一个基于某个简单表或查询的数据环境 Command 对象。您也可以使用分层的父/子 Command 对象,该对象允许您在查看一个表或查询中的记录的同时,查看第二个表或查询中的一组相关记录。
例如,您可以创建一个父 Command 对象,它返回 Northwind Traders 示例数据库中所有 French 客户的地址信息。然后您可以将一个相关的子 Command 对象添加到显示每个 French 客户订单信息的父 Command 对象中。
可以通过按照该应用方案前一步中的指令,打开一个现存的数据环境设计器,或创建一个新的设计器来创建父 Command 对象。然后单击“数据环境”工具条中的“添加命令”按钮,并在“Command 属性”对话框中的设置下列属性:
属性 | 设置值 |
Command Name | FrenchCustomers |
Connection | Connection1 |
可以选择 SQL Statement 作为 Command 对象的数据源。单击“SQL 生成器...”按钮,打开查询设计器,把“ Customers ”表从“数据视图”窗口拖到“查询”设计器的上面窗格中,然后单击 CustomerID、CompanyName、Address、City、PostalCode,以及 Country 字段旁边的复选框。在 Country 字段的“Criteria”框中输入“法国”,指定查询准则。查询设计器生成下面的 SQL 语句:
SELECT CustomerID, CompanyName, Address, City, PostalCode, Country
FROM Customers
WHERE (Country = 'France')
右键单击数据环境设计器中的 FrenchCustomers 命令,将一个子命令添加到父命令中,然后从弹出菜单中选择“添加子命令”。在“Command 属性”对话框中设置下列属性:
属性 | 设置值 |
Command Name | OrderDates |
Connection | Connection1 |
可以选择 SQL Statement 作为 Command 对象的数据源。单击“SQL 生成器...”按钮,打开查询设计器,把“ Customers ”表从“数据视图”窗口拖到“查询”设计器的上面窗格中,打开查询设计器,然后单击 OrderID、CustomerID、OrderDate,以及 ShippedDate 字段旁边的复选框。查询设计器生成下面的 SQL 语句:
SELECT OrderID, CustomerID, OrderDate, ShippedDate
FROM Orders
最后,定义父和子 Command 对象之间的关系。在数据环境设计器中,选择 OrderDates Command 对象,并单击工具条上的“属性”按钮。单击“关联”选项卡。通过选择“父字段”和“子字段/参数”列表中的 CustomerID,定义父和子 Command 对象中 CustomerID 字段之间的关系。然后单击“添加”按钮。数据环境设计器将关系添加到“关联定义”框中。
当完成这些工作后,数据环境显示父 Command 对象及其字段和子 Command 对象及其字段的一个分层结构视图。
详细信息 请参阅如何显露Command以供编程访问。
伴随基于某个简单的表或查询的数据绑定窗体,您只需将 Command 对象从数据环境设计器拖动到一个空窗体就可以创建一个基于分层父/子 Command 对象的主表/细表窗体。
例如,可以通过选择您已在前一步创建的 FrenchCustomers Command 对象,来创建一个显示 French 客户的地址信息以及相关订单信息的主表/细表窗体。然后在按下鼠标右键的同时,将 Command 对象拖动到一个空窗体中。Visual Basic 显示一个弹出菜单,该菜单让您选择是创建一个数据网格、 hierarchical flexgrid 或绑定控件。当您选择了 hierarchical flexgrid 时,Visual Basic 自动创建一个基于父/子 Command 对象的主表/细表窗体。
当运行该窗体时,Visual Basic 显示 FrenchCustomers Command 对象返回的地址记录,以及 OrderDates Command 对象返回的相关订单记录。
该主题是指导您创建一个简单数据库应用程序系列中的一部分,该应用程序和 Nwind.mdb 中的数据交互作用。
要 | 请参阅 |
进行到下一步 | 创建数据绑定报表 |
从头开始 | 和 Microsoft Jet/Microsoft Access 数据库中的数据交互作用 |