액세스 : 편집을 위해 사용자 지정 양식에서 기존 레코드를 엽니 다.
-
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 개의 쉼표가 필요할 수 있습니다.
제휴하지 않습니다 StackOverflow