2014-07-17 80 views
0

我有一個Excel 2010工作簿驗證表單,需要將Access 2010中的表複製到可以填充表單的表格中。我有三個訪問表 - 日期,活動和項目 - 以及五個Excel表 - 原始日期,原始活動,原始項目,驗證和參數。這些按鈕存儲在參數頁面上。將訪問表複製到Excel電子表格

我想編寫一個VBA代碼,當選中按鈕Get Data時,它將把Access中的表中的數據複製到相應的電子表格中。然後,我想要在按下完成按鈕時清除這些表單。我已經在網上尋找解決方案,但到目前爲止,我還沒有找到任何可行的或有幫助的東西。

任何幫助或指示如何處理這將不勝感激。

這是我正在嘗試使用的代碼。它在objDB.Execute中給我一個'找不到安裝的ISAM'的錯誤。

Unload ParameterMenu 
formWait.Show 

'Save workbook 
ActiveWorkbook.Save 

Dim strExcelFile As String 
Dim strWorksheet As String 
Dim strDB As String 
Dim strTable As String 
Dim objDB As Database 

strExcelFile = "X:\Verification Form.xlsm" 
strWorksheet = "RawDates" 
strDB = "X:\Tables.accdb" 
strTable = "Dates" 

Set objDB = OpenDatabase(strDB) 

'If excel file already exists, you can delete it here 
'If Dir(strExcelFile) <> "" Then Kill strExcelFile 

objDB.Execute _ 
    "SELECT * INTO [Excel 14.0;DATABASE=" & strExcelFile & _ 
    "].[" & strWorksheet & "] FROM " & "[" & strTable & "]" 

objDB.Close 
Set objDB = Nothing 

Unload formWait 
FinishDialog.Show 

End Sub 
+0

你想要做的是以多種方式實現。你到目前爲止嘗試過什麼,或者你的研究揭示了什麼? – Gareth

+0

@Gareth我添加了我正在嘗試使用的代碼,但它給了我一個錯誤。 –

回答

1

查找到打開所述數據作爲DAO.Recordset和使用Range對象的.CopyFromRecordset其複製到的範圍內。

相關問題