2009/03/04
Access 実践入門 第79号
-------------------------------------------
Access 実践入門 第79号 (2009.3.4)
-------------------------------------------
こんにちは、Access実践入門の佐藤です。
3月になりました!
ついに、冬が終わっで春ですね〜
3月といいますと、卒業、移動、転勤の季節ですが
何か、日常生活に変化はありますか?
何事も、前向きに考えなければいけません!
【1】収支明細印刷1
【2】収支明細印刷2
【3】次回予告
【4】編集後記
---------------------------------------------------------------------
【1】収支明細印刷1
---------------------------------------------------------------------
収支明細の印刷は、日付の範囲を指定して、
その期間の収入と費用の明細を印刷するものです。
試算表のようなものです。
「fo帳簿一覧表」で収支明細印刷のボタンをクリックすると、
「fo収支明細指定」が開くようになっています。
指定フォームの内容をみていきます。
開始ボタンの「フォーカス喪失時」に次のように書いています。
If IsNull([始め]) Then
MsgBox ("日付を入力して下さい。")
DoCmd.CancelEvent
DoCmd.GoToControl "始め"
Exit Sub
End If
If IsNull([終わり]) Then
MsgBox ("日付を入力して下さい。")
DoCmd.CancelEvent
DoCmd.GoToControl "終わり"
Exit Sub
End If
If IsDate([始め]) = 0 Then
MsgBox "日付の入力が間違っています。", , ""
DoCmd.CancelEvent
DoCmd.GoToControl "始め"
Exit Sub
End If
If IsDate([終わり]) = 0 Then
MsgBox "日付の入力が間違っています。", , ""
DoCmd.CancelEvent
DoCmd.GoToControl "終わり"
Exit Sub
End If
[日付始め] = DateValue([始め])
[日付終わり] = DateValue([終わり])
まず、IsNull関数を使って、日付の始めと終わりに
日付が入力されているかどうか、調べる。
次に、IsDate関数を使って、入力された日付が
正しいものがどうか調べる。
次に、両方の日付を、抽出条件に使う隠しテキストボックスに
値を代入しておきます。
前回の費用別明細と同じで、
2つの日付をわざわざ隠した、テキストボックスに
代入していますが、これは、無くても処理できます。
クエリの抽出条件に、DateValue関数を使って、
書いても同じことです。
ただ、日付が正しいかどうかの、チェックは必要です。
続いて、
開始ボタンの「クリック時」に次のように書いています。
If IsNull(DSum("[収入額]", "qu収支明細指定残高")) Then
Form_fo収支明細指定!繰越残高 = DLookup("[締切残高]", "ta基本情報",
"[通し番号]=1")
Else
Form_fo収支明細指定!繰越残高 = DLookup("[締切残高]", "ta基本情報",
"[通し番号]=1") + DSum("[収入額]", "qu収支明細指定残高") - DSum("[費用額]",
"qu収支明細指定残高")
End If
DoCmd.OpenReport "re収支明細", acViewPreview
ここは、76回で出てきた、残高計算のところで説明しています。
指定フォーム「fo収支明細指定」に「繰越残高」という隠しテキストボックス
があります。
そこに、計算した残高を入れています。
その後で、レポートを開いています。
【2】収支明細印刷2
---------------------------------------------------------------------
レポートのレコードソースは、
「qu収支明細」です。
内容は、
処理日付に抽出条件を入れたものです。
レポートも簡単です。
特に何もありません。
フォームの「fo帳簿一覧表」がレポートになったようなものです。
科目別の費用明細もそうなんですが、
レポートの明細の部分は、四角形の枠を置いて、
その上にテキストボックスを配置しています。
こうすることで、見た目に綺麗なレポートができます。
数値の場合、右詰にすると、罫線とほとんど重なるように印字されます。
四角形の「背景スタイルを」透明にして
その上のテキストボックスの「境界線スタイル」を透明にすることで
少し余白ができて、綺麗に印字できます。
【3】次回予告
---------------------------------------------------------------------
次回は、締切更新処理 です。
【4】編集後記
---------------------------------------------------------------------
最初に話しましたが、3月は移動の季節です。
職場で、移動がありますと、
誰かが、Accessで作成したプログラムがあって、
その人が移動でいなくなってしまった場合、
もう、誰も手を加えることができなくなる事があります。
特に複雑なプログラムの場合はそうなります。
マクロをたくさん使っているととても解りにくいです。
マクロを見に行って、確認して戻って、またマクロを見に行って・・・
いずれにしても、別の人が作ったプログラムは解りにくいです。
テーブル、フォーム、クエリが全部ローマ字だったりすると、
何が何だか・・・
(どちらが、いいかは別にして)
---------------------------------------------------------------------
最近は、パソコンで映画を観ることもできますが、
動画のパソコン講座も、あるんですよ。
マウスが動いて、画面が変わって、
音声での解説を聞きながら、その動きを見て、
ソフトの勉強ができるようになっています。
初めてのソフトの勉強には、いいかもしれません。
興味のある方は、こちらをご覧下さい。
動画講座のご案内 : http://www.msactry.com/douga/
=====================================================================
【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/douga/
【その他オフィス関連の教材紹介】
http://www.msactry.com/kyex/
=====================================================================
【発行システム】『まぐまぐ!』 http://www.mag2.com/
配信中止はこちらから http://www.mag2.com/m/0000229312.html
=====================================================================



