13. juni 2002 - 20:21Der er
44 kommentarer og 1 løsning
Sorter data
Jeg har en Access-db, hvor en af kolonnerne indeholder sejlnumre. Jeg vil gerne have sorteret numrene stigende. Numrene indeholder både bogstaver og tal eks. DEN 1256. Hvis jeg bruger "Order By" sorteres åbenbart efter 1. ciffer i tallet. Det medfører jo så, at f.eks. DEN 1234 vil komme før DEN 23, og det er ikke meningen. Er der en som kan løse mit lille problem? Her er mit script:
<%
' ADODB connection objektet Set Conn = Server.CreateObject("ADODB.Connection") ' Husk at angive den rigtige sti til din database DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("/bilerpaavestfyn/riishojwebsoft.mdb") ' Åben databaseforbindelsen Conn.Open DSN
' SQL forespørgsel strSQL = "Select * From optiA Order by sejlnummer" Set rs = Conn.Execute(strSQL) If Not (rs.BOF Or rs.EOF) Then Response.Write "<h4 align=center><font face=Verdana>Følgende er tilmeldt Optimist A</font></h4><br>" Response.Write "<h4 align=center><font face=Verdana>These are the entries of Optimist A</font></h4><br>"
Response.Write "<table border=0 cellpadding=3>"
Response.Write "<tr bgcolor=#336699><th ><font color=white face=verdana size=2>Sejlnummer</font></th><th><font color=white face=verdana size=2>Navn</font></th><th><font color=white face=verdana size=2>Sejlklub</th></tr>" Do While Not rs.EOF
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Set Conn = server.createobject("ADODB.Connection") Set Rs = server.createobject("ADODB.Recordset") Conn.open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& server.mappath(databaseName)
strSQL="SELECT * FROM Tabel3 ORDER BY CInt(Trim((Right([nr],Len([nr])-3))));"
set Rs = Conn.execute(strSQL)
Response.Write("Access Data<br>") while not Rs.EOF Response.Write("Value: " & RS("nr")) Response.Write("<BR>") Response.Write("<BR>") Rs.MoveNext wend Rs.Close
Hvis du skriver sådan sorteres de først efter land og så nummer d.v.s. alle fra DEN bliver samlet og sorteret efter nummer. dette kan du også benytte senere til at opdele resultater og tider efter land og nummer
strSQL = "SELECT * FROM optiA ORDER BY Left(optiA.sejlnummer,3),CInt(Trim((Right(optiA.sejlnummer,Len(optiA.sejlnummer)-3))));"
Jeg kan ikke få det til at virke. Tester på PWS, har det nogen betydning. Paster lige hele scriptet, da man jo somme tider kan stirre sig blind på en fejl.
<%
' ADODB connection objektet Set Conn = Server.CreateObject("ADODB.Connection") ' Husk at angive den rigtige sti til din database DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("/bilerpaavestfyn/riishojwebsoft.mdb") ' Åben databaseforbindelsen Conn.Open DSN
' SQL forespørgsel strSQL = "SELECT * FROM optiA ORDER BY Left(optiA.sejlnummer,3),CInt(Trim((Right(optiA.sejlnummer,Len(optiA.sejlnummer)-3))));" Set rs = Conn.Execute(strSQL) If Not (rs.BOF Or rs.EOF) Then Response.Write "<h4 align=center><font face=Verdana>Følgende er tilmeldt Optimist A</font></h4><br>" Response.Write "<h4 align=center><font face=Verdana>These are the entries of Optimist A</font></h4><br>"
Response.Write "<table border=0 cellpadding=3>"
Response.Write "<tr bgcolor=#336699><th ><font color=white face=verdana size=2>Sejlnummer</font></th><th><font color=white face=verdana size=2>Navn</font></th><th><font color=white face=verdana size=2>Sejlklub</th></tr>" Do While Not rs.EOF
strSQL="SELECT * FROM Tabel3 where not isnull(nr) and isnumeric(Trim((Right([nr],Len([nr])-3)))) and len(nr)>3 ORDER BY left(nr,3),CInt(Trim((Right([nr],Len([nr])-3))));"
strSQL="SELECT *,left(optiA.sejlnummer,3) as Countrycode FROM optiA where not isnull(optiA.sejlnummer) and isnumeric(Trim((Right([optiA.sejlnummer],Len([optiA.sejlnummer])-3)))) and len(optiA.sejlnummer)>3 ORDER BY left(optiA.sejlnummer,3),CInt(Trim((Right([optiA.sejlnummer],Len([optiA.sejlnummer])-3))));" set Rs = Conn.execute(strSQL) If Not (rs.BOF Or rs.EOF) Then Response.Write "<h4 align=center><font face=Verdana>Følgende er tilmeldt Optimist A</font></h4><br>" Response.Write "<h4 align=center><font face=Verdana>These are the entries of Optimist A</font></h4><br>" Response.Write "<table border=0 cellpadding=3>" Response.Write "<tr bgcolor=#336699><th ><font color=white face=verdana size=2>Sejlnummer</font></th><th><font color=white face=verdana size=2>Navn</font></th><th><font color=white face=verdana size=2>Sejlklub</th></tr>" concode="" While Not rs.EOF if concode<>rs("Countrycode") then Response.Write "<tr bgcolor=white><td colspan=3 align=center><font color=#000066 face=verdana size=2>" & rs("Countrycode") & "</font></td></tr>"
end if Response.Write "<tr bgcolor=#000066><td><font color=white face=verdana size=2>" & rs("sejlnummer") & "</font></td>" Response.Write "<td><font color=white face=verdana size=2>" & rs("navn") & "</td>" Response.Write "<td align=center><font color=white face=verdana size=2>" & rs("sejlklub") & "</td>" concode=rs("Countrycode") rs.MoveNext wend End If
' Rydder op efter os Conn.Close Set Conn = Nothing %>
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.