Не работают VBA функции в SQL запросе к БД в Access
Формулировка задачи:
Уважаемые!
В Аccess был написан запрос, использующий несколько функций, написанных там же, на VBA-Access. В среде Аccess запрос выполнялся без проблем.
При попытке затолкать тот же запрос в рекордсет с помощью VBA-Excel, компилятор жалуется, что функции внутри запроса не определены.
Запросы, не использующие рукописных функций, из VBA-Excel запускаются без проблем.
В чем может быть дело?
Листинг программы
- Sub get_data_from_db_1(request_array)
- Dim request_data As DAO.Recordset
- Dim request_data_SQL As String
- iPath = ThisWorkbook.Path + "\База.mdb"
- Set dbs = DAO.OpenDatabase(iPath)
- request_data_SQL = "SELECT * FROM [Запрос на каталог]"
- Set request_data = dbs.OpenRecordset(request_data_SQL)
- ...
- End sub
Решение задачи: «Не работают VBA функции в SQL запросе к БД в Access»
textual
Листинг программы
- Sub get_data_from_db_1(request_array)
- Dim request_data As DAO.Recordset
- Dim request_data_SQL As String
- Dim app as object
- iPath = ThisWorkbook.Path + "\База.mdb"
- 'Set dbs = DAO.OpenDatabase(iPath)
- Set app = createobject("access.application") 'Создаем объект Access.Application
- app.opencurrentdatabase iPath 'Открываем БД
- request_data_SQL = "SELECT * FROM [Запрос на каталог]"
- Set request_data = app.currentdb.OpenRecordset(request_data_SQL) 'Рекордсет от запроса
- ...
- app.closecurrentdatabase 'Закрываем БД
- End sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д