Jag har stött på ett bekymmer med sortering. Det uppstod i samband med att
SELECT DISTINCT LEFT(word,1) as wi FROM t_word t1 INNER JOIN t_score t2 ON t1.wordid = t2.wordid
GROUP BY t1.wordid, t1.word, t1.public HAVING t1.public >= " & strPublic & " AND " & FV
ersatte den tidigare SQL-satsen:
SELECT DISTINCT LEFT (word, 1) AS word FROM t_word WHERE status = " & strStatus & " ORDER BY 1
Problemet är att den övre koden medför att Ä dyker upp mellan A och B istället för efter Z!?
SELECT DISTINCT LEFT(word,1) as wi
FROM t_word t1
INNER JOIN t_score t2
ON t1.wordid = t2.wordid
GROUP BY t1.wordid, t1.word, t1.public
HAVING t1.public >= " & strPublic & " AND " & FV
ORDER BY 1
SELECT DISTINCT LEFT(word,1) as wi
FROM t_word t1
INNER JOIN t_score t2
ON t1.wordid = t2.wordid
GROUP BY t1.wordid, t1.word, t1.public
HAVING t1.public >= " & strPublic & " AND " & FV & "
ORDER BY 1
Funkar och funkar .. Det löser problemet som du formulerade det ("Ä" hamnar före "Z"). Har du sen, det inte helt ovanliga, kravet att "Å" ska hamna före "Ä" så är nog det smartaste att ställa in svensk sorteringsordning via Access frontend-program.
Bra fråga. Din ursprungliga och Engine^s borde väl inte kunna skilja sig åt i sorteringsordningen? Fast å andra sidan så förstår jag inte vad SQL:en gör. Varför gör du öht en GROUP BY - HAVING när du inte har några aggregatfunktioner i SELECT:en? Varför inte bara en WHERE? Vad innehåller "FV"?
OK. Så "FV" innehöll aggregatfunktioner .. Men oavsett vad: Jag har ingen förklaring på hur sorteringsordningen på å,ä och ö skulle kunna påverkas enbart av att du lägger till en join. Tyvärr.
Om du vill forska vidare så kan du kanske kolla om det sker samma fenomen:
1. Som fråga direkt i Access.
2. Med ODBC-drivern.
3. Med OLEDB-drivern.
Det verkar hänga ihop med GROUP BY-funktionen? Jag testade lite andra grejjer och den verkar alltid sortera i "felaktig" ordning när jag kör GROUP BY.
ORDER BY har utelämnats i samtliga mina tester.
Men varför det? Utan ORDER BY kan du inte förvänta dig nån väldefinierad ordning alls. Det märkliga ligger ju, som sagt, i att din första SQL och Engine^s skulle kunna ge olika sortering (på samma databas).
Men varför det? Utan ORDER BY kan du inte förvänta dig nån väldefinierad ordning alls.
Precis. Och i samtliga fall på så har samma resultat uppnåtts - resultatet har sorterats i bokstavsordning. Även i andra tabeller.
Det finner jag lite mysko.
Det är inte så att Access är inställt på att alla nya databaser med svensk sortering? Prova att exportera fram och tillbaka till föregånde version.
x 5
1. Jag har inte haft ord som börjar på å, ä eller ö tidigare. Det kom jag på när jag tänkte till på allvar.
2. Sorteringsordningen ändrade på sig snällt och vänligt så fort jag komprimerade databasen... (varpå sorteringsordningen ställdes om till just svensk/finsk)
Case, definitely closed...
390 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91