2015-07-31 3 views
0

Я очень новичок в VBA, и я пытаюсь выполнить запрос Parameter Query из базы данных планирования PM, основанной на двух факторах: Airport and Dept. Я нашел код в другой форум, который делает именно то, что я хочу, и позволит другим пользователям использовать электронную таблицу для вызова своих конкретных расписаний без необходимости входа в мою базу данных (я действительно не хочу других в БД). Однако я совсем не могу получить его на работу, и я думаю, что это связано с тем, что я использую Access и Excel 2007.Запрос Paremeter от Access 2007 до Excel 2007 в VBA

я создал эту таблицу нам, как в этой статье указывается сделать:

http://datapigtechnologies.com/blog/index.php/running-an-access-parameter-query-from-excel/

Тогда я ввод этот код

'Step 1: Declare your variables 

    Dim MyDatabase As DAO.Database 
    Dim MyQueryDef As DAO.QueryDef 
    Dim MyRecordset As DAO.Recordset 
    Dim i As Integer 


    'Step 2: Identify the database and query 
    Set MyDatabase = DBEngine.OpenDatabase _ 
    ("W:\Program Management Databases\PM Master schedule\PM Master Database.accdb") 
    Set MyQueryDef = MyDatabase.QueryDefs("PM Schedule Parameter Query") 

    'Step 3: Define the Parameters 


    With MyQueryDef 
    .Parameters("[Enter Segment]") = Range("D3").Value 
    .Parameters("[Enter Region]") = Range("D4").Value 


    End With 

    'Step 4: Open the query 

    Set MyRecordset = MyQueryDef.OpenRecordset 


    'Step 5: Clear previous contents 
    Sheets("Main").Select 
    ActiveSheet.Range("A6:K10000").ClearContents 

    'Step 6: Copy the recordset to Excel 

    ActiveSheet.Range("A7").CopyFromRecordset MyRecordset 

    'Step 7: Add column heading names to the spreadsheet 


    For i = 1 To MyRecordset.Fields.Count 
    ActiveSheet.Cells(6, i).Value = MyRecordset.Fields(i - 1).Name 
    Next i 
    MsgBox "Your Query has been Run" 

    End Sub 

Однако я получаю сообщение об ошибке с определенной пользовательской ошибки на первой линии Dim. Я прочитал все вопросы по ссылке, упомянутой выше, и все говорят, что она работает, но я думаю, что она имеет отношение ко мне с использованием Excel Excel и Access, а справочная библиотека отличается.

Это, кажется, по крайней мере, первая проблема:

Dim MyDatabase Как DAO.Database

+0

Какую библиотечную ссылку DAO вы включили в проект Excel VBA? – HansUp

ответ

0

Excel не имеют ссылки на библиотеку DAO по умолчанию. Перейдите в Редактор VBA, Инструменты> Ссылки и установите флаг в библиотеку объектов Microsoft DAO 3.6.

Смежные вопросы