ExcelとAccessのスキルアップをサポートするサイトです

ExcelとAccessの学習室

【重要】Accessのフォームを使いやすくするプロパティ

「今使っているAccessのフォームをより便利にカスタマイズしたいけど、どのようにしたらいいのかな?」

Accessのフォームを作れるようになったら、せっかくなので便利に使えるようカスタマイズしてみませんか?

この記事を書いている私は、Accessを使ったツールの開発を10年程度行ってきました。

Acceesを使っているユーザーに満足してもらえる鍵は、ズバリ『フォームの完成度』です。

フォームはウィザードなどの手順に沿っていけば、簡単に作ることができます。

しかし、標準の設定のままでは『かゆい所に手がとどく』フォームにはなりません。

便利なフォームにするためには、プロパティ(設定)を操作する必要があります。

  • フォームのプロパティを操作する2つの方法
  • どんなプロパティに注目すればいいか

について解説します。

操作方法1-プロパティシートを使う

プロパティシートを表示させる方法は以下のとおりです。

フォームをデザインビューで表示します。

デザインビューが開いたら、フォームのどこでもよいので右クリックしします。

「プロパティ」「フォームのプロパティ」のどちらでもよいので選択します。

プロパティシートが表示されました。

編集したいフォームやコントロールを選択してプロパティを書きかえることができます。

プロパティシートには、「書式」や「データ」などの5つのタグが設けられています。

書式タグ

「書式」タグは、その名のとおりコンロトールの書式を設定できます。

データタグ

「データ」タグは、フォームやコントロールの参照元を設定できます。

イベントタグ

「イベント」タグは、いろいろな動作で起動するイベントプロシージャを作ることができます。

例えば、コントロールをクリックした時に命令するプログラムを作りたい時は、「クリック時」の「イベントプロシージャ」を選びましょう。

右端の「…」をクリックすると、VBEが開きます。

「発注先名」をクリックした時に作動するイベントプロシージャが作成されました。

あとは「Private Sub」と「End Sub」の間にコードをかくだけです。

その他タグ

「その他」タグでは、一番重要なプロパティである「名前」を設定できます。

他は、「タブ順」や「IME入力」などの、機能的な設定を変えることができます。

すべてのタグ

その名の通り、「書式」から「その他」までの全てのプロパティが載っています。

操作方法2-VBAを使う

プロパティウィンドウに表示される設定は、ほとんどが VBAで設定できます。

ただし、オブジェクトの一番の基本となる、

  • オブジェクト(フォームやコントロール)の名前を変更
  • イベント(イベントプロシージャ)の設定

といったことはVBAでは設定できませんのでご注意ください。

よく使われるのは、イベントプロシージャにコントロールのプロパティを設定するコードを書くことです。

  • フォームを起動した時
  • コンボボックスの値を選んだ時
  • ボタンをクリックした時

など、何かのイベントでコントロールの元データや書式を変えることができます。

プロパティウィンドウだけの活用では、 VBAのような融通の効いた設定は出来ません。

Accessを初学者はプロパティシートを活用しても問題ありませんが、慣れてきたら少しずつ VBAのイベントプロシージャにプロパティのコードを書くようにするとよいでしょう。

Microsoftの公式リファレンスにAccessで VBAを活用するヒントが載っていますので、日頃から目を通しておくとよいでしょう。

Visual Basic for Applications (VBA) リファレンスへのアクセス | Microsoft Docs

よく使うプロパティ7選

下によく使うプロパティを7つ挙げました。

他にもたくさんありますが、まずはこれをおぼえておくとよいでしょう。

①表題(Captionプロパティ)

ボタンやラベルなどに表示されている文字そのものになります。

名前とは全く違うプロパティになりますので、間違えないようにしましょう。

VBAを使った表題の変更も可能です。

②レコードソース(RecordSourceプロパティ)

フォーム単位の元データを指定します。
通常は、テーブルやクエリを指定します。

フォームにレコードソースを指定しない場合もあります。

ボタンを並べただけの操作用のフォームや、サブフォームのみでデータを表示させたフォームには、レコードソースを指定しません。

VBAでSELECT文(SQL)を作りレコードソースを変更することで、データにフィルタをかけることもできます。

③コントロールソース(ControlSourceプロパティ)

テキストボックスやコンボボックスなど、コントロールの元データを指定します。

データを指定せずに使う場合もあります。

④値集合(RowSourceプロパティ)

コンボボックスの選択肢になるデータを指定します。

「値集合タイプ」では主に2つの方法で選択肢を取得します。

  • テーブル/クエリ・・・テーブルやクエリのフィールドで指定
  • 値リスト・・・直接データを入力して指定する

「テーブル/クエリ」では、レコードソースと同じように、SELECT文を指定できます。

⑤使用可能(Enableプロパティ)

コントロール選択の可否を設定します。

「はい」と「いいえ」で設定できます。

  • 参照元のデータなので変更したくない
  • 選択できるコントロールを制限して入力効率を上げたい

といった場合には、「いいえ」を設定するとよいでしょう。

VBAを活用して、条件により設定を切り替えることもできます。

⑥可視(Visibleプロパティ)

「いいえ」に設定すると、ボタンやコントロールをフォームビューで見えないようにすることができます。

  • 管理者権限の時のみのみ表示させたい
  • 何かを処理するためのボタンは作ったが、処理が未完成なので表示したくない

というときには便利な機能です。

⑦背景色(BackColorプロパティ)

コントロールの背景色を変えることができます。

16進数で設定しますが、カラーパレットから選択することもできます。

編集ロックしたコントロールを背景色を変えることで区別できる、といった目印のような使い方が可能です。

※データシート形式の場合は背景色を変えてもセルの色は変わりません。フォームビューの「データシート」タブで変更できます。

まとめ

今回は、フォームのプロパティについて解説しました。

プロパティウィンドウと VBAの2つの方法で行うことがてきます。

Accessを学習中の時は、プロパティウィンドウで設定してもよいでしょう。

Accessに慣れてきて VBAのコーディングも覚えてきたら、少しずつ VBAでのプロパティ設定を覚えましょう。

「かゆい所にとどく」便利なAccessフォームを必ず作れるようになります。


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

https://sys-daddy.com/learning-access-apps