activerepost2如何定义纸张大小。我想横打,16K。急死人了。

elby 2004-09-09 10:28:15
activerepost2如何定义纸张大小。我想横打,16K。急
...全文
249 点赞 收藏 18
写回复
18 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
dingdong0080 2004-09-22
画线是必需的,这是这个打印控件最麻烦的地方了
先在报表中拖出一个ADO控件,命名为adoRPT
Private Sub ActiveReport_Initialize()

'...定义纸张大小和方向
Me.Printer.PaperSize = 9 '标准A4为默认纸张
Me.Printer.Orientation = ddOPortrait


Set adoRPT.Recordset = RS 'RS是自己设置的结果集


Field1.DataField = "字段1"
Field2.DataField = "字段2"
Field3.DataField = "字段3"
.....


End Sub

回复
elby 2004-09-13
最好不是activereport当中的例子。
回复
elby 2004-09-13
谁有比较实用的源程序。最好不要不得activereport当中的例子。
回复
elby 2004-09-13
画线的方法是不是每个格子都要画的,好象挺麻烦的。
回复
wumylove1234 2004-09-10
不是这个意思.我的N就是代数具体的数了.就是自定义纸张大小啦.

Frame就是一相框架.把你的Field放在每个格子.然后设置Frame的各个边框就可以达到表格的效果了.不过Frame这个东西用起来也是很烦的.

其实你的问题并没有什么好的解决办法.你理解吧?
如果每个格子都很长,你的纸的宽度是有限的.

再者.还有一种方法:就是不要画线,你用Field的边框,但时你输出的时候要先计算最高的那个,然后让Detail里的Field全为那个最高的控件的高度就可以了.可在Format事件里写吧.这个你试验吧.我也没具体写过.给你个思路.
回复
icedut 2004-09-10

还有:表格的内容有些长有些短。长的就会自动移到第二行。这样就有了新的问题,内容长的就会把表格撑为两行高,而内容少的还是原来的一样的一行高。这样,同行中表格就不整齐。了,请问解决这个问题。
跪拜了。急

------------------------
detail的高度随着具体字段的内容变化(例如,如果数据比较多,就会换行,这样detail底高度也增加了)
你画线的时候随着detail的高度变化就可以了,不过这样也很麻烦
---------------------------------------------------------
下面是我程序中用到的,你可以参考以下
例如
Private Sub Detail_BeforePrint()
'* 如果段的高度大于预先社定的值,则重新画下面的线.
If Detail.Height > 290 Then
Line34.Y1 = Detail.Height - 5 '* 横线.
Line34.Y2 = Line34.Y1
Linel1.Y2 = Detail.Height '* 纵线.
Linel2.Y2 = Detail.Height
Linel3.Y2 = Detail.Height
End If
End Sub

回复
vbman2003 2004-09-09
先在打印机属性中设置好纸张大小,报表设计时就可以看到正确的打印区域了。
With ActiveReport1
'设置纸张方向为横向打印
.Printer.Orientation = ddOLandscape
'设置纸张边距
'.PageLeftMargin = 1 / 2.54 * 1440 '1cm
'.PageRightMargin = 1 / 2.54 * 1440 '1cm
'.PageTopMargin = 1 / 2.54 * 1440 '1cm
'.PageBottomMargin = 1 / 2.54 * 1440 '1cm
End With
回复
elby 2004-09-09
我是用acitvereport2当中的textbox近件来完成的。
frame如何使用,没有datafield属性呀。
你上面的
with ar
.pagesettings.pageheight=N
.pagesettings.pagewidth=N

end with
N值是如何取得的。
回复
wumylove1234 2004-09-09
还有:表格的内容有些长有些短。长的就会自动移到第二行。这样就有了新的问题,内容长的就会把表格撑为两行高,而内容少的还是原来的一样的一行高。这样,同行中表格就不整齐。了,请问解决这个问题。
跪拜了。急

这个问题如果你用画线的方法,那基本没法解决.如果你用Frame的话可以解决.
回复
wumylove1234 2004-09-09
with ar
.pagesettings.pageheight=N
.pagesettings.pagewidth=N

end with
其实上边的都差不多了,不过不是直接在那个属性里.是在Pagesetting里.
回复
elby 2004-09-09
有办法可以让行高随着内容变化吗。
回复
lusv 2004-09-09
换行可以的,不然就是字体缩小一点,要保证换行后不能超过当前行的高度
回复
elby 2004-09-09
有些内容很长,必须要有换行的,如何让每行都同高呢。
回复
ajianchen2002 2004-09-09
.pageleftmargin等是什么的属性,activereport2当中提示没有该属性呀。
能讲具体些吗。帮帮忙。
上面的那些属性在page setup 中设置
回复
ajianchen2002 2004-09-09
在Active Report 的设计器中找到
file 菜单然后选择page setup 中设置就可以 了
回复
icedut 2004-09-09
Private Sub ActiveReport_ReportStart()
Me.Printer.Orientation = ddOLandscape

End Sub
回复
lusv 2004-09-09
设定报表细节的属性,使其不自动换行,就可以了,但要确定内容不会超过当前细节的宽度
回复
elby 2004-09-09
Printer.Orientation = ddOLandscape怎么还是纵向的呀。

.pageleftmargin等是什么的属性,activereport2当中提示没有该属性呀。
能讲具体些吗。帮帮忙。

还有:表格的内容有些长有些短。长的就会自动移到第二行。这样就有了新的问题,内容长的就会把表格撑为两行高,而内容少的还是原来的一样的一行高。这样,同行中表格就不整齐。了,请问解决这个问题。
跪拜了。急。
回复
相关推荐
发帖

1188

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
帖子事件
创建了帖子
2004-09-09 10:28
社区公告
暂无公告