1

したがって、この問題の根本原因はデータベースの設計の悪さにある可能性があります。これをセットアップする方法の一部は、古いバージョンから継承されています。これを行うためのより良い方法を見つけることができませんでした。

[OBJECTID] という同じフィールドでリンクされた 4 つのテーブルがあります。各テーブルは、データを制御するアクセス フォームにリンクされています。データは地理参照されており、個別にマッピングする必要があるため、これらのテーブルを分離することが重要ですが、デフォルトでは互いに複数のフィールドを継承します。

ほとんどの場合、テーブルは 1 対 1 対 1 対 1 の関係にありますが、最初のテーブルのデータしかない場合もあれば、2 番目、3 番目、および 2 番目のテーブルのデータしかない場合もあります。第四形態。

現在、最初のテーブルの [OBJECTID] フィールドはデータ型 autonumber に設定されているため、他のテーブルの後続のすべてのリンクされたレコードはその番号を継承できます。Tbl1 のレコードが Form1 経由で入力されていない場合、現在の番号と競合しない番号を割り当てるだけで十分簡単ですが、将来生成される [OBJECTID] と競合する可能性のある番号の割り当てを回避するにはどうすればよいですか? Tbl1 の autonumber フィールドによって?

わかりにくかったらすいません!これについて考えるのを手伝ってくれてありがとう....

4

1 に答える 1

0

設計が正しければ、tbl1とテーブル2/3/4の間に参照整合性との関係があるはずです。あなたがそれoccasionally, there is only data for the second, third and fourth formを意味するので、ここでは参照整合性がありません:-/。

4つのテーブルすべてに共通するフィールドを特定し、それらを使用して「メイン」テーブルを作成します。つまり、メインテーブルに入力する必要があります。次に、他の4つのテーブルに対して1対0.1の関係を作成します。外部結合を使用して、それらのPKビーイング、次に長整数を使用します。

フォーム1から4のソースには、MainTableとT1/2/3/4の間の外部結合を使用します。「サブテーブル」は、メインテーブルのPKを継承します。

私があまりにも曖昧でないことを願っています。

于 2012-03-19T20:45:11.867 に答える