Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

我想先打印报表的奇数页,再打印偶数页,请问怎么写代码?

1978  发表于:2009-06-16 18:06:58  
复制

在数据库里,报表有许多页面,我想先打印奇数,然后打印偶数,请问这怎么做?怎么做到如图片这样的设置呢?

 

Top
豆豆 发表于:2009-06-16 21:46:15

用这个试试

打印奇数页

    Dim stDocName As String
    Dim i As Integer
    stDocName = "报表名"
    DoCmd.OpenReport stDocName, acViewPreview
    For i = 1 To 报表的总页数 Step 2
        DoCmd.PrintOut acPages, i, i
    Next i
偶数页自己修改下



点燃一支烟 发表于:2009-06-17 09:19:40
'--------------------------------------------------------------------------
'-功能描述:     对报表进行奇偶分页打印
'-输入参数说明: 参数1: 必选 RptName 报表名称
'-使用语法示例: PrintCatalogReport("报表名称")
'-作者;Grant
'-时间;2008-1-10
'-Email;20991943@qq,cin
'-QQ;20991943
'-网站;
www.accessbbs.cn
'-博客;http://www.accessbbs.cn/bbs/blog/?uid/3
'-使用本模块时请勿删除本信息,此模块临时替网友写作,并未完善,日后补充
'---------------------------------------------------------------------------

Function PrintCatalogReport(RptName As String)
    Dim Rpt As Report
    Dim PagesCount, i As Long
    Dim myPrompt As String
    myPrompt = "请将出纸器中已打印好一面的纸取出并将其放回到送纸器中,然后按下""确定"",继续打印"
    DoCmd.OpenReport RptName, acViewPreview
    Set Rpt = Reports(0)
    PagesCount = Rpt.Pages

    If PagesCount = 0 Then
        MsgBox "Microsoft Access 未发现任何可以打印的内容", 0 + 48
        DoCmd.Close acReport, RptName
        Exit Function
    ElseIf PagesCount = 1 Then
        MsgBox "Microsoft Access 只有一页何须麻烦", 0 + 48
        DoCmd.PrintOut acPages, 1, 1
        Exit Function
    End If
    For i = 1 To PagesCount Step 2                '打印奇数页
        DoCmd.PrintOut acPages, i, i
    Next i
    MsgBox myPrompt, 0 + 48
    For i = 2 To PagesCount Step 2                '打印偶数页
        DoCmd.PrintOut acPages, i, i
    Next i
    DoCmd.Close acReport, RptName
End Function


总记录:2篇  页次:1/1 9 1 :