<HOME  <お願い事項   <Access2002 TOP   <Access97 TOP   <サイト内検索
 MS-Access2000超入門部屋--日報?月報?
   1 2 3 4 5



あ、でも、ここで終わっちゃいけませんぜ。レポートの方も変えてやらないと・・・。

確認するところは2箇所あります。
まず、[売上日付]のテキストボックスですね。まあ、テキストボックス名とかラベルはそのままでよいと思いますんで、「コントロールソース」だけ変えましょう。
ここには必ず、クロス集計クエリではじきだした「列見出し」が来るようにならないといけませんよね。

あとは、「並べ替え/グループ化の設定」というのを変えないとならないかも。
ツールバーにボタンがあると思いますので探してクリックしてください。
そうすると、このレポートで、どういう並べ替えをするか、という設定用のボックスが出てきますよね。

ここ[売上日付]になってる方は、[日付]にしましょう。
何も設定されてない方は、改めて[日付]で並び変わるようにしておきましょう。

リレーショナルデータベースでは、「テーブルの入力順」というレコードの並び順は存在しません。
他のコーナーでも繰り返しお話してることなのでダブっちゃいますけど・・・テーブルとは、1枚の表ではなく、レコードが集まってなんか表っぽく見せてるだけなのです。なので、レコードは決して常に「つながっている」わけではありません。
主キー、インデックス等、昇順降順・・・何らかの設定がなされていて初めて並び変わるしくみになってます。
まあ、なんとなく「入力順」に出てきているような気がしないでもないですけど、レポートで常に思ったような並び順で出てきてもらいたい場合は、意識して並び順の設定をするようにしましょう。



と、どうでしょう。出ました?

手間ですけど・・・5月になったらまた、5月用のダミーテーブルを作り、6月になったら・・・と、やっていけば、まあ、それなりのレポートを作ることができると思いますよ。


さて・・・おまけです。
「5行おきに太線を引きたいんだけど・・・」なんてことをやってみましょうか。

最初に申し上げますが、こういうことは基本的にできません(いきなりかい)
無理やり処理を作ります。いわゆるVBAってやつで。
VBAがなんだか全然わからないという方は、ここから下の解説はあんまり役にたたないかもしれませんが・・・・。
時間があるようでしたら挑戦してみてください。

まず下調べをしましょう。
わたしは、詳細セクションに細線を引いています。ちょっと図ではわかりにくいかもしれませんが・・・↓

この線のプロパティを出してみると、この線の名前は[直線26]であることがわかりました。
また、このプロパティの中を見てみると、「境界線幅」というプロパティがあり、これが「直線の太さ」に当たることもわかりました。わかりましたね?いいえ、わかっていらっしゃいます。

で、この「境界線幅」というところにカーソルを置いた状態でF1キーを押し、ヘルプを見てみると・・・。

BorderWidthという名前なんですね。
このプロパティに、0〜6までの数字を代入することで、線の太さを変えることができるのです。

んじゃ、コードはこんな感じになります。

詳細セクションの「フォーマット時」のイベントで、直線26のプロパティを変更しています。
これは、VBAの小屋の「シマシマレポート」の応用です。今何行目かということをCnt変数に代入しながら毎行数えて、Cntを5で割った答えがゼロになったら、それは5行目か10行目か15行目か20行目か25行目か30行目のことなので、直線を太線(2)にします。
その他の場合は関係ないので細線(0)にします。

このコードの意味とか、どうやって書いたらいいのかわからないんだけど・・・という方は・・・
これは、ぜひともVBAの小屋をご訪問ください。
もし、そんなの読んでるひまはないけれど、5行おきに太線にしたい、ということでしたら、「直線26」っていう直線の名前だけ確認・随時変更していただいて、あとは丸写ししてください。

プログラムのコードなんて、意味なんてわからなくてもいいからとにかく丸写しで、というスタンスの方もたくさんいらっしゃると思います。
それはそれでよいと思うんです。
今、MS-Accessの入門書でもVBAのサンプルコードがついてる本っていっぱいあるし、ネットであちこち探しても、サンプルコード載せてらっしゃるサイトたくさんありますよね。仕事が忙しいし納期も迫ってるしでなかなか一から勉強している時間も取れないし・・という方も多いです。お察しします。
体裁整えておけば意味わからなくても丸写しでも動くことは動くでしょう。

でも、丸写ししておきながら柔軟なカスタマイズを望んではいけません。
ちょっと冷たいことを書くようになってしまいますが・・・。
手直しをしたければ、やはり基本的なところはマスターしておかなければなりませんよね。
特に、VBAなんてものは、そうだと思います。

で、印刷(あるいはプレビュー)してみると・・・こんな感じになりました。

5行おきに太線になってますか?



今回は、クロス集計クエリを活用して、店ごとの日報(月報?)を作ってみました。
こういう結果を出すためには、どういうテーブルを作っていけばよいか・・・その辺がポイントですね。
またこうした課題を作ってみようと思います。
皆さんも、身近な業務で、「この帳票を出すためにはどういうテーブルをこしらえればいいのかな?」とか、頭の中で趣味レーションしてみてくださいね。
それが多分、一番の訓練になると思います。