Ciao
In un campo di una tabella devo inserire dati che arrivano da tabelle differenti.
Esempio banale: nella tabella tFrutta ho un campo frutto.
Poi ho tabelle per ogni tipo di frutto, ad esempio, tDrupe (prugne, ciliege,...), tAgrumi (limone, arancia, ...).
Le tabelle hanno campi diversi tra di loro.
Con una query unione tra le tabelle di frutti creo un elenco di frutti (usato poi in una combo ricerca) da poter inserire nel campo frutto della tFrutta.
Fin qui tutto funziona ma:
1 - Perdo l'unicità degli id del singolo frutto in quanto in ogni tabella avrò per esempio un ID=1 che corrisponde ad un frutto ovvero nella tabella tDrupe avro' 1- Ciliegia, nella tabella tAgrumi avro' 1- Arancia ecc...
2 - Partendo poi da questa tFrutta, devo eseguire delle query per reperire delle informazioni a ritroso dalla tabella di origine di ogni singolo frutto.
Ovvero, se in un record leggo Arancia, voglio risalire alla tabella tAgrumi.
Detto ciò, quale potrebbe essere il metodo migliore per gestire il punto 1 e generare quindi degli ID univoci che permangano nel tempo?
La risposta che mi sono dato e' stata quella di creare nella query unione un ulteriore campo contenente il nome della tabella che associato al relativo id del frutto, rende il record univoco.
Per il punto 2 pensavo ad una query in cui in funzione del nome tabella mi vada a leggere il relativo ID. Ma questo significa qualcosa tipo:
iif([NomeTabella]="tAgrumi",[tAgrumi].[spicchi] where [tAgrumi].[ID] =[tFrutta].[IDFrutto], iff([NomeTabella]="tDrupe", ecc....
Queste due soluzioni pero' non mi piacciono per nulla e preferirei trovare un altro sistema.
Qualche suggerimento?
Per logiche di business non posso mettere tutti i frutti in una unica tabella e poi specificare che tipo di frutto sono. Devo tenere le tabelle separate.