如何制作复杂报表——利用Excel输出复杂报表
在读这篇文章以前首先要提醒大家,Access本身的报表也具有很强的实用性和强大的功能,只有当你发掘了其本身全部的功能却仍不能满足你对报表的特殊要求时才请使用Excel输出报表。很明显,使用Excel输出报表第一个弱点就是必须同时打开Access和Excel(当然,你得在一台机器上同时安装Access和Excel),当然如果你和我一样拥有工作在966MHz上的CPU和256M内存以及大容量硬盘时,那就不必考虑了,继续吧。
首先找到VBA编程界面并找到"工具"菜单并单击"引用..."菜单项,在弹出的"引用"窗体中找到"现有引用"列表,在名为"MicrosoftExcelx.0ObjectLibrary"的项目前的方框内打钩。
其次,你要做好一张空白的Excel电子表格,设定好显示字体、边框、打印纸张等等并将其存盘。(以下示例中该表格名为"temp.xls")当然啦,直接使用空白的Excel文件也是可以的,不过你要编程自动生成表格边框、背景颜色、单元格格式等一些内容,这些涉及到Excel编程,我以后会在Excel专栏里详细叙述,这里就不多说了。
然后你就可以在Access里面制作你自己的打印预览窗体了,在窗体中安排2个命令按钮,在名为预览的按钮的click事件里输入以下代码:
PrivateSubExcelPreview_Click()
DimxlAppAsExcel.Application
DimxlBookAsWorkbook,xlSheetAsWorksheet
SetxlApp=CreateObject("Excel.Application")
SetxlApp=NewExcel.Application
xlApp.Visible=True
SetxlBook=xlApp.Workbooks.Open("c:/reprot/temp.xls")
SetxlSheet=xlBook.Worksheets(1)
xlSheet.Cells(3,1)="制表日期:"+"12"+"月"
'以上只更改了一个单元格内的数据,可根据需要无限次加入
xlBook.Save
xlSheet.PrintPreview'如果是要打印,只要把PrintPreview改为PrintOut
xlBook.close
xlApp.Quit
EndSub
|
OK,然后就可以单击该按钮看看生成的表格如何了。 |