2012-08-26 11 views
8

私はアクセスするのが初めてです(私は2003年版しかありません)、私は狂っています。また、私はDBの初心者ですので、今私は非常に混乱しています...助けてください。 私はすべての本をカタログ化するデータベースを設計しようとしています。 テーブルを作成して関係を設定しましたImage of my DB http://img716.imageshack.us/img716/4592/databasev.png;私は多元的な関係(例:著者:各著者は複数の著者を持つことができ、各著者は複数の書籍を持つことができます)とその他のいくつかの単純なOne-To- 今、私はテーブルを作成するために単一のフォームを(必要に応じてサブフォームで)作成したいと思います。新しい本を追加してから選択し、例のために、既存の著者または新たに著者を追加できるようにしたい。同じ1対多の関係でデータのフォームを作成して複数のテーブルにレコードを追加する

私はこの

をどのように行うことができます。?私は本当に迷っています。私は複数のフォームが必要ですし、メインフォームのサブフォームとして追加するには、クエリが必要ですか?何か?

答えて

17

上記のデザインには4つのサブフォームが必要です。各サブフォームは、リンクの子としてブックIDを持つジャンクションテーブルと、第2のテーブルIDに関連するテーブルに基づくマスターフィールドおよびコンボボックスに基づいていなければなりません。

たとえば、あなたの最初のサブフォームは、それが基づいているテーブルが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テーブルにレコードを追加するには、List To LimitをYesに設定し、Not In Listイベントでコードを実行する必要があります。私は小さなポップアウトフォームを使用して "バックグラウンド"テーブルにアイテムを追加するのが好きです。あなただけのサブフォームを追加する前に、ListItemsEditForm


1、本の形を設定することができますので、これは、アクセス2010と容易であろう。 [コントロールウィザードの使用]が選択されていることに注意してください。これはデフォルトです。選択を解除しない限り、問題はないはずです。

Step 1 Using a wizard

サブフォームフィールド

Selecting the subform fields

リンク子とマスターフィールドの選択を選択するサブフォーム Wizard steps for adding a subform

を追加するためのさまざまなウィザードの手順

Selecting the link child and master fields

サブフォームコントロールを示すフォームは黄色で強調表示して、によってコンボにサブフォームウィザードによって追加されたフィールドを変更するか、コンボ

の追加の制御特性

Subfrom control

2、右クリックしてプロパティを自分で設定します。

Right-click for change to combo

...または既存のコントロールを削除し、ウィザードを使用してコンボを追加することができます。最初のステップは、コンボのタイプを選択することです。

Step 1 combo type

第二のステップは、テーブルまたはクエリを選択するステップ三つのフィールド

Step 3 choose fields

ステップ4選択したソート順序を選択することである

Step 2 choose table or query

ここに表示されていない場合、これはステップ5で、これはcを設定することです幅olumn

Step 4 skipped, step 5 set column widths

ステップ6あなたはプロパティを持つコンボボックスで終わるだろうコントロールのソース

Step 6 set Control Source

を設定することですが

Subform combo and properties

決勝を示しますフォーム

Final form

+0

ありがとうございます。確かに、私は初心者だと言ったように、私には分かりませんが、私はあなたの提案に取り組み、より多くの質問に戻ってきます。 – rodedo

+0

Northwindサンプルデータベース(http://support.microsoft.com/kb/824265)を参照して、これらのアイデアの仕組みを確認してください。 Orderフォームは、いくつかのアイデアがどのように連携しているかを示します。しかし、ノーウィンド(Northwind)を非常に大まかなガイドとして使用してください。特にコードはベストではありません。 – Fionnuala

+0

Hummm ...オンラインでステップ2ステップのチュートリアルがありますか?私はまだ基​​本的なステップを逃していると思います。 Libri_Autori、wizardに基づいてサブフォームを作成するにはどうすればよいですか?「Link master/child field」をどのように定義すればよいですか?どこでコンボボックスを定義しますか?これまでのところ、Libri_AutoriテーブルとSchedaAutoreテーブルのテーブルデザインビューのルックアップタブに追加しました。 – rodedo

関連する問題