나눔터  
  HOME > 나눔터 > 묻고답하기 > 액세스
액세스
액세스에 대한 질문과 답변을 올려주세요. 단, 취지에 맞지 않는 글은 운영자가 삭제합니다.
 "000 님, 도와주세요", "부탁 드립니다.", "급합니다!" 등과 같이 막연한 제목을 달지 말아주세요.
[필독] 빠르고 정확한 답변을 얻는 16가지 Tip !
[필독] 저작권법 개정에 따른 이용안내

작성자:  

 생각나름 (jsk0704)

추천:  0
파일:     InvoiceOT.mdb (380KB) 조회:  623
제목:   추가쿼리, 키 에러 좀 봐주세요
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

1. 액세스 버전(95,97,2000,2002):
2. 윈도우즈의 버전(win95,win98,winME,winNT,win2000,winXP):
3. CPU (486,PentiumI/II/III/IV...):
4. RAM (32,64,128,256,512MB,1G...): 

* 아래줄에 질문을 작성하세요 >> 

1. 다음과 같이 추가 쿼리를 실행할려고 합니다.

  - 원본테이블 : Order  
  - 대상(Target)테이블: Invoice
  - 추가 필드명 : ShipVia, Payment
  - 쿼리명 : OrderToInvoice  

2. 에러내용
  - 대상테이블 기본키(Invoice ID) 데이타 타입을 "텍스트"또는 "숫자"로 설정하면 '키' 에러 발생 
  - 그러나, 기본키를 "일련번호"로 설정하면 쿼리가 잘 수행됨

3. 기타
   도움말을 살펴보니 다음과 같이 나와있습니다.

 "대상 테이블에 기본 키가 있을 경우 기본 키 필드에 Null이 아닌 고유한 값을 추가해야 합니다."
  
   그래서, 기본키를 '텍스트'로 설정한 상태에서 기본키 필드를 Null이 않되도록 먼저 입력한 후에 쿼리를 수행해도 계속 같은 에러가 발생합니다.

Invoice 폼에 하위폼을 만들어야 되기때문에 기본키 타입을 일련번호가 아닌 Text나 숫자로 설정하고 싶습니다. 

정말 만 하루를 꼬빡 이문제로 소비했습니다만, 해결이 않되는군요...
좀 도와 주십시요!!! 

참고로, 파일을 첨부했습니다.

 
[불량 게시물 신고]  
초보맨제 생각에는 
Invoice테이블에서 InvoiceID가 기본키로 되어 있는데 추가할때 이 기본키에 값을 주지 않으므로 그런 문제가 생기게 되는 것 같습니다. 
추가쿼리는 레코드 단위로 입력하는 것이라 알고 있는데 그럼으로 미리 기본키를 입력시켜놓은 것은 소용이 없다 생각됩니다. (입력해놓은 그 다음부터 시작해서 새로운 레코드로 추가되기 때문에)

InvoiceID(기본키)를 일련번호로 해서 자동입력되게 하던지 
또는 텍스트 형식이라면 추가쿼리에서 어떤 값을 추가해주던지(자세히 파일을 보지 않았지만 기본키라면 당연히 값이 있을 것이므로)
아니면 기본키설정을 일단 해제하고 추가쿼리를 하던지 해야 할 것 같습니다.(이건 좀 이상하지만...)
10-09 (15:56)
삭제 ■신고
        
  

작성일 : 2004-10-09(05:50)
최종수정일 : 2004-10-09(05:51)