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

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



2007/07/03配信
 

第10コース  第7回 「得意先残高初期入力の作成」




 

 ■メニュー

   1.得意先残高初期入力の作成(2回目)

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

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

 得意先残高初期入力の作成の2回目です。

 では、はじめましょう。

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


 1.登録ボタンの処理

   登録ボタンを押すことにより、得意先残高マスタに書き込みを行います。

   1-1.btn登録_Click()について   


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

If inttouroku = 1 Then
If MsgBox("登録しますか", (vbYesNo + vbDefaultButton2 + _
vbInformation), "登録") = vbYes Then
Else
DoCmd.GoToControl "開始残高"
Exit Sub
End If
End If

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

Select Case syorimode
Case 1 '変更、削除
intRet = 得意先残高_更新(1)
End Select

p_tancd = Int(0)

From_Clr

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

[営業所コード].Enabled = True
[営業所コード].Locked = False
[営業所コード].BackColor = 16777215 '白色
[得意先コード].Enabled = True
[得意先コード].Locked = False
[得意先コード].BackColor = 16777215 '白色

[営業所コード].SetFocus


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

 では、解説します。

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

   登録ボタンを押して書き込む前にコンボボックスを表示します。
   再度、確認させます。
   これは、間違ってボタンを押しても回避できるようにするためです。

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

   syorimodeが1の場合は、変更処理をします。

   得意先マスタメンテナンスで得意先残高マスタは既に作成されていますので
   この入力では、変更のみの処理となります。

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

[営業所コード].Enabled = True
[営業所コード].Locked = False
[営業所コード].BackColor = 16777215 '白色
[得意先コード].Enabled = True
[得意先コード].Locked = False
[得意先コード].BackColor = 16777215 '白色

   この処理は営業所コード、得意先コード(テキスト)の入力が出来る
   状態にします。
   営業所コード、得意先コードを入力して存在すれば、取消ボタンを
   押さない限り入力できないようにしていますのでここで解除しています。

   処理が終わればカーソルを営業所コードにフォーカスをあてます。
   フォーカスをあてるのは、入力できる状態にするという事です。

-*--------*--------*--------*--------*--------*--------*--------*-

 それでは、intRet = 得意先残高_更新(1)を解説します。

 Function 得意先残高_更新(upd_mode As Integer)を作成して下さい。

得意先残高_更新 = True

On Error GoTo 得意先残高_更新_err

Set cm = New ADODB.Command
Set pm = New ADODB.Parameter

With cm
.ActiveConnection = cn
.CommandType = adCmdStoredProc
If upd_mode = 0 Then
Exit Function
Else

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

.CommandText = "sp_得意先残高マスタ初期_upd"
End If

Set pm = .CreateParameter(, adInteger, adParamInput, , [営業所コード])
.Parameters.Append pm
Set pm = .CreateParameter(, adInteger, adParamInput, , [得意先コード])
.Parameters.Append pm
Set pm = .CreateParameter(, adCurrency, adParamInput, , [前年残高])
.Parameters.Append pm
Set pm = .CreateParameter(, adCurrency, adParamInput, , [開始残高])
.Parameters.Append pm
Set pm = .CreateParameter(, adCurrency, adParamInput, , [請求残高])
.Parameters.Append pm
Set pm = .CreateParameter(, adCurrency, adParamInput, , [月次残高])
.Parameters.Append pm

End With

cm.Execute

Set pm = Nothing
Set cm = Nothing

Exit Function

得意先残高_更新_err:

For Each ado_err In cn.Errors
MsgBox "エラーナンバー " & ado_err.Number & _
vbCrLf & _
"エラーソース " & ado_err.Source & _
vbCrLf & _
Err.Description, vbCritical, "エラー"

Next

得意先残高_更新 = False

Set pm = Nothing
Set cm = Nothing


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

 では、解説です。

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

  得意先残高マスタの変更処理となります。

  得意先残高_更新(upd_mode As Integer)のupd_modeには、1が入っています。

   "sp_得意先残高マスタ初期_upd"のストアドプロシージャを実行します。

ALTER Procedure sp_得意先残高マスタ初期_upd
(
@営業所コード int,
@得意先コード int,
@前年残高 money,
@開始残高 money,
@請求残高 money,
@月次残高 money
)
As
update 得意先残高マスタ
set 営業所コード=@営業所コード,得意先コード=@得意先コード,
     前年残高=@前年残高,開始残高=@開始残高,請求残高=@請求残高,
     月次残高=@月次残高
where (営業所コード=@営業所コード) and (得意先コード=@得意先コード)
return

 メンテナンスで作った要領と同じです。
 簡単ですよね。
 
 次回も得意先残高初期入力です。


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

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