お世話になっています。
リストボックス内に表示したデータを検索するプログラムを作っています。
Private Sub txtName_Change()
Dim i As Integer
For i = 0 To List1.ListCount - 1
If List1.List(i) Like "*" & txtName.Text & "*" Then
List1.ListIndex = i
Exit For
End If
Next i
End Sub
という感じで、あいまい検索をしています。
検索結果は上手く取得できたのですが、
例えばテキストボックスに「井上」と入力して検索した場合
「上井」というように、
テキストボックスの内容が変わってしまいます。
同じコードを他の場所でも使用しているのですが、
そちらでは問題なく「井上」と表示されたままになっています。
きちんとテキストボックスの中身が「井上」のままでいるには
どうしたらよいのでしょうか…
宜しくお願い致します。
テキストボックスのカーソルの位置が戻ってしまうのが原因だと思う。
txtName_Change では無くて
txtName の内容(検索文字列)が確定した段階で
「検索」ボタンをクリックする事で検索処理が
開始されるようにしたら如何ですか?
ご意見有難うございます。
色々な人に手伝ってもらった結果、解決できました。
フォームのキープレス部分でエンターキーを押したときに
タブと同じ働きをするように設定していたのですが、
その部分にかかれていたDoeventsが原因でした。
他人から引き継いだものでしたので、全く気付きませんでした…
有難うございました。
| ツイート |
|