我有一个excel 2010工作簿,验证表单,我需要从Access 2010复制表,以便我可以填充表单 . 我有三个访问表 - 日期,活动和项目 - 和五个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
1 回答
查看将数据打开为
DAO.Recordset
并使用Range对象的.CopyFromRecordset
将其复制到范围 .