本主题创建了一个简单数据报表,该报表使用数据环境设计器作为数据源。数据环境设计器使用和 Visual Basic一起提供的 NorthWind 数据库创建一个简单的层次结构游标。该游标包含两个表,Customers 和 Orders,并使用“CustomerID”字段链接两个表。完成的报表类似于下面的插图。
简单数据报表:客户的订单日期
在开始逐步处理之前,确保计算机上存在 Northwind 数据库(Nwind.mdb)。如果不存在,从 Visual Basic CD 复制一份文件到计算机的硬盘上。
要在数据环境设计器中创建一个简单的层次结构游标,请按照下列步骤执行:
注意 最初为项目加载的四种ActiveX设计器在“工程”菜单上列出。如果加载了超过四个设计器,后面的设计器可以从“工程”菜单的“更多 ActiveX 设计器”子菜单中获得。
属性 | 设置值 |
Command Name | Customers |
Connection | Northwind |
DataBase Object | Table |
Object Name | Customers |
属性 | 设置值 |
Command Name | Orders |
Connection | Northwind |
DataBase Object | Table |
Object Name | Orders |
在设计关系数据库时,对于链接字段,习惯上相关的表要使用相同的名字。在这种情况下,链接字段都被命名为 CustomerID。数据环境设计器自动地在对话框中匹配这样的对。
单击“添加”按钮向 Command 对象添加关系。在关闭了对话框之后,数据环境设计器通过把两个命令显示为一个层次结构来反映关系。该层次结构将被用于创建数据报表。
对象 | 属性 | 设置值 |
Project | Name | PrjNwind |
DataEnvironment | Name | DeNwind |
Form | Name | FrmShowReport |
一旦创建了数据环境设计器,就可以创建一个数据报表。因为并不是数据环境中所有的字段在一个数据报表中都有用,这一系列的主题创建一个受限制的报表,只显示几个字段。
要创建一个新的数据报表,请按照下列步骤执行:
注意 为工程加载的前四种 ActiveX 设计器在“工程”菜单上列出。如果加载了多于四个设计器,后面的设计器可以从“工程”菜单的“更多 ActiveX 设计器”子菜单中获得。
属性 | 设置值 |
Name | rptNwind |
Caption | Northwind Data Report |
重点 要把 DataSource 属性设置为 deNwind,数据环境设计器必须为打开的。如果数据环境设计器是关闭的,按下 CTRL+R 键显示“工程”窗口,然后双击数据环境图标。
您已经向设计器添加了一个新的分组。每一个分组都同数据环境中的 Command 对象有“一对一”对应关系;在这种情况下,新的分组与客户的 Command 对象相对应。同时也要注意分组标头有一个与之匹配的分组注脚部分。
注意 如果某个 Command 对象有多于一个的子对象 — 相互“平行”的子 Command 对象,则 Data Environment 使您可以创建该 Command 对象的层次结构。Data Report 设计器,却没有那么灵活,在同一时间不能显示多于一个的子对象。此时,当执行一个 Retrieve Structure Command命令时,Data Report 将只显示第一个子 command,其他的都不显示。所以,您应该避免创建带有“平行”子 command的 Command 层次结构。
分组标头部分可以包含 Customers 命令的任何字段,然而,出于演示目的,此时只显示 Customer 名。
如果不希望 Label 控件包括在 TextBox 控件中,可以在数据环境设计器的“选项...”对话框的“字段映射”选项卡上撤消对“Drag and Drop Fields Caption”选项的选择。
细节部分表示最内层的“重复”部分,因而与数据环境层次结构(OrdersCommand对象)中最底层的 Command 对象相对应。
重新调整细节部分的高度,使它尽可能的矮是很重要的,因为高度将会与为每一个 CompanyName 返回的 OrderDate 相乘。OrderDate 文本框下面或上面的任何多余位置将在最后的报表中导致不必要的空间。
既然数据环境和 Data Report 对象已经创建,就几乎准备好运行工程了。还剩下一步:写代码以显示数据报表。
要在运行时显示数据报表,请按照下列步骤执行:
当把一个数据报表设计器添加到工程时,数据报表设计器的控件被添加到名为“Data Report”的选项卡上。要使用标准的 Visual Basic 控件,必须切换到“通用”选项卡。
属性 | 设置值 |
Name | CmdShow |
Caption | Show Report |
Private Sub cmdShow_Click()
rptNwind.Show
End Sub
在没有代码的情况下,也可以显示报表。
注意 如果使用这种方法,可以从工程中把Form对象删除。
该主题是帮助您创建一个示例数据报表的一系列步骤中的一部分:
要 | 请参阅 |
进行下一步 | 扩展数据报表 |