السلام عليكم ورحمة الله وبركاته ..
في ليلة صافية والجو بين البارد والمعتدل .. وأنا أتصفح الفيس بوك .. لمحت سؤال لأحد الإخوة يطلب فيه طريقة لحساب عدد أيام الغياب والحضور للموظفين في نموذج مستمر ..
فخطرت على بالي هذه الدالة الصغنونه الظريفة ..
فوضعتها موضع التنفيذ مع نموذج دايناميكي لتقويم شهري كنت قد صممته سابقا مع سبق الترصد 😁
وقلت أضعه بين أيدي جنابكم لمن أراد أن يستفيد منه ..
ولمن أراد أن ينفعنا بنصائحه الثمينة والسمينة 😅🖐🏼️
وهذه هي الدالة المستخدمة في عمودي مجموع الحضور والغياب :
Public Function Count_Present_Absent(P_or_A As String) As Integer
' دالة لحساب عدد أيام الحضور وعدد أيام الغياب من تقويم مكون من 31 يوم
' By: Moosak
'P_or_A = Present or Absent ? وتعني أنت تريد حساب الحضور أم الغياب
' على أفتراض أن أسماء حقول الأيام هي على التوالي : Day1, Day2, Day3 ......
Dim x As Integer
Dim Frm As Form: Set Frm = Screen.ActiveForm
Dim PresentDays As Integer, AbsentDays As Integer
Count_Present_Absent = 0
For x = 1 To 31
If Frm.Controls("Day" & x).Value Like "*ح*" Then
' حساب عدد أيام الحضور
PresentDays = PresentDays + 1
ElseIf Frm.Controls("Day" & x).Value Like "*غ*" Then
' حساب عدد أيام الغياب
AbsentDays = AbsentDays + 1
End If
Next
' الدالة ترجع مجموع عدد أيام الحضور أو مجموع عدد أيام الغياب حسب الطلب
If P_or_A = "P" Then
Count_Present_Absent = PresentDays
ElseIf P_or_A = "A" Then
Count_Present_Absent = AbsentDays
Else
Set Frm = Nothing
Exit Function
End If
Set Frm = Nothing
End Function
موضوع سريع وعلى الطاير قبل أن تتفلت المعلومات 😊🖐🏼️
تسجيل حضور وغياب الموظفين.accdb