ongke0711 > 25-07-15, 11:06 PM
Option Compare Database
Option Explicit
Function TinhSoNgayLV(dtTuNgay As Date, dtDenNgay As Date) As Double
On Error GoTo XuLy_Loi
Dim dtNgay As Date
Dim iThuTrongTuan As Integer
'Kiem tra ngay co hop le không?
If dtTuNgay > dtDenNgay Then
MsgBox "Ngay khong hop le! Den ngày > Tu ngày", vbCritical, "Thông báo"
Exit Function
End If
TinhSoNgayLV = 0
For dtNgay = dtTuNgay To dtDenNgay
iThuTrongTuan = Weekday(dtNgay)
Select Case Me.fmeNgayLV
Case 1
If iThuTrongTuan <> vbSunday And iThuTrongTuan <> vbSaturday Then
TinhSoNgayLV = TinhSoNgayLV + 1
End If
Case 2
If iThuTrongTuan <> vbSunday Then
If iThuTrongTuan <> vbSaturday Then
TinhSoNgayLV = TinhSoNgayLV + 1
Else
TinhSoNgayLV = TinhSoNgayLV + 0.5
End If
End If
Case 3
If iThuTrongTuan <> vbSunday Then
TinhSoNgayLV = TinhSoNgayLV + 1
End If
End Select
Next dtNgay
XuLy_Loi_Exit:
On Error Resume Next
Exit Function
XuLy_Loi:
MsgBox "Loi nay da phat sinh:" & vbCrLf & vbCrLf & _
"So loi: " & Err.Number & vbCrLf & _
"Loi do: TinhSoNgayLV" & vbCrLf & _
"Dien giai: " & Err.Description, vbCritical, _
"Phát sinh loi!"
Resume XuLy_Loi_Exit
End Function
Private Sub fmeNgayLV_AfterUpdate()
Me.txtTongSoNgayLV = TinhSoNgayLV(Me.txtTuNgay, Me.txtDenNgay)
End Sub
Private Sub txtDenNgay_AfterUpdate()
Me.txtTongSoNgayLV = TinhSoNgayLV(Me.txtTuNgay, Me.txtDenNgay)
End Sub
Private Sub txtTuNgay_AfterUpdate()
Me.txtTongSoNgayLV = TinhSoNgayLV(Me.txtTuNgay, Me.txtDenNgay)
End Sub