Saldo progressivo

di il
12 risposte

Saldo progressivo

Buongiorno,

in una query ho i seguenti campi:
competenza: formato data
dare: valuta
avere: valuta
saldo gg: dato dalla seguente espressione:
SALDO GG: Somma(Nz([Avere];0)-Nz([DARE];0))
a questo punto per calcolare il saldo progressivo vorrei mettere espressione del tipo
saldo progr: saldo gg-1 + entrate - uscite
Non mi viene !!! aiutino ??
i campi sono ordinati per competenza (data)

Grrraaazzziiieee

12 Risposte

  • Re: Saldo progressivo

    MARCO70 ha scritto:


    ...
    a questo punto per calcolare il saldo progressivo vorrei mettere espressione del tipo
    saldo progr: saldo gg-1 + entrate - uscite
    aiutino ??
    "aiutino"? non l'hanno vietata anche nei quiz alla tele questa parola?
    Guarda qui Creazione di una query di totali parziali in Microsoft Access
  • Re: Saldo progressivo

    Come no l'aiuto da casa c'è sempre.
    Phil non ne vengo fuori dal link che mi hai postato.
    non ti viene in mente altro?
    e con vba in un report? cosa ne dici?
  • Re: Saldo progressivo

    Ho provato questa:
    Espr1: DLookUp("[Avere]-[Dare]";"tbl_mov";"[competenza]=" & [competenza]-1)
    ma perchè non da risultato?
  • Re: Saldo progressivo

    Ho provato anche questa:
    
    Espr2: DSum("nz(avere)-(dare)";"tbl_mov";"id <=" & [id])
    sinceramente non mi torna neanche come è scritta, però i problemi sono 2:
    1-mi somma solo dare
    2- è ordinata epr ID, a me sefve per data. Quando ci metto competenza sballa tutto
  • Re: Saldo progressivo

    Di questa cosa ne pensate:
    =DSum("[saldo gg]";"Q_saldo_mov";"[competenza]<=" & CLng([competenza]))
    ma non funziona
  • Re: Saldo progressivo

    MARCO70 ha scritto:


    Di questa cosa ne pensate:
    =DSum("[saldo gg]";"Q_saldo_mov";"[competenza]<=" & CLng([competenza]))
    ma non funziona
    Ci siamo quasi. Vai a ripassare come si scrivono i criteri con DSum quando si tratta di una data.

    MARCO70 ha scritto:


    ...
    e con vba in un report? cosa ne dici?
    E' tutta un'altra cosa. I report hanno apposite funzioni di somma parziale-progressiva, già nella procedura guidata di creazione. E se anche non ci riesci al primo colpo con la procedura guidata, ci si riesce sicuramente, anche se può non essere così immediato. Se ti interessa la stampa usa quella, non il progressivo sulla query.
  • Re: Saldo progressivo

    Buongiorno,

    Phil per favore mi puoi postare un link dove mi spiegano la sintassi per le date con Dsum.
    Quando ci avrò capito qualcosa correggo
    =DSum("[saldo gg]";"Q_saldo_mov";"[competenza]<=" & CLng([competenza]))
    Nel frattempo però ho anche ripreso il primo tuo suggerimento, costruendo i seguenti campi:
    AYear: DatePart("aaaa";[competenza])
    AMonth: DatePart("m";[competenza])
    ADay: DatePart("g";[competenza])
    RunTot: DSum("[saldo gg]";"Q_SALDO_MOV";"DatePart('m'; [competenza])<=" & [AMonth] & "And DatePart('aaaa'; [competenza])<=" & [AYear] & "And DatePart('g'; [competenza])<=" & [ADay] & "")
    
    AYear-Month e Day funzionano
    Runtot se mi fermo a DSum("[saldo gg]";"Q_SALDO_MOV") funziona dandomi il saldo totale finale su tutti i record
    Come al solito il problema è nei criteri; quindi penso valga quanto ho detto all'inizio. Dove lo posso studiare?

    Grazie mille
  • Re: Saldo progressivo

    MARCO70 ha scritto:


    ...
    Phil per favore mi puoi postare un link dove mi spiegano la sintassi per le date con Dsum.
    ...
    Come al solito il problema è nei criteri; quindi penso valga quanto ho detto all'inizio. Dove lo posso studiare
    Non sei lo stesso MARCO70 di questo thread?
    https://www.iprogrammatori.it/forum-programmazione/access/somma-query-maschera-t28220.html
    Guarda il mio intervento https://www.iprogrammatori.it/forum-programmazione/access/somma-query-maschera-t28220.html#p8558978
  • Re: Saldo progressivo

    Buon pomeriggio,

    si sono lo stesso MARCO70
    Ti dico la verità, ero andato a vedere il link che mi avevi postato a suo tempo ma in modo molto superficiale.
    Dopo la tua ultima risposta l'ho riletto bene ed ho partorito:
    RunTot: DSum("[saldo gg]";"Q_SALDO_MOV";" DatePart('aaaa'; [competenza])<=#" & [AYear] & "# ")
    ho ridotto ad 1 solo criterio per non sommare eventuali errori, AND lo vedrò dopo.
    Non funziona, secondo voi? non sarà che la funziona DatePart('aaaa'; [competenza])<= rispetto ad un singolo campo richieda una sintassi diversa? nel sito non ho trovato questo caso.
    Altra domanda, il sito microsoft adattato al mio caso è:
    RunTot: DSum("[saldo gg]";"Q_SALDO_MOV";"DatePart('g'; [competenza])<=" & [ADay] & " AND DatePart('m'; [competenza])<=" & [AMonth] & " AND DatePart('aaaa'; [competenza])<=" & [AYear] & "")
    com'è possibile che anche il codice microsoft non funzioni?
    Grazie
  • Re: Saldo progressivo

    MARCO70 ha scritto:


    ...
    Dopo la tua ultima risposta l'ho riletto bene ed ho partorito:
    RunTot: DSum("[saldo gg]";"Q_SALDO_MOV";" DatePart('aaaa'; [competenza])<=#" & [AYear] & "# ")
    ...
    RunTot: DSum("[saldo gg]";"Q_SALDO_MOV";"DatePart('g'; [competenza])<=" & [ADay] & " AND DatePart('m'; [competenza])<=" & [AMonth] & " AND DatePart('aaaa'; [competenza])<=" & [AYear] & "")
    Quanta confusione hai in testa.
    Allora siamo partiti parlando di date e intendevo date complete (perché esistono anche date incomplete?) cioè formate da giorno/mese/anno.
    Se fai la ricerca solo per anno, come nel tuo primo codice qui sopra, si tratta di una ricerca "normale" con un criterio numerico, quindi senza necessità di particolari caratteri di delimitazione ulteriori. E' ovvio che al posto di [AYear] devi mettere qualcosa che sia un anno.
    RunTot: DSum("[saldo gg]";"Q_SALDO_MOV";" DatePart('aaaa'; [competenza])<=" & [AYear])
    Se vuoi fare la ricerca per data completa non serve tutta quella trafila di roba, devi prendere confidenza con le date in access - italiano/inglese
    Dovrebbe bastare
    DSum("[saldo gg]";"Q_SALDO_MOV";" [competenza] <=#" & Format$([competenza]; "mm/gg/aaaa") & "#")
    Sono andato a superintuito, potrebbero esserci spazi da sistemare, qualche puntoevirgola mancante e simili.
  • Re: Saldo progressivo

    Sono depresso, non riesco a venirne fuori.
    Ho provato le ultime formule suggerite senza risultati utili allora sono ripartito dalla più semplice ma anche questa non funziona. Non è che c'è un errore fuori dalla formula?
    Nel file in allegato invio stampa video risultati query, come mai non mi somma le date?
    poi metto il dettaglio dei campi
    e infine riporto le formule usate
    SALDO GG: Somma(Nz([Avere];0)-Nz([DARE];0))
    funziona
    AYear: DatePart("aaaa";[competenza])
    funziona
    AMonth: DatePart("m";[competenza])
    funziona
    ADay: DatePart("g";[competenza])
    funziona
    Espr1: DSum("[saldo gg]";"Q_SALDO_MOV")
    funziona
    Espr2: DSum("[saldo gg]";"Q_SALDO_MOV";"DatePart('aaaa';[competenza])<=" & [AYear])
    cribbio non funziona, ma è semplicissima e la sintassi mi sembra corretta
    che faccio mi suicido o mi arrendo?
    Allegati:
    19437_e8cb0bda6f2662f8fbb3aa7f913f5a99.docx
    19437_e8cb0bda6f2662f8fbb3aa7f913f5a99.docx
  • Re: Saldo progressivo

    Salve,

    dopo giorni di prove sono giunto al seguente risultato:
    Query con i seguenti campi:
    competenza data
    SALDOGG: Somma(Nz([Avere];0)-Nz([DARE];0)) espressione
    Espr1: DSum("[saldo gg]";"q_saldo_mov";"[competenza]<=" & CLng([competenza])) calcola il saldo progressivo.
    A parte che ci mette 1 minuto per calcolare 2000 record poi se chiudo e riapro mi da errore sconosciuto.
    Mi arrendo, ho risolto il problema con un report con somma parziale su gruppo. Ora ho un'altro problema ma apro un nuovo thread !!!

    grazie a Phil Osvaldo
Devi accedere o registrarti per scrivere nel forum
12 risposte