基于Web读数,我构建了一个新的ODBC连接,仔细查找可能建议促进更新的细微配置参数,但没有找到。然后我测试了新链接。
重新测试我的问题:
1)我在SQL Server 2005上创建了下表:
[TestTbl]
column1: Key Type:Integer
Column2: Name Type:varchar(5)
填充如下
Key Name
=== ====
1 Apple
2 Bear
3 Cat
2)然后在Access 2007中,使用我最新的ODBC连接创建了一个指向SQL Server表TestTbl的链接。
3)接下来使用链接成功将以下新记录插入SQL Server表并从Access 2007执行我的插入:
Key Name
=== ====
4 Dog
5 Elephant
4)最后我尝试执行以下简单的更新查询:
UPDATE dbo_TestTable SET dbo_TestTable.TestName = "CatNip"
WHERE (((dbo_TestTable.TestKey)=3));
我收到错误消息“操作必须是可更新的查询”
5)出于沮丧,我插入了另一条记录
Key Name
=== ====
6 Nonsense
然后我发布了这个问题寻求帮助。
任何人都可以解释为什么我可以在链接表中插入新记录但我无法更新现有记录吗?
答案 0 :(得分:2)
您遇到的问题是因为没有定义主键,或者在Access中链接表时未定义主键。重新添加链接表(删除并添加)并选择主键字段,在本例中为column1