【问题标题】:Invalid Memo, OLE, or Hyperlink Object in subquery子查询中的无效备注、OLE 或超链接对象
【发布时间】:2016-11-04 12:47:55
【问题描述】:

我尝试获取 MS Access 查询以显示我的数据集中的前 3 名运动员,基于他们的总分。总分与运动员及其信息在不同的表格中,这对我来说很困难,因为我是一个菜鸟。我得到了我认为应该可以工作的代码;

SELECT [m].ChildsName, [m].MembershipType, [r].TotalPoints
FROM [Members] AS m, [Results] AS r
WHERE ([m].[MembershipType]) In 
   (SELECT TOP 3 [m].MembershipType 
    FROM [Members], [Results]
    WHERE ChildsName = m.ChildsName
    ORDER BY [r].TotalPoints DESC, [m].MembershipType)
ORDER BY [m].ChildsName, [r].TotalPoints DESC , [m].MembershipType;

唯一的问题是它不起作用。它提出了错误: 子查询“[m].MembershipType”中的备注、OLE 或超链接对象无效

所有这些东西都是从 2 个表、成员和结果中提取的

【问题讨论】:

  • 这是您的实际代码吗?因为[mt].MembershipType 是行不通的。请贴出实际代码,这样我们就不用处理抄写的错误了。
  • 是的,您的别名应用错误,并且(必须)缺少连接。因此,使用两个单独且简单的选择查询从头开始,然后逐步构建,成功后将它们组合起来。
  • 加入? [mt] 是一个错误,但其余的是实际代码
  • 你的子查询也不能工作,因为[m][r] 没有在那里定义。而第一个ChildsName 根本不合格。

标签: sql ms-access


【解决方案1】:

备忘录数据类型现在称为“长文本”。

问题是,如果您在选择中有选择,则不能使用备注字段,因此可能会将您的字段转换为短文本。请注意,短文本不得超过 255 个字符。

【讨论】:

    猜你喜欢
    • 2012-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-12
    相关资源
    最近更新 更多