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

작성자:  

 딸기아빠 (sdy3725)

추천:  0
파일:     조회:  81
제목:   자동으로 번호매기기를하는데 에러 발생합니다.
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

 - 액세스 버전(95,97,2000,xp,2003,2007): 2007

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

조건에 맞는 자료 검출후 오더번호에 자동으로 증가하게 입력하려고 하는데 
자꾸 에러가 발생합니다. 어떻게 수정하면 되는지 도움 부탁드립니다..


Private Sub cmd_OrderCreate_Click()
Dim strSaNo
Dim i, Record_Count As Integer

Record_Count = Me.Recordset.RecordCount
DoCmd.GoToRecord , , acFirst
For i = 1 To Record_Count
    strSaNo = DMax("오더번호", "List_작업지시서 관리대장", Right([오더번호], 6)) ' 이전오더번호중 최대값을 찾음
    If IsNull(strSaNo) Then
        Me.오더번호 = Year([txt_OrderDate]) & "-000001"    ' 등록된 오더번호가 없으면 1번을 입력
    Else
        Me.오더번호 = Year([txt_OrderDate]) & Format(Right(strSaNo, 6) + 1, "000000") ' 아니면 뒷자리 6자리의 값에 1을 더함.
    End If
DoCmd.GoToRecord , , acNext
Next i
End Sub

 
[불량 게시물 신고]  
황동준해당 년도의 strSaNo 맥스값을 구하려면 조건절이 년도를 찾아야 합니다.

strSaNo = DMax("오더번호", "List_작업지시서_관리대장", "left(오더번호,4)='" & Year(Me.txt_OrderDate) & "'")


오더번호 증가부분에는 '-' 표시를 같이 넣어주셔야 합니다.

Me.오더번호 = Year(Me.txt_OrderDate) & "-" & Format(Right(strSaNo, 6) + 1, "000000")


For 문으로 루프 돌리는 이유와 폼의 구조를 알아야 하겠지만 txt_OrderDate 라는 필드는 언바운드일 것이라는 추측을 합니다. 이는 순환문에는 적합하지 않습니다.


파일을 올리시거나 좀 더 자세한 설명이 필요합니다.
10-17 (18:40)
삭제 ■신고
        
  

작성일 : 2024-10-16(17:34)
최종수정일 : 2024-10-16(17:34)