ms访问链接表缺少主键

Posted

技术标签:

【中文标题】ms访问链接表缺少主键【英文标题】:ms access linked table missing primary key 【发布时间】:2014-11-17 20:21:17 【问题描述】:

我对 MS Access 不是很熟悉,但用户希望我们创建一个指向 SQL Server 数据库的链接,以便他通过 MS Access 连接到报告需求。我尝试在我的机器上使用 MS Access 2013 连接到数据库。我尝试了连接到外部数据源(ODBC 数据库)时提供的两个选项。导入源数据并通过链接表链接数据源。

这两个选项通过我们的 DBA 设置的只读帐户导入我想要的表,但是当我查看该表时,我注意到在 MS Access 中查看时缺少主键(列名 = Id)。我们还有一个位字段,它在 SQL Server DB 中填充为 0 或 1,在 MS Access 中的行改为 -1。

我尝试使用 Sql Server Management Studio 连接到数据库,使用只读帐户,我可以看到主键以及位字段。

任何想法我可能做错了什么,以便能够在 MS Access 中正确查看主键和位字段。

【问题讨论】:

【参考方案1】:

关于为什么 TRUE 表示为 -1 的第二个问题之前已被问过。它与 BASIC 中使用的约定相同。 TRUE 等于 NOT FALSE。如果 FALSE 用 16 位的 0 表示,如果 NOT 是按位补码,则 TRUE 用 16 位设置为 1 表示。

16 位设置为 1,采用二进制补码表示法,等于减一。

【讨论】:

【参考方案2】:

如果 ID 列是 Int(整数),那么它应该可以正常工作,但如果不是,它可能与 Microsoft Access 不兼容。

如果您进入表格设计选择字段并单击底部窗格中的查找选项卡,则可以将位列设置为使用复选框。但是,如果您重新链接表格,此设置将不会保留。

【讨论】:

其实是使用了用户定义类型,映射到一个int。也许那是把它扔掉了。 我能够找到用户定义类型问题的修复程序:***.com/questions/6870320/… 和 fishandgame.idaho.gov/ifwis/portal/blog/…

以上是关于ms访问链接表缺少主键的主要内容,如果未能解决你的问题,请参考以下文章

从 MS Access 链接 Oracle 视图时可以指定主键吗?

MS Access 主键自动编号变得混乱

MS Access:来自 SQL Server 的只读链接表?

MS Access 链接到 SQL 服务器视图

将链接表用于 Excel 文档时的 ms 访问数据类型问题

MS Access JOIN 访问表与 SQL Server 表