[英]Correct syntax for SQL Update function in Excel VBA
我正在嘗試使用 SQL 更新、SET 和 Where 查詢使用 excel VBA 中的變量。 我可以創建字符串來更新一個查詢,但對於多個列,它被證明更加困難。 請有人能指出我正確的方向嗎?
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 & ";"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.