2010-12-09 35 views
1

基於Web讀取,我構建了一個新的ODBC連接,仔細查找可能會提示更新的細微配置參數,但沒有找到。然後我測試了新的鏈接。訪問ODBC到SQL Server的鏈接表允許插入但不更新

重新測試我的問題:

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)接下來使用鏈接和Access 2007中執行我插入成功插入下面的新記錄到SQL Server表:

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

varchar(50)是Column2的數據類型 – 2010-12-09 03:10:55

+1

也許這只是一個錯字,但是您的列被稱爲Key和Name,但是您的INSERT語句引用TestKey和TestName。 – 2010-12-09 03:30:51

回答

2

您遇到的問題是因爲沒有定義主鍵,或者您在Access中鏈接表時沒有定義主鍵。重新添加鏈接表(刪除並添加)並選擇一個主鍵字段,在這種情況下,列1

相關問題