Condividi tramite

access: query e somma progressiva

Anonimo
2012-06-19T18:07:01+00:00

Ciao a tutti,

ho una query con i campi: Data, Vendite prodottoA, Vendite ProdottoB, Totale (A+B) e  un campo con la seguente formula:

Incremento:DSum("[ProdottoA] + [ProdottoB]";"nomeTabella"";"Data<=" & CLng [Data]) per calcolare l'incremento giornaliero delle vendite.

Tutto funziona bene fino a quando non entra il nuovo anno (p.e. si passa dal 2011 al 2012)).

Giustamente l'incremento continua a salire mentre vorrei che ripartisse con il nuovo anno da 0 in modo tale da poter fare i confronti tra anno e anno..

Sarebbe ideale che un utente potesse inserire la data di inizio "somma incremento". Ho provato a filtrare sul campo Data inserendo [>2011] ma il campo incremento non segue il filtro e somma anche i dati dell'anno precedente.

Qualcuno sa come risolvere il problema?

Grazie

Sergio

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2012-06-20T09:19:04+00:00

Ciao Sergio,

sì, è una mia svista, l'intefaccia grafica della query lavora secondo la localizzazione del sistema operativo.

Cambia la formula così:

DSum("[ProdottoA] + [ProdottoB]";"nomeTabella"";"Data<=" & Clng(DateAdd('aaaa';-1;[Data])) & " AND Year(Data)=" & Year([Data])-1)

in pratica al posto di 'yyyy' metti 'aaaa'

Ciao

Giorgio Rancati

La risposta è stata utile?

0 commenti Nessun commento

5 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2012-06-20T08:53:06+00:00

    Ciao Giorgio,

    ho provato subito la tua formula (sono due settimane che sono dietro a trovare queste soluzioni senza successo), ma ora mi da un errore di questo tipo:

    #Funz!

    Ho provato a riguardare la formula e ho notato che in automatico va a modificare la parte

    Clng(DateAdd('yyyy';-1;[Data]))

    trasformandola in

    ' " yyyy" ( lascia un singolo apice all'inzio ma lo toglie alla fine e aggiunge i doppi apici)

     Ho provato a sostituire il singolo apice con il doppio ma me li triplica dandomi lo stesso errore.

    Sai dirmi dove sbaglio?

    Grazie per la pazienza.

    Sergio

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2012-06-20T07:17:45+00:00

    Ciao Sergio,

    inserisci la stessa formula in un altro campo e togli 1 anno.

    DSum("[ProdottoA] + [ProdottoB]";"nomeTabella"";"Data<=" & Clng(DateAdd('yyyy';-1;[Data])) & " AND Year(Data)=" & Year([Data])-1)

    Ciao

    Giorgio Rancati

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2012-06-20T05:25:16+00:00

    Ciao Giorgio,

    Perfetto, funziona ottimamente.

    Ora si pone un problema  conseguente.

    La query in esame calcola ilt totale progressivo giornaliero delle vendite divise per anno(attualmente ho dati dal 2009 ad oggi)

    Ora dovrei confrontare l'incremento delle  vendite giornaliere dell'anno in corso con quello precedente, per valutare le perdite o i guadagni riferiti allo stesso periodo.

    Hai una soluzione su come possa scrivere un'espressione per confrontare gli incrementi ?

    Grazie

    Sergio

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2012-06-19T18:54:14+00:00

    Ciao Sergio,

    per l'anno puoi fare così:

    DSum("[ProdottoA] + [ProdottoB]";"nomeTabella"";"Data<=" & CLng [Data] & " AND Year(Data)=" & Year([Data]))

    se ho capito cosa vuoi ottenere

    :-)

    Ciao

    Giorgio Rancati

    La risposta è stata utile?

    0 commenti Nessun commento