CatZ Medlem sedan jan. 2002 2 440 inlägg Frågan 10 aug. 2002 13:18 #1 Jag har en fält i ett person register som heter Styrelse, från detta fältet(styrelse) vill jag sortera i följande ordning:
1. Ordförande
2. Sekreterare
3. Kassör
osv
Hur gör man det ?
Normalt sett så hamnar ju Kassör före Ordförande om man gör ORDER BY Styrelse ASC
Och gör man ORDER BY Styrelse DESC så hamnar ju Sekreterare först..... går dett lösa på något sätt ?
S solbulle Medlem sedan mars 2001 5 287 inlägg Om inte annat kan du lägga in ett fält till i databasen: sortorder
datatyp heltal och sen sortera på det.
CatZ Medlem sedan jan. 2002 2 440 inlägg hmm nu fattar jag inte alls....
S solbulle Medlem sedan mars 2001 5 287 inlägg Databas
Styrelse - Namn - Sortorder
Kassör - Nisse - 3
Ordförande - Kalle - 1
Sekreterare - Anders - 2
CatZ Medlem sedan jan. 2002 2 440 inlägg jo visst men hur löser jag det när jag har 100 andra saker i samma tabell så som adress tele mm mm :)
@nders Medlem sedan juni 2000 32 967 inlägg Vad har de fälten med det här att göra?
Lägg till sorteringsfältet i tabellen, och sedan är det ju bara att sortera på det i SQL-frågan.
L LarsG Medlem sedan dec. 2000 12 464 inlägg enligt standard sql
order by case styrelse when 'Ordförande' then 1
when 'Sekreterare' then 2
when 'Kassör' then 3
else 4 end
Eller du kanske använder Access?
order by iif(styrelse='Ordförande',1,
iif(styrelse='Sekreterare',2,
iif(styrelse='Kassör',3,4)))
CatZ Medlem sedan jan. 2002 2 440 inlägg LarsG äger oss allihop lätt... jag fattar inte hur någon kan hålla så mycket kunskap i huvudet och sedan plocka fram exakt den kunskap som behövs för att lösa allas problem :) :e
CatZ Medlem sedan jan. 2002 2 440 inlägg Set rs = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM namn" &_
" WHERE NnStyrelse > Empty" & _
" ORDER BY iif(NnStyrelse='Ordförande',1, " & _
"iif(NnStyrelse='Sekreterare',2, " & _
"iif(NnStyrelse='Kassör',3, " & _
"iif(NnStyrelse='Ledamot',4, " & _
"iif(NnStyrelse='Valberedning',5, " & _
"iif(NnStyrelse='Suppleant',6, " & _
"iif(NnStyrelse='Revisor',7, " & _
"iif(NnStyrelse='Ungdoms Komitté Ordförande',8, " & _
"iif(NnStyrelse='Ungdoms Komitté',9,10)))))))))"
[b]rs.Open SQL, dbCom, 3, 3[/b]
response.write "<table width=100% border=0 cellspacing=0 cellpadding=3 class=table>" & _
"<tr class=td1>" & "<td>" & "Uppdrag" & "</td>" & _
"<td>" & "Namn" & "</td>" & _
"<td>" & "Telefon (h)" & "</td>" & _
"<td>" & "Telefon (a)" & "</td>" & _
"<td>" & "Mobil" & "</td>" & _
"<td>" & "Epost" & "</td>" & _
"</tr>"
while not rs.eof
response.write "<tr class=td2>" & _
"<td>" & rs("NnStyrelse") & "</td>" & _
"<td>" & rs("NnNamn") & ", " & rs("NnEfter") & "</td>" & _
"<td>" & rs("NnTelehem") & "</td>" & _
"<td>" & rs("NnTelejobb") & "</td>" & _
"<td>" & rs("NnMobil") & "</td>" & _
"<td>"
IF rs("NnEpost") <> Empty Then
response.write "<a href=mailto:" & rs("NnEpost") & ">Ja</a>"
End IF
rs.movenext
wend
response.write "</td>" & "</tr>" & "</table>"
%>
Vad är det för fel på det här nu då ? :(
Feltyp:
Microsoft JET Database Engine (0x80040E10)
Det har inte angetts något värde för en eller flera nödvändiga parametrar.
/sydostra/styrelse.asp, line 19
Rad 19 är i fet stil.. rs.Open SQL, dbCom, 3, 3
CatZ Medlem sedan jan. 2002 2 440 inlägg Det var inget... jag är puckad... Jag plockade ut alla värden jag ville ha med
WHERE NnStyrelse IN ('Ordförande', 'Sekreterare', 'Kassör', 'Ledamot', 'Valberedning', 'Suppleant', 'Revisor', 'Ungdoms Komitté Ordförande', 'Ungdoms Komitté')
Istället ;)