派遣で働くエンジニアのスキルアップを応援するサイト

PRODUCED BY RECRUIT

第2話 レイアウトで躓きやすいポイント 【連載】実務で使えるAccessのコツ

f:id:itstaffing:20210601164405j:plain

データベース管理ソフトウェア、Accessを実務で使うときに「知っているとちょっと便利なコツ」について紹介するこのコラム。今回はレイアウトでつまずきやすいポイントを解説します。見た目が揃わずにイラッとしたことがある方はぜひ最後までお読みください。あなたのAccess力アップに役立ちますように。

前回のコラムを見逃した方はこちらからご覧ください。
第1話 イベントを使いこなそう

【筆者】今村 ゆうこさん
【筆者】今村 ゆうこさん
地方の非IT系企業に勤務し、業務アプリケーション開発を行うプログラマー。著書のイラストや図解も手掛けている。大学卒業後出身地へUターン就職し、2度の産休/育休を経て現在は小学生と保育園児の2人のこどもを抱えるワーキングマザー。主にVBAを使ってデータベースの情報を加工/展開するアプリを開発するほか、WordPressを使った個人ブログ(https://ateitexe.com/)で技術情報を発信している。著書に『Accessデータベース 本格作成入門』『Excel & Access連携 実践ガイド』(技術評論社)など。

  コントロールの配置に苦戦しがち   

Accessを使いはじめて、レポートやフォームにコントロールを配置する際に「なかなか思い通りの形にならないな…」と、思ったことはありませんか?覚えがないのにグループ化(?)されていて、1つだけ動かすことができなかったり、そうかと思えばコントロールが縦横キレイに揃わなかったり…。

f:id:itstaffing:20210601164408j:plain

Accessはデータベースを管理するのが目的のソフトなので、コントロールの扱いにちょっとクセがあります。でも、最初はとっつきづらいですが、仕組みを理解すれば怖いことはありません。今回は、そんなコントロールの「配置」のコツを紹介します。

  「ビュー」の違いを知ろう   

まずは、Accessには「ビュー」というモードがあることを覚えておきましょう。

設定によって異なる場合もありますが、大抵は以下のように、フォームには3つ、レポートには4つのビューがあり、いずれかをクリックすることで「ビュー」を切り替えることができます。

f:id:itstaffing:20210601164526j:plain

「フォーム/レポートビュー」は、操作のためのビュー(下の画像はフォームビュー)です。フォームなら値の選択や入力、レポートなら絞り込みや印刷ができます。そのため、レポートのみ「印刷プレビュー」用のビューがあります。

f:id:itstaffing:20210601164414j:plain

「デザインビュー」は設定のためのビューです。コントロールの配置や、どのテーブルと関連付けるかなど、さまざまな設定が行えます。デザインビューでは、テーブルのフィールドと連結しているテキストボックスなどのコントロールには、そのフィールド名が表示されます。そのため、連結していない場合は「非連結」と表示されます。

f:id:itstaffing:20210601164417j:plain

「レイアウトビュー」は「データの内容を確認しながらレイアウトを変更できる」という、「フォームビュー(操作専用)」と「デザインビュー(設定専用)」の中間のような役割です。

f:id:itstaffing:20210601164420j:plain

ここで覚えておきたいのが、レイアウトビューは操作画面に近くわかりやすい反面、デザインビューに比べて詳細な設定ができない部分があるということです。

以下の画像はフォームのレイアウトビューとデザインビューのリボン部分ですが、同じ「デザイン」タブでも設定できる項目がデザインビューのほうが多いことがわかります。配置できるコントロールの数も(ドロップダウンリストに格納されて隠れていますが)デザインビューのほうが多いのです。

f:id:itstaffing:20210601164424j:plain

このように、ビューの違いによってできることが違う、ということを覚えておきましょう。

  「レイアウトの形式」を知ろう   

次にコントロールの「配置」についてです。Accessのレポートやフォームに配置されているコントロールには、「レイアウトの形式」を設定することができます。これが、冒頭で書いた「グループ化(?)」の正体です。

レイアウトの形式には代表的なもので2つあり、フィールド名とデータが一対になっているレイアウトを 「集合形式」 と呼びます。

たとえば、テーブルを元に自動作成したフォームなどは、「集合形式」があらかじめ設定されます。データ入力などにわかりやすい形なので、入力目的のフォームによく使われます。

f:id:itstaffing:20210601164427j:plain

「集合形式」とは別に、フィールド名が上部に横並びになり、その下に対応するレコードが複数行表示されるレイアウトを 「表形式」と呼びます。

たとえば、テーブルを元に自動作成したレポートなどは、「表形式」があらかじめ設定されます。テーブルやクエリのデータシートビューの見た目に似た配置で、たくさんのレコードを1画面で閲覧できる形です。

f:id:itstaffing:20210601164429j:plain

レイアウトの有無の識別は、デザインビューまたはレイアウトビューでコントロールを1つ選択したときに、大きな破線で囲まれて左上に以下のようなマークが付いているかどうかで判断できます。このマークが表示されたら、破線内は「集合形式」または「表形式」のレイアウトが設定されています。この状態の場合、コントロールは位置が固定されているので、個々に動かすことができません。

f:id:itstaffing:20210601164432j:plain

これらの形式は、リボンの「配置」タブの「テーブル」グループで設定/解除することができます(レイアウトの削除はデザインビューのみ)。コントロールを自由な位置に動かしたい場合は、レイアウトの削除を行うとよいでしょう。

f:id:itstaffing:20210601164530j:plain

逆に、フリーのコントロールは手動できれいに並べるのが難しいので、揃えたいコントロールをすべて選択してレイアウトを設定するときれいに整列させることができます。

f:id:itstaffing:20210601164534j:plain

  ラベルがくっついてきちゃう!    

「集合形式」または「表形式」のレイアウトが設定されていなければ、個々のコントロールは自由に動かせますが、隣のラベルが一緒に動いてしまう場合があります。

f:id:itstaffing:20210601164442j:plain

これは、コントロールに付随する見出しとして、ラベルが連携されているからです。コントロールと連携しているラベルは、「デザイン」タブからプロパティシートを表示させ、「その他」タブの「ラベル名」で確認できます。この部分を別のラベルへ変更すれば連携を変更できますし、空白にして連携を解除することもできます。

f:id:itstaffing:20210601164537j:plain

連携しているコントロールの片方だけ動かしたい場合は、それぞれ左上の■をドラッグします。

f:id:itstaffing:20210601164447j:plain

ラベル自体が必要ない場合は、ラベルだけ選択してDeleteキーを押せば連携されたラベルは削除されます。

f:id:itstaffing:20210601164451j:plain

  コントロールのオブジェクト名は適宜設定しておこう    

コントロールを作成すると、自動でオブジェクト名が付けられ、プロパティシートの「その他」タブの「名前」で確認することができます。さきほどのコントロールと連携するラベル名の指定は、ここに書かれているものを使います。

f:id:itstaffing:20210601164541j:plain

この「名前」は、任意の文字に変更することができます。デフォルトのものが増えると区別がつかなくなるので、わかりやすい形に命名しておきましょう。

命名するのにもルールを設けておくと管理がしやすくなります。筆者はよく“商品ID”のラベルなら「lbl_商品ID」、“商品ID”のテキストボックスなら「txb_商品ID」のように、頭文字にコントロール種類の略称を付けています。一定のルールに従って名前を付けておくことで、一覧で見つけやすくなります。

f:id:itstaffing:20210601164546j:plain

また、この「名前」はマクロやVBAでも使われます。適切な命名はプログラムを格段に読みやすくしますので、ぜひ設定しておいてください。

  高さや幅を揃える   

フォームを自動作成すると、あらかじめ「集合形式」でレイアウトを設定してくれているので、縦横のラインは揃っていてくれているのですが、コントロールの「高さ」がバラバラな場合があります。

f:id:itstaffing:20210601164550j:plain

こんなときは、表示をデザインビューに切り替えて「配置」タブを見てみましょう。レイアウトビューにはない「サイズ変更と並べ替え」というグループが存在しています。

f:id:itstaffing:20210601164554j:plain

レイアウトが設定されている左上部分をクリックするとすべて選択できるので、この状態で「サイズ間隔」→「低いコントロールに合わせる」をクリックします。

f:id:itstaffing:20210601164558j:plain

すると、コントロールの高さが揃いました。

f:id:itstaffing:20210601164605j:plain

横幅の調節は、実際のデータのテキストの長さを確認しながら変更を行えるレイアウトビューのほうが便利です。

f:id:itstaffing:20210601164609j:plain

このように、目的に応じてビューを使い分けるとよいでしょう。

  コントロールの「周り」を制御する   

最後に、コントロールの「周り」に関する知識です。

例としてテキストボックスを選択して、プロパティシートの「書式」タブを見てみましょう。たくさん設定できるものがありますが、そのなかでも一見して理解しにくいのは「スペース」と「余白」、「境界線」と「枠線」の違いです。似たような単語で、何がどこに作用するのか、ちょっと難しいですよね。

f:id:itstaffing:20210601164613j:plain

こちらは、図にすると以下のような関係性になっています。なお、「枠線」と「スペース」はレイアウト設定がなされていないと適用されません。

f:id:itstaffing:20210601164520j:plain

たとえば境界線の代わりに枠線を使って線の太さや色、余白などを調整することで、個性的な仕上がりにすることも可能です。

f:id:itstaffing:20210601164616j:plain

いかがでしたか。レイアウトに関する知識は、知らなくてもなんとなくの形は作れますが、知っていると「ここをもう少し」という微調整ができて、完成品のクオリティが向上します。ぜひ参考にしてみてください。

次回はマクロとVBAの違いについて解説します。どう違うのか、どちらを使うべきかわからない方、必見です。