|
本帖最后由 roych 于 2015-11-30 17:16 编辑
供新手学习参考:
主要知识点:
QueryDef对象及SQL属性
OutPutTo方法【OutPutTo导出PDF只适用于2007格式以上。2003格式需要注册其它控件,请参考论坛上的例子】
ADO记录集对象及GetRows方法数组维数的使用
主要语句:
Set、New关键字和For循环
没什么好说的,重要的都已经注释过,各个知识点需要新手们自己去查阅资料学习了。这是一个网友的的问题,我懒得去改报表格式啦。
- 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
复制代码
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|