Salve, ho provato a cercare tra le discussioni precedenti ma non ho trovato una soluzione adatta al mio "problemino" in Access 2010. Mi spiego.

Ho una tab_anagrafica (peraltro con parecchi omonimi) collegata tramite l'id del nominativo ad una tab_corrispondenza, in cui è inserita tutta la corrispondenza (ma vah? ) relativa a quel nominativo.

Vorrei creare un report nel quale devono essere visualizzati tutti i nominativi (con i tipici campi della tab_anagrafica) che ho già selezionato in precedenza, e solo l'ultima corrispondenza inviata (se esiste) relativa a quei nominativi.

________________________
Ho tentato diverse strade per arrivare ad una soluzione.

Ho creato una prima query per escludere i valori nulli nel campo data_istruttoria (perché la tabella corrispondenza funziona in entrata e in uscita, quindi c'è un campo data per la ricezione un altro campo data per l'invio, che ovviamente rimane vuoto in caso di corrispondenza ricevuta), e una seconda qry basata sulla prima per raggruppare i risultati visualizzando solo il valore Max del campo data_istruttoria per ogni nominativo. Questo almeno in teoria.
In realtà la seconda query non effettua un raggruppamento di valori selezionando soltanto il record che contiene il valore massimo della data, ma restituisce tutti i record della corrispondenza relativa a ciascun nominativo, compresi quelli in cui il campo della data è vuoto.

Ho provato anche ad agire direttamente nel report anziché tramite la query, raggruppando i nominativi per id anagrafica (per evitare che il report duplicasse i record della corrispondenza sommando anche quelli degli omonimi) e poi per cognome e nome concatenati, inserendo in questo sottogruppo una casella di testo con la formula

=Max([data_istruttoria])

ma inutilmente. A secondo di come modifico i ragguppamenti ottengo nessuna data o tutte le date della corrispondenza collegata.

Ho anche provato a inserire nella query collegata al report un campo calcolato di questo tipo:

data_istr_calcolata: IIf([tab_corrispondenza]![data_istruttoria]>=[tab_elenco]![data_elenco2];[tab_corrispondenza]![data_istruttoria]);

per selezionare soltanto i record della corrispondenza compresa in un intervallo di tempo uguale o superiore a quello della data del report (vale a dire data_elenco2).
Inutile dire che anche in questo caso non ho avuto successo.

Con le mie più che modeste conoscenze non riesco a inventarmi altro. Non so nemmeno se ho esposto abbastanza chiaramente il problema, ma a questo posso rimediare, basta chiedere.

Spero che qualcuno sia in grado di aiutarmi