Newsgroup: it.comp.appl.access
Titolo: Problema su gestione aumenti di listino

Un caro saluto a tutto il newsgroup,
premetto che non sono un programmatore senior, ma un appassionato alla
continua ricerca di miglioramento e apprendimento, fra l'altro
l'analisi è una mia lacuna,
per cui sarei lieto di consultare i vostri pareri riguardo a questo
mio problema.
Dunque, il database in questione (non creato da me) gestisce una ditta
di autotrasporti, dagli abbonamenti ai percorsi con le varie tratte,
dalla fatturazione alle manutenzioni, etc..
Il problema è incentrato su due tabelle: percorsi e tratte:
ad esempio il percorso 1 prevede 5 tratte ognuna delle quali ha tre
campi sui quali vengono calcolati gli introiti: i biglietti normali,
quelli di andata e ritorno e quelli con bagaglio.
Il problema nasce nel momento in cui si hanno degli aumenti nel costo
di queste tratte in questi tre campi.
L'utente mi chiede la possibilità di inserire questi nuovi importi
senza intaccare quelli precedenti per non falsare ovviamente le
statistiche ed avere uno storico.
Premetto che le tratte non possono variare singolarmente all'interno
del percorso, ma è il percorso che "comanda" per così dire, cioè se il
percorso 1 che ha 5 tratte varia, varieranno tutti gli importi delle
tratte che comprende.
Vi ringrazio anticipatamente per l'aiuto che vorrete offrirmi.
Saluti a tutti.

Ciao,
penso che la soluzione piu' semplice e veloce sia quella di aggiungere
un paio di campi data (da - a ) da aggiungere alla tabella tratta.
E poi gestire la "join" tra tabella e tratta tenendo conto dei nuovi
campi data.
Quando le tariffe cambiano non farai un update sulle tratte ma
aggiungerai delle nuove righe con la nuova data. In questo modo
preserverai i dati vecchi.
Il modo piu' elegante è quello di aggiungere un altra tabella con le
date ma se come dici non sei tanto esperto ti consiglio il metodo
sopra. Non sarà elegante...ma funziona :-))
Spero di esserti stato di aiuto.
Ciao,
Marco


Ciao Marco, ti ringrazio per il tuo aiuto, molto prezioso per me, in
quanto ho bisogno di tutte le idee possibili,
si hai ragione, non sono molto esperto, ma se non provo non lo
diventerò mai, quindi mi interessa anche la soluzione, come dici tu,
"elegante", e mi piacerebbe avere qualche "dritta" su come operare in
tal senso.
In ogni caso ti ringrazio tantissimo.
Saluti.

 ha scritto nel messaggio 
news:1194544279.9...@q5g2000prf.googlegroups.com...
Il problema nasce nel momento in cui si hanno degli aumenti nel costo
di queste tratte in questi tre campi.
L'utente mi chiede la possibilità di inserire questi nuovi importi
senza intaccare quelli precedenti per non falsare ovviamente le
statistiche ed avere uno storico.
Premetto che le tratte non possono variare singolarmente all'interno
del percorso, ma è il percorso che "comanda" per così dire, cioè se il
percorso 1 che ha 5 tratte varia, varieranno tutti gli importi delle
tratte che comprende.
Vi ringrazio anticipatamente per l'aiuto che vorrete offrirmi.
Saluti a tutti.
..............
Ma come è strutturata la tabella? Cioè, esiste un record per ogni tratta e 
in ogni record ci sono più campi, uno per ogni tariffa? Potresti fare una 
tabella "Storico", in pratica una copia della tabella Tratte con l'aggiunta 
dei campi "DaData" e "AData", poi quando varia una tariffa, prima di 
variarla crei una copia del record in questa tabella e imposti le date, e 
solo dopo modifichi il record incriminato; successivamente le statistiche le 
farai nella tabella "Storico" in base alle date.
Diverso invece se hai tipo carico-scarico, ovvero se hai una lista delle 
tratte vendute, in questo caso sicuramente avrai una tabella "Movimenti", e 
sarà questa tabella ad essere modificata aggiungendo campi, ovvero quando 
venderai una tratta registrerai l'Id della tratta in questione, la data, e i 
prezzi, e in questo modo avrai lo storico direttamente in questa tabella.
Dipende dalle tabelle che hai e come sono fatte.