2

個人のクリアランスを表示/編集するためのボタンを備えた個人のレコードを含むフォームがあります。クリアランスの編集を終了して [戻る] ボタンを押すと、レコード 1 に戻るのではなく、作業中のレコードで元のフォーム (基本個人情報) が開きます。

私が現在持っているコードは

DoCmd.Close
DoCmd.OpenForm ("Basic Personal Information")

OpenFormをに変更しようとしました

DoCmd.OpenForm ("Basic Personal Information"), , , "S_ID=LinkRef"

ここで、S_ID は個人の一意の ID を持つフィールドの名前であり、LinkRef はその ID の整数です。これのいくつかの小さなバリエーションを試してみて、最終的にはある程度機能しましたが、利用可能なレコードが1つしかない基本個人情報が開かれたため、フォームで他の人を見ることができませんでした(つまり、左下のレコード)たとえば、ナビゲーションは 1 の 1 でしたが、たとえば 5/32 である必要があります)。

私が試した別のことは、行を追加することでした

DoCmd.GoToRecord(acDataForm,"Basic Personal Information",acGoTo,"[S_ID] = " & LinkRef)

しかし明らかに、ここでの問題は、AcGoTo の Offset が単なるレコード番号でなければならないことです。したがって、この場合は 5 である必要があります。リンク参照。

それが理にかなっていることを願っています。そうでない場合は、お気軽に質問してください。より良い説明を試みます。そうでない場合は、提案/方法を高く評価します.

ありがとう

4

3 に答える 3

3

私はあなたの問題をこのように扱います:

DoCmd.OpenForm ("Basic Personal Information")
Forms("Basic Personal Information").Form.Recordset.FindFirst "[S_ID] = " & _
            Forms("PreviousForm").[LinkRef] & ""

つまり、最初にフォームを開き、レコードセットのカーソルを目的の行に移動します。

于 2014-07-06T12:18:48.860 に答える