区分マスタを読み込む処理を解説します。
伝票区分、伝票区分番号を入力したら、データがあるかないかを判断
します。
1.伝票区分
伝票区分では売上、入金を選択する処理です。
フォームが開くと伝票区分のコンボボックスが開いている
そのような状況を作ります。
-------------------------------------------------------------------
Private Sub 伝票区分_GotFocus()
From_Clr_btn
[伝票区分].Dropdown
If IsNull([伝票区分]) Or Trim([伝票区分]) & "" = "" Then
SendKeys "{DOWN}"
End If
End Sub
-------------------------------------------------------------------
2.伝票区分番号
伝票区分、伝票区分番号を入力したら(LostFocus)
sp_区分マスタ_getでデータを表示します。
*"sp_区分マスタ_get"は今回記述しません。
どのようになるのか考えてみましょう。
-------------------------------------------------------------------
Private Sub 伝票区分番号_LostFocus()
syorimode = 0
'ここに入力データのチェックを入れる
Select Case Me![伝票区分]
Case "売上"
Case "入金"
Case Else
MsgBox "該当しない伝票区分が選択されてます", _
vbExclamation, "注意"
Exit Sub
End Select
Set cm = New ADODB.Command
Set rs = New ADODB.Recordset
Set pm = New ADODB.Parameter
pm.Direction = adParamInput
pm.Type = adSmallInt
If Me![伝票区分] = "売上" Then
pm.Value = 1
Else
If Me![伝票区分] = "入金" Then
pm.Value = 2
End If
End If
Set pm_1 = New ADODB.Parameter
pm_1.Direction = adParamInput
pm_1.Type = adSmallInt
pm_1.Value = Me![伝票区分番号]
With cm
.ActiveConnection = cn
.CommandType = adCmdStoredProc
.CommandText = "sp_区分マスタ_get"
.Parameters.Append pm
.Parameters.Append pm_1
End With
Set rs = cm.Execute
If rs.EOF Then
syorimode = 0 '登録
集計区分表示
Else
syorimode = 1 '変更、削除
Me![区分名] = rs![区分名]
syukbn = rs![集計区分]
集計区分表示
End If
rs.Close
Set rs = Nothing
Set pm = Nothing
Set pm_1 = Nothing
Set cm = Nothing
Me![区分名].Enabled = True
Me![集計区分].Enabled = True
Me![btn取消].Enabled = True
Me![btn登録].Enabled = True
Me![btn取消].Enabled = True
If syorimode = 0 Then
[btn削除].Enabled = False
Else
[btn削除].Enabled = True
End If
Me![区分名].SetFocus
End Sub
-------------------------------------------------------------------
Sub 集計区分表示()
If Me![伝票区分] = "売上" Then
Me![集計区分].RowSource = "売上" & ";" & "返品" & ";" & "値引" _
& ";" & "消費税"
End If
If Me![伝票区分] = "入金" Then
Me![集計区分].RowSource = "現金" & ";" & "振込" & ";" & "手数料"
& _
";" & "手形" & ";" & "値引" & ";" & "相殺"
End If
If syorimode <> 1 Then
Exit Sub
End If
If Me![伝票区分] = "売上" Then
If syukbn = Int(1) Then
Me![集計区分] = "売上"
End If
If syukbn = Int(2) Then
Me![集計区分] = "返品"
End If
If syukbn = Int(3) Then
Me![集計区分] = "値引"
End If
If syukbn = Int(4) Then
Me![集計区分] = "消費税"
End If
Exit Sub
End If
If Me![伝票区分] = "入金" Then
If syukbn = Int(1) Then
Me![集計区分] = "現金"
End If
If syukbn = Int(2) Then
Me![集計区分] = "振込"
End If
If syukbn = Int(3) Then
Me![集計区分] = "手数料"
End If
If syukbn = Int(4) Then
Me![集計区分] = "手形"
End If
If syukbn = Int(5) Then
Me![集計区分] = "値引"
End If
If syukbn = Int(6) Then
Me![集計区分] = "相殺"
End If
Exit Sub
End If
End Sub
-------------------------------------------------------------------
第3コースが終了しました。
メルマガは参考になっていますか?
自分の作りたいシステムに近づいてますか?
次回から第4コースが始まります。
===================================================================
◆
実践テクニック、Accessで作るクラサバシステム ◆
これで悩み解決、Accessのクラサバノウハウ集はこれで決まりです
編集・構成:高橋浩
提供・発行:ティウェア
http://www.1tware.com/index.html
※当メールマガジンに掲載された記事を許可なく転載することを禁じます。
===================================================================
実践テクニック、Accessで作るクラサバシステム(隔週 火曜日発行中)
SEが10年以上の開発ノウハウを惜しみなく完全公開!
|