Hmm... har inte stött på problemet förut... men du kan ju testa att köra referensen med bokstavens ASC-nummer...
Mvh, Vide
11 svar · 572 visningar · startad av PatrikB
Hello,
sitter med ett register som ska sortera efter Efternamn, förnamn
SQL ser ut ungefär så här:
SQL = "SELECT * FROM Tabell ORDER BY fldLastName & fldFirtsName Asc"
Inget konstigt i det utan sorterar som den ska, allt i rätt ordning .... tills den kommer till V och W då blir det knas
Då kan det komma typ ngt sådant här:
V
-------------
Villhelmson
W
-------------
Wiren
V
-------------
Växel
dvs, det är skillnad i på v och w i ASP men ej i SQL verkar det som.
Är det någon som har en lösning?
//PatrikB
Hmm... har inte stött på problemet förut... men du kan ju testa att köra referensen med bokstavens ASC-nummer...
Mvh, Vide
Hur då menar du Vide?
Går det i SQL? ... för det är där felet ligger ...... dvs, det är ju där sorteringen av recsetet görs och v och w kommer i "fel" ordning ....
//PatrikB
Oki, är det efter det att du plockat det ur databasen och lagt det i ett recordset som det buggar? när du skall köra en sort på recordsettet?
RS.Sort = "fldlastname asc"
Är det där den buggar?
Mvh, Vide
Detta får jag om jag kör rs.Sort = "fldLastName Asc"
ADODB.Recordset (0x800A0CB3)
Objektet eller providern kan inte utföra den begärda åtgärden.
/test/col_tele.asp, line 14
//PatrikB
Jag gjorde en sortering förut, och då gjorde jag så att jag öppnade ett recordset och hämtade dit datat (via en loop? kommer inte ihåg), la till ett fält i recordsettet (inte i databasen) som hete sortering, sedan loopade jag igeom alla poster och tog begynnelsebokstaven av det fält jag ville sortera och konverterade det till ASC och lade in det i fältet sortering.
Sedan körde jag en Recordset-sortering på det...
I princip så... och det fungerade finfint...
Mvh, Vide
Gör något ur huvet:
SQL = "Select * from tabell"
Set RS = databas.execute(SQL)
set RS2 = Server.CreateObject("ADODB.Recordset")
RS2.Fields.Append "fält1", adVariant, 50
RS2.Fields.Append "sortering", adInteger, 6
RS2.open
While NOT RS.EOF
RS2.AddNew
RS2("fält1") = RS("fält")
RS2("sortering") = Cint(ASC(RS("fält")))
RS2.Update
RS.MoveNext
Wend
RS2.sort "sortering asc"
While NOT RS2.EOF
Response.write RS2("fält1")
RS2.MoveNext
Wend
Mvh, Vide