Grazie Alka
Grazie @Alex
per il caso in questione, vado a semplificarlo ed esporlo in questo modo:
- Tabella Principale Valori
- Join con
- Tabella Anni
- Tabella Categorie
- Tabella Clienti
Non lo spiego a parole altrimenti mi incarto ;)))
In pratica lo schema è questo che sicuramente capirete al volo:
La tabella Principale Valori contiene tutti i valori per Cliente/Anno/Categoria
E per Anno e Categoria contiene solo i records valorizzati ( <> da 0)
Supponiamo di avere 10 Categorie di Valori, dalla 10, 20, 30… 100
Selezioniamo il Cliente Id 100
Per tutte le possibili categorie si devono affiancare i Valori di un Anno (quello che si desidera selezionare) supponiamo il 2023
Si affianca all'Anno selezionato i due Anni Precedenti… nell'esempio il 2022 e 2021
A questo punto, con le dovute Select, genero la tabella con i valori così affiancati:
Questa la mia "Tabella Temporanea"
Dove dalla Categoria 10 alla 100 vengono riportati i Valori per l'Anno Selezionato e gli Anni di Confronto
Sempre per esempio, sulla Form, dopo aver selezionato il Cliente e l'Anno Principale da analizzare, si avrà una cosa di questo tipo:
Con IdCliente i dati descrittivi dello stesso
con IdCategoria le Descrizioni delle varie voci Disponibili
In Giallo l'Anno Selezionato e a fianco gli anni precedenti di sola consultazione e confronto
Ho tralasciato volutamente tutte le descrizioni ricavate dalle varie Join e l'ordinamento dei valori per categoria sulla base di un campo numerico denominato Sequenza che permette di avere l'ordinamento di presentazione come meglio desiderato.
Operatività: (l'input è consentito solo per la colonna gialla)….
- La Form consente di modificare solo i dati relativi all'Anno selezionato e in questo caso il 2023
- se impostato un valore per una categoria = a zero
- in AfterUpdate del campo:
- se il record esiste, si elimina il record nella Tabella Valori
- se impostato un valore per una categoria <> da 0
- in AfterUpdate del campo:
- Se non esiste viene Inserito il record nella Tabella Valori
- Se esiste viene Aggiornato il record nella Tabella Valori
- Tutti gli altri dati sono Bloccati e non modificabili. (solo Visualizzazione)
- Se si vuole aggiornare gli Anni Precedenti è sufficiente selezionare l'anno che interessa
- Se si vuole inserire i valori per un Anno Nuovo, per esempio il 2024, è sufficiente selezionare l'Anno 2024, etc…
Ovviamente Funziona tutto ;))
Le prestazioni sono ottime, sembra di lavorare in un foglio Excel e anche il caricamento dei dati nella così detta Tabella Temporanea, è in pratica Istantaneo.
Vi ringrazio per l'attenzione e per le considerazioni che già mi hanno fatto capire alcune cose in più.
Che ne pensate? mi conviene cambiare approccio?