【发布时间】:2010-12-09 03:07:34
【问题描述】:
根据 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
然后我发布了这个问题寻求帮助。
谁能解释一下为什么我可以在链接表中插入新记录但不能更新现有记录?
【问题讨论】:
-
varchar(50) 是 Column2 的数据类型
-
也许这只是一个错字,但您的列被称为 Key 和 Name 但您的 INSERT 语句引用了 TestKey 和 TestName。
-
这是一个链接表,是吗?你确定你有主键吗?
-
使用 Pass Thru Query 解决
-
检查访问数据库是否不是只读模式。
标签: sql-server ms-access ms-access-2007