Newsgroup: it.comp.appl.access
Titolo: Come vedere dati ditta che ha cambiato ragione sociale ?

Classico gestionale magazzino, vendite, acquisti, ordini, statistiche, ....
Sto usando un db gia' pieno di dati da usare, provenienti da un altro 
gestionale
Alcuni clienti/fornitori nel tempo hanno cambiato ragione sociale o 
indirizzo, attualmente esistono diverse anagrafiche cliente con i dati della 
ditta appena nata, poi i dati della ditta con ragione sociale cambiata (ad 
esempio da snc a srl) poi ancora i dati cambiati (ad esempio da partita iva 
xyz a kyc)
Pero', come avrete capito, il soggetto e' sempre lo stesso
Il problema e' nella visualizzazione dei documenti e delle stampe, avrei 
bisogno infatti di visualizzare tutte le fatture intestate alla ditta xyz, 
indipendentemente dal cambiamento della ragione sociale
Ad esempio, la ditta nasce e si chiama "Pinco Pallino di Gigi e Mario, p.iva 
1234", emissione fatture a questo soggetto
Poi si trasforma e diventa "Pinco Pallino srl, p.iva 1234", emissione 
fatture a questo soggetto
Poi diventa "La Pinco spa, p.iva 4637", emissione fatture a questo soggetto
Vorrei trovare un modo ragionevole di visualizzare i documenti emessi a 
queste tre ditte diverse come fossero la stessa entita' (in effetti per noi 
e' sempre lo stesso cliente, solo che cambia di ragione sociale)
Come fareste voi ?
Ciao e grazie
RobertoA

 ha scritto nel messaggio 
news:48d11a7f$1...@newsgate.x-privat.org...

Ma hai bisogno di tenere traccia del cambiamento?
Perchè se il riferimento è all'ID, problemi non ne hai...se cambia il nome, 
l'ID rimane lo stesso.
L'unica cosa è che se ristampi la fattura la ragione sociale non è la stessa 
di prima...
Tutt'al più puoi mantenere traccia delle varie ridenominazioni facendo una 
tabella mirror...mi spiego
Ogni volta che cambi la ragione sociale (Su evento Dopo aggiornamento) 
accodi a una tabella i dati del cambiamento...
tblMirror
MirrorID
tblID --> mandi l'ID
MirrorRag --> Mandi la ragione sociale che cambia
MirrorDate --> Mandi come valore predefinito Date()
MirrorUser --> Mandi come valore predefinito CurrentUser() se hai una 
gestione utenti
Se poi quest'ultima la leghi alla tua tabella clienti tramite ID puoi 
ottenere quello che vuoi...anche stampare vecchie fatture con i vecchi 
valori delle ragioni sociali.
Ciao
-- 
Roberto da Parma

 valori delle ragioni sociali.
Grazie per la risposta
Le anagrafiche non vengono cambiate, la nuova viene aggiunta a quelle gia' 
presenti
I dati anagrafica cliente sono memorizzati anche nel documento fattura
Se cancellassi le anagrafiche la fattura resterebbe integra
Ovviamente il cambiamento del contenuto di campi in anagrafica cliente che 
viene riportato anche in fattura viene intercettato e se necessario 
modificato il documento vendita
La mia richiesta di un vostro consiglio e' sul modo migliore di 'legare' 
diverse anagrafiche per considerarle un'entita' unica poi nelle stampe
In sostanza se vado a richiedere le fatture del soggetto ANCO MARZIO, vorrei 
risultassero tutte le fatture intestate alla ditta "ANCO MARZIO, p.iva 
1234", "ANCO MARZIO SNC, p.iva 1234", "ANCO MARZIO SPA, p.iva 2345678"
Ovviamente da qualche parte glielo devo dire che le tre ditte sono, per la 
visuale che desidero ottenere, lo stesso soggetto
Pensavo ad un campo in piu' sulla anagrafica cliente, ma prima di partire 
volevo sapere se qualcuno ha gia' risolto magari in modo migliore
Ciao
RobertoA

> Tutt'al più puoi mantenere traccia delle varie ridenominazioni facendo 

Diciamo che dal mio punto di vista il metodo che hai scelto non è 
propriamente corretto...ma soprattutto va contro la primissima regola della 
NORMALIZZAZIONE ...e qui VT può dirti molto di più.
Per quanto riguarda il trovare una pezza al tuo modo di archiviare i dati 
potresti come già hai tu stesso accennato, crea un campo
ASSOCIATO di tipo long dove andrai ad inserire l'ID del nominativo ufficiale
es.
Se ANCO MARZIO in ordine di ID è il maggiore quindi l'ultimo inserimento 
(es. ID=108)
Tutti avranno come ASSOCIATO=108
Quando dovrai vedere l'elenco effettivo delle ultime ragioni sociali ti 
basterà fare un raggruppamento per ASSOCIATO e Max(ID)
in una query...
In ogni caso forse io ti consiglierei piuttosto di prevedere un campo del 
tipo Clienti Attivi, Clienti Passati ....ma è una pezza ad un db non 
normalizzato...



Non credo che, relativamente al problema che devo risolvere, la 
normalizzazione del db c'entri qualcosa
Anche se avessi solo l'id cliente oppure il codice cliente sulla fattura non 
cambierebbe un bel niente
Volevo solo capire se qualcuno poteva suggerirmi una soluzione migliore del 
campo aggiunto sull'anagrafica cliente
Ciao e grazie
RobertoA

 ha scritto nel messaggio 
news:48d1dd2d$1...@newsgate.x-privat.org...

Beh non è vero che non cambia niente...nel modo in cui gestisci tu i dati se 
cambia qualcosa nell'anagrafica non hai la corrispondenza poi nei dati in 
fattura essendo queste due tabelle slegate tra loro.
Ti ritrovi per cui nel problema che devi affrontare ora.
La normalizzazione? Beh anche qui avrei da dire...credo che sia la base per 
costruire un buon db.
Non avere campi duplicati ti permette in caso di modifiche di risparmiare 
tempo ed evitare di dover rincorrere in tutte le tabelle il dato da 
modificare.
In ogni caso io credo che il modo migliore che hai, nella situazione in cui 
sei, per risolvere il tuo problema è quello di aggiungere un campo che possa 
legarti clienti e fatture nel modo che ti ho descritto sopra.
Diversamente comunque potresti crearti una query di raggruppamento che 
attraverso un like possa appunto raggruppare le anagrafiche, ma non è una 
procedura efficentissima...
Potresti provare recuperando le prime lettere del nominativo con un 
Left(...;...) oppure utilizzando un confronto tra stringhe secondo i tuoi 
parametri...
ciao
-- 
Roberto da Parma