Hej Fattar jag rätt om du bara menar du vill vända på if-satsen, så här: Ja nästan så där, det som händer är att om det första är sant men det inte fínns några poster idatabasen så kommer felmeddelandet, jag vill att om inte alla tre kriterier är sanna så strunta i pris. Du kan testa med:Kan ej If sats
Jag har en sida där man kan klicka för olika kriterier, dukbredd, pris, upplösning.
Jag har två if satser som säger att om pris = 0 gör såhär, om pris = 1 gör så här, nu vill jag att även om pris är i klickat(olika summor), men inte returnerar några poster från databasen som passar så ska dom två andra kriterierna uppfyllas.
Typ stämmer upplösning och duk men inte pris, skit i pris och hämta poster enligt dom två första kriterierna.
Min kod
<code>
Set Connect = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
Connect.Open "wiktors-prod1", "sa", "010411"
If pris = "" Then
SQL = "SELECT TOP 4 * FROM prodTb WHERE upplos = '" & upp & "' AND ansi >= " & ansi1 & " AND ansi <= " & ansi2 & " ORDER BY ranking ASC"
Elseif not pris = "" then
SQL = "SELECT TOP 4 * FROM prodTb WHERE pris = '" & pris & "' AND upplos = '" & upp & "' AND ansi >= " & ansi1 & " AND ansi <= " & ansi2 & " ORDER BY ranking ASC"
End if
här vill jag ha en till if sats?? som ser ut som den första sql satsen
rs.Open SQL, Connect, 1, 2
If rs.RecordCount = 0 Then
Response.Write det finns inga poster"
Else
Do while not rs.EOF
%>
</code>
Tack ChristoferSv: Kan ej If sats
<code>
If not pris = "" then
SQL = "SELECT TOP 4 * FROM prodTb WHERE pris = '" & pris & "' AND upplos = '" & upp & "' AND ansi >= " & ansi1 & " AND ansi <= " & ansi2 & " ORDER BY ranking ASC"
Else
SQL = "SELECT TOP 4 * FROM prodTb WHERE upplos = '" & upp & "' AND ansi >= " & ansi1 & " AND ansi <= " & ansi2 & " ORDER BY ranking ASC"
End if
</code>Sv: Kan ej If sats
/CSv: Kan ej If sats
<code>
Dim strSQL
Dim strWhere
If Len(pris) > 0 Then
strWhere = strWhere & " AND pris = '" & pris & "'"
End If
If Len(ansi1) > 0 Then
strWhere = strWhere & " AND ansi >= " & ansi1
End If
If Len(ansi2) > 0 Then
strWhere = strWhere & " AND ansi <= " & ansi2
End If
If Len(strWhere) > 0 Then
strSQL = "SELECT TOP 4 * FROM prodTb WHERE " & Mid(strWhere, 6) & " ORDER BY ranking ASC"
Else
strSQL = "SELECT TOP 4 * FROM prodTb ORDER BY ranking ASC"
End If
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "wiktors-prod1", "sa", "010411"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open strSQL, Connect
If rs.RecordCount = 0 Then
Response.Write det finns inga poster"
Else
Do Until rs.EOF
</code>