Access에서 양식에 기록할 변경 내용을 저장하라는 메시지를 표시하는 방법

원본 KB 번호: 197103

기본 매크로, 코딩 및 상호 운용성 기술이 필요합니다.

요약

양식에서 다음 레코드로 이동하거나 양식을 닫으면 Microsoft Access는 현재 레코드에 적용한 변경 내용을 자동으로 저장합니다. 이 문서에서는 BeforeUpdate 이벤트 프로시저를 사용하여 Microsoft Access가 계속되기 전에 저장 작업을 확인하라는 메시지를 표시하는 방법을 보여 줍니다.

Microsoft에서 제공하는 프로그래밍 예제는 예시를 위한 것일 뿐이며 이와 관련하여 명시적이거나 묵시적인 어떠한 보증도 하지 않습니다. 이는 상품성이나 특정 목적에 대한 적합성의 묵시적인 보증을 포함하며 이에 제한되지 않습니다. 이 문서에서는 예제에 사용되고 있는 프로그래밍 언어와 프로시저를 만들고 디버깅하는 데 사용되는 도구를 사용자가 잘 알고 있는 것으로 가정합니다. Microsoft 지원 엔지니어는 사용자에게 도움이 되도록 특정 프로시저에 대한 기능을 설명할 수 있지만 사용자의 특정 요구 사항에 맞도록 예제를 수정하여 추가 기능을 제공하거나 프로시저를 구성하지는 않습니다.

추가 정보

주의

이 예제의 단계를 수행하면 샘플 데이터베이스 Northwind.mdb 수정합니다. Northwind.mdb 파일을 백업하고 데이터베이스 복사본에서 다음 단계를 수행할 수 있습니다.

이 예제에서는 Customers 양식의 BeforeUpdate 이벤트 프로시저를 사용하여 Microsoft Access에서 레코드를 저장하기 전에 변경 내용을 확인하라는 메시지를 사용자에게 표시합니다.

  1. 샘플 데이터베이스 Northwind.mdb 열고 디자인 보기에서 Customers 양식을 엽니다.

  2. 폼의 BeforeUpdate 속성을 다음 이벤트 프로시저로 설정합니다.

    Private Sub Form_BeforeUpdate(Cancel As Integer)
    
     ' This procedure checks to see if the data on the form has
     ' changed. If the data has changed, the procedure prompts the
     ' user to continue with the save operation or to cancel it. Then
     ' the action that triggered the BeforeUpdate event is completed.
    
     Dim ctl As Control
    
     On Error GoTo Err_BeforeUpdate
    
     ' The Dirty property is True if the record has been changed.
     If Me.Dirty Then
       ' Prompt to confirm the save operation.
       If MsgBox("Do you want to save?", vbYesNo + vbQuestion, _
               "Save Record") = vbNo Then
          Me.Undo
       End If
     End If
    
    Exit_BeforeUpdate:
     Exit Sub
    
    Err_BeforeUpdate:
     MsgBox Err.Number & " " & Err.Description
     Resume Exit_BeforeUpdate
    End Sub
    
  3. 디버그 메뉴에서 Northwind 컴파일을 클릭합니다.

  4. 파일 메뉴에서 Northwind 저장을 클릭합니다.

  5. 파일 메뉴에서 닫기를 클릭하고 Microsoft Access로 돌아갑니다.

이제 레코드를 변경한 다음 다른 레코드로 이동하거나 양식을 닫으면 현재 레코드를 저장할지 확인하라는 메시지가 표시됩니다. 아니요를 클릭하면 레코드가 다시 설정되고 작업이 정상적으로 계속됩니다.