こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ACCESSで複数検索をしたいのですが・・・

T_1・・・テーブル
 No.、得意先名、商品名、売上日、備考
Q_1・・・クエリ
 「T_1」を元に作成

「Q_1」からなる「F_1」というフォームのヘッダーに
[Txt得意先名]、[Txt商品名]、[Txt売上日]という3つのテキストボックスと、
検索ボタン[Cmd検索]を配置し、1~3つの条件を入力して検索する
フォームを作りたいと考えています。

そこで、http://okwave.jp/qa/q2029954.html にあるコードを使い、
下記のコードを書いてみました。

=================
Private Sub Cmd検索_Click()
Dim MyCriteria As String

MyCriteria = "売上日 ="
 If IsNull(Txt売上日) Then
  MyCriteria = MyCriteria & True
 ElseIf Not IsNull(Txt売上日) Then
  MyCriteria = MyCriteria & "#" & Me!Txt売上日 & "#"
 Else
 End If

strfilter = MyCriteria
strfilter = strfilter & " And 得意先名 Like '*" & Me.Txt得意先名.Value & "*' And 商品名 Like '*" & Me.Txt商品名.Value & "*'"

Filter = strfilter
FilterOn = True
Me.Requery

End Sub
=================

ただ、上記のコードでは、[Txt売上日]を空欄で検索した場合、
仮に「T_1」で売上日が未入力だった時にそのデータは検索してくれません。
自分でもいろいろ調べて試したのですが、なかなかうまくいかず・・・。
ご存知の方、教えていただけませんでしょうか?
よろしくお願いいたします。

投稿日時 - 2011-08-02 23:08:05

QNo.6917268

すぐに回答ほしいです

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

以下では?


Dim MyCriteria As String
Dim strfilter As String

MyCriteria = "売上日 ="
If IsNull(Txt売上日) Then
MyCriteria = ""
ElseIf Not IsNull(Txt売上日) Then
MyCriteria = MyCriteria & "#" & Nz(Me!Txt売上日) & "# And"
Else
End If

strfilter = MyCriteria
strfilter = strfilter & " 得意先名 Like '*" & Me.Txt得意先名.Value & "*' And 商品名 Like '*" & Me.Txt商品名.Value & "*'"

Filter = strfilter
FilterOn = True
Me.Requery

投稿日時 - 2011-08-03 03:32:09

お礼

ありがとうございました!
自分でもNz関数いれてみたりしたのですが。。。
Nzはそこで使うんですね^^*
勉強になりました^^

投稿日時 - 2011-08-03 21:00:36

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

Nzの使い方もそうですが、
Andの位置も変わっていることに
注意をしてくださいね。

投稿日時 - 2011-08-04 01:51:31

お礼

気づいていました^^*

投稿日時 - 2011-08-04 21:13:50

ANo.1

ざっとしか読んでないんで間違ってたらごめんなさい

Txt売上日が空欄だった場合、売上日未入力のデータをピックアップしてほしいんですよね?
それならまずここですが

>If IsNull(Txt売上日) Then
>  MyCriteria = MyCriteria & True → MyCriteria =[売上高] is null

になるかと思います


あと余計なお世話かもしれないですが

>strfilter = MyCriteria
この一行って要らなくないですか
その一行削ってその直後の行を
strfilter = MyCriteria & " And 得意先名 Like '*" & Me.Txt得意先名.Value & "*' And 商品名 Like '*" & Me.Txt商品名.Value & "*'"
でいい気がします

投稿日時 - 2011-08-02 23:38:13

お礼

ありがとうございました!

>>strfilter = MyCriteria
>この一行って要らなくないですか

なくても動きました^^

投稿日時 - 2011-08-03 20:58:11

あなたにオススメの質問