Visual FoxPro 数据库报表设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一节介绍查询设计器

启动“查询设计器”可以在“文件”菜单中单击“新建”,选择“查询”并按“新建查询”按钮。如果当前没有数据库或表打开,则显示“打开”窗口以打开查询的表,再显示“添加表或视图”;如果当前已有数据库打开,则显示直接显示“添加表或视图”。

在“数据库中表”中显示当前数据库中的所有表以供添加。

如果不是基于当前数据库表查询,则单击“其他”按钮,以选择合适的表。

如果添加表在“选定”单选框中选择“表”,如果想添加视图,则选择“视图”。

这里我们单击“职工表”并选择“添加”按钮,则可以看到职工表已添加到“查询设计器”中了。

重复这样的操作,就可以将多个表添加到查询设计器中。单击“添加表和视图”中的“关闭”按钮,将其关闭,查询设计器窗口即成为当前窗口。

这个窗口是不是很熟悉,它和我们上一课学习的视图设计器很相似。但是我们仔细看一下就会发现,查询设计器比视图设计器少了一个“更新条件”选项卡,(如上图),而在工具栏中,查询设计器则多了一项(查询去向)按钮(如下图)。

(作为对照)查询设计器工具栏的其他几个按钮的样式和视图设计器的一样,其含义也大致相同,只是操作的对象不同(一个是查询,一个是视图)。这里只介绍“查询去向”按钮,其余不做介绍了。

前面几课中,我们看到了,实现一种操作,可以通过几个不同的途径,例如:从系统菜单、从快捷菜单、从相应工具栏、从项目管理器都可以实现。常用哪一种或哪几种方式,则根据个人的习惯。当我们单击工具栏上的“查询去向”()按钮,或从“查询”菜单中选择“查询去向”,或单击右键并在快捷菜单中选择“输出设置”都可以出现下面的“查询去向”对话框。

它有七个不同的选项,允许将查询结果传送给七个不同的输出设备。选择不同的按钮,其窗口中的选项也不一样。上图中是默认的“浏览”,即将查询结果送到“浏览”窗口中显示,以进行检查和编辑。

当单击“临时表”时,窗口如下:

以指定的名称把查询结果存贮于临时表中。此临时表只读,并在“数据工作期”窗口中出现。临时表可用于浏览,生成报表或其他目的。当关闭这个表时,查询结果随之消失。

当单击“表”时,窗口如下:

用指定的文件名,将查询结果存为(.dbf)表文件。“表名”选项用来指定表的名称。既可以在文本框中键入名称,也可以使用三点按钮来选择一个已有的、要覆盖的表。

单击“图形”按钮,产生可由 Microsoft Graph处理的图形。在设置GENGRAPH之后才可用。

单击“屏幕”按钮,使查询结果在活动输出窗口中显示。通过选择“次级输出”中的单选按钮可以在把查询结果输出到屏幕的同时输出到打印机或文本文件。“选项”复选框可以设置是否输出列标头和是否在屏幕之间暂停。如下图:

单击“报表”按钮,将查询结果按某一报表布局显示。使用此选项必须先设置报表文件 (.frx),来容纳查询中的输出字段。如下图:

在“打开报表”文本框中输入报表名,或单击“打开报表”按钮选择报表名,或者单击右侧的报表向导按钮进入报表向导,产生一个报表。“次级输出”同“屏幕”。

如果选择“页面预览”将在“页面预览”窗口中显示输出结果。

如果选择“活动控件台”将在活动输出窗口中显示输出结果。

如果选择“报告之前释放页”,将在报表开始之前打印一空白页,以在打印机上隔开文档

如果选择“仅总结信息”,将不打印细节信息。所生成的报表包括标头、注脚、总计信息等等,但不包括细节信息。

单击“标签”按钮,将会将查询结果输出到一个标签文件(.LBX)。使用此选项必须先设置标签文件,来容纳查询中的输出字段。其选项前面几个去向中已介绍。如下图:

其中的选项卡由于在“视图设计器”中已介绍,这里不再赘述了。

前面在“向导”一课中已提到,查询保存在扩展名为.QPR的文件中。以后使用此查询在命令窗口中输入:DO 查询名.QPR 即可。

第二节建立多表查询

2.1 为举例作准备--建立“图书订货库”

为了以后举例的方便,我们再建立一个“图书订货库”,它包括图书表、订货表、客户表三个表。分别将图书表.书名、客户表.客户名称设置为主索引,将订货表.书名和客户名称设置为普通索引,并且在各表之间建立关联。如下图:

在图书表中输入数据(所有数据为随意设置,不做实际参考),如下图:

在订货表中输入数据,如下图:

在客户表中输入内容,如下图:

2.2 建立多表查询

我们建立这个多表查询的目的是查询“客户名称”为新华书店的订货信息。

我们看到,图书订货数据库中图书表和客户表是多对多关系,即一种书可由多个客户订购,一个客户可订购多种书。而图书表和订货表、客户表和订货表都是一对多关系。

我们打开“文件”菜单,单击“新建”,选择“查询”并单击“新件文件”按钮,进入查询设计器。在“添加表或视图”窗口中依次将“图书订货库”的图书表、订货表和客户表加入到表设计器。如下图:

由于我们在“图书订货库”中建立了表间永久关系,因此在添加的表之间自动产生关联。

注意:如果我们添加了图书表后接着添加客户表,由于我们在数据库中未建立两表的直接关联,便会弹出一个“联接条件”对话框,要求加入联接条件,我们不需要这两表建立直接关联,按“取消”按钮即可。如下图:

我们需要了解的项目有客户名称、订购的书名、每本书的定价、订货数量、每种书的预付款总额、客户联系电话,联系人等。因此我们在“字段”选项卡中选择加入相应的字段。

其中的每种书预付款总额没有与之相应的字段,需要在“函数和表达式”文本框中建立。单击文本框右侧的三点按钮,进入“表达式设计器”,通过选择或输入,在“表达式”框中建立表达式“图书表.定价*订货表.订货数量*0.75",其中的0.75指当一次性交清款,将按75折给予优惠。如下图:

按“确定”按钮关闭表达式生成器。这时在查询设计器中的“表达式和函数”文本框中出现刚才建立的表达式,按“添加”按钮,将表达式加入“选定字段”,并用垂直双向箭头调整字段输出的顺序。如下图:

相关文档
最新文档