Una famiglia di sistemi di gestione per database relazionali di Microsoft progettati per semplificare l'uso.
ciao Andrea,
nel mio esempio ho considerato solamente passaggio del tipo cliente da privato a professionista.
Inoltre ho storicizzato un altro cliente per prova, ma il tipo cliente rientra comunque tra quelli per i quali i libri contabili devono essere gestiti :
quindi con il seguente statement estraggo tutti i cliente che hanno libri contabili da gestire :
SELECT [Elenco clienti].[ID_tipo cliente], [Elenco clienti].[ID_tipo contabilità], [Elenco clienti].ID_contabilità, [Elenco clienti].CDA, Null AS anno, [Elenco clienti].[ID_Elenco clienti]
FROM
[Elenco clienti]
INNER JOIN
[Libri contabili per cliente] ON [Elenco clienti].[ID_tipo cliente] = [Libri contabili per cliente].[ID_tipo cliente];
118 righe,
con il seguente invece tutti gli storici che hanno libri contabili da gestire nell'anno precedente a quello attuale escludendo il tipo cliente 7 ( i privati):
SELECT [Elenco clienti dati storici].[ID_tipo cliente], [Elenco clienti].[ID_tipo contabilità], [Elenco clienti].ID_contabilità, [Elenco clienti].CDA, Year([Elenco clienti dati storici].[Modifica dal]) AS anno, [Elenco clienti].[ID_Elenco clienti]
FROM
[Elenco clienti]
INNER JOIN
[Elenco clienti dati storici] ON [Elenco clienti].[ID_Elenco clienti] = [Elenco clienti dati storici].[ID_Elenco clienti]
WHERE
[Elenco clienti dati storici].[ID_tipo cliente]<>7 AND Year([Elenco clienti dati storici].[Modifica dal])=Year(Date())-1;
1 riga.
unisco le due query con una union all ed ottengo la lista completa :
SELECT [Elenco clienti].[ID_tipo cliente], [Elenco clienti].[ID_tipo contabilità], [Elenco clienti].ID_contabilità, [Elenco clienti].CDA, Null AS anno, [Elenco clienti].[ID_Elenco clienti]
FROM
[Elenco clienti]
INNER JOIN
[Libri contabili per cliente] ON [Elenco clienti].[ID_tipo cliente] = [Libri contabili per cliente].[ID_tipo cliente];
UNION ALL
SELECT [Elenco clienti dati storici].[ID_tipo cliente], [Elenco clienti].[ID_tipo contabilità], [Elenco clienti].ID_contabilità, [Elenco clienti].CDA, Year([Elenco clienti dati storici].[Modifica dal]) AS anno, [Elenco clienti].[ID_Elenco clienti]
FROM
[Elenco clienti]
INNER JOIN
[Elenco clienti dati storici] ON [Elenco clienti].[ID_Elenco clienti] = [Elenco clienti dati storici].[ID_Elenco clienti]
WHERE
[Elenco clienti dati storici].[ID_tipo cliente]<>7 AND Year([Elenco clienti dati storici].[Modifica dal])=Year(Date())-1;
119 righe
...non sono certo di aver capito al 100%....ma intanto vedi se questo può aiutarti...altrimenti....posta!
ciao, Sandro.