드로우홀릭 더베이직

문의 드립니다

2023.03.28 11:34:41 조회 수 2619 추천 수 0

액세스에서 여러 문자열을 합쳐서 보여주는 함수가 있는지요.

예를 들면 dateserial()같은 함수처럼 년월일을 합쳐서 보여주듯이 말입니다.

제가 접수번호가 자동으로 생성될 수 있도록 이리저리 해보고 자료를 찾아봐도

지식이 너무 일천하여 잘 모르겠습니다.

제가 생각하는 접수번호는 날짜(8자리)와 코드(3), 성별(1), 카운트(3) 해서 15자리 정도 되는데 

어떻게 해야되는지 잘 모르겠습니다.


profile

돌직구

2023.03.28 15:28:55
*.38.65.95

결론부터 말씀드리자면, 그냥 '일련번호' 데이터 형식의 필드를 사용하는 것이 정답에 가깝습니다.

접수번호에 의미를 부여하면, '동시성'을 고려해서 번호가 생성되어야 합니다.
이것을 제대로 구현하는 것은 무척 어렵기 때문입니다.

'동시성'을 고려하지 않고 번호를 생성하게 되면, PC1에서 새 접수번호를 받고, PC2에서도 새 접수번호를 받을 때, 중복되지 않은 값이 나오지 않는다고 보장하기가 쉽지 않기 때문입니다.

그럼에도 불구하고, 많은 분들이 한 대의 컴퓨터에서 처리하기 때문에 문제되지 않는다는 등의 이야기를 하면서 괜찮을 것이라고 이야기 합니다. 당장은 문제가 안 되겠습니다만, 0%의 가능성이 아니라면 반드시 일어나기 마련입니다.

 

어쨌든.. '동시성'을 고려한 것을 지금 설명드리는 것은 적절치 않습니다.
(따로 교육과정이 필요할 수도 있습니다.)

'동시성'을 고려하지 않은, 접수번호 생성 방법을 말씀드리겠습니다.
(이것도 마냥 쉽지는 않습니다.)

 

일단 몇 가지 가정이 필요합니다.

1. 테이블 이름은 '접수' 입니다.
2. 이 테이블에 '접수번호' 필드가 자동으로 생성되는 필드입니다.
3. 이 테이블에 '성별' 필드도 있습니다. (1: 남, 2: 여)

그리고 제시해 주신 조건에서 '코드'와 '카운트'의 차이를 모르겠습니다.
일단은 '카운트'가 일련번호인 것으로 가정해서 말씀드리겠습니다.
('코드'는 무시합니다.)

'카운트'를 구하려면, 직전에 사용된 '카운트' 값이 필요합니다.
그리고 '카운트' 값은 날짜와 성별마다 1부터 시작되겠죠?

직전에 사용된 '접수번호' 값 찾기 = varA = DMax("접수번호", "접수", "접수번호 LIKE '20230328-1-*'")
여기에서 '카운트' 값만 찾기 = varLast = Val(Right(varA,3))
새로운 '카운트' 값 = varNew = varLast + 1

이 계산식을 '접수' 폼의 '접수번호 만들기' 버튼의 'Click' 이벤트 프로시저로 작성합니다.

 

설명은 다 드렸는데, 이것을 자신의 예제에 적용시키는 건 또 쉽지 않을 수 있습니다.
잘 되기를 바랍니다.

지금 이 구현은 문제가 꽤 있는 구현입니다.
그냥 일련번호 사용하시는 것이 좋을 것입니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 FAQ: 어떤 과정을 수강하는 것이 좋을까요? 외 돌직구 2017-08-29 31948
공지 좋은 답변을 이끌어 내는 방법 [1] 돌직구 2017-07-14 28089
공지 액세스 Q/A 게시판 형식을 변경합니다. 돌직구 2014-09-10 23143

쿼리데이터 테이블로 동기화 질문 [1]

여러 본문의 보고서 인쇄 문의 [6]

엑세스 인쇄 과정의 문제 file [3]

엑세스 폼 작성 및 인쇄 과정의 문제 문의 [4]

교육과정중에 [1]

데이터시트 컬럼제목줄 높이 지정 방법 file [1]

쿼리 file [3]

액세스 2010 서적 [2]

액세스 강의 검색하다 찾았어요 ㅎ [4]

문의 드립니다 [1]

콤보 박스에서 특정 필드를 감추는 방법 ? (실무 액세스 실무 예제) file [3]

  • newsat
  • 2023-02-24
  • 조회 수 3893

2010 중급1 07강. 코드북 폼 만들기- nz 함수와 before update 이벤트 질문 file [2]

엑세스 용량초과 [1]

  • kgjin
  • 2023-02-16
  • 조회 수 1866

콤보상자&하위폼 file [1]

format함수 적용 관련 입니다 [3]

  • do3357
  • 2023-02-01
  • 조회 수 1235

2010 중급1 06강. 코드북 만들기 - 인덱스 질문입니다. file [3]

개발문의 [1]

오류 나오는데 왜 그런건지... file [1]

하위폼 텍스트 깨지는 문제 file [2]

  • do3357
  • 2023-01-18
  • 조회 수 12429

액세스 2021 초급 24~25강(매출주의 고객목록 구하기) 문의! file [2]



  주소  12925 경기도 하남시 미사대로 540, B동 917호 (현대지식산업센터 한강미사2차) ㈜팀데이터이십일  |  고객센터 전화번호  02-467-2998  |  대표이사  염기웅
개인정보관리책임자  염기웅 (ml_privacy@td21.com)  |  사업자등록번호  120-86-79260  |  통신판매업신고번호  제 2021-경기하남-1166 호  [사업자 정보 확인]
  TD21의 사전 서면 동의 없이 TD21 사이트 일체의 정보, 콘텐츠 및 UI 등을 상업적 목적으로 전시, 전송, 스크래핑 등 무단 사용할 수 없습니다.