| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1143 人关注过本帖
标题:报表打印全局变量时为什么会打印出与表中记录数一样的份数?
只看楼主 加入收藏
nkadwe
Rank: 1
等 级:新手上路
帖 子:36
专家分:3
注 册:2013-4-24
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:14 
报表打印全局变量时为什么会打印出与表中记录数一样的份数?
我在表单中设置了几个全局变量,然后在表单中把控件的值给全局变量再添加进表中,然后在报表中引用全局变量打印出表格。

但打印时只要表中的记录数是多少就会打印出几份,报表中只引用了全局变量,不关表什么事吧。

我晕了,有大神知道吗?
搜索更多相关主题的帖子: 影片 
2013-09-24 16:59
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:7 
为何不专门设置一个份数
2013-09-24 17:59
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
收藏
得分:7 
与全局设置无关。
如果楼主是每份报表打印一个记录,命令参数不正确时就会打印所有记录:
REPORT FORM 报表.frx record RECNO() NOCONSOLE prev  &&浏览打印当前记录
REPORT FORM 报表.frx  RECORD 5 NOCONSOLE prev       &&浏览打印记录号5

相互学习,互相交流,共同提高。
2013-09-24 20:30
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11803
专家分:43421
注 册:2006-5-13
收藏
得分:7 
没看懂楼主的需求,我也晕了。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2013-09-24 20:40
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:0 
可能是打印份数
2013-09-24 20:45
nkadwe
Rank: 1
等 级:新手上路
帖 子:36
专家分:3
注 册:2013-4-24
收藏
得分:0 
我的代码是这样的,前提是有个grid表,点击grid表后。
Select filedata
If  Recno()>0
    pswxh = swxh
    pswtime = swtime
    pswlb = swlb
    pfwdw = fwdw
    pwh = wh
    pwname = wname
    pnbyj = nbyj
    Report Form dyjlb.frx To Printer Prompt Preview
Else
    Messagebox('请选择要打印的记录!',48,"信息")
Endif

dyjlb.frx报表里引用的就是上面那些变量。

[ 本帖最后由 nkadwe 于 2013-9-24 22:40 编辑 ]
2013-09-24 22:33
nkadwe
Rank: 1
等 级:新手上路
帖 子:36
专家分:3
注 册:2013-4-24
收藏
得分:0 
打印出来的是相同的内容,不是一条记录打印一份。
2013-09-24 22:34
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:0 
用select,比如:
Select * from filedata where Recno()=1
REPORT FORM dyjlb.frx TO PRINTER
recn()进行选择
例:Recno()=1
Recno()=2
Recno()=3


2013-09-25 08:03
nkadwe
Rank: 1
等 级:新手上路
帖 子:36
专家分:3
注 册:2013-4-24
收藏
得分:0 
Select * from filedata where Recno()=1 这样会弹出一个表单显示一条记录。

我在选择记录时cno=recno()
我用Select * from filedata where Recno()=cno INTO CURSOR dyjj 到临时表
再把报表连接到临时表中的记录,还是一样,打印出相同内容,但份数就是表中的记录数。

真是晕了,没碰到这种事。
2013-09-25 09:46
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
收藏
得分:0 
不用那么复杂,想打印当前记录,直接:
REPORT FORM 报表.frx record RECNO() NOCONSOLE prev

想打印记录号7:
REPORT FORM 报表.frx  RECORD 7 NOCONSOLE prev

想打n号记录:
go n
REPORT FORM 报表.frx record RECNO() NOCONSOLE prev



[ 本帖最后由 qjbzjp 于 2013-9-25 09:57 编辑 ]

相互学习,互相交流,共同提高。
2013-09-25 09:56
快速回复:报表打印全局变量时为什么会打印出与表中记录数一样的份数?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012865 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved