Microsoft Accessの質問です。


今、とある住所録がAccessのファイルであります。もともとExcelで作っていたものをインポートしたので、例えば「都道府県名」などがテーブル分けされていません。なので「東京都」みたいなのがセルに羅列してしまっている状態です。通常Accessの場合、このようなのはテーブル分けすると思いますが、この状態からどのようにやればよいでしょうか?

・都道府県テーブルの作成
・主キーの作成(都道府県IDの作成?)
・リレーションシップの作成

この辺をポイントに分かりやすくお願い致します。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/08/08 08:35:00
  • 終了:2006/08/15 08:35:02

回答(2件)

id:keima87 No.1

keima87回答回数53ベストアンサー獲得回数22006/08/08 09:13:19

ポイント35pt

まず都道府県IDはつかわなくてもよい気がします

理由は郵便番号で判別するほうが便利だからです

 

本題に入ります

まず都道府県テーブルを作ります

都道府県ID(オートナンバー)

都道府県名

の二つのフィールドを用意します

そして都道府県名に都道府県を全部入力します

 

北海道

青森県

岩手県

秋田県

宮城県

山形県

福島県

茨城県

栃木県

群馬県

埼玉県

千葉県

東京都

神奈川県

新潟県

山梨県

長野県

静岡県

愛知県

岐阜県

三重県

福井県

石川県

富山県

和歌山県

滋賀県

奈良県

京都府

大阪府

兵庫県

岡山県

広島県

鳥取県

島根県

山口県

香川県

徳島県

愛媛県

高知県

福岡県

佐賀県

長崎県

大分県

熊本県

宮崎県

鹿児島県

沖縄県

 

これをコピーしてペーストしてください

そして都道府県名を主キーに設定します

そして住所録テーブルの都道府県名とリレーションシップを結びます

 

住所録テーブルに都道府県IDフィールドを作成します

 

都道府県名テーブルから

ID

都道府県名

のフィールド

住所録テーブルから

ID

都道府県名

のフィールド

が入ったクエリを作成します

 

都道府県名テーブルのIDをすべて選択し

住所録テーブルのIDにペーストします

 

クエリを閉じます

 

リレーションシップを都道府県名からはずし

主キーをIDに変更します

 

リレーションシップをIDで結びなおします

 

これで完成です

ダミー

http://www.yahoo.co.jp/

id:perishable

ありがとうござます。本日夜やってみます。ちなみに今回「都道府県」を例に挙げましたが、住所とは関係ない項目でもテーブル化したいものがあります。差し支えなければそれもご教授頂ければ幸いです。ほとんどやり方は同じかもしれませんが。もう少し回答お待ちします。

2006/08/08 09:22:10
id:rikuzai No.2

りくっち回答回数1366ベストアンサー獲得回数1412006/08/08 10:50:13

ポイント35pt

http://makotowatana.ld.infoseek.co.jp/access/achowNormalizer...

http://www.microsoft.com/japan/office/previous/xp/suminaka/a...



ご要望のような処理を「テーブルの正規化」とAccessでは言っているのですが、

質問者さんのお持ちのAccessが2000以上なら「正規化ウイザード」を使われるという方法もあります。

上記のサイトにはウイザードの簡単な手順が掲載されていますので、

一度チャレンジされてみてはどうでしょうか。


一項目ずつご自分で作成される場合は、

1の回答者さんの方法とほとんど変わりませんが、

都道府県のように最初から項目内容が決まっているものでなく、

独自のものや、月日などのように累積していくものについては、

まず項目をグループ化したテーブルをつくる必要があります。


  • 新規のクエリをデザインビューで開いて、正規化したいテーブルをマウントします。
  • 正規化したい項目をドラッグし、上部のツールバーの中にある集計ボタン(Σ)を押してグループ化とします。
  • 同じくツールバーの「クエリの種類」から「テーブル作成」を選択し、出てきたダイアログにその項目名を記入してOKします。
  • 実行ボタンを押します。これで項目がグループ化されたテーブルが、先ほど記入した項目名として新規作成されます。
  • 新規作成されたテーブルをデザインビューで開き、項目の一番上に行を挿入して、「ID」と項目名をつけ、データ型を「オートナンバー」にします。
  • 保存してテーブルビューで開きます。自動的にID欄に連番がつきます。
  • 元テーブルをデザインビューで開き、正規化した項目の次に一行挿入し、「ID」「数値型」とし、下部にある「フィールドサイズ」を「長整数型」に設定して保存し、閉じます。
  • クエリ画面にうつり、新規クエリをデザインビューで開きます。元テーブルと新規作成テーブルをマウントします。
  • 元テーブルと新規作成テーブルのそれぞれの項目フィールドをリレーションで結びます。
  • クエリの種類を「更新クエリ」に変更し、元テーブルの「ID」フィールドをドラッグし、

「フィールドの更新」に「[新規作成テーブル名]![項目名]」と記入し、実行ボタンをクリックします。これで元テーブルにIDが書き込まれます。

  • 元テーブルをデザインビューで開き、項目フィールドを削除します。
  • 新規作成テーブルをデザインビューで開き、「ID」フィールドを主キーに設定します。
  • ツールバー「ツール」→「リレーションシップ」をクリックし、元テーブルと新規作成テーブルを選択します。
  • それぞれの「ID」フィールドをリレーションで結び、保存し、閉じます。

以上のような感じで作成することができます。

http://www.accessclub.jp/bbs3/0068/superbeg25560.html

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません