Ciao a tutti,
ho dovuto portare su Access una serie di file excel per poter gestire e classificare un DB clienti/fornitori. Condivido qui sotto le tabelle del DB. Noterete subito che il DB non è ottimizzato, perchè ci sono diverse relazioni ridondanti tra campi; questo
è dovuto al fatto che dovendo creare un DB da tanti file excel molto elementari non volevo rischiare di perdere dati; perciò ho creato p.es. diverse tabelle di collegamento per gestire relazioni molti-a-molti ma ho dovuto lasciare attive le vecchie relazioni
uno-a-molti per per non perdere i dati. Non sono un professionista, e non conosco una strada più semplice per creare un buon DB relazionale partendo da dati preesistenti e strutturati male.
In questo momento ho l'esigenza di eliminare alcuni record nella tabella "Anagrafiche" partendo dalla query di selezione "QS_ANAGR_DA_ELIM".
Il flusso è: dal DB esportiamo in formato excel una selezione di anagrafiche (indirizzi mail) in un'applicazione web che invia mail ai destinatari ->
in seguito al report della campagna marketing, vogliamo eliminare dal DB quelle anagrafiche che l'applicazione web dichiara non esser più valide.
Il campo che usiamo per identificare le anagrafiche (cioè il set di campi che definiscono il cli/for) è la mail.
Ho importato nel DB il report dell'applicazione web nella tabella "ANAGR_DA_ELIM". Questa tabella contiene le mail risultate non più valide. Confronto tale tabella con la tabella "Anagrafiche" mediante il campo mail (che si chiama "EMAIL_PRINC" in Anagrafiche,
"ANAGR_DA_ELIM" nell'omonima tabella) mediante una query di selezione, "QS_ANAGR_DA_ELIM", in cui ho creato un join tra i due campi nelle rispettive tabelle. Ho portato il campo "EMAIL_PRINC" della tabella Anagrafiche nella griglia QBE, e il risultato della
query di selezione è corretto. Pensavo quindi di poter cancellare semplicemente i record estratti dalla query con un semplice CANC.. Access però me li cancella dalla tabella "ANAGR_DA_ELIM", ma non dalla "Anagrafiche".
Dove ho sbagliato / omesso? Il ragionamento che ho fatto mi sembra corretto, ma il risultato finale non lo è, quindi evidentemente sbaglio perchè non sono riuscito a indicare ad Access da dove voglio che mi cancelli i record.
Qui sotto il DB in questione.
https://1drv.ms/u/s!AtZa5okJIOVOht5UbhUkl4SCnaZXFA?e=twTdZe
Grazie per l'attenzione
P.S. Mi scuso anticipatamente se risulta una domanda banale o se non sono stato chiaro..
Alberto