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 IntegerPocetniDatum = 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