여러 가지 이유로 현재 양식을 저장하기 위해 양식에 사용자 지정 단추를 설정하고 싶습니다. 나는 네비게이션 폼을 사용하고 사용자가 "저장"버튼을 누르거나 다른 폼으로 전환 할 때마다 엔트리가 저장 될 때마다 동일한 프로세스 (무결성 검사, 사용자 입력 등)를 트리거하려고합니다. 사용자는 조건부로 프로세스를 확인하도록 요청할 것이므로 프로세스도 취소 할 수 있습니다.MS Access vba 저장 단추 오류 3021
모든 하나 개 정말 이상한 성가신 제외하고 원활하게 실행한다 : 나는이 "BeforeUpdate"이벤트 내에서 메시지를 새로운 기록에 버튼을 저장하라는 메시지를 클릭 할 때마다, 나는 3021
RTE를 (수신 "현재 기록 없음")
MsgBox가 없으면 모든 것이 정상입니다. 더 이상한 점 : 네비게이션 양식을 사용하여 다른 양식으로 전환하거나 (단순히 데이터 입력에 사용되는 양식의 "외부"를 누르면) 저장 프로세스를 시작하면 모든 것이 잘됩니다.
Private Sub vt_save_Click()
Me.Dirty = False
End Sub
Private Form_BeforeUpdate(Cancel As Integer)
Cancel = True
MsgBox "Test"
End Sub
어떤 아이디어 :
여기에 최소한의 예 (DoCmd.Save, 다시 쿼리 또는 acCmdSaveRecord와 유사한 결과)입니까? 나는 그 실수에 대해 내 머리를 감쌀 수 없다.
표시 할 * 최소의 예 *는 무엇입니까? 아마도 새로운 레코드에서 실행할 수없는 'BeforeUpdate'트리거 (즉, 무결성 검사, 사용자 입력)에서 호출 된 * 다른 * 코드에서 오류가 발생할 수 있습니다. 더 많은 코드를 게시하십시오. – Parfait
BeforeUpdate 이벤트 양식을 사용한 적이 없습니다. 나는 단추 클릭 이벤트 내에서 데이터 유효성 검사를 수행합니다. – June7
@Parfait 최소한의 예는 설명 된 것과 정확히 일치합니다. 새 데이터베이스, 하나의 테이블, 하나의 양식을 만듭니다. 레코드를 만들고 데이터를 입력 한 다음 버튼을 누릅니다. Et voilá - 오류가 발생합니다. –