MS Access Tips/Sample and VBA and Blog customize etc...

帳票フォームで表示項目が多いとき、ページ切り替えで

帳票フォームで表示項目が多くて1画面に収まらない場合、データシートビューでの列固定のように一部の項目を固定して表示したいのですが、いい方法はないでしょうか。

データシートビューのように列固定して他の項目を横スクロールで表示というのは、帳票フォームで実現するのははなかなか難しいのです。単票フォームならタブコントロールで項目をグループ分けしてページ切り換えするという手法を使うことができます。タブコントロールは多い項目をコンパクトにまとめて表示するという目的には、なかなかよくできたユーザーインタフェイスだと思います。

そこで、帳票フォームでも同じようなインターフェイスを実現する方法を紹介します。

FrmColumnTabPageS.png

難易度:

まず、元になるテーブルを元にウィザードで帳票フォーム(表形式)を作成します。

詳細セクションにタブコントロールを配置します。名前は Tab2 とします。項目数に応じて必要なページ数分をページを挿入します。固定表示したい項目以外のテキストボックスを各ページに振り分けて配置します。詳細に配置してあるテキストボックスを複数選択して切り取ってタブコントロールに貼りつけると効率的でしょう。

配置が終わったら、タブコントロールの「スタイル」プロパティを「なし」にします。タブがなくなってページだけになります。

非表示になったタブの分だけページ上部に隙間が空きますので、テキストボックスを上ぎりぎりまで、移動します。タブがないのでページ切り替えができないので、プロパティシートの上部のコンボボックスからページを選択してページ切り替えをします。すべてのコントロールを上部に移動できたら、タブコントロールの高さも出来る限り小さくします。

フォームヘッダーにはタブコントロールを配置します。名前は Tab1 とします。詳細のタブコントロールに配置した項目と対応するように、各ページに項目名のラベルを切り取って貼り付けます。

このタブコントロール Tab1 の「変更時」に下記のイベントプロシージャを記述します。とはいっても、たった1行だけですが。

以上でヘッダーのタブを切り替えることで詳細の項目も切り替わります。

2007/03/21追記: ヘッダーのタブのクリックでページを切り換えたときにフォーカスを詳細の方に戻したい場合は、下記のコードに変更してください。

キーボードで全項目に移動できるように改良したサンプルが下記にありますので、そちらも参照ください。
帳票フォームで表示項目が多いときページ切り替えで その2

サンプルMDB が下記からダウンロードできます。
FrmColumnTabPage_07.zip (Access 2007 形式 - 26kb)
FrmColumnTabPage.zip (Access 2002-2003 形式 - 21kb)
FrmColumnTabPage_2k.zip (Access 2000 形式 - 21kb)


拍手する

2 Comments

ミルキーMSター says..."このようなアイデアはいいですね"

 いつも大変活用になる情報をご提供頂きまして、ありがとうございます。

 HPもシンプルに纏められていて、見やすいです。

「帳票フォームで表示項目が多いとき、ページ切り替えで」のページ

   タブを用いて切り替えを実現しようとする発想は、貧弱な発想しか持たない小生と
  致しましては、驚嘆致しました。

  ※ このページの文章で "こぶコントロール" という誤字があるようです。

 これからもご活躍、そしてまた新しい情報をご披露頂けることを願っております。

2011.11.10 13:02 | URL | #Ww69R9XQ [edit]
hatena says..."re: このようなアイデアはいいですね"

コメント、ありがとうございます。はげみになります。

また、誤字のご指摘もあたがたいです。

今後とも、お気づきの点や、感想等、お気軽にお寄せください。

2011.11.10 14:20 | URL | #5uE6dEgY [edit]

Leave a reply






Trackbacks

trackback URL
http://hatenachips.blog34.fc2.com/tb.php/242-ee7ef70c
該当の記事は見つかりませんでした。