Operazioni tra date

di il
2 risposte

Operazioni tra date

Salve a tutti
mi trovo di fronte a questo problema con ACCESS.
Ho realizzato una query che mi estrae dei dati in base ad un intervallo temporale digitato dall'utente su una maschera (data_iniziale - data_finale), ho la necessita di estrarre i dati non fino a \"data_finale\" ma fino a \"data_finale + 1\".
Per fare questo ho creato un campo nascosto nella maschera che vale \"data_finale + 1\"; se digito come data finale il 31/01/2007 non ho nessun problema perche nel campo nascostro ho 01/02/2007 il problema mi si crea se come data finale digito il 28/02/2007 a questo punto nel campo nascosto trovo il 29/02/2007 come faccio a fargli capire che è fine mese in modo da trovarmi nel campo nascosto il 01/03/2007?

Grazie a tutti per la pazienza

2 Risposte

  • Re: Operazioni tra date

    emilio ha scritto:


    salve a tutti
    mi trovo di fronte a questo problema con ACCESS.
    Ho realizzato una query che mi estrae dei dati in base ad un intervallo temporale digitato dall'utente su una maschera (data_iniziale - data_finale), ho la necessita di estrarre i dati non fino a "data_finale" ma fino a "data_finale + 1".
    Per fare questo ho creato un campo nascosto nella maschera che vale "data_finale + 1"; se digito come data finale il 31/01/2007 non ho nessun problema perche nel campo nascostro ho 01/02/2007 il problema mi si crea se come data finale digito il 28/02/2007 a questo punto nel campo nascosto trovo il 29/02/2007 come faccio a fargli capire che è fine mese in modo da trovarmi nel campo nascosto il 01/03/2007?

    Grazie a tutti per la pazienza

    Per sapere se il mese di febbraio è di 28 o di 29 giorni occorre
    individuare se l'anno da elaborare è bisestile.

    a tale scopo:
    dividere l'anno per 4 (esempio 2007 / 4 )
    se la divisione ha un resto l'anno non è bisestile (febbraio è di 28 giorni)
    se la divisione non ha resto l'anno è bisestile (febbraio ha 29 giorni).

    CCiao
  • Re: Operazioni tra date

    In teoria se utilizzi la funzione dateadd(\"d\",1, data_finale) dovrebbe tener conto dell'anno bisestile.
Devi accedere o registrarti per scrivere nel forum
2 risposte