入力画面を使いやすくする手間

色々なツールを使う上で誰もが間違えないようにあらかじめ設定しておくことというのはとても重要なのですが、それが本当にコストに見合うのかというお話です。

Accessでフォームを作ってみました。

それぞれの入力ボックスをクリックして入力していくのですが、どこに入力していくのかはっきり画面上分からないので一つ一つに目立たせるということがもしかしたら必要になるのかもしれません。

そこで、それぞれの入力できるボックスに対して、入力できる状態になったら周りの線を赤くして入力が確定してそのボックスの入力モードが外れたら黒い線になるということを仕掛けてみました。

これなら目立つのでどこに入力しているか見失うことはないでしょう。

今入力できるボックスが4つあったので、それに対して入力できる状態になった動きと、入力できなくなった状態の動きと二つずつ必要なので8個のイベントを作らなければいけません。

Private Sub 商品ID_GotFocus()
商品ID.BorderColor = vbRed
商品ID.BorderWidth = 2
End Sub

Private Sub 商品ID_LostFocus()
商品ID.BorderColor = vbBlack
商品ID.BorderWidth = 1
End Sub

Private Sub 商品カテゴリID_GotFocus()
商品カテゴリID.BorderColor = vbRed
商品カテゴリID.BorderWidth = 2
End Sub

Private Sub 商品カテゴリID_LostFocus()
商品カテゴリID.BorderColor = vbBlack
商品カテゴリID.BorderWidth = 1
End Sub

Private Sub 商品名_GotFocus()
商品名.BorderColor = vbRed
商品名.BorderWidth = 2
End Sub

Private Sub 商品名_LostFocus()
商品名.BorderColor = vbBlack
商品名.BorderWidth = 1
End Sub

Private Sub 定価_GotFocus()
定価.BorderColor = vbRed
定価.BorderWidth = 2
End Sub

Private Sub 定価_LostFocus()
定価.BorderColor = vbBlack
定価.BorderWidth = 1
End Sub

今回は色を変更して線の太さを変えるということをしたのですがこれに合わせて背景色を変えるだったり文字の大きさを変えるだったりするとどんどんどんどん一つ一つが増えていきます。

実際今回作ってみてわかったのですが、はじめに設定するぶんには一つ作ってコピーすればいいのでそんなに手間ではないのです。色や線の太さを変えるというのもそれほど難しくありません。ですが、後から変化させるものを増やすという時は全ての動きに対してその動作を入れなければいけないのでコピーするにしてもとんでもなく時間がかかります。

また、新しい部品を増やしたと同時にこの動きが発生するので入力するところもヘタに増やすことができなくなります。

このような入力もしやすい仕組みは、全てが決まって全員の同意が得られたところでその後にやっていくとかにしないととんでもない無駄になるということです。

この話の延長が仕様変更が、表面上は簡単なんだけど工数がとんでもなくかかるという一つの理由です。

コメント

タイトルとURLをコピーしました