技术开发 频道

DB2 9与Microsoft Access 2007(三)

【IT168 技术】在本系列文章的第一部分DB2 9与Microsoft Access 2007(一):获取数据,我向您展示了如何使用Microsoft Access 2007作为一个后端IBM DB2服务器的图形前端处理机。特别是介绍了怎样执行链接表格并创建基于这些表格的提取层,这样信息技术人员就无须担心不同的命名约定而可以直接处理他们的商务实体;从始至终,数据都存放在DB2服务器上且基本上对工作效率没有丝毫的影响。在第二部分如何在Microsoft Access 2007中处理DB2数据,我针对链接表格更近一步的展示了如何影响您的Access 2007和DB2,把它们作为一个整合层;除此之外,我还论证了一些在向信息技术人员演示DB2数据时Access 2007所支持的商务规则。在这篇文章中,我将介绍如何基于DB2服务器建立报表,并进一步深入讨论对于Access 2007开发者来说,后端DB2服务器的透明属性。

  准备工作

  请首先确认您已经连接了前两部分所提到的样本数据库中的ORG, EMPLOYEE, STAFF, DEPT, 和 INVENTORY 表格。除此之外,我假设您已经创建了基于这些表格的提取层,所以您现在的All Tables 应该如下所示:

DB2 9 和 Microsoft Access 2007 (三):DB2报表

  如果您需要之前工作的指导,请参阅本系列文章第一部分。在本文中,我们将会处理STAFF表格,所以请确保您可以打开此表格并能观察其中的数据。您可以双击所创建的Staff 对象,按照之前文章的步骤来实现:

DB2 9 和 Microsoft Access 2007 (三):DB2报表

  使用Report wizard创建基于DB2的报表

  想要在DB2数据库中创建STAFF表格的报表,请遵循以下步骤:

  1.选择All Tables 视图中的STAFF表格。

  2.在Reports(报表)操作区域,选择Create 栏并点击Report Wizard。(请注意操作区域的显示是动态的,它会随着您所选择的不同的栏,而显示相应的对象列表):
 

DB2 9 和 Microsoft Access 2007 (三):DB2报表

  Report wizard将被开启:

DB2 9 和 Microsoft Access 2007 (三):DB2报表

  我之所以让您在开启Report wizard之前选择STAFF表格是因为Access 2007非常巧妙的将Report wizard设置在用户选择的表格上。(观察Tables/Queries下拉列表)
  3.选择您所期望在报表中体现的列,然后点击Next。在本例中,为报表选择所有的列,现在Report wizard将如下所示:

DB2 9 和 Microsoft Access 2007 (三):DB2报表

  您可以从Available Fields中移动一列到Selected Fields中,只需选择该列再点击Move Column ( )按钮;想要选择所有的列,点击Move All Columns button ( )。

4.为您的报表选择分组规则,操作方法同上。在本例中,选择DEPT 作为分组列,如下所示:

DB2 9 和 Microsoft Access 2007 (三):DB2报表

  一旦您确定了分组列,就可以通过点击Grouping Options来设置控制该列的若干选项。可以看到,您已经能设置所选列的相关选项了:

DB2 9 和 Microsoft Access 2007 (三):DB2报表

  在本例中,无需考虑默认设置的Normal,但是在操作完本文所有步骤后,您可以通过选择不同的值来观察其对您的报表有怎样的影响。

  5.选择您想要进行排序的列,然后具体设置排序的属性及您希望报表所生成的一些摘要。在本例中,选择下拉列表中的Salary及Descending顺序。

DB2 9 和 Microsoft Access 2007 (三):DB2报表

  您可以点击排序键来修改所选列的排序方法。例如,想要把SALARY列的从升序改为降序,点击Ascending按钮,它的标签就会变为Descending。想要再改回升序,再次点击该按钮即可。换句话说,该按钮标签显示的就是所选列的排序方式。

您也可以添加多重排序标准。例如,如果想要根据department来为您的报表分组,并先为那些在你公司工作时间最短且收入最高的员工排序,您的Report wizard应该如下所示:

DB2 9 和 Microsoft Access 2007 (三):DB2报表

  6.在同一窗口,您可以使用Access 2007的强大性能来总结您表格中的数字列。在本例中,点击Summary Options,选择如下所示的选项,然后点击OK:

DB2 9 和 Microsoft Access 2007 (三):DB2报表

  7.点击Next.

  8.为页面选择Block,为定位方向选择Portrait,确认Adjust the field width so all fields fit on a page复选框被勾选,然后点击Next。

  您可以使用页面选项来修改您的报表外观。下图显示了可选的若干选项及其对您最终报表所起的作用:

DB2 9 和 Microsoft Access 2007 (三):DB2报表

  Orientation单选钮允许您在Landscape(横向)和Portrait(纵向)之间来选择排列风格。

 
 

Adjust the field width so all fields fit on a page复选框可以调整您的报表区域以防它们溢出;这个选项对于纵向排列更为重要,因为在横向排列风格中,这种情况比较少发生。

  9.选择Trek风格并点击Next。

DB2 9 和 Microsoft Access 2007 (三):DB2报表

  当然,您可以选择您所希望的任意风格。除此之外,您还可以创建您自己的风格并将它设为模板—比如,您希望在报表上出现公司的商标。

  10.将此报表命名为SalaryYearsOfServiceSTAFFReport,确认选择了Preview the report单选钮,然后点击Finish。

DB2 9 和 Microsoft Access 2007 (三):DB2报表

  选择Preview the report(报表预览)项,它允许您在点击Finish之前事先预览您的报表。Modify the report’s design选项会打开您刚刚在设计风格中创建的报表,在这里您可以进一步利用更多强大的选项和控件来定制您的报表。

现在Access 2007已经显示出您的报表:

DB2 9 和 Microsoft Access 2007 (三):DB2报表

  当然,您也可以根据您在第一部分创建的任意链接表格来创建报表,例如,链接到IBM Informix或z/OS的DB2服务器上的表格。

  为您的报表设置更多的风格–the Report Designer

  如果您想要为报表设置更多的版面设计风格,您可以使用Report Designer来从头定义一个报表风格或从您刚刚在wizard中创建的报表上继续进一步加工。如果要深入探讨Access 2007的所有细节,将会超出本文的讨论范畴;所以我会更加着重在向您展示DB2数据如何自然的嵌入到一个Access开发环境中。基于这个目标,下面部分将会为您大体上介绍从头建立一个DB2报表的过程。

  利用report designer来设计一个报表,选择Create栏,点击操作区域中Reports
 部分的Report Design:

DB2 9 和 Microsoft Access 2007 (三):DB2报表

  将打开Report Designer窗口:

DB2 9 和 Microsoft Access 2007 (三):DB2报表

  只需从Field List中拖动若干列(或整个表格)到designer palette。可以注意到Report Designer拥有Page Header, Detail, 和 Page Footer部分,在这里您可以更加细微地在定制报表时放置数据和其他控件。

 例如,从Organization中(这是在样本数据库中与ORG表格相连的实体)把DEPTNUMB 和 LOCATION列拖动到Detail部分,这时Report Designer会如下所示:

DB2 9 和 Microsoft Access 2007 (三):DB2报表

  您将看到Field List会变为显示您刚刚添加到报表中的数据实体。而其他的实体将会被移到Fields available in other tables框中;从这里您可以继续给报表添加其他的表格或列。

DB2 9 和 Microsoft Access 2007 (三):DB2报表

  接着从Staff数据实体中把NAME, JOB, 和 YEARS列加到您之前增加列的区域。当您把NAME一列从Staff中移到报表里时,Specify Relationship窗口开启:

DB2 9 和 Microsoft Access 2007 (三):DB2报表

  这个窗口使您进一步定义报表中不同区域之间的关系。例如,STAFF表包含每一个部门的若干员工;它可以利用DEPT列中一个多对一的关系与ORG表相关联,因为ORG表是用来定义样本数据库所代表的一虚拟公司的不同部门。

要定义这一关系,确认Specify Relationship窗口如下所示,点击OK:

DB2 9 和 Microsoft Access 2007 (三):DB2报表

  您可以看到您添加到报表中的列现在已经被添加到Report Designer中(尽管您所定义的这一关系并没有在报表中体现出来)。

  现在您可以继续增加其他的列。(您不会再看到Specify Relationships窗口 — 除非您从一个新表中增加一列。)当您完成后,Report Designer palette应该如下所示:
DB2 9 和 Microsoft Access 2007 (三):DB2报表

  提示:您可以利用控制节点( )使每一个区域( )的名字和数值框排成直线。

  正如您所看到的,Report Design Tools 部分的Design栏可以为报表添加很多窗口部件,和一些计划性的动作(比如一个可以触发某个动作的按钮),以及更多。

DB2 9 和 Microsoft Access 2007 (三):DB2报表

  当您完成了报表设计时,保存它,然后在All Tables视图中双击运行。您的报表会有所不同,但是我把我的报表设计成需要两个参数(一个输入值,一个返回值)来表示我刚才拖拉到Report Designer上的信息:

DB2 9 和 Microsoft Access 2007 (三):DB2报表

  我希望您能去尝试使用report design中所有的控件;因为最好的学习方法就是去使用它!

获取DB2数据的其他方式

  Access 2007有一些其他的选项使您快速做出反映DB2数据的报表。例如,Report选项(如下所示)使您能够创建一个基本报表并立即定制它。

DB2 9 和 Microsoft Access 2007 (三):DB2报表

  如果您只希望把DB2数据移到一个报表中,那么这就是最好的方法。例如,如果您选择了一个表,然后选择Create栏和Report选项,Access 2007会立即为DB2数据建立一个报表:

  Report Designer窗口打开,同时出现一个事先建好的报表:

DB2 9 和 Microsoft Access 2007 (三):DB2报表

  您可以看到Access 2007已经为你的报表设置了一定的控件和格式。在这时,您可以快速修改内容部分来改变您的报表风格:

DB2 9 和 Microsoft Access 2007 (三):DB2报表

  例如,在几秒之内我就可以把报表设置成这样:

DB2 9 和 Microsoft Access 2007 (三):DB2报表

  您可以看到我添加了一些显示格式,如此一来那些多年以来收入低于特定值的员工将会被显示为红色。

  小结

  在本文中,我向您介绍了如何在Microsoft Access 2007中为IBM DB2数据创建报表,并演示了如何使您的报表包含多个不同的表格,以及简要介绍了Access 2007所支持的不同报表生成选项。在我的下一篇论文中,我将使您了解如何基于DB2数据创建Access 2007窗体。(转载IT专家网)

0
相关文章