メールマガジン【アクセスで作るシリーズ】


バックナンバー 【会計ソフト編】 Vol.25
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□

    ACCESSで作るシリーズ  【会計ソフト編】

    発 行 : Yoshihisa Fukuda          2000.09.23 Vol.25

■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
--------------------------------------

今回は、総勘定元帳の印刷指示画面のレポート呼び出しボタン作成です。

== ◇ 第3章 帳票       ====================

--------------------------------------
3-1 総勘定元帳
--------------------------------------
--------------------------------------
3-1-2 フォーム作成(続き)
--------------------------------------
1.総勘定元帳の印刷指示フォーム(MotocyoRepForm)をデザインウィンドウで
  開きます。
2.ツールバーのコマンドボタンを選択し、[閉じる]ボタンの右側でクリックします。
  (この時、コントロールウィザードは有効にしておきます)
3.コマンドボタンウィザードで[種類]を[レポートの操作]、[ボタンの動作]を
  [レポートのプレビュー]にして[次へ]ボタンを押します。
4.[コマンドボタンを使ってプレビューするレポートを選択して下さい。]で
  [MotocyoRep]を選択した状態で[次へ]ボタンを押します。
5.[ボタンに表示する文字列、またはピクチャ]は[文字列]を選択し、文字列に
  [実行]と入力したら[次へ]ボタンを押します。
6.[ボタン名]を[Execute]として[完了]ボタンを押します。
7.作成した印刷ボタンを選択し、[クリック時]プロパティへカーソルを移動して
  右端の[...]ボタンを押しモジュールウィンドウを開きます。
8.下の様になっている2行にIf文を書き加えます。

  stDocName = "MotocyoRep"
  DoCmd.OpenReport stDocName, acPreview

  この2行にIf 文を加えて(If文で挟むように)次のように書き換えます。

  If CreateMotocyoData = True Then
    stDocName = "MotocyoRep"
    DoCmd.OpenReport stDocName, acPreview
  End If

9.[×]ボタンでモジュールウィンドウを閉じ、フォームを保存してデザイン
  ウィンドウを終了します。

【解説】
  元々の2行がレポートを呼び出すプログラムです。
  レポートを呼び出す前に Vol.21の2.で作成したサブルーチンを呼び出します。
  但し、該当データ(指定した科目を使用した仕訳)が1件も無いときに、
  そのままレポートを呼び出すとERRORのレポートが出力されてしまうため、If文
  より該当データが在る(サブルーチンの戻り値がTrue)時だけレポートを呼び
  出す様にしました。

これで、総勘定元帳は一応完成ですが、勘定科目のデータにサンプルデータを使って
いる方は、ちょっと気になる点があると思います。
それは、印刷指示フォームの科目コンボボックスで科目名の無い科目が表示される
事です。
皆さんが、勘定科目を自分で登録される場合、科目名が空白の科目を作らなければ
良いだけなのですが、サンプルデータでは予備として、科目名が空白の科目が設けて
あります。(科目コード9987,9989,9990,9993~9999)
この様な場合、科目コンボボックスには出力したく無いですね。
そこで、コンボボックスで科目名が無い科目は表示しない様にしましょう。
1.総勘定元帳の印刷指示フォーム(MotocyoRepForm)をデザインウィンドウで
  開きます。
2.勘定科目コンボボックスを選択し、[値集合ソース]プロパティにカーソルを移動
  します。
3.右端の[...]ボタンを押してクエリービルダを開き、下段の科目名フィールド
  [KamokuName]の抽出条件に[Not Is Null]と入力します。
4.[×]ボタンでクエリービルダを閉じて、フォームを保存しデザインウィンドウを
  終了します。

これで、科目名が空白の科目は非表示となりました。

--------------------------------------
以上で、総勘定元帳が完成です。
次回からは残高試算表の作成に入ります。
______________________________________
◆◇ ワンポイントコーナー ◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇

【サブルーチンの呼び出し】

 Vol.21のワンポイントコーナーでは、サブルーチンの作成に関して解説しました。
 今回は、そのサブルーチンの呼び出しかたを解説しましょう。

 サブルーチンを呼び出すには、通常 Call というステートメントを使います。
 例えば、今回呼び出した CreateMotocyoData というサブルーチンを呼び出す時は
 Call CreateMotocyoData
 と書きます。

 そして、CreateMotocyoData の場合、引数が無いサブルーチンですが、引数がある
 サブルーチンの場合、この後ろに(引数1,引数2・・・)と言った感じで、引数を
 ,で区切って書き( )で括ります。

 このCallは省略する事ができます。
 Callを省略すると、引数の( )も省略しなければなりません。
 しかし、Callを省略すると、いきなり
 CreateMotocyoData
 となり、第3者が見たとき解りづらいですね。
 Callを付けておくと、だれが見ても CreateMotocyoData はサブルーチンだと
 すぐに解るので、私は省略しない事をお勧めします。

 但し、戻り値があるサブルーチンの場合、Call は使用できません。
 従って、CreateMotocyoData の場合、戻り値があるので Call は省略する事に
 なるのです。

 戻り値を変数に入れる場合、

 Dim Ret As Boolean

 Ret = CreateMotocyoData

 とすると変数 Ret に CreateMotocyoData の戻り値が入ります。

 また、今回の様に、If文の中で直接サブルーチンを書いて戻り値を判別する事も
 できます。
______________________________________
◆◇ Q&Aコーナー    ◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇

Q1.
 Vol.23のところで、DenpyoDateヘッダーの相手科目、摘要、借方、貸方、残高
 は[レポートのデザインを編集する]を選び完了ボタンを押すと画面上に出ている
 のでしょうか。
 私の画面では、伝票日付、伝票番号、元帳ID、勘定科目ID、相手方勘定科目、
 補助科目ID、相手方補助科目ID、借方金額、貸方金額、借方消費税額、
 貸方消費税額、摘要(上段)(下段)、科目名、補助科目名となっているのですが。

A1.
 相手科目、摘要、借方、貸方、残高は自分で書き換えます。
 使用しないラベルを流用して、標題を書き換えても構いませんし、新たにラベルを
 追加しても構いません。
 不要なラベルは自分で削除します。

______________________________________
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□

◇ ACCESSで作るシリーズ 【会計ソフト編】
◇ 発 行 元  :Yoshihisa Fukuda(福田 義久)
◇ ご意見・ご要望
  ご質問等   :y.fukuda@ro.bekkoame.ne.jp

◇ このメールマガジンは、インターネットの本屋さん『まぐまぐ』を利用して発行
  しています。(まぐまぐID:0000030446)
◇ バックナンバー:http://www.bekkoame.ne.jp/ro/y.fukuda/
◇ 登録・解除  :http://www.bekkoame.ne.jp/ro/y.fukuda/

 Copyright(C) 2000 Yoshihisa Fukuda All rights reserved.

◇転載について
 このメールマガジンの無断転載などは、一切禁止です。
 転載をご希望の方は、事前にメールで連絡をください。
◇免責
 このメールマガジン及びホームページの内容による、いかなる損害、障害などに
 関して発行者は一切の責任を負いません。
 掲載広告についても同様です。
______________________________________
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□