Office中国论坛/Access中国论坛

标题: 关于Access引用excel报表问题 [打印本页]

作者: lanshijitian    时间: 2018-1-7 11:33
标题: 关于Access引用excel报表问题
采用网上这篇:
在读这篇文章以前首先要提醒大家,Access 本身的报表也具有很强的实用性和强大的功能,只有当你发掘了其本身全部的功能却仍不能满足你对报表的特殊要求时才请使用 Excel 输出报表。很明显,使用 Excel 输出报表第一个弱点就是必须同时打开 Access 和 Excel (当然,你得在一台机器上同时安装 Access 和 Excel),当然如果你拥有工作在 966MHz 上的 CPU 和 256M 内存以及大容量硬盘时,那就不必考虑了,继续吧。   首先找到 VBA 编程界面并找到"工具"菜单并单击"引用..."菜单项,在弹出的"引用"窗体中找到"现有引用"列表,在名为"Microsoft Excel x.0 Object Library"的项目前的方框内打钩。 其次,你要做好一张空白的 Excel 电子表格,设定好显示字体、边框、打印纸张等等并将其存盘。(以下示例中该表格名为 "temp.xls" )当然啦,直接使用空白的 Excel 文件也是可以的,不过你要编程自动生成表格边框、背景颜色、单元格格式等一些内容,这些涉及到 Excel 编程。   然后你就可以在 Access 里面制作你自己的打印预览窗体了,在窗体中安排 2 个命令按钮,在名为预览的按钮的 click 事件里输入以下代码:
  Private Sub ExcelPreview_Click()
Dim xlApp As Excel.Application  
Dim xlBook As Workbook, xlSheet As Worksheet  
Set xlApp = CreateObject("Excel.Application")
Set xlApp = New Excel.Application xlApp.Visible = True  Set xlBook = xlApp.Workbooks.Open("c:/reprot/temp.xls")
Set xlSheet = xlBook.Worksheets(1)  xlSheet.Cells(3, 1) = "制表日期:" + "12" + " 月"
'以上只更改了一个单元格内的数据,可根据需要无限次加入
xlBook.Save  
xlSheet.PrintPreview '如果是要打印,只要把 PrintPreview 改为 PrintOut xlBook.close
xlApp.Quit
End Sub
报表只能调用表字段信息第一组数据。
如果调用的是查询字段,则不显示任何信息。
请问如何采用excel生成筛选出的指定一组信息的报表?谢谢
作者: tmtony    时间: 2018-1-7 11:55
数据可以通过ado或dao传递过去




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3