2009/02/11
Access 実践入門 第76号
-------------------------------------------
Access 実践入門 第76号 (2009.2.11)
-------------------------------------------
こんにちは、Access実践入門の佐藤です。
2月は、受験シーズンですね〜
受験生の居る、ご家庭は大変でしょう。
受験勉強は、それが、すぐに役に立つというものではないですが、
勉強するということは、大事ですよね〜
生きる事は、勉強です!
(何のこっちゃ〜)
【1】帳簿、年月指定1
【2】帳簿、年月指定2
【3】次回予告
【4】編集後記
---------------------------------------------------------------------
【1】帳簿、年月指定1
---------------------------------------------------------------------
この年月指定は、帳簿データの中から、
年月を指定した月のデータを表示するものです。
前のバージョンでは、残計算をしていなかったので、
簡単でした。
今回のバージョンでは、繰越残高の計算をしています。
帳簿の一覧表から、年月指定のボタンをクリックすると
「fo月指定」が開きます。
実行ボタンの「クリック時」に次のように書いています。
Form_fo帳簿一覧表.RecordSource = "qu月指定"
If IsNull(DSum("[収入額]", "qu月指定残高")) Then
Form_fo帳簿一覧表!繰越残高 = DLookup("[締切残高]", "ta基本情報", "[通し番号]=1")
Else
Form_fo帳簿一覧表!繰越残高 = DLookup("[締切残高]", "ta基本情報", "[通し番号]=1")
+ DSum("[収入額]", "qu月指定残高") - DSum("[費用額]", "qu月指定残高")
End If
DoCmd.Close acForm, "fo月指定"
1行目で、一覧表のレコードソースを変更しています。
「qu月指定」は、指定された年月のデータを抽出しているだけです。
2行目で、「qu月指定残高」を見て、一覧表の繰越残高を計算しています。
「qu月指定残高」のデザインを見てみましょう。
「ta帳簿」のフィールド「処理日付」の抽出条件に
<DateValue([Forms]![fo月指定]![指定月] & "01日")
と書いています。
DateValueは文字列から日付を求める関数です。
たとえば、2009年2月が指定された場合は、01日をプラスしていますので
日付「2009/02/01」となります
日付が、指定した2009/02/01よりも小さい日付ですから、
このクエリは、2009/01/31までのデータの集まりになります
そのクエリを「DSum」関数で、「収入額」のフィールドを合計しています。
その答えを「IsNull」関数で評価しています。
ここでは「収入額」でも「費用額」でもかまいません。
抽出条件にあった日付をもつデータが存在していれば、IsNullにはなりません。
データが存在するかどうかを見ています。
データがなければ、
上の処理、基本情報のままの残高でよいことになります。
そうでなければ、下の処理になります。
基本情報の残高に収入の合計をプラスして、費用の合計をマイナスすればいいです。
あとは、年月の指定フォームを閉じれば、残高は自動的に計算されて
表示されています。
【2】帳簿、年月指定2
---------------------------------------------------------------------
年月の指定フォームで、締切日よりも前の日付を入れた場合
一覧表は、データが無く、繰越残は、基本情報の額が表示されています。
矛盾した状態です。
指定フォームでの実行ボタンの「フォーカス取得時」に
次のように書いています。
If IsNull(Me!指定月) Then
DoCmd.CancelEvent
MsgBox ("年月を選択してください"), , "指定エラー"
DoCmd.GoToControl "指定月"
Exit Sub
End If
ここでは、年月が入力されているかどうかだけ調べています
ここで、基本情報の締切日より前の年月が指定されれば、
先に進めないようにした方がいいかもしれません。
残高を扱うプログラムでは、このあたりも注意が必要です。
【3】次回予告
---------------------------------------------------------------------
次回は、費用入力 です。
【4】編集後記
---------------------------------------------------------------------
前回、Accessを始めた頃の話をしましたが、
その頃は、何か解らないことがあると、
持っている解説書を読みます。
それでも解決しなければ、
書店に行って、いろんな解説書を見て、調べていました。
今のように、インターネットが充実していませんでしたから・・・
その点、今は、ネット検索で、何でも調べる事ができます。
どんな細かい事でも、同じように悩んで、解決している人がいます。
その調べる課程でで、とても勉強になりますよ。
みなさんも、検索エンジンを上手に使っていろいろ、
調べてください。
---------------------------------------------------------------------
みなさんは、アフィリエイトってご存じでしょうか?
ブログやサイトから、広告収入等を得る手法ですが、
佐藤も、以前から少しずつやってるのです。
興味のある方は、こちらをご覧下さい。
アフィリエイトの勧め : http://www.msactry.com/aff/
=====================================================================
【Access実践入門】
ホームページ : http://www.msactry.com/
メルマガ用サンプルプログラム
: http://www.msactry.com/mag2/201/index.htm
参考書「Access実践入門」のダウンロード(PDFファイル)
: http://www.msactry.com/down00/downrepo.htm
=====================================================================
【オフィス関連の教材の紹介】
http://www.msactry.com/kyex/index.htm
=====================================================================
【発行システム】『まぐまぐ!』 http://www.mag2.com/
配信中止はこちらから http://www.mag2.com/m/0000229312.html
=====================================================================


