Grazie eddy il codice non mi da errore di sintassi però non funziona lo stesso.
Ricapitolo il problema: Ho creato una maschera chiamata "Allenamento" e 2 sottomaschere chiamate "AllenamentoDettagli" e "AllenamentoEsercizi" ovviamente l'una correlata all'altra. in "Allenamento" è presente l'ID_Atleta e a questa è correlata la maschera "AllenamentoDettagli" nella quale sono presenti le date dei vari allenamenti e dei filtri per data che mi restituiscono gli esercizi nell'intervallo di date da me scelto. Selezionando quindi una data tra quelle presenti ci si sposta nella seconda sottomaschera "AllenamentoEsercizi" nella quale ci sono tutti i record relativi all'allenamento come ad esempio l'"esercizio", "numero di serie", "Ripetizioni", "Peso", ecc... Per ogni giorno di allenamento ho poi un record dove viene salvato il Tonnellaggio, cioè la somma di tutti i pesi sollevati in quel giorno di allenamento. Adesso ho necessità di ampliare questo "Tonnellaggio" e avere una casella di testo nella sottomaschera "AllenamentoDettagli" (quella con le date) che mi restituisca il tonnellaggio totale dell'atleta selezionato nell'intervallo di date scelto. Ho creato una query che ho chiamato "TonnellagioTotale" nella quale ho inserito "id_Atleta" , la "Data" e il "PesoLavoro" e da li riesco ad ottenere quello di cui ho bisogno, mi basta impostare nei criteri l'id dell'atleta e l'intervallo di date e ottengo la somma da me voluta. Da questa query ho estrapolato il codice SQL (ovviamente ho inserito 2 date a caso):
SELECT Allenamento.id_Atleta, AllenamentoDettagli.Data, AllenamentoEsercizi.PesoLavoro
FROM (Allenamento INNER JOIN AllenamentoDettagli ON Allenamento.ID_Allenamento = AllenamentoDettagli.id_Allenamento) INNER JOIN AllenamentoEsercizi ON AllenamentoDettagli.ID_AllenamentoDettagli = AllenamentoEsercizi.id_AllenamentoDettagli
GROUP BY Allenamento.id_Atleta, AllenamentoDettagli.Data, AllenamentoEsercizi.PesoLavoro
HAVING (((Allenamento.id_Atleta)=13) AND ((AllenamentoDettagli.Data)>=#1/1/2022# And (AllenamentoDettagli.Data)<=#3/30/2022#));
Avrei bisogno di riportare questo codice come funzione DSum, se come criterio mi limito a selezionare l'ID_Atleta, tutto funziona alla perfezione (=DSum("PesoLavoro";"TonnellaggioTotale";"id_Atleta=" & [txtIdAtleta])
ma se considero le date non funziona più. L'intervallo di date è quello che imposto nel filtro i cui valori sono inseriti nelle due caselle di testo txtDataInizio e txtDataFinale.
Ho cercato di essere il più chiaro possibile, grazie a chi proverà a darmi una mano.