Snellire codice

di Anonimizzato28083 il
4 risposte
Buonasera tutti,
ho scritto queste semplici righe in VBA per calcolare dei totali di fatture mese per mese, e per quel poco che deve funziona.

però mi accorgo che è ridondante e lungo, e vorrei per migliorarlo e migliorarmi capire come snellirlo, ho provato a ragionarci, ma sicuramente per inesperienza non so come approcciarlo.

Avete suggerimenti?

grazie
Febbraio2019 = DSum("totalefattura", "fatture", "[datafattura] >=#02/01/2019# and [datafattura] <= #02/28/2019#")
Marzo2019 = DSum("totalefattura", "fatture", "[datafattura] >=#03/01/2019# and [datafattura] <= #03/31/2019#")
Aprile2019 = DSum("totalefattura", "fatture", "[datafattura] >=#04/01/2019# and [datafattura] <= #04/30/2019#")
Maggio2019 = DSum("totalefattura", "fatture", "[datafattura] >=#05/01/2019# and [datafattura] <= #05/31/2019#")
Giugno2019 = DSum("totalefattura", "fatture", "[datafattura] >=#06/01/2019# and [datafattura] <= #06/30/2019#")
Luglio2019 = DSum("totalefattura", "fatture", "[datafattura] >=#07/01/2019# and [datafattura] <= #07/31/2019#")
Agosto2019 = DSum("totalefattura", "fatture", "[datafattura] >=#08/01/2019# and [datafattura] <= #08/31/2019#")
Settembre2019 = DSum("totalefattura", "fatture", "[datafattura] >=#09/01/2019# and [datafattura] <= #09/30/2019#")

4 Risposte

  • Una query raggruppata su Mese/Anno con campo Totale dato da Somma(totalefattura).
    Con questa query crei una form maschere continue e la usi come subform se necessario.
  • Ti ringrazio,
    una cosa del genere? mi pare funzionare bene, anche l'idea delle sottomaschere
    SELECT Sum(Fatture.TotaleFattura) AS SommaDiTotaleFattura, Month([datafattura]) AS Espr1, Year([datafattura]) AS Espr2
    FROM Fatture
    GROUP BY Month([datafattura]), Year([datafattura])
    HAVING (((Year([datafattura]))=2019))
    ORDER BY Month([datafattura]), Year([datafattura]);
  • Potrei riscontrare un problema con questa metodica, supponendo che un mese non ci siano fatture in quel caso quella sottomaschera avrebbe una riga in meno, sarebbe possibile aggiungere una variabile per cui se le fatture non ci sono, appaia 0€ in quel mese.
    dovrei aggiungere un IIF? non saprei come muovermi

    grazie mille
  • Salve,
    Dubito, basandosi la query sulla data Fattura, che si possa estrapolare il mese da una data inesistente per cui la soluzione che mi viene, buttata lì, è la creazione di una tab di appoggio, costituita da 12 record, da azzerare ed aggiornare opportunamente.
    Saluti
    Gianni
Devi accedere o registrarti per scrivere nel forum
4 risposte