テーブル作成の第一歩

 Accessにおいてテーブルは最も基本的かつ重要なモノ(オブジェクト)です。とにかくテーブルにデータがないことには何も進みませんので、まずはテーブルを作成してみたいと思います。

テーブル作成の手順

 例としてまずは簡単な住所録を作成することとします。Accessのファイルを開き、ウインドウ上部の「作成」タブを選択した上で「テーブルデザイン」をクリックします。
(※新しいファイルを作成したときは、勝手にテーブルができていてデータが入力できる状態になっているかもしれませんが、そのときはテーブルの右側にある×印をクリックして一度テーブルを破棄し、「作成」タブの選択、「テーブルデザイン」のクリック、と進めてください)


 デザインビューという、Excelではちょっと見たことのないような画面になります。ここでは、テーブルにどのような項目を記録していくのかを定めます。「フィールド名」と記されたところの下のスペースに、記録していく項目を表す名称を入力していきます。「データ型」と記されたところの下のスペースには「短いテキスト」と自動的に入力されていきますが、とりあえずそのままとしておきます。


 ウインドウの左上にある「表示」をクリックし、さらに「データシートビュー」をクリックします。


 このとき、ひとまずテーブル保存するよう促されますので適当な名前をつけてOK(保存)しておきます。


 さらに「主キーが設定されていません。」というメッセージが出ます。主キーというのはデータベースにおいて非常に重要なものなのですが、当面は必要ないので「いいえ」としておきます。


 これでいよいよ実際のデータが入力が可能となります。先ほど定めた「氏名」「住所」といった項目は列(フィールド)の名前として表示されますので、あとはこれに沿って適宜データを入力していくことができます。


AccessのテーブルとExcelのシートの違い

 さて、上記のようにテーブルの作成自体はとても簡単です。列の名前を決めて、あとは上から下に向かってどんどん新しい行を追加していくだけです。Accessのテーブルは基本的に単純で、Excelを使い慣れた人にとってむしろ物足りないと思われるかもしれません。そこで、以下ではExcelシートとの違いと、その理由を整理してみます。

  • 行や列の順序を表す番号がない
     Excelですと行に1,2,3…といった番号があり列にA,B,C…といった記号があります(A1形式の場合)。つまりデータの位置とか順番といった考え方が存在します。
     一方でAccessのテーブルにはそうした記号番号がありません。データの順番とか位置という考え方がAccessにはないのです。
     なかなかピンとこないかもしれませんが、Excelでは「セル位置を指定する」という方法で(例えば「=A1」と記すことで)データを参照します。一方でAccessでは「列名と値の条件を指定する」という方法で(例えば「身長列の値が170以上」と指定することで)データを取り出すため、記号や番号を持つ必要がないのです。これはAccessに限らず、データベースと呼ばれるソフトの重要な特徴です。

  • 他の列や行の値を参照できない
     Excelでは「=A1」などと記すことで他のセルの値を参照し、表示することができますが、Accessのテーブルにそのような機能はありません。
     これは、Accessのテーブルは「生のデータ」を記録するためのものだからです。必要なデータを取り出すときはテーブルではなく、通常「クエリ」というモノ(オブジェクト)を用います。これは後の節で詳しく紹介します。

  • 行と列の意味が明確に区別されている

    f:id:accs2014:20180630175118p:plain:right:w500

    Excelでは1レコード=1列という表も作成できるが…

     Excelにおける行と列の関係は単に横と縦の関係でしかありませんので、例えばこの画像のように1件のデータを1つの列に割り当てるような表を作ることができます(あまり便利とは言えませんが)。
     しかし、Accessの場合、列は記録されるデータの内容を区別するものであり、行は1件1件のデータである、ということが明確に区別されます。画像のように1件=1列にしようとすると入力のたびに列を設定しなければならず使い物になりません。また、Excelのように1つのシートに複数の異なる表を詰め込む、といった使い方もできません。

  • セルの結合ができない、罫線がひけない
     Excelでは当たり前のようにできるセルの結合がAccessではできません。Excelのセルの結合は見た目を整える上では大変便利なのですが、データの抽出や集計といった面では支障になりますので、Accessにそのような機能は用意されていません。テーブルの整然とした体裁を崩すことは絶対にできないようになっています。
     そしてテーブルでは罫線もひけません(全体的に枠線を定めることはできますが、部分的にひくことができません)。1つのシートに複数の異なる表を詰め込むことが珍しくないExcelと違い、Accessのテーブルは均質な1つの表であり、部分的に線を引く必要性がそもそも薄いのですが、いずれそのような装飾機能はExcelと比べて大きく制限されています。

まとめ

 テーブルの作成自体は何も難しくありません。デザイン画面の存在などExcelシートとの違いはありますが、その機能ははるかにシンプルなものです。途中で現れた「主キー」など、実は重要な設定もいろいろありますが、それらは以降の節で一つ一つ紹介していきたいと思います。 
 なお、Excelとの比較からわかるように、制約が多く、できることが少ないのがAccessのテーブルです。しかしそのおかげで列として定義された内容が整然と記録されるようになるため、結果的に安全で効率的なデータの活用が可能となります。すぐにはわかりにくいかもしれませんが、リレーションシップやクエリといった機能やオブジェクトの理解が進むにつれ、そのメリットを実感できることと思います。