ِAbo_El_Ela قام بنشر يوليو 9, 2023 قام بنشر يوليو 9, 2023 (معدل) عندي تقرير فرعي يظهر الاجازات بدون مرتب الحاصل عليها الموظف المساعدة المطلوبة اذا كانت الموظفة قد حصلت علي اجازة بدون مرتب متصلة بعدة قرارات و نوع الاجازة واحد و لنفس الموظفة و القرارات تواريخها متصلة يتم تجميع هذه القرار ليظهر علي سبيل المثال 1 رعاية اسرة في الفترة من 12/12/2019 و تنتهي في 11/12/2023 2 مرافقة زوج في الفترة من 12/3/2007 و تنتهي في 11/12/2019 مرفق صورة للتوضيح تم تعديل يوليو 9, 2023 بواسطه ِAbo_El_Ela
jjafferr قام بنشر يوليو 10, 2023 قام بنشر يوليو 10, 2023 وعليكم السلام 🙂 اعمل استعلام تجميعي بنوع الاجازة (Group by) ، واختار الاقل (Min) للتاريخ الاعتباري ، واختار الاكبر (Max) لتاريخ نهاية الاجازة.
ِAbo_El_Ela قام بنشر يوليو 10, 2023 الكاتب قام بنشر يوليو 10, 2023 (معدل) السلام عليكم استاذنا و معلمنا شكرا علي اهتمامك عملت استعلام تجميعي بس المشكله اني لما طبقت علي موظفة اخري اخذت اجازة رعاية طفل ثلاث سنوات( من 1/9/1994 حتي 31/8/1997 ) متصلة ثم عادت للعمل و بعد ذلك قامت بنفس نوع الاجازة (رعاية طفل) لمدة سنة اخري رابعة ( من 2/12/1998 حتي 1/12/1999 ) عند تطبيق الاستعلام التجميعي اخرج بداية الاجازة الاولي (1/9/1994 ) علي انها بداية الاجازة ثم اخرج نهاية الاجازة الثانية ( 1/12/1999 ) علي انها نهاية الاجازة و اصبحت اجازة متصله فهل من حل ان لو الاجازة متصلة يضم البداية علي النهاية و لو مش متصله يفصل و يذكر الاجازة ببدايتها و نهايتها تم تعديل يوليو 10, 2023 بواسطه ِAbo_El_Ela
jjafferr قام بنشر يوليو 10, 2023 قام بنشر يوليو 10, 2023 3 دقائق مضت, ِAbo_El_Ela said: لو الاجازة متصلة شو تحليلك لهذا المصطلح من واقع بياناتك ؟
ِAbo_El_Ela قام بنشر يوليو 10, 2023 الكاتب قام بنشر يوليو 10, 2023 (معدل) تمام فلنفترض ان محمد موظف اخذ اجازة للعمل بالخارج في فترتين الفترة الاولي (1/1/2018 حتي 31/12/2020) عبارة عن ثلاث سنوات متصله يعني بدات الاجاة يوم 1/1/2018 و لم يعد للعمل الا يوم 1/1/2021 بس صدر ليها ثلاثة قرارات وزارية بمعني ثلاثة سجلات سوف تظهر في التقرير الفرعي ثم حصل علي اجازة اخري الفترة الثانية (1/1/2022 حتي 31/12/2022) تم تعديل يوليو 10, 2023 بواسطه ِAbo_El_Ela
ِAbo_El_Ela قام بنشر يوليو 10, 2023 الكاتب قام بنشر يوليو 10, 2023 اللي بدور علية انه يضم الثلاث سنوات الاولي مع بعض لتصبح كالاتي بدلا من هل وصلت الفكرة و لا محتاجة توضيح
jjafferr قام بنشر يوليو 10, 2023 قام بنشر يوليو 10, 2023 الظاهر من بياناتك في الصورة في او مشاركة ، الاجازة المتصلة: تاريخ بداية الاجازة = تاريخ نهاية الاجازة السابقة + 1 يوم يمكننا عمل كود ليعمل المطلوب ، ولا ارى طريقة لعمله في استعلام !! اذن نحن بحاجة الى بيانات كثيرة ومتنوعة لتحليل وعمل اللازم 🙂 1
ِAbo_El_Ela قام بنشر يوليو 10, 2023 الكاتب قام بنشر يوليو 10, 2023 شكرا جزيلا معلمنا و شكرا لاهتمامك ما المطلوب من بيانات
ِAbo_El_Ela قام بنشر يوليو 10, 2023 الكاتب قام بنشر يوليو 10, 2023 سجل المحضرين - Copy.rar سجل المحضرين_be - Copy.rar
jjafferr قام بنشر يوليو 11, 2023 قام بنشر يوليو 11, 2023 اخي الفاضل ، رجاء تخبرنا وين البيانات ، فلا يوجد تقرير اسمه بيان حالة !!
ِAbo_El_Ela قام بنشر يوليو 11, 2023 الكاتب قام بنشر يوليو 11, 2023 اسف فعلا التقرير مخفي اظهر الكائنات المخفية تقرير اسمة بيان حاله
ِAbo_El_Ela قام بنشر يوليو 11, 2023 الكاتب قام بنشر يوليو 11, 2023 تم الاظهار سجل المحضرين - Copy.rar سجل المحضرين_be - Copy.rar اشكرك استاذنا و معلمنا علي الاهتمام
ِAbo_El_Ela قام بنشر يوليو 11, 2023 الكاتب قام بنشر يوليو 11, 2023 jjafferr استاذي جعفر لا تنساني رجاءا
أفضل إجابة jjafferr قام بنشر يوليو 12, 2023 أفضل إجابة قام بنشر يوليو 12, 2023 السلام عليكم 🙂 للتجربة والتأكد من اني فهمت الموضوع ، رجاء عمل التالي: 1. شغل الدالة Make_Groups ، وذلك بكتابة اسمها في الاسفل ، ورجاء التأكد ان علامة الاستفهام بالانجليزي ، ثم انقر على زر Enter على الكيبورد . عندما تنتهي الدالة من عملها ، ستظهر لك رسالة "Done" ، عندها رجاء تشغيل الاستعلام qry_Vacations والتأكد بأن بياناتها كما تريد 🙂 الدالة تضع بياناتها في الجدول tbl_V_Seq ، وهو جدول تجميع الاجازات المستمرة 🙂 1581.سجل المحضرين_be.accdb.zip 2
ِAbo_El_Ela قام بنشر يوليو 12, 2023 الكاتب قام بنشر يوليو 12, 2023 بسم الله ماشاء الله الله اكبر علي حضرتك تسلم ايديك و ربنا يبارك في علمك شكرا استاذنا العظيم ربنا يبارك في حضرتك طبعا براحتك خالص و علي اقل من مهلك و لما حضرتك تفضي ممكن افهم الفكرة
jjafferr قام بنشر يوليو 12, 2023 قام بنشر يوليو 12, 2023 السلام عليكم 🙂 - تم الغاء الجدول tbl_V_Seq ، - تم اضافة الحقل Seq الى الجدول tblVacations ، - يمكنك نقل هذه الدالة الى برنامج الواجهة ، واستعماله هناك ، - يجب استعمال هذه الدالة مرة واحدة فقط ، لأنها في كل مرة تحذف البيانات السابقة ، - اقترح اضافة الحقل Seq الى نموذج الاجازات ، ويدويا تعطيه: رقم التسلسل للاجازة السابقة ، اذا كانت الاجازة الجديدة استمرار للاجازة السابقة ، الرقم التسلسل التالي. Option Compare Database Option Explicit Function Make_Groups() 'نريد عمل لكل اجازات مستمرة ، مجموعة خاصة بها 'وبما انه لا توجد معلومة مميزة في السجل لتوضح الفرق بين الاجازة العادية والاجازة المستمرة 'فوجب التفكير في عمل هذه المجموعات 'ورأيت ان اسهل طريقة لعمل هذه المجموعات ، هو عمل رقم مسلسل لكل سجل 'فالاجازات المستمرة يكون لها نفس الرقم ، وعند انتهائها ، فالسجل التالي يحصل على الرقم المسلسل التالي ' ' 'بعد تحليل البيانات، اتضح ان الاجازة المستمرة معناها 'تاريخ بداية الاجازة الجديدة = تاريخ نهاية الاجازة السابقة + 1 (يوم واحد) ' 'فعليه، بدأنا بأول اجازة وتم اعطاءها رقم مسلسل 'ثم ننتقل الى السجل التالي ، ونتأكد من نتائج المعادلة اعلاه 'فإذا كانت النتيجة نفسها ، فمعناه انها اجازة مستمرة ونعطي السجل نفس الرقم 'واذا كانت الاجازة منقطعة ، فنقوم بإضافة 1 الى الرقم المسلسل ، وهكذا ' ' 'tbl_V_Seq تم الغاء الجدول 'واضافة الحقل Seq 'الى الجدول 'tblVacations ' Dim rstV As DAO.Recordset Dim rstVG As DAO.Recordset Dim Seq As Long Dim Last_EndDate As Date 'rstV = tblVacation بيانات الجدول 'rstVG = tblVacation Group By emp_code ارقام الموظفين بدون تكرار من الجول 'تنظيف الحقل Seq من البيانات السابقة CurrentDb.Execute ("UPDATE tblVacation SET Seq = Null") 'ارقام الموظفين بدون تكرار، والفرز تصاعدي Set rstVG = CurrentDb.OpenRecordset("SELECT emp_code FROM tblVacation GROUP BY emp_code ORDER BY emp_code") rstVG.MoveFirst 'حلقة دوران حتى نشمل جميع الموظفين Do Until rstVG.EOF 'سجلات كل موظف Set rstV = CurrentDb.OpenRecordset("SELECT * FROM tblVacation WHERE emp_code=" & rstVG!emp_code) 'اذا لا توجد بيانات للموظف، ابدأ التسلسل 1 If rstV.RecordCount = 0 Then 'No Record Seq = 1 End If 'اول قيمة للمقارنة ، ونجعلها فارغة Last_EndDate = 0 'حلقة دوران لمقارنة سجلات الموظف Do Until rstV.EOF 'اذا تاريخ نهاية الاجازة تساوي تاريخ نهاية الاجازة السابقة+1 If rstV!VacationStartDate = Last_EndDate Then 'نعم 'اعمل تعديل على السجل، واعطيه رقم التسلسل السابق rstV.Edit rstV!Seq = Seq rstV.Update Else 'لا 'اعمل تعديل على السجل، واعطيه رقم التسلسل السابق+1 rstV.Edit Seq = Seq + 1 rstV!Seq = Seq rstV.Update End If 'تاريخ نهاية الاجازة+1 Last_EndDate = rstV!VacationEndDate + 1 rstV.MoveNext Loop rstVG.MoveNext Loop rstV.Close: Set rstV = Nothing rstVG.Close: Set rstVG = Nothing MsgBox "Done" End Function جعفر 1581.1.سجل المحضرين_be.accdb.zip 1
ِAbo_El_Ela قام بنشر يوليو 12, 2023 الكاتب قام بنشر يوليو 12, 2023 ربنا يزيدك يا رب من العلم اشكرا جدا ابي و معلمي شكرا جزيلا 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.