指定された基準に従って結果を返す検索ページがあり、各基準が OR の場合は問題なく動作しますが、AND を使用すると結果が返されないか、結果が返されません。たとえば、検索条件は次のようになります...
A. Author = ""
B. Subject = ""
C. Keyword = ""
D. Dated = ""
コード:
SELECT *
FROM Table
WHERE Author = '" & strAuthor & "'
AND Subject = '" & strSubject & "'
AND Keyword = '" & strKeyword & "'
AND Dated = '" & strDated & "' "
ここでは 4 つのパラメーターのみを使用しましたが、実際にはさらに多くのパラメーターがあります。しかし、例は問題を説明する必要があります...これを機能させるには、「if A and B」または「B、C and D」など、より具体的にする必要がありますが、空白または NULL のパラメーターを使用すると機能しません。
これで、次のような条件ステートメントを使用して基準を書き込むことができます...
SELECT *
FROM Table
WHERE
if strAuthor <> "" then
Author = '" & strAuthor & "'
end if
if strSubject <> "" then
AND Subject = '" & strSubject & "'
end if
など、このような文字列の書き込みが機能しないことを除いてSELECT
、選択文字列に追加のコードを含めることができないため、エラーが発生するだけです (これが私の発見です)。
オプションがほんの少ししかない場合は、組み合わせごとに個別の選択文字列を書くことができますが、3,628,800 以上の組み合わせを必要とする 10 以上の異なる基準があります!
これに対する解決策はありますか?