アクセス:編集用のカスタムフォームで既存のレコードを開く
-
21-12-2019 - |
質問
これは壮大なビジョンです。
電子機器ディスアセンブリに使用される部品データベースを構築しています。
PCBから部分が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