質問

これは壮大なビジョンです。

電子機器ディスアセンブリに使用される部品データベースを構築しています。

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つのコンマが必要かもしれません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top