OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

Access97のVBAでのApplyFilter

  • 困ってます
  • 質問No.186443
  • 閲覧数97
  • ありがとう数1
  • 気になる数0
  • 回答数2
  • コメント数0

住所録を作成しています。
個人名,そのふりがな,会社名,電話番号,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を押す動作をなくすには、どのようにすればいいのでしょうか?
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.2
レベル7

ベストアンサー率 50% (9/18)

うまく動作しなかったようですね
一応動作確認は、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

大変勉強になりました。
ありがとうございました。
投稿日時 - 2001-12-21 14:37:54
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル7

ベストアンサー率 50% (9/18)

まず、キー入力時(KeyPress)のイベントをやめて、変更時(Change)のイベントにしてみましょう そして、下記のように変更して下さい Private Sub TextBox_Change() DoCmd.ApplyFilter , "(ふりがな Like '" & Me![TextBox].Text & "*&# ...続きを読む
まず、キー入力時(KeyPress)のイベントをやめて、変更時(Change)のイベントにしてみましょう

そして、下記のように変更して下さい
Private Sub TextBox_Change()

DoCmd.ApplyFilter , "(ふりがな Like '" & Me![TextBox].Text & "*')"

Exit Sub

たぶん、希望するとおりに動作すると思いますが...
何か問題があったら、補足して下さい
補足コメント
noname#1997

適切な回答ありがとうございました。
「!」でエラーになったので、「!」を削除したらきちんと動作しました。
Me以降を解説していただければありがたいのですが・・・。(^_^;)

欲を言えば・・・
「た」と入力すれば「た・・」さんが表示されますが、続けて「な」と入力しようとすると、「あn」となります。
これは、「た」が反転表示になっており、カーソルが「た」の前にある為だと思います。
「た」で確定した(検索した)後、つづけて「な」を入力して「たな」を検索キーワードにする方法はあるのでしょうか?
投稿日時 - 2001-12-17 19:30:49

このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ