こんにちは、なかぜんです。
Accessでフォームを作っていると、「もっと見やすくしたい」「情報をカテゴリごとに整理したい」と思うこと、ありませんか? そんな時にとても便利なのが タブコントロール です。
1つのフォーム内でタブを切り替えるだけで、複数の項目をスッキリと表示できます。 今回は、Access初心者でも安心して使えるように、タブコントロールの使い方をやさしく解説していきますね。
タブコントロールって何?
タブコントロールとは、フォーム内に「タブ付きの領域」を作って、タブごとに別の画面要素を配置できる機能です。
たとえば、「顧客情報」「注文履歴」「メモ」などのように、分類ごとに分けて表示できるため、入力ミスの防止や操作性の向上につながります。
Accessでタブコントロールを使う基本手順
1. フォームにタブコントロールを挿入
- Accessでフォームをデザインビューで開きます
- 「デザイン」タブ内のタブココントロールをクリック
- フォーム上にドラッグして配置します
これだけで、デフォルトでは「ページ1」「ページ2」という2つのタブが作成されます。
2. タブの中にコントロールを配置
タブ内に配置したいテキストボックスやラベルなどは、タブの中をクリックして選択してから貼り付けましょう。
※間違えてフォーム本体に貼ってしまうと、タブ切り替えの効果が出ません。
3. タブの名前をわかりやすく変更
「ページ1」「ページ2」などの名前は、プロパティシートの「キャプション」で変更できます。
例:
ページ1 → 顧客情報
ページ2 → 取引履歴
コードを使ってタブの切り替えを制御する
基本操作だけでも十分ですが、VBAを使えば「ボタンでタブを切り替える」ような操作も可能になります。
【コード例】ボタンで2番目のタブに切り替える
Private Sub btn切替_Click()
Me.TabCtl0.Pages(1).SetFocus
End Sub
TabCtl0
:タブコントロールの名前(フォーム上で確認)Pages(1)
:0から始まるインデックス番号(1は2番目のタブ)
このコードを、フォームに配置したボタンのクリックイベントに設定すると、クリック時に対象のタブに移動できます。
よくあるミスと注意点
- コントロールをタブ内に入れたつもりで、実は外にある → デザインビューで「一緒に動くか」を確認しましょう。
- タブ名を変更してもVBAではインデックス番号で指定する → 見た目の名前ではなく、番号で指定する点に注意。
応用編:サブフォームと組み合わせて高度なUIに
中級者向けのテクニックとして、タブコントロールの中にサブフォームを配置することで、より複雑なデータ操作も可能になります。
たとえば、
- タブ1に「顧客基本情報」フォーム
- タブ2に「その顧客の注文履歴」サブフォーム
といった構成にすると、関連データを1画面で効率的に管理できます。
また、条件によってタブを非表示にしたい場合は、VBAで次のように制御可能です:
' 2番目のタブを非表示にする
Me.TabCtl0.Pages(1).Visible = False
まとめ:タブコントロールで見やすく効率的なフォームを!
今回は、Accessのフォームを便利にする「タブコントロール」の基本と応用を紹介しました。
学べたこと:
- タブコントロールの挿入・名前変更の方法
- VBAでタブを切り替えるコード
- サブフォームとの連携や非表示制御
Accessフォームの見た目を整えるだけでなく、操作ミスも減らせるタブコントロールは、ぜひ業務フォームにも活用してほしい機能です。
次のステップとしては、条件によってタブの表示/非表示を切り替える、タブごとにアクセス権限を設定するなど、実務に即した使い方も学んでいくと、Accessフォームのプロフェッショナルに近づけますよ!
それでは、また次回お会いしましょう!
