我要打印一个数据表里的记录,记录的条数比较多,我的纸张是A4的,大概一页能打50条,怎样控制当一页打满50条后就换页接着打印。
请大家帮帮小弟,谢谢!
顺便请教一下,printer对象打印,可以实现预览吗?
请大家帮帮小弟,谢谢!
顺便请教一下,printer对象打印,可以实现预览吗?
解决方案 »
- 这是什么类型
- 我想做个小程序,谁能给点思路或例子啊?
- excel 导入到SqlServer又有新问题 急! 没分了,有没有好心人?
- 求用EXCEL+VB 设计过套打的源程序,在线等
- 关于VB60 SP5下DataReport下写工资条的问题
- 高手请注意:有关Delete语句的问题。
- 我想学VB各位能帮我吗
- VBA中使用internetexplorer的filedownload事件提示错误,请各位大侠帮忙看看!
- 初学VB,应该从哪开始?
- crystal.crysta;report的注册码?
- Comm1.Output = "ATDT 17908" + vbCr,拔号之后,按一个“1”,怎么写?
- 急救阿!
你也可以用endpage,每次打印50行后,发一次作业,这样下一页的位置也就自动走到页的开头了。
请问有ENDPAGE这个方法吗,我怎么找不到,能说明一下用法吗,谢谢。TO lyllxfly(Iamunknown):
这里的N指待是记录数吗
假如我这里查询后的记录集为RST,我这样写:
If rsT.AbsolutePosition > 50 Then
Printer.NewPage
End If这样可以吗,我这边试了不行!
Dim ngysdm, ngysmc As String
sql = "select [供应商代码],[供应商名称] from [wxdw] order by [供应商代码]"
Set rs = conn.Execute(sql) Printer.Orientation = vbPRORPortrait
Printer.PaperSize = vbPRPSA4
Printer.ScaleMode = vbMillimeters
Printer.FontName = "宋体" rs.MoveFirst x = 40
y = 49
z = 1 Do While Not rs.EOF
ngysdm = rs("供应商代码").Value
ngysmc = rs("供应商名称").Value
Printer.CurrentX = x
Printer.CurrentY = y
Printer.FontSize = 10
Printer.Print ngysdm
Printer.CurrentX = x + 40
Printer.CurrentY = y
Printer.FontSize = 10
Printer.Print ngysmc
rs.MoveNext
y = y + 5
z = z + 1
If (z Mod 50) = 0 Then
Printer.NewPage
End If Loop
Printer.EndDoc当我的记录数在50条以内就没问题,可以正常打印,可是一超过50条,就不行了,似乎Printer.NewPage的没有效果,有没有哪为仁兄指点一下啊!
换页后设成0了吗?