FoxPro数据库统计结果表格的制作与打印技巧二则

Author: 河北 庞贺林 Date: 1996-07-05

        无论是用Screen还是用Report,首先需建立一个数据库,其各字段分别对应于各个统计结果,将各个统计结果输入,成为该数据库的唯一记录。
        一、用Screen制作表格
        用Screen制作表格,表格的大小不能超出整个屏幕的范围,所以只能打印比较小的表格。
        用Screen的Quick Screen制作上述数据库的用户界面,调整成需要的表格形式(重复的数据用复制完成),所见即所得,生成程序后,在程序的前面加上set device to printer和set printer on语句,即可定向到打印机输出。由于生成的程序只使用@...say输出字段变量或表达式的结果,所以行、列必须按从小到大的次序排列,否则不能正常打印,这可按下述完成:
        在屏幕上输入对象时,要按行、列从小到大的次序排列,这样生成的@...say语句也按行、列从小到大的次序排列。生成程序前,利用FoxPro的主功能菜单Screen的选项bring to front和send to back可以实现对象的次序重排。生成程序后,通过编辑、调整,使其符合要求。
        二、用Report制作表格
        用Report制作表格,表格的大小仅仅局限于打印机的宽度,其它不受限制。
        用Report按正常步骤制作上述数据库的报表文件(重复的数据用复制完成),有一点是必须的,要将报表的行数设置成屏幕上最后一行PgFoot的行序数加一(利用FoxPro的主功能菜单Report的选项page layout...来设置,宽度亦如此设置)。制作完报表文件后,编辑一个打印程序,只要程序中包括语句set devi to printer,set printer on和Report form <报表文件名> [选项] to printer,运行该程序即可打印出报表。
        最后还需说明一点,无论用那种方法,用FoxPro的Box功能绘制的表格线不影响显示,但在中文系统下不能正常打印,应使用中文系统提供的制表符(_、|、   、   、   、   等)绘制表格,这样才能保证表格的正常打印。