Access:とりあえず使ってみる4
テーブルを作ってみる。Accessを起動して、データベースウィンドウのテーブルをクリック。すると、こんな感じになるはず。↓そこの丁度反転している“デザインビューでテーブルを作成”をダブルクリック。そうすると、どんな項目(フィールド)をどんなデータ型で作るかを設定しながらテーブルを作成できる。データ型には、ただの文字列のテキスト型、数字の数値型、などがあるが、その辺もスルー。とりあえず、フィールド名とデータ型というところに、 フィールド名 データ型・顧客ID オートナンバー型・氏名 テキスト型・都道府県 テキスト型・住所 テキスト型・固定電話 テキスト型・携帯電話 テキスト型と、画像のように入力してみる。データ型は、ドロップダウンメニューから選ぶ。 オートナンバー型というのは、Access独特のもので、こうしておくと、自動的に新規のデータにIDを割振ってくれる。テキスト型は、文字列。え?電話番号も?別に数値でもいいが、面倒なのでテキスト型に。書式を設定したり、定型入力というのもあるが、その辺は参考書籍をどうぞ。とりあえず、だまされたつもりで作ってみよう。次に、顧客ID、というフィールド名の左横の四角の部分を右クリックする。そうすると、“主キー”という項目があるのでそれを選択(ここ大事)。主キーが設定されると、顧客ID、という名前の左にカギマークが出る。終わったら、右上の×をクリックして閉じる。保存するか聞いてくるので、もちろん保存する。名前は・・・“T_顧客”にしておく。同じ要領で、もう一個テーブルを作ろう。 フィールド名 データ型・顧客ID 数値型・購入商品名 テキスト型・金額 通貨型面倒なので、フィールドは三つにしよう。あれ?顧客IDが数値型だよ?いいんです。さっきのT_顧客テーブルで、自動でIDを割振るのに、こっちでも自動割振りすると、かちあってしまう。なので、こちらはT_顧客テーブルの指定するIDをそのまま使う。だから、数値型。金額は、まあ、せっかくだから通貨型にしてみた。新しいテーブルの名前は、“T_購入歴”にしようか。あ、閉じるときに、と警告が出るが、迷わず“いいえ”を選択。なんで、二枚もテーブルがいるのか。こうすることで、顧客1人につき(基本的に)一個しかない情報、例えば氏名などは、T_顧客テーブルに一回だけ入力すれば済む。(氏名が複数あったらジェームズ・ボンドだ)そして、イメージとしては、その顧客を示すIDをT_顧客テーブルで設定し、T_購入歴テーブルに渡す。そうすると、その購入歴が、どの顧客のものなのか識別できる。しかも、購入商品数が増えたところで、T_購入歴テーブルが縦に伸びるだけで済む。最初のうちは、“何について”の情報なのかを考えて、その“何か(ここでは顧客)”一つにつき、一個しかない情報と、複数あり得る情報に分けて、それらを二つのテーブルに分けて記録するようにしてみよう。結構、それだけでもDBっぽいものができる。Access使っているような気分になれる。さて、テーブルの仕上げ。Accessにはリレーションシップというものがある。たまに、リレーションシップがあるからリレーショナルデータベース(RDB)なんだ、と思っている人がいるが、それは違う。どう違うのかは、ここではスルー。仕上げに、二つのテーブルの間に、リレーションシップを作成する。データベースウィンドウで、オブジェクト:テーブルを選択し、何にもない無地のところで右クリックする。そうすると、リレーションシップという項目が出てくるので、それを選択。↑のような、ウィンドウが開くのでさっき作った二つのテーブルを追加する。追加したら、T_顧客テーブルの顧客IDをドラッグして、T_購入歴テーブルの顧客IDのところにドロップする。すると、次のようなウィンドウが開くはず。参照整合性なんて書かれた、三つのチェックボックスがあるはずなので、全部にチェックを入れる。そうすると、↑のような状態になるはず。1と∞のマークがある。T_顧客テーブルでは顧客IDが重複して現れることはなく(1)、T_購入歴テーブルの方には同じ顧客IDが複数現れる可能性がある(∞)、というふうにおさえておこう。これで、テーブルの準備もOK。保存して終わり。お疲れ様。次はからは、フォームを作っていく。とにかく、使ってみて、慣れよう。