私の書式設定についてお詫び申し上げます。
Access データベース フォームに問題があります。
参加者テーブルから参加者情報を呼び出すフォームがあります。次に、サブフォームに、参加者テーブルの ID 番号 (PK) でフィルター処理された別のテーブルのサブセットを含める必要があります。サブフォーム (アクセス サブフォーム ウィザードを使用して作成されたもの) は、このジョブを正常に実行します。(wtwo フォームは、プライマリ フォームの ID とサブフォームの GI_ID によってリンクされていますが、ここでは関係ありません)。
サブフォームにはボタンがあり、ボタンを押すと別のフォーム(明確化)が開き、新しいフォームテーブルに新しい行が挿入され、byYサブフォーム(Diary.ID)と明確化.DiaryIDがリンクされます。オペレーターは、明確化テーブルのフィールドに入力できるようになりました。これは、常にダイアリー テーブルにリンクされます。要約すれば
Participant table; ID (pk)
healthdiary Table; ID (PK) GI_ID (fk - participant table) form= frm_healthdiary_edit_record.ID
Clarification Table ID (PK), DiaryID (fk) form=tbl_healthdiary_clarif
これは、サブフォームでない場合に (別のフォームで) 機能するボタンの背後にあるコードです。
SQL_Txt = "INSERT INTO tbl_healthdiary_clarif (HDR_ID) Values (forms!frm_healthdiary_record.ID)"
DoCmd.RunSQL SQL_Txt
SQL_Txt = ""
DoCmd.OpenForm "frm_healthdiary_clarif", , , "[HDR_ID] = forms!frm_healthdiary_record.ID"
以下の SQL 挿入コードは、サブフォーム frm_healthdiary_record のボタンの onClick コントロールで使用すると機能しません。何を試しても、常に frm_healthdiary_record.ID の入力を求められます。
SQL_Txt = "INSERT INTO tbl_healthdiary_clarif (HDR_ID) Values (me.frm_healthdiary_edit_record.form.ID)"
DoCmd.RunSQL SQL_Txt
SQL_Txt = ""
コードを me.frm_healthdiary_edit_record.form.ID および Forms!frm_healthdiary_record..Form.ID に変更しようとしましたが、入力を求めると常に同じ結果が得られ、コントロールが見つかりません。
とてもイライラします。
はっきりさせておきますが、サブフォーム (onclick) のボタンで 1- 新しい行を tbl_healthdiary_clarif に挿入し、次に 2- 挿入したレコードの tbl_healthdiary_clarif に基づいて別のフォームを開きます。
より良い方法があれば提案してください。
前もって感謝します。