为链接到 Access 前端的 SQL Server 视图设置主键

Posted

技术标签:

【中文标题】为链接到 Access 前端的 SQL Server 视图设置主键【英文标题】:Setting primary key for SQL Server view linked to Access front end 【发布时间】:2018-03-04 15:25:50 【问题描述】:

我有一个链接到 Access 前端的 SQL Server 视图。该视图可在 SQL Server Management Studio 中更新,但当前不可通过 Access 更新。经过一番研究,似乎我可能需要在 Access 中为视图指定主键,以便 Access 能够修改视图中的记录。

我遇到了这个

How to set primary key when linking with CreateTableDef

在响应中显示了设置主键的几种不同方法。这两种方法如下:

CurrentDb.Execute "CREATE UNIQUE INDEX SomeIndex ON vwMyView (PrimaryKeyColumn) WITH PRIMARY".

CREATE INDEX <YourIndexName> ON <YourTableName>(<YourFieldName>) WITH PRIMARY

我对“索引”和“字段”/“列”名称的不同规范感到困惑。如果在我的视图中我想成为主键的列是 myID,它是否被指定为索引或字段,或两者都指定?如果不是两者,其他名称是什么?

第一种方法末尾的句号是错字吗?我以前没见过。

【问题讨论】:

你都试过了吗?发生了什么? 我无法尝试它们,因为我不知道为索引和字段/列指定什么。因此提出了这个问题。 对不起,我想你的意思是我尝试将两者都指定为 myID。不,我没有。我是新手,不完全确定执行随机命令是否会设置一些我不知道如何撤消的东西。所以等待更多信息。 你写了“......是否被指定为索引或字段,或两者兼而有之?”所以你应该在问之前尝试这些事情。如果您不知道如何撤消某些操作,那么您将面临比创建索引更大的问题,因为在尝试陌生人在 *** 上为您提供的解决方案之前,您应该得到适当的备份。 【参考方案1】:
CREATE INDEX <YourIndexName> ON <YourTableName>(<YourColumnName>) WITH PRIMARY

&lt;YourIndexName&gt; = 您想要的任何名称,Access 都会使用此名称

&lt;YourTableName&gt; = Access 中表的名称

&lt;YourColumnName&gt; = 表中列的名称

【讨论】:

做到了!我们的视图现在可以在 Access 中更新。

以上是关于为链接到 Access 前端的 SQL Server 视图设置主键的主要内容,如果未能解决你的问题,请参考以下文章

如何将 sql server 链接到 Microsoft Access?

MS-Access/SQL 拆分:如果我将其移动到不同的文件夹,前端安全性会发生变化

将 Access 链接从 SQL Server 更改为另一个 Access 文件?

SQL Server 2008r2 <--> 前端 MS Access 的最佳版本

多个 MS Access 前端连接到单个远程 SQL Server 后端

连接到sql server的access前端输入图片