- ベストアンサー
Accessであいまい検索するフォームをつくってみたんですが?
Accessの初心者です。 本などをみながらあいまい検索ができるようなフォームをつくってみましたがフォームを開いた時、全レコードが表示されてしまいます。 クエリーの抽出条件はLike "*" & Forms!フォーム1!テキスト0 & "*"にしてテキストボックスプロパティの更新後処理でDoCmd.Requeryとしました。(意味がよくわからないんですけど) フォームを開いた時やテキストボックスになにも入力されていない時、全レコードが表示されないようにするにはどうすればいいのでしょうか? よろしくお願いします。
- みんなの回答 (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 とします。 前提条件としては、あいまい検索するフィールドは必ず入力されていると言うことです。 ([フィールド名]の部分はご自分の環境に合わせてください。)
その他の回答 (1)
- mamorukatou
- ベストアンサー率40% (37/92)
IFを使って条件分岐じゃいけませんか? たとえば IF IsNull(Forms!フォーム1!テキスト0) then Exit Sub End IF DoCmd.Requery という感じで・・・
お礼
回答ありがとうございます。 テキストボックスの更新後処理のところに入力してみました。(あってます?) あいまい検索はできるんですがフォームを開いた時、全レコード表示されてしまいました。 入力ミスがあったかもしれないので明日また挑戦してみます。 どうもありがとうございました。
お礼
お手数おかけします。 あいまい検索は完璧にできました。 フォームに全件表示されてしまう件ですが、途中途中はできるようになったのですが、新たにフォームを開いた時は全件表示になってしまいます。 もう1度やり直してみます。 何度もすいません、勉強になります。