VFP教程 八、 报表与标签设计(精选3篇)
VFP教程 八、 报表与标签设计 第1篇
8.1 基本概念
1.报表:
是通过打印机将所需的记录用书面形式输出来的一种方式,
报表保存后系统会产生两个文件:
报表定义文件: 扩展名为.FRX
报表备注文件: 扩展名为.FRT
2.报表的数据来源:
(1)浏览结果:报表中包含全部记录和字段
(2)查询结果:由查询产生的特定记录和字段
3.界面介绍:报表向导 报表设计器 报表设计器工具栏报表控制工具栏
向导类型:
(1)报表向导:创建一张带格式的单张表的报表
(2)分组/总计报表向导:创建一张单张表的总结报表,提供每组数据的总计值
(3)一对多报表向导: 创建一张包含父表记录和相关子表记录的报表
注意:要先建立索引和关系
VFP教程 八、 报表与标签设计 第2篇
1. 设计原则
(1) 根据用户任务组织菜单系统
(2) 给每个菜单和菜单选项设置一个意义明了的标题
(3) 按照估计的菜单项使用频率、逻辑顺序或字母顺序组织菜单项
(4) 在菜单项的逻辑组之间放置分隔线
(5) 给每个菜单和菜单选项设置热键或键盘快捷键
(6) 将菜单上菜单项的数目限制在一个屏幕之内,如果超过了一屏,则应为其中一些菜单项创建子菜单,
(7) 在菜单项中混合使用大小写字母,只有强调时才全部使用大写字母。
2. 设计步骤
(1)菜单系统规划
(2)建立菜单和子菜单
(3)将任务分派到菜单系统中
(4)生成菜单程序
(5)测试并运行菜单系统
9.2 创建菜单
1. 菜单设计器简介
2. 用菜单设计器创建菜单
打开文件菜单 新建菜单新文件 在菜单设计器中逐项设计所需菜单(或选择菜单中的快速菜单,生成通用的菜单) 预览 确定 关闭菜单设计器 给出文件名及保存位置从菜单菜单中选择生成在对话框中单击生成(可更改菜单程序文件的文件名和保存位置再生成),
电脑资料
菜单设计器关闭后,系统产生两个文件:
菜单定义文件 扩展名为 .MNX
菜单备注文件 扩展名为 .MNT
VFP教程 八、 报表与标签设计 第3篇
1 数据表的设计
本文涉及到两种数据表,一个是保存班级名称的数据表,只包含“班级名称”一个字段,本文该文件名为BJMC.DBF;另一种存放各班级学生成绩的数据表,包含学号、姓名以及各门功课的成绩(本文有高数、英语、普化、政治、电脑、物理6个字段,各个记录数据已保存在数据表中)和平均字段,平均字段成绩通过程序计算得出。为方便操作,每个班级学生成绩数据表的文件名与BJMC.DBF中的相应记录的“班级名称”一样。
2 Excel模板设计
在Excel中制作如图1所示的模板。关键步骤如下:
1)表格标题“学生成绩表”的制作。在Excel工作表sheet1第一行选中报表占用的列数,本文为A1:I1,然后单击格式工具栏的“合并及居中”命令,并进行字体及大小的设置。
2)A2单元输入“班级:”,H2单元输入“日期:”;B2单元中由程序自动填入班级名称,I2单元中由程序自动填入系统的日期。
3)在A3:I3输入报表的字段名行。
4)在B4:B9输入“平均”、“60分以下人数”、“[60,70)”(指大于等于60分小于70分,下同)、“[70,80)”、“[80,90)”、“[90,100]”。并设置该区域的背景色。
5)在A10输入“单位:”、B10输入“教务处”、H10输入“制表:”、I10输入制表人,如本文为“朱扬清”。
6)将该文件保存为Excel模板文件。本文该文件名为XSCJMB.XLT。
需要填入的具体记录数据,由程序根据VFP数据库表中每一班级学生数量自动插入。图1报表如果在VFP中进行设计则是非常复杂的。
3 将VFP数据传递给Excel
为方便用户操作,设计一个表单,如图2所示。通过表单选择相应的班级,然后,单击“预览”按钮进行预览或者单击“打印”按钮进行打印,单击“退出”按钮则退出该系统。
3.1 表单各对象属性的设置
表单Form1的Caption属性为:打印学生成绩。
三个命令按钮的Caption属性分别为:预览、打印、退出。
标签Label1的Caption属性为:请选择班级。
组合框Combo1的RowRourceType属性为:5-数组,RowRource属性为:BJ。BJ数组由Form1的Init事件代码创建。
3.2 事件代码设计
为高效完成在VFP中调用Excel模板进行报表设计,需要对表单Form1的Init事件、三个命令按钮的Click事件设置程序代码。
3.2.1 Form1的Init事件代码
该事件由以下两行代码组成,主要功能是定义全局数组BJ,通过SELECT查询命令将BJMC数据表的值复制到BJ数组中,以便其它事件代码中调用。
public bj(6)&&定义全局数组变量,数组元素的个数任意指定
select*from bjmc into array bj&&根据数据表的记录个数确定数组元素个数.
3.2.2“预览”按钮的Click事件代码
该事件代码的主要功能是通过组合框选择班级名称,然后经宏代换打开相应的班级学生成绩数据表;完成平均成绩的计算和各个分数段学生成绩的统计;创建Excel对象,打开前面创建的Excel模板,并根据班级学生成绩中的记录向其中插入空行以及传递各记录数据,在Excel中浏览数据8秒后关闭Excel,返回图2表单。VFP调用Exce模板创建的报表如图3所示。
该事件代码如下:
3.2.3“打印”按钮Click事件代码
该事件代码与“预览”按钮的Click事件代码基本一样,只是在打印时不想看到Excel窗口出现,将bb.visible=.t.语句改为:bb visible=.f.即可,另外再将
3.2.4“退出”按钮的Click事件代码
通过在VFP中调用Excel模板来制作复杂表格的方法,对于在VFP应用系统中制作复杂报表非常有效。给出的“学生成绩打印表”的设计过程及有关程序代码,稍微修改一下该程序代码的有关参数,就可以适合其他应用系统报表的输出。
本文的程序代码在VFP 6.0以上版本和Excel 2000以上版本通过调试
摘要:给出了VFP进行报表设计时,如何利用Excel表格模板和VFP调用Excel工作簿对象进行复杂报表设计的方法以及相应的程序模块,为VFP与EXCEL进行协同设计应用系统报表提供了一种有效的方法。
关键词:VFP报表,Excel模板,协同程序设计
参考文献
[1]朱珍.Visual FoxPro数据库程序设计[M].北京:中国铁道出版社,2008.
[2]徐尔贵,富莹伦.Visual FoxPro面向对象数据库教程[M].北京:电子工业出版社,2006.