Я пытаюсь запустить запрос, хранящийся в базе данных доступа из excel vba. Запрос выполняется нормально, если я открываю и запускаю его в базе данных доступа, но вызывая ошибку при запуске его из модуля VBA. Запрос использует хранимую функцию, называемую «Getlist», которая находится в модуле базы данных доступа. Ниже приведен запрос.Выполнение сохраненного запроса, содержащего «функцию» в доступе db от excel
SELECT paramconcat.parameter, GetList("Select concat From paramconcat As T1 Where T1.parameter = """ & [paramconcat].[parameter] & """","",", ") AS Concatenated INTO results
FROM paramconcat
GROUP BY paramconcat.parameter;
VBA Модуль
Sub test1()
Dim con As ADODB.Connection
Dim rs As ADODB.Recordset
Set con = New ADODB.Connection
With con
.Provider = "Microsoft.ACE.OLEDB.12.0"
.Open "C:\Users\erukhq\Documents\My Received Files\paramcheck.accdb"
End With
con.Execute "ParamconcatQ"
con.Close
End Sub
Ошибка я получаю как ниже.
Вы можете использовать * родную * функцию VBA как левые и Мид, но вы не можете использовать пользовательские функции или функцию доступа или функцию из ссылочных библиотек. – ThunderFrame
Есть ли способ конвертировать определенную пользователем функцию в native? – Aprilian8
Я просто заметил, что вы вызываете запрос по имени, используя метод Execute. Я не думаю, что соединение распознает это, и это относится к вашей текущей ошибке. Вам нужно добавить объект ADODB.Command в микс. – ThunderFrame