2016-07-29 8 views
-1

長いテキスト文字列に部分文字列のリストが含まれていないエントリを識別するクエリを作成したいとします。私が持っている何MS Access Variable String Search

...

SELECT [other necessary data], [Long text string] 
WHERE [Long String] NOT LIKE "*[substring1]*" 
    AND [Long string] NOT LIKE "*[substring2]*" 
    AND [Long string] NOT LIKE "*[substring3]*" 

は、これが正常に動作します。しかしながら!除外された部分文字列のリストを可変にするプロジェクト1は部分文字列1と3を除外し、プロジェクト2は部分文字列2と3と17などを除外します。

これについてはどのようにすればよいでしょうか?

+0

問題を解決しようとした方法と間違ったところを示してください。 – alexi2

+0

プロジェクトは選択しているテーブルの列ですか? –

答えて

0

多分このような何か?次に、あなたはそれを呼び出す必要があります。最大4つの文字列を除外して、あなたが探しているもののためにsqlを使用する必要があります。

Function strsql(ex1 as string,Optional ex2 as string = "", _ 
Optional ex3 as string = "", Optional ex4 as string = "") as string 
strsql = "SELECT [other necessary data], [Long text string] _ 
WHERE [Long String] NOT LIKE " & chr(34) & "*" & ex1 & "*" & _ 
chr(34) 
If ex2 <> "" then 
strsql = strsql & " AND [Long String] NOT LIKE " & chr(34) & _ 
"*" & ex2 & "*" & chr(34) 
End if 
If ex3 <> "" then 
strsql = strsql & " AND [Long String] NOT LIKE " & chr(34) & _ 
"*" & ex3 & "*" & chr(34) 
End if 
If ex4 <> "" then 
strsql = strsql & " AND [Long String] NOT LIKE " & chr(34) & _ 
"*" & ex4 & "*" & chr(34) 
End if 
strsql = strsql & ";" 
End Function