您可以用和创建简单数据绑定窗体同样的拖放技术来创建基于查询的数据网格窗体。只需要创建一个基于某个 SQL 查询的 Command 对象,然后将 Command 对象拖到某个空窗体上。您可以用查询设计器来创建 SQL 查询。
在该主题中,您将创建一个窗体,以显示某个数据网格中 Northwind Traders 示例数据库中 French 客户的订单。
要创建基于查询的数据绑定窗体,请按照以下步骤执行:
注意 该主题是指导您创建一个简单数据库应用程序系列中的一部分,该应用程序和 Nwind.mdb 中的数据交互作用。它以和 Microsoft Jet/Microsoft Access 数据库中的数据交互作用主题作为开始。
您可以用查询设计器来方便地创建基于查询的数据环境 Command 对象。首先,请按照本方案中前几步中的指示,打开一个现存的数据环境设计器,或创建一个新的设计器。
通过单击“数据环境”工具条上的“添加命令”按钮,或通过右键单击数据环境设计器中的连接,然后选择菜单中的“添加命令”,来创建 Command 对象。然后您可以在“ Command 属性 ”对话框中指定 Command 对象名、它所使用的连接,以及其数据源。为显示此对话框,右键单击数据环境中的 Connection 对象,并从快捷菜单中选择“属性”。
例如,要创建一个基于 Northwind Traders 示例数据库中 French 客户订单查询的 Command 对象,可以设置下面的属性:
属性 | 设置值 |
Command Name | FrenchCustomersOrders |
Connection | Connection1 |
也可以不选择命令所基于的特定数据库对象,如同在“创建一个 Data Environment Command 对象”一步中所做的那样,而选择 SQL 语句作为命令的数据源。然后单击“SQL 生成器...”按钮,打开查询设计器,您可以在此处指定表、字段,以及查询准则。
例如,可以通过将 Customers 和 Orders 表从“数据视图”窗口(可在“视图”菜单中见到)拖动到查询设计器的上面窗格中创建一个查询,以返回关于 French 客户订单的信息。(该设计器自动在显示其相关字段,即 CustomerID 的各表之间显示一行。)然后单击您希望将之包括在查询中的字段旁边的复选框:
表 | 字段 |
Orders | OrderID |
Orders | CustomerID |
Orders | OrderDate |
Orders | ShippedDate |
Customers | Country |
最后,在查询设计器网格中“Country”字段的“Criteria”框中输入“法国”,指定查询准则。当您指定字段和准则时,查询设计器自动生成设计器的下一级 SQL 语句:
SELECT Orders.OrderID, Orders.CustomerID, Orders.OrderDate, Orders.ShippedDate, Customers.Country
FROM Customers, Orders
WHERE Customers.CustomerID = Orders.CustomerID AND (Customers.Country = 'France')
要查看查询结果,请右键单击查询设计器,并选择“运行”。此时查询设计器显示结果记录集。
当您保存了查询时,数据环境设计器就对 Command 对象进行更新,以便将 SQL 语句作为其数据源使用。要验证该语句,您可以打开 Command 属性对话框,查看一下“SQL 语句”框中的语句。
详细信息 请参阅设计查询。
在“创建简单数据绑定窗体”主题中,您可以将某个 Command 对象从数据环境设计器拖动到一个空窗体中,从而创建一个显示文本框中数据的数据绑定窗体。您也可以拖动某个数据环境 Command 对象,从而显示数据网格中的数据。
例如,要创建一个显示 French 客户订单的数据网格,可以选择在前一步中所创建的 FrenchCustomersOrders Command 对象。然后在按下鼠标右键的同时,将 Command 对象拖动到某个空窗体上。此时 Visual Basic 显示一个弹出式菜单,让您选择是创建一个数据网格还是一个绑定控件。当您选择“数据网格”时,Visual Basic 自动创建一个显示命令记录集中记录的数据网格。
当运行该窗体时,Visual Basic 在某个数据网格中显示 FrenchCustomersOrders Command 对象返回的记录。
该主题是指导您创建一个简单数据库应用程序系列中的一部分,该应用程序和 Nwind.mdb 中的数据交互作用。
要 | 请参阅 |
进行到下一步 | 创建主表/细表窗体 |
从头开始 | 和 Microsoft Jet/Microsoft Access 数据库中的数据交互作用 |