اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

الردود الموصى بها

قام بنشر

السلام عليكم 

تكرما من الاساتذة الكرام 

كيف اعمل استعلام لعرض سجل بشرط ان يكون التاريخ متتالي ثلاثة ايام مثلا مثال 

15 -16 -17 بشرط تكون ثلاثة ايام متتالية 

بحثت ولم اجد اجابة وجزاكم الله خير 

قام بنشر

شكرا لتكرمك بالرد استاذي 

المرفق ادناه 

المطلوب كيف اعمل استعلام يظهر فقط اسماء كل من له 3 تواريخ متتالية فقط بشرط التتالي للتاريخ لعلي اوصلت الفكرة جزاك الله خير

t_fdate.mdb

قام بنشر

لعل الموضوع هذا يفيدك -------->>>>>

في ١٢‏/١‏/٢٠١٧ at 15:27, jjafferr said:

تفضلي:smile:

 

1. عملنا نموذج فيه التاريخ من/الى ،

2. عملنا استعلام مجموعي ، لحساب عدد الغياب  فقط بين التاريخين ، والموظف الذي يملك عدد غياب اكبر من يومين ، يتم ارسال اسمه الى الوحدة النمطية Check_Abs

527.Clipboard02.jpg

.

تقوم الوحدة النمطية بمقارنة اليوم rst!Date ، باليوم السابق + يوم (DateAdd("d", 1, Prev_Date)، 

واذا كانت النتيجة متساوية ، يقوم العداد Seq بجمع الايام ،



Function Check_Abs(EN)

    'EN = Employee Name
    
    Dim rst As DAO.Recordset
    
    fD = [Forms]![frm_Days]![Date_From]
    eD = [Forms]![frm_Days]![Date_To]
    
    myCriteria = "[Emp_Name]='" & EN & "'"
    myCriteria = myCriteria & " And [Leave_Type]='غياب'"
    myCriteria = myCriteria & " And [Date] Between " & DateFormat(fD) & " And " & DateFormat(eD)
    
    'Set rst = CurrentDb.OpenRecordset("Select * From Enterans_Absent Where [Emp_Name]='" & EN & "' And [Leave_Type]='غياب' And [Date] Between '" & DateFormat(fD) & "' And '" & DateFormat(eD) & "'")
    Set rst = CurrentDb.OpenRecordset("Select * From Enterans_Absent Where " & myCriteria & " Order by [Date]")
    rst.MoveLast: rst.MoveFirst
    RC = rst.RecordCount
    
    Seq = 1
    Prev_Date = rst![Date]
    
    For i = 1 To RC
        
        If rst![Date] = DateAdd("d", 1, Prev_Date) Then
            Seq = Seq + 1
        End If
        
        Prev_Date = rst![Date]
        
        rst.MoveNext
    Next i
    
    If Seq >= 3 Then
        Check_Abs = Seq & " ايام متتالية"
    Else
        Check_Abs = RC & " ايام غير متتالية"
    End If
    
    rst.Close: Set rst = Nothing
    
End Function

.

والنتيجة:

527.Clipboard01.jpg

.

جعفر

527.مثال 5.accdb.zip

 

  • Like 3
  • 3 weeks later...
قام بنشر

اقدم جزيل شكري لكم اساتذتي الكرام زادكم الله من فضله 

وممتن لاخي الغالي جعفر لانه في الحقيقة افاد الكثيير وقدم الكثير لي ولغيري جزاكم الله خير

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information