こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

accessのデータベースで一つの項目に70人以上の人

初心者のため、お願いします。

Access2003を使用しています。複数のグループがあります。そのグループを掛け持ちしている方が何人もいます。そこで、名前を入れるとどのグループに属しているのかを引いてくるものを作りたいと思います。

まずはテーブルをデザインビューで作成しナンバー(主キー)、グループ名ここで、グループメンバーを羅列すると約80人ものメンバーを項目としてグループ員1、2・・としなければなりません。

グループ毎にテーブルを作ってグループ員名を書くほうが良いのでしょうか。

良い方法をお教えください。お願いします。

投稿日時 - 2007-09-12 10:14:12

QNo.3337982

困ってます

質問者が選んだベストアンサー

グループ(No、グループ名)のテーブル
人(No、指名)のテーブル
グループと人(グループNo、人No)のテーブル

でどうでしょう?

投稿日時 - 2007-09-12 10:23:37

補足

早速のお返事ありがとうございます。ぜひ、やってみます。

投稿日時 - 2007-09-13 10:09:01

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(4)

ANo.4

>複数のグループがあります。そのグループを掛け持ちしている方が何人もいます
こういう関係をグループと人とが多対多の関係にあるといいます

>グループメンバーを羅列すると
これは絶対にやってはいけません
テーブル作成の基本原則に違反します

多対多の関係のときのテーブル作成の基本は

[グループマスタ](グループID、グループ名、内容、・・・)
[人名表](人名コード、氏名、性別、生年月日、住所、電話、・・・)
[構成員表](グループID、人名コード)

構成員表は縦に長いものになります

投稿日時 - 2007-09-12 11:13:03

補足

早速のお返事、ありがとうございます。やってみます。

投稿日時 - 2007-09-13 10:11:29

<Members>
ID__MName
1___鈴木 一郎
2___中村 太郎
3___木下 裕子
4___谷中 由美

<Groups>
ID__GName
1___A
2___B
3___C
4___D

<NameList>
Group_ID_______長整数・・・・・・・・SELECT Groups.ID, Groups.GName, * FROM Groups;
Member_ID_____長整数・・・・・・・・SELECT Members.ID, Members.MName, * FROM Members;
加入年月日____日付/時刻型
脱会年月日____日付/時刻型

Group_ID__Member_ID___加入年月日___脱会年月日
A____________鈴木 一郎___2007/08/01
A____________中村 太郎___2007/08/01
B____________鈴木 一郎___2007/09/01
C____________木下 裕子___2007/09/01
D____________谷中 由美___2007/10/01

<クエリ>
MName______GName
鈴木 一郎__A
鈴木 一郎__B

SELECT Members.MName, GROUPs.GName
FROM Members INNER JOIN (GROUPs INNER JOIN NameList ON GROUPs.ID = NameList.Group_ID) ON Members.ID = NameList.Member_ID
WHERE (((Members.MName) Like '鈴木*'));

最後のクエリを作成したいとの質問かと思います。

<Members>は、いわば商品マスター。
<Groups>は、いわば顧客マスター。
<NameList>は、いわば売上伝票。
クエリは、<Members>の販売先一覧のようなもの。
こういう考えでどうでしょうか?

投稿日時 - 2007-09-12 10:53:50

補足

早速のお返事ありがとうございます。これは、Access VBAで作ったものですね。とても勉強になります。ありがとうございます。使わせていただきます。

投稿日時 - 2007-09-13 10:09:40

ANo.2

No1です。
指名→氏名の間違いです。失礼しました。

投稿日時 - 2007-09-12 10:25:20

-広告-
-広告-

あなたにオススメの質問

-広告-
-広告-