2013-05-25 1 views
0

이 질문은 여러 번 요청되었지만 해결 방법 중 어느 것도 내 문제를 해결하지 못합니다.MS 액세스가 추가 쿼리의 모든 레코드를 추가 할 수 없습니다.

내가 MS 액세스 2007

기본 키에 '감사 추적'라는 이름의 테이블에 행을 삽입하려고 열 '활동 없음'

는 IS 다음 내 쿼리입니다 오전 :

INSERT INTO [Audit Trail] 
([Activity No], [Project Id], [Activity Date],[Activity Location],[Activity Description],[Data Reference (File No)],[Participant Id],[Person Reporting],[Comments]) 
VALUES 
('6','SFT 2013','1/1/2014','AAA','AAA','AAA','AAA','AAA','AAA') 

Activity No 열의 데이터 유형은 Number입니다 (처음에는 자 동 번호 였지만 나중에 변경했습니다). 활동 날짜는 datetime이고 나머지는 Text입니다. 그것은 나에게

MS 액세스

Microsoft Access에서 추가 쿼리에 모든 레코드를 추가 할 수 없습니다 추가 쿼리에 모든 레코드를 추가 할 수없는 오류가 발생

. Microsoft Access는 형식 변환 실패자로 인해 필드를 Null로 설정했으며 키 위반, 잠금 위반으로 인한 레코드 0 개, 유효성 검사 규칙 위반으로 인해 레코드 1 개를 테이블에 추가하지 않았습니다. 어쨌든 쿼리를 실행 하시겠습니까?

이 테이블에는 외래 키도 없습니다. 이전에는 하나 있었지만 관계를 삭제했습니다.

그러나 테이블의 UI를 통해 동일한 값을 입력 할 수 있습니다.

+1

이 업데이트가 이루어질 때 당신이 기록의 이전 복사본을 보관하는 감사 테이블이고 당신이 할 수없는 주어진 [활동 없음] 다음 [작업 없음]에 대해 하나 개 이상의 감사 레코드를 갖고 싶어 기본 키. (테이블의 기본 키에는 중복을 포함 할 수 없습니다.) –

+0

안녕하세요,이 테이블에는 테이블의 UI를 통해 입력 한 몇 가지 레코드 만 있습니다. 기본 키에 대해 중복 값이있는 레코드를 삽입하려고하지 않습니다. –

+0

그렇다면 @HansUp에 의하면 INSERT가 성공하지 못하게 할 수있는 다른 고유 인덱스가 있는지 확인해야합니다. –

답변

1

당신이 말한 것 "활동 없음 열의 데이터 형식은 숫자이고 활동 날짜는 datetime"입니다.

그래서 당신이 [Activity No]에 삽입 수를 둘러싼 따옴표를 폐기하고 [Activity Date]에 삽입 값 주위 # 날짜 구분 기호를 사용합니다. 또한 리터럴 날짜 값에 yyyy-mm-dd 형식을 사용하는 것을 선호합니다.

INSERT INTO [Audit Trail] 
    (
     [Activity No], 
     [Project Id], 
     [Activity Date], 
     [Activity Location], 
     [Activity >Description], 
     [Data Reference (File No)], 
     [Participant Id], 
     [Person Reporting], 
     [Comments] 
    ) 
VALUES 
    (
     6, 
     'SFT 2013', 
     #2014-01-01#, 
     'AAA', 
     'AAA', 
     'AAA', 
     'AAA', 
     'AAA', 
     'AAA' 
    ) 
+0

안녕하세요, 당신이 제안한 것을 시도했지만, 여전히 같은 오류 메시지가 나타납니다. –

+1

삽입물에 여러 가지 문제가있었습니다. 나는 나에게 명백한 2를 확인했다. 값이 아직 받아 들여지지 않는 이유를 판별하려면 테이블 설계를 검토해야합니다. 예를 들어, 키 위반에 대한 불만은 하나 이상의 테이블 열에 고유 한 색인을 가질 수 있으며 INSERT 문은 이미 존재하는 값 중 하나의 사본을 추가하려고 시도한다는 것을 암시합니다. – HansUp

+0

안녕하세요, 방금 해결했습니다. 당신의 대답이 부분적으로 나를 도왔습니다. 실제로 사용되지 않는 테이블이 db에 있으며 참가자 ID는이 테이블의 외래 키입니다. 내가 제안한대로 쿼리를 수정 한 후에 만 ​​Access에 오류 메시지가 표시되었습니다. 혼란을 가져 주셔서 대단히 감사합니다. –

관련 문제