MS Access链接表到SQL Server更新记录

问题描述:

我在SQL Server 2012中有一个表(Table1),并且我创建了MS Access 2016数据库,然后在MS Access中创建一个链接表到Table1 SQL Server 2012中使用系统DSN。MS Access链接表到SQL Server更新记录

这工作正常,我可以在MS Access 2016中打开链接的表1查看列并更新值。然后,我在MS Access 2016中创建了一个表单,将表1中的列添加到表单中,我可以看到数据正常。

我遇到的问题是添加新记录的选项变灰,无论我尝试什么,我都无法使用表单向Table1添加新记录。

如果我在MS Access 2016中创建一个标准(而不是链接表),并将列添加到窗体而不是链接表1中的列,则可以使用添加新记录图标。

我的问题是...是否有可能在MS Access 2016中使用表单,将数据源作为链接表添加到SQL Server 2012中的表中并向其添加新记录? (如果是这样,我该如何实现这一点,因为我现在已经这么几个小时,并且无法弄清楚)。

非常感谢提前。

+0

感谢您的所有建议。如果我打开链接表,我可以添加一条新记录,并且它出现在链接的MS Access和Sql Server表中就好了。当我尝试在MS Access窗体中添加一个新条目时,添加新记录仍然呈灰色。 Sql Server表有一个主键,并且已正确配置(我已经是Sql Server开发人员/ DBA已有15年了,并且多年来也构建了许多MS Access应用程序,只是从不使用链接表)。 –

+0

你有'AllowAdditions'设置为否在表单属性? – GavinP

这当然是可以的;这是一种非常普遍的做法。这听起来像您在System DSN中用于连接到SQL Server的登录名在表上没有INSERT权限。你能查看权限来检查吗?

自动插入/更新不适用于链接数据库。你需要在你的界面后面编写一个VBA代码。

以下解决方案可以给你一个基本的,简单的抬起头:

Inserting into SQL Server using MS Access

+1

不正确 - 访问使用链接表和插入新行20年没有问题。所以是自动插入表单或编辑Access中的链接表就好了。 –

您注意,当您点击链接表和视图中的行,你可以更新值。

您可以在使用该链接表时添加行吗?如果你不能,那么使用SQL Management Studio打开表并尝试添加行?

如果您在SQL Server中没有设置或增加主键的正确(或任何)设置,则无法添加行(在此上下文中为自动)。

因此,确保表中有一个主键,确保您可以使用SSMS添加行。如果您修改了此SQL表,那么您必须重新链接表。

我建议你在SQL表中创建一个主键,并使其成为一个增量为1的标识列。