2011-03-04 7 views
0

2 개의 양식으로 구성된 작은 Access 2003 DB를 개발하고 있습니다. 사용자는 먼저 FrmMain을 입력하고 레코드에 관심이 있다면 FrmDetails (일종의 '드릴 다운'스타일)으로 이동할 수 있습니다. 이 두 번째 형태는 등 사용자가 의견을 남길 몇 가지 값을 변경할 수 있습니다 다음과 같은 코드로 호출됩니다액세스 양식의 데이터를 편집 할 수 없습니다.

Private Sub Cmd_GoToDetailsForm_DblClick(Cancel As Integer) 
    DoCmd.OpenForm "FrmDetails", , , _ 
     "[TblF1-Main].[The_ID]=""" & Me.The_ID.Value & """" 
End Sub 

여기, 사용자가 FrmDetails의 필드를 편집 할 수없는 문제입니다. 왜 안되며 수정을 제안 할 수 있습니까?. 내가 직접 FrmDetails을 열 때

  • , 나는 문제
  • FrmDetails 더 VBA 코드가 없습니다없이 편집 할 수 있습니다 : 내 문제에 대한 더 많은 사실. 그것은 곧,하지만 아직되지 않습니다.
  • FrmDetails의 레코드 소스는 모든 기본 속성을 가진 테이블입니다.
  • 이 모델을 사용하여 디자인 한 두 번째 데이터베이스입니다. 이 깨진 DB를 작업 DB와 비교했는데 눈에 띄는 차이는 없습니다.
+1

먼저 OpenForm 대신 With 블록 대신 WhereCondition 매개 변수를 사용하여 코드를 단순화합니다. – mwolfe02

+0

팁 주셔서 감사합니다, mwolfe. 위와 같이 코드를 업데이트했지만 여전히 문제가 있습니다. – PowerUser

+1

코드에서 양식을 열고 WhereCondition을 주석 처리하면 차이가 있습니까? – mwolfe02

답변

1

로 설정되어 허용합니다. 특별한 이유없이 FrmMainRecord Lock의 속성을 All Records (기본 설정은 No Locks)으로 설정했습니다. 두 양식 모두 같은 테이블을 기반으로했기 때문에 첫 번째 양식이 두 번째 양식에 대한 기록을 잠 갔을 것입니다. @ mwolfe02, 도와 줘서 고마워!

+0

비슷한 것을 찾고 있습니다. 잠금을 사용하지 않았습니까 (레코드 잠금이 같은 문제를 일으킬 것이라고 추측합니다). 두 필드가 동일한 필드로 데이터를 업데이트합니까? 사용자가 메인 폼과 함께 세부 정보의 항목을 덮어 쓸 수 있는지 궁금해졌습니다. – JeffO

+0

양식에 이미로드 된 테이블에서 양식을 여는 이유는 무엇입니까? 동일한 테이블의 다른 레코드를 편집하는 것입니까? 또한 잠금과 관련하여 낙관적 잠금은 Access의 첫 번째 선택입니다. 느낌이 좋지 않지만 오랜 시간 전에 낙관적 인 잠금 (NoLocks)으로 시작하여보다 엄격한 잠금을 사용하여 해결할 수없는 문제가 발생할 경우에만 더 제한적인 항목으로 이관하는 법을 배웠습니다. –

+0

@Jeff 두 폼 모두 같은 테이블을 기반으로하지만 FrmMain에는 편집 가능한 필드가 없습니다. 필드는 사용자가 레코드를 입력할지 여부를 결정할 수 있도록 몇 개의 필드 만 나열합니다. 따라서 데이터를 덮어 쓰는 데 문제가 없습니다. – PowerUser

0

FrmDetails가 FrmMail의 하위 폼으로 열리고 있습니까? 그렇다면 SubForm 컨트롤이 잠겼는지 여부를 확인하십시오. 그 후

는 양식 FrmDetails이 속성이 있는지 여부를 확인 편집을 허용 및 추가가 마침내 답을 찾을 예 또는 아니요

+0

하위 폼이 아닙니다. 그렇지 않으면 속성의 모든 연결을 완료했을 것입니다. 또한 편집 허용 = 예 및 추가 허용 = 예입니다. – PowerUser

관련 문제