「だろ?"はい"と"いいえ"しか入力してはいけないセルに、"OK"や"YES"なんかの値をコピーされたら、システムを作る側としては困っちゃうよね。
でもユーザーフォームならこれだけさ」
八木くんが、先ほどのユーザーフォームに新しいコントロールを追加しました。
「これはチェックボックスといって、チェックされているときは"True"の、
チェックされていないときは"False"の値をValueプロパティに持つんだ。
これなら、他の値が入ることはありえないよ」
「そっか…"はい"と"いいえ"は、"真"か"偽"の2値だから、TrueかFalseのどちらかが返ればいいんだね。
これはシンプルでいいなあ」※
※CheckBoxコントロールのTripleStateプロパティにTrueの値を指定すると、
真、偽、Nullの3つの状態をサポートすることができます。
「ははは。あとせっかくリストの話が出たから説明するけど、
コンボボックスというリストそっくりのコントロールがユーザーフォームにはあるんだ」
再度、八木くんが新しいコントロールをユーザーフォームに追加します。
「データの入力規則のリストは先ほどのケースのように、リスト以外のデータを入力されてしまう危険性がある。
コンボボックスには"MatchRequired"というプロパティがあって、Trueを指定すると、
リストの中にある項目以外は入力することができなくなるんだ」
「それは便利だね」
「うん。ユーザーフォームには他にも便利なコントロールがたくさんある。
これらを組み合わせることで、ユーザーが最小限の労力で、データの入力や修正を行えるようにすることができるんだ。
星、おまえが操作する側だとしたら、使いやすいユーザーフォームと使いにくいユーザーフォームのどちらのシステムで仕事がしたい?」
「そりゃ、いうまでもなく"使いやすい"ユーザーフォームのシステムだよ。
なるほどなあ…業務システムでは、こういったユーザーインターフェイスがすごく重要な意味を持つんだね」
八木くんが、ゆっくりとうなずきます。
「そのとおり。
ユーザーから見えるシステムは、メニュー画面や入力フォームなどのユーザーインターフェイスの部分だけだ。
彼らにとって、ユーザーインターフェイスこそがシステムなんだ。
背後でどんな複雑なコードが実行されていたところで、そんなことは知ったこっちゃないんだよ。
…それじゃあ星、この[CommanButton1]と表示されているコントロールをダブルクリックしてみろよ」