Office中国论坛/Access中国论坛

标题: 请教关于报表套打发票问题。 [打印本页]

作者: eio    时间: 2003-10-31 19:53
标题: 请教关于报表套打发票问题。
使用针式打印机的优势众所周知。
可是遇到一张客户单内容长达12行的,实际操作是写3张销售单,每张销售单都有合计。
用ACCESS做的话,可否开一张单,然后打印的时候分开3张。(肯定应用补行打印啦)。
然后每张单都有合计,右上角显示:共N份,第X份。
可是那个每页合计以及分开几张不会。
还有需要设置打印机的纸张吗?
---最希望有例子[em02]或者思路啦----
作者: sxhmft    时间: 2003-11-1 03:45
你不是下过《物业收费管理系统》吗?哪里边的收据打印就有你要的功能,稍加修改就成。


[此贴子已经被作者于2003-10-31 19:47:01编辑过]


作者: eio    时间: 2003-11-1 05:21
是什么原理呢,看不明阿
作者: sxhmft    时间: 2003-11-1 16:44
先运行一个查询建立一个临时表,把本次要打印的记录都放到临时表中,若每个收据要打印6行,就给临时表中再添加空记录,至到记录数为6的整数倍。然后再进行打印。
If intAnswer = vbYes Then
    DoCmd.SetWarnings (False)
    stDocName = "打印前清空票据临时"
    DoCmd.OpenQuery stDocName, acNormal, acEdit
    stDocName = "1"
    DoCmd.OpenQuery stDocName, acNormal, acEdit

If DCount("*", "票据临时") Mod 6 <> 0 Then
If DCount("*", "票据临时") = 0 Then
aa = 6
End If
aa = 6 - (DCount("*", "票据临时") Mod 6)
For i = 1 To aa
stDocName = "查询1"
    DoCmd.OpenQuery stDocName, acNormal, acEdit
stDocName = "查询2"
    DoCmd.OpenQuery stDocName, acNormal, acEdit
Next i
End If

  'stDocName = ChrW(31080) & ChrW(25454) & ChrW(25171) & ChrW(21360) & ChrW(26597) & ChrW(-29726)
    'DoCmd.OpenQuery stDocName, acNormal, acEdit
stDocName = ChrW(25910) & ChrW(-29383) & ChrW(31080) & ChrW(25454)
    DoCmd.OpenReport stDocName, acNormal ', acPreview
    DoCmd.SetWarnings (True)
    End If
     Me.roomnumber.SetFocus
作者: eio    时间: 2003-11-1 18:11
嘿嘿,这个追加不难,问题是如何每个表只显示6行发票模式?
作者: andymark    时间: 2003-11-1 18:27
在报表里设置每页只打6行,不够的用画线画就可以啦
作者: sxhmft    时间: 2003-11-1 18:37
在报表打开或格式化时,统计临时表中的记录数(N),用 P=N/6 计算页数。每次打印6行。用FOR语名循环打印这样共几页第几页都有了。
作者: andymark    时间: 2003-11-3 06:47
每页合计:
http://www.office-cn.net/bbs/dispbbs.asp?boardID=3&ID=12482

作者: 没牙兔兔    时间: 2003-11-3 22:52
发现同志啦
嘻嘻,俺也用sxhmft那种方法来实现报表分类补空行
作者: ADAM    时间: 2003-11-3 23:07
喔...報表類很秒接觸到..
不妨把代碼貼出來看看...,倒底是怎樣做的....
嘿嘿.....
作者: eio    时间: 2004-1-2 07:22
标题: 好心啦
顶啊顶,[SHADOW=255,blue,1]那位大侠施舍一个例子啊![em01]
作者: eio    时间: 2004-1-3 02:58
ding




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3