最新閲覧日:

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

このQ&Aに関連する最新のQ&A

A 回答 (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

とします。
前提条件としては、あいまい検索するフィールドは必ず入力されていると言うことです。
([フィールド名]の部分はご自分の環境に合わせてください。)
    • good
    • 0
この回答へのお礼

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

お礼日時:2002/03/05 21:59

IFを使って条件分岐じゃいけませんか?


たとえば

IF IsNull(Forms!フォーム1!テキスト0) then
Exit Sub
End IF
DoCmd.Requery

という感じで・・・
    • good
    • 0
この回答へのお礼

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

お礼日時:2002/03/04 21:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード


人気Q&Aランキング

おすすめ情報