i am Timoshenko ha scritto:
ValoreNominale (che vorrei si aggiornasse in automatico in funzione del campo descrizione e che prendesse il valore dal campo collegato nell'altra tabella chiaramente)
...........
Quando scelgo la descrizione nel registro entrate ho impostato il numero di colonne per vedere sia la descrizione che il valore nominale, impostando la lunghezza delle colonne. Il campo successivo da scegliere sarebbe il valore nominale, ma in realtà non c'è nulla da scegliere perchè scelto già nella colonna precedente, vorrei semplicemente si aggiornasse automaticamente col valore che già ha in memoria.
i am Timoshenko ha scritto:
Ciao Osvaldo, in realtà ci ho pensato. Però sono eventualità che possono capitare in anni accademici lontani, quindi magari un mensile per quest'anno sarà 100, l'anno successivo può cambiare (ma non è detto) però pensavo di aggiornare semplicemente il valore nella tabella QuotePagamenti senza eccessive preoccupazioni.
A rigore di normalizzazione l'obiezione che ti ho sollevato, ci sta...quindi pensaci bene per il futuro.
Ora, provo a chiudere un occhio e mi attengo alla tua richiesta "alla lettera".
Intanto vorrei farti notare che è meglio nominare tutti in campi ID in modo esplicito (IDAllievo, IDTipoPagamento, IDPagamento) e li usi con queste denominazioni sia per la PK=PrimaryKery=ChiavePrimaria, sia per la FK=ForeignKey=ChiaveEsterna.
In tabella Pagamenti non ti serve il campo ValoreNominale. Usa solo il campo IDTipoPagamento.
Quello che vuoi realizzare, non si fa con le tabelle, ma lo realizzi in MASCHERA così:
1. Apri la maschera in visualizzazione struttura
2. Aggiungi ai campi di Pagamenti una "casella di testo" non associata ad alcun campo
3. Dentro ci scrivi questa espressione:
=[IDTipoPagamento].Column(2)
dando per scontato che la casella combinata IDTipoPagamento ha 3 colonne, di cui la 3a (Column(2)) mostra la colonna ValoreNominale
4. Salva tutto
P.S.: Per ritornare al discorso dello "storico", ti conviene avere una tabella Listini con i seguenti campi:
IDListino (PK)
AnnoListino (se prevedi di fare cambiamenti a livello di Anni, altrimenti DataListino)
IDTipoPagamento (FK)
ImportoNominale
In tabella Pagamenti, invece di avere IDTipoPagamento, scrivi IDListino (le relazioni a questo punto ovviamente cambiano). Qui dentro ci metti una casella combinata con query che prende campi da entrambe le tabelle TipiPagamenti e Listini. Questa query che sostiene la casella combinata avrà (che so) un filtro sulla Data Max. In questo modo selezioni lo stesso IDTipoPagamento, ma associ l'ImportoNominale solo relativo alla data più recente...e non vai a rovinare la contabilizzazione del passato.
Fai una copia del database, se non ti fidi di questi suggerimenti, poi prova.