gpt4 book ai didi

sql - 为什么我的 Access 2007 查询会突然变得不可更新?

转载 作者:行者123 更新时间:2023-12-02 05:38:47 25 4
gpt4 key购买 nike

我在 Access 2007 中有一个查询。几个月来它工作正常,但我突然收到“记录集不可更新”错误。认为错误一定是由最近的更改引起的,我回到了存档版本(definitley 有效)——它们都抛出了同样的错误。表本身是可更新的;事实上,对同一张表的另一个查询工作得很好。突然间发生了什么打破了我的查询?代码如下:

    SELECT Prospects.Company, Contactnames.*, IIf([Prospects]![Key Contact]=[ContactID],True,False) AS [Key Contact], Prospects.Status
FROM Contactnames INNER JOIN Prospects ON Contactnames.CompanyID=Prospects.ID
WHERE (((Prospects.Status) Not Like "Duplicate"));

如有任何帮助,我们将不胜感激。谢谢,奥利。

最佳答案

如果您正在使用链接的 ODBC 表,并且希望查询可更新,则需要在查询中包含所有表的主键字段。以下是一些潜在的“陷阱”:

  • Access 可能无法正确识别链接的 ODBC 表中的主键字段; Access 经常(总是?)选择它为表找到的第一个唯一索引(基于索引名称的字母顺序)并假定该索引是主键
  • 向 MS SQL Server(可能还有其他 RDBMS)中的表添加复制将添加一个具有唯一索引的 GUID 列;连同上述一点,这可能会导致 Access 认为您的链接表具有与实际不同的主键
  • 对 ODBC 链接表的设计所做的更改不会自动反射(reflect)在 Access 中;链接的 ODBC 表可以通过工具 --> 数据库实用程序 --> 链接表管理器...(以及其他方式)刷新

关于sql - 为什么我的 Access 2007 查询会突然变得不可更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11294807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com