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