<HOME  <お願い事項   <Access2002 TOP   <Access2000 TOP   <サイト内検索
 MS-Access97超入門>基本をマスターしよう
 DBTable1Table2Fom1Form2Form3Query1Query2Query3Query4Query5Query6Report1Report2Report3Macro



■Report2 : デザインを変更してみる

まず、フォームウィザードで作ったフォームの中にはなかったものをご紹介します。

ページフッターという場所がありますね。印刷物なので、用紙の大きさには限界があります。フォームがスクロールバーでするする表示を切り替えるのと違って、用紙が途切れたら改ページしますよね。そのページの一番下に、なんか印刷するものがあれば、ここに指定してね、という意味の場所です。

レポートヘッダー(そのレポートの一番頭の部分。2ページ目には印刷されない)
ページヘッダー(改ページしたら、ページの頭の部分に必ず印刷される情報)
詳細(レコードソースにしてるテーブルかクエリーの中のレコード件数分繰り返して印刷される部分)
ページフッター(改ページするとき、ページの一番下に必ず印刷される情報)
レポートフッター(そのレポートの一番最後に印刷される。最終ページのみ)

↑こんな感じで印刷されるんですね。


ページフッター領域に、横に長いテキストボックスがふたつあるんじゃないかと思いますが・・・。
ない方もありますかね。ウィザードで選んだレイアウトによるかな。
まあいいや。上の図をじっくり見てください。

片方のテキストボックスには=Now( )、もう片方に=[Page]&"/"&[Pages]&"ページ"とありますね。

Nowというのはなう関数といって、現在の日付、時刻などを拾って表示する関数です。
他のパソコンソフトでも利用される関数なんじゃないかと思いますんで、おなじみかもしれないですね。

[Page]の方は、現在のページ数と総ページ数を表示するための、これまた規定の計算式です。
それぞれ、テキストボックスのプロパティシートの中のコントロールソースというところに計算式が書かれてると思います。
ふつう、ここにはレコードソース内のフィールド名とか選ばれてますけど、こんな風に独自の計算式や関数を入れてもオッケーなんです。

これはフォームでも同じなんです。
Accessにはいろんな関数が用意されてます。
レポートやフォーム上で、ちょっとした集計とか、曜日とか日付とか、件数のカウントとか、いろんな情報を算出してアウトプットできるんですね。
この辺も、徐々にご紹介できたらなと思います。


テキストボックスの大きさとか位置をチョットずつずらしたりして、見栄えよくしましょう。

この時、[Shift]キーを押しながらテキストボックスやラベルをクリックすると、複数選択することができます。
ハンドルが出てるものをいっぺんに動かすことができますので、この辺の操作もぜひ活用なさってください。

こういう操作は、Access以外のソフトでも共通なのかな。まあ、そんなに眉間にしわ寄せないで、鼻歌混じりで楽しくやりましょう。


Accessでは、あんまり「表のイメージで縦横に罫線を引く」っていう感覚、ないみたいなんですよね。
今も、ページヘッダーのところにチョコっと線が引いてあるだけで、明細の部分には何にも線が引かれてないですよねぇ。

上の図のように、詳細セクション部分にうまいこと横線を引いておくと、罫線のような働きをしてくれます。
見やすいように青い線にしてみましたが、白黒印刷だと意味がないですかね。そうですよね・・・。
まあいいか。ちょっとわかりにくいですが、どの部分に線を引けばよいか、じっくり検討してみてください。
線は[Shift]キーを押しながらドラッグすると、多分真っ直ぐ引けるんじゃないかと思うんですが・・・。


レポートの右端部分に注目してください。色が白い部分と、濃いグレーの部分の境界線がありますよね。
ここをドラッグすると、フォームのときと同じで、「レポートの大きさが変る」ということになります。
が、しかし、ここをハデに変えると、用紙の大きさより大きくなっちゃいますよね。

レポートはフォームと違って、物理的に用紙の幅を超える大きさのものを印刷するわけにいきません。
例えば、用紙の幅は28cmなのに、横に並べたいフィールドの数が多くて、ついついレポートのデザインの白いところの幅が35cm担っちゃった場合、7cmはみだしますよね。
はみ出した分は2ページ目に印刷されます。
ちょうどよいところで横改ページしてくれればまだいいんですが、そうもいかないんで、ある程度レポートのレイアウトは妥協しないとならないこともありますね。


さて、んではひとつおまけです。
これもいつかお役に立つでしょう。
「かせぎの集計」をしてみましょう。ごくごく単純に、レポートの一番下のところに、全員の「かせぎ」の合計を算出させたいと思います。

いろんなやり方がありますが、今日は「レポートフッター」という場所にSum関数という関数を使って計算させる方法をご紹介します。
ええと、まずレポートフッターを表示させないといけないな。

画面をご覧いただいて、レポートフッターというグレーの帯の部分を探してください。
多分、あるにはあるけど、折りたたまれていて表示されてないんじゃないかと思います。
上の図でいうところの、きみどり色のラインの部分をどこか、そっと下方向にドラッグしてみてください。
あんまり勢いよくドラッグしちゃだめですよ。そっとそっと。1cmくらいでいいですから。

と、「レポートフッター」領域が現れると思います。
要らないときは幅取っちゃいますから折りたたんであるんです。

で、ここに非連結のテキストボックスをひとつ作ります。フォームのときと同じ。
テキストボックスを作るためのボタンは、ツールボックスの中にありましたよね。

フォームのときと同じく、テキストボックスと見出し用のラベルがセットで出てきます。

見出し用のラベルは、なんか適当に書き換えてください。「かせぎ合計」とか「かせぎ集計」とか、そんなんでよいと思います。
書きかえるのはラベルの方ですよ。テキストボックスの「非連結」っていうところに字入力してもだめですよ。

で、このテキストボックスのプロパティの「コントロールソース」欄に、次のような式を入力します。

=Sum([かせぎ])

半角全角、注意してくださいね。
"かせぎ"というフィールド名(正確にはレポート上のテキストボックスの名前)以外は、全部半角。
コンピュータで、「式」に使う記号を全角入力することはまずないので、意識して半角で入力するようになさるとよいでしょう。

これで完成。いちおうレポートを保存して、改めて印刷プレビューで確認してみましょう。

ええと、保存用のツールボタンは、画面の左上の方にありますよね。フロッピーディスクの絵のついたボタンです。
で、その近くに、虫眼鏡みたいな絵のボタン、ありません?一番左端かな。
このボタンが「印刷プレビューで開く」というボタンです。これ、クリックしてください。

テスト段階で直接紙に印刷してると紙がもったいないんで、この印刷プレビューという機能でテストをします。
どうでしょう。かせぎ、合計されてます?計算結果は、よっぽどのことがない限り、正しいと思いますよ。整数部分だけですしね。

今9人だけですけど、これが500人分くらい印刷することになると、用紙の一番下の部分で改ページして、数ページに渡って印刷され、最後のページに「みんなのかせぎの合計」が算出されることになります。

残念ながら、レポートの「詳細セクション」の幅(高さ)などによって、1ページあたりの行数って変っちゃうんですよね。
あと、印刷装置によっても、微妙に文字の大きさとか変ることがあるらしいんで、1ページあたり20行だったり、21行だったり、これは固定できないんです。

ので「1ページに15行印刷したい、15行で改ページしたい」となると、ちょっとめんどうなことをやらないとならないんですね。
これは少々裏技というか上級技になります。できないことはないですが、Accessのレポートの考え方とはちっと違うということ、頭の隅にとどめておいてください。


レポートの基本構造としくみ、だいたいつかめました?
で、このしくみをうまく生かしつつ、いろいろなレポートを作っていくわけなんです。
なかなか難しいですよね。特に「納品書」とか「請求書」とかみたいな帳票類って、会社によってフォーマットが決まってたりするし。。。。
それと同じデザインのものをAccessで作るとなると、それはそれで骨の折れる作業だし・・・。

じゃ、もうひとつくらい作ってみましょうか。