|
> 上のSQL文で「Category」の抽出を「Category1」or「Category2」or
> 「Category3」・・・と6つの条件指定をするように変えたいと思っています。
> ただ、6つのうちいくつ指定するかはその都度違います。
> あいまい検索の為「Category1〜6」のどれかがブランクだとすべてのレコードを
> 抽出していまします。
> IIF関数とISNULL関数で出来るのではと調べてみたのですが、6の6乗分の式を
> 書かなくてならないようで実用的ではありません。
> どのようにSQL文を変えればうまく動作するでしょうか?
フォームの Filter プロパティを使って抽出しては?
Dim lngIdx As Long
Dim strWhere As String
For lngIdx = 1 To 6
If Not IsNull(Me("カテゴリ" & lngIdx)) Then
strWhere = strWhere & " OR Category" & lngIdx & " Like '" _
& Me("カテゴリ" & lngIdx) & "*'"
End If
Next lngIdx
If Len(strWhere) > 0 Then
Me.Filter = Mid(strWhere, 5)
Me.FilterOn = True
End If
とかのように。
|
|