【ACCESS】テーブル・クエリ・フォーム・レポート・マクロ・モジュールなどのオブジェクトについて

この記事は約6分で読めます。

この記事では、ACCESSの各オブジェクトについてご紹介します。

一利用者としてよりも、ACCESSを使ったデータベースの構築を行う方に向けた記事になります。

厳密な正しさよりも、自分が実際に使っていくなかで腹落ちしたこと、納得した説明を記載しています。

はじめに

データを管理する上で、必要となる最低限の機能があります。それは追加(Create)・参照(Read)・更新(Update)・削除(Delete)です。4つの頭文字をとってCRUDと呼ばれることもあります。

Excelはシート内でこれら4つの機能を全て含んでいます。セルにデータ新しく入力したり、既に入力されているデータを編集したり、セルの内容を削除したり、シートを開いた時点でデータを見るといったものです。

ACCESSではこれらの機能をExcelのシートのように全て1つにまとめているのではなく、オブジェクトと呼ばれるいくつかの機能に分けられています。状況に応じて適切なオブジェクトを組み合わせて使うことで、高機能な業務システムを構築することができます。

次の項目からよく使うオブジェクトについて紹介していきます。

テーブル

Excelで言うところの表形式のデータになります。

Excelでは新しいシートにデータを入力していくときは、特に表形式とはなっておらず、列名や行ごとの番号(ID)を振る必要もなく、自由にデータを入力することができます。

しかし、ACCESSでは必ず表形式で入力することが必要です。列ごとに名前を決めて、文字や数字、日付と言ったデータの型を決めたり、入力必須などの設定を行うことができます。

また、Excelではシートを複数作成し、表形式のデータを複数個用意しておき、必要に応じて各シート内のデータを参照して処理を行うことがありますが、ACCESSでも同様にテーブルを複数個に分けてデータを管理します。

テーブル同士はリレーションと呼ばれるお互いの関係性を決める設定を行ったり、フォーム・マクロ・モジュールなどの他のオブジェクトからの操作によって必要に応じてデータの追加・参照・更新・削除、さらにはその他の処理が行われます。

ACCESSでのテーブルの作成と管理は、初めに設定しなければならないことや考えなければならないことが多いので、使い始めの頃はExcelと使用感が違って戸惑ってしまうことが多いですが、きちんとテーブル設計をして作成すると、なくてはならないデータの抜け漏れ防止や、利用者による入力の揺れ(全角/半角やスペース有無など)の防止、集計時にデータを細かく微調整して集計しやすくする作業(いわゆる正規化)の抑制など、後々助かることが多くなります。

フォーム

フォームはデータの入出力を行うオブジェクトです。

ACCESSを使ったデータベースを利用する上で、一般ユーザーが使用することが多いオブジェクトになります。

フォームでは新しいデータの追加、既存のデータの参照と更新、削除などをするために、入力欄やチェックボックス、ボタンなどを作成して設置します。

タイトルやフォームのヘッダーとフッター、それぞれの入力欄の色や配置など、様々なデザインも行うことができるので、きれいな見た目にするためにこだわり抜くことができる部分でもあります。

実際の業務で利用者が行う操作の多くはこのフォーム上から行うことになるので、しっかりとデザインされたフォームを使うことができると利用者としても気持ちよく業務に取り組むことができます。

デザインの作りこみはACCESSでの業務システム構築をする上では手間ですが楽しい作業になります。

また、各入力欄にデータが打ち込まれたり、ボタンがクリックされると、それをテーブルに書き込んだり印刷用のオブジェクトに出すなど、裏側で多くの処理を行います。これには、マクロやVBAを書き込んだモジュールを使うことも多く、利用者側が見えない部分でも力を入れて作りこみができる部分になります。

見た目に良いデザインを行い、必要十分な入力項目を用意し、実際にデータを打ちこんでみると素早く管理・更新処理ができ、データの祖語もないようにできれば、しっかりと使っていける業務システムの構築ができたことになります。

クエリ

テーブルの中から必要な情報だけを抜き出して表示したり、テーブル上のデータに対して更新や削除、追加などの一括で操作を行いたいときに使用します。

データベースに対して検索条件を指定して問い合わせを行うことがおおいのですが、この時にはACCESSが備えている関数を使用することができます。

より詳細な条件を指定して問い合わせをする場合は、SQLと呼ばれるデータベースを扱うための言語を使うこともできます。

マクロ

ボタンが押された時、入力欄にデータが入力された時など、利用者が何らかのアクションを起こした時などに、裏側で動く処理を設定することができます。

これは次の項目で紹介しているモジュール(VBA)とは異なり、ACCESSの上部にあるメニューでの設定や右側にあるプロパティの設定などと組み合わせて使用することで簡単に自動的に処理を行う機能を作ることができます。

こんな時にはこの処理、あんなときにはあの処理と言った形で、条件に応じて分岐を行うなどの設定もできるのですが、これらをクリックと簡単な入力だけで済ませることができます。

ACCESSを使い始めたけどまだVBAのコードを打ち込むのは勉強中という方にはお勧めです。ただし、業務として使っているともう少しこういう風に改善したいなと思う点もたくさん発生してくるのですが、マクロだけでは設定できないこともあるので、より強力なデータベースを構築するためにはいずれVBAのコーディングを含めたモジュールを使い始めることになります。

モジュール(VBA)

前の項目のマクロからもう一歩進んで、VBAでコードを行って様々な機能を構築することができます。

VBAはもともとVisual Basicと呼ばれる言語をアプリケーション(Application)上で使えるようにしたものです。

覚えることが多く勉強するのは大変ですが、1つ1つ積み重ねていくことでマクロを使ったものよりもより詳細で複雑な処理を作成することができます。VBAの勉強をしつつモジュールを作りこんでいけばマクロを使ったものよりもさらに強力なデータベースを構築することができます。利用者側の負荷は減り、管理者側の集計作業なども自動化することができるので、とても便利になります。

大きな企業に所属していたとしても、VBAを使ってコードを書くことができる人は限られているので、使いこなすことができれば自分のスキルにもなります。

一方で、あまりに作りこみすぎると他の人が引き継いだ時にどのようなことを行っているのか、全貌が掴みにくくなることや、ちょっとした変更が思わぬ影響を与えることなどもあるため、データベースの構築と同様に、モジュールを使った機能を作る時にしっかりと考える必要があります。

参考

レポートやストアドプロシージャなど、他にもACCESSが備えているオブジェクトはあるのですが、今回はよく使うものに絞ってご紹介しました。

ACCESSが備えているオブジェクトはマイクロソフトのサイトで記載されています。

公式のドキュメントなのでこちらもご覧ください。

AccessObject オブジェクト (Access) | Microsoft Learn

 

ACCESSの記事を一覧にしています。ACCESS VBAの正式な情報は公式ドキュメントを読むべきですが、このサイトでは実際に使う場面を想定して紹介しているので、公式ドキュメントと併せて読んでいただくと理解が深まると思います。

ACCESS記事一覧

ACCESS
シェアする
柳をフォローする
Best Practice

コメント