分页问题

yyuuu2003 2012-11-21 04:52:41
1、use zjk
brows
nPage =int((recc()+23-1)/23)

use
2、use zjk
nPage =int((recc()+23-1)/23)

use
各位老师,有一个问题请教:
我用第一种方法计算页数时,在打印的时候准确显示总页数,而我用第二种方法少用brows这一句时打印报表时怎么总页数显示为0或有时只显示1?
...全文
180 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
十豆三 2012-11-29
  • 打赏
  • 举报
回复
Copy All To zjk For da.xm=shb.xm Use zjk.dbf nPage=Int((Reccount('zjk')+23-1)/23)
yyuuu2003 2012-11-29
  • 打赏
  • 举报
回复
因为这相当于我临时建的表,用完就删的
十豆三 2012-11-29
  • 打赏
  • 举报
回复
找不到,说明这个表没有找开
yyuuu2003 2012-11-29
  • 打赏
  • 举报
回复
你好,我用了 Select shb Copy All To zjk For da.xm=shb.xm Use zjk.dbf nPage=Int((Reccount('zjk')+23-1)/23) Use Report Form bb1 Preview For da.xm=shb.xm 运行却显示说找不到别名ZJK
yyuuu2003 2012-11-29
  • 打赏
  • 举报
回复
谢谢老师,用你的方法可以了。是因为我在nPage=Int((Reccount('zjk')+23-1)/23中写成了nPage=Int((Reccount('zjk.dbf')+23-1)/23了。
十豆三 2012-11-23
  • 打赏
  • 举报
回复
如果还用你的方法的话,看不出和 Browse 有什么关系,改为这样试试:
Select shb
Copy All To zjk For da.xm=shb.xm
Use zjk.dbf
nPage=Int((Reccount('zjk')+23-1)/23)
Use
Report Form bb1 Preview For da.xm=shb.xm
If File('zjk.dbf')
	Dele File zjk.Dbf
Endif
十豆三 2012-11-23
  • 打赏
  • 举报
回复
不管你要打印什么,按什么条件,不就是为了求总页数吗?按照你的说法,应该这样就可以了: sele shb Report Form 报表 for da.xm=shb.xm Noconsole && 不打印,只是为了下面取总页数 nPage=_Pageno && 这时取得就是总页数 Report Form 报表 for da.xm=shb.xm Noconsole To Printer Prompt Preview
yyuuu2003 2012-11-22
  • 打赏
  • 举报
回复

再说明一下,就是如果不用BROWS,我退出程序然后进去打印第一次打印总页数这语言是起作用的,只是重复打第二次时在报表上总页数就显示0了,因为总页数跟报尾设的打印条件不一致,所以每页就不按我的要求出现在每页的合计数了
yyuuu2003 2012-11-22
  • 打赏
  • 举报
回复
我这数据表中有很多记录,但我只打印符合条件的记录,所以我只把符合条件的记录拷进一个临时数据表中,这样就可算出需要的页数,打完后这数据表就删除,我这样做的目的是可以每页有合计算,当当页数不等于总页数时我在细节那进行合计,当页数等于总页数时细节的计算不打印,而是打印在报尾设计的合计数,这样做的目的就是每页不够一页合计数也会紧跟在最后一记录,这样就不用填空格够一页了。所以我想搞清楚我怎样才能不用BROWS也能正确得到总页数 下面就是我写的语言: sele shb copy all to zjk for da.xm=shb.xm use zjk brows nPage =int((recc()+23-1)/23) use report form bb1 prev for da.xm=shb.xm if file('zjk.dbf') dele file zjk.dbf endif
十豆三 2012-11-22
  • 打赏
  • 举报
回复
每页合计在报表中直接可以做到,如下图


vfp6.0 没有 _PageTotal 系统内存变量,所以取得总页数,可以这样:
Report Form 报表 Noconsole && 不打印,只是为了下面取总页数
nPage=_Pageno && 这时取得就是总页数
Report Form 报表 Noconsole To Printer Prompt Preview
yyuuu2003 2012-11-22
  • 打赏
  • 举报
回复
我这表中有很多记录,但我只打印符合条件的记录,所以我只把符合条件的记录拷进一个临时库,打完后这库就删除,我这样做的目的是可以每页有合计算,当当页数不等于总页数时我在细节那进行合计,当页数等于总页数时细节的计算不打印,而是打印在报尾设计的合计数,这样做的目的就是每页不够一页合计数也会紧跟在最后一记录,这样就不用填空格够一页了。所以我想搞清楚我怎样才能不用BROWS也能正确得到总页数
yyuuu2003 2012-11-22
  • 打赏
  • 举报
回复
我的是VFP6.0,加什么代码?我是把符合条件的考进一个表中,由这表算出页数以便于在设计页合计中使用的,然后我打印的时候是直接在原表选取符合条件的记录,这样做的原因就是想让合计每页有合计,我在打印条件中选当页数不等于总页数时打印细节的合计栏,等于总页数时打印报表尾的合计,这样就要总页数准确,可不知怎么回事,如果我不用BROWS,第一次运行总页数对,但如果不退出再运行总页数却是0或是1,我用?npage在程序中显示证明是0,所以不知是什么原因
sdjnjdxc 2012-11-22
  • 打赏
  • 举报
回复
有这样的事?
十豆三 2012-11-21
  • 打赏
  • 举报
回复
在 nPage =int((recc()+23-1)/23) 之前加代码 GO TOP 不过问题的确很奇怪。 另外:报表总页数在 vfp8.0 开始就不用你单独计算了,直接用 _PageTotal 系统内存变量即可。

2,749

社区成员

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

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