设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2710|回复: 5
打印 上一主题 下一主题

批量导出PDF报表【2007格式以上适用】

[复制链接]
跳转到指定楼层
1#
发表于 2015-11-30 17:14:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 roych 于 2015-11-30 17:16 编辑

供新手学习参考:
主要知识点:
QueryDef对象及SQL属性
OutPutTo方法【OutPutTo导出PDF只适用于2007格式以上。2003格式需要注册其它控件,请参考论坛上的例子
ADO记录集对象及GetRows方法数组维数的使用
主要语句:
Set、New关键字和For循环

没什么好说的,重要的都已经注释过,各个知识点需要新手们自己去查阅资料学习了。这是一个网友的的问题,我懒得去改报表格式啦。
  1. Private Sub Command38_Click()
  2.     Dim qry_Report As QueryDef
  3.     Dim rst As New ADODB.Recordset
  4.     Dim arr_Number
  5.     Dim i As Long
  6.     Dim str_SQL As String
  7.    
  8.     '获取供应商编号
  9.      rst.Open "select 供应商编号 from [Q0010_Summary List]", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
  10.     arr_Number = rst.GetRows()
  11.     rst.Close
  12.     Set rst = Nothing
  13.    
  14.     '定义报表和报表对应的记录源,注意替换掉SQL语句最后的分号。
  15.     Set qry_Report = CurrentDb.QueryDefs("qry对账单")
  16.     str_SQL = Replace(qry_Report.SQL, ";", "")
  17.     '设置查询数据源
  18.     For i = LBound(arr_Number, 2) To UBound(arr_Number, 2)
  19.         qry_Report.SQL = str_SQL & " Where [Q0010_Summary List].供应商编号=" & arr_Number(0, i)
  20.         DoCmd.OutputTo acOutputReport, "对账单", acFormatPDF, CurrentProject.Path & "" & arr_Number(0, i) & "_对账单.pdf", False
  21.     Next
  22.     '重新设置查询SQL语句,以便下次使用
  23.     qry_Report.SQL = str_SQL
  24.     MsgBox "全部导出完毕"
  25. End Sub
复制代码



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

推荐
发表于 2015-11-30 18:16:36 | 只看该作者
2003就要自己想其它办法了:) 2007以后就方便好多了
回复 支持 1 反对 0

使用道具 举报

3#
发表于 2016-1-9 22:33:11 | 只看该作者
你好,07的打开显示不识别的数据库格式,请问怎么回事?
4#
 楼主| 发表于 2016-1-10 09:30:27 | 只看该作者
sdgtlcy 发表于 2016-1-9 22:33
你好,07的打开显示不识别的数据库格式,请问怎么回事?

版本问题?我是在2010版本里设计的。
5#
发表于 2016-4-14 17:02:39 | 只看该作者

强!,谢谢分享!

点击这里给我发消息

6#
发表于 2020-11-19 16:09:48 | 只看该作者
学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-2 06:17 , Processed in 0.131987 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表