动态报表的实现与报表数据的组织(二)
.data[i,5]
value=dw_4.object.data[i,6]
dw_1.object.data[hs,ls]=value
//将Bbdata中的数据填入生成表
next
最后,生成的动态报表如表4所示,调整列宽度、颜色、是否可为空等属性的代码不再赘述。
如要在上表中输入新数据并将之保存为一组数据集合,代码如下:
integer bm,i,j,hs,ls,value
SELECT max(bm)
INTO :bm
FROM bbdata
where reportbm=:num
//num为已知报表编码
USING sqltrans;
if isnull(bm) then
bm=1
else
bm++
end if
//系统自动得出数据集合编码,取最大值+1
for i=1 to hs
for j=2 to ls+1
//hs为报表行数,ls为报表列数
value= dw_1.object.data[i,j]
if not isnull(value) then
INSERT INTO bbdata(agency,reportbm,bm,hs,ls,value)
VALUES (:agency,:num,:bm,:i,:j,:value)
using sqltrans;
commit using sqltrans;
end if
next
next
3.结束语
该程序在Windows98操作系统和PowerBuilder6.5环境下调试通过,对数据的管理取得了预期的效果,能实现数据集合的多维操作,在一定场合下可作为企业的数据管理系统软件使用,也可为个人提供数据管理,使用范围广、操作难度小,是一个功能较好的程序。
[参考文献]
1.《PowerBuilder 7.0编程员指南》,王鹏主编,北京希望电子出版社,2000.12
2.《POWERBUILDER 7.0高级教程》,马晖编,电子工业出版社,2000.1
动态报表的实现与报表数据的组织(二)由毕业论文网(www.huoyuandh.com)会员上传。