查看: 1181|回复: 16
|
请问有谁coding过ms access 的 page break 的长度...
[复制链接]
|
|
之前我学过 c programming 的 print range。。就是说当我print 4,5,6张的report 时候。。。资料的位置还是定定的没有半分移动的print 出来。。。
我看过一些了,刚刚看到是这个连接。。http://support.microsoft.com/?kbid=231808 不知道是我讲的吗?
请各位指教以下
[ 本帖最后由 程家伟 于 21-9-2006 01:11 PM 编辑 ] |
|
|
|
|
|
|
|
楼主 |
发表于 21-9-2006 01:19 PM
|
显示全部楼层
恩~!! 可能我的问题太过厉害吧?。。有哪一位大大,可以给我direction去看看
连接网页 http://www.groupacg.com/ARptTip.htm
title
How to Set Margins Via Code for a Report
'-------------------Module Declarations----------------
Type PRT_MIP_STRING
RGB As String * 28
End Type
Type PRT_MIP
'Typed as longs due to Ansi to Unicode conversion
xLeftMargin As Long
yTopMargin As Long
xRightMargin As Long
yBottomMargin As Long
fDataOnly As Long
xItemSizeWidth As Long
yItemSizeHeight As Long
fDefaultSize As Long
xItemsAcross As Long
yColumnSpacing As Long
xRowSpacing As Long
rItemLayout As Long
rFastPrinting As Long
rDataSheetHeadings As Long
End Type
'------------------------Function-----------------------------
Public Function SetReportMarginDefault(strReportName As String, left!, top!, right!, bottom!)
Dim PrtMipString As PRT_MIP_STRING
Dim PM As PRT_MIP
Dim objRpt As Report
Dim tempPrtMip As String
DoCmd.Echo False
DoCmd.OpenReport strReportName, acDesign
Reports(strReportName).Painting = False
Set objRpt = Reports(strReportName)
PrtMipString.RGB = objRpt.prtmip
LSet PM = PrtMipString
'Use 1440 for US (inches), 567 (rest of the world) (centimeters)
PM.xLeftMargin = left * 1440
PM.yTopMargin = top * 1440
PM.xRightMargin = right * 1440
PM.yBottomMargin = bottom * 1440
LSet PrtMipString = PM
objRpt.prtmip = PrtMipString.RGB
'Make sure report has the focus
DoCmd.SelectObject acReport, strReportName
'Save the Report
DoCmd.DoMenuItem 7, acFile, 4, , acMenuVer70
CloseRpt:
DoCmd.Close acReport, strReportName
DoCmd.Echo True
'You're done.
End Function
[ 本帖最后由 程家伟 于 21-9-2006 01:46 PM 编辑 ] |
|
|
|
|
|
|
|
发表于 21-9-2006 02:00 PM
|
显示全部楼层
|
|
|
|
|
|
|
楼主 |
发表于 21-9-2006 03:17 PM
|
显示全部楼层
原帖由 meemee 于 21-9-2006 02:00 PM 发表
有什么问题呢?
之前,看到你说解决了??
嗨~ mee mee.。。很高兴你进来。。。之前我做到的coding 已经好了。。。是要在最后时候, total result print 在最后一面已经做到了。。昨天test run在我自己的电脑时候(当然我是用ink ject的printer,所以print 出来是一张by一张)。。所以说可以print 出 user 的 request勒 (invoice的位置排得很完美)。。
哪儿知道在昨天下午,一通电话又来了。。说第二面竟然 print 不准在格子里。。。我过来看看时,原来他们clerk 是用着dot printer来print document...然而那些纸张还是用旁边有洞洞一张接一张连接着。。。
所以现在碰到这个问题,我的头大咯。。
刚刚我用过这个网站给我的sample,可是run不到~不知哪里出错了
Dim R As Report
Set R = Me
If R.Top > (8.9 * 1440) Then
R.PrintSection = False
R.MoveLayout = True
R.NextRecord = False
End If
现在还不知道要怎么做。。。
http://www.groupacg.com/ARptTip.htm
[ 本帖最后由 程家伟 于 21-9-2006 03:27 PM 编辑 ] |
|
|
|
|
|
|
|
发表于 21-9-2006 04:10 PM
|
显示全部楼层
这种有洞,一张一张连的应该是叫computer form paper。。。
你的inkjet通常是用A4。。。
它们的长度不同,A4是297mm=11.69寸,computer form是letter size=11寸。。。
先检查他们用的size。。。如果,用的size不同,你就需要改coding了。。。 |
|
|
|
|
|
|
|
楼主 |
发表于 22-9-2006 08:31 AM
|
显示全部楼层
原帖由 meemee 于 21-9-2006 04:10 PM 发表
这种有洞,一张一张连的应该是叫computer form paper。。。
你的inkjet通常是用A4。。。
它们的长度不同,A4是297mm=11.69寸,computer form是letter size=11寸。。。
先检查他们用的size。。。如果,用 ...
这样子的话,我必须找出 算洞洞的coding 咯? 可是我找了好多个网页了。。。上一次我找到的是 foxpro的coding,然而我没有把它copy下来。。。要找回也是一段时间。。
唉~。。。我之前有 coding 过 c# programming 的 dot print code (也就是说算旁边的洞洞来吧位置定位)。。。现在都不知放到哪里了。。。可能要去我的学院拿回来咯。。。 |
|
|
|
|
|
|
|
发表于 22-9-2006 10:06 AM
|
显示全部楼层
回复 #6 程家伟 的帖子
搞错,那里有人这样来算纸的洞的啊?
晕~
应该是算行数的嘛。。。
[ 本帖最后由 johe07 于 22-9-2006 10:34 AM 编辑 ] |
|
|
|
|
|
|
|
发表于 22-9-2006 10:51 AM
|
显示全部楼层
|
|
|
|
|
|
|
楼主 |
发表于 22-9-2006 10:55 AM
|
显示全部楼层
回复 #7 johe07 的帖子
哈哈哈哈~。。。那时候我的A SIR讲有两个算法。。。一个是算洞洞,另外一个是PRINT LINE... 然后又解释说算洞洞时很麻烦的东西,如果那些PRINT FORM PAPER 太长或太短。。自己又的改CODING了。。。然而PRINT LINE的话可以ADJUST PRINT LEVEL 水平。。。也比较简单和PROFFESIONAL(呵呵)。。。所以我们学生时代,就是一窝蜂的选择PRINT LINE CODING 了。。。。三年过后的我,没有做个备份留给自己保用。。现在想找回以前的学院有些困难。。。不管咯。。现在是放着第四楼连接网页的SAMLPE了。。如果还是不行的话,可就要叫那些无所事事的人好好的斯一张一张咯。。。 |
|
|
|
|
|
|
|
发表于 22-9-2006 10:58 AM
|
显示全部楼层
哎啊。。。可能最近为太多事情烦。。。我自己也乱了。。。
这个问题应该很简单。。。把纸张的大小设定好来就可以了。。。
由于,你家里的printer是用A4,所以,access那里的纸张就是A4的size。。。
你带过去给user用,也是原本的A4 size。。。所以,你需要在user那里重新set过paper size。。。
你在control panel那里检查它的paper size。。。
然后,在access里面,printer setup那里检查看看。。。
letter size = 11" * 8.5"
A4 = 297 * 210mm
如果,user那里用的是letter size,你把paper size改一下就可以了。。。
[ 本帖最后由 meemee 于 22-9-2006 11:01 AM 编辑 ] |
|
|
|
|
|
|
|
楼主 |
发表于 22-9-2006 11:03 AM
|
显示全部楼层
|
|
|
|
|
|
|
楼主 |
发表于 22-9-2006 11:07 AM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 22-9-2006 11:12 AM
|
显示全部楼层
回复 #9 程家伟 的帖子
我的a sir从来没有教过我们这些。。。
但是,以逻辑来想,这根本不可能用洞来做的。。。
你的 A SIR 还真的似乎有点。。。。 |
|
|
|
|
|
|
|
发表于 22-9-2006 11:15 AM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 22-9-2006 11:15 AM
|
显示全部楼层
回复 #12 程家伟 的帖子
不用谢拉。。。我们可是要真的,可以喝,大大杯的咖啡
(星巴克的咖啡不错的说)
你的是连续的纸。。。那里可以用letter size?
computer form size <> letter form size
要你撕纸,你看来好开心的样子)
顺便来帮我们采购部撕纸吧。。。他们也是那么无聊。。。
(那个system我也是觉得超级废。。。 还好不是我写的,是买的)
[ 本帖最后由 johe07 于 22-9-2006 11:20 AM 编辑 ] |
|
|
|
|
|
|
|
楼主 |
发表于 22-9-2006 03:48 PM
|
显示全部楼层
|
|
|
|
|
|
|
楼主 |
发表于 22-9-2006 03:52 PM
|
显示全部楼层
|
|
|
|
|
|
| |
本周最热论坛帖子
|