我正在做一個VBA項目。我已成功連接並檢索了我的表格。現在我想更新Excel中的幾列。當我運行這個代碼時,它不會拋出任何錯誤,但是我的表中的值永遠不會改變。我的sql語句有什麼問題
sqlstr = "UPDATE " & table4 & " SET price = '" & Cells(i, 8) & ", & "
& Cells(i, 9) & "' " & " WHERE key_id = '" & Cells(i, 1) & ", & " & Cells(i, 2) & "' "
當我使用一個值運行較短的版本時,它會更新它。
sqlstr = "UPDATE " & table4 & " SET price = '" & Cells(i, 8) & "' " & "
WHERE key_id = '" & Cells(i, 1) & "' "
我在哪裏錯了?
什麼是你想在這裏完成?你有一個'&'在一個報價裏面,可能是破壞的東西。細胞(I,9)在做什麼?通常更新語句如下所示:更新表設置Column = Value,Column2 = Value2 where子句 – sjramsay
這也是一個SQL注入風險。 – Andrew
那些不是SQL語句。這些是構建SQL語句的VBA語句。生成的SQL語句位於變量'sqlstr'中。如果顯示該變量的內容,您可能會立即在構建的SQL語句中看到語法錯誤。 –