以下の過去記事のように、以前ExcelVBAエキスパートスタンダードについて書きました。この資格を取得する理由や目的は過去記事にいろいろと書いていきましたが、この次は「AccessVBA」を取得しようと思っていました。
しかし自分はこれまでの仕事で、そもそも「Access」というデータベースソフト自体をほとんど触ったことすらありません。ですからAccessVBAの前に、まずはAccessを勉強しなければいけないということで、最近はAccessについて勉強していました。
Accessを勉強し始めてまだそれ程時間は経っていないのですが、「Accessってこんなことまでするの?」とか「Excelと比べるとこういった部分が便利かもしれない」などいくつか気づいたことがありました。
自分はまだ会社の業務などでAccessを使ったことはなく、勉強した範囲内でしか書けませんが、その中で気づいたことを自分なりに簡単にまとめていってみようかと思います。
データベースソフトであるAccessの概要
そもそもデータベースソフトとは何か、Accessとは何かについては以下の過去記事で簡単にまとめてあります。
もう少し具体的にどういった機能があるかというと、大きく分けて以下の4つがあります。
- テーブルによるデータの格納
- クエリによるデータの加工
- フォームによるデータの入力
- レポートによるデータの印刷
これらについて順番に説明していきます。
テーブルによるデータの格納
Accessにおけるテーブルによるデータの格納とは『よくわかる Microsoft Access 2013 基礎 (FOM出版のみどりの本)』において以下のように書かれています。
p.42
「テーブル」とは、特定のテーマに関するデータを格納するためのオブジェクトです。Accessで作成するデータベースのデータは、すべてテーブルに格納されます。特定のテーマごとに個々のテーブルを作成し、データを分類して蓄積することにより、データベースを効率よく構築できます。
AccessにはExcelでいうところの行にあたるレコードと、列にあたるフィールドと表であるテーブルをつくっていく必要があります。
Excelともうひとつ違うところは、Accessには「主キー」というものがあります。これは、マスタとなるテーブルと別のもうひとつのテーブルにおいて、「商品コード」など2つのテーブルで対応するコードがあれば「リレーションシップ」という形で結びつけることが出来ます。
この機能によって別のテーブルで商品コードを入力すれば、マスタとなるテーブルの商品コードを参照して、マスタのテーブルにある商品名や商品単価も、別のもう一方のテーブルに自動的に入力される、という仕組みです。他にもリレーションシップによってExcelにはないメリットがいくつもあります。
クエリよるデータの加工
クエリよるデータの加工とは、要はExcelでいうところの検索機能みたいなものです。例えばExcelで表があったとして、フィルターをかけて表の一番上の項目の部分で文字列を入力したり、「1,000以上」といった比較演算子を使って特定の行を表示させる時ってたくさんあるのではないでしょうか。
Accessでもそういった形で特定の条件で意図するレコードを表示させる方法はあるのですが、Excelと異なる点は「複数のテーブル間で特定の条件で特定のフィールドを1つのテーブルにして抽出できる」といったことや「既存のフィールドを元に演算フィールドを作成できる」機能があるところです。
クエリというのは、Excel以上に様々な条件で検索できるということと、それは複数のテーブル間でもいろんな形で抽出できるということです。
フォームによるデータの入力
フォームというのは、日頃からExcelを使っている人にはあまり馴染みがないかもしれません。ExcelVBAなどを勉強すると、この使い方はたくさん出てきます。フォームについては『よくわかる Microsoft Access 2013 基礎 (FOM出版のみどりの本)』に以下のように書かれています。
p.118
「フォーム」とは、効率よくデータを入力したり、更新したりするためのオブジェクトです。フォームを利用すると、1レコードを1画面に表示したり、帳票形式で表示したりできるので、データの入力が容易になります。
例えばExcelの場合だと表に直接数値や文字列を入力していくことが多いですが、Accessだと表であるテーブルに入力する前に、ある程度固定された入力項目があるフォームを使うことにより、ワンクッションおいてわかりやすい形で入力することができるということです。
Accessにおけるフォームというものは、ただ単純にわかりやすい入力項目があるという形になっているだけではなく、いくつかのレイアウトや項目ごとにプロパティを通して書式や入力できる範囲などを設定することもできます。
レポートによるデータの印刷
Accessでできるレポートによる印刷とは、Excelでいうところの表の印刷形式の設定にあたるかと思います。Excelでは印刷する前に「改ページ」の設定や表をどれくらいの大きさで印刷するかの倍率を設定したりすることができますが、Accessだとそれ専用の画面があってさらに細かく設定できる感じです。
Accessでテーブルを印刷できるレポートという機能を使うと、それまでに作成してきたテーブル、クエリから印刷したい特定のフィールドを選択することができます。また印刷形式において
- 単票形式
- 帳票形式
- 表形式
といったレイアウトを選択することもできます。
またデザインビューという画面を使うと、テキストボックスやラベルなどを通して、自分の意図したものを表示させたい所に表示させることができます。
例えばレポートのヘッダーの部分に担当者コードやそれに対応する担当者名を表示できるようにしたり、レポートのフッターの部分に取引先ごとに売上金額の合計を自動で表示させることができるように設定できます。
コメント