■メニュー
1.得意先マスタの作成(6回目)
===================================================================
こんにちは、ティウェアの高橋です。
それでは、得意先マスタの作成の6回目をはじめましょう。
開始します。
-------------------------------------------------------------------
1.営業所コード_KeyDownについて
営業所コード上でキーを押した時の処理です。
処理は、営業所コード_DblClickと同じです。
On Error GoTo Err_営業所コード_DblClick
If KeyCode <> 123 Then
Exit Sub
End If
[営業所コード] = Null
[得意先コード] = Null
If [営業所コード].Enabled = False Then
Exit Sub
End If
form_modoriname = "得意先マスタメンテナンス"
stDocName = "得意先問い合せ"
form_modoricontrols_name_1 = "営業所コード"
form_modoricontrols_name_2 = "得意先コード"
form_modoricontrols_name_setfocus = "得意先コード"
Me.Visible = False
DoCmd.OpenForm stDocName
Exit_営業所コード_DblClick:
Exit Sub
Err_営業所コード_DblClick:
MsgBox "エラーナンバー " & Err.Number & _
vbCrLf & _
Err.Description, vbCritical, "エラー"
Resume Exit_営業所コード_DblClick
--*--------*--------*--------*--------*--------*--------*--------*---
2.得意先コード_GotFocusについて
得意先コードにフォーカスが入った時の処理です。
From_Clr_btn
If IsNull([得意先コード]) Or Trim([得意先コード]) & "" = "" Then
Else
SendKeys "{ENTER}"
End If
問い合せより戻った場合、得意先コードに何かしら入ってると
SendKeys "{ENTER}"によりENTERキーを押した状態になります。
これで、次の項目に移動します。
--*--------*--------*--------*--------*--------*--------*--------*---
3.得意先コード_LostFocusについて
得意先コードからフォーカスが出て行くときの処理です。
syorimode = 0
If IsNull([得意先コード]) Or Trim([得意先コード]) & "" = "" _
Or [得意先コード] = 0 Then
[得意先コード] = ""
Exit Sub
Else
Me![得意先コード] = Format$(Me![得意先コード], "00")
End If
Set cm = New ADODB.Command
Set rs = New ADODB.Recordset
Set pm = New ADODB.Parameter
pm.Direction = adParamInput
pm.Type = adInteger
pm.Value = [得意先コード]
'◎ポイント解説 9 -----*-----*-----*-----
With cm
.ActiveConnection = cn
.CommandType = adCmdStoredProc
.CommandText = "sp_得意先マスタ_get"
.Parameters.Append pm
End With
Set rs = cm.Execute
If rs.EOF Then
syorimode = 0
[ロックフラグ] = MyCompName
Else
Me![得意先名] = rs![得意先名]
Me![カナ名] = rs![カナ名]
Me![略名] = rs![略名]
Me![郵便番号] = rs![郵便番号]
Me![住所1] = rs![住所1]
Me![住所2] = rs![住所2]
Me![電話番号] = rs![電話番号]
Me![FAX番号] = rs![FAX番号]
Me![締日] = rs![締日]
Me![担当者コード] = rs![担当者コード]
If IsNull([担当者コード]) Or Trim([担当者コード]) & "" = "" Then
Else
Me![担当者コード] = Format$(Me![担当者コード], "00")
End If
Me![請求先営業所コード] = rs![請求先営業所コード]
If IsNull([請求先営業所コード]) Or Trim([請求先営業所コード]) & "" = "" Then
Else
Me![請求先営業所コード] = Format$(Me![請求先営業所コード], "00")
End If
Me![請求先得意先コード] = rs![請求先得意先コード]
If IsNull([請求先得意先コード]) Or Trim([請求先得意先コード]) & "" = "" Then
Else
Me![請求先得意先コード] = Format$(Me![請求先得意先コード], "00000")
End If
End If
rs.Close
Set rs = Nothing
Set pm = Nothing
Set cm = Nothing
Me![得意先名].Enabled = True
Me![カナ名].Enabled = True
Me![略名].Enabled = True
Me![郵便番号].Enabled = True
Me![住所1].Enabled = True
Me![住所2].Enabled = True
Me![電話番号].Enabled = True
Me![FAX番号].Enabled = True
Me![締日].Enabled = True
Me![担当者コード].Enabled = True
Me![請求先営業所コード].Enabled = True
Me![請求先得意先コード].Enabled = True
Me![消費税計算法].Enabled = True
Me![掛区分].Enabled = True
If syorimode = 0 Then
[btn削除].Enabled = False
[btnデータ先頭].Enabled = False
[btnデータ後退].Enabled = False
[btnデータ前進].Enabled = False
[btnデータ最終].Enabled = False
Else
[btn削除].Enabled = True
[btnデータ先頭].Enabled = True
[btnデータ後退].Enabled = True
[btnデータ前進].Enabled = True
[btnデータ最終].Enabled = True
End If
[得意先名].SetFocus
-------------------------------------------------------------------
syorimodeは0:登録、1:変更、削除となります。
3-1.◎ポイント解説 9 について
sp_得意先マスタ_getのストアドプロシージャです。
ALTER Procedure sp_得意先マスタ_get
(
@営業所コード int,
@得意先コード int
)
As
select * from 得意先マスタ
where (営業所コード = @営業所コード) and
(得意先コード = @得意先コード)
return
次回も、得意先マスタの作成となります。
===================================================================
◆
実践テクニック、Accessで作るクラサバシステム ◆
編集・構成:高橋浩
提供・発行:ティウェア
http://www.1tware.com/index.html
Access2000+MSDE2000、Access2002+MSDE2000、Access2003+MSDE2000で
作る販売管理ソフト、クライアントサーバーシステムを構築
※当メールマガジンに掲載された記事を許可なく転載することを禁じます。
===================================================================
実践テクニック、Accessで作るクラサバシステム(隔週 火曜日発行中)
SEが10年以上の開発ノウハウを惜しみなく完全公開!
|