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

استعلام تاريخ متتالي


سمير1404
إذهب إلى أفضل إجابة Solved by jjafferr,

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

السلام عليكم 

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

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

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...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information