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

问题描述 投票:0回答:4

我在SQL Server 2012(Table1)中有一个表,我创建了一个MS Access 2016数据库,然后使用系统DSN在SQL Server 2012中的qacxswpoi的MS Access中创建了一个链接表。

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

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

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

我的问题是......是否可以在MS Access 2016中使用表单,将数据源作为链接表添加到SQL Server 2012中的表并向其添加新记录? (如果是这样的话,我怎么做到这一点,因为我现在已经持续了几个小时而且无法弄明白)。

提前谢谢了。

database ms-access sql-server-2012
4个回答
1
投票

您注意到,单击链接表并查看行时可以更新值。

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

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

因此,请确保该表具有主键,请确保您可以使用SSMS添加行。如果您更改以修复此SQL表,则必须重新链接该表。

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


0
投票

这肯定是可能的;这是一种非常常见的方法。听起来您在系统DSN中用于连接到SQL Server的登录名对表没有INSERT权限。您是否可以查看权限以进行检查?


-1
投票

有类似的情况。链接的Sql Server表,Access Form前端。我可以通过表单插入/更新/删除。但是,我创建了一个复选框来实现对数据的过滤。如果未选中此框,我仍然可以编辑数据。但是,只要我选中该框以激活过滤器,我就无法再插入/更新/删除。当我取消选中该框时,我可以再次编辑数据。所以在我的情况下,问题是由于过滤器,它是通过涉及外连接和联合的VBA查询实现的。查询在激活时替换了窗体的控件源,我相信Access太复杂了,无法将其视为可更新。


-2
投票

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

以下解决方案可以为您提供基本而简单的提示:

Table1

© www.soinside.com 2019 - 2024. All rights reserved.