|
|
|
|
|
|
* 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.
- 액세스 버전(95,97,2000,xp,2003,2007):2019
* 아래줄에 질문을 작성하세요 >>
예를들어
레코드가 1,000개인 테이블의 '순서'라는 필드에
vba를 이용해서 각각의 레코드번호를 채워(Update) 넣으려 하는데
모르겠습니다.
이유는
기본키 ID(일련번호)가 있는데, 중간중간 이가 빠져서
For~next를 이용해서 처리하는데 애로가 있습니다.
vba로 '순서' 필드에 일련번호를 입력할 수 있으면 다른방법이라도 좋습니다.
도움주십시요.
==============[강오리님 글에 대한 답변입니다]==============
1. 일련번호가 고유값의미가 없거나 관계설정이 되어 있지않은 경우
또는 기존 레코드 순서에 새로운 연번만 필요할 경우
1) 기존 일련번호 필드의 이름과 데이터형식을 숫자로 변경한 후 저장
2) 새로운 일련번호 필드(또는 새순서 필드) 를 생성
※ 추가정보
https://docs.microsoft.com/ko-kr/office/troubleshoot/access/reset-autonumber-value
2. 정렬 결과에 따라 새 연번 부여
1) 해당 테이블을 DAO를 이용하여 새순서 부여(첨부파일 참조)
Dim rs As DAO.Recordset
Set rs = Me.Form.Recordset
'Set rs = CurrentDb.OpenRecordset("SELECT * FROM 테이블 ORDER BY 정렬필드")
rs.MoveFirst
i = 1
Do
rs.Edit
rs!새순서 = i
rs.Update
rs.MoveNext
i = i + 1
Loop Until rs.EOF
Set rs = Nothing
※ For~Next 때 문제가 된다고 하셨는데 이때 ID를 이용하지 마시고 해당 구문에서 따로 순번을 매겨서 쓰시면 되지 않을까요? |
|
[불량 게시물 신고] |
|
|
|
작성일 : 2021-01-15(10:00)
최종수정일 : 2021-01-15(10:12) |
|
|
|
|