Buongiorno a tutti,
qui ci sono dei Maestri, ecco perchè spero di essere fortunato e di ricevere attenzione :)
Ms Access 2007, Windows 10
Devo correlare fra loro due tabelle con campi similari, riferite a una terza tabella con il campo chiave, per ottenere una vista complessiva che tenga conto di eventuali valori Null dove i dati non sono correlati. Chissà se si può fare.
Il contesto: un piccolo gestionale dove ricevo e registro dei documenti, poi li smisto agli utenti (assegnando la pratica) e li invio via mail. Le informazioni registrate sono nominativo e data di assegnazione/smistamento, nominativo e data di trasmissione mail. Le tabelle coinvolte sono tre:
- tabella dei documenti (qui interessa l'id del documento sottoposto alle operazioni di assegnazione/smistamento e trasmissione)
- tabella dello smistamento (contiene id del documento cui è correlata, data e nome dell'assegnatario)
- tabella della mailbox (contiene id del documento cui è correlata, data e nome del destinatario mail)
Vorrei una vista che, dato uno specifico id documento, per ogni nominativo mi mostri in una colonna la data di smistamento e in un'altra colonna la data di trasmissione mail. Sempre se esistono.
tabella documenti
id_doc | oggetto | thumbnail |
---|
1000 | … | … |
tabella smistamento
id_doc | nominativo | data |
---|
1000 | topolino | 10/07/2024 |
1000 | pluto | 15/07/2024 |
tabella mailbox
id_doc | nominativo | data |
---|
1000 | topolino | 10/07/2024 |
1000 | papeirno | 10/07/2024 |
Vorrei il risultato seguente:
Per id doc = 1000:
nominativo | data smistamento | data trasmissione mail |
---|
topolino | 10/07/2024 | 10/07/2024 |
paperino | | 10/07/2024 |
pluto | 15/07/2024 | |
Io non ci sono riuscito. Il massimo che sono riuscito a fare è una query che fonde in una colonna smistamento e mailbox, distinguendo nel dato se trattasi di (S)mistamento o (M)ailbox:
select nominativo, 'S: ' & data as movimento
from tbsmistamento
where dataproteusid = 1000
union all
select destinatario, 'M: ' & data as movimento
from tbmailbox
where dataproteusid = 1000
nominativo | movimento |
---|
Topolino | S: 15/07/2024 |
Pluto | S: 15/07/2024 |
Topolino | M: 10/07/2024 |
Paperino | M: 15/07/2024 |
Q1Altri tentativi orribili e infruttuosi, che coinvolgono alcuni Join, mi vergogno a pubblicarli. Comunque non ottengo il risultato voluto. Risultato che poi mi serve per scorrere il recordset risultante e sistemare i dati in modo coerente dentro una Listview che… ma questo so farlo :)
In conclusione, se avete avuto la pazienza di arrivare fin qui, grazie in anticipo a chi può o vuole darmi un'indicazione (sempre se si può fare).