office交流網(wǎng)--QQ交流群號(hào)及微信交流群

Access培訓(xùn)群:792054000         Excel免費(fèi)交流群群:686050929          Outlook交流群:221378704    

Word交流群:218156588             PPT交流群:324131555

微信交流群(請(qǐng)用微信掃碼)

        

MDE或ACCDE在Access報(bào)表保存紙張大小及頁(yè)面邊距

2017-08-22 09:59:00
andymark
原創(chuàng)
7253

當(dāng)Access生成MDE或ACCDE格式之后,在Access報(bào)表保存紙張大小及頁(yè)面邊距一直是Access數(shù)據(jù)庫(kù)用戶心中的痛。

下面提供版主們的一些解決報(bào)表如何保存打印邊距的方法


andymark:

應(yīng)該可以,需要用集合的方式打開(kāi)報(bào)表才能改變紙張大小

Public clnClient As New Collection
Public Sub GetPage(ReportName As String)  '讀取頁(yè)邊距
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

打開(kāi)報(bào)表時(shí)
GetPage "test"

我這里測(cè)試OK



還可參考這里的Access源碼示例: 以前做的例子 , 能動(dòng)態(tài)設(shè)置的:MDE保存調(diào)用頁(yè)邊距的例子

需要在窗體中執(zhí)行和調(diào)用
在"test" 報(bào)表中設(shè)定的紙張為A4, 縱向
把報(bào)表中"test"另存為副本 在Open事件中加載同樣的代碼

通過(guò)窗體用集合打開(kāi)可以改變紙張的方向和大小; 而直接打開(kāi)test副本雖然在頁(yè)面設(shè)置欄里顯示的是橫向, 但報(bào)表卻是縱向的,直到按確定才改變方向

大家用打印機(jī)測(cè)試一下效果, 我這果沒(méi)打印機(jī), 不知是不是真正改變了

mde保存頁(yè)邊距XP0803174.rar


分享
文章分類
聯(lián)系我們
聯(lián)系人: 王先生
Email: 18449932@qq.com
QQ: 18449932
微博: officecn01
移動(dòng)訪問(wèn)