저는 액세스 2007 데이터베이스를 개발 중이며 분할보기 양식을 통해 새 레코드를 추가 할 때 문제가 발생했습니다.액세스 2007 분할 양식에 새 레코드를 만들 수 없습니다.
필드에서 우발적 인 삭제를 방지하기 위해 각 양식에 잠금 버튼을 추가했습니다 (아래 이미지 오른쪽에서 두 번째). 사용자는 편집 모드와 읽기 전용 모드 사이를 전환하려면이 버튼을 토글합니다. 기본적으로 양식은 읽기 전용 모드입니다.
버튼 클릭 이벤트에이 VBA 코드는 다음 코드를 사용하여, AllowEdits
는, AllowAdditions
이 AllowDeletions
는, 또한 '기록 삭제'및 '추가 녹화'버튼을 사용 가능한 상태로 전환 다음과 같은 속성을 전환 .
Private Sub Form_Load()
ReadOnly (True)
End Sub
Private Sub btnLock_Click()
If lblEditMode.Caption = "Edit Mode" Then
ReadOnly (True)
Else
ReadOnly (False)
End If
End Sub
Private Function ReadOnly(value As Boolean)
Dim enableState As Boolean
enableState = Not value
If Dirty Then Dirty = False
AllowEdits = enableState
AllowAdditions = enableState
AllowDeletions = enableState
BtnNew.Enabled = enableState
BtnDelete.Enabled = enableState
If enableState = False Then
lblEditMode.Caption = ""
Else
lblEditMode.Caption = "Edit Mode"
End If
End Function
원래 양식의 맨 아래에 사용자 지정 탐색 단추를 사용했지만 분리 된 양식을 사용하기 위해이 단추를 제거했습니다.
이제 양식을 편집하거나 삭제할 수 있습니다. 새 레코드를 추가 할 수 없습니다.
디자인보기를 사용하여 생각할 수있는 모든 속성을 살펴 보았지만이 문제를 일으킬만한 것을 찾지 못했습니다. 어떤 아이디어가이 원인 일 수 있습니까?
분할보기를 사용하기 위해 여러 가지 양식을 수정했으며 모두 동일한 문제로 어려움을 겪고 있습니다.
표준 매크로를 사용하는 '새로 추가'단추는 '지정한 레코드로 이동할 수 없습니다'라는 메시지를 생성합니다. 양식의 데이터 시트 부분에 하단에 삽입 가능한 선이 표시되지 않습니다. 또한 홈 리본의 '추가'버튼은 AllowAdditions
의 상태를 전환 할 때 활성화 및 비활성화 할 수 있습니다.
편집 : 분할 양식에서 단일 양식으로 양식을 변경하면 새 레코드를 추가 할 수 있습니다. 그러나 양식을 분할 된 양식으로 다시 변경하는 즉시 새 레코드를 추가 할 수 없습니다.
두 번째 양식은 하위 양식입니까? 기본 테이블/쿼리에 대한 세부 정보를 제공해 주시겠습니까? – dwo
아니요, 분할 양식입니다. 즉, 양식의 상단과 하단에 표시된 동일한 데이터입니다. 아래쪽의 DataGrid에는 많은 레코드가 표시되지만 폼의 주요 부분 (위쪽)은 DataGrid에서 선택된 레코드를 보여줍니다. 이 데이터에는 특별한 것이 없습니다. 그것은 여러 가지 유형의 일련의 필드 (문자열, 긴, 날짜, 색인 자동 증가 PK ID 필드)와 조회 테이블 (콤보 상자로 표시)의 번호입니다. – Bryan
다운로드 할 수있는 샘플/테스트 데이터베이스로 온라인에서 다운로드 할 수 있습니까? 아마도 Access 버그 일 수있는 것처럼 보입니다. 또한 UtterAccess에 게시하는 것이 좋습니다. 이 문제를 조사하는 데 관심을 가질만한 MVP가 여러 곳 있습니다. – HK1