設(shè)為首頁收藏本站Access中國

Office中國論壇/Access中國論壇

 找回密碼
 注冊

QQ登錄

只需一步,快速開始

123下一頁
返回列表 發(fā)新帖
查看: 22018|回復(fù): 27
打印 上一主題 下一主題

在MDE中動態(tài)設(shè)置報表紙張及頁邊距

[復(fù)制鏈接]

點擊這里給我發(fā)消息

跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2008-3-16 11:45:24 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
8金錢
我使用了代碼來動態(tài)設(shè)置報表的紙張及邊距,但出現(xiàn)一個奇怪現(xiàn)象
打開報表時, 代碼是執(zhí)行了,但沒有任何效果,可是手工打開頁面設(shè)置, 發(fā)現(xiàn)里面的設(shè)置內(nèi)容的確按代碼已經(jīng)修改了,如果這時按一下確定, 報表紙張設(shè)置才有效果


在Open事件中加了如下代碼:
Dim rs As Recordset
Set rs = CodeDb.OpenRecordset("Select * From tblrptPageSize ", dbOpenDynaset)

With Me.Printer
     .PaperSize = Nz(rs!rptPageSize, 9)
     .TopMargin = Round(Nz(rs!rptTop, 0) * 56.7, 2)
     .BottomMargin = Round(Nz(rs!rptBottom, 0) * 56.7, 2)
     .LeftMargin = Round(Nz(rs!rptLeft, 0) * 56.7, 2)
     .RightMargin = Round(Nz(rs!rptRight, 0) * 56.7, 2)
     .Orientation = 2
     .Copies = 1
End With

最佳答案

查看完整內(nèi)容

應(yīng)該可以,需要用集合的方式打開報表才能改變紙張大小 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, a ...
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏4 分享分享 分享淘帖 訂閱訂閱
2#
發(fā)表于 2008-3-16 11:45:25 | 只看該作者
應(yīng)該可以,需要用集合的方式打開報表才能改變紙張大小

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
回復(fù)

使用道具 舉報

3#
發(fā)表于 2008-3-16 13:58:47 | 只看該作者
以前做的例子 , 能動態(tài)設(shè)置的
MDE保存調(diào)用頁邊距的例子
回復(fù)

使用道具 舉報

點擊這里給我發(fā)消息

4#
 樓主| 發(fā)表于 2008-3-16 20:24:49 | 只看該作者
andymark兄,好像也不行,跟我那個代碼一樣的問題, 更新為A4紙或其它設(shè)置,保存后再進(jìn)去還是未更新到

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?注冊

x
回復(fù)

使用道具 舉報

5#
發(fā)表于 2008-3-17 09:21:31 | 只看該作者
確實是這樣,我也正遇到這個問題,與tmtony描述得一樣,設(shè)置橫向豎向也是如此.
回復(fù)

使用道具 舉報

6#
發(fā)表于 2008-3-17 09:29:14 | 只看該作者
好像 是  解決不了
回復(fù)

使用道具 舉報

點擊這里給我發(fā)消息

7#
 樓主| 發(fā)表于 2008-3-17 14:41:59 | 只看該作者
使用代碼來模擬一下 打開頁面設(shè)置的功能. 這個方向可能行
回復(fù)

使用道具 舉報

點擊這里給我發(fā)消息

8#
 樓主| 發(fā)表于 2008-3-17 16:40:32 | 只看該作者
學(xué)習(xí)一下
回復(fù)

使用道具 舉報

點擊這里給我發(fā)消息

9#
 樓主| 發(fā)表于 2008-3-17 16:59:25 | 只看該作者
andymark兄,還是不行
在執(zhí)行set rpt=new report_test
時,不斷死循環(huán).
可能是新對象時就會遞歸執(zhí)行 getpage
我把附件傳上來

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?注冊

x
回復(fù)

使用道具 舉報

10#
發(fā)表于 2008-3-17 17:04:42 | 只看該作者
andymark兄,還是不行
在執(zhí)行set rpt=new report_test
時,不斷死循環(huán).
可能是新對象時就會遞歸執(zhí)行 getpage
我把附件傳上來
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則

QQ|站長郵箱|小黑屋|手機版|Office中國/Access中國 ( 粵ICP備10043721號-1 )  

GMT+8, 2024-10-23 06:18 , Processed in 0.126992 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回復(fù) 返回頂部 返回列表