Ho creato una maschera continua basata sul query FattureClienti dove elenco le fatture sia già anticipate che no e dove vorrei poter selezionare le fatture per cui voglio richiedere un nuovo anticipo.
I controlli della maschera sono:
Cliente,RagioneSociale,NumeroDocumento,DataDocumento,ImportoDocumento,DataScadenza,ImportoAnticipato,ContoBanca e la famigerata casella di controllo.
I primi campi fino a DataScadenza sono della tabella FattureAnticipo. ImportoAnticipato contiene la somma delle scadenze degli anticipi di quella fattura (AnticipiDettaglio) e ContoBanca lo legge da AnticipiTotale.
Nel piè di pagina ho messo un pulsante che se premuto deve richiamare un'altra maschera in cui verrà richiesto un nuovo anticipo in base alle fatture selezionate.
Il query FattureClienti legge le 3 tabelle (in realtà 4 perchè la RagioneSociale la leggo da as400).
In sql la query sarebbe:
SELECT WTK60DAT_CGPCO00F.DSCOCP as RagioneSociale, [Fatture anticipo].Importo AS ImportoDoc, [Fatture anticipo].NumeroDocumento, [Fatture anticipo].TipoDocumento, [Fatture anticipo].DataDocumento, [Fatture anticipo].DataScadenza , [Fatture anticipo].Cliente, Sum([Anticipi dettaglio].ImportoAnticipo) AS ImportoAnticipato, [Anticipi totale].ContoBanca, [Fatture anticipo].Anticipata
FROM ([Anticipi totale] RIGHT JOIN ([Fatture anticipo] LEFT JOIN WTK60DAT_CGPCO00F ON [Fatture anticipo].Cliente = WTK60DAT_CGPCO00F.CONTCP) ON [Anticipi totale].IDAnticipoTotale = [Fatture anticipo].IDAnticipoTotale) LEFT JOIN [Anticipi dettaglio] ON [Anticipi totale].IDAnticipoTotale = [Anticipi dettaglio].IDAnticipoTotale
GROUP BY WTK60DAT_CGPCO00F.DSCOCP, [Fatture anticipo].Importo, [Fatture anticipo].NumeroDocumento, [Fatture anticipo].TipoDocumento, [Fatture anticipo].DataDocumento, [Fatture anticipo].DataScadenza, [Fatture anticipo].Conto, [Anticipi totale].ContoBanca, [Fatture anticipo].Anticipata
HAVING ((([Fatture anticipo].TipoDocumento)="C"))
ORDER BY WTK60DAT_CGPCO00F.DSCOCP, [Fatture anticipo].NumeroDocumento;