• ベストアンサー

access でfilter文

accessで、条件付のフィルターをかけたいです。 NZ、insullを色々調べたのですが、どうもうまくいきませんでした。 TABLEAには、aaa,bbbがあります。 aaaがnullのときは、aaa>100 bbbがnullのときは、bbb>100でフィルターをかけたいです。 Me.Filter にはどのような式を設定すればよいでしょうか。

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

  • ベストアンサー
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.2

テーブルのフィールドがNullであるかは たとえばレコードセットをrsとし、 rsを参照して、  rs.FindFirst "[aaa] Is Null" のような使い方をします。 この場合だと、 If IsNull(rs!aaa) Then が当てはまっているかもしれません。 フォームのプロシージャがどのような ものか、流れ、などがわからないので こんなところですが。 何かあれば書き込みを。

gonchin01
質問者

お礼

上記を参考にできました! ご連絡おくれてすみません、ありがとうございました。

その他の回答 (1)

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.1

確認です。 (1)Me.Filterはフォームにたいしてですか。 あるいは何かのコントロールですか。 (2) >aaaがnullのときは、aaa>100 >bbbがnullのときは、bbb>100 この二つの条件の使い方は Me.Filter (aaaがnullのときは、aaa>100) AND (bbがnullのときは、bbb>100) または If aaaがnullのとき Then Me.Filter aaa>100 Else bbbがnullのとき Then Me.Filter bbb>100 End IF のようなものですか。

gonchin01
質問者

お礼

参考までにフォームのプロパティは、 ・レコードソース T_TABLEA ・規定のビュー 帳票フォーム ・ビュー設定 フォーム/データシート です。 T_TABLEAは、1000レコードほどあり、それぞれ一つずつのレコードにたいして、上記のSQL条件文を実施して、該当する数レコードを抽出したい次第です。 不明な点があればまた、よろしくお願い致します。

gonchin01
質問者

補足

ありがとうございます。 (1)Me.Filterはフォームにたいしてです (2) If aaaがnullのとき Then Me.Filter aaa>100 Else bbbがnullのとき Then Me.Filter bbb>100 End IF のようなものです。 まずaaaがnullかどうかの確認が先です。 (aaa>100はSQL条件文のたとえです。) よろしくお願い致します。

関連するQ&A