VFP 5.0报表生成器使用技巧

Author: 左巍 Date: 1998年 第39期 13版

  Visual FoxPro5.0(VFP5.0)的报表生成器可以对单个数据库或多个数据库通过关联方式来产生报表。其数据来源可以是内存变量,也可以是数据库中的记录。报表的封面、表头、表体、表尾分别对应报表生成器的不同的带。一般在标题带制作封面,在表头带制作各种表头,在详细带制作表体,在页脚带制作表尾。
#1  一、用报表生成器创建报表
  (1)打开要创建表的各个相关的数据库,设置索引,设置数据库的关联。
  (2)将当前工作区选择为主库工作区。
  (3)单击文件菜单,选择“新建”,在弹出的对话框中选择“报表”,然后,单击右上边的“新文件”图标。选择系统菜单中的“报表”选项,在弹出的下拉菜单中选择“快速报表”选项,在弹出的对话框中点击“字段”可以选择要打印的字段;点击“标题”可以在表头带里打印或取消字段名;点击“添加别名”可以在每个字段变量前加上当前工作区数据库的别名。确认后即可自动在报表各个带里摆放相应的字段和变量。建议不要加别名,否则当多个数据库共用一张表时,会出现找不到变量的错误。
  用报表控制工具画出适当的表格线,用“格式”菜单中的“文本对齐方式”设置各个域的对齐方式,画出报表头和报表尾,一张表就基本制作完了。
#1  二、创建报表的技巧
  1.对象组的选取
  在画表的过程中,经常要移动各个带里对象的存放位置,或者把一个带里的对象拷贝或移动到其它带里。把要移动的对象标记为一个对象组合,使对象移动或拷贝的操作更加方便,标记对象组的方法有如下几种:
  (1)当要标记一个带里的所有对象时,可以双击该带下端的分隔条,选取该带里的所有对象,然后选择“格式”菜单中的“分组”选项,把所有选取的对象标记为一个对象组,方便移动或拷贝。
  (2)当要标记相邻的多个对象时,用鼠标拖曳出一矩形框,把要选取的对象圈入矩形框中,释放鼠标,则可同时选取多个对象。
  (3)当要标记不相邻的多个对象时,按下Shift键的同时,用鼠标点击要选取的对象,选中后再组合为一个对象组。
  当同时移动多个对象时,如果不把这些对象标记为一个对象组,则用光标多次移动对象位置时,系统会报告“内存不够”的错误信息。
  2.对象的条件打印
  创建报表时经常要控制在特定条件下打印特定的信息,这可以用对象的条件打印来实现,我们以页号的打印为例来讨论对象的条件打印。通常页号的打印直接利用系统变量_pageno来打印阿拉伯数字,现在我们页号变为中文一、二、三。利用文本输入工具,在报表中创建文本对象“一”、“二”、“三”等,鼠标双击“一”,在弹出的对话框中选择“print when”,在弹出的“打印条件设置”对话框中点击“print only when”选择框,在表达式中填入_pageno-1,确认后退出。如上操作,对文本对象“二”设置其打印条件为_pageno-2;对文本对象“三”设置其打印条件_pageno-3。设置完成各个文本对象的打印控件后,把它们移动到要打印页号的位置,重叠放置。用预示功能查看,可看到页号已变成中文数字。
  3.表格线对齐
  通常表格线对齐是用鼠标拖曳线段的段点,往往不易做到一次就能对齐,经常需要反复调整。实际上,当需要按像素调整线段的长度时,可以采用如下的方法:如是水平线段,则用鼠标点击线段右端点,线段向右拉长一个像素,左段点位置不变。点击左端点,线段向右缩短一个像素,右段点位置不变,用这种方法,便于精确对齐。同样,对垂直线段,点击上端或下端,分别向下缩短或拉长一个像素。