• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Access97のVBAでのApplyFilter)

Access97のVBAでのApplyFilter

このQ&Aのポイント
  • Access97のVBAを使用して、テキスト入力時に検索結果が表示されるようにする方法について教えてください。
  • 現在、個人名のふりがなの一部を入力すると、検索結果が表示されますが、再度Enterを押さなくても表示されるようにしたいです。
  • 目的は、テキスト入力時に自動的に検索結果を表示することです。再度Enterを押さなくても検索結果が即座に表示される方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • teppy
  • ベストアンサー率50% (9/18)
回答No.2

うまく動作しなかったようですね 一応動作確認は、Access2000/97の両方とも行ったのですが、Access97ではおっしゃるとおりの動作になりました すいませんm(_ _)m 下記のように変更して下さい Private Sub TextBox_Change() DoCmd.ApplyFilter , "(ふりがな Like '" & Me.[TextBox].Text & "*')" Sendkeys ("{F2}") Exit Sub この"Sendkeys"コマンドは、キーボードから入力する同等の機能をもちます (Access Helpを参照して下さい) 今回の場合は、検索処理が終了したらキーボードの「F2」キーを押下するという処理が追加しました >Me以降を解説していただければありがたいのですが・・・。(^_^;) " ~ Me.[TextBox].Text ~ " の ".text"のことでしょうか? テキストボックス等のオブジェクトは、プロパティを省略すると、規定値である「.Value」が認識されます 「.Value」 -> 実際に確定された情報を取得できます 「.Text」 -> 現在表示されている状態を取得できます オブジェクトにより、規定値はあらかじめ決まっています 規定値は何だったかなと思うよりは、日頃からすべてのプロパティを記入するように心がけています (Accessの場合、ほとんどのオブジェクトのプロパティの規定値は「.Value」だったような...)

noname#1997
質問者

お礼

大変勉強になりました。 ありがとうございました。

その他の回答 (1)

  • teppy
  • ベストアンサー率50% (9/18)
回答No.1

まず、キー入力時(KeyPress)のイベントをやめて、変更時(Change)のイベントにしてみましょう そして、下記のように変更して下さい Private Sub TextBox_Change() DoCmd.ApplyFilter , "(ふりがな Like '" & Me![TextBox].Text & "*')" Exit Sub たぶん、希望するとおりに動作すると思いますが... 何か問題があったら、補足して下さい

noname#1997
質問者

補足

適切な回答ありがとうございました。 「!」でエラーになったので、「!」を削除したらきちんと動作しました。 Me以降を解説していただければありがたいのですが・・・。(^_^;) 欲を言えば・・・ 「た」と入力すれば「た・・」さんが表示されますが、続けて「な」と入力しようとすると、「あn」となります。 これは、「た」が反転表示になっており、カーソルが「た」の前にある為だと思います。 「た」で確定した(検索した)後、つづけて「な」を入力して「たな」を検索キーワードにする方法はあるのでしょうか?

関連するQ&A