액세스 : 편집을 위해 사용자 지정 양식에서 기존 레코드를 엽니 다.

StackOverflow https://stackoverflow.com//questions/22055958

  •  21-12-2019
  •  | 
  •  

문제

여기 그랜드 비전입니다.

전자 장치 디스플레이에 사용할 부품 데이터베이스를 구축하고 있습니다.

파트가 PCB에서 초기에 제거되면 참조 지정자가 기록됩니다 (각 파트 타입은 사용자 정의 엔트리 형식, 예 : 저항, 캐비터, IC 등).나중에 각 파트로 돌아가서 자세한 내용을 추가합니다.

콤보 상자에서 기존 파트를 선택할 수 있고 FindFirst 함수를 사용하여 메인 테이블에서 레코드를 찾아서 해당 파트 유형 정보를 추출하고 적절한 데이터 입력 양식을 엽니 다. 내가 알아낼 수없는 것은 그 레코드를 새로 열린 양식에 표시하는 방법입니다.전형적인 Me.bookmark= rs.bookmark 전략은 새 양식을 열면 작동하지 않습니다

Private Sub cmdEditPart_Click()
Dim rs As Recordset
Dim qdf As QueryDef
Dim prm As Parameter
Dim partType As String
Set qdf = CurrentDb.QueryDefs("Parts_SingleBoard")
qdf.Parameters(0) = Forms![Start Page (Boards)]![ComboPartNumber]

'Lookup record
    If Not IsNull(Me.cmbRefDes) Then
        'Save before move.
        If Me.Dirty Then
            Me.Dirty = False
        End If
        'Search in the clone set.
        Set rs = qdf.OpenRecordset.Clone
        rs.FindFirst "[Reference Designator] = '" & Me.cmbRefDes & "'"
        If rs.NoMatch Then
            MsgBox "Part not found"
        Else
            'Display the found record in the appropriate form.
            partType = rs.Fields("Part Type")
            DoCmd.OpenForm (partType)
            'Some sort of bookmark wizardy ****THIS IS WHAT I NEED HELP WITH *****
        End If
        Set rs = Nothing
    End If
End Sub
.

4 단계 요약 :

기존 파트 목록보기 -> 부품 선택 -> 동적으로 올바른 데이터 입력 양식을 열어 편집하려는 레코드로 양식을 채우십시오

도움이 되었습니까?

해결책

docmd.openform 메서드에 내장 된 필터 메커니즘을 사용합니다.

DoCmd.OpenForm (partType), , , "[Reference Designator] = '" & Me.cmbRefDes & "'"
.

필터 문 앞에 쉼표가 충분한 지 확실하지 않습니다.4 개의 쉼표가 필요할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top