問題
私は現在、クライアント名ではなくクライアント ID を中心とするように MS Access データベースを変更しています。ただし、すべてのフォームは依然としてクライアント名に基づいています。これをクライアント ID に基づいて変更する必要がありますが、ユーザーにはクライアント名として表示されるようにします。
構造
先に進む前に、関連する 2 つのテーブルについて説明する必要があります。
ClientTable:
- ClientID (PK)
- ClientName (インデックス付き、重複なし)
EntityTable:
- EntityName (CK
、重複不可) - ClientID (CK、重複可)
- ClientName (私の過去の構造の残骸。この問題を整理したら、これは必要ないと思います)
重要な関係: 1 つのクライアントに多くのエンティティがある
複合キー (CK) にも十分な理由がありますが、それについては説明しません。全体の構造は上に示したものよりもはるかに複雑です。
フォーム
ではフォームに戻ります。現在、EntityName テキスト ボックスと ClientName ドロップダウン ボックスを含む「エンティティ」フォームがあります。
私が実現したいのは、Client Name ドロップダウン ボックスがユーザーに対して視覚的および機能的に同じであることです (つまり、新しいエンティティを作成するときに、ユーザーはクライアント名を選択します) が、実際にクライアント ID を選択する必要があります。それをそのレコードに関連付けます。
これはかなり一般的な問題だと思いますが、私のブラウジングでは解決策が見つかりませんでした。何か案は?