드로우홀릭 더베이직

중복프린팅 안되는 코딩문의 드립니다.

2025.04.02 11:15:19 조회 수 240 추천 수 0

안녕하십니까? 바코드출력관련 문의드립니다.  

현재 10자리미만은 프린팅이 안되게 사용중이고,  중복프린팅 방지 코딩을 추가하고 싶은데 어디에, 어떻게 추가해야할지 몰라서 문의드립니다.  

*10자리미만 운송장번호는 출력방지+ 한번출력된 운송장번호는 오류메시지 표시후 출력방지 를 하고싶습니다. 


profile

돌직구

2025.04.02 12:53:59
*.38.65.95

질문이, 게시판에서 답변드리기는 쉽지 않은 수준이네요.

죄송합니다만, 개념 정도만 말씀드리겠습니다.

1. 일단 화면 자체는 아주 간단합니다. 첨부한 파일에 보면 '바코드재출력' 이라는 화면이 있네요.

2. '중복프린팅 방지'의 정의: 한 번 출력된 운송장번호는 오류메시지 표시 후 출력방지한다.

3. 일단 컴퓨터가 '한 번 출력된 운송장'을 인식해야 겠습니다. 이것은 '바코드' 테이블에 '출력여부' 필드를 두고, 출력이 되면 '출력여부' 필드에 'Yes' 값을 기록하게 해 두면 됩니다.

4. '바코드재출력' 폼에서, 사용자가 '운송장번호'를 입력하면, 다음 작업을 수행하게 하면 됩니다.
    '바코드' 테이블의 '출력여부' 필드가 'Yes'라면 --> 사용자에게 메시지 표시
    '바코드' 테이블의 '출력여부' 필드가 'No'라면 --> 바코드 출력, 그리고 '바코드' 테이블에 '출력여부' 필드값을 'Yes'로 업데이트

그런데, 바코드가 실제로 출력이 되었는지의 문제가 있을 수 있겠죠.
출력 명령을 내렸는데, 프린터에서 종이가 끼어서 출력이 되지 않았던지 하는 문제 말씀입니다.
(그 외에도 여러 문제가 있을 수 있을 겁니다.)

이럴 때에는 '출력여부'가 'Yes'라고 하더라도, 강제로 출력할 수 있도록 해야겠죠.
예를 들어, 두 번 연속 같은 운송장번호를 입력하면, 첫 번째는 출력이 안되게 하고, 두 번째는 사용자에게 물어보고 출력하게 한다던지 하는 것 말씀입니다.

혹은 '바코드재출력' 화면에 '중복체크 안함' 이라는 체크박스를 하나 두고, 거기에 체크한 다음 출력할 때에는 '중복체크'를 하지 않고 출력이 되게 한다던지 하는 기능으로 만들 수도 있겠구요.

 

대략 개념은 설명드렸으니, 일단 고민해 보시고..
하실 수 있는 부분은 하시고, 좀 더 적은 범위에서 질문해 주시면 또 답변 드리겠습니다.

맥스21

2025.04.02 15:33:18
*.154.25.149

감사합니다. 좀 더 생각해봐야겠습니다. 

맥스21

2025.04.03 10:39:55
*.154.25.149

안녕하세요?

프린팅되면 테이블 출력여부를 업데이트하도록 수정했는데  잘 안됩니다. 

1. 최초 출력시 업데이트가 안되고 다음출력시 업데이트됨

2. if 문으로 중복출력 방지조건을 해놨는데 작동이 안됨 

 

어느부분을 수정해야할지 검토해주시면 감사하겠습니다,     

첨부
profile

돌직구

2025.04.03 11:55:39
*.38.65.95

지금 코드가 다음과 같이 되어 있습니다.

-----------------------------

Private Sub Text0_AfterUpdate()

Dim chklen As Integer

On Error Resume Next


chklen = Len(운송장번호)

If chklen < 10 Then
MsgBox "운송장번호는 12자리 입니다!!!", vbCritical, "오류"
Text0.SetFocus

Else
DoCmd.OpenReport "바코드출력 report", acViewNormal, , "[운송장번호]=[Forms]![바코드재출력]![text0]"
CurrentDb.Execute "update 바코드 set 출력여부 = true"

If 출력여부 = True Then
MsgBox "이미 출력된 운송장번호입니다!!!", vbCritical, "오류"
Text0.SetFocus

End If

End If

DoCmd.GoToRecord , , acNext

End Sub

-----------------------------

 

폼은 입력폼이고요.

그러니까 입력하면 실제 테이블에 저장이 되어 버립니다.

그리고 위 코드에 보면, 일단 출력한 다음에 '출력여부'를 체크합니다.
그러니까 '최초 출력시 업데이트가 안되고..' 이런 말씀을 하시는 것이죠.

 

이 문제를 해결하려면, 다음과 같은 작업을 하셔야 합니다.

1. 폼을 '언바운드 폼'으로 해야 합니다. 폼에 입력한 값이, 바로 DB로 입력되어서는 안됩니다.

2. 위 코드는 '출력' 한 다음에 출력여부를 체크합니다. 출력하기 전에 출력여부를 체크해야 하죠.

3. 전체적인 로직은 다음과 같습니다.

1) 언바운드 폼에서, 입력받은 운송장번호가 이미 출력된 적이 있는지 확인합니다.
2) 출력된 적이 있으면 오류 메시지를 표시하고 종료합니다.
3) 출력된 적이 없으면, 테이블에 데이터를 추가하고 출력합니다.

핵심은 '언바운드 폼' 입니다. 관련해서 공부해 보시고, 또 궁금한 점이 있으면 질문해 보십시오.

맥스21

2025.04.03 17:22:22
*.248.117.87

알겠습니다. 감사드립니다.   

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 FAQ: 어떤 과정을 수강하는 것이 좋을까요? 외 돌직구 2017-08-29 54453
공지 좋은 답변을 이끌어 내는 방법 [1] 돌직구 2017-07-14 45593
공지 액세스 Q/A 게시판 형식을 변경합니다. 돌직구 2014-09-10 43788
531 실무 액세스 매입 매출 ..... file 4 skier 2025-04-17 20
530 실무 액세스 매입 매출 ..... 4 skier 2025-04-16 15
» 중복프린팅 안되는 코딩문의 드립니다. file 5 맥스21 2025-04-02 240
528 온라인 수강 8 skier 2025-02-18 482
527 폼에서 쿼리시 테이블데이터 변경안돤는 방법 있는지 궁금합니다. file 2 맥스21 2024-10-09 2798
526 chapter 3(section4-5) 고객별 지점별 판매현황 구하기 &혼자 해보기 1 Ericsson 2024-08-29 2037
525 Section 9-9 '비용보고' 폼 만들기 file 1 Ericsson 2024-08-06 7873
524 Section 9-5 영수증 테이블 만들기 관련 질문 2 Ericsson 2024-08-05 510
523 Section6-11 메크로 작성 관련 질문 2 Ericsson 2024-08-01 979
522 Chapter5 웹 앱 알아보기 file 3 Ericsson 2024-07-22 1553
521 필드에 값 입력시 단일값이 아닌 N차원 배열인 경우 4 Piesun 2024-05-01 5413
520 Section4-3.기본키 특성 파악하기 3 Ericsson 2024-04-23 6352
519 실무 액세스3_ 2강 업로드 서식 다운로드 버그발생 해결방법? file 3 창원바우 2024-04-13 2258
518 모듈설치후 디버그결과 컴파일 오류 에러메시지가 나오는데 해결방법? file 4 창원바우 2024-04-12 3489
517 VBA 환경설정 실습 첫 단계에서 에러 메시지가 나왔습니다 file 2 창원바우 2024-04-10 3606
516 액세스 2021 초급 13강 차트에 필터 기능 넣기 에러 질문 file 3 창원바우 2024-03-26 1798
515 쿼리를 만드는데 별표에 대해 요약을 계산할 수 없습니다라는 에러메시지 file 2 바우 2024-03-15 7379
514 화면데이타 초기화 버튼 명령어 문의드립니다. file 2 맥스21 2024-03-08 2197
513 엑세스 2013 무작정 다라하기 (비용보고 앱 만들기 질문) file 1 Ericsson 2024-03-06 3939
512 엑세스에서 커서깜박임 등 속성변경이 가능한지 문의드립니다. 1 맥스21 2024-03-05 3715


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