【问题标题】:data type mismatch in criteria expression in access访问中的条件表达式中的数据类型不匹配
【发布时间】:2018-01-17 01:08:11
【问题描述】:

我已将 Outlook 邮件收件箱与访问权限连接,然后创建了一个查询,我在其中编写了以下代码:

KeyID: Str(Left(Right([Contents],Len([Contents])-InStr(1,[Contents],"-")+4),10)) 

从邮件主题行获取特定字符串,这工作正常,但当我使用时

"Like ("xyz*")" 

在查询的条件部分或以KeyID为引用列与另一个表创建关系时,出现错误:

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

当我运行查询时。您的帮助将有助于解决。谢谢。

    SELECT Inbox.Subject, 
Inbox.Contents, 
Inbox.Received, 
Inbox.[Sender Name], 
Left(Right([Contents],Len([Contents])-InStr(1,[Contents],"-"‌​)+4),10) AS KeyID 
    FROM Inbox 
    WHERE (((Left(Right([Contents],Len([Contents])-InStr(1,[Contents],‌​"-")+4),10)) Like 'OMY*')) ORDER BY Inbox.Received DESC;

【问题讨论】:

  • Like 适用于文本字段。你在哪里使用它?对于计算字段KeyID 或其他非文本字段?
  • 我在 KeyID 字段中使用“Like "XYZ*""。
  • SELECT Inbox.Subject, Inbox.Contents, Inbox.Received, Inbox.[Sender Name], Left(Right([Contents],Len([Contents])-InStr(1,[Contents] ,"-")+4),10) 作为收件箱中的 KeyID WHERE (((Left(Right([Contents],Len([Contents])-InStr(1,[Contents],"-")+4), 10)) Like 'OMY*')) ORDER BY Inbox.Received DESC;
  • 请发布一些示例 Contents,因为我无法使用我自己的示例数据重现您的问题。

标签: sql ms-access


【解决方案1】:

我觉得应该是的

"Like ('xyz*')" 

【讨论】:

  • 我都试过了,不管有没有括号,这些都不起作用。有趣的是,该列是文本,如果我尝试在 Query1 KeyID 和 Query2 KeyID 的字段之间建立关系,两者都是文本,即使不使用标准(Like ("xyz*"))也会显示相同的错误。
  • 尝试使用单引号而不是像'xyz*'这样的双引号
  • 感谢大家的支持,遗憾的是不管有没有单引号还是双引号都不起作用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-12-07
  • 2017-01-14
  • 1970-01-01
  • 2016-01-18
  • 2013-10-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多