簡體   English   中英

SQL 的正確語法 在 Excel Z6E3EC7E6A9F6007B4838FC0EE79 中更新 function

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM