Support http://amicus.ba with small donation

Ako je na neki datum potrebno dodati određeni broj dana, mjeseci ili godina onda se koristi funkcija DateAdd.

Prije svega potrebno je deklarisati varijablu koja će sadržavati datum na koji se dodaje dan, mjesec ili godina kao i varijablu koja će sadržavati novi datum.

'Deklaracije varijabli

Dim dtTrenutniDatum As Date, dtNoviDatum As Date

'Uzimanje i formatiranje trenutnog datuma

dtTrenutniDatum= Format(Date, "dd/mm/yyyy") '01/09/2016

'Dodavanje 7 dana na trenutni datum

dtNoviDatum = DateAdd("d", 7, dtTrenutniDatum) '08/09/2016

Parametar "d" (interval) u DateAdd funkciji određuje da se dodavanje vrši na dane. Zbog toga će, u slučaju da se dodavanjem dana prelazi u sljedeći mjesec, novi datum biti ispravno izračunat.

Sintaksa DateAdd funkcije je sljedeća:

DateAdd("interval", iznos, DatumNaKojiSeDodaje)

Za interval je moguće koristti sljedeće stringove:

yyyy    – dodavanje godina

q          – dodavanje četvrtina godine (po 3 mjeseca odjednom)

m         – dodavanje mjeseci

y          – dodavanje dana u godini

d          – dodavanje dana

w         – dodavanje dana u sedmici

ww      – dodavanje sedmica (po 7 dana odjednom)

h          – dodavanje sati

n          – dodavanje minuta

s          – dodavanje sekundi

Iznos je broj navedenih intervala koji će biti dodani, a DatumNaKojiSeDodaje je datum na koji će biti dodani navedeni intervali.

Ako je iznos pozitivan broj, datum se pomijera unaprijed a ako je negativan pomijera se unazad.

Primjer upotrebe DateAdd funkcije je setovanje drugog i trećeg kalendara za 7 i 14 dana respektivno, nakon izbora datuma na prvom kalendaru.

'Setovanje kalendara

calDatumNarudzbe.Value = Format(Date, "dd/mm/yyyy")

'Pomicanje datuma farbanja za 7 dana

dtDatumNarudzbe = calDatumNarudzbe.Value

dtDatumFarbanja = DateAdd("d", 7, dtDatumNarudzbe)

calDatumFarbanja.Value = Format(dtDatumFarbanja, "dd/mm/yyyy")

'Pomicanje datuma dobave za 14 dana u odnosu na datum narudžbe

dtDatumDobave = DateAdd("d", 14, dtDatumNarudzbe)

calDatumDobave.Value = Format(dtDatumDobave, "dd/mm/yyyy")

calDatumNarudzbe, calDatumFarbanja i calDatumDobave su imena DatePicker kontrola na formi, dok su dtDatumNarudzbe, dtDatumFarbanja i dtDatumDobave varijable tipa Date deklarisane prije upotrebe.

Nakon izvršavanja ovog kôda će prvi kalendar biti podešen na trenutni datum, drugi na datum 7 dana poslije trenutnog i treći kalendar na 14 dana poslije trenutnog datuma.

Napominjem da će funkcija DateAdd ispravno preračunati prelaske u sljedeći mjesec i godinu.