Programming and Application(编程与应用)


Content(目录)




Linux


MySQL
Office















 
PCNow 30-Day Free Trial, Remote PC Access
 
Logo_234x60

用Word创建DBF数据库的分类报表


用Word创建DBF数据库的分类报表

董占山

(中国农科院棉花所,河南安阳,455112)

使用Word您可以创建一些需要大量打印的通用文档,这些文档的内容既有相同的部分,又有格式不同的标识部分,这些文档被称为合并文档,要创建合并文档,可以使用“工具”菜单中的“邮件合并”命令轻松地达到目的。

一般来说,任何形式的合并文档都有两个文件组成:一个主文件和一个数据源。主文件中包含着每个打印文件所共有的标准文字和图形;数据源中包含着需要变化的信息,如姓名、称呼、地址、电话、传真号等。当主文件和数据源合并时,Word能够用数据源中相应的信息代替主文件中的对应域,生成合并文档。如果将DBF数据库作为合并文档的数据源,那么就相当于为数据库创建各种分类报表。下面我们就介绍用WORD创建DBF数据库分类报表的方法步骤。

1. 创建主文档

首先我们要创建一个文档,它将包括所有分类文档都有的文字和图形,作为主文档使用。步骤如下:

  1. 单击“常用”工具栏上的“新建”按钮,创建一个空白文档;
  2. 输入每个分类文档都需要的文字和图形;
  3. 单击“常用”工具栏上的“保存”按钮,弹出另存为对话窗口;
  4. 在“文件名”编辑框中输入合适的文件名称;
  5. 单击〖确定〗保存文档;
  6. 单击“工具”菜单中的“邮件合并”命令,弹出邮件合并帮助器;
  7. 单击“主文档”下的〖创建〗按钮,弹出创建主文档菜单;
  8. 单击“分类”命令,弹出对话窗口;
  9. 单击〖活动窗口〗按钮,那么就将当前的活动窗口当作分类文档的主文档使用,至此主文档已经创建好了。

如果您还没有创建主文档,那么可以单击〖新建主文档〗按钮,以创建分类文档的主文档。当返回邮件合并帮助器后,单击〖编辑〗按钮,对主文档进行编辑,输入通用文字和图形等内容,并保存它。

2. 打开数据源

如果将已经存在的DBF文件当作数据源使用,可以采用下列步骤选择并打开它。

  1. 单击邮件合并帮助器的“数据源”选项下的〖获得数据〗按钮,弹出一个菜单;
  2. 单击菜单中的“打开数据源”命令,弹出打开数据源对话窗口;
  3. 单击“文件类型”列表框,选中“所有文件”;
  4. 单击“查找范围”列表框,查找DBF数据库文件所在的文件夹;
  5. 在“名称”列表框中找到需要的DBF数据库文件,选中它;
  6. 单击〖确定〗按钮打开它;打开数据源后,弹出一个对话窗口;
  7. 单击〖编辑主文档〗按钮,切换到主文档编辑状态。

3. 编辑主文档

创建了主文档并打开了数据源,需要在主文档中插入合并域和必要的Word域,用来连接主文档和数据源。

3.1 插入合并域

通过将合并域插入到邮件合并主文档的适当位置,可以决定合并文档时,使用那些数据源信息以及它们在合并文档中的位置。插入合并域的步骤比较简单:

  1. 将插入点移到待插入合并域的位置;
  2. 单击“邮件合并”工具栏中的〖插入合并域〗按钮;
  3. 从弹出的合并域列表框中选中一个合适的域即可。

注意:合并域是使用一对书名号括起来的域名,域名对应于数据源中的域名,书名号是合并域的特征符号,它不是从键盘上直接键入的。如果您直接键入或使用“插入”菜单中的“符号”命令插入符号“《》”,Word将不承认它是合并域的特征符号,只把它当作普通文字对待。

您欲问为什么,请您在合并域上单击,按<SHIFT+F9>键,显示域代码,可以看到MERGEFIELD域代码,如{MERGEFIELD 姓名}。不要更改MERGEFIELD域指令中的域名,该域名必须与数据源域名行中的域名完全一致。

3.2 插入Word域

通过在主文档中插入几种Word域,可以在最终的合并文档中包含更多的信息,并且可以控制数据的合并方式。插入这些域的通用方法是:

  1. 将插入点移到主文档的合适位置;
  2. 单击“邮件合并”工具栏上的〖插入Word域〗按钮,弹出一个菜单;
  3. 单击某一个菜单命令,可以打开与之对应的对话窗口或直接插入域代码到主文档。

使用ASK和FILLIN域,可以使Word合并每个数据记录与主文档时,提示用户输入数据源中没有的可变信息,这些信息将打印在特定的分类文档上,进一步增强了邮件合并的灵活性。还可以使用IF域,以达到有条件地显示信息;使用SET域设置书签,以便在合并文档中多次使用这一书签所代表的内容。还有MergeRec、MergeSeq、Next、NextIf、Skipif等域,灵活地运用这些域,可以简化许多邮件合并中的工作。关于这些域的具体使用方法,请您参阅Word的联机帮助信息。

4. 设置查询选项

对于DBF数据源中的数据,我们可能只想使用某些符合条件的记录来创建分类文档,那么就需要首先设置查询条件之后,再执行合并,以便过滤掉不符合条件的记录。设置查询条件的方法如下:

  1. 单击“邮件合并”工具栏上的“邮件合并帮助器”按钮
  2. 单击邮件合并帮助器“合并数据和文档”下的〖查询选项〗按钮,单击弹出窗口的“筛选记录”选项卡标签,切换到筛选记录对话窗口;
  3. 单击“域”列表框,从弹出的域名列表框中选择一个域名;
  4. 单击“比较关系”列表框,选择合适的关系运算符;
  5. 在“比较对象”编辑框中输入欲比较的文本;
  6. 如果有第二个条件,首先单击与上面条件的关系列表框(第一列),从中选择“And”、“Or”等;然后在其后的列表框和编辑框中输入比较条件;
  7. 如果有还多个条件,那么重复第6步,直到输入所有的查询选项为止;
  8. 输入完毕,单击〖确定〗按钮返回。

5. 记录排序

为了让数据源中符合条件的记录在分类文档中按一定的顺序排列,还需要进行记录排序,方法如下:

  1. 单击“邮件合并”工具栏上的“邮件合并帮助器”按钮
  2. 单击邮件合并帮助器“合并数据和文档”下的〖查询选项〗按钮,单击弹出窗口的“排序记录”选项卡标签,切换到排序记录对话窗口;
  3. 单击“排序依据”下拉列表框,从弹出的域名列表框中选择一个域名;
  4. 单选“递增”或“递减”互斥选项钮;
  5. 如果有多个排序字段,在下面的两个“以及”列表框中选中它们,并设定排序的方法;
  6. 单击“确定”按钮开始排序。

Word最多可以用3个字段作为排序的依据,对数据库中的记录进行排序,一般来说这对我们已经足够了。

6. 合并数据源和主文档

做完了上述工作,我们就可以合并文档了,以创建所需的分类文档。有几种方法可以完成合并,现介绍如下。

合并到文件

  1. 单击“邮件合并”工具栏上的“合并到文档”按钮即可。

合并到打印机

  1. 单击“邮件合并”工具栏上的“合并到打印机”按钮;
  2. 单击弹出的打印对话窗口的〖确定〗按钮即可。

在一定记录范围内合并

  1. 单击“邮件合并”工具栏上的“邮件合并”按钮,弹出一个对话窗口;
  2. 单击“合并到”列表框,选择邮件合并的目的地,可以选择新建文档、打印机、电子邮件;
  3. 单击“要合并的记录”组框中的互斥钮和编辑框可以确定使用数据源的记录范围;
  4. 单击〖合并〗按钮即开始创建分类文档。

7. 应用实例

下面以一个Visual dBASE的国家信息数据库为例,介绍如何创建分类主文档和设定查询选项,以得到不同的分类报表。

7.1 国家信息数据库结构

这个国家信息数据库包括6个字段,其中一个是Binary类型的字段,在这里我们不处理它,该数据库的结构见表1所示。

表1 国家信息数据库COUNTRY.DBF的库结构

字段名 字段类型 字段长度 小数位数 排序
Name C 15   Ascend
Size N 10 0  
Population N 10 2  
GNP N 10 2  
Capital C 10    
MAP B      

7.2 主文档的内容

按本文前面所述的步骤创建一个分类主文档并打开Country.DBF作为数据源,然后在分类文档中插入一个1行3列的表格,并分别在各单元格中插入一个合并域,这时的主文档如下:

《Name》 《Population》 《GNP》

7.3 各种条件下产生的分类文档

1.不排序也不设置查询条件时,产生的分类报表如下:

国名 人口(百万) GNP
GERMANY 81.10 2100.00
FRANCE 57.90 1360.00
ITALY 57.10 1050.00
SPAIN 39.20 490.00
UNITED KINGDOM 58.50 1110.00
PORTUGAL 9.90 68.00
IRELAND 3.53 53.00

注意:表格的第一行是在分类文档中添加的,下面所有的报表均是如此。

2.按国名排序但不设置查询条件时产生的分类报表如下:

国名 人口(百万) GNP
FRANCE 57.90 1360.00
GERMANY 81.10 2100.00
IRELAND 3.53 53.00
ITALY 57.10 1050.00
PORTUGAL 9.90 68.00
SPAIN 39.20 490.00
UNITED KINGDOM 58.50 1110.00

3.按GNP(国民生产总值)排序,但设置查询条件时产生的分类报表如下:

国名 人口(百万) GNP
GERMANY 81.10 2100.00
FRANCE 57.90 1360.00
UNITED KINGDOM 58.50 1110.00
ITALY 57.10 1050.00
SPAIN 39.20 490.00
PORTUGAL 9.90 68.00
IRELAND 3.53 53.00

4.按GNP排序,且设置GNP大于1000为查询条件时产生的分类报表如下:

国名 人口(百万) GNP
GERMANY 81.10 2100.00
FRANCE 57.90 1360.00
UNITED KINGDOM 58.50 1110.00
ITALY 57.10 1050.00

5.按GNP排序,设置GNP大于1000和面积大于10万平方公里为查询条件时产生的分类报表如下:

国名 人口(百万) GNP
GERMANY 81.10 2100.00
FRANCE 57.90 1360.00
ITALY 57.10 1050.00

8. 小结

由上述的例子可以看到Word具有十分强大的功能,用它的“邮件合并”功能可以创建DBF数据库的分类报表,并且十分方便实用,只需要生成合并的分类文档,然后对分类文档进行少量的加工,就可以直接打印输出,比用dBASE数据库管理系统要方便许多,因此我建议广大读者不妨试试这种方法。

©董占山Zhanshan Dong

Post comments(留言)

Name(名字):

Comment(内容):


由Google提供

SunfineData Products|U's Bargain Network|Contact Me(与我联系)
© 1998-, 董占山, 版权所有, 欢迎转载文章链接。
转载文章和软件请注明出处(http://articles.sunfinedata.com/)。