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

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



2007/09/25配信
 

第11コース  第3回 「売上入力の作成」




 

 ■メニュー

   1.売上入力の作成(3回目)

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

 こんにちは、ティウェアの高橋です。

 売上入力の作成の3回目です。

 では、はじめましょう。

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


 今回は、FormのLoadを取り上げます。


Set cn = Application.CurrentProject.Connection
cn.CursorLocation = adUseClient

  ◎ポイント解説 1 -----*-----*-----*-----

If コントロール_読む = False Then
DoCmd.Close
DoCmd.OpenForm "m_日次処理メニュー"
Exit Sub
End If

  ◎ポイント解説 2 -----*-----*-----*-----

If 会社マスタ_読む = False Then
DoCmd.Close
DoCmd.OpenForm "m_日次処理メニュー"
Exit Sub
End If

p_eigyocd = Int(0)

  ◎ポイント解説 3 -----*-----*-----*-----

From_Clr

Forms(cFormName_M)![btn取消].Enabled = False

Forms(cFormName_M)![伝票区分] = Int(1)

tDate = 0

  ◎ポイント解説 4 -----*-----*-----*-----

区分名_画面表示

'納品書備考
t_nouhinmes = ""

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

 では、説明します。

 1.◎ポイント解説 1 について

  コントロール_読むは、コントロールマスタを読み込む処理です。

コントロールマスタが、存在するかを調べます。
  なければ、抜け出します。

  1-1.消費税の商品コードを退避します。

   商品マスタに消費税を持たせます。

    一番大きな数字オール9が良いと思います。
  
    なぜ、商品マスタに持たせるのか?

    例えば、得意先別集計表、商品別集計表を作るとしましょう。
    その場合、1日でも1ヶ月でもよいのですが、集計すると
得意先別集計表、商品別集計表の金額が違ってきます。

何かが、足りません。

    何?

    消費税の額だけ足らなくなるのです。

    そこで、商品として消費税を登録するわけです。
    これで、どの帳票をみても同じ。
  
    商品コードをオール9にするのは、商品でないから最後に
    印刷させるわけです。
  
  1-2.消費税率を退避する。

  1-3.消費税は、変わるので日付と税率を退避する。

  1-4.商品マスタ読むから消費税を読み込む
 
Function コントロール_読む()

コントロール_読む = True

Set rs1 = New ADODB.Recordset
rs1.Open "コントロールマスタ", cn, adOpenDynamic, adLockOptimistic

If rs1.BOF Then
MsgBox "コントロールマスタが登録されていません。 _
処理を終了して下さい。", vbCritical, "警告"
rs1.Close
Set rs1 = Nothing
コントロール_読む = False
Exit Function
Else
商品CD消費税 = rs1![消費税商品コード]
zei = rs1![消費税]
If IsNull(rs1![新消費税開始日付]) Or Trim(rs1![新消費税開始日付]) _
& "" = "" Then
消費税_ymd = 0
Else
消費税_ymd = rs1![新消費税開始日付]
End If
szei = rs1![新消費税]

'売上伝票発行(0:無し,1:有り)
denp_sakou = rs1![売上伝票発行]

End If

rs1.Close
Set rs1 = Nothing

'商品マスタ読む(消費税)

商品名消費税 = ""
規格消費税 = ""

Set cm1 = New ADODB.Command
Set rs1 = New ADODB.Recordset
Set pm1 = New ADODB.Parameter
pm1.Direction = adParamInput
pm1.Type = adInteger
pm1.Value = 商品CD消費税

With cm1
.ActiveConnection = cn
.CommandType = adCmdStoredProc
.CommandText = "sp_商品マスタ_get"
.Parameters.Append pm1
End With

Set rs1 = cm1.Execute

If rs1.EOF Then
MsgBox "消費税商品コードが登録されていません。 _
処理を終了して下さい。", vbCritical, "警告"
コントロール_読む = False
rs1.Close
Set rs1 = Nothing
Set pm1 = Nothing
Set cm1 = Nothing
Exit Function
Else
商品名消費税 = rs1![商品名]
End If

rs1.Close

Set rs1 = Nothing
Set pm1 = Nothing
Set cm1 = Nothing

End Function

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

 1.◎ポイント解説 2 について

  会社マスタ_読むは、会社マスタを読み込む処理です。
  これは、納品書を発行するときに使います。
  会社名、住所など印刷しないといけません。


Function 会社マスタ_読む()

会社マスタ_読む = True

'会社マスタ読み込み開始
Set cm1 = New ADODB.Command
Set rs1 = New ADODB.Recordset
Set pm1 = New ADODB.Parameter
pm1.Direction = adParamInput
pm1.Type = adInteger
pm1.Value = 1

With cm1
.ActiveConnection = cn
.CommandType = adCmdStoredProc
.CommandText = "sp_会社マスタ_get"
.Parameters.Append pm1
End With
Set rs1 = cm1.Execute

If rs1.EOF Then

[text会社名] = ""
[text郵便番号] = ""
[text住所1] = ""
[text住所2] = ""
[text電話番号] = ""
[textFAX番号] = ""
[text振込先1] = ""
[text振込先2] = ""
[text振込先3] = ""

MsgBox "会社マスタが登録されていません。処理を終了して下さい。_
", vbCritical, cFormName_M & " 警告"
rs1.Close
Set rs1 = Nothing
Set pm1 = Nothing
Set cm1 = Nothing
会社マスタ_読む = False
Exit Function

Else

[text会社名] = rs1![会社名]
[text郵便番号] = rs1![郵便番号]
[text住所1] = rs1![住所1]
[text住所2] = rs1![住所2]
[text電話番号] = rs1![電話番号]
[textFAX番号] = rs1![FAX番号]
[text振込先1] = rs1![振込先1]
[text振込先2] = rs1![振込先2]
[text振込先3] = rs1![振込先3]

End If

rs1.Close
Set rs1 = Nothing
Set pm1 = Nothing
Set cm1 = Nothing

End Function

 長くなるので、今回はここまでとします。

 今回のポイントは、どの帳票をある一定期間で区切って印刷する場合
 どれを見ても同じ金額でないといけないということです。 

 次回も売上入力です。


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

                ◆ 実践テクニック、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.