منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : الفرق بين تاريخين بدون احتساب ايام الجمعه والسبت
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام وعليكم ورحمة الله وبركاته
تحية لاعضاء هذا الصرح الرائع

ارجو مساعدتي في حل مشكلة فرق التوقيت بين تاريخين بدون احتساب ايام الجمع والسبت


ااقوم بعمل برنامج ترصيد اجازات الموظفين  فواجهتني مشكله عند اختيار تاريخ بدؤء الاجازة من اداة  دتابيكر 1 ومن ثم تحديد عدد ايام الاجازة  داخل تكست بوكس ان يقوم بالتعديل على دتا بيكر 2  لاحتساب تاريخ انتهاء الاجازة مع الاخذ بعين الاعتبار عم احتساب الجمع والسبت من الايام المدخلة في التكست بوكس

ولكم جزيل الشكر
أضف بعد WHERE شرط تجاهل الجمعة والسبت مثل
PHP كود :
WHERE [mdateBETWEEN تاريخ1 AND تاريخ2
  AND  WEEKDAY
(mdateNOT IN(6,7

كود :
http://www.techonthenet.com/access/functions/date/weekday.php
0    Use the NLS API settings
1    Sunday (default used)
2    Monday
3    Tuesday
4    Wednesday
5    Thursday
6    Friday
7    Saturday
وعليك السلام ورحمة الله وبركاته

أهلا بك أخي الكريم , ضع Command1 على الفورم و DTPicker1 لتاريخ بداية الإجازة و Text1 لعدد أيام الإجازة و DTPicker2 لتاريخ نهاية الإجازة , ثم ضع هذا الكود في الزر1 :

PHP كود :
Private Sub Command1_Click()

If 
IsDate(DTPicker1.Value) = False Then
   MsgBox 
"تأكد من صحة تاريخ بداية الإجازة"
   
DTPicker1.SetFocus
   
Exit Sub
End 
If

If 
Val(Trim$(Text1.Text)) <= 0 Then
   MsgBox 
"تأكد من صحة عدد أيام الإجازة"
   
Text1.SetFocus
   
Exit Sub
End 
If

Command1.Enabled False

Dim zStartDate 
As String
Dim zDayIndex 
As Integer
Dim zCounter 
As Integer
Dim I 
As Long

zStartDate 
DTPicker1.Value

For 1 To 1000000
    
    
'رقم يوم الجمعة يساوي 6
    '
رقم يوم السبت يساوي 7
    zDayIndex 
Weekday(zStartDate)
    
    If 
zDayIndex 6 Then zCounter zCounter 1
    
    
If zCounter Val(Trim$(Text1.Text)) Then
       DTPicker2
.Value zStartDate
       Command1
.Enabled True
       
Exit Sub
    End 
If
    
    
zStartDate DateAdd("d"1zStartDate)
    
Next

Command1
.Enabled True

End Sub 
(17-08-16, 01:10 AM)Ahmed_Mansoor كتب : [ -> ]وعليك السلام ورحمة الله وبركاته

أهلا بك أخي الكريم , ضع Command1 على الفورم و DTPicker1 لتاريخ بداية الإجازة و Text1 لعدد أيام الإجازة و DTPicker2 لتاريخ نهاية الإجازة , ثم ضع هذا الكود في الزر1 :

PHP كود :
Private Sub Command1_Click()

If 
IsDate(DTPicker1.Value) = False Then
   MsgBox 
"تأكد من صحة تاريخ بداية الإجازة"
 
  DTPicker1.SetFocus
   
Exit Sub
End 
If

If 
Val(Trim$(Text1.Text)) <= 0 Then
   MsgBox 
"تأكد من صحة عدد أيام الإجازة"
 
  Text1.SetFocus
   
Exit Sub
End 
If

Command1.Enabled False

Dim zStartDate 
As String
Dim zDayIndex 
As Integer
Dim zCounter 
As Integer
Dim I 
As Long

zStartDate 
DTPicker1.Value

For 1 To 1000000
    
    
'رقم يوم الجمعة يساوي 6
    '
رقم يوم السبت يساوي 7
    zDayIndex 
Weekday(zStartDate)
 
   
    If zDayIndex 
6 Then zCounter zCounter 1
    
    If zCounter 
Val(Trim$(Text1.Text)) Then
       DTPicker2
.Value zStartDate
       Command1
.Enabled True
       
Exit Sub
    End 
If
 
   
    zStartDate 
DateAdd("d"1zStartDate)
 
   
Next

Command1
.Enabled True

End Sub 

كل الشكر والاحترام لك سيد احمد منصور هذا هو المطلوب بالزبط 
وجزاك الله خير وادام الله عليك نعمه ......