relazioni

relazioni

0
0

Buona sera

ho un database per la gestione di contratti d’affitto costituito essenzialmente da due tabelle: una contiene i dati relativi ai contratti e l’altra i dati anagrafici, bancari ecc. degli inquilini. Le due tabelle sono correlate tramite un campo che contiene il codice fiscale dell’inquilino. Ogni inquilino può essere titolare di più contratti e quindi nel formato dell’anagrafica personale ho creato un portale con il quale visualizzo i riferimenti dei contratti di ognuno con la possibilità di selezionare e visualizzare la scheda completa del contratto che interessa. Ora però si pone il problema che per lo stesso contratto ci possono essere più inquilini e quindi la relazione sul codice fiscale non basta più. Come posso fare a creare un collegamento tra la singola scheda del contratto e più schede anagrafiche senza però perdere il collegamento tra la singola scheda anagrafica e più contratti ?

Grazie per l’aiuto.

R.B.

 

P.S. uso FM14 adv

Segnalato come spam
Pubblicata da (Domande: 17, Risposte: 24)
Domanda inviata 21 Agosto 2015 21:47
34 vis.
0
Domanda privata

Grazie ad entrambi!
Ora ci provo; il concetto mi è chiaro e quindi credo di potercela fare! Di solito per le relazioni uso degli ID ’semplici’ (le due tabelle hanno già rispettivamente un ID_contratto ed un ID_inquilino che uso per tutte le altre relazioni); l’utilizzo del codice fiscale, solo per questa relazione, dipende dalla modalità di inserimento dei dati che parte sempre da un nuovo contratto ed avviene tramite script che richiede, per prima cosa, l’inserimento del codice fiscale dell’inquilino. Verifica poi se il codice è già inserito nell’anagrafica e solo se non lo trova, e previa conferma che si tratta di un nuovo contatto, richiede l’inserimento dei dati anagrafici che altrimenti sono già presenti nel database. L’eventualità di inserire un codice errato esiste ma in realtà la magagna esce praticamente subito (quando si registra il contratto) e quindi ho impostato uno script che, quando si modifica il codice nell’anagrafica, cerca il codice errato nella tabella correlata e lo sostituisce con quello corretto. In effetti, però, una relazione tramite ID_inquilino forse sarebbe più semplice e mi eviterebbe l’accrocco di cui sopra che, con l’introduzione della ’tabella di JOIN’, si complicherebbe ulteriormente.
Spero di non avere altri problemi altrimenti … so dove trovarvi :)

R.B.

Segnalata come spam
Pubblicata da (Domande: 17, Risposte: 24)
Risposta inviata 23 Agosto 2015 18:41
0
Domanda privata

che chiamasi anche ”tabella di JOIN” :D

ovvero una tabella in cui inserisci tutti i contratti di tutti gli inquilini (che vedrai nei portali dei formati inquilini e contratti), correlata con inquilini (per ID_inquilino o codice fiscale) e con contratti (per ID contratto): in questo modo hai una soluzione flessibile e con la possibilità di assegnare a ogni inquilino per ciascun contratto percentuali o speficiche varie. Unica cosa, l’inserimento è un po più complesso e nel caso di grandi numeri conviene farlo da script, magari con una procedura guidata.

a presto.

.g.

 

Segnalata come spam
Pubblicata da (Domande: 0, Risposte: 1544)
Risposta inviata 22 Agosto 2015 15:22
0
Domanda privata

Ciao Renato

Innanzitutto un consiglio di base sulle relazioni: in ogni tabella che crei cerca di mettere il campo “ID_riga” (campo ad immissione automatica che si incrementa di 1) da usare per tutte le relazioni (tu ora hai impostato la relazione sul Codice Fiscale; pensa se devi correggere il codice fiscale perché a distanza di tempo ti sei accorto che è sbagliato: il risultato è che perdi tutte le relazioni con quell’anagrafica…. Lo dico a ragion veduta: ci sono già passato….).

Ora, relativamente al tuo problema, partendo dal presupposto che nella tabella CONTRATTI il contratto “C1” c’è 1 sola volta (c’è un solo record che riepiloga i valori del contratto “C1”, record che ha un suo univoco “ID_riga”), se per il contratto “C1” devi mettere più inquilini, a mio avviso devi avere un portale che punta ad un specifica tabella (che io chiamerei “INQUILINI_CON_CONTRATTO”) con il quale inserisci gli “n” inquilini titolari di questo contratto.

Per cui le relazioni che permetto di visualizzare i record dell’altra tabella (da CONTRATTI vedi gli inquilini e da ANAGRAFICA vedi i contratti) passano tutte da questa terza tabella (INQUILINI_CON_CONTRATTO).

Ciao

Segnalata come spam
Pubblicata da (Domande: 0, Risposte: 18)
Risposta inviata 22 Agosto 2015 14:50