Med funktionen GROUP BY så spelar det ingen roll om man vill ha det DISTINCT eller så... Jag är väldigt vimsig men detta vill jag veta. (hoppas ni förstår) Jag vill kunna använda ORDER BY och jag vill inte ha ut lag delen DISTINCT dvs att varje Klubb skrivs ut 1 gång och att det sorteras på rTotalImp.
Hur ska jag då ändra koden?
SQL = " SELECT COUNT(t2.rImp) AS rTotalImp, COUNT(t2.rVP) As rTotalVP, " _
& " t2.rImp, t2.rVP, t2.Omgang, " _
& " t.LagID, t.Klubb, t.Kontakt " _
& " FROM tblResultat t2 " _
& " INNER JOIN tblLag t " _
& " ON t.LagID = t2.LagID " _
& " GROUP BY t.LagID, t.Klubb, t.Kontakt, " _
& " t2.rImp, t2.rVP, t2.Omgang "
Set objRS = dbCom.Execute(SQL)
Om du använder Access kan du inte använda aliasnamn på COUNTs etc i ORDER BY, utan du måste ange fältets ordningsnummer. ORDER BY 2 alltså, i din originalkod.
tack för hjälpen så långt! Sorteringen funkar nu. Då återstår bara problemet med dubletterna.
Nu testar jag att göra en sum(fält) as värde men när jag sedan skriver ut det hela så får jag dubbletter på koden:
SQL = " SELECT SUM(t2.rImp) AS rTotalImp, SUM(t2.rVP) As rTotalVP, " _
& " t2.rImp, t2.rVP, t2.Omgang, " _
& " t.LagID, t.Klubb, t.Kontakt " _
& " FROM tblResultat t2 " _
& " INNER JOIN tblLag t " _
& " ON t.LagID = t2.LagID " _
& " GROUP BY t.LagID, t.Klubb, t.Kontakt, " _
& " t2.rImp, t2.rVP, t2.Omgang " _
& " ORDER BY 2 DESC"
Omg rTotalImp får värdet 660 totalt så skrivs alla värdena ut dvs summan för varje "row" där lagid'na stämmer med frågan. Nu finns det två rImp i db och därför skrivs rTotalImp ut 2ggr.