[ mika @ 10.10.2006. 15:09 ] @
Pozdrav drugari. Ovo je, na neki način, nastavak teme od pre godinu ipo dana, sa adrese http://www.elitesecurity.org/t...-sa-forme-koje-nije-definisano . Radi se o sledećem: kako napraviti, unutar TRANSFORM query-ja grupisanje? Odnosno, kako grupisati column headinge u okviru nekih vrednosti, kao npr: Code: TRANSFORM Sum(tblListe.Time) AS SumOfTime SELECT tblListe.ID_Employee FROM tblListe GROUP BY tblListe.ID_Employee PIVOT tblListe.Code S obzirom da su kodovi od 100 do 999, kada pokrenem ovaj upit, MS Access mi javi grešku "Too many column headers", što je i logično jer ima 900 kolona ![]() E sad, ja sam došao na ideju da PIVOT liniju napišem kao : Code: PIVOT tblListe.Code IN (100-199, 200-299...) ...medjutim, to neće da može, javlja se greška "data type mismatch in query expression". Nikakve akrobacije nisu uspele, pokušao sam i sa 100:199, i 100;199 i sa 100::199 i sa 100..199 ali neće. Alternativa je sledeća, ovo je upit koji radi (provereno): Code: SELECT tblListe.ID_Employee,formatnumber(Sum(IIf(Code>=100 And Code<200,time,0)),2) AS [100-199], Sum(IIf(Code>=200 And Code<300,time,0)) AS [200-299], Sum(IIf(Code>=300 And Code<400,time,0)) AS [300-399], Sum(IIf(Code>=400 And Code<500,time,0)) AS [400-499], Sum(IIf(Code>=500 And Code<600,time,0)) AS [500-599], Sum(IIf(Code>=600 And Code<700,time,0)) AS [600-699], Sum(IIf(Code>=700 And Code<800,time,0)) AS [700-799], Sum(IIf(Code>=800 And Code<900,time,0)) AS [800-899], Sum(IIf(Code>=900 And Code<1000,time,0)) AS [900-999] FROM tblListe GROUP BY tblListe.ID_Emp; E sad, ovaj upit se malo sporije izvršava, kapiram da bi se TRANSFORM upit izvršavao mnogo brže, samo kad bi skontao kako da napravim to grupisanje. Ima li iko ideju kako to da odradim, ili da iskoristim moje potonje "Solomonsko" rešenje? Pozdrav! ![]() |