今回は、Accessフォームの作り方について触れていきますが、フォームを知っていることを前提に話を進めます。
前回はフォームの種類と使い方について解説していますので、興味のある方は先にそちらをごらんください。
もくじ
この記事を書いている私は、約10年前からAccessを使ったデータベースアプリの開発を行ってきました。
もちろんフォームもこれまでに数百以上は作ってきました。
フォームの作り方もいろいろな手順があるのですが、体系立てて話を進めていきます。
フォームを作る方法は3つに分けられる
フォームの作り方は3とおりあります。
- ウィザードから作る
- リボンから直接作る
- サブフォームを作る
入門者の方は、まずはウィザードを使った作り方をマスターしておきましょう。
元データのテーブルやクエリを選び、「次へ」のボタンをクリックしていくだけです。
ウィザードをしっかりと使いこなすことで、フォームを作るのに必要な手順が身につきます。
リボンのメニューからもフォームを作ることができますが、ウィザードで基本を習得してから実践するのがおススメです。
また、本記事ではサブフォームの作り方についても紹介します。
Accessを使いやすくするためには、サブフォームを設置することも大事になってきます。
本記事用の教材として、Accessデータベースをダウンロードできるようにしておきます。
クエリとテーブルだけのフォームが無いAccessファイルになっています。
Zipファイルになっていますので、解凍してご使用ください。
作成方法1-ウィザードからAccessフォームを作る
サンプルデータベースを開くと、テーブルとクエリが作成されています。
ここでは、テーブル「T02発注伝票」を元データにしてフォームを作ってみます。
作成タブのフォームウィザードをクリックします。
元データとなるテーブルかクエリを選択します。
「>」や「<」で、フィールドを選んだり外したりできます。
「>>」や「<<」は全てのフィールドが対象です。
ここでは全てのフィールドを選択しましたが、フォームを作成した後でもフィールドの加減は可能です。
フォームの種類を選択します。ここでは「単票形式」を指定しました。
フォームの名前をつけます。
フォームが作られました。
単票フォームや表形式のフォームは、レイアウトやコントロールの変更を行い、使いやすいデザインに変えましょう。
タブを右クリックし、デザインビューを選びます。
デザインビューに切り替わりました。
デザインビューでは、Excelのオートシェイプを操作するような感覚で、コントロールのサイズや配置を変えることができます。
下のように修正を行いました。
フォームビューに切り替えてみます。
データが入力されている画面を確認できました。
作成方法2-リボンからAccessフォームを作る
空白のフォームとその他のフォームに分けて解説します。
空白のフォーム
フォームをクリックすると、単票フォームが作成されます。
作成したいテーブルやクエリにカーソルを合わせておく必要があります。
空白のフォームは、全くコントロールが配置されていないフォームを作ります。
「フォームデザイン」をクリックしても、空白のフォームが作成されます。
その他のフォーム
データシートや分割フォームを作る時に使います。
注意しないといけないことは、
- ほかのオブジェクト(テーブル・フォームなど)を全て閉じておく
- 対象のテーブルやクエリにカーソルを合わせる
ということです。
手順を間違えると、違う元データからフォームが作られます。
作成方法3-サブフォームを作成する
空白のフォームやデータシートフォームは、単独では使えません。
メインフォームとサブフォームを組み合わせることで、一つのフォームに仕上がります。
実際にサブフォーム2つの方法でサブフォームを作ってみます。
空白のフォームにサブフォームを作る
空白のフォームをデザインビューにしています。
サブフォームにしたいテーブルかクエリを選択します。
メインフォームのデザインビューに、サブフォームにしたいテーブルをそのままドラッグするだけてす。
「サブフォームウィザード」が起動するので、ここではそのまま「完了」をクリックします。
サブフォームが挿入されています。
フォームビューで確認してみると、データシートになっているのが分かります。
バランスが悪いのでデザインビューでサブフォームの幅を広げ、レイアウトを調整しました。
データシート式フォームは、Excelのような感覚で列幅を調整することもできます。
単票フォームにサブシートを作る
単票フォームにサブフォームを追加すると、メインフォームとサブフォームのデータを連動させることができます。
購買管理システムでは、「T02発注伝票」と「T02発注伝票明細」でリレーションシップを設定しています。
また、発注伝票明細テーブルに金額の列を追加したクエリ「Q02発注伝票明細表示用」も作成しています。
デザインビューにした単票フォームに、「Q02発注伝票明細表示用」をドラッグします。
「サブフォームウィザード」が起動します。
リンクの設定を有効にしたまま、完了をクリックします。
サブフォームが追加されました。
レイアウトを調整した後のフォームです。
レコードを移動させると、メインフォームと連動して、サブフォームのデータも変わります。
カスタマイズ-コントロールの変更やボタンの追加
レイアウトを調整したフォームを、以下のようにカスタマイズしてみます。
- コントロールの変更(テキストボックス→コンボボックス)
- ボタンを追加
Accessフォームをカスタマイズする時によく使われる方法になります。
コントロールの変更
デザインビューに切り替えます。
テキストボックス「発注先」を選択し、右クリックします。
「コントロール種類の変更」から「コンボボックス」を選択します。
「発注先」がコンボボックスに変わりました。
「発注者」も同じようにコンボボックスに切り替えました。
コンボボックスは、リストから複数のデータを選択できるので、作業効率アップや入力ミス防止につながります。
ボタンの追加
次に、フォームにボタンを配置してみます。
デザインタブのボタンを選択します。
選択されると、アイコンの背景がグレーに変わります。
ボタンが選択された状態でフォームの上にポインタを載せ、Excelのオートシェイプとおなじ感覚で配置します。
配置されると「コマンドボタンウィザード」が起動しますが、「キャンセル」をクリックします。
フォームの上にボタンを配置しました。
プロパティの「標題」でボタンの表示を変えることができます。
他にも、いくつかのボタンを設置してレイアウトを整えました。
このようにAccessのフォームをカスタマイズすると、業務システムのような入力画面を作ることができます。
まとめ
フォームの作り方について簡単に解説しましたが、今回説明できなかったこと(フォームとコントロールの設定)については、次回で解説します。
フォームを思い通りに使えるようになると、Accessをとても便利に使えます。
最後に、ブログでは他のAccessの機能についても解説しています。
よかったらトップページから希望の機能を探してみてください。
また、Accessのータベース設計のまとめ記事もありますので、そちらもごらんください。
≫ これだけで大丈夫! | Accessアプリを学びたい人のための学習手引き