%20%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%3A%201%20%E3%81%A4%E3%81%AE%20ID%20%E3%81%8C%202%20%E3%81%A4%E3%81%AE%E3%83%95%E3%82%A3%E3%83%BC%E3%83%AB%E3%83%89%20(%E3%83%97%E3%83%A9%E3%82%A4%E3%83%9E%E3%83%AA%E3%80%81%E3%82%BB%E3%82%AB%E3%83%B3%E3%83%80%E3%83%AA)%20%E3%81%AB%E3%83%AA%E3%83%B3%E3%82%AF%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%82%B5%E3%83%96%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%81%A7%E4%B8%A1%E6%96%B9%E3%81%AE%E3%83%95%E3%82%A3%E3%83%BC%E3%83%AB%E3%83%89%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%81%8B%E3%80%82.png)
会社テーブルと請負業者テーブルがあります。請負業者テーブルには、主請負業者フィールドと副請負業者フィールドがあります。両方のフィールドは、会社テーブルから会社名を取得します。
契約サブフォームを含む会社フォームを作成しました。目的は、新しい会社を追加するときに契約を割り当てることです。直面している問題は、契約サブフォームに companies.contractor と companies_1.contractor を追加すると、companys_1.contractor が companies.contractor として保存されることです。フィールドをドラッグ アンド ドロップしたり、プロパティ シートの [コントロール ソース] フィールドに適切な名前を入力したりしてみましたが、どちらも解決にはなりませんでした。companys_1.contractor ではなく、companys.contractor として保存され続けます。
なぜこのようなことが起こるのでしょうか。また、セカンダリ契約情報のみを表示するのではなく、プライマリ会社とセカンダリ会社の両方のデータをキャプチャできるように、これを回避するにはどうすればよいですか (companys.contractor はデータベース内でセカンダリです)。
答え1
解決:
フォームのプロパティに移動し、レコード ソースを更新します。
すべてのデータを 1 つのビューに格納する作成したクエリを使用する代わりに、2 つのテーブル間のリレーションシップを作成しました。これは、リレーションシップ/クエリ作成者ビューに 3 つのテーブル (企業、契約、企業_1) として表示されます。PrimeContractorID は Companies_1 テーブルの CompanyID にリンクされ、CompanyID は Companies テーブルの CompanyID にリンクされます。