Tjoho! sorterar denna kod rätt?? Om du klickar på fallande ordning från vänster till höger så sorterar den inte om alls. Jag tror att fel sql-sats körs. Se även till att skriva ut vad det är för sats som körs när du trycker så kanske du ser felet. Hejsan Pelle och alla andra! om jag tolkar dig rätt (kollade inte så mycket på koden) så vill du väl att när man sorterat på en kolumn så skall den sorteringen ligga kvar. Dvs:VAd gör denna kod?
vet inte om den sorterar a-ö & ö-a tycker att det inte blir så :-(
om någon vill tala om om det är rätt så blir jag glad :-)
vad jag menar är att jag vill att den skall sortera från A - Ö & Ö - A på de knappar jag fixat, det funkar inte så bra bara, på den ena knappen så sorterar den från 9-1/Ö-A och det är rätt men inte tvärt om på knappat som tillhör de kolummer jag har.
//Tommy
titta här:
http://test.profilmakarna.se/sorta/sort_search.asp
<code>
<% Session("DatabasePath") = "g:\home\server.se\test\sorta\inlagg.mdb" %>
<%
'-- Declare your variables
Dim DataConnection, cmdDC, RecordSet
Dim SearchText
SearchText = Request.Form("txtSearchText")
'-- Create object and open database
Set DataConnection = Server.CreateObject("ADODB.Connection")
DataConnection.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Session("DatabasePath") & ";"
Set cmdDC = Server.CreateObject("ADODB.Command")
cmdDC.ActiveConnection = DataConnection
'-- default SQL
SQL = "SELECT * FROM TFT ORDER BY Model ASC;"
'-- Sort ID SQL
If Request.Form("1") = "A-Z" Then
SQL = "SELECT TFT.*, TFT.Model FROM TFT ORDER BY TFT.Model ASC;"
End If
If Request.Form("2") = "Z-A" Then
SQL = "SELECT TFT.*, TFT.Model FROM TFT ORDER BY TFT.Model DESC;"
End If
'-- Sort Name SQL
If Request.Form("3") = "A-Z" Then
SQL = "SELECT TFT.*, TFT.Size FROM TFT ORDER BY TFT.Size ASC;"
End If
If Request.Form("4") = "Z-A" Then
SQL = "SELECT TFT.*, TFT.Size FROM TFT ORDER BY TFT.Size DESC;"
End If
'-- Sort Title SQL
If Request.Form("5") = "A-Z" Then
SQL = "SELECT TFT.*, TFT.Resolution FROM TFT ORDER BY TFT.Resolution ASC;"
End If
If Request.Form("6") = "Z-A" Then
SQL = "SELECT TFT.*, TFT.Resolution FROM TFT ORDER BY TFT.Resolution DESC;"
End If
'-- Sort Department SQL
If Request.Form("7") = "A-Z" Then
SQL = "SELECT TFT.*, TFT.Interface FROM TFT ORDER BY TFT.Interface ASC;"
End If
If Request.Form("8") = "Z-A" Then
SQL = "SELECT TFT.*, TFT.Interface FROM TFT ORDER BY TFT.Interface DESC;"
End If
'-- Search SQL
If Request.Form("btnSearch") = "Search" Then
SQL = "SELECT TFT.*, TFT.Size, TFT.Resolution, TFT.Interface, TFT.Model "
SQL = SQL & "FROM TFT "
SQL = SQL & "WHERE (((TFT.Size) Like '%" & SearchText & "%')) OR (((TFT.Resolution) Like '%" & SearchText & "%')) OR (((TFT.Model) Like '%" & SearchText & "%')) OR (((TFT.Interface) Like '%" & SearchText & "%'));"
End If
cmdDC.CommandText = SQL
Set RecordSet = Server.CreateObject("ADODB.Recordset")
'-- Cursor Type, Lock Type
'-- ForwardOnly 0 - ReadOnly 1
'-- KeySet 1 - Pessimistic 2
'-- Dynamic 2 - Optimistic 3
'-- Static 3 - BatchOptimistic 4
'-- For this example we will be using a Static cursor and a Read-Only lock type
RecordSet.Open cmdDC, , 0, 1
%>
<html>
<style type="text/css">
<!--
.knapp {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 9px;
font-weight: normal;
color: #000099;
text-decoration: none;
background-color: #FFFFFF;
border: 1px solid #666666;
}
.knapp-a-o {
; font-family: Verdana, Arial, Helvetica, sans-serif; font-size:1px; background-color:transparent; border: 1px solid #EFEDDE; background-image: url(a-o.jpg); width: 12px; height: 12px;}
-->
</style>
<style type="text/css">
<!--
.knapp-o-a {
; font-family: Verdana, Arial, Helvetica, sans-serif; font-size:1px; background-color:transparent; border: 1px solid #EFEDDE; background-image: url(o-a.jpg); width: 12px; height: 12px;}
}
.headtxt {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
font-weight: normal;
color: #000000;
text-decoration: none;
}
table {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
font-weight: normal;
color: #000000;
text-decoration: none;
}
-->
</style>
<body>
<center>
<form action="sort_search.asp" method="post">
<table border="0" cellpadding="0" cellspacing="0" width="500">
<tr align="left" valign="top">
<td><span class="headtxt"><strong>Model</strong></span> <input name="1" type="submit" class="knapp-a-o" id="1" value="">
<input name="2" type="submit" class="knapp-o-a" id="2" value="Z-A"></td>
<td><span class="headtxt"><strong>Size</strong></span> <input name="3" type="submit" class="knapp-a-o" id="3" value="">
<input name="4" type="submit" class="knapp-o-a" id="4" value="Z-A"></td>
<td><span class="headtxt"><strong>Resolution</strong></span>
<input name="5" type="submit" class="knapp-a-o" id="5" value="">
<input name="6" type="submit" class="knapp-o-a" id="6" value="Z-A"></td>
<td><span class="headtxt"><strong>Interface</strong></span> <input name="7" type="submit" class="knapp-a-o" id="7" value="">
<input name="8" type="submit" class="knapp-o-a" id="8" value="Z-A"></td>
</tr>
<%
'-- Go to the first record
If Not RecordSet.BOF Then
RecordSet.MoveFirst
'-- Loop through records until we are at the end
Do Until RecordSet.EOF
'-- Display the fields
Response.Write("<tr>")
Response.Write(" <td align= left valign= top>" & RecordSet.Fields("Model") & "</td>")
Response.Write(" <td align= left valign= top>" & RecordSet.Fields("Size") & "</td>")
Response.Write(" <td align= left valign= top>" & RecordSet.Fields("Resolution") & "</td>")
Response.Write(" <td align= left valign= top>" & RecordSet.Fields("Interface") & "</td>")
Response.Write("</tr>")
RecordSet.MoveNext
Loop
End If
'-- Do not forget to close out the table.
%>
</table>
<p>
<input name="txtSearchText" type="text" class="knapp" size="30">
<input name="btnSearch" type="submit" class="knapp" value="Search">
</form>
</center>
</body>
</html>
<%
'-- Close database and release
RecordSet.Close
Set RecordSet = Nothing
Set cmdDC = Nothing
DataConnection.Close
Set DataConnection = Nothing
%>
</code>Sv: VAd gör denna kod?
Sv: VAd gör denna kod?
beroende på vad jag skriver I sql här så funkar det så som jag vill Skriver jag som nu Size så blir det rätt i den kolummen men inte i de andra, skriver jag Model så blir det rätt där osv. jag hajjar inte alls varför det blir så :-( SQL koden för sorteringen verkar ju vara OK tycker jag.
<code>SQL = "SELECT * FROM TFT ORDER By Size ASC;"</code>
//Tommy LindblomSv: VAd gör denna kod?
Res Model TjoFräs
17 A 123
16 A 456
15 A 123
17 B 123
15 B 456
Om du sorterar på TFT (desc) blir det ju:
15 A 123
15 B 456
16 A 456
17 B 123
17 A 123
och om du nu sorterar på Model så blir det typ:
17 A 123
16 A 456
15 A 123
17 B 123
15 B 456
Men du vill förmodligen att den skall komma ihåg TFT oxå:
15 A 123
16 A 456
17 A 123
15 B 456
17 B 123
I din Order by måste du därför spara vilka andra kolumner som det redan är order by på...
så att det blir Order by TFT desc, Model desc ...
lämnar inga garantier på att jag tolkat rätt eller att sorteringarna är rätt men jag tror att det är detta du är ute efter