ciao Stefano,
se i files di Excel fossero strutturati in modo relazionale, ( direi almeno la 3NF) ma non credo visto che quasi mai lo sono per la natura stessa di Excel ( leggi database piatto) si potrebbe optare per il collegamento al posto dell'importazione dati.
Comunque io vedrei bene la rilevazione dei vari valori in una tabella sola indipendentemente dal numero degli anni, ma configurando il db in questo modo:
T_giorni.
id_giorni PK,
giorno, data/ora
in cui inserisci solo la data;
T_rilevazioni
id_rilevazione PK,
id_giornon FK,
rilevazione data/ora
valore numerico
in cui registri i vari valori rilevati nelle diverse ore della giornata
T_valori
id_valori PK,
valore numerico
in cui inserisci nel campo valori tutti valori da 0 a 20 ( 21 righe).
con query di questo tipo :
SELECT
T_valori.valore,
t1.contavalori,
t1.percValore
FROM
T_valori
LEFT JOIN
(SELECT t_giorno.id_giorno,
t_giorno.giorno,
t_rilevazione.valore,
nz(Count(t_rilevazione.valore),0) AS contavalori, iif([contavalori]>0,format$([contavalori]/(select count(valore) from T_rilevazione as T where t.id_giorno=T_rilevazione.id_giorno),"percent"),0) AS percValore
FROM
t_rilevazione
INNER JOIN
t_giorno
ON
t_rilevazione.id_giorno = t_giorno.id_giorno
GROUP BY
t_giorno.id_giorno, t_giorno.giorno, t_rilevazione.valore, t_rilevazione.id_giorno
HAVING
t_giorno.id_giorno=forms!m_giorno!id_giorno
ORDER BY
t_giorno.giorno, t_rilevazione.valore) AS t1
ON
T_valori.valore = t1.valore
ORDER BY
T_valori.valore;
estrai tutti i valori in base alla giornata di riferimento leggendo la giornata dal controllo di una maschera.
Passando da un record all'altro della maschera, leggi, cambiando la giornata, la maschera stessa si aggiorna mostrando le ricorrenze del valore rilevato ( il conteggio) e la % sul totale delle stesse.
Lo statement è un po' complicato, ma in sostanza non fa altro che estrarre i dati non corrispondenti tra la tabella valori e l'inner join questa volta tra la tabella giorni e rilevazioni.
Questa query diventerà il recordSource della tua maschera.
Tutto qua.
Siccome è Natale e siamo tutti più buoni, (a proposito auguri :-), qui trovi una
demo di quanto spiegato qui sopra.
Prova a scaricarla. Oltre allo statement suggerito ne ho inserito un altro per ottenere anche la % totale con una tabella derivata e query di unione, mi piace poco anzi niente...ma la lascio ugualmente.
Apri la maschera, scorri i records, dai un'occhiata alle tabelle, e facci sapere.
[...]
e soprattutto anche per imparare ad utilizzare un minimo decentemente access.
[...]
questa mi è piaciuta :-)
[...]
Vi ringrazio già adesso per l'attenzione
[...]
prego.
Ciao, Sandro.