Я пишу приложение excel, которое извлекается из базы данных Access для работы. Когда пользователь открывает инструмент Excel, таблица данных должна заполнять один из рабочих листов из базы данных Access, которую я создал. Я писал код VBA в excel, и я получаю ошибку во время выполнения: "429" компонент ActiveX не может создать объект.
Остальные вопросы написаны в Access, но я считаю, что мне нужен этот код, написанный из файла рабочей книги Excel. Код, который я написал, находится в функции Workbook_Open()
, так что данные собираются правильно, когда пользователь открывает файл. Большое спасибо за помощь. BTW, я использую 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