我在MS Access Module中创建了一个函数,比方说Calculate(A, B)
。
我还在MS Access中创建了一个Query来使用这个函数,让我们说:
UPDATE aTable
SET aField = Calculate(bField, cField)
我如何调用查询,因为我尝试使用:adoConnection.Execute
,adoTable
,adoQuery
,adoCommand
和StoredProcedure
,所有都拒绝它与消息
未定义的函数在表达式中计算
先感谢您。
你不能。
使用用户定义的VBA函数的查询只能由Access Application对象执行,并且只能通过DoCmd.OpenQuery
和DoCmd.RunSQL
方法执行。
而是使用COM和Access Application对象来自动执行任务。请注意,这将导致相当大的开销。或者,如果可能,请在SQL子句中进行计算。
它们不能通过ODBC或OLEDB获得,因此在ADO中不可用。
如果Access的完整版本(不是运行时版本或数据库引擎)不可用,则遗憾的是您无法运行使用用户定义的VBA函数的查询。