今回から区分マスタマスタの作成です。
区分マスタは、売上入力、入金入力の伝票明細で使うものです。
例えば、売上では、売上、返品、値引、消費税などを登録します。
入金では、現金、振込、手数料、手形、値引、相殺、自動振込などを
登録します。
では、早速始めましょう。
1.区分マスタマスタを読み込む
1-1.form → load
画面を開いた場合に1回だけ通る処理です。
Private Sub Form_Load()
Set cn = Application.CurrentProject.Connection
cn.CursorLocation = adUseClient
From_Clr
Me![btn取消].Enabled = False
End Sub
データを接続します。
1-1-1.From_Clrについて
Sub From_Clr()
[伝票区分].Enabled = True
[伝票区分].Locked = False
[伝票区分].BackColor = 16777215 '白色
[伝票区分番号].Enabled = True
[伝票区分番号].Locked = False
[伝票区分番号].BackColor = 16777215 '白色
Me![区分名].Enabled = False
Me![集計区分].Enabled = False
Me![伝票区分] = ""
Me![伝票区分番号] = ""
Me![区分名] = ""
Me![集計区分] = ""
End Sub
フォーム上の項目をクリアして必要なボタンを使える
状態にします。
1-2.form → Unload
画面を閉じる場合に1回だけ通る処理です。
Private Sub Form_Unload(Cancel As Integer)
'開放
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 117 '削除(F6)
If btn削除.Enabled = True Then
btn削除.SetFocus
SendKeys "{ENTER}"
End If
Case 119 '登録(F8)
If btn登録.Enabled = True Then
btn登録.SetFocus
SendKeys "{ENTER}"
End If
Case 121 '取消(F10)
If btn取消.Enabled = True Then
btn取消.SetFocus
SendKeys "{ENTER}"
End If
Case 35 '終了(END)
If btn終了.Enabled = True Then
btn終了.SetFocus
SendKeys "{ENTER}"
End If
End Select
Exit Sub
Form_KeyDown_err:
MsgBox "エラーが発生しました。再度、見直してください。
", vbCritical, "エラー"
End Sub
「F8」はKeyCodeで119を表します。
もし、「btn登録」が使える状態ならば、「btn登録」ボタンに移動して
「ENTER」キーを押しなさい。という処理を行っています。
これで、「F8」をおすことは「btn登録」を押した事と同じとなります。
では、なぜ、こんな処理をわざわざするのでしょうか?
それは、マウスをできるだけ使わないようにしたいからです。
これでキーにみでパンチでき、その処理はグーンとアップします。
まだ、キーボード上にはキーがあります。
自分が使いたいものは、Debug.Print を使いキーの数字がいくつ
であるか調べてください。
===================================================================
◆
実践テクニック、Accessで作るクラサバシステム ◆
複数入力で使えるクラサバシステムのテクニック集を大公開中です
編集・構成:高橋浩
提供・発行:ティウェア
http://www.1tware.com/index.html
Access2000+MSDE2000、Access2002+MSDE2000、Access2003+MSDE2000で
作る販売管理ソフト、クライアントサーバーシステムを構築
※当メールマガジンに掲載された記事を許可なく転載することを禁じます。
===================================================================
実践テクニック、Accessで作るクラサバシステム(隔週 火曜日発行中)
SEが10年以上の開発ノウハウを惜しみなく完全公開!
|