【问题标题】:SQL UPDATE Statement in excel VBA not workingexcel VBA中的SQL UPDATE语句不起作用
【发布时间】:2013-11-27 17:54:46
【问题描述】:

我有这段代码可以用 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

【问题讨论】:

  • ...它不工作是什么意思?你有任何错误吗?请张贴他们!顺便说一句:您在 where 子句中忘记了很多单引号和双引号以及 AND/OR(?)!

标签: sql excel vba


【解决方案1】:

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

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,并添加了一些明显缺失的“和”。

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

我想这应该更好地工作,如果没有,请告诉我们什么不起作用,什么错误消息,如果有的话,并且请在你执行之前显示strSQL的实际内容。该字符串应该包含一个简单的 SQL 语句,但其中可能存在错误,因此请查看该字符串,如有必要,将其发布给我们查看:)

【讨论】:

  • 我使用了第二个代码并给了我错误消息“条件表达式中的数据类型不匹配”
  • 好吧,由于我们对您的数据类型一无所知,您可能比我们更有能力解决该错误:)
猜你喜欢
  • 1970-01-01
  • 2021-04-12
  • 2018-03-25
  • 1970-01-01
  • 2023-03-04
  • 1970-01-01
  • 1970-01-01
  • 2012-08-13
  • 2018-10-20
相关资源
最近更新 更多