if LEN(Request.Form("namn")) > 1 AND Request.Form("alder") = "" AND LEN(Request.Form("stad")) = "" Then
SQL = "SELECT * FROM members WHERE username LIKE '%" & Request.Form("namn")& "%' ORDER BY username"
elseif Request.Form("namn") = "" AND LEN(Request.Form("alder")) > 1 AND LEN(Request.Form("stad")) > 1 Then
SQL = "SELECT * FROM members WHERE alder LIKE '%" & Request.Form("alder")& "%' ORDER BY username"
elseIf LEN(Request.Form("namn")) > 1 AND LEN(Request.Form("alder")) > 1 AND LEN(Request.Form("stad")) > 1 Then
SQL = "SELECT * FROM members WHERE username LIKE '%" & Request.Form("namn")& "%' AND Alder LIKE '%" & Request.Form("alder")& "%' AND stad LIKE '%" & Request.Form("stad")& "%' ORDER BY username"
else
SQL= "SELECT * FROM members ORDER BY username"
End if
Om du vill lägga till olika sökvillkor beroende på vilka fält som är ifyllda så är det här en enklare metod.
sql = "select * from members where 1 = 1 "
if LEN(Request.Form("namn")) > 0 then
sql = sql & "and username LIKE '%" & Request.Form("namn") & "%' "
end if
if LEN(Request.Form("alder")) > 0 then
sql = sql & " and alder LIKE '%" & Request.Form("alder") & "%' "
end if
if LEN(Request.Form("stad")) > 0 then
sql = sql & " and stad LIKE '%" & Request.Form("stad") & "%' "
end if
sql = sql & "order by username "
Annars så får du ange alla möjliga kombinationer (8 st i ditt fall.)
Är alla kolumnen av typen text? Om inte så får du byta ut like mot = och ta bort '%
------------------ essentitia preter non sans multiplicandum