Jag ska ha en sökfunktion där man antingen ska kunna söka efter ett par olika alternativ eller en kod.
Antingen söker man efter kod eller alternativen båda ska inte gå.
Jag har försökt att göra en litenkodsnutt men det fungerar inte när man söker efter kod. Det måste också gå att göra i en enda sql-fråga tycker jag men det har jag inte lyckatsmed.
Här är min kod:
IF kod = "" THEN
Set rosterRS = Server.CreateObject( "ADODB.Recordset" )
rosterRS.ActiveConnection = Con
rosterRS.CursorType = adOpenStatic
rosterRS.CursorLocation = adUSEClient
rosterRS.Pagesize = 10
sqlString = "SELECT rost_id, rost_kod, rost_sprak, rost_hemvist, rost_kon, rost_alder, rost_karaktar, rost_fil, sprak_svenska, land_svenska " &_
"FROM roster, sprak, land " &_
"WHERE rost_status=1 "
if karaktar <> 0 then
sqlstring = sqlstring & _
"AND rost_karaktar = " & karaktar & " "
end if
if alder <> 0 then
sqlstring = sqlstring & _
"AND rost_alder = " & alder & " "
end if
if hemvist <> 0 then
sqlstring = sqlstring & _
"AND rost_hemvist = " & hemvist & " "
end if
if sprak <> 0 then
sqlstring = sqlstring & _
"AND rost_sprak = " & sprak & " "
end if
if kon <> 0 then
sqlstring = sqlstring & _
"AND rost_kon = " & kon & " "
end if
if typ <> 0 then
sqlstring = sqlstring & _
"AND rost_typ = " & typ & " "
end if
sqlstring = sqlstring & _
"AND land_id = rost_hemvist " &_
"AND sprak_id = rost_sprak " &_
" ORDER by rost_kod DESC"
rosterRS.Open sqlString
rosterRS.AbsolutePage = pg
rostcount = rosterRS.RecordCount
END IF
IF kod <> "" THEN
Set rosterRS = Server.CreateObject( "ADODB.Recordset" )
rosterRS.ActiveConnection = Con
rosterRS.CursorType = adOpenStatic
rosterRS.CursorLocation = adUSEClient
rosterRS.Pagesize = 10
sqlString = "SELECT rost_id, rost_kod, rost_sprak, rost_hemvist, rost_kon, rost_alder, rost_karaktar, rost_fil, sprak_svenska, land_svenska " &_
"FROM roster, sprak, land " &_
"WHERE rost_status=1 " &_
"AND rost_kod = "& kod &" " &_
"AND land_id = rost_hemvist " &_
"AND sprak_id = rost_sprak " &_
" ORDER by rost_kod DESC"
rosterRS.Open sqlString
rosterRS.AbsolutePage = pg
rostcount = rosterRS.RecordCount
END IF