Grazie Oregon
la tabella dei corsi è presente, mi serve anche per vincolare chi inserisce i dati a nomi predeterminati ed impedire l'inserimento di dati “di fantasia”.
ho anche una tabella DUMMYCORSOFRUITO che svuoto e popolo via VBA ad ogni chiamata del corso da ricercare, tabella che poi confronto con CORSIFRUITI
l'associazione utente-corso la eseguo direttamente sulla tabella CORSIFRUITI relazionata con l'anagrafica
concordo che la normalizzazione non va bene in quanto e in effetti, pur avendo la tabella dei corsi, ripeto la descrizione, ma questo mi ha semplificato la vita in altre parti del programma.
la query la eseguo tra le tabelle CORSI FRUITI e DUMMYCORSI tirandomi dietro l'anagrafica per recuperare, subito, i nomi:
SELECT tblCorsiFruiti.idCorsiFruiti, tblCorsiFruiti.idAnagrafica, tblAnagrafica.Cognome, tblAnagrafica.Nome, tblCorsiFruiti.Descrizione
FROM tblAnagrafica INNER JOIN (tblCorsiFruiti LEFT JOIN tblDummyCorso ON tblCorsiFruiti.[Descrizione] = tblDummyCorso.[Corso]) ON tblAnagrafica.IdAnagrafica = tblCorsiFruiti.idAnagrafica
WHERE (((tblDummyCorso.Corso) Is Null));
Seguo il tuo consiglio di creare la tabella con l'associazione utente-corso per vedere se ne esco