早々のご回答どうもありがとうございます。
ただ、この削除フォームは「ポップアップ」フォームで行っており、リンク親フィールド、凝フィールドの設定自体がなかったことから、仕方なく(?)以下のような形で削除フォームを組んでいます。
まず、親フォームの「個人ID」コンボボックスで個人ID選択すると、親フォームの4つのテキストボックスに
氏名・郵便番号・住所・年齢
が入るようにしています。
そして、その親フォーム上に「ユーザー情報変更」ボタンがあり、これにイベントプロシージャを割り当てて、ポップアップのフォームを上げています。
そして、そのポップアップフォームのロード時に
Me.UC_個人ID = DLookup("個人ID", "基礎情報マスタ", "個人ID=" & [CMB_個人ID])
Me.UC_氏名 = [Forms]![ポップアップ入力]![PF_氏名]
Me.UC_郵便番号 = [Forms]![ポップアップ入力]![PF_郵便番号]
Me.UC_住所 = [Forms]![ポップアップ入力]![PF_住所]
Me.UC_年齢 = [Forms]![ポップアップ入力]![PF_年齢]
Application.SetOption "Move After Enter", 0
End Sub
(「CMB_個人ID」は、メインフォームで入れている個人IDのコンボボックスの値をグローバル変数として代入したものです。Me.UC_氏名・・・等は、このポップアップフォームのテキストボックスのコントロール名です)
というように、メインフォームから値を代入しています。
つまり、メインフォームで
「現在選択している個人IDのユーザー情報をポップアップのサブフォームのテキストのコントロールに代入している」
ということになります。
そして、以下のような削除プロシージャ―を作りました。
Private Sub ユーザー情報削除_Click()
Dim strSQL As String
MsgBox "登録情報を削除します"
strSQL = "DELETE * FROM 基礎情報マスタ where 基礎情報マスタ.個人ID=" & UC_個人ID & ";"
DoCmd.RunSQL (strSQL)
Me.Requery
Forms!ポップアップ入力.Requery
DoCmd.Close acForm, "ユーザー情報編集フォーム", acSaveNo
End Sub
(ポップアップ入力がメインフォームの名前です)
ですので、カレントレコードは1つしかないような形です(レコードセレクタでは1つしかありませんでした)。
ですので、DoCmd.RunCommand acCmdDeleteRecordを実行すると、必ず1レコード目が削除されてしました。
また、ポップアップ型のフォームだと無理なのか、メインフォームにも、ポップアップをしたサブフォームにもRequery、Refreshをかけても、♯DELETEDは消えませんでした。
また、多分根本的な間違いを犯しているんでしょうね・・・。
長々と失礼いたしました。
すいません、読んでいただいてご教授いただけましたら助かります。
文章では状況かよくわからないので、右カラムのファイル送信フォームから現状のフォームを送信してもらえますか。
たぶん、連結フォームの使い方が理解できていないのが原因だと思います。