区分マスタの登録処理を解説します。
syorimode=0ならば、新規登録。
syorimode=1ならば、変更。
upd_modeで更新を判断して処理する。
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
.CommandText = "sp_区分マスタ_ins"
Else
.CommandText = "sp_区分マスタ_upd"
End If
If Me![伝票区分] = "売上" Then
dencode = Int(1)
Else
If Me![伝票区分] = "入金" Then
dencode = Int(2)
End If
End If
Set pm = .CreateParameter(, adSmallInt, adParamInput,
, dencode)
.Parameters.Append pm
Set pm = .CreateParameter(, adSmallInt, adParamInput,
, _
[伝票区分番号])
.Parameters.Append pm
Set pm = .CreateParameter(, adVarChar, adParamInput,
20, [区分名])
.Parameters.Append pm
Set pm = .CreateParameter(, adSmallInt, adParamInput,
, syukbn)
.Parameters.Append pm
Set pm = .CreateParameter(, adVarChar, adParamInput,
2, _
Format$([dencode], "00"))
.Parameters.Append pm
Set pm = .CreateParameter(, adVarChar, adParamInput,
2, _
Format$([伝票区分番号], "00"))
.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
End Function
-------------------------------------------------------------------
2.sp_区分マスタ_ins のストアドプロシジャーの処理です。
insert処理で値を送ります。
このとき、送る項目と受け取る項目をあわせる必要があります。
間違えないように。
Alter Procedure sp_区分マスタ_ins
(
@伝票区分 smallint,
@伝票区分番号 smallint,
@区分名 varchar (20),
@集計区分 smallint,
@伝票区分文字 varchar (2),
@伝票区分番号文字 varchar (2)
)
As
insert into 区分マスタ
(伝票区分,伝票区分番号,区分名,集計区分,伝票区分文字,伝票区分番号文字)
values (@伝票区分,@伝票区分番号,@区分名,@集計区分,@伝票区分文字,@伝票区分番号文字)
return
-------------------------------------------------------------------
2.sp_区分マスタ_upd のストアドプロシジャーの処理です。
whereの条件にあったデータをupdateします。
updateでは必ずwhereを忘れずに。
Alter Procedure sp_区分マスタ_upd
(
@伝票区分 smallint,
@伝票区分番号 smallint,
@区分名 varchar (20),
@集計区分 smallint,
@伝票区分文字 varchar (2),
@伝票区分番号文字 varchar (2)
)
As
update 区分マスタ
set
伝票区分=@伝票区分,伝票区分番号=@伝票区分番号,区分名=@区分名,集計区分=@集計区分,伝票区分文字=@伝票区分文字,伝票区分番号文字=@伝票区分番号文字
where (伝票区分=@伝票区分) and (伝票区分番号=@伝票区分番号)
return
お陰さまで第3コースも残り2となりました。
10回を持ちまして、少し充電時間を頂きます。
これ以上に充実した内容をお届けします。
次回も区分マスタです。
削除処理をメインに記述します。
===================================================================
◆
実践テクニック、Accessで作るクラサバシステム ◆
早わかりパーフェクトマスター、Accessで作るクラサバシステム
編集・構成:高橋浩
提供・発行:ティウェア
http://www.1tware.com/index.html
Access2000+MSDE2000、Access2002+MSDE2000、Access2003+MSDE2000で
作る販売管理ソフト、クライアントサーバーシステムを構築
※当メールマガジンに掲載された記事を許可なく転載することを禁じます。
===================================================================
実践テクニック、Accessで作るクラサバシステム(隔週 火曜日発行中)
SEが10年以上の開発ノウハウを惜しみなく完全公開!
|