[英]Data type mismatch error in criteria expression in ms access 2007
我正在尝试运行更新查询,但它给我“条件表达式中的数据类型不匹配”。 之前一切正常,但现在突然间,我开始出现此错误。 我尝试进行研究,还检查了堆栈溢出,但找不到解决方案。 我的查询中只有一个条件表达式。
UPDATE dbo_tblGoods INNER JOIN qryValidate
ON dbo_tblGoods.MaterialID = qryValidate.MaterialID
SET dbo_tblGoods.BarcodeType = [qryValidate]![BarCodeType],
dbo_tblGoods.BarCode = [qryValidate]![BarCode]
WHERE (((Right$([NewBarCode],4))="GOOD"));
同样,qryValidate是:
SELECT Parts.MaterialID, Validate_UPC([Parts]![Barcode],[Parts]![BarcodeType]) AS NewBarCode,
Parts.BarCodeType, Parts.BarCode
FROM dbo_tblgoods INNER JOIN Parts
ON dbo_tblgoods.MaterialID = Parts.MaterialID;
每当出现错误"Data type mismatch
,我总是使用表达式“ =,> ..”或Function
来检查我拥有的那些字段。最有可能的原因是Null
字段。
尝试检查您的函数Validate_UPC([Parts]![Barcode],[Parts]![BarcodeType])
并将其更改为Validate_UPC(nz([Parts]![Barcode]),nz([Parts]![BarcodeType]))
的Null
字段。
如果不起作用,请检查Validate_UPC
中的参数是否与您在查询中提供的数据类型匹配。 例如,如果您将Barcode
声明为Integer,则字符串字段无效。 尝试将Barcode
或BarcodeType
声明为Variant
并在VBA中正确处理它们。
最后,您尝试在两个或多个表中使用不同数据字段类型的内部联接字段。 当我从数据导入(例如excel导入)创建新的临时表时,经常会犯此错误
我有一个包含15k数据的Excel工作表,我意识到这里有2个单元格是空的。 因此,这给了我这个错误。 谢谢大家为我提供帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.