ms-access - 为什么我得到 "data type mismatch in criteria expression?"

标签 ms-access

我对 Access 非常陌生(我通常使用 MySQLi 和 Navicat),我需要将 10 位 isbn 数字转换为 13 位数字。我有以下查询,它调用一个函数来执行此操作(我没有创建该函数,但它可以工作,并且我在执行其他查询时使用它):

    SELECT ISBN1013([ISBN]) AS ISBN13, LastSoldDate AS LastSold, Id AS Sku, OnHand AS Quantity, Store 
FROM [Store Inventory]
WHERE (((ISBN1013([ISBN])) Like "##########?"));

当我尝试运行它时,一开始一切看起来都很好,然后我收到一条错误消息,指出:条件表达式中的数据类型不匹配。我尝试在 Google 和此处查找此内容,但没有找到任何可以解释此错误的内容。 谁能帮帮我吗?

编辑:这里是信息如何开始以及最终如何显示的示例。

 0448431351 -> should end up as 9780448431352
 0736425543 -> should be 9780736425544

最佳答案

尝试在 ISBN 字段周围放置一个 NZ 函数:

SELECT NZ(ISBN1013([ISBN]),"") AS ISBN13

这会将任何空值转换为空字符串。

如果这不起作用,请尝试 CStr:

SELECT CStr(ISBN1013([ISBN])) AS ISBN13

这会将任何非字符串值转换为字符串。我知道您说过您没有任何空值,但根据我的经验,即使您认为所有数据都符合预期格式,它也是有效的方法之一。

关于ms-access - 为什么我得到 "data type mismatch in criteria expression?",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11829554/

相关文章:

ms-access - 当我填写所有字段时,出现错误 3021 : No Curent Record

ms-access - 在 VBA 中追加查询(运行时错误 3067)

java - 登录系统并有权 Access

ms-access - 如何使用 VBA 检查保存的导入是否存在

json - 如何使用 VBA 从 url 导入 json 数据?

ms-access - 以编程方式执行 Access 2007 报告并将该报告导出为 PDF?

sql-server - 动态 SQL 未在 Access 传递查询中返回结果

mysql - 数据宏 - MySql 后端

ms-access - Access Select 查询,其中源字段基于另一列

ms-access - 慢速网络上的 MS Access 数据库 : Is it faster to separate back ends?