Office中国论坛/Access中国论坛
标题:
批量导出PDF报表【2007格式以上适用】
[打印本页]
作者:
roych
时间:
2015-11-30 17:14
标题:
批量导出PDF报表【2007格式以上适用】
本帖最后由 roych 于 2015-11-30 17:16 编辑
供新手学习参考:
主要知识点:
QueryDef对象及SQL属性
OutPutTo方法【
OutPutTo导出PDF只适用于2007格式以上。2003格式需要注册其它控件,请参考论坛上的例子
】
ADO记录集对象及GetRows方法数组维数的使用
主要语句:
Set、New关键字和For循环
[attach]57519[/attach]
没什么好说的,重要的都已经注释过,各个知识点需要新手们自己去查阅资料学习了。这是一个网友的的问题,我懒得去改报表格式啦。
Private Sub Command38_Click()
Dim qry_Report As QueryDef
Dim rst As New ADODB.Recordset
Dim arr_Number
Dim i As Long
Dim str_SQL As String
'获取供应商编号
rst.Open "select 供应商编号 from [Q0010_Summary List]", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
arr_Number = rst.GetRows()
rst.Close
Set rst = Nothing
'定义报表和报表对应的记录源,注意替换掉SQL语句最后的分号。
Set qry_Report = CurrentDb.QueryDefs("qry对账单")
str_SQL = Replace(qry_Report.SQL, ";", "")
'设置查询数据源
For i = LBound(arr_Number, 2) To UBound(arr_Number, 2)
qry_Report.SQL = str_SQL & " Where [Q0010_Summary List].供应商编号=" & arr_Number(0, i)
DoCmd.OutputTo acOutputReport, "对账单", acFormatPDF, CurrentProject.Path & "" & arr_Number(0, i) & "_对账单.pdf", False
Next
'重新设置查询SQL语句,以便下次使用
qry_Report.SQL = str_SQL
MsgBox "全部导出完毕"
End Sub
复制代码
作者:
tmtony
时间:
2015-11-30 18:16
2003就要自己想其它办法了:) 2007以后就方便好多了
作者:
sdgtlcy
时间:
2016-1-9 22:33
你好,07的打开显示不识别的数据库格式,请问怎么回事?
作者:
roych
时间:
2016-1-10 09:30
sdgtlcy 发表于 2016-1-9 22:33
你好,07的打开显示不识别的数据库格式,请问怎么回事?
版本问题?我是在2010版本里设计的。
作者:
522650696
时间:
2016-4-14 17:02
强!,谢谢分享!
作者:
wuwu200222
时间:
2020-11-19 16:09
学习
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3