Newsgroup: it.comp.appl.access
Titolo: ! [Scusate] Non so definire l'oggetto del messaggio

Ciao
Ho un 'archivio che contiene l'elenco dei componenti con i relativi prezzi
di acquisto e di vendita.
Quindi potrei avere:
Componente    A
Prezzo in         10000
Prezzo out       15000
Quindi quando faccio una fattura il componente A sarà fatturato a 15000
Mettiamo che il fornitore mi aumenti il prezzo quindi:
Componente    A
Prezzo in         12000
Prezzo out       15000
A questo punto il prezzo di acquisto precedente viene modificato e quindi
perso.
In buona sostanza come faccio a gestire i vari prezzi di acquisto mantenendo
i precedenti  senza salvarli in una tabella separata?
Grazie, Alberto

ALCAU chiede:

Perchè non vuoi usare una tabella separata?
Comunque hai, secondo me, due alternative:
1. Metti un flag nella tabella che indica che il record che riporta i prezzi
è obsoleto e inserisci un nuovo record coi nuovi prezzi (al posto del flag
potresti riportare la data di fine validità)
2 Se non ti interessa l'intera storia, ma solo uno o due prezzi precedenti
puoi aggiungere dei campi che riportano i prezzi precedenti.
Se vuoi poter richiamare il prezzo di vendita di un articolo venduto, la
prima soluzione è quella che fà per te, basta fare in modo che la query vada
a richiamare il prezzo valido alla data di quando il prodotto è stato
venduto.
Ciao, Sib

 wrote in message
A6S94.3821$1W4....@news.infostrada.it...


i precedenti  senza salvarli in una tabella separata?
eh, mi sa che devi denormalizzare la tabella delle righe fatture,
ossia dovrai aggiungervi un campo col prezzo di costo.
--------------------------------------------------
ATTENZIONE!
it.comp.database.access diventera' it.comp.appl.access!
cercalo tra i nuovi ng e linkalo!
-----------------------------------
rimuovere NOSPAM. per mandare email
-----------------------------------
il sito comune di it.comp.database.access:
http://members.xoom.it/it_db_access

 wrote in message
3867f99...@news.interbusiness.it...


1. Metti un flag nella tabella
ma cos'è il flag?
Grazie
-------------------
gius...@tin.it

 Io vorrei mantenere tutti i prezzi precedenti.
Bene, allora la prima soluzione che ti ho suggerito è molto funzionale.
Per chiarire meglio la cosa, devistrutturare la tabella prezzi così:
Componente
Prezzo in
Prezzo out
DataFineValidità
Quando il prezzo varia inserisci nel prezzo corrente la data di fine
validità ed aggiungi un nuovo record con i nuovi prezzi. Se, ad es, il
prezzo è variato tre volte per un certo prodotto avrai:
Componente    Prezzo in    Prezzo out    DataFineValidità
A                        10000        15000            15/06/1999
A                        12000        16000            17/09/1999
A                        13000        17000            Null
In questo modo, il prezzo corrente è quello che ha valore null nel campo
DataFineValidità, inoltre hai la stori completa e sempre rintracciabile di
tutti i prezzi precedenti.


 ma cos'è il flag?
Intendo un campo definito come di tipo vero/falso (o Sì/No che dir si
voglia)
Ciao, Sib

Grazie
GROAN!!!
Antonio

>ma cos'è il flag?
un flag e' un campo, generalmente booleano quindi si'/no, che ha il
compito di segnalare lo stato di una certa condizione di un record,
generalmente transitoria.  puo' anche essere un testo o un numerico,
comunque.
ad esempio, io potrei avere la solita lista di indirizzi e voler
decidere di stampare questo si', questo no, questo si', quest'altro
pure ecc.
allora mi gestisco la cosa aggiungendo un campo booleano flagStampa
che poi posso collegare ad un checkbox su di una maschera.
si possono comunque dover gestire situazioni piu' complesse, non solo
booleane, per cui torna comodo un altro tipo dati o magari proprio un
campo di testo "parlante", come si dice in gergo.
