Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
excel VBA中的SQL UPDATE语句不工作_Sql_Excel_Vba - Fatal编程技术网

excel VBA中的SQL UPDATE语句不工作

excel VBA中的SQL UPDATE语句不工作,sql,excel,vba,Sql,Excel,Vba,我有这个用SQL更新数据库的代码,但它不起作用 Call Connect_to_db strSQL = "UPDATE StockTable " & _ "SET StockTable.Selected = '" & Sheets("InfoStockDes").Range("g" & x) & "' " & _ "WHERE OwnerName = '" & Sheets("InfoStockDes").Range("a" & x)

我有这个用SQL更新数据库的代码,但它不起作用

Call Connect_to_db
strSQL = "UPDATE StockTable " & _
 "SET StockTable.Selected = '" & Sheets("InfoStockDes").Range("g" & x) & "' " & _
 "WHERE OwnerName = '" & Sheets("InfoStockDes").Range("a" & x) & WHERE OwnerShipMethod = Sheets("InfoStockDes").Range("b" & g) & WHERE StockName = Sheets("InfoStockDes").Range("c" & g) & WHERE Quantity = Sheets("InfoStockDes").Range("d" & g)  "' "
cn.Execute strSQL
Call Close_db

这是您发布的代码,但有一些额外的换行符和大纲。也许你现在能更好地发现明显的错误

Call Connect_to_db
strSQL = "UPDATE StockTable " & _
         "SET StockTable.Selected = '" & Sheets("InfoStockDes").Range("g" & x) & "' " & _
         "WHERE OwnerName = '" & Sheets("InfoStockDes").Range("a" & x) & _
          WHERE OwnerShipMethod =     Sheets("InfoStockDes").Range("b" & g) & _
          WHERE StockName = Sheets("InfoStockDes").Range("c" & g) & _
          WHERE Quantity = Sheets("InfoStockDes").Range("d" & g)  "' "
cn.Execute strSQL
Call Close_db
在此版本中,我将额外的
WHERE
子句更改为
,并添加了一些明显缺失的“AND”


我想这应该可以更好地工作。如果它不工作,请告诉我们什么不工作,你得到了什么错误消息,如果有的话,请在你执行它之前显示strSQL的实际内容。这个字符串应该包含一个简单的SQL语句,但可能有错误,所以请看一下,如果必要的话,发布让我们看一下:)

…它不工作意味着什么?你有任何错误吗?请发布它们!顺便说一句:你忘记了where子句中有很多单引号和双引号和/或(?)。我使用了第二个代码,并给了我错误消息“条件表达式中的数据类型不匹配”“嗯,因为我们对您的数据类型一无所知,所以您可能比我们更适合解决该错误:)
Call Connect_to_db
strSQL = "UPDATE StockTable " & _
         "SET StockTable.Selected = '" & Sheets("InfoStockDes").Range("g" & x) & "' " & _
         "WHERE OwnerName = '" & Sheets("InfoStockDes").Range("a" & x) & "' " & _
         "AND OwnerShipMethod = '" & Sheets("InfoStockDes").Range("b" & g) & "' " & _
         "AND StockName = '" & Sheets("InfoStockDes").Range("c" & g) & "' " & _
         "AND Quantity = '" & Sheets("InfoStockDes").Range("d" & g) & "' "
cn.Execute strSQL
Call Close_db