【发布时间】:2013-11-27 21:02:04
【问题描述】:
当我尝试使用下面的代码时,出现错误消息“条件表达式中的数据类型不匹配。”
Call Connect_to_db
strSQL = "UPDATE StockTable " & _
"SET [Selected] = '" & Sheets("InfoStockDes").Range("e" & x) & "' " & _
"WHERE [OwnerName] = '" & Sheets("InfoStockDes").Range("a" & x) & "' " & _
"AND [OwnerShipMethod] = '" & Sheets("InfoStockDes").Range("b" & x) & "' " & _
"AND [StockName] = '" & Sheets("InfoStockDes").Range("c" & x) & "' " & _
"AND [Quantity] = '" & Sheets("InfoStockDes").Range("d" & x) & "' "
Debug.Print strSQL
cn.Execute strSQL
Call Close_db
【问题讨论】:
-
以及您从这行得到的结果:
Debug.Print strSQL? -
这涉及到哪些数据类型?我们无法闻到您尝试将哪些数据插入到哪种列中,并且您的工作表中的某处数据不适合您数据库中的某些列。如果不知道您如何定义数据库,也不知道您要输入什么数据,我们只知道错误告诉您什么。另外,正如我之前问过的,正如@KazJaw 提到的,显示 strSQL 的内容。
-
@KazJaw Debug.Print strSQL : UPDATE StockTable SET [Selected] = 'True' WHERE [OwnerName] = 'Ali' AND [OwnerShipMethod] = 'direct' AND [StockName] = 'NFK' AND [数量] = '2052'
-
@oerkelens OwnerName Text OwnerShipMethod Text StockName Text Quantity Number Selected Text
-
好吧,你去 :) 你正在将 string '2052' 与数字字段
Quantity进行比较。如果您将这些重要信息添加到您的原始问题中,也许您自己已经注意到了;)