VALORE PREDEFINITO???

martedì 07 marzo 2006 - 18.59

Cristian1982 Profilo | Newbie

Ciao a tutti,
non riesco a risolvere questo problema qualcuno può aiutarmi!!!

Ho un database ACCESS 2003 con varie tabelle tra cui le tabelle Cliente e Fatture così strutturate:
Clienti: IDCliente = chiave primaria, Via, CAP, Citta, Provincia, ...
Fatture: IDFattura = chiave primaria, IDCliente, Data, ...

Ho un serie di maschere tra cui Fatture, nella quale immetendo l'IDCliente vengono visualizzate automaticamente tutte le informazioni di quel cliente come ad esempio l'indirizzo.
Se alla data X un cliente cambia indirizzo vado a modificare i campi relativi tramite una maschera che mi consente di modificare le informazioni sul cliente.
Però nel momento in cui vado a visualizzare una fattura del cliente che ha cambiato indirizzo, creata precedentemente alla data X, mi viene mostrato il nuovo indirizzo e non il vecchio, mentre io vorrei che il nuovo indirizzo venga visualizzato solo per le fatture successive alla data X e per quelle precedenti il vecchio indirizzo.

Io avrei pensato di inserire nella tabella Fatture anche i campi Via, CAP, Citta, Provincia e vorrei che assumessero un valore predefinito uguale ai campi corrispondenti della tabella Clienti.
Così per ogni fattura che vado a fare i campi Via, CAP, Citta, Provincia assumono il valore corrispondente attuale memorizzato nella tabella Clienti, e se dovessi modificare un cliente non si modificherebbe nelle vecchie fatture ma solo nelle nuove.
Pensate sia un modo giusto? Come posso realizzarlo (il valore predefinito devo farlo a livello di tabella o a livello di maschera)? Esiste un modo più semplice o più efficace?

Grazie per l'aiuto.

Brainkiller Profilo | Guru

>Ciao a tutti,
>non riesco a risolvere questo problema qualcuno può aiutarmi!!!

Ciao,
da quello che ho capito, secondo me nel tuo caso è necessario creare un'ulteriore tabella Indirizzi_Clienti con corrispondente ID che registra lo storico delle variazioni di abitazione o di azienda dei tuoi clienti. In questo modo puoi mantenere le fatture con indirizzo vecchio ed indirizzo nuovo.
La tabella indirizzi_clienti potrebbe essere costruita in questo modo, oltre all'ID_INDIRIZZO e alle informazioni classiche, via, città, ecc. dovresti mettere un campo data che indichi da che data in poi è valido quell'indirizzo.

L'ultimo indirizzo disponibile sarà anche l'indirizzo attuale del cliente.

Nella tabella fatturazione potrai inserire l'ID_CLIENTE e recuperare dinamicamente in basa alla data fattura o data ordine il corrispondente indirizzo. Se non vuoi farlo dinamicamente, in fase di inserimento fattura puoi prendere dalla tabella clienti, l'ID_INDIRIZZO attuale e inserirlo come nuova colonna e successivamente fare un join.

Ciao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5