无法加入备忘录、OLE 或超链接对象
Posted
技术标签:
【中文标题】无法加入备忘录、OLE 或超链接对象【英文标题】:Cannot join on Memo, OLE, or Hyperlink Object 【发布时间】:2015-06-18 16:59:18 【问题描述】:我在 Access 数据库中有一个基本表。在该表中,我有一个存储为长文本的 10 位数字字段(前导零很重要)。我从表中的该字段中提取了唯一值,并创建了一个具有相同长文本数据类型的新表/字段。当我尝试将该字段连接回原始表时,我收到错误:无法加入备注、OLE 或超链接对象。是否有解决此问题的方法,或者我需要解决的已知问题?
【问题讨论】:
这应该被标记为 mysql 吗?对我来说似乎是一个访问问题 考虑更改新表中列的数据类型以匹配第一个中的列数据类型 短文本字段将接受 10 位数的字符串,并支持JOIN
而不会出现该投诉。
HansUp 所说的。 10 位字符串的 Longtext 类型完全是多余的。
更改为短文本解决了这个问题。谢谢!
【参考方案1】:
改用 ANSI JOIN。它对我有用
SELECT A.A, B.B, C.C
FROM aaa AS A, bbb AS B, ccc AS C
WHERE A.B = B.ID
AND B.C = C.ID
【讨论】:
【参考方案2】:尝试将存储为长文本的 10 位数字字段转换为短文本。长文本用于备忘,这就是您收到此错误的原因。
由于在本地 msAccess 表上左连接 msSQLserver 表视图,我遇到了同样的错误,SQLserver 表中的字段数据类型是 nvarchar(80000),并且在链接到 msAcces 时自动转换为 Memo 数据类型,所以我必须转换它从 SQLserver 到 nvarchar(25) 并刷新表链接以解决问题。
【讨论】:
事实证明,Memo 是旧版本 Access 中长文本的名称。似乎错误消息中的名称尚未更新,因此这些天错误如此令人困惑。【参考方案3】:Access 不允许基于长文本字段的联接。这就是它所指的“备忘录”。我认为微软的理由是基于一段文本的加入是不合理的。
更多:https://kb.tableau.com/articles/issue/error-cannot-join-on-memo-ole-or-hyperlink-object-when-joining-access-tables
【讨论】:
【参考方案4】:您只需将长文本转换为短文本,连接就可以工作
【讨论】:
【参考方案5】:将其切换为短文本,然后不要忘记点击刷新链接或重新导入表格然后尝试加入,它应该可以工作。 MEMO 是 Access 在以前的版本中使用的术语,但他们没有更新显示的错误语句。
【讨论】:
以上是关于无法加入备忘录、OLE 或超链接对象的主要内容,如果未能解决你的问题,请参考以下文章
无法加入备注、OLE 或超链接对象 - Access 2007 - 外部联接
XtraGrid Suite - 有没有办法向单元格添加按钮或超链接?
点击按钮(或超链接)如何跳转到另外一个页面并执行目标页面的js函数
如何使用 sencha touch 2 中的按钮或超链接在轮播项目之间切换?
从子记录(或超链接)获取数据以在 netsuite 高级 html pdf 中打印
无法为链接服务器“(null)”初始化 OLE DB 提供程序“Microsoft.Jet.OLEDB.4.0”的数据源对象