Newsgroup: it.comp.appl.access
Titolo: Relazioni per storicita Acc/97

ho una tabelle Clenti con i seguenti campi.
Id cliente : contatore
Nome: testo
ho una tabella Articoli con i seguenti campi.
id articolo : contatore
id cliente : intero lungo  (prende dalla tabella clienti)
codice: testo
ho una tabella consegne
id consegna:contatore
data consegna : data ora
id cliente : intero lungo (prende dalla tabella clienti)
id articolo:intero lungo ( prende dalla tabella articoli)
Bene ho impostato tutte le relazioni.
Oggi faccio una consegna esempio dell'articolo "valvola" con il cliente
"Rossi"
inserisco con una form nella tabella consegne
Domani faccio una consegna esempio dell'articolo "perno" con il cliente
"Rossi"
inserisco con una form nella tabella consegne
Se faccio una query con tutte le tabelle mi ritrovo es. tutte le consegne:
valvola in data 21/10/2003
perno in data 22/10/2003
La mia domanda e' questa.
Se io vado nella tabella articoli e cambio il codice articolo valvola in
pistone.
mi trovero'
pistone in data 21/10/2003
perno in data 22/10/2003
pistone in data 23/10/2003
invece io voglio
valvola in data 21/10/2003
perno in data 22/10/2003
pistone in data 23/10/2003
Come faccio senza aggiungere un altro articolo ma solo modificando quello
esistente e avere anche lo storico. Sbaglio nelle relazioni.
ciao a tutto il NG.

 esistente e avere anche lo storico. Sbaglio nelle relazioni.
Sbagli nell'idea di non voler aggiungere un altro articolo.
la tabella articoli non va gestita come pretendi di fare.
inoltre da quanto scrivi sembra che tu non abbia usato degli ID ma che
cerchi di usare la descrizione per identificare l'articoloe e questo non
solo e' sbagliato, ma anche molto pericoloso.
Devi aggiungere un altro articolo senza mai modificare (se non per
correzioni) gli articoli esistenti.
le informazioni che invece vanno fissate al momento della creazione del
record (prezzo, sconto, ecc) vanno memorizzate nelle righe d'ordine
(denormalizzazione) in modo da non avere cambiamenti di prezzo degli
articoli gia' venduti quando aggiorni i listini.
Sib

<cut
scusa per le tabulazioni ma avevo creato il testo in word e poi incollato.
Il testo mi sembrava giusto, ma se hai speso tutto sto tempo........
mi hai detto:
le informazioni che invece vanno fissate al momento della creazione del
record (prezzo, sconto, ecc) vanno memorizzate nelle righe d'ordine
(denormalizzazione) in modo da non avere cambiamenti di prezzo degli
articoli gia' venduti quando aggiorni i listini.
Gli archivi allora li uso in maniera corretta ed anche gli indici. perche
l'articolo lo ricerco per id articolo e non per descrizione mi ero espresso
male.
Che cosa intendi per denormalizzazione.
Cioč quando nelle righe d'ordine io seleziono con una casellacombinata,
ricerco per codice articolo ma memorizzo id articolo.
Poi estrao il prezzo talla tabella articoli.
Se un domani cambio il prezzo mi cambia anche nella tabella consegne.
sbaglio in qualcosa.?


Se vuoi conservare il prezzo iniziale (cioè al momento della vendita) una
soluzione è quella di memorizzare anche il prezzo nella tabella acquisti o
vendite anziché ricavarlo dalla tabella dell'archivio.
Ciao
Salvatore

 Se un domani cambio il prezzo mi cambia anche nella tabella consegne.
Sib