VFP中怎样实现动态报表打印

su389847531 2008-05-24 02:14:14
这是我做的查询表单的查询按钮代码:thisform.pageframe1.page1.combo1.setfocus()
isempty=allt(thisform.pageframe1.page1.combo1.value)
if isempty==''
=messagebox("请选择您要查询的日期!",64,"提示窗口")
else
if not used('药品明细')
use 动态报表设计\药品明细.dbf in 0
endif
select 药品明细
locate for 药品明细.日期=isempty
if found()
select 药品明细.日期,药品明细.型号,;
药品明细.药品名称,药品明细.类别 from 青海明胶公司药 品数据库!药品明细 药品明细;
where(药品明细.日期=isempty);
order by 药品明细.日期
go top
thisform.pageframe1.page1.combo1.value=''
thisform.pageframe1.page1.combo1.setfocus()
isempty=allt(thisform.pageframe1.page1.combo1.value)
else
=messagebox("查询不到结果!",64,"提示窗口")
thisform.pageframe1.page1.combo1.value=''
thisform.pageframe1.page1.combo1.setfocus()
isempty=allt(thisform.pageframe1.page1.combo1.value)
endif
endif
现在可以实现点击后弹出相应字段名及记录,可是我需要弹出相应的报表字段,以方便打印报表,请问怎么修改代码呢?(我已作静态报表“药品报表.frx”)另求打印代码。十分感谢!!!
...全文
452 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanbolantian 2008-05-29
  • 打赏
  • 举报
回复
这样只能通过编辑报表frx本身来达到同样的效果了,
不过,这样要求对报表文件非常熟悉,而且在数据量
大时,估计速度也够呛,导出到Excel再处理吧,这
样可能好点
su389847531 2008-05-29
  • 打赏
  • 举报
回复
好,谢谢你们哈!!1
su389847531 2008-05-28
  • 打赏
  • 举报
回复
格式是不同的,也就是说我每次输出的报表是随机变化的,那这样的话要怎样编程实现呢?
sdsthgt 2008-05-28
  • 打赏
  • 举报
回复
如果你想用一个报表,打印输出不同格式的报表,那么你要非常熟悉,,报表.frx(本身是DBF,扩展名不同罢了) 格式 编程来实现
use 报表.frx
.
.
.
.
sdsthgt 2008-05-28
  • 打赏
  • 举报
回复
按三种方式查询的“按日期查询”,“按型号查询”,“按类型查询”。输入的查询条件不同结果也就不同。
如果这三个查询,的格式是固定的,可以做三个报表啊,即每个查询做个报表,,每个定义好表头,直接套用查询字段就可以了啊,,
shxmh 2008-05-26
  • 打赏
  • 举报
回复
其实VFP的报表也是一个数据库,你可以先建一个空报表,然后用use命令打开报表文件,
象使用一般VFP表一样进行添加、删除、修改记录,使之成为你想要的报表。

这种方法是VFP中建立动态报表的最根本的解决方案,想要什么报表都可以得到,
只是你需要对VFP的报表文件有比较深的了解
su389847531 2008-05-24
  • 打赏
  • 举报
回复
能有高人给我指点一下么?
千万别嫌我笨,我不是计算机专业的,从来没接触过,毕业设计逼的!
su389847531 2008-05-24
  • 打赏
  • 举报
回复
那我的查询生成的临时表是哪个?能看出来么?
十豆三 2008-05-24
  • 打赏
  • 举报
回复
T1是查询生成的临时表
su389847531 2008-05-24
  • 打赏
  • 举报
回复
我现在用这个代码,可以把整张表导出EXCEL文档
select 药品明细
copy to d:\vfp6\动态报表设计\药品明细.xls type xl5
可是怎样才能把查询到的制定字段名和记录导出呢?

su389847531 2008-05-24
  • 打赏
  • 举报
回复
xl5是什么意思呢?
我运行了,说“找不到别名T1”我新建了一个EXCEL文档,叫T1.xls
十豆三 2008-05-24
  • 打赏
  • 举报
回复
加在最后
su389847531 2008-05-24
  • 打赏
  • 举报
回复
代码加在哪呢?
su389847531 2008-05-24
  • 打赏
  • 举报
回复
怎么导出EXCEL呢?请说详细点好么?我第一次弄,实在不会啊。。。谢谢
十豆三 2008-05-24
  • 打赏
  • 举报
回复
导出Excel:
select t1
copy to t1.xls type xl5
十豆三 2008-05-24
  • 打赏
  • 举报
回复
如果每次查出的结果中的字段是固定的,那建议每次查询后,导出EXCEL,然后用EXCEL打印更方便一些。
su389847531 2008-05-24
  • 打赏
  • 举报
回复
不一定啊,我是按三种方式查询的“按日期查询”,“按型号查询”,“按类型查询”。输入的查询条件不同结果也就不同。
这样该怎么办?
十豆三 2008-05-24
  • 打赏
  • 举报
回复
如果每次查出的结果中的字段是固定的,就简单了。


select 药品明细.日期,药品明细.型号,;
药品明细.药品名称,药品明细.类别 from 青海明胶公司药 品数据库!药品明细 药品明细;
where(药品明细.日期=isempty);
order by 药品明细.日期
改为
select 药品明细.日期,药品明细.型号,;
药品明细.药品名称,药品明细.类别 into cursor t1 from 青海明胶公司药 品数据库!药品明细 药品明细;
where(药品明细.日期=isempty);
order by 药品明细.日期


最后加:
select t1
report form 药品报表.frx To Printer Prompt Preview

2,722

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧