在 Access 中創建了簡單報表(Report)後,報表是可以直接顯示和打印,但也可以輸出至不同的格式,在報表顯示輸出會利用按鍵方式,開啓報表,VBA 會使用 DoCmd. TransferSpreadsheet 句子將資料匯出至 Excel File,用 Excel 打開 File 來處理資料,非常方便。
Export Tables to Excel File 將資料匯出至 Excel 檔案 |
右鍵單擊 → 佈局視圖 → 加入按鍵控件 → 更改按鍵屬性 → 選擇單擊事件 → … 寫入 VBA 代碼 |
執行程式 → Output to Excel 確定 |
打開 Excel 程式 → 在我的文件找尋 Company_yyyymmddhhmmss.xls → 開啓檔案 |
Option Compare Database
Private Sub
btn_Report_Excel_Click()
Dim stDocName As String
Dim DestTable As String
Dim OutExcel As String
Dim SourceDB As Database
DoCmd.OpenReport
stDocName, acViewPreview
MsgBox ("Output to
Excel File")
stDocName =
"Rpt_Company"
DestTable =
"Temp"
OutExcel =
"Company_" & Format(Date, "yyyymmdd") &
Format(Time, "hhmmss") & ".xls"
Set SourceDB = CurrentDb
SourceDB.Execute
"SELECT COMPANY.* " _
& "INTO ["
& DestTable & "] From COMPANY;"
DoCmd.TransferSpreadsheet
acExport, acSpreadsheetTypeExcel9, DestTable, OutExcel
SourceDB.Execute
"DROP TABLE [" & DestTable & "];"
End Sub
|
TransferSpreadsheet句法(Syntax):
- Expression. expression.TransferSpreadsheet (TransferType, SpreadsheetType, TableName, FileName, HasFieldNames, Range, UseOA)
- Expression代表DoCmd對象的變量。
DoCmd.TransferSpreadsheet
acImport, 3, _
"Employees","C:\Lotus\Newemps.wk3",
True, "A1:G12"
|
TransferSpreadsheet(Parameters):
Name
|
名稱
|
必需/可選
|
數據類型
|
描述說明
|
TransferType
|
傳輸類型
|
可選
|
AcDataTransferType
|
您要進行的轉移的類型。
默認值為acImport 。
|
SpreadsheetType
|
電子表格類型
|
可選
|
AcSpreadSheetType
|
要從中導入,導出到或鏈接到的電子表格的類型。
|
TableName
|
表名
|
可選
|
變體
|
字符串表達式,它是您要將電子表格數據導入其中,從中導出電子表格數據或從中鏈接電子表格數據的Office Access表的名稱,或者是要將其結果導出到電子表格中的Access select查詢。
|
FileName
|
文檔名稱
|
可選
|
變體
|
字符串表達式,它是您要從中導入,導出到或鏈接到的電子表格的文件名和路徑。
|
HasFieldNames
|
HasFieldNames
|
可選
|
變體
|
導入或鏈接時,使用True (1)將電子表格的第一行用作字段名稱。
使用False (0)將電子表格的第一行視為普通數據。 如果將此參數保留為空白,則採用默認值( False )。 當您將Access表導出或選擇查詢數據到電子表格時,無論您為該參數輸入什麼內容,字段名稱都會插入到電子表格的第一行中。
|
Range
|
範圍
|
可選
|
變體
|
字符串表達式,它是單元格的有效範圍或電子表格中範圍的名稱。
此參數僅適用於導入。 將此參數保留為空白以導入整個電子表格。 導出到電子表格時,必須將此參數留空。 如果輸入範圍,則導出將失敗。
|
UseOA
|
用OA
|
可選
|
變體
|
不支持該參數。
|
AcDataTransferType枚舉(Enumeration):
Name
|
數值
|
描述說明
|
acExport
|
1
|
數據導出。
|
acImport
|
0
|
(默認)數據導入
|
acLink
|
2
|
該數據庫鏈接到指定的數據源
|
AcSpreadSheetType 枚舉(Enumeration):
Name
|
數值
|
描述說明
|
acSpreadsheetTypeExcel3
|
0
|
Microsoft
Excel 3.0 format
|
acSpreadsheetTypeExcel4
|
6
|
Microsoft
Excel 4.0 format
|
acSpreadsheetTypeExcel5
|
5
|
Microsoft
Excel 5.0 format
|
Operation System : Microsoft Windows 7
Version : Microsoft Office Access 2007
相關網址:
※ DoCmd.TransferSpreadsheet method (Access)
相關網址:
※ Access - 開始使用 Microsoft Office Access 2007(一)
※ Access - 在 Access 2007 中建立表單(二)
※ Access - 在 Access 2007 編程 VBA(三)
※ Access - 在 Access 2007 語系錯誤訊息(四)
※ Access VBA - TextBox Object 文本框對象(一)
※ Access VBA - ListBox Object 列表框對象(二)
※ Access VBA - ComboBox Object 組合框對象(三)
※ Access VBA - CommandButton Object 按鈕命令對象(四)
※ Access VBA - CheckBox Object 復選框對象(五)
※ Access VBA - Create a Table 建立資料表(六)
※ Access VBA - Create a Form 創建窗體(七)
※ Access VBA - Add a Subform to Existing Form 在主表單加入子窗體(八)
※ Access VBA - Create a Simple Report 創建一個簡單報表(九)
※ Access VBA - Display Report 報表顯示輸出(十)
※ Access VBA - Export Tables to Excel File 將資料匯出至 Excel 檔案(十一)
※ Access VBA - Export Tables to Other File Format 將資料匯出至其他文件格式(十二))
2019年 10月 14日 天氣報告
氣溫:26.6度 @ 20:30
相對濕度:百分之 70%
天氣:大致多雲
沒有留言:
張貼留言