Tjo, Vet intw om det var så här du menar: Ah, lysande! Jag använder Mid() funktionen för att hoppa över första OR. IStället för att kontroller om det finns ett värde i strWhere:Checkboxar
4 checkboxar. Lika många kolumner i databasen (Access) som är true/false.
Jag får inte till sidan som ska visa resultatet att visa mer än en checkbox.
Ex sida ett:
<code>
<FORM METHOD=POST ACTION="sida2.asp">
<input type="checkbox" name="ett" value="true"> ett<br>
<input type="checkbox" name="tva" value="true"> två<br>
<input type="checkbox" name="tre" value="true"> tre<br>
<input type="checkbox" name="fyra" value="true"> fyra<br>
<input type="submit" value="Search">
</form>
</code>
Sida två:
<code>
<%
Dim objcon, objRS, Path
Dim strSQL
Set objcon = Server.CreateObject("ADODB.Connection")
Path = Server.MapPath("testar.mdb")
objcon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Path
Set objRS=Server.CreateObject("ADODB.Recordset")
Dim strEtt, strTva, strTre, strFyra
strEtt = Request("ett")
strTva= Request("tva")
strTre= Request("tre")
strFyra= Request("fyra")
If strEtt = "true" then
strSQL = "Select * From checkboxar WHERE ett = true"
end if
If strTva = "true" then
strSQL = "Select * From checkboxar WHERE tva = true"
end if
...'osv för resterande checkboxar
objRS.Open strSQL, objcon, 1, 2
%>
</code>
Kryssar man i flera checkboxar visas ändå bara resultatet från en.
Jag tänker mig att sql frågan inte stämmer. Kan man spara ner värdena i en variabel som sedan körs i Sql frågan, kanske?Sv: Checkboxar
<code>
<FORM METHOD=POST ACTION="sida2.asp">
<input type="checkbox" name="ett" value="true"> ett<br>
<input type="checkbox" name="tva" value="true"> två<br>
<input type="checkbox" name="tre" value="true"> tre<br>
<input type="checkbox" name="fyra" value="true"> fyra<br>
<input type="submit" value="Search">
</form>
</code>
Sida två:
<code>
<%
Dim objcon, objRS, Path
Dim strSQL, strWhere
Dim strEtt, strTva, strTre, strFyra
strEtt = Request("ett")
strTva= Request("tva")
strTre= Request("tre")
strFyra= Request("fyra")
If strEtt = "true" Then
strWhere = strWhere & " OR ett = true"
End If
If strTva = "true" Then
strWhere = strWhere & " OR tva = true"
End If
If strTre = "true" Then
strWhere = strWhere & " OR Tre = true"
End If
If strFyra = "true" Then
strWhere = strWhere & " OR Fyra = true"
End If
If Len(strWhere) Then
strSQL = "SELECT * FROM checkboxar WHERE " & Mid(strWhere, 5)
Else
strSQL = "SELECT * FROM checkboxar WHERE True = False"
End If
Path = Server.MapPath("testar.mdb")
Set objcon = Server.CreateObject("ADODB.Connection")
objcon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Path
Set objRS=Server.CreateObject("ADODB.Recordset")
objRS.Open strSQL, objcon
%>
</code>Sv: Checkboxar
Tror tom jag förstår lite också.
strWhere lagrar vilka boxar som är klickade eller hur..?
<code>
Mid(strWhere, 5)
</code>
Vad gör den för nånting?
Mycken tack!Sv: Checkboxar
<code>
If Len(strWhere) Then
strWhere = strWhere & " OR ett = true"
Else
strWhere = "ett = true"
End if
</code>