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

 김규경 (k3dragon)

추천:  0
파일:     조회:  863
제목:   고유레코드 속성을 설정하시고...
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

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    홍길동 123456-7890000   회사원
 2    선동렬 234567-8900000   학생
 3    홍길동 123456-7890000   회사원
 4    선동렬 234567-8900000   학생
 5    조용필 456789-1000000   무직  

상기의 테이블에서 주민번호가 중복된 데이터를 삭제한 후 아래와 같은 테이블을 만들수 없는지요.

번호 성명   주민번호 성별     직업
 1    홍길동 123456-7890000   회사원
 2    선동렬 234567-8900000   학생
 5    조용필 456789-1000000   무직

쿼리기능 마법사중 중복데이터를 검색하는 기능은 있지만 중복데이터를 삭제 기능은 없더라구요.
고수님들께서 보시기에는 아주 간단 질문이라 생각 될지 모르지만 저의 짧은 실력으로는 너무 어려운 숙제이기에 이렇게 질문 올립니다.조언 부탁드립니다.

==============[얼큰님 글에 대한 답변입니다]==============

안녕하세요.

중복된 테이블을 t1이라고 합시다.

1. t1을 ctrl+c,v 해서 복사합니다.
2. 복사할 때 구조만복사를 선택합니다. 이것을 t2라고 합시다.
3. t2의 디자인보기에서 해당 필드를 기본키로 선택합니다.
4. 쿼리창을 여시고, t1을 추가하신후 전체필드를 끌어내립니다.
5. 메뉴에서 /추가쿼리/를 선택합니다.
6. 실행합니다.

==============[한님 글에 대한 답변입니다]==============

여러 방법이 있겠지만
간단하게는....

질의를 디자인보기로 열고 속성창을 열어 
<고유레코드> 속성을 설정하시고
데시타시트보기를 하시면 단일 자료들만 보여줄겁니다.

참고> 마우스를 고유레코드 속성 입력창에 클릭한 다음
F1키를 누르면 자세한 도움말을 볼 수 있습니다.

계속해서...

원하는대로 자료가 보이는 것이 확인되면
다시 디자인 보기로 전환한 다음

질의(쿼리) 메뉴에서 테이블 작성질의를 선택하십시오.

이때 대화창이 뜨면 ....
새로 만들어 자료를 저장할 테이블이름을 적어주시면 됩니다.

그리고 나서 짙은 밤색의 느낌표 버튼을 메뉴에서 찾아 클릭.....히면
새로운 테이블이 만들어 집니다.

그리고 원본 테이블을 삭제하고
새로 만든 테이블의 이름을 바꿔주시면 됩니다.

약간 복잡하게는.....
http://k3dragon.dbabc.com에서 '중복'으로 검색을....

==============[김규경님 글에 대한 답변입니다]==============

규경형님, 고유레코드속성으로는 안될거에요. 
그게 distinct, distinctrow sql문을 쓰는것같은데, 예를 들어,

select distinct field1 from table1

이건 유일값을 토해내지만,

select distinct field1,field2 from table1

이런식으로 두개이상 필드일때는 전체 필드를 합친 값이 유일한것을 토해내므로 
field1에 대한 중복검사는 안되요. 
어느 한 필드만을 유일값으로 하면서 전체필드를 출력할 방법은 없는걸로 알고 있거든요. 
/group by/ 문도 마찬가지구요. 전에도 이런 대화를 했었는데,

http://groups.google.com/groups?hl=en&threadm=%23eCQxOnqBHA.2492%40tkmsftngp07&rnum=1&prev=/groups%3Fas_q%3Dselect%2520first%26as_uauthors%3Dhan%2520(hp4444%40kornet.net)%26hl%3Den

제가 메뉴사용을 잘모르니 혹시 방법있으면 알려주세요. 
이거 자주 쓰이는 기능이므로, 많은 연구/대화 필요할듯합니다.
==============[한님 글에 대한 답변입니다]==============

보환님 말씀..... 백번! 맞습니다.

단지 3개 필드로 구성된 테이블로 생각하고 드린 답변입니다.
번호 필드(아마도 일련번호 필드일 것인데...)는 고려치않고 드린 답변입니다.

이제 보니 번호필드가 있군요....
이런 경우는 고유레코드 대신 고유값 속성을 '예'로....

그리고
보환님 말씀처럼
여러 필드중에서 특정필드만 추려서 작업을 하는 경우는 역시 고유값으로...

얼큰님!
고유값과 고유레코드 속성에 대해서는 그리 어려운 개념이 아니므로
도움말을 보고 참고하십시오.
그리고 나머지 작업순서는 이전에 말씀드린대로.....

추가로
제트엔진에서는 성능상의 문제로 
기본으로 기본키를 설정하는 것을 요구하기 때문에
디폴트로 테이블을 만들면 고유레코드 속성을 쓸 일이 없게 됩니다.
따라서 대부분 필드를 추려 고유값으로 가져오게 되지요.....
기본키를 설정하여 사용하지 않는 경우나 다른 ISAM파일을 취급하는 경우 그리고
기타.......

그런데 질문자의 재질문에 올라오지 않는군요....
"된다고 했으니 될 것인데 왜 안되지? 내가 잘못했나?" 생각하면서...
아마도 헤매고 있지 않나 싶습니다.

죄송스럽군요.

이 댓글을 얼른 보셔야 할텐데....


그럼 ...:))
 
[불량 게시물 신고]  
        
  

작성일 : 2002-05-08(18:43)
최종수정일 : 2002-05-08(19:17)
 


 ◎ 관련글

  제 목   작성자   날짜
중복데이터를 삭제하는 방법은 없나요? 얼큰 2002-05-07
[RE]중복데이터를 삭제하는 방법은 없나요? 2002-05-07
고유레코드 속성을 설정하시고... 김규경 2002-05-07
고유레코드 속성을 설정하시고... 2002-05-08
고유레코드 속성을 설정하시고... 김규경 2002-05-08