Ciao a tutti, ho creato un database con access 2003 con diverse maschere e diverse tabelle

Una maschera ha delle caselle che in parte sono basate su una tabella e in parte su altre tabelle tramite controlli non associati per i quali ho inserito un istruzione sql in origine riga

Vorrei che i dati che popolano le caselle con controllo non associato nella maschera vengano memorizzati in appositi campi della tabella cui è associata la maschera

Ho provato ad aggiungere l' istruzione sql dell' origine riga di una casella nella maschera in un campo creato nella tabella e successivamente ho modificato l' origine controllo della casella della maschera da nessuno al campo appena creato.

Il risultato è stato un blocco del database per memoria insufficiente

L' istruzione sql è
codice:
SELECT DISTINCTROW TB_Tipo_Collaboratore.ID_Collaboratore, TB_Tipo_Collaboratore.Tipo_Collaboratore, TB_Storico_Compensi.Cognome_Nome, TB_Storico_Compensi.Tipo_Collaboratore, TB_Collaboratori.Cognome_Nome, TB_Tipi_Contratto.ID_Contratto_Lavoro, TB_Tipi_Contratto.Tipo_Contratto_Lavoro, TB_Collaboratori.ID_Collaboratori, TB_Storico_Compensi.Accordo_Corrente FROM TB_Collaboratori INNER JOIN (TB_Tipi_Contratto INNER JOIN (TB_Tipo_Collaboratore INNER JOIN TB_Storico_Compensi ON TB_Tipo_Collaboratore.ID_Collaboratore=TB_Storico_Compensi.Tipo_Collaboratore) ON TB_Tipi_Contratto.ID_Contratto_Lavoro=TB_Storico_Compensi.Tipo_Contratto_Lavoro) ON TB_Collaboratori.ID_Collaboratori=TB_Storico_Compensi.Cognome_Nome WHERE (((TB_Tipi_Contratto.Tipo_Contratto_Lavoro)=Forms!Calcolo_Costi!Testo78) And ((TB_Collaboratori.ID_Collaboratori)=Forms!Calcolo_Costi!Nom_Collab) And ((TB_Storico_Compensi.Accordo_Corrente)=True)) ORDER BY TB_Tipo_Collaboratore.Tipo_Collaboratore;
Penso che il problema sia nella condizione where che ha riferimenti alla caselle della maschera

Qualche suggerimento?