Newsgroup: it.comp.appl.access
Titolo: risultati diversi partendo dagli "stessi" dati

ho una tabella BOS che contiene dati degli anni dal 2019 al 2022, generata 
da un'altra tabella con circa 8000 record e svariati campi
 
essenzialmente in BOS ne uso solo 3: YEAR, ProductType, VDELTO 
uso anche un valore di riferimento nel form: Forms!MENU!RIFYEAR
 
eseguo la query (APPEND) qui sotto che me li raggruppa per ProductType, 
sommando i valori degli anni, e accodando i record nella tabella LIST 
(precedentemente svuotata) 
 
งงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงง
 
INSERT INTO [LIST] 
( ProductType, VDEL, VY1, VY2, VY3 )
 
SELECT 
[BOS].ProductType, 
Sum(IIf([YEAR]=Forms!MENU!RIFYEAR  ,[VDELTO],0)) AS VDEL, 
Sum(IIf([YEAR]=Forms!MENU!RIFYEAR-1,[VDELTO],0)) AS VY1, 
Sum(IIf([YEAR]=Forms!MENU!RIFYEAR-2,[VDELTO],0)) AS VY2, 
Sum(IIf([YEAR]=Forms!MENU!RIFYEAR-3,[VDELTO],0)) AS VY3 
 
FROM 
[BOS] 
 
GROUP BY 
[BOS].ProductType, 
 
งงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงง
 
ora, il problema ่ che i totali calcolati dalla query qui sopra e salvati 
in LIST non quadrano con quelli che calcolo io "a mano" partendo da BOS e 
usando i filtri (con excel)
 
per๒ se lascio in BOS (a turno) solo i dati relativi a un solo anno, 
cancellandoli dalla tabella *prima* della query, ottengo risultati ancora 
diversi: ecco i totali
 
 
             2022    2021    2020    2019
 bos a mano	 9,28   36,02   35,14   26,52 
 list 	 8,29   30,05   28,25   25,23 
 filtrati 	 8,99   36,02   29,09   25,35 
 
in pratica, rispetto al valore calcolato a mano da BOS, con excel e i 
filtri sul campo YEAR, vedi prima riga, la tabella LIST perde quacosa su 
ogni anno mentre pre-filtrando i dati in BOS ottengo sia valori "giusti" 
(2021) che sballati
 
non mi ci raccapezzo... 
temo che le formule dei 4 campi di LIST che devo popolare con la somma dei 
valori possano creare anomalie, ma non vedo cose strane:
 
Sum(IIf([YEAR]=Forms!MENU!RIFYEAR  ,[VDELTO],0)) AS VDEL, 
Sum(IIf([YEAR]=Forms!MENU!RIFYEAR-1,[VDELTO],0)) AS VY1, 
Sum(IIf([YEAR]=Forms!MENU!RIFYEAR-2,[VDELTO],0)) AS VY2, 
Sum(IIf([YEAR]=Forms!MENU!RIFYEAR-3,[VDELTO],0)) AS VY3 
 
per cui sto pensando di eseguire 4 volte la query, ogni volta filtrata su 
un anno dei 4 a disposizione, aggiornando il relativo campo in LIST (VDEL, 
VY1, VY2, VY3) e il filtro, tipo una cosa cos์:
 
งงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงง
 
INSERT INTO [LIST] 
( ProductType, VDEL, VY1, VY2, VY3 )
 
SELECT 
[BOS].ProductType, Sum([VDELTO]) AS VDEL
 
FROM 
[BOS] 
 
WHERE
[YEAR]=Forms!MENU!RIFYEAR
 
GROUP BY 
[BOS].ProductType, 
 
งงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงงง
 
 
...a meno che voi vediate quello che non va...
 
dopo pranzo, a stomaco pieno, si ragiona meglio :)
 
-- 
/-\ /\/\ /\/\ /-\ /\/\ /\/\ /-\ T /-\
-=- -=- -=- -=- -=- -=- -=- -=- - -=-
........... [ al lavoro ] ...........

 
 
questa prova la ho fatta ma non va mica bene :/
se prendo i record di ogni singola query il totale quadra, ma l'APPEND in 
tabella mi perde dati sicuramente a causa della chiave univoca
ci torno su dopo, la strada è probabilmente giusta ma va raddrizzata 
