• ベストアンサー

Accessであいまい検索するフォームをつくってみたんですが?

Accessの初心者です。 本などをみながらあいまい検索ができるようなフォームをつくってみましたがフォームを開いた時、全レコードが表示されてしまいます。 クエリーの抽出条件はLike "*" & Forms!フォーム1!テキスト0 & "*"にしてテキストボックスプロパティの更新後処理でDoCmd.Requeryとしました。(意味がよくわからないんですけど) フォームを開いた時やテキストボックスになにも入力されていない時、全レコードが表示されないようにするにはどうすればいいのでしょうか? よろしくお願いします。

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

  • ベストアンサー
回答No.2

すいません、ちょっと勘違いをしてました。 「全レコードが表示されないようにする」でしたね。 ちょっと調べてみましたが、Requeryよりもフィルタを利用する方が良いようです。 更新後処理を Dim jyouken As String If IsNull(Me.ActiveControl) Then   jyouken = "[フィールド名] Is Null" Else   jyouken = "[フィールド名] Like '*" & Me.ActiveControl & "*'" End If Me.Filter = jyouken Me.FilterOn = True とします。 前提条件としては、あいまい検索するフィールドは必ず入力されていると言うことです。 ([フィールド名]の部分はご自分の環境に合わせてください。)

nazal
質問者

お礼

お手数おかけします。 あいまい検索は完璧にできました。 フォームに全件表示されてしまう件ですが、途中途中はできるようになったのですが、新たにフォームを開いた時は全件表示になってしまいます。 もう1度やり直してみます。 何度もすいません、勉強になります。

その他の回答 (1)

回答No.1

IFを使って条件分岐じゃいけませんか? たとえば IF IsNull(Forms!フォーム1!テキスト0) then Exit Sub End IF DoCmd.Requery という感じで・・・

nazal
質問者

お礼

回答ありがとうございます。 テキストボックスの更新後処理のところに入力してみました。(あってます?) あいまい検索はできるんですがフォームを開いた時、全レコード表示されてしまいました。 入力ミスがあったかもしれないので明日また挑戦してみます。 どうもありがとうございました。