Вызовите MS Access Query, который вызывает функцию VBA в модуле из компонента Delphi ADO - PullRequest
0 голосов
/ 26 ноября 2018

Я создал функцию в модуле MS Access, скажем, Calculate(A, B).

Я также создал запрос в MS Access, чтобы использовать эту функцию, скажем:

UPDATE aTable 
SET aField = Calculate(bField, cField)

Как я могу вызвать запрос, так как я пытался использовать: adoConnection.Execute, adoTable, adoQuery, adoCommand и StoredProcedure, все отклонить его с сообщением

Неопределенная функцияПосчитайте в выражении

Заранее спасибо.

1 Ответ

0 голосов
/ 26 ноября 2018

Вы не можете.

Запросы с использованием пользовательских функций VBA могут выполняться только объектом приложения Access и только с помощью методов DoCmd.OpenQuery и DoCmd.RunSQL.

Вместо этого используйте COM и объект приложения доступа для автоматизации задачи.Обратите внимание, это приведет к значительным накладным расходам.Или, если возможно, выполните вычисления в предложении SQL.

Они недоступны через ODBC или OLEDB, поэтому недоступны в ADO.

Если полная версия Access (не во время выполнения)версия или ядро ​​базы данных) недоступны, к сожалению, вы не можете выполнять запросы, использующие пользовательские функции VBA.

...