无法删除和更新访问链接表上的记录



我有一个名为 road.mdb 的访问数据库。在路上.mdb,我有一个链接的SQL表和
表名为学生。

我可以在 MSAccess 中使用查询设计插入记录

但我无法更新或删除

运行下面的删除查询时,错误为:无法从指定的表中删除

delete from student where studentid=303;

当我在下面运行更新查询时,错误是: 操作必须使用可更新的查询

update student set Name='BOB' where studentid= 303;

我具有对 sql 数据库的完全访问权限,并且可以使用 sql 管理工作室运行查询。是否可以在 MSaccess 中使用查询设计进行删除和更新?奇怪的是我可以在 MSaccess 中使用查询设计插入新记录

谢谢

我通过将主键添加到 SQL 表并将表重新链接到 ACCESS 来解决此问题

谢谢大家...

如果无法在 SqlServer 上操作表,则可以通过告诉 Access 哪些列是主键来解决此问题。这是在创建链接表的最后一步完成的,窗口标题是"选择唯一记录标识符"。

您会发现

以下步骤很可能会解决您的问题:

  1. 在 SQL Server 中:在正在使用的表上设置主键,并确保主键的类型为 int,而不是 bigint,因为 Access 无法正确处理 bigint 数据类型。
  2. 在 SQL Server 中:刷新表。
  3. 在 MS Access 中:重新链接表。

(之后,您可以通过向 SQL Server 表添加记录并通过 MS Access 链接表访问它来轻松检查"一切正常"。当一切正常时,从MS Access端查看数据时,您应该看不到 #Deleted。希望它有帮助;-)

就我而言,链接表只有键。 我必须将其中一个键修改为主键,然后我可以通过 DELETE 表截断截断表。

就我而言,问题是 BIT 列。 我认为当位列包含 NULL 值时会出现问题。

为了解决此问题,我删除了整个列,或者设置了默认值。

最新更新