Access – Broj radnih dana

Ako se bavite razvojem aplikacija u MS Access-u sigurno ste se veฤ‡ sreli sa nekom od funkcija za rad sa datumima. U ovom prilogu predstaviฤ‡emo vam funkciju koja izraฤunava broj radnih dana izmeฤ‘u dva datuma. Ovo moลพe biti jako korisno u firmama prilikom obraฤunavanja plata. Funkciji predajemo dva podatka (tipa Variant) koja predstavljaju poฤetni i krajnji datum. Rezultat koji vraฤ‡a funkcija je celobrojna vrednost koja predstavlja ukupan broj radnih dana izmeฤ‘u dva datuma. Evo i same funkcije:


Function Radni_Dani(PocetniDatum As Variant,
KrajnjiDatum As Variant) As Integer
‘ Napomena: Funkcija nece racunati dane praznika.
Dim BrojNedelja As Variant
Dim DatumPriv As Variant
Dim PoslednjiDani As Integer

PocetniDatum = DateValue(PocetniDatum)

KrajnjiDatum = DateValue(KrajnjiDatum)
BrojNedelja = DateDiff(„w“, PocetniDatum, KrajnjiDatum)
DatumPriv = DateAdd(„ww“, BrojNedelja, PocetniDatum)
PoslednjiDani = 0
Do While DatumPriv < KrajnjiDatum
If Format(DatumPriv, "ddd") „Sun“ And _
Format(DatumPriv, „ddd“) „Sat“ Then
PoslednjiDani = PoslednjiDani + 1
End If
DatumPriv = DateAdd(„d“, 1, DatumPriv)
Loop
Radni_Dani = BrojNedelja * 5 + PoslednjiDani
End Function


U samom programskom kodu moลพemo videti nekoliko ugraฤ‘enih funkcija, pa ฤ‡emo ih bliลพe pojasniti:
  • DateValue – pretvara datum koji je u tekst formi, u serijski broj
  • DateDiff- raฤuna broj kalendarskih sedmica izmeฤ‘u dva datuma
  • DateAdd – na postojeฤ‡i datum dodaje odreฤ‘eni broj dana, rezultat je dobijeni, novi datum.

Pratite Krstaricu na www.krstarica.com