高级报表
Access使用excel输出复杂报表
2015-02-04 11:53:35

    Access的报表功能不是很强大,实用性也比较一般。我们可以借用Excel来输出报表来满足您特殊要求。使用 Excel 输出报表第一个弱点就是必须同时打开 Access 和 Excel (当然,你得在一台机器上同时安装 Access 和 Excel)

    1.打开 VBA 编程界面VBE,并找到"工具"菜单并单击"引用..."菜单项,在弹出的"引用"窗体中找到"现有引用"列表,在名为"Microsoft Excel x.0 Object Library"的项目前的方框内打钩。

    2.你要做好一张空白的 Excel 电子表格,设定好显示字体、边框、打印纸张等等并将其存盘。(以下示例中该表格名为 "temp.xls" )当然啦,直接使用空白的 Excel 文件也是可以的,不过你要编程自动生成表格边框、背景颜色、单元格格式等一些内容,这些涉及到 Excel 编程,我以后会在 Excel 专栏里详细叙述,这里就不多说了。

    3.然后你就可以在 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