安徽彩票大奖 欧洲百万乐透大奖 七星彩17049规律大奖 双色球中大奖领奖过程 3d近期中大奖故事 广州番禺中福彩大奖的 鸡男注定会中大奖 2016江苏彩民中大奖 趣彩网大奖网黑平台 大乐透4.97亿大奖 霍邱一彩民6元中双色球547万大奖 双色球黑龙江中大奖图 体育彩票中大奖名单 什么样的人能中大奖 彩票大奖作假

MDE或ACCDE在Access报表保存纸张大小及页面边距

2017-08-22 09:59:00
andymark
原创
1420

当Access生成MDE或ACCDE格式之后,在Access报表保存纸张大小及页面边距一直是Access数据库用户心中的痛。

下面提供版主们的一些解决报表如何保存打印边距的方法


andymark:

应该可以,需要用集合的方式打开报表才能改变纸张大小

Public clnClient As New Collection
Public Sub GetPage(ReportName As String)  '读取页边距
Dim Rs As New ADODB.Recordset
Dim Conn As New ADODB.Connection
Set Conn = CurrentProject.Connection
Dim SQL As String
Dim Rpt As Report

SQL = "SELECT * FROM Dybbcs where bbmc='" & ReportName & "'"

Set Rpt = New Report_Test

Rs.Open SQL, Conn, adOpenDynamic, adLockOptimistic

With Rpt.Printer
        .TopMargin = Rs.Fields("bbsbj")
        .BottomMargin = Rs.Fields("bbxbj")
        .LeftMargin = Rs.Fields("bbzbj")
        .RightMargin = Rs.Fields("bbybj")
        .papersize = acPRPSA4
End With

clnClient.Add Item:=Rpt, Key:=CStr(Rpt.Hwnd)
Rpt.Visible = True

Set Rs = Nothing
Set Conn = Nothing
End Sub

打开报表时
GetPage "test"

我这里测试OK



还可参考这里的Access源码示例: 以前做的例子 , 能动态设置的:MDE保存调用页边距的例子

需要在窗体中执行和调用
在"test" 报表中设定的纸张为A4, 纵向
把报表中"test"另存为副本 在Open事件中加载同样的代码

通过窗体用集合打开可以改变纸张的方向和大小; 而直接打开test副本虽然在页面设置栏里显示的是横向, 但报表却是纵向的,直到按确定才改变方向

大家用打印机测试一下效果, 我这果没打印机, 不知是不是真正改变了

mde保存页边距XP0803174.rar


分享
? 1999-2019 Office交流网?? 中山市天鸣科技发展有限公司 粤ICP备10043721号-5 SQL查询:19
内存占用:7.75MB
PHP 执行时间:0.17
双色球大奖2000年
安徽彩票大奖 欧洲百万乐透大奖 七星彩17049规律大奖 双色球中大奖领奖过程 3d近期中大奖故事 广州番禺中福彩大奖的 鸡男注定会中大奖 2016江苏彩民中大奖 趣彩网大奖网黑平台 大乐透4.97亿大奖 霍邱一彩民6元中双色球547万大奖 双色球黑龙江中大奖图 体育彩票中大奖名单 什么样的人能中大奖 彩票大奖作假