Access(ADP & VBA)とMSDEで作るクライアントサーバーシステム(c/s)

 
実践テクニック、Accessで作るクラサバシステム



2004/11/02配信
 

第4コース  第4回 「区分マスタリストの作成」




 

今回はレポートの処理を説明します。

区分マスタリストは単純にデータを伝票区分の伝票区分番号順に
印刷するだけです。

では、具体的に。

レポート名は”r_区分マスタリスト”とします。

1.レポートのレイアウトについて

 1-1.ページヘッダー
       伝票区分、伝票区分番号、区分名、集計区分のラベルを配置
       してください。

1-2.詳細
   伝票区分、伝票区分番号、区分名、集計区分のテキストボックスを
   配置します。

   ここで、伝票区分自体は、1なら売上、2なら入金となります。
   でも、1、2を伝票区分に印刷するのはおかしいので
   ”売上”、”入金”を印刷させます。
   そこで伝票区分のテキストボックスの上にrepo伝票区分という
   テキストボックスを作り重ねます。
   伝票区分のテキストボックスは可視を”いいえ”
   repo伝票区分のテキストボックスは可視を”はい”にします。

   同様に集計区分も”売上”、”返品”・・・と印刷させたいので
   repo集計区分というテキストボックスを作り重ねます。


   プロパティの内容

   名前         可視   コントロールソース
   
   伝票区分     いいえ  伝票区分
   repo伝票区分  はい
   伝票区分番号  はい   伝票区分番号
   区分名       はい   区分名
   集計区分     いいえ  集計区分
   repo集計区分   はい

 1-3.ページフッター
   印刷日付のテキストボックスを非連結でつくります。
   印刷日付というラベルも忘れずに作ってください。

1.レポートの並び替え/グループについて

   フィールド/式     並び替え順序

   伝票区分        昇順
   伝票区分番号     昇順
   

   グループプロパティー  

   グループヘッダー    いいえ
   グループフッター     いいえ
   グループごと      各値 
   グループ間隔      1
   同一ページ印刷     しない

-------------------------------------------------------------------

Option Compare Database
Option Explicit

Const cFormName_M = "区分マスタリスト"
Const cReportName_M = "r_区分マスタリス

-------------------------------------------------------------------

標準モジュールに作成する
Public t_RecordSource As String

-------------------------------------------------------------------

レポートをオープンします。

Private Sub Report_Open(Cancel As Integer)

Reports(cReportName_M).RecordSource = t_RecordSource

End Sub

-------------------------------------------------------------------

ページヘッダーの処理です。

Private Sub ページヘッダーセクション_Print(Cancel As Integer, _
PrintCount As Integer)

[印刷日付] = DateSerial(Forms(cFormName_M)![印刷年], Forms(cFormName_M) _
![印刷月], Forms(cFormName_M)![印刷日]) _
& " " & Forms(cFormName_M)![印刷時間]

End Sub

-------------------------------------------------------------------

印刷明細の処理です。

伝票区分の番号により"売上"、"入金"を送っています。

集計区分は"売上"、"返品"・・・、"現金"、"振込"・・・
を送っています。

Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer)

'伝票区分
If [伝票区分] = Int(1) Then
[repo伝票区分] = "売上"
Else
If [伝票区分] = Int(2) Then
[repo伝票区分] = "入金"
End If
End If

'集計区分
'売上
If [伝票区分] = Int(1) Then
If [集計区分] = Int(1) Then
[repo集計区分] = "売上"
End If
If [集計区分] = Int(2) Then
[repo集計区分] = "返品"
End If
If [集計区分] = Int(3) Then
[repo集計区分] = "値引"
End If
If [集計区分] = Int(4) Then
[repo集計区分] = "消費税"
End If
Exit Sub
End If

'入金
If [伝票区分] = Int(2) Then
If [集計区分] = Int(1) Then
[repo集計区分] = "現金"
End If
If [集計区分] = Int(2) Then
[repo集計区分] = "振込"
End If
If [集計区分] = Int(3) Then
[repo集計区分] = "手数料"
End If
If [集計区分] = Int(4) Then
[repo集計区分] = "手形"
End If
If [集計区分] = Int(5) Then
[repo集計区分] = "値引"
End If
If [集計区分] = Int(6) Then
[repo集計区分] = "相殺"
End If
Exit Sub
End If

End Sub

-------------------------------------------------------------------

最後に印刷するデータが存在しない場合の処理はどうすればよいのか?
データがないのにレポートが現れたらおかしいですよね。

これはちょっと考えてみてください。

次の回で解答するかも知れません。

これで”区分マスタリスト”は終了しました。

===================================================================

                ◆ 実践テクニック、Accessで作るクラサバシステム ◆

最短のシステム構築基礎は、経験者から学び取ることです。

  編集・構成:高橋浩
  提供・発行:ティウェア

http://www.1tware.com/index.html

Access2000+MSDE2000、Access2002+MSDE2000、Access2003+MSDE2000で
作る販売管理ソフト、クライアントサーバーシステムを構築

※当メールマガジンに掲載された記事を許可なく転載することを禁じます。

===================================================================

実践テクニック、Accessで作るクラサバシステム(隔週 火曜日発行中)

SEが10年以上の開発ノウハウを惜しみなく完全公開!

Mail:  (半角英数字)     Powered byまぐまぐ


HOME / お客様の声 / メルマガ / 販売管理ソフト教材 / 会社概要/ 特定商取引法/ お申し込み
 お問い合わせ / メルマガのご意見ご感想 / メルマガのバックナンバー/ プライバシーポリシー
 


 Copyright (c) 2001 ティウェア All rights reserved.