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

问题描述 投票:4回答:1

我在MS Access Module中创建了一个函数,比方说Calculate(A, B)

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

UPDATE aTable 
SET aField = Calculate(bField, cField)

我如何调用查询,因为我尝试使用:adoConnection.ExecuteadoTableadoQueryadoCommandStoredProcedure,所有都拒绝它与消息

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

先感谢您。

vba function delphi ms-access delphi-2010
1个回答
6
投票

你不能。

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.