ExcelとAccessの学習サイトです

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

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

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

https://sys-daddy.com/access-form-beginner

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

空白のフォーム

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

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

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

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

その他のフォーム

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

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

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

ということです。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

コントロールの変更

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

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

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

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

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

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

ボタンの追加

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

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

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

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

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

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

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

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

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

まとめ

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

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


当ブログでは、Accessアプリの使い方について解説した他の記事もあります。
下にまとめ記事のリンクを入れておきますので、よかったらごらんください。

https://sys-daddy.com/learning-access-apps
  • B!