Calcolo ultimo giorno del mese

di il
5 risposte

Calcolo ultimo giorno del mese

Salve a tutti, Access 2013. il mio quesito è il seguente, avendo il campo [Data] in un report, mi occorre introdurre una casella di testo che mi restituisca l'ultimo giorno del mese in cui cade la data.
Ad esempio se [data] è 04/02/2015 vorrei che la casella di testo mi restituisse 28/02/2015.

Ho provato a risolvere con dateadd :
casella di testo: =(format$(("01/" & (format$(DateAdd("m", 1, [data]);"mm/aaaa")));"gg/mm/aaaa"))-1

In sintesi se la data è 04/02/2015 aggiungo un mese e formatto "mese/anno" quindi ottengo 03/2015 poi aggiungo 01 e ottengo 01/03/2015 poi sottraggo un giorno e dovrei ottenere 28/02/2015.
In realtà la casella di testo mi restituisce #tipo? Già al primo dateadd o datediff.

Esiste una funzione più semplice che mi restituisca il valore desiderato? Devo forse calcolarlo nella query che dà origine al report? In realtà a me serve solo stamparlo nel report. Attualmente ho il campo =[data fine] che mi permette di digitare il valore attraverso una finestra di dialogo, ma essendo riferito a un valore certo già presente, cioè [data] vorrei automatizzare la digitazione.

Grazie per l'attenzione.

5 Risposte

  • Re: Calcolo ultimo giorno del mese

    Vedi questo articolo:
  • Re: Calcolo ultimo giorno del mese

    Gentilissimo Alex,
    grazie per l'indicazione. Sono riuscito risolvere il problema:

    la soluzione era concettualmente simile a quella che avevo ipotizzato (primo giorno del mese successivo - 1), mi mancava la funzione dateserial:

    ultimo giorno =(DateSerial((Format$([Data];"aaaa"));(Format$([Data];"mm"))+1;1))-1
  • Re: Calcolo ultimo giorno del mese

    Ho trovato altre 2 soluzioni al quesito, sostanzialmente uguali, la prima forse formalmente più corretta:

    ultimo giorno=(DateSerial((Format$([Data];"aaaa"));(Format$([Data];"mm"))+1;1-1))


    ultimo giorno=DateSerial(Format$((DateAdd("m";1;[Data]));"aaaa");Format$((DateAdd("m";1;[Data]));"mm");1-1)
  • Re: Calcolo ultimo giorno del mese

    Buongiorno a tutti
    io ho un problema simile, ma anche perchè sono novello in questo campo
    vengo al dunque, sostanzialmente lavoro su 3 campi:
    TXTGIORNI che corrisponde ai giorni di pagamento fattura, che variano dai 15 ai 150
    DATA_FATTURA che corrisponde alla data di inserimento della fattura
    SCADENZA che appunto è DATA_FATTURA + TXTGIORNI
    che ottengo tramite questa formula:

    Private Sub DATA_FATTURA_AfterUpdate()
    Dim gg As Integer
    gg = [TXTGIORNI]
    [SCADENZA] = [DATA_FATTURA] + gg

    il problema è che mi calcola giusto, ma io dovrei andare al fine mese del calcolo fatto, esempio: se la data in SCADENZA mostra 12/08/2019, in automatico in quel campo o in un altro non sarebbe un problema, mi mostri la data 31/08/2019
    ringrazio anticipatamente chi mi aiuterà e spero di essermi spiegato abbastanza chiaramente, ricordo che sono novello e alcuni termini tecnici potrei non capirli
  • Re: Calcolo ultimo giorno del mese

    Prima cosa, novello o meno, devi leggere il REGOLAMENTO, è obbligatorio e non servono particolari capacità Tecniche.
    Se lo avessi fatto avresti evitato la Violazione del PUNTO 3.
    Quindi Apri un Nuovo 3D nel quale se serve metterai un LINK a questo.

    Detto ciò, questo è un Forum Tecnico, quindi sarai tu a darti da fare per entrare nella Logica, e questo è il motivo per cui sono richieste conoscenze di Base, non viceversa.
Devi accedere o registrarti per scrivere nel forum
5 risposte