質問: access97のvbaでのapplyfilter 住所録を作成しています。 個人名,そのふりがな,会社名,電話番号,etc.と、ごく普通の住所録です。 過去の質問 http://www.okweb.ne.jp/kotaeru.php3?q=169901 を参考に、検索フォームを作成したのですが、 ボタン押下時ではなくテキスト入力時に検索結果が表示されるようにしたいと思い、下記のようにしてみました。 private sub textbox_keypress(keyascii as integer) docmd.applyfilter , "(ふりがな like '" & me.textbox & "*')" end sub 単票形式で、フッターに検索テキスト入力用のtextboxを配置しています。 このtextboxに個人名のふりがなの一部を入力した時点で検索が行われるようにしたいのですが・・・。 上記コードで一応は検索できます。 たとえば「たな」と入力すれば、「たなか」さんや「たなべ」さんなどが表示され、レコード移動ボタンで移動できます。 しかし、「た」と入力して文字変換を確定すると、ふりがなが入力されているレコードを全て拾い、再度enterを押すと「た・・」さんが表示されます。 この、再度enterを押す動作をなくすには、どのようにすればいいのでしょうか?
回答: まず、キー入力時(keypress)のイベントをやめて、変更時(change)のイベントにしてみましょう そして、下記のように変更して下さい private sub textbox_change() docmd.applyfilter , "(ふりがな like '" & me![textbox].text & "*')" exit sub たぶん、希望するとおりに動作すると思いますが... 何か問題があったら、補足して下さい