アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもお世話になっております。
あるテーブルに対して、フォームを作成しまし、県名(txtbox_県名1)で絞込み抽出を行いたいと思い、以下のVBAで抽出はOKでした。

Me.Filter = "[県名] Like '*" & txtbox_県名1 & "*'"

しかし、県名に対して1つの条件の場合うまくいくのですが、2つの条件の場合、どうやるのかが分かりません。(同じ県名に対して、2つの条件)
教えてください。よろしくお願いします。

A 回答 (4件)

例えばtxtbox_県名1 と txtbox_県名2 に格納されている文字のどちらかを含む県を列挙したければ


"( [県名] Like '*" & txtbox_県名1 & "*' and [県名] Like '*" & txtbox_県名2 & "*' )"
とでもしておけばいいのではないでしょうか?
    • good
    • 0
この回答へのお礼

そうやればよかったんですね。有難うございます。

お礼日時:2007/04/22 18:28

#3です。


失礼。
どちらかのテキストボックスが空の場合、全件出力されてしまいますね。
曖昧検索は必要でしょうか?
(例えば、'東京' と '東京都' が混在する場合など)

以下、曖昧検索が必要で
テキストボックスが2つとも空の場合には全件出力という条件です。
Dim strFilter As String
If Not IsNull(txtbox_県名1) then
  strFilter = " Or [県名] Like '*" & txtbox_県名1 & "*'"
End If
If Not IsNull(txtbox_県名2) then
  strFilter = strFilter & " Or [県名] Like '*" & txtbox_県名2 & "*'"
End If
strFilter=Mid(strFilter,5)
If strFilter <> "" then
  Me.Filter = strFilter
  Me.FilterOn = True
Else
  Me.Filter = ""
  Me.FilterOn = False
End If
未確認です。あしからず。
    • good
    • 0
この回答へのお礼

そういうやり方もあるのですね、勉強になります。
有難うございます。

お礼日時:2007/04/22 18:32

どちらかを含む県なら条件は OR です。


"[県名] Like '*" & txtbox_県名1 & "*' Or [県名] Like '*" & txtbox_県名2 & "*'"
    • good
    • 0
この回答へのお礼

有難うございます。

お礼日時:2007/04/22 18:29

ご質問者は「県名(txtbox_県名1)」に2つの県名を入力して、そのどちらかに合致するものを抽出したいのでしょうか?


もしそうなら一つのフィールドでやることは少し難しいです。

Spilt関数などで分割してWhere句を作り、フィルタに代入するようなVBAを作成しなければなりません。
この説明でヘルプなどで調べる方法が思いつかないようでしたら、No.1の方が言われるように、2つのテキストボックスを作成して条件句にしたほうが無難だと思います。
    • good
    • 0
この回答へのお礼

なるほど、勉強になります。有難うございます。

お礼日時:2007/04/22 18:29

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A