OpenFormメソッドで、正しいレコードがロードされたフォームを開くことができません。詳細を提供するために、ここで最善を尽くします。
「ソース」形式は表Aに基づいており、読み取り専用です。ソースフォームのボタンを使用して、レコードの編集に使用される「ターゲット」フォームを開きます。これも表Aからです。
ウィザードを使用して、主キーの同等性に基づいてフォームを開くボタンを作成してみました。ウィザードの結果は、ソースフォームのコンテキストにあるレコードに関係なく、テーブルAの最初のレコードのみがターゲットフォームによってロードされることです。
次のバリエーションの手順を使用してみました。
Dim frm As String, whr As String
frm = "Target Form"
whr = "Forms![Source Form]!ID = Forms![Target Form]!ID"
'whr = "[ID] = [ID]"
'whr = "[ID] = Forms![Target Form]!ID"
DoCmd.OpenForm frm, acNormal, , whr, , , 1
ターゲットフォームにロードする最初のレコードのみを取得するか、ターゲットフォームにロードする新しいレコードを取得することができました。しかし、ソースフォームのロードされたレコードを取得して、ターゲットフォームにロードされたレコードを判別できません。
助けてくれてありがとう