能否在.execute行调用函数作为SQL语句的一部分?
我的任务是升级我们公司用来标准化客户数据的“数据转换器”。“数据转换器”至少从2006年开始,但可能要旧得多。我对VBA有相当好的理解,并对SQL有一定的了解 数据的实际转换发生在一条非常长的SQL语句中(2600个字符)。它由许多字符串组成,如下所示。我在理解BreakName部分时遇到了困难,希望有人能解释一下能否在.execute行调用函数作为SQL语句的一部分?,sql,vba,ms-access,ms-access-2010,Sql,Vba,Ms Access,Ms Access 2010,我的任务是升级我们公司用来标准化客户数据的“数据转换器”。“数据转换器”至少从2006年开始,但可能要旧得多。我对VBA有相当好的理解,并对SQL有一定的了解 数据的实际转换发生在一条非常长的SQL语句中(2600个字符)。它由许多字符串组成,如下所示。我在理解BreakName部分时遇到了困难,希望有人能解释一下 strSQLCompleteName = "BreakName(Trim([" & CStr(cboDBFieldFirstName) & "]),""" &
strSQLCompleteName = "BreakName(Trim([" & CStr(cboDBFieldFirstName) & "]),""" & txtNameDelimiter & """,3,1) AS UL_COMPLETE_NAME"
BreakName部分是另一个模块中的函数,但我没有想到您可以将函数作为.Execute语句的一部分调用。要回答我自己的问题,您可以从SQL语句中调用子/函数。我让它再次工作,然后在.execute行逐行执行,看看发生了什么。这正是我的问题。我认为这是不可能的。但不知怎的,这行代码被执行了。实际运行这行的代码在哪里?所有内容都是用access编写的。我将从您的第一条注释中假设,我正确地认为您不能将函数作为.Execute语句的一部分来调用。我将花更多的时间,并希望找出这些行的用途。BreakName函数似乎类似于split函数。但是对于您的问题,您正在使用函数调用填充变量strsqlcompleteneame,这很好。我假设稍后所有字符串都被连接起来了?