Somma di campi DSum con maschere continue

di il
2 risposte

Somma di campi DSum con maschere continue

Buongiorno,
con access ho creato una maschera (maschera1) in formato "maschere continue" in modo da visualizzare tutti i servizi per il cliente scelto dove ho servizio e dataAcquisto, sempre in questa maschera1 per ogni servizio c'è un collegamento ad una seconda maschera (maschera2) in cui sono inseriti tutti gli utilizzi fatti (quindi ci sono n righe con qta e prezzo e il relativo totale).

Io voglio visualizzare nella maschera1 il totale complessivo ovvero la somma dei totali presenti nelle maschera2 di tutti i servizi.

maschera1(ID_m1,ID_Cliente*, servizio, dataAcquisto)
maschera2(ID_m2,ID_m1*, qta, prezzo, tot)
cliente(ID_Cliente,...)
*** le PK sono in grossetto e le FK sono in corsivo e con l'asterisco ***

Esempio:

maschera1 (elenco servizi) --> maschera2 (dettagli) utilizzo|utilizzo|utilizzo|...

Cliente=Pluto
servizio XXX --> qta=1 prezzo=15 tot=15 | qta=2 prezzo=10 tot=20 | qta=4 prezzo=15 tot=60
servizio ZZZ --> qta=5 prezzo=1 tot=5 | qta=3 prezzo=9 tot=27


Il risultato finale dovrebbe essere cosi:

maschera1 (elenco servizi) --> | maschera2 (dettagli)

Cliente=Pluto
servizio XXX --> qta=1 prezzo=15 tot=15 | qta=2 prezzo=10 tot=20 | qta=4 prezzo=15 tot=60
servizio ZZZ --> qta=5 prezzo=1 tot=5 | qta=3 prezzo=9 tot=27

TOTALE=127 questo dato dovrebbe stare in un piè di pagina maschera1


Non so se mi sono spiegata bene, in ogni caso ringrazio per i suggerimenti.

2 Risposte

  • Re: Somma di campi DSum con maschere continue

    Non si capisce la Struttura Relazionale che hai alla base di tutto.
    Posso ipotizzare, ma non ne sono affatto convinto, Maschera1--->Tabella1 e Maschera2--->Tabella2, dove Tabella2 è in relazione M con la Tabella1

    Tabella1(1)--->(M)Tabella2
    1 Servizio --- Molti Utilizzi

    Detto questo la regola vuole che le Tabelle siano relazionate con Chiavi Primarie, lato 1, e relative Chiavi Esterna, lato Molti.

    Devi creare un campo Calcolato nella Query di origine della Maschera1 che faccia il DSUM sulla Tabella2, sui records aventi ChiaveEsterna, la ChiavePrimaria della Tabella1.
    
    SommaTotaleT2=DSum("CampoPrezzoT2";"T2";"IdChiaveEsternaT2=" & [IdChiavePrimariaT1])
  • Re: Somma di campi DSum con maschere continue

    Grazie @Alex,
    alla fine facendo svariati tentativi sono riuscita a raggiungere il mio obiettivo creando una query di appoggio con la quale ho calcolato il totale della maschera2 che successivamente ho richiamato nella maschera1 tramite le chiavi utilizzando la formula DLookUp.

    grazie mille comunque per il suggerimento.
Devi accedere o registrarti per scrivere nel forum
2 risposte