今年最後のメルマガです。
会社マスタメンテナンスの作成をします。
では、始めましょう。
-------------------------------------------------------------------
1.会社マスタマスタを読み込む
1-1.form → load
画面を開いた場合に1回だけ通る処理です。
Private Sub Form_Load()
'cn_mdo.Open "Provider=Microsoft.jet.OLEDB.4.0;Data
Source= _
c:\Program Files\yubin\yubin.mdb"
'cn_mdo.CursorLocation = adUseClient
Set cn = Application.CurrentProject.Connection
cn.CursorLocation = adUseClient
If コントロール_読む = False Then
DoCmd.Close
DoCmd.OpenForm "m_マスタメンテナンス処理メニュー"
Exit Sub
End If
If 定数_読む = False Then
DoCmd.Close
DoCmd.OpenForm "m_マスタメンテナンス処理メニュー"
Exit Sub
End If
'処理モード(0:登録、1:変更、削除)
syorimode = 0
'会社マスタ読み込み開始
[会社コード] = 1
Set cm = New ADODB.Command
Set rs = New ADODB.Recordset
Set pm = New ADODB.Parameter
pm.Direction = adParamInput
pm.Type = adInteger
pm.Value = [会社コード]
With cm
.ActiveConnection = cn
.CommandType = adCmdStoredProc
.CommandText = "sp_会社マスタ_get"
.Parameters.Append pm
End With
Set rs = cm.Execute
If rs.EOF Then
syorimode = 0 '登録
[代表者名] = ""
[会社名] = ""
[郵便番号] = ""
[住所1] = ""
[住所2] = ""
[電話番号] = ""
[FAX番号] = ""
[振込先1] = ""
[振込先2] = ""
[振込先3] = ""
Else
syorimode = 1 '変更、削除
[代表者名] = rs![代表者名]
[会社名] = rs![会社名]
[郵便番号] = rs![郵便番号]
[住所1] = rs![住所1]
[住所2] = rs![住所2]
[電話番号] = rs![電話番号]
[FAX番号] = rs![FAX番号]
[振込先1] = rs![振込先1]
[振込先2] = rs![振込先2]
[振込先3] = rs![振込先3]
End If
rs.Close
Set rs = Nothing
Set pm = Nothing
Set cm = Nothing
'会社マスタ読み込み終了
[代表者名].Enabled = True
[会社名].Enabled = True
[郵便番号].Enabled = True
[住所1].Enabled = True
[住所2].Enabled = True
[電話番号].Enabled = True
[FAX番号].Enabled = True
[振込先1].Enabled = True
[振込先2].Enabled = True
[振込先3].Enabled = True
[btn登録].Enabled = True
[btn終了].Enabled = True
[会社名].SetFocus
End Sub
*説明
会社マスタは1件しかありませんのでformをloadした時に
読み込み各テキストにデータを送ります。
formをloadの直後にある命令は郵便番号辞書のデータを
開いています。
最新のデータを自分のパソコンに取り込み利用しています。
今回は詳しく説明しません。
機会があれば説明したいと思います。
この部分は注釈にしています。
cn_mdo.Open "Provider=Microsoft.jet.OLEDB.4.0;Data
Source= _
c:\Program Files\yubin\yubin.mdb"
cn_mdo.CursorLocation = adUseClient
-------------------------------------------------------------------
1-2.form → Unload
画面を閉じる場合に1回だけ通る処理です。
Private Sub Form_Unload(Cancel As Integer)
cn_mdo.Close
Set cn_mdo = Nothing
cn.Close
Set cn = Nothing
End Sub
接続を開放します。
-------------------------------------------------------------------
1-3.form → KeyDown
フォーム上で何かしらのキーが押されたときの処理です。
注意:Form上のキーボードイベント取得を「はい」にすると
Form上のKeyDownを優先されます
Private Sub Form_KeyDown(KeyCode As Integer, Shift As
Integer)
On Error GoTo Form_KeyDown_err
Select Case KeyCode
Case 119 '登録(F8)
If btn登録.Enabled = True Then
btn登録.SetFocus
SendKeys "{ENTER}"
NumLock_処理
End If
Case 35 '終了(END)
If btn終了.Enabled = True Then
btn終了.SetFocus
SendKeys "{ENTER}"
NumLock_処理
End If
End Select
Exit Sub
Form_KeyDown_err:
MsgBox "エラーが発生しました。再度、見直してください。", _
vbCritical, "エラー"
End Sub
次回も会社マスタの作成です。
===================================================================
◆
実践テクニック、Accessで作るクラサバシステム ◆
アクセスの速習法をマスターするなら、Accessで作るクラサバシステム
編集・構成:高橋浩
提供・発行:ティウェア
http://www.1tware.com/index.html
Access2000+MSDE2000、Access2002+MSDE2000、Access2003+MSDE2000で
作る販売管理ソフト、クライアントサーバーシステムを構築
※当メールマガジンに掲載された記事を許可なく転載することを禁じます。
===================================================================
実践テクニック、Accessで作るクラサバシステム(隔週 火曜日発行中)
SEが10年以上の開発ノウハウを惜しみなく完全公開!
|