我用的是VFP 9.0
关于报表中一个问题,现向专家请教.
use aaa.frx
brow all
这时,显示出一个类似自由表的格式.
但我看不懂其中的内容,不知是否有什么资料可以参考?
是不是报表里的所有参数都在这里面?
是不是改动这里面的参数,报表也相应调整?
谢谢指教.
------解决方案--------------------------------------------------------
实现FOXPRO动态制表的新思路
韦 明、成红 出处:网络
【摘 要】 本文在分析Foxpro报表数据库结构的基础上,通过修改Foxpro报表信息库的内容,实现了Foxpro报表的自动生成。
【关键词】 报表,动态报表,Foxpro
1、引言
FOXPRO数据库为用户提供了功能强大的“报表设计器”(Report builder),利用“报表设计器”的可视功能,可以方便灵活地制作几乎任意形式的报表,并且可以控制报表的输出、定义报表的页面等。但是这样制作的报表是一个静态的报表,一旦数据库的结构发生变化必须重新修改。而且,每段程序只能适合特定的数据库,有多少报表就要编制多少个报表程序,不但增加了工作量,而且缺乏通用性和灵活性,也不利于程序的维护与扩充。
那么,我们是否可以在充分利用FOXPRO“报表设计器”的强大控制功能的前提下,设计出通用的动态报表呢?为此,本文进行了较深入的研究,答案是肯定的。
2、报表的构成
一般情况下报表包含表头、表体和表尾三部分:
·表头:在每页的顶端,显示报表的标题及其它提示信息等;
·表体:包含报表的主体,是报表的关键部分,一般有循环数据项构成;
·表尾:出现在每页的底端,显示总结、总计、日期等文本信息等。
3、报表信息库的结构
我们知道在FOXPRO中,报表的信息是保存在以. FRX为扩展名的数据库文件中(备注文件以. FRT为扩展名),了解报表数据库的结构有助于问题的解决。报表库(.FRX)的库结构及字段含义如下表所示:
字段名称
类型
长度
小数
说明
1 PLATFORM
C
8
操作平台(_DOS或_WINDOWS)
2 UNIQUEID
C
10
唯一标识(当NAME合EXPR都为空时以_RHE开头, 否则以_RNR开头)
3 TIMESTAMP
N
10
时间标签(先后次序)
4 OBJTYPE
N
2
目标类型(1.环境; 2.数据库; 5.文字; 8.变量; 9.TIMESTAMP为空; 23.TIMESTAMP为空)
5 OBJCODE
N
3
目标代码(1.;4.;7.;53)
6 NAME
M
10
名称(数据库名称)
7 EXPR
M
10
表达式
8 VPOS
N
9
3
行座标
9 HPOS
N
9
3
列座标
10 HEIGHT
N
9
3
高度
11 WIDTH
N
9
3
宽度
12 STYLE
M
10
风格(透明,不透明)
13 PICTURE
M
10
格式或OLE文件名称
14 ORDER
M
10
索引排序
15 UNIQUE
L
1
唯一数据库(.F.,.T.,空)
16 COMMENT
M
10
注释
17 ENVIRON
L
1
是否报表运行环境(.T.时)
18 BOXCHAR
C
1
画框字符
19 FILLCHAR
C
1
表达式类型(C,N,D等,文字型的为空)
20 TAG
M
10
(当该记录为记录环境的记录时,该字段储存打印信息等;记录数据库时,储存数据库名称)
21 TAG2
M
10
当该记录为记录环境的记录时,该字段储存打印控制等
22 PENRED
N
5
前景红
23 PENGREEN
N
5
前景绿
24 PENBLUE
N
5
前景蓝
25 FILLRED
N
5
填充红
26 FILLGREEN
N
5
填充绿
27 FILLBLUE
N
5
填充蓝
28 PENSIZE
N
5
划线宽度
29 PENPAT
N
5
指定填充图案(0.空;1.实体;2.水平;3.垂线;4.左斜;5右斜;6.交叉;7.斜交叉)
30 FILLPAT
N
5
划线类型(0.无;1.点;2.虚线;3. 虚线-点;4. 虚线-点-点)
31 FONTFACE
M
10
字体类型
32 FONTSTYLE
N
3
字体风格
33 FONTSIZE
N
3
字体大小
34 MODE
N
3
模式
35 RULER
N
1
标尺(2-默认值,3-象素)
36 RULERLINES
N
1
标线宽度
37 GRID
L
1
是否显示网格线
38 GRIDV
N
2
垂直网格线刻度
39 GRIDH
N
2
水平网格线刻度
40 FLOAT
L
1
浮动
41 STRETCH
L
1
溢出时伸展
42 STRETCHTOP
L
1
相对于顶端伸展
43 TOP
L
1
相对于顶端固定
44 BOTTOM
L
1
相对于底端固定
45 SUPTYPE
N
1
控制类型
46 SUPREST
N
1
控制设置
47 NOREPEAT
L