我正在編寫一個從Access數據庫中繪製的Excel工作應用程序。當用戶打開Excel工具時,數據表需要從我創建的Access數據庫填充其中一個工作表。我一直在Excel中編寫VBA代碼,並且收到運行時錯誤:「429」ActiveX組件無法創建對象。編寫Excel VBA從Access中接收數據
其他問題都是從Access編寫的,但我相信我需要從Excel工作簿文件編寫的代碼。我寫的代碼位於Workbook_Open()
函數中,以便在用戶打開文件時正確收集數據。非常感謝您的幫助。順便說一句,我使用Access 2007和Excel 2010
Private Sub Workbook_Open()
'Will fill the first listbox with data from the Access database
Dim DBFullName As String
Dim TableName As String
Dim FieldName As String
Dim TargetRande As String
DBFullName = "D:\Tool_Database\Tool_Database.mdb"
Dim db As DAO.Database, rs As Recordset
Dim intColIndex As Integer
Set TargetRange = Range("A1")
Set db = OpenDatabase(DBFullName)
Set rs = db.OpenRecordset("SELECT * FROM ToolNames WHERE Item = 'Tool'", dbReadOnly)
' Write the field names
For intColIndex = 0 To rs.Fields.Count - 1
TargetRange.Offset(1, intColIndex).Value = rs.Fields(intColIndex).Name
Next
' Write recordset
TargetRange.Offset(1, 0).CopyFromRecordset rs
Set rs = Nothing
db.Close
Set db = Nothing
End Sub
在IDE中,工具 - >引用;你需要「microsoft dao X.XX object library」打勾,是這樣嗎?如果是的話哪個版本? – 2012-01-31 16:44:11
我有「Microsoft DAO 3.6對象庫」選中。現在它給了我運行時錯誤3024應用程序定義或對象定義的錯誤 – thebiglebowski11 2012-01-31 16:47:17
這似乎是文件未找到,確定路徑是正確的? – 2012-01-31 16:49:17