前回、商品マスタデータの登録・修正・削除の実行ボタン部分を作成しました。
この記事では、商品マスタ画面の入力支援を作成し、完成させます。
VBA在庫管理システムVer01
商品マスタの入力支援作成
ユーザーフォームの入力支援機能は様々ありますが、最低限、タブ移動と入力モードの設定はしておきましょう。
タブ移動の設定
入力支援機能として、タブ移動の順序を設定していきます。
VBEで[表示]-[タブオーダー]をクリックすると、タブオーダー画面が表示されます。リストの上から順に、タブ移動が設定されます。ラベルはタブが止まらないので、無視します。
フォーム frmItemMasterを選択し、タブオーダー画面を表示し、画面全体のタブ移動を設定します。
フレーム fraItemSelect を選択し、タブオーダー画面を表示し、フレーム内のタブ移動を設定します。
フレーム fraDetailInfo を選択し、タブオーダー画面を表示し、フレーム内のタブ移動を設定します。
フレーム fraItemInput を選択し、タブオーダー画面を表示し、フレーム内のタブ移動を設定します。
商品IDテキストボックスは入力はないので、タブが止まらないように、プロパティウィンドウで詳細設定します。また、入力も規制しておきます。
入力モードの設定
入力時に、日本語を入力したいのに入力モードが半角英数だったりすると、入力モードを変更する手間が発生します。
VBAでは、初期値が0-fmIMEModeNoControl(前の入力モードのまま)となっています。
そこで、日本語入力の時は4-fmIMEModeHiragana(全角ひらがなモード)、英数字入力の時は8-fmIMEModeAlpha (半角英数字モード)にプロパティウィンドウで詳細設定します。
日本語入力
英数字入力
商品マスタの課題等
ここまで、商品マスタ画面を作成してきましたが、運用時に課題となりそうな項目を記しておきます。
※この解説記事で作成した画面には、対策を加えていません。
1.名称修正の入力が難解
ラベルクリックでテキストボックスが表示されるのは、作成者にしかわかりませんね。
修正ボタンクリックで表示されますが、手戻りも発生します。
対策方法の1つを紹介します。
名称修正したい場合にラベルをクリックさせるように、表記します。
さらに、修正テキストボックスが表示されているときは、この表示は非表示にする動作を入れておくのもいいでしょう。
他にも対策方法はあるとおもいますので、検討して見てください。画面設計自体も、要検討です。
2.実行ボタンクリック時、データブックが2回開かれる
解説用にコードを短くしたので、動作が重複し速度低下につながっています。
実行ボタンの動作確認を [F8] を押しながら1行ずつ実行(ステップイン実行)すると、商品マスタ情報の再取得のところでブックが再度開かれます。
このシステムでは、UserForm_Initializeの実行をやめて、ブックが開かれている段階で、商品マスタ情報の再取得コードを入れるといいでしょう。
これで、商品マスタ画面が完成しました。
次回から、商品入庫画面を作成していきます。
www.minizaiko.com