私はアクセスするのが初めてで(2003バージョンしかありません)、夢中になっています。また、私は一般にDBの初心者であるため、今私は非常に混乱している段階にあることを考慮してください...助けてください。私が持っているすべての本をカタログ化するデータベースを設計しようとしています。テーブルを作成し、関係を設定しました ;多対多の関係にある「書籍」に関連するいくつかのテーブルがあります(例:著者:各書籍に複数の著者がいて、各著者が複数の書籍を「持っている」ことができます)。多く(例:ブックタイプ:1つのブックは1つのタイプのみである場合がありますが、そのタイプのブックは多数存在する場合があります。新しい本を追加して、たとえば既存の著者から選択したり、著者を新たに追加したりできるようにするには、1対多の関係のデータについても同じです。
これどうやってするの?
私は本当に失われました、複数のフォームが必要であり、それらをメインのサブフォームとして追加するには、クエリが必要ですか、それとも何ですか?
上記の設計には4つのサブフォームが必要です。各サブフォームは、リンクの子およびマスターフィールドとしてブックIDを持つジャンクションテーブルと、2番目のテーブルIDの関連テーブルに基づくコンボボックスに基づいている必要があります。
たとえば、最初のサブフォームはAuthorsであり、ベースとなるテーブルはLibri_Autoriです
Link Master Field: Id
Link Child Field: SchedaLibro
コンボボックス:
Control Source: SchedaAutore
Row Source : SELECT Id, Nome FROM Autori
Bound Column: 1
Column Count : 2
Column Widths : 0, 2
ブックフォームを作成し、サブフォームの追加を開始すると、ウィザードがほとんどの作業を行います。
Authorsテーブルにレコードを追加するには、[リストに制限]を[はい]に設定し、[リストにない]イベントでコードを実行する必要があります。小さなポップアウトフォームを使用して、「バックグラウンド」テーブルにアイテムを追加するのが好きです。 ListItemsEditForm を設定できるため、Access 2010の方が簡単かもしれません。
1、サブフォームを追加する直前のブックフォーム。 [コントロールウィザードを使用する]が選択されていることに注意してください。これがデフォルトなので、選択を解除しない限り問題ありません。
サブフォームを追加するためのさまざまなウィザード手順
サブフォームフィールドの選択
リンクの子フィールドとマスターフィールドの選択
黄色で強調表示されたサブフォームコントロールとコントロールプロパティを示すフォーム
2、コンボの追加
サブフォームウィザードによって追加されたフィールドをコンボに変更するには、右クリックしてプロパティを自分で設定します...
...または、既存のコントロールを削除し、ウィザードを使用してコンボを追加できます。最初のステップは、コンボのタイプを選択することです。
2番目のステップは、テーブルまたはクエリを選択することです
ステップ3は、フィールドを選択することです
ステップ4はソート順を選択し、ここには表示されません。これはステップ5で、列幅を設定します
ステップ6は、コントロールソースを設定することです
最終的に、示されているプロパティを備えたコンボボックスになります。
最終形式