Tehnika Krstarice > Programiranje > VBA - Složenije datumske funkcije

VBA - Složenije datumske funkcije

09.02.2001.

Kada budete razvijali Office aplikacije, pogotovo vezane za Access i Excel, sigurno će vam zatrebati funkcije za rad sa datumima. Pored ugrađenih datumskih funkcija, a na osnovu njih, možemo izgraditi mnoštvo nama prilagođenih procedura i funkcija za rad sa datumima. Kao primer onog što možete napraviti od postojećih funkcija, predstavićemo vam nekoliko izvedenih funkcija koje će vam pomoći u radu, i možda vam dati ideju za neke složenije procedure.

U prvoj funkciji ćemo videti kako možemo dobiti, recimo datum prvog dana u mesecu u odnosu na tekući ili ulazni datum:

Function PrviUMesecu(UlazniDatum As Date)
Dim D As Integer, M As Integer, G As Integer

    If IsNull(UlazniDatum) Then
        PrviUMesecu = Null
    Else
        D = Day(UlazniDatum)
        M = Month(UlazniDatum)
        G = Year(UlazniDatum)
        PrviUMesecu = DateSerial(G, M, 1)
    End If
End Function

Sledeća funkcija vraća poslednji datum u mesecu, u odnosu na ulazni datum:

Function PoslednjiUMesecu(UlazniDatum As Date)
Dim D As Integer, M As Integer, G As Integer

    If IsNull(UlazniDatum) Then
        PoslednjiUMesecu = Null
    Else
        D = Day(UlazniDatum)
        M = Month(UlazniDatum)
        G = Year(UlazniDatum)
        'pronalazimo pocetni datum sledeceg meseca,
        'a onda vracamo jedan dan
        PoslednjiUMesecu = DateAdd("m", 1, DateSerial(G, M, 1)) - 1
    End If
End Function

A evo kako može da izgleda funkcija koja vraća isti dan u sledećem mesecu (odnosno prethodnom), u odnosu na tekući (ulazni datum):

Function SledeciMesec(UlazniDatum As Date)
    SledeciMesec = DateAdd("m", 1, UlazniDatum)
End Function

Function PrethodniMesec(UlazniDatum As Date)
   PrethodniMesec = DateAdd("m", -1, UlazniDatum)
End Function

Preporučite ovaj članak

1.00 (glasova: 1)