드로우홀릭 더베이직

문의 드립니다

2023.03.28 11:34:41 조회 수 2623 추천 수 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
번호 제목 글쓴이 날짜 조회 수sort
공지 FAQ: 어떤 과정을 수강하는 것이 좋을까요? 외 돌직구 2017-08-29 32001
공지 좋은 답변을 이끌어 내는 방법 [1] 돌직구 2017-07-14 28144
공지 액세스 Q/A 게시판 형식을 변경합니다. 돌직구 2014-09-10 23160
240 2007,2010,2013 어떤 버전으로 시작을 해야 할까요? 1 엉아 2015-03-10 2600
239 실무 액세스 조회폼 관련 문의 드립니다 file 4 엑스트라 2018-11-06 2595
238 같은 값 걸러내기 file 1 Audatex 2015-07-07 2580
237 각각의 앱에 리본 메뉴를 만들어 배포하는 경우 1 클로이 2019-07-09 2574
236 프린트 관련 문의 file Ssari 2018-02-01 2558
235 필드에서 중복자료처리? 1 열심 2022-08-01 2557
234 거래처정렬하는방법 3 열공액세스 2018-01-24 2548
233 이벤트 프레시저 1 머피 2018-05-10 2541
232 tfaccess 설치중 문의 드립니다. 왜 이런 메세지가 나오는지 알려주심 감사하겠습니다. file 6 평생보장 2016-02-25 2534
231 '작성자'에 '사용자 ID'대신 '성명'을 기록하게 하는 방법 4 IluvAccess 2016-01-18 2529
230 TFaccess 라이선스 관련 문의입니다. 1 니주구리 2016-11-22 2522
229 직장인을 위한 실무 액세스 책의 조회 폼을 만들었는데요... 3 상승무드 2018-01-21 2521
228 테이블형식이나 데이터시트 형식에서의 반복색상관련 file 2 수민아빠 2017-12-13 2521
227 일전에 2013 초급,중급1,2 다 수강했는데요~ 1 이영조 2017-03-24 2518
226 입력폼에서 작성자/작성일시 등의 필드 처리 1 클로이 2020-04-28 2515
225 쿼리데이터 테이블로 동기화 질문 1 해랑이아빠 2023-06-30 2514
224 큰 값을 자동으로 불러오기 관련 file 1 아싸가오리 2015-06-10 2497
223 로그온폼 만들기 강의중에 이미지가 안보입니다. file 4 키스톤 2020-11-26 2483
222 액세스 2013 관련질문을 드립니다 file 3 따시기 2015-11-26 2478
221 엑세스가 좋을지 엑셀이 더 좋을지 궁금합니다. 2 데이타벳 2016-07-26 2477


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