2008年12月11日

小技

 Accessで年月日の入ったデータを年月で集計する場合、アクセス任せにするとデータがない月は表示されない。「そういうもの」として割り切れば十分使えるが、データ0件の月は0と出て欲しい場合もある。そういった場合、今までは年月を書き込んだテーブルをあらかじめ用意していたのだが、稼働から数年経過すると0が並んだ月が上の方にたくさん現れてしまい格好が悪い。

 そこで常時1年半分のデータが18行で表示されるような処理を考えてみた。自分が出来る範囲でササッとやるには・・・としばし考え、「id」という項目に1から18が入ったテーブルを用意しておき、となりの「年月」フィールドにDateAdd関数で月を足していく(正確には、当月マイナス1にidの数字を足していく)クエリを作成。テストしてみると思った通りに動いてくれたのでホッとしたが、実際のデータを表示させてみると当月からではなく先月から表示させた方がよさそうだったのでテーブルのレコード数を19にし、当月マイナス2から計算を始めるようにした。

 関数とかクエリとしてはまったく複雑なものではないが、今まで出来ないと思っていたり「これでいい」と妥協していたものが自動化できるとやはり嬉しい。と同時に、以前考えたときと関数やクエリの知識はほとんど変わっていないのに、前はなんでひらめかなかったのだろうか、なんであきらめてしまったのだろうかと思ったりもする。

 まあ、脳ミソがまだまだアルコール漬けにはなってなさそうだということで、悪くはないと考えておこう。

トラックバック(0)

トラックバックURL: http://www.leftkick.com/mt/mt-tb.cgi/899

コメントする

Powered by Movable Type 4.22-ja