- 締切済み
access2010(アクセス)について
アクセス初心者です。 複数の委員名簿管理のためにアクセスを使うことにしました。 以前はエクセルだったのですが、同じ人が複数の委員に所属していたりで、その人の役職や電話番号が変わったときにいちいち個々に直すのが大変だったので利用してみることにしました。 A B C Dの委員会があり、それぞれに委員長1人 副委員長数名 委員数名いるとして 全部の委員に所属している人もいれば1つの委員のみの人もいます。 また、複数の委員長になっている人やAでは委員長だけれどもDでは副委員長だったりします。 名簿の並び順はあいうえお順とは限りません。 上に委員長がきて、次に副委員長がきますがこの副委員長の順番も法則性はありません。 これらのデータを1つのテーブルで管理しています(分けたほうがいいんでしょかね?) できればこれらの情報を上手にアクセスで管理する方法を知りたいのですが、話がややこしくなりそうなので…。 たとえばABをまとめた名簿を作りたいとして、重複した部分の片方を削除して一覧を作る場合どのようにするのが簡単でしょうか? 山田委員がAB両方に入ってるとして、A+Bだと山田さんが二人になってしまいます。 わかりにくい説明ですみませんがよろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- hatena1989
- ベストアンサー率87% (378/433)
> 委員IDと委員会IDはaccessが自動的につけたIDとは別物でしょうか? > 委員ID=委員会IDではなく、委員IDも委員会IDも自分がつけた番号順ですか? オートナンバー型 はAccessが自動でつける番号です。通常、主キーにします。 委員会ID は、委員会 の主キー、委員ID は個人の主キーです。 サンプルではオートナンバー型にしましたが、自分で重複のない番号を入力する仕様でも問題ないです。 > CDは調べたら意味のある数字ということだったので、自分でつけた順番 > この場合だと偉い順ですね。 役職CD のことですね。役職の場合は、委員長、副委員長、委員 に明確な順位があります。 オートナンバー型だと削除や変更があった場合、振り直すことが困難です。 ですので、数値型にして明確な順位に基づいた番号を付加するのが適切ですね。 個人だと明確な順位は必要なくただ重複しないのが保障されればいいのでオートナンバー型で問題ないです。 社員番号とか生徒番号のように重複のないものが既にあるならそれを主キーにしてもいいです。 > 委員会ID 主キー オートナンバー型または数値型←とあるので自分で決めた数字かな?とは思うですが、不安なので補足しました。 これも個人と同様で、オートナンバー型でも、数値型にて自分で入力するようにしてもいいです。 オートナンバー型にすればAccessが自動でふってくれますのでユーザーの負担は少ないですね。 > また、委員会在籍者テーブルを作るに当たり、【委員名簿】からどうやってIDをひっぱってくるのでしょう?手入力でしょうか? Accessのバージョンが不明ですが、2000以降なら、ルックアップ という機能を使うのがいいですね。 委員会在籍者テーブルのデザインビューのフィールドプロパティに「ルックアップ」というタブがありますので、そこで下記のように設定してください。 (委員IDフィールドを選択した状態で設定します。) 表示コントロール コンボボックス 値集合タイプ テーブル/クエリ 値集合ソース 委員名簿 連結列 1 列数 2 列幅 1cm;3cm こうすると委員名簿に登録した 委員ID、氏名 のリストから選択して入力することができます。 また、委員会在籍者テーブルには 委員ID しかないですが、氏名を表示したいときは、クエリを使います。 オートルックアップクエリといいますが、重要な機能ですので、入門書にたいてい解説がありますので、調べてみてください。また、下記も参考にしてください。 オート ルックアップ クエリを作成するには http://support.microsoft.com/kb/879978/ja
- hatena1989
- ベストアンサー率87% (378/433)
このスペースでテキストだけで説明しても、理解してもらうのはなかなか難しいですね。 前回の回答では、4つのテーブル(委員名簿、委員会、役職、委員会在籍者)のフィールド構成と、データ例を提示しましたが、委員名簿、委員会、役職の3つはマスターテーブル、委員会在籍者 は 委員会 と 委員 の在籍状況を格納するテーブルとなります。 なぜ、4つに分けるのか、また、これをどのように活用するか、の説明は、とてもこのスペースでは無理だと思いますので、とりあえず、WEBで「正規化」について解説してあるページをいくつか読んでみて、また、実際に、テーブルを作成して、データ入力してみてください。 その上で、分からないところとか、これをしたいのだがどうしたら良いのか、などと質問していただければ回答します。 テキストですが、私がAccessを使い始めたのは大昔ですので、最近のテキストはどれがいいのかは分かりません。とりあえず入門書は1冊は読んでおいた方がいいでしょう。ただ、テーブル設計とか「正規化」についてつっこんだ解説は入門書にはない場合が多いので、データベース設計一般の解説書を一つは揃えるのもいいかもしれません。 WEBの「正規化」についての解説ページでも結構理解は深まると思います。
補足
補足ありがとうございます^^ すみません><不出来な生徒で。。。 正規化をざっくり考えると1つのキーワード(個々を分類識別できるIDのようなもの?)を主にしてわけれる項目ごとにテーブルを作ってしまいましょうという解釈になったのですがA^^; http://www.shoeisha.com/book/hp/10days/down/Access_temp.pdf を主に参考にしました。 accessにテーブルに新規入力すると自動的に振り分けられるIDを共通に個々フィールドごとにテーブルを作っていけばよいと思ったのですが、例に出していただいた 委員IDと委員会IDはaccessが自動的につけたIDとは別物でしょうか? 委員ID=委員会IDではなく、委員IDも委員会IDも自分がつけた番号順ですか? CDは調べたら意味のある数字ということだったので、自分でつけた順番 この場合だと偉い順ですね。 委員名簿 委員会 役職のテーブル一応作ることができましたが、最後の委員会在籍者というのが先ほどのID問題で先に進めていません。 委員会 委員会ID 主キー オートナンバー型または数値型←とあるので自分で決めた数字かな?とは思うですが、不安なので補足しました。 また、委員会在籍者テーブルを作るに当たり、【委員名簿】からどうやってIDをひっぱってくるのでしょう?手入力でしょうか? 一瞬わかりそうになて、こんがらがり、またわかりそうになって、こんがらがりを繰り返している感じです。 accessは会社のパソコンにしか入ってないので次いじれるとしても9日になります。 質問しておきながらスローペースで申し訳ありませんが、またお手すきの時にでも教えていただければ嬉しいです。 時間がありそうだったら自分でもいじくりまわしてみます^^(笑)
- hatena1989
- ベストアンサー率87% (378/433)
リレーショナルデータベースの設計法に「正規化」という原則があります。 それに沿った設計をしないと、リレーショナルデータベースの機能を十分に活かすことができず、使えないものになります。 今回の場合は、「正規化」に沿った設計の一例をあげると下記のようになります。 委員名簿 委員ID 主キー オートナンバー型 氏名 住所 電話番号 ・・・ その他の個人情報データ 委員会 委員会ID 主キー オートナンバー型または数値型 名称 役職 役職CD 主キー 役職名 委員会在籍者 委員会ID 主キー 委員ID 主キー 役職CD 並び順 データ例 委員名簿 名簿ID 氏名 1 あああ 2 いいい 3 ううう 4 えええ 委員会 委員会ID 名称 1 アアア 2 イイイ 役職 役職CD 役職名 1 委員長 2 副委員長 3 委員 委員会在籍者 委員会ID 委員ID 役職CD 並び順 1 1 1 1 1 2 2 1 1 3 2 2 2 2 1 1 2 3 2 1 2 4 3 1 2 1 3 2 このテーブルからクエリを作成して必要に応じて表示結果を得ることができます。
補足
早々にご回答いただきありがとうございます。 ぱっと読んだところ理解できない私にはアクセスは向いていないんでしょうかね^^; 忙しくなってしまいゆっくり理解しながら読み解くことがまだできていなくて質問しておきながらすみません>< データ例より上の項目はそれぞれテーブルを作るということでしょうか? また、並び替えたい順番ごとにクエリをつくる必要があるということですか? 重複するデータの加減修正するのに便利なものとアクセスをとらえていましたが…どうやら違うのかな^^; 正規化についてよくしらないので今調べているところです。 もし、よければもう少しお付き合いしていただけると幸いですm(__)m ちなみに、hatena1989様は独学で勉強されたのでしょうか? おすすめのテキストなどありましたら教えていただけると嬉しいです。 先日買ったのは「できるアクセス2010」インプレスジャパン社のものです。
お礼
すっかりお返事が遅くなってすみません。 もう見ていないかな…^^;? 仕事が立て込んでたり、腱鞘炎が思わしくなく、思うように時間がとれずすみません。 アドバイスをもとにやれるところまでやってみました。 下のリンク先の新しい質問投稿したところに画像添付でのせました。 できるだけ小さくしたのですがこれでギリギリでした^^; http://okwave.jp/qa/q7762308.html upできるサイズが決まっていて、少しみにくいですが、右クリックで拡大できるかと思います。 まだみていただけていましたらお手数ですがよろしくお願いします。
補足
こんばんは^^ バージョンを書いてなかったですね。すみません。2010です。 前回のとまっていた部分補足を読んでトライしたんですが、時間があまりとれなかったのもありうまくいかなくて、明日時間をみて再度挑戦してみます。 ルックアップ項目はみつけれたのですが、クリックできない状態でした。 ただ、デザインビューにした状態で下のほうに標準タブとルックアップタブがあったのでそこからできそうですが、何やら自動的にクリックして先に進めるようなものがでてきました。 (順を追っていくと簡単にできるのかな?と思ったのですが、不安だったので途中でキャンセルしました。) 丁寧に説明していただいてるのに理解が足りなくてすみません。。。 連休明けNO3の回答を読みつつ脳みそが溶け出そうな気分になりました^^; hatena1989さんはきっと理解力があり賢い方なのだろうなぁと思いました。 少しでもあやかれるよう、明日再び頑張ってみます!! お忙しい中いつもありがとうございます^^