2010-12-09 2 views
1

웹 읽기를 기반으로 새 ODBC 연결을 구축하여 미묘한 구성 매개 변수를 찾아 업데이트를 제안했지만 아무 것도 발견되지 않았습니다. 그런 다음 새 링크를 테스트했습니다. 그런 다음 액세스 2007 년)ODBC에 연결된 테이블을 SQL Server에 액세스 할 수 있지만 삽입은 허용되지만 업데이트는 허용하지 않습니다.

Key  Name 
    ===  ==== 
    1  Apple 
    2  Bear 
    3  Cat 

2를 다음과 같이

[TestTbl] 

column1: Key  Type:Integer 
Column2: Name  Type:varchar(5) 

채워 :

내 문제를 테스트를 다시 :

1) 나는 다음과 같은 SQL Server에서 테이블 2005 생성 내 최신 ODBC 연결을 사용하여 SQL Server 테이블 TestTbl에 대한 링크를 만들었습니다.

3) 다음 성공적으로 링크를 사용하여 액세스 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의 데이터 유형입니다. –

+1

아마도 오타이지만 열은 키와 이름이지만 INSERT 문은 TestKey와 TestName을 참조합니다. –

+1

이것은 연결된 테이블입니다, 네? 기본 키를 가지고 있습니까? – Fionnuala

답변

2

정의 된 기본 키가 없거나 기본 키 액세스의 테이블을 연결할 때 정의되지 않았기 때문에 발생하는 문제가 있습니다. 연결된 테이블을 다시 추가 (삭제 및 추가)하고 기본 키 필드 (이 경우에는 column1)를 선택하십시오.

+0

이것은 정답 일 가능성이 큽니다. 앞으로 ADP 파일을 사용하는 것을 고려하십시오. –

관련 문제