#636 サブフォームを使わずに単票フォーム内にデータシートを表示する方法 フォーム

Accessのフォームでは、「単票形式」や「帳票形式」あるいは「データシート形式」を使うことが多いと思います。

しかしその性質として、フォームビューにしたとき、「単票形式」ではデザインビューと同じようなスタイルで表示され、フォームヘッダーセクションもそのまま表示されますが、詳細セクションだけを表形式で表示するということができません。そのようししたい場合にはサブフォームを使ってそちらの形式をデータシートにするなどの対応が必要です。




一方、上記のデザインのフォームを「データシート形式」で表示させると、データ部分は表形式となりますが、フォームヘッダーセクションに配置されたコントロール類は一切表示されなくなってしまいます。



そのようなとき、フォームの形式として『分割フォーム』を使い、かついくつのか関連プロパティを設定することで、「単票形式」のフォームで各レコード部分だけをデータシートとして表示させることができます。もちろんフォームヘッダーセクションもデザインのまま表示されます。

それには、プロパティシートにおいて、フォームに次のようなプロパティ設定を行います。
  • 既定のビュー → 分割フォーム

  • スクロールバー → なし

  • 分割フォームのサイズ → ”フォームヘッダー”の高さと同じ値

  • 分割フォームの方向 → データシートを下に

  • 分割フォームの分割バー → いいえ

分割フォームを使うということ、デフォルトでは”自動”となっているそのサイズ(高さ)を単票形式として表示させたい領域だけ、つまりここではフォームヘッダーの高さにするというのがミソです。その高さ以上の分は単票形式領域として画面に表示されませんので、”データシートを下に”することで上部の単票部分はヘッダーだけが表示されるということになります。

なお、スクロールバーの設定は今回の機能としては関係ないのですが、これがあるとあらかじめスクロールバーが表示される領域が確保され、灰色の余分な余白が表示されてしまうので、”なし”としてそれが表示されないようにします。

また、分割フォームのサイズについては、まったく同じ値ではなく、それより若干低い値を指定した方が余分なラインなどが表示されないようです。適宜調整してみてください。


デザインビューとしては見た目はまったく変わりませんが、フォームビューに切り替えると下図のような表示になります。

【実行例】
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved