보고서에 레코드가 없는 경우 인쇄 취소

기본적으로 레코드가 없는 보고서를 인쇄할 수 있습니다. 이 문제를 해결하려면 매크로 또는 VBA(Microsoft Visual Basic for Applications) 코드를 사용하여 보고서에 레코드가 없는 경우를 검색한 다음 인쇄 작업을 취소할 수 있습니다. 이 문서의 단계는 두 기술을 모두 사용하는 방법을 설명합니다.

실행할 작업

레코드가 포함되지 않은 경우 보고서 인쇄를 취소할 수 있습니다. 예를 들어 새 제품을 판매하기 시작하면 아직 판매를 등록하지 않은 기간이 있을 수 있습니다. 따라서 보고서 중 일부에 세부 정보 레코드가 포함되지 않을 수 있으며 Count 함수와 같은 집계 함수가 계산할 필요가 없는 경우를 고려해야 합니다. 이러한 발생을 상당하게 처리하기 위해 인쇄 작업을 취소하는 매크로를 만들 수 있습니다. 또한 동일한 작업을 위해 신중하게 배치된 몇 줄의 VBA 코드를 추가할 수도 있습니다. VBA는 VBA가 사용하는 Access 언어입니다.

보고서의 On No Data 이벤트 프로시저에 매크로 또는 VBA 코드를 추가합니다. Access 레코드가 없는 보고서를 실행할 때마다 데이터 없음 이벤트를 트리거합니다. 이 문서에 설명된 매크로 및 VBA 코드는 적절한 메시지를 표시하고 해당 보고서에 데이터가 없는 경우 보고서의 인쇄를 취소합니다. 데이터 없음 이벤트 프로시저에 매크로 또는 VBA 코드를 추가하면 레코드가 없는 보고서를 열 때마다 매크로 또는 VBA 코드가 실행됩니다. 확인을 클릭하여 경고 메시지를 닫을 때 매크로도 빈 보고서를 닫습니다. 보고서에 매크로 또는 VBA 코드를 추가하면 보고서 보기 또는 레이아웃 보기에 표시하려고 할 때 빈 보고서가 열리지 않지만 디자인 보기에서 보고서를 열 수 있습니다.

매크로를 사용하여 인쇄 취소

이 섹션에 설명된 매크로는 빈 보고서를 인쇄하려고 할 때 경고 메시지가 표시됩니다. 확인을 클릭하여 메시지 상자를 닫은 경우 매크로가 인쇄 작업을 자동으로 취소합니다. 경고 메시지를 포함하지 않는 경우 보고서를 인쇄하려고 할 때 아무 일도 일어나지 않는 것 같습니다. 보고서의 사용자를 혼동할 수 있습니다.

매크로 만들기

  1. 탐색 창에서 변경할 보고서를 마우스 오른쪽 단추로 클릭하고 디자인 보기를 클릭합니다.

  2. 디자인 탭의 표시/숨기기 그룹에서 속성 시트를 클릭합니다.

    -또는-

    지역 및 언어 설정에 따라 보고서의 왼쪽 위 또는 오른쪽 모서리에 있는 상자를 두 번 클릭합니다.

  3. 이벤트 탭을 클릭하고 데이터 없음 속성 상자에서 를 작성기 단추 .

    작성기 선택 대화 상자가 나타납니다.

  4. 매크로 작성기를 클릭한 다음 확인 을 클릭합니다.

    매크로 디자이너가 시작하고 빈 매크로를 표시합니다.

  5. 매크로 디자인 창의 매크로 작업 드롭다운 목록에서 목록에서 MessageBox를 선택합니다.

  6. 메시지 상자에 경고 메시지의 텍스트를 입력합니다.

    예를 들어 보고할 레코드가 없습니다.

  7. 선택적으로 경고음 상자의 인수 값을 예에서 아니요로 변경하고 유형 목록에서 경고 메시지에 표시하려는 아이콘 유형을 선택합니다.

  8. 제목 상자에 경고 메시지의 제목을 입력합니다.

    예를 들어 레코드 없음 을 입력할 수 있습니다.

  9. MessageBox 작업 아래의 매크로 작업의 드롭다운 목록을 선택한 다음 CancelEvent 를 선택합니다.

  10. 디자인 탭의 닫기 그룹에서 저장을 클릭합니다.

  11. 디자인 탭의 닫기 그룹에서 닫기를 클릭합니다. 경고 메시지가 나타나고 변경 내용을 매크로 및 보고서 속성에 저장할지 묻는 메시지가 표시될 경우 예,보고서를 닫고, 메시지가 표시될 경우 변경 내용을 저장하고 다음 단계를 계속하여 테스트합니다.

매크로 테스트

  • 탐색 창에서 매크로가 포함된 보고서를 마우스 오른쪽 단추로 클릭하고 인쇄를 클릭합니다. 선택한 옵션에 따라 Access에 경고 메시지가 표시됩니다.

    확인을 클릭하여 메시지를 닫을 때 CancelEvent 작업이 인쇄 작업을 중지합니다. 다른 이벤트(예: 보기를 위해 보고서를 여는 등)를 지정하지 않은 경우 보고서가 닫히게 됩니다.

맨 위로 이동

VBA 코드를 사용하여 인쇄 취소

여기에 설명된 VBA 코드는 이전 섹션에서 설명한 매크로와 매우 동일합니다. 빈 보고서를 열 때 경고 메시지가 표시되고 경고 메시지를 닫을 때 인쇄 작업을 취소합니다.

VBA 코드 추가

  1. 탐색 창에서 변경할 보고서를 마우스 오른쪽 단추로 클릭하고 디자인 보기를 클릭합니다.

    참고: 이 절차를 완료하기 위해 레코드가 없는 보고서를 사용합니다.

  2. 디자인 탭의 표시/숨기기 그룹에서 속성 시트를 클릭합니다.

    -또는-

    지역 및 언어 설정에 따라 보고서의 왼쪽 위 또는 오른쪽 모서리에 있는 상자를 두 번 클릭합니다.

  3. 이벤트 탭을 클릭하고 데이터 없음 속성 상자에서 를 작성기 단추 .

    작성기 선택 대화 상자가 나타납니다.

  4. 코드 작성기를 클릭한 다음 확인 을 클릭합니다.

    편집기 Visual Basic 시작하고 빈 이벤트 프로시저를 표시합니다.

  5. 다음 코드를 Visual Basic 편집기에서 입력하여 Report_NoData 프로시저가 완료된 경우와 정확히 동일하게 표시됩니다.

    Private Sub Report_NoData (Cancel As Integer)
    MsgBox "There are no records to report", vbExclamation, "No Records"
    Cancel = True
    End Sub
  6. 완료되면 파일 클릭한 다음 저장을 클릭합니다.

  7. 파일 클릭한 다음 닫기 및 Microsoft Access로 돌아가기 를 클릭합니다.

  8. 열려 있는 보고서를 닫은 다음 예를 클릭하여 저장을 확정합니다.

  9. 탐색 창에서 방금 변경한 보고서를 마우스 오른쪽 단추로 클릭하고 인쇄를 클릭합니다. 선택한 옵션에 따라 Access에 경고 메시지가 표시됩니다.

Report_NoData 프로시저는 MsgBox 함수를 사용하여 메시지를 보고할 레코드가 없음 및 확인 단추를 표시합니다. 확인을 클릭하면프로시저의 "Cancel=True" 줄이 Access에 보고서를 취소할 수 있도록 지시합니다. 취소는 이벤트 프로시저에 자동으로 전달되며 이벤트 프로시저가 완료되면 Access에서 항상 검사되는 인수입니다.

맨 위로 이동

추가 도움이 필요하신가요?

Office 기술 확장
교육 살펴보기
새로운 기능 우선 가져오기
Office Insider 참여

이 정보가 유용한가요?

×