调用MS Access Query,它从Delphi ADO组件调用模块中的VBA函数

Wis*_*rta 4 delphi ms-access vba function delphi-2010

我在MS Access模块​​中创建了一个函数Calculate(A, B).

我还在MS Access中创建了一个Query来使用这个函数,让我们说:

UPDATE aTable 
SET aField = Calculate(bField, cField)
Run Code Online (Sandbox Code Playgroud)

我怎样才能调用查询,因为我尝试使用:adoConnection.Execute,adoTable,adoQuery,adoCommand,和StoredProcedure,所有的消息拒绝

未定义的函数在表达式中计算.

先感谢您.

Eri*_*k A 6

你不能.

使用用户定义的VBA函数的查询只能由Access Application对象执行,并且只能通过DoCmd.OpenQueryDoCmd.RunSQL方法执行.

而是使用COM和Access Application对象来自动执行任务.请注意,这将导致相当大的开销.或者,如果可能,请在SQL子句中进行计算.

它们不能通过ODBC或OLEDB获得,因此在ADO中不可用.

如果Access的完整版本(不是运行时版本或数据库引擎)不可用,则遗憾的是无法运行使用用户定义的VBA函数的查询.