前回に続きコントロールマスタの作成です。
1日、500枚の伝票を入力すると仮定します。
かなりの数です、時間も多くかかると思います。
入力項目に値を入れたあと、登録ボタンを押すという作業を
500回するわけです。
まず、マウスのポインタを登録ボタンにあわせるために移動させます。
さらに左クリックして1伝票の登録が完了します。
これを500回繰り返すのです。
では、マウスの変わりにキーボードでその作業をするとします。
割り付けられた登録ボタンを1回押すのみで1伝票の登録が完了する
わけです。
どちらが早いのか、言うまでもありません。
作業を短縮させるには、マウスを使わない工夫が必要となります。
では、マウスを使わず各イベントをキーボードのみを使用して構築
するには、どうすればよいのでしょうか?
1.コントロールマスタでファンクションキーを使えるようにする。
formのイベントにKeyDownがあります。
これは、form上で何かしらのキーを押下された場合に発生する
イベントです。
1−1.form → KeyDown
On Error GoTo Form_KeyDown_err
Select Case KeyCode
Case 119 '登録(F8)
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, "エラー"
これを、KeyDownに貼り付けてください。
押されたキーは、KeyCodeで判断できます。
F8キーが押されたとき、119を返します
Endキーが押されたとき、35を返します。
1−2.主なキーとKeyCodeの値は以下の通りとなります。
F1=112,F2=113,F3=114,F4=115,F5=116,F6=117,F7=118,F8=119,F9=120,
F10=121,F11=122,F12=123,End=35,Esc=27,PageUp=33,PageDown=34,
↑=38,↓=40,Home=36,BackSpace=8,Enter=13,Tab=9
これらを主な操作に対応させることで操作性がかなり向上します。
キーボードのキーを使わない手はありません。
2.コントロールマスタを終了させる。
formのイベントにUnloadがあります。
これは、プログラムが終了する場合に発生するイベントです。
2−1.form → Unload
cn.Close
Set cn = Nothing
データの接続を終了させます。
form上での処理はこれで終了です。
次回は、ボタンを押された時の処理を説明します。
===================================================================
◆
実践テクニック、Accessで作るクラサバシステム ◆
Accessで作るクラサバシステムの徹底攻略法はこのメルマガで学び取ることが
できます。
編集・構成:高橋浩
提供・発行:ティウェア
http://www.1tware.com/index.html
Access2000+MSDE2000、Access2002+MSDE2000、Access2003+MSDE2000で
作る販売管理ソフト、クライアントサーバーシステムを構築
※当メールマガジンに掲載された記事を許可なく転載することを禁じます。
===================================================================
実践テクニック、Accessで作るクラサバシステム(隔週 火曜日発行中)
SEが10年以上の開発ノウハウを惜しみなく完全公開!
|