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

작성자:  

 qqqq (qazz111)

추천:  1
파일:     번호.accdb (640KB) 조회:  2147
제목:   일련번호 구하기
     
  제목건 관련 문의 드립니다

테이블은 아래와 같이 생겼습니다

[날짜]      [번호]
2018-01-01   10001
2018-01-10   10022
-중략-
2018-12-01   90001
2018-12-10   90022
2018-12-15   99030
2018-12-31   99999

2019-01-01   10001
2019-01-02   10002
2019-01-03   10003
 - 중략 -
2019-01-08   10008
,
,

[문의]

폼에서 새로운 날짜가 새로 입력되면
최종날짜(년도)의 최종 번호에 +1이 된 번호가 생성되도록 구현하고
싶습니다 
상기의 경우 새로은 날짜가 입력되면 생성되는 번호는
10009가 되어야 겠지요

단, 아래 두가지 조건을 충족필요
1) 번호는 동일 연도내에서는 중복 불가, 연도가 다를 경우는 무관
2) 연도내에 번호가 99999 에 도별달하면 번호는 10000 부터 새롭게
   시작

첨부파일을 참고하셔서 구현해 주시면 고맙겠습니다
년도(날짜)별 중복 조건이 없으면
어찌 해보겠는데,,,,,어렵네요,,,
부탁드립니다
 
[불량 게시물 신고]  
황동준1번조건과 2번조건에 충돌이 있습니다. 중복불가라 하셨는데.. 99999이후 새롭게 시작하면 중복이 됩니다.

단순 일련번호 증가는 아래와 같습니다.

Private Sub 번호_GotFocus()
    If IsNull(날짜) Then
        Me.날짜.SetFocus
    Else
        If IsNull(번호) Then
            If IsNull(DMax("번호", "table", "Year([날짜])='" & Format(Me.날짜, "yyyy") & "'")) Then
                Me.번호 = "10000"
            Else
                Me.번호 = Format(DMax("번호", "table", "Year([날짜])='" & Format(Me.날짜, "yyyy") & "'") + 1, "00000")
            End If
        End If
    End If
End Sub

설사 중복이 가능하다 하더라도 현재 구성으로는 불가능합니다.
99999를 넘어서 리셋이 되었다는 정보를 저장하여야 하는데...
그럴바에야 10만번으로 가는게 맞습니다
05-22 (18:41)
삭제 ■신고
qqqq아~~ 해결하였습니다,,,고맙습니다 동준님!!!05-23 (10:34)
삭제 ■신고
        
  

작성일 : 2019-05-22(16:26)
최종수정일 : 2019-05-22(16:28)