|
ユーザーフォームのカーソル移動で質問です。
(過去ログも検索しましたが、うまくヒットしなかったので)
下のようなユーザーフォームがあります。
電話番号
+------+
| |
+------+
氏名 住所1 住所2
+----------+ +--------------------+ +--------------------+
| | | | | |
+----------+ +--------------------+ +--------------------+
品番 品名 数量 単価 金額
+-----+ +----------+ +-----+ +-----+ +-----+
| | | | | | | | | |
+-----+ +----------+ +-----+ +-----+ +-----+
電話番号をキーとして、”得意先情報”シートを検索してヒットしたら氏名、住所1,2を表示して品番にカーソルを移動する。ヒットしなかったらカーソルを氏名に移動するようにしたいのです。
ちなみに電話番号、氏名、住所などはテキストボックスです。
タブオートは、電話番号、氏名、住所1、2、品番の順です。
電話番号のテキストボックスのイベントで、Changeを使いましたが1文字入力するとすぐにイベントが発生してしまい、電話番号チェックに行ってしまいます。仮に1文字の電話番号を登録しておくと検索が成功し、住所が表示されカーソルは品番に移動します。検索が失敗したときは氏名へカーソルが移動します。こちらの意図した通りの動きですが1文字入力しただけでChangeイベントが発生するのは困ります。
ということでExitイベントに変えてみました。
今度は複数文字が入力できるのですが、検索成功後の品番.SetFocusでまたExitイベントが発生してしまい、電話番号チェックを2回通ります。
(なぜExitイベントが起きるかわかるような気もしますが)
その上に検索が成功したとのカーソルが住所2になってしまいます。妙な動きです。
こういう処理をしたいときには、どのようなイベントと処理を行うのが良いのでしょうか?
よろしくお願いします。
|
|