회원관리 db를 만들고 있습니다.
회원정보수정을 위한 폼을 만들고 있는데요,
이전, 다음, 저장, 실행취소정도의 버튼을 넣으려고 합니다.
다음은 다음레코드를 보여주는 버튼입니다. 변경사항을 입력하고 다음을 누르면 저장할 것인지 안 할 것인지 묻는 창이 떠서 yes no로 선택을 하게 하려 합니다.
폼 속성에서 AfterUpdate에서 코드 작성기를 통해 다음과 같은 코드를 입력하였습니다.
Private Sub Form_AfterUpdate()
On Err GoTo Form_Up_Err
Dim Msg, Styel, Title, Help, Ctxt, Response, MyString
Msg = "Save or Not?"
Style = vbYesNo + vbCritical + vbDefaultButton2
Title = "Warning!"
Response = MsgBox(Msg, Style, Title)
If Response = vbYes Then
DoCmd.DoMenuItem acFormMenuBar, acRecordsMenu, acSaveRecord, , acMenuVer70
Else
DoCmd.DoMenuItem acFormMenuBar, acEditMenu, acUndo, , acMenuVer70
End If
Form_Up_Err:
Exit Sub
End Sub
이 코드를 이용하여 폼에서 데이터를 변경하고 다음 버튼을 누르면 Save or Not 이라는 경고창이 뜨게 됩니다.
그 후 Yes를 누르면 별 문제 없이 진행되지만, No를 누르면 다음과 같은 경고창이 뜹니다. 경고창은 떠 있지만, 변경된 데이터는 변경 전으로 돌아와 있습니다.
확인을 누르고 다시 다음 버튼을 누르면 다음 그림처럼 2046 런타임 오류가 발생했다고 뜨네요.
종료를 누르면 그냥 다음 레코드로 넘어갑니다. 디버그를 누르면
DoCmd.DoMenuItem acFormMenuBar, acEditMenu, acUndo, , acMenuVer70
저 위치에 문제가 있다고 하네요.
어떤게 문제인지 해결은 어떻게 해야 하는지 알려주시면 감사하겠습니다.