• 締切済み

リレーションで?

ACCESS 2003を使って作成中なのですが、どうしてもわからないところがありましたので教えてください。 現在テーブルで、 「世帯テーブル」 ○ 世帯ID ○ 郵便番号 ○ 住所 ○ 電話番号 「個人テーブル」 ○ 世帯ID ○ 個人ID ○ 氏名 ○ 生年月日 ○ 性別 「詳細テーブル」 ○ 世帯ID ○ 個人ID ○ その他 とし、フォームで 「世帯フォーム」 ○ 世帯ID ○ 郵便番号 ○ 住所 ○ 電話番号 「個人フォーム」 ○ 世帯ID ○ 個人ID ○ 郵便番号 ○ 住所 ○ 電話番号 ○ 氏名 ○ 生年月日 ○ 性別 「詳細フォーム」 ○ 世帯ID ○ 個人ID ○ 郵便番号 ○ 住所 ○ 電話番号 ○ 氏名 ○ 生年月日 ○ 性別 ○ その他 というようにして、世帯IDでリレーションしてます。 入力の順番は、まず「世帯」に入力し、それから「個人」に入力し、最後に「詳細」に入力したいと思ってます。 そこで、個人フォームを入力するときに世帯IDを入力すると自動的に郵便番号、住所、電話番号が入力され、詳細フォームで入力するときに世帯IDと個人IDを入力すると該当項目が全て自動的に入力されるようにしたいと思ってます。 その場合、テーブルとフォームは作って世帯IDでリレーションするところまでいったのですが、ここから先どのようにしたらよいのかがわかりません。 どなたかお力を貸していただければと思います。 どうぞよろしくお願いいたします。

みんなの回答

noname#182251
noname#182251
回答No.3

>「リンク親フィールド」、「リンク子フィールド」はどのように表示させるのでしょうか 既に書いたとおりですが 1.世帯フォームをデザインビューで見る 2.貼り付いている個人フォームをクリックする 3.プロパティを見る 4.データタグをクリックする 5.二行目三行目に「リンク親フィールド」、「リンク子フィールド」 アクセスのバージョンにより違いがあるかもしれませんが、基本的には上記のような流れです

noname#182251
noname#182251
回答No.2

>「詳細テーブル」のその他のところには商品の購入状況を入力する予定なので一つの個人IDから複数のデータが存在する形になります。ですので分けて入力したほうがいいかと思ったのですがいかがでしょうか? 分けるのが妥当だと考えます。しかしリレーションは個人IDだけでよいでしょう。 >「世帯フォーム」のサブフォームとしての「個人フォーム」というのは考えてもいませんでした。その場合は具体的にはどのように設定すればよいのでしょうか? 数年ぶりにアクセスのフォームをいじりました(^^; 「世帯フォーム」「個人フォーム」はできているとのことですが、クエリーを基にしているならば、両方に世帯IDが含まれている必要があります。あとは簡単です。「世帯フォーム」をデザインモードで開き「個人フォーム」をマウスでドラッグドロップするだけです。貼り付けられた「個人フォーム」プロパティでデータタグをクリックすると、「リンク親フィールド」「リンク子フィールド」の両方に世帯IDが入っていることが確認できます。 これで世帯データを入れ、個人データを追加していくと、新しい個人データレコードに世帯IDが自動で記入されます。 久しぶりにやって思い出したのですが、親子フォームは親の方で「帳票フォーム」を利用できない欠点がありました。

noname#136615
質問者

お礼

ありがとうございます。 >貼り付けられた「個人フォーム」プロパティでデータタグをクリックすると、「リンク親フィールド」「リンク子フィールド」の両方に世帯IDが入っていることが確認できます。 のところがいまいちよくわからなかったのですが、「リンク親フィールド」、「リンク子フィールド」はどのように表示させるのでしょうか?

noname#182251
noname#182251
回答No.1

まずテーブルの設計から 「詳細テーブル」 ○ 世帯ID ○ 個人ID ○ その他 で、個人IDが決まれば世帯IDは一意に決まるので世帯IDフィールドはいらないでしょう。それならばいっそ「詳細テーブル」をやめて、 「個人テーブル」 ○ 世帯ID ○ 個人ID ○ 氏名 ○ 生年月日 ○ 性別 ○ その他 としては如何でしょうか? 次にデータ入力ですが、 「世帯フォーム」 ○ 世帯ID ○ 郵便番号 ○ 住所 ○ 電話番号 のサブフォームとして 「個人フォーム」 ○ 氏名 ○ 生年月日 ○ 性別 ○ その他 を貼り付け、関連を適切に取ってやれば、世帯IDによるリレーションはアクセスが面倒を見てくれます。具体的に云えば、個人データを追加する際に世帯IDフィールドに自動的に当該世帯IDが入力されます。使いやすいし間違う可能性も低いです。

noname#136615
質問者

お礼

ありがとうございます。 「詳細テーブル」のその他のところには商品の購入状況を入力する予定なので一つの個人IDから複数のデータが存在する形になります。 ですので分けて入力したほうがいいかと思ったのですがいかがでしょうか? 「世帯フォーム」のサブフォームとしての「個人フォーム」というのは考えてもいませんでした。 その場合は具体的にはどのように設定すればよいのでしょうか?

関連するQ&A

専門家に質問してみよう