ACCESS フォームとは
ACCESSで利用者が最も目にする画面がフォームです。
ACCESSは入力画面を自由に設計して、利便性を高めることができる点が特徴です。
今回は、ACCESSのフォームについてご紹介します。
こんにちは。
はこにわガジェット (@hakoniwagadget) です。
ACCESSを使った売上管理、顧客管理などのデータベース開発を行っています。
ACCESSは使いこなすために少しスキルが必要なものの、うまく活用すればExcelよりも業務の効率化が図れます。
この記事ではACCESSの基本的な使い方をご紹介していきます。
目次
フォームとは
フォームとは、テーブルに格納したデータを表示したり、新たなデータを入力する際に利用する画面全般です。
ACCESSではこのフォームを自由に作ることが可能です。
ユーザーは基本的にフォームを使ってACCESSを操作しますので、ACCESSの中で最もよく利用されるオブジェクトといえるでしょう。
フォームの種類
フォームには大きく分けて2種類のものがあります。
単票フォーム
ACCESSの1レコードを1画面に表示するタイプのフォームです。
データの入力や更新を行う際にはこの単票フォームを使う方がやりやすくなります。
帳票フォーム
一方、複数のレコードを一覧表示するのが帳票フォームです。
画面中央にレコードが並んで表示されていることが分かると思います。
表示の仕方としてはExcelに近いですね。
こちらは多くのレコードを網羅的に見ることができるので検索画面や一覧表示画面で利用できます。
フォームのビュー
ACCESSのフォームは、日常的にユーザーが利用するフォームビューと、フォームを作成するためのデザインビューの2つを使い分けていきます。
2つのビューは、左上の表示ボタンから切り替え可能です。
フォームビュー
フォームビューはユーザーがデータを入力したりボタン操作するためのビューです。
一つ注意したいのは、フォームビューではユーザーが自分で列や行の幅を変えたりすることができない点です。
Excelでは文字数が多くなったら行や列の幅を変えることができますが、ACCESSのフォームビューではそれができません。
ユーザーはあくまで決まった表示レイアウト上での操作しかできなくなりますので、このあたりを考慮した画面設計が必要です。
デザインビュー
そして、フォームを作るための画面がデザインビューです。
デザインビューではテキストボックスの新規作成やレイアウトの変更、ボタンの配置などが可能です。
VBAを使えば様々な自動化処理を作成することが可能ですが、これらもデザインビューで作成していきます。
デザインビューでよく利用するのがプロパティシートです。
画面上段の「フォームデザイン」メニューから表示することができます。
プロパティシートでは選択したオブジェクト(テキストボックスなど)の設定を細かく変更することが可能です。
上記は、「処理日」というテキストボックスのプロパティシートです。
テキストボックスの名前やコントロールソース(テーブル上のどのフィールドとこのテキストボックスを連結するか)、幅や高さ、フォントサイズなどの見た目の設定もここで行うことができます。
フォームのセクション
フォームの画面は、いくつかのセクションによって構成されています。
セクションはデザインビューで確認することができます。
セクションはデザインビューの中で灰色の帯で表示されます。
上記の例では、フォームヘッダー、詳細、フォームフッターの3つのセクションがあることが分かります。
同じフォームをフォームビューで確認すると、それぞれのセクションが下記のように表示されます。
フォームヘッダーセクション
フォームヘッダーセクションは、フォームの一番上に表示されるセクションです。
フォームのレコードが移動しても常に同じものが表示されます。
そのため、フォームのタイトルや非連結のテキストボックスなどを配置することが多いでしょう。
詳細セクション
詳細セクションは実際にテーブルのデータを表示する箇所です。
上記の例のように帳票フォームでは、デザインビューで1行分のレイアウトを決めておくとレコードが複数回繰り返しされます。
レコード数が多い場合はスクロールバーが右側に表示されます。
単票フォームの場合は1レコードの値が1画面に表示されます。
フォームフッターセクション
フォームの最下部に常に表示されるのがフォームフッターセクションです。
詳細セクションのレコードがどれだけ多くとも、フォームフッターセクションは必ず表示されますので上記のように各種のコマンドボタンを設置することが多い領域です。
フォームのコントロール
フォームにはテキストボックスやコンボボックス、ボタンなどを配置することができます。
これらのフォームに配置する要素のことをコントロールと呼びます。
フォームへのコントロールの追加は、フォームをデザインビューで開いた状態でACCESSの上段のメニューのフォームデザインから選択して行うことができます。
ACCESSのフォームで利用できるコントロールを以下でご紹介します。
テキストボックス
もっとも一般的なコントロールで、自由にテキストを入力することができる領域を作ります。
プロパティシートの書式で日付、数値、通貨など様々な入力書式を設定することが可能です。
日付型を選択すると、自動的にカレンダー入力が可能になります。
ラベル
ラベルも非常によく利用するコントロールです。
ラベルは文字を表示するだけで入力はできないコントロールです。
主にテキストボックスとセットで利用しますが、それ以外にもフォームのタイトルや注意書きなどを表示したい際に利用可能です。
コンボボックス
コンボボックスはプルダウン型で選択できる形のコントロールです。
Excelでいう入力規則と同じようなものですね。
ACCESSの場合はコンボボックスの選択肢はテーブルまたはクエリで指定します。
リストボックス
リストボックスは選択肢の候補を一覧表示するコントロールです。
コンボボックスと用途は似ており、既定の選択肢の中から選択させる際に利用しますが、一覧性が高いことから主に選択肢の数が少ない場合に利用されます。
ボタン
ボタンは押すことが可能で、ボタンに各種処理を紐づけることができます。
ボタンをクリックした際のイベントとして、VBAのプログラムを紐づけることで、様々な処理を作ることができます。
サブフォーム
サブフォームは、フォームの中に別のフォームを表示するものです。
上記の赤枠部分がサブフォームです。
サブフォームに対して主となるフォームをメインフォームと呼びます。
上記のようにメインフォームは単票形式、サブフォームは帳票形式で作ることが多く、単票形式で表示したレコードに紐づく別のデータを帳票形式のサブフォームで表示します。
代表的なコントロールをご紹介しましたが、これ以外にも線や四角形、チェックボックス、画像、添付ファイル、グラフなど様々なコントロールを配置可能です。
フォームの作成方法
それではフォームの作成方法をご紹介します。
フォームの作成方法は大きく分けて2通りあります。
1.フォームウィザードで作成する方法
フォームウィザードでは、簡易的なフォームを質問に答えるだけで作成することができます。
初めてフォームを作成する方はウィザードを利用すると便利でしょう。
フォームウィザードはACCESSのメニューから起動できます。
2.デザインビューで作成する
もう一つの方法は、デザインビューを使ってフォームを作成する方法です。
空のフォームを自分で設定して作っていきますので、自由度高く柔軟に作成することができます。
ACCESSのメニューに「フォームデザイン」がありますので、こちらのボタンを押すことで空のフォームが作成されます。
詳しいフォームの作成方法は以下の記事をご覧ください。
特にデザインビューで作成する場合は以下の記事が参考になると思います。
フォームの作成例
実際にACCESSで作成したフォームをいくつかご紹介します。
データ入力フォーム
最初にご紹介するのはデータを入力するためのフォームです。
おそらく、このタイプのフォームが一番多く作られるでしょう。
ACCESSではテーブルに直接データを入力することも可能ですが、それだと入力効率が良くありません。
入力用のフォームを作成することで効率よくデータ入力が可能です。
上記は売上伝票の入力フォームです。
顧客名を検索結果から選べるようにしてあり、また、売上金額の合計値は明細を自動で集計するようにしています。
入力フォームでは、利用者が1クリックでも少なく、ミスなく入力できるようにユーザーインターフェースを工夫することが最も重要です。
検索フォーム
2つ目は検索フォームです。
こちらも非常によく使います。
ACCESSでは大量のデータを扱うため、必要なデータを簡単に探せることが重要です。
ACCESSの基本機能であるクエリを使用すればデータの抽出はできますが、そうなるとクエリの操作を習得しなければいけません。
開発者ならともかく、ACCESSの利用者にクエリでデータ抽出を行わせるのは難しいため、あらかじめデータを検索できるフォームを作っておくことをお勧めします。
さらに、検索フォームから各データの詳細のフォーム(前述した入力フォーム)へ遷移できるようにしておくと便利です。
上記は売上伝票の検索フォームです。
上段には検索条件が並んでおり、日付、顧客名、商品名などで検索できるようにしてあります。
下段には検索条件に応じたレコードが表形式で表示されます。
集計フォーム
次に集計フォームをご紹介します。
データの集計もフォームで行えるようにしておくと便利です。
こちらもクエリを利用すれば集計できるのですが、利用者が簡単に集計結果を見られるようにするために、あらかじめデータの集計ができるようにしたフォームを作っておきます。
集計方法や期間などを可変にしておくことで柔軟性が高まるでしょう。
上記では売上伝票を、月、顧客、商品の単位で集計してランキング表示しています。
メニューフォーム
最後にメニューフォームです。
フォーム画面が多くなってきたら、フォーム画面を呼び出すためのボタンだけをまとめたメニューフォームを作成すると便利です。
似たような名前のフォームが多いと間違えも増えますので、こうしたメニュー画面からユーザーに操作させることで誤操作も防げます。
上記は様々な機能をボタンとして配置して各フォームを呼び出せるようにしたメニュー画面です。
このように様々なフォームを作ることでACCESSの利用をより便利にすることが可能です。
以上、ACCESSのフォームについてご紹介しました。
ACCESSを使いこなせば、業務の効率化や自動化が実現できます。
しかし、自分でACCESSを学ぶには時間がない、難しそうで不安、という方も多いでしょう。
そんな時は、ACCESS開発歴20年以上、過去に100以上のACCESSデータベースを開発してきた私(@hakoniwagadget)にお任せください。
ACCESSの新規開発、既存のACCESSの修正、ACCESSの操作レッスンなど様々なサービスをご提供しています。
ご興味のある方は下記のサービス一覧をご覧ください。
最後までお読みいただき、ありがとうございました。