0

ProjectID フィールドにリンクされたプロジェクト情報サブフォーム (データ ソース: Projects テーブル) を含む月次レポート エントリ フォーム (データ ソース: MonthlyReports テーブル) があります。ProjectID は Projects テーブルの PK であり、MonthlyReports テーブルの FK です。

[レコードの複製] ボタンを使用して、メインの月次レポート フォームでレコードを複製し、複製したレコードを編集して、同じプロジェクトの新しいレコード/月次レポートとして保存しようとしています。複製後、プロジェクト情報 (または ProjectID リンク) を新しいレコードに保持したいと考えています。レコードを複製すると、一意の番号を持つ新しい月次レポート レコードが作成されますが、ProjectID 外部キーが保持されないため、ProjectID 外部キーのない無関係なレコードが作成されます。マクロを変更したり、レコードの複製ボタンをクリックして VB コードを追加したりして、親子フィールドのリンクを保持するにはどうすればよいですか?

ありがとうございました。

4

1 に答える 1

0

短い答え、あなたが求めていることを理解できれば、いいえです。

マスター テーブルと子テーブルの間に関係がある場合、それは 1 (マスター レコード) 対多 (子レコード) の関係です。子は複数の親を持つことはできません。データベースでこの関係を定義していなくても、フィールドによってサブフォームをマスター フォームにリンクすると、1 対多が (適切に) 想定されます。

あなたがする必要があるのは、新しいマスターレコードを作成した後、新しい子レコードを作成し、既存の子レコードのフィールドを新しいレコードにコピーするマクロを用意することです。最後に、新しい子レコード フィールド [ProjectID] の値を、新しく作成されたマスター レコードの値に設定する必要があります。これで完全な複製ができました。

于 2014-02-07T00:27:11.403 に答える