我正在尝试使用 Excel VBA 中的变量来使用 SQL Update、SET 和 Where 查询。我可以创建字符串来更新一个查询,但对于多个列,它被证明更加困难。请有人能指出我正确的方向吗?
con.Execute "UPDATE [Maint_Record] SET [Completed_] ='" & strCompleted & "'" & "Where [ID] = '" & intID & "'"
上面的代码行适用于 'completed_' 列。但是当我需要更新三列并且下面的代码不起作用时!
con.Execute "UPDATE [Maint_Record] SET [Priority_] ='" & strPriority & "'," [Assigned_To] ='" & strAssignedTo & "', " [Comments_] ='" & strComments & "', " [Completed_] ='" & strCompleted & "'" & "Where [ID] = '" & intID & "';"
我收到了来自 Excel 的语句结束警告等 :-( 有人可以帮忙吗?我已经很接近让这个工作了,但还不够接近 :-)
最佳答案
您的字符串有问题 - 您在不需要的地方包含了额外的引号 ( "
)。使用 X
在下面突出显示它们:
X
strPriority & "'," [Assigned_To] =
X
strAssignedTo & "', " [Comments_] =
X
strComments & "', " [Completed_] =
你需要再看一下这个字符串并纠正它的问题,给你类似的东西:
con.Execute "UPDATE [Maint_Record] SET [Priority_] ='" & strPriority & "', [Assigned_To] ='" & strAssignedTo & "', [Comments_] ='" & strComments & "', [Completed_] ='" & strCompleted & "' Where [ID] = '" & intID & "';"
您的最终
WHERE
声明是:Where [ID] = '" & intID & "';"
如果
intID
是一个数字( int
)那么你不需要单引号:Where [ID] = " & intID & ";"
关于sql - Excel VBA 中 SQL 更新函数的正确语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58604788/