Ciao,
allora hai deciso come fare ? a che punto sei arrivato ?
Io avrei già fatto ;-)
Sulla base di quanto riportato nel post precedente, questo è l'esempio di quello che ti dicevo di fare:
- Creare due tabelle: una per i dati di testata (AggregatiAnnualiHeader) e la seconda per le righe di dettaglio (AggregatiAnnualiRows)
- Creare le Relazioni tra le due tabelle e tra le altre che occorrono
- Creare una Form principale e una SubForm
- Relazionare le form con l'Id come da Relazioni Tabelle
Questa è la relazione tra la SubForm e la Form Principale con i relativi campi Master e Secondari:
- Dati di Testata :
- Selezionare l'Acronimo
- Inserire Anno Esercizio
- Fleggare se Approvato oppure No
- Inserire data Approvazione
- …(in questa tabella puoi inserire tutte le altre (fields) informazioni che interessano relative a tale contesto)
- Dati Records di Dettaglio :
- Inserire i Parametri
- Inserire Valore Parametro
Il contenuto delle due Tabelle , Testate e Righe, sarà :
TESTATA
Dove IdAcronimo 1 = ALMA e il 3 = ELMO
RIGHE
Dove con IdAggregatiAnnuali = 1 si Relaziona con la Testata = IdAggregatiAnnuali
e con IdAggregatiAnnuali = 2 si Relaziona con la Testata = IdAggregatiAnnuali
Una visualizzazione delle tabelle così relazionate (vedere foglio secondario) che rende meglio l'idea è questa, dove per ogni Testata abbiamo le relative Righe :
Con le relazioni Sopra riportate e con l'inserimento dei dati, se volessimo per esempio visualizzare in una Query le testate e le righe inserite….
- Per esempio in questo caso Abbiamo Inserito due Acronimi ALMA e ELMO :
LA QUERY
Visualizzazione Dati della Query
E questa è la stringa SQL della Query:
SELECT tblAcronimo.Acronimo, AggregatiAnnualiHeader.EsercizioYear, AggregatiAnnualiHeader.Approvazione, AggregatiAnnualiHeader.ApprovazioneData, tblTipoAggregati.Aggregati, AggregatiAnnualiRows.ValoriAggregati
FROM tblTipoAggregati
INNER JOIN (tblAcronimo INNER JOIN (AggregatiAnnualiHeader INNER JOIN AggregatiAnnualiRows ON AggregatiAnnualiHeader.IdAggragatiAnnuali = AggregatiAnnualiRows.IdAggregatiAnnuali) ON tblAcronimo.IdAcronimo = AggregatiAnnualiHeader.IdAcronimo) ON tblTipoAggregati.IdTipoAggregati = AggregatiAnnualiRows.IdAggregati
ORDER BY tblAcronimo.Acronimo, tblTipoAggregati.Aggregati;
Ho impiegato più tempo nel farti la documentazione che Creare le Tabelle, le Relazioni, la Form, la SubForm, Inserire i dati. etc etc etc… ;-)
Ad ogni modo questo per farti vedere come normalmente si può realizzare un processo del genere utilizzando semplicemente Access per quello che normalmente è in grado di fare.
Un approccio di questo tipo non ti creerà, nel proseguo del progetto, nessun tipo di problema.
Quindi normalizza se non vuoi avere ogni due per tre un qualche problema da risolvere.
Questo è solo una traccia, un esempio e un consiglio per fare quello che hai richiesto.
;))