基本(Access)

【入門】Accessでフォームを作る

スポンサーリンク

こんにちは。システム担当の父親、KATSUです。

Excel歴20年、Access歴10年の社内SEです。

ブログは1年半前から書き始め、週1ペースで新記事を投稿しています。

本記事で77記事目、月間PV数は5000前後です。


今回は、Accessフォームの作り方について触れていきますが、フォームを知っていることを前提に話を進めます。

前回はフォームの種類と使い方について解説していますので、興味のある方は先にそちらをごらんください。

この記事を書いている私は、約10年前からAccessを使ったデータベースアプリの開発を行ってきました。

もちろんフォームもこれまでに数百以上は作ってきました。

フォームの作り方もいろいろな手順があるのですが、体系立てて話を進めていきます。

フォームを作る方法は3つに分けられる

フォームの作り方は2とおりあります。

  1. ウィザードから作る
  2. リボンから直接作る
  3. サブフォームを作る

入門者の方は、まずはウィザードを使った作り方をマスターしておきましょう。

元データのテーブルやクエリを選び、「次へ」のボタンをクリックしていくだけです。

ウィザードをしっかりと使いこなすことで、フォームを作るのに必要な手順が身につきます。

リボンのメニューからもフォームを作ることができますが、ウィザードで基本を習得してから実践するのがおススメです。

また、本記事ではサブフォームの作り方についても紹介します。

Accessを使いやすくするためには、サブフォームを設置することも大事になってきます。


本記事用の教材として、Accessデータベースをダウンロードできるようにしておきます。

クエリとテーブルだけのフォームが無いAccessファイルになっています。

Zipファイルになっていますので、解凍してご使用ください。

サンプルデータベース(購買管理システム)

作成方法1-ウィザードからAccessフォームを作る

サンプルデータベースを開くと、テーブルとクエリが作成されています。

サンプルデータベースの中身

ここでは、テーブル「T02発注伝票」を元データにしてフォームを作ってみます。

元データのテーブル

作成タブのフォームウィザードをクリックします。

フォームウィザードをクリック

元データとなるテーブルかクエリを選択します。

テーブルやクエリの選択

「>」や「<」で、フィールドを選んだり外したりできます。

「>>」や「<<」は全てのフィールドが対象です。

フィールドの選択

ここでは全てのフィールドを選択しましたが、フォームを作成した後でもフィールドの加減は可能です。

全てのフィールドが選ばれた状態

フォームの種類を選択します。ここでは「単票形式」を指定しました。

レイアウト指定

フォームの名前をつけます。

フォームの名前をつける

フォームが作られました。

フォームが作成された

単票フォームや表形式のフォームは、レイアウトやコントロールの変更を行い、使いやすいデザインに変えましょう。

タブを右クリックし、デザインビューを選びます。

デザインビューに切り替え

デザインビューに切り替わりました。

デザインビューに切り替わった

デザインビューでは、Excelのオートシェイプを操作するような感覚で、コントロールのサイズや配置を変えることができます。

下のように修正を行いました。

修正後のフォームレイアウト

フォームビューに切り替えてみます。

フォームビューに切り替え

データが入力されている画面を確認できました。

画面の確認

作成方法2-リボンからAccessフォームを作る

空白のフォームとその他のフォームに分けて解説します。

空白のフォーム

フォームをクリックすると、単票フォームが作成されます。

リボンのフォームメニュー

作成したいテーブルやクエリにカーソルを合わせておく必要があります。

テーブルにカーソルを合わせる

空白のフォームは、全くコントロールが配置されていないフォームを作ります。

「フォームデザイン」をクリックしても、空白のフォームが作成されます。

空白のフォーム

その他のフォーム

データシートや分割フォームを作る時に使います。

その他のフォーム

注意しないといけないことは、

  • ほかのオブジェクト(テーブル・フォームなど)を全て閉じておく
  • 対象のテーブルやクエリにカーソルを合わせる

ということです。

手順を間違えると、違う元データからフォームが作られます。

作成方法3-サブフォームを作成する

空白のフォームやデータシートフォームは、単独では使えません。

メインフォームとサブフォームを組み合わせることで、一つのフォームに仕上がります。

実際にサブフォーム2つの方法でサブフォームを作ってみます。

空白のフォームにサブフォームを作る

空白のフォームをデザインビューにしています。

空白のフォームのデザインビュー

サブフォームにしたいテーブルかクエリを選択します。

テーブルの選択

メインフォームのデザインビューに、サブフォームにしたいテーブルをそのままドラッグするだけてす。

テーブルを空白のフォームにドラッグ

「サブフォームウィザード」が起動するので、ここではそのまま「完了」をクリックします。

サブフォームウィザードの起動

サブフォームが挿入されています。

サブフォームが作成された

フォームビューで確認してみると、データシートになっているのが分かります。

データシートになっている

バランスが悪いのでデザインビューでサブフォームの幅を広げ、レイアウトを調整しました。

セルの幅の調整もできる

データシート式フォームは、Excelのような感覚で列幅を調整することもできます。

単票フォームにサブシートを作る

単票フォームにサブフォームを追加すると、メインフォームとサブフォームのデータを連動させることができます。

購買管理システムでは、「T02発注伝票」と「T02発注伝票明細」でリレーションシップを設定しています。

リレーションシップ

また、発注伝票明細テーブルに金額の列を追加したクエリ「Q02発注伝票明細表示用」も作成しています。

クエリのデザインビュー

デザインビューにした単票フォームに、「Q02発注伝票明細表示用」をドラッグします。

クエリを単票フォームにドラッグ

「サブフォームウィザード」が起動します。

リンクの設定を有効にしたまま、完了をクリックします。

サブフォームウィザードでリンク設定

サブフォームが追加されました。

単票フォームにサブフォームが追加された

レイアウトを調整した後のフォームです。

サブフォームのレイアウトを調整

レコードを移動させると、メインフォームと連動して、サブフォームのデータも変わります。

カスタマイズ-コントロールの変更やボタンの追加

レイアウトを調整したフォームを、以下のようにカスタマイズしてみます。

  • コントロールの変更(テキストボックス→コンボボックス)
  • ボタンを追加

Accessフォームをカスタマイズする時によく使われる方法になります。

コントロールの変更

デザインビューに切り替えます。

コンボボックスに変えてみる

テキストボックス「発注先」を選択し、右クリックします。

「コントロール種類の変更」から「コンボボックス」を選択します。

コンボボックスに変更

「発注先」がコンボボックスに変わりました。

コンボボックスに変わった

「発注者」も同じようにコンボボックスに切り替えました。

発注者もコンボボックスに変更

コンボボックスは、リストから複数のデータを選択できるので、作業効率アップや入力ミス防止につながります。

ボタンの追加

次に、フォームにボタンを配置してみます。

デザインタブのボタンを選択します。

ボタンを選択

選択されると、アイコンの背景がグレーに変わります。

ボタンが選択された状態でフォームの上にポインタを載せ、Excelのオートシェイプとおなじ感覚で配置します。

配置されると「コマンドボタンウィザード」が起動しますが、「キャンセル」をクリックします。

コマンドボタンウィザードをキャンセル

フォームの上にボタンを配置しました。

フォームの上にボタン配置

プロパティの「標題」でボタンの表示を変えることができます。

プロパティの標題を変更する

他にも、いくつかのボタンを設置してレイアウトを整えました。

ボタンを追加してレイアウトを調整

このようにAccessのフォームをカスタマイズすると、業務システムのような入力画面を作ることができます。

まとめ

フォームの作り方について簡単に解説しましたが、今回説明できなかったこと(フォームとコントロールの設定)については、次回で解説します。

フォームを思い通りに使えるようになると、Accessをとても便利に使えます。

1記事では内容が収まりませんので、複数記事に渡りますが、ひき続きおつきあいください。


本日もありがとうございました。

スポンサーリンク

-基本(Access)