Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


560 / 9994 ←次へ | 前へ→

【12744】Re:複数条件での抽出
回答  かるびの E-MAIL  - 15/3/19(木) 0:52 -

引用なし
パスワード
   >それぞれの抽出するコード自体は書ききることができました。
>今はまだそれぞれが孤立している状態で、
>ここから条件をつなげていく方法が今ひとつわかりません…。

 各条件式をAND演算子やOR演算子でつないでいきます。
 例えば、
  氏名 Like "山田*" AND (生年月日 >= #1980/02/01# OR 体重 < 75)
です。
 こういう文字列を作り、この文字列をFilterプロパティに設定します。


 次に、このような文字列を作るVBAのコードをどうするかですが、
 No.12728の質問にあった
>>>strFilter = strFilter & " AND 発地都道府県 Like '*" & Me.txt発地都道府県 & "*'"
というコードは、重要なテクニックが使われているコードです。

 例えば、次のコードを実行したら、strFilterにはどんな文字列が格納されることになるか
イメージできますか。
   strFilter = strFilter & " AND 発地都道府県 Like '*東京*'"
   strFilter = strFilter & " AND 発地都道府県 Like '*神奈川*'"
   strFilter = strFilter & " AND 発地都道府県 Like '*静岡*'"

 答えは、
" AND 発地都道府県 Like '*東京*' AND 発地都道府県 Like '*神奈川*' AND 発地都道府県 Like '*静岡*'" 
という文字列ですね。これでは見づらいので、整形すると、
   " AND 発地都道府県 Like '*東京*'
    AND 発地都道府県 Like '*神奈川*'
    AND 発地都道府県 Like '*静岡*'" 
ですね。
 2行目と3行目にうまくAND演算子が入っています。

 つまり、
>>>strFilter = strFilter & " AND 発地都道府県 Like '*" & Me.txt発地都道府県 & "*'"
のコードは、上例の2行目と3行目にうまくAND演算子が入れるための
重要なテクニックです。


 ただ、
   " AND 発地都道府県 Like '*東京*'
    AND 発地都道府県 Like '*神奈川*'
    AND 発地都道府県 Like '*静岡*'" 
という文字列をFilterプロパティに代入すると、エラーになります。
 原因は、先頭にある「 AND 」です。
 先頭の「 AND 」だけを取り除く必要があります。

 ここも定番のテクニックがあります。
 Mid関数を使用します。
 Mid関数を使って、
   " AND 発地都道府県 Like '*東京*'
    AND 発地都道府県 Like '*神奈川*'
    AND 発地都道府県 Like '*静岡*'" 
という文字列から6字目以降を取り出します。
 そうすると、 
   "発地都道府県 Like '*東京*'
    AND 発地都道府県 Like '*神奈川*'
    AND 発地都道府県 Like '*静岡*'" 
という文字列を取得できます。
 

1,000 hits

【12728】複数条件での抽出 木葉 15/3/13(金) 15:40 質問[未読]
【12729】Re:複数条件での抽出 木葉 15/3/13(金) 17:10 発言[未読]
【12730】Re:複数条件での抽出 かるびの 15/3/14(土) 0:46 回答[未読]
【12732】Re:複数条件での抽出 木葉 15/3/16(月) 16:34 発言[未読]
【12736】Re:複数条件での抽出 木葉 15/3/17(火) 16:25 質問[未読]
【12739】Re:複数条件での抽出 かるびの 15/3/18(水) 1:15 回答[未読]
【12740】Re:複数条件での抽出 木葉 15/3/18(水) 9:56 発言[未読]
【12742】Re:複数条件での抽出 木葉 15/3/18(水) 14:02 質問[未読]
【12744】Re:複数条件での抽出 かるびの 15/3/19(木) 0:52 回答[未読]
【12745】Re:複数条件での抽出 木葉 15/3/19(木) 9:54 発言[未読]
【12746】Re:複数条件での抽出 木葉 15/3/19(木) 10:02 お礼[未読]
【12747】Re:複数条件での抽出 かるびの 15/3/21(土) 0:57 回答[未読]
【12752】Re:複数条件での抽出 木葉 15/3/23(月) 14:33 質問[未読]
【12755】Re:複数条件での抽出 かるびの 15/3/24(火) 3:28 回答[未読]
【12757】Re:複数条件での抽出 木葉 15/3/24(火) 11:14 発言[未読]
【12759】Re:複数条件での抽出 木葉 15/3/24(火) 16:00 質問[未読]
【12763】Re:複数条件での抽出 かるびの 15/3/25(水) 0:54 回答[未読]
【12767】Re:複数条件での抽出 木葉 15/3/25(水) 11:19 質問[未読]
【12768】Re:複数条件での抽出 木葉 15/3/25(水) 11:24 発言[未読]
【12771】Re:複数条件での抽出 木葉 15/3/25(水) 15:13 質問[未読]
【12772】Re:複数条件での抽出 hatena 15/3/25(水) 16:04 回答[未読]
【12774】Re:複数条件での抽出 木葉 15/3/25(水) 17:21 お礼[未読]

560 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1081125
(SS)C-BOARD v3.8 is Free