MS Access - 条件表达式中的数据类型不匹配

Posted

技术标签:

【中文标题】MS Access - 条件表达式中的数据类型不匹配【英文标题】:MS Access - data type mismatch in the criteria expression 【发布时间】:2015-11-01 15:13:41 【问题描述】:

我正在尝试在表单中创建级联条目,但在条件表达式中发现数据类型不匹配。

我有一个 DeviceManufacturer_Table 表,它有一个 ManufacturerName 列和一个 Helpfiles 超链接列。 然后,我有一个表 DeviceProductName_Table,其中包含设备制造商的查找列,然后我希望下一列自动填充帮助文件超链接。我已经从 DeviceProductName_Table 和 我已尝试以下方法,但无法正常工作-

Helpfiles = DLookup("HelpFiles","DeviceManufacturer_Table","Manufacturer =" & Manufacturer)

我认为可能是 DeviceProductName_Table 中制造商的查找字段自动设置为数字,而 DeviceManufacturer_Table 中的制造商字段是短文本,但我已尝试删除关系并将数据类型设置为短文本,但我仍然遇到同样的错误?

【问题讨论】:

抱歉,这个问题只是一个错字,表名周围有引号。 使用此 SQL 创建一个新查询:SELECT HelpFiles FROM DeviceManufacturer_Table WHERE Manufacturer = 5。这个查询有效吗?如果没有,查询编辑器应该会提示您为什么不这样做。 【参考方案1】:

Manufacturer 很可能是一个字符串,因此:

Helpfiles = DLookup("HelpFiles","DeviceManufacturer_Table","Manufacturer ='" & Manufacturer & "'")

【讨论】:

如上所示粘贴没有任何反应,如果我删除制造商 = 后的单引号,我会收到“字符串查询表达式'制造商 = 5”中的语法错误。我测试它的制造商是记录 ID -5。 如果我将制造商名称更改为 DeviceManufacturers_Table 中的主键,Helpfiles = DLookup("HelpFiles","DeviceManufacturer_Table","Manufacturer ='" & Manufacturer & "'") 有效。感谢您的帮助。 您应该始终将自动编号作为主键。也许您只是没有制造商的唯一索引。

以上是关于MS Access - 条件表达式中的数据类型不匹配的主要内容,如果未能解决你的问题,请参考以下文章

使用 MS Access 的 C# 标准表达式中的数据类型不匹配?

条件表达式 Oledb Access 数据库中的数据类型不匹配

尝试插入 Access 数据库时,条件表达式中的数据类型不匹配错误

条件表达式中的数据类型不匹配 (Access DB)

C# Access OleDb 条件表达式中的数据类型不匹配

“条件表达式中的数据类型不匹配”错误将日期插入 Access 数据库中的日期/时间字段