摘 要:我們在應用Access報表功能來進行報表打印時,對那些綜合性較強的報表往往需要耗費極大的精力來設計,同時,當報表需要放大或縮小時,用Access的報表真是難為開發人員了,這時,用Excel制成報表模板,將Access的數據輸出到Excel模版中將不失為一種解決方法,本文利用不同的編程思路予以闡述。
正 文:
方法一:導出數據到Excel報表
1. 在EXCEL模板中利用函數設計好報表(示例文件是”銷售報表.xls”),將正式報表(報表1)的函數公式設定好,如:
柏林分公司的銷售量:=SUMIF(que銷售匯總!$A$1:$A$11,A4,que銷售匯總!$B$1:$B$11)
SUMIF函數說明:
根據指定條件對若干單元格求和。
語法
SUMIF(range,criteria,sum_range)
Range 為用于條件判斷的單元格區域。
Criteria 為確定哪些單元格將被相加求和的條件,其形式可以為數字、表達式或文本。例如,條件可以表示為 32、"32"、">32" 或 "apples"。
Sum_range 是需要求和的實際單元格。
在這里,是指如果“que銷售匯總”工作表的A1:A11區域的值等于“報表1”工作表的A4單元格,則公式所在單元格的值等于“que銷售匯總”工作表的B1:B11區域所有滿足此條件的單元格值之和。
2. 在Access文件中寫代碼輸入銷售分公司匯總的銷售數據,代碼示例如下:
Function out_Excel()
'方法一,利用Excel函數設置好報表,再導出基礎數據到EXCEL報表中
On Error GoTo out_Excel_Err
Dim xlsPath As String
'指定Excel文件的路徑
xlsPath = CurrentProject.Path + "\銷售報表.xls"
'檢測Excel文件是否存在,如果不存在則提醒
If Dir(xlsPath) = "" Then
MsgBox "銷售報表.xls文件不存在,請將Excel文件與mdb文件放在同一目錄下", vbCritical, "提示"
End
End If
DoCmd.TransferSpreadsheet acExport, 8, "que銷售匯總", xlsPath, True, ""
MsgBox "報表數據輸出成功!", vbInformation, "恭喜"
out_Excel_Exit:
Exit Function
out_Excel_Err:
MsgBox Error$
Resume out_Excel_Exit
End Function
編輯:北京信誠IT保姆IT外包部 http:// www.aboverow.cn www.xcit.com.cn |