jandbi قام بنشر أكتوبر 22, 2017 مشاركة قام بنشر أكتوبر 22, 2017 السلام عليكم ورحمة الله وبركاته مهما انقطعنا وانشغلنا الا ان هذا المنتدى يبقى المرجع والملجأ بعد الله سبحانه وتعالى بسبب تعاون أعضائه ومشرفيه المشكلة كالتالي : في المرفقات ملف اكسس لحضور الموظفين عن طريق البصمة .. يخطأ بعض الموظفين ويقوم بالتبصيم أكثر من مرة على الجهاز فتسجل دخول لأكثر من مرة في التقرير أحتاج طريقة تُظهر السجل الأول للموظف بناءً على وقت الدخول .. بشرط عدم حذف البيانات المتكررة من الجدول .. وعدم تكرار ظهورها في الاستعلام طبعاً كما هو في الصورة .. موظف رقم 5 سجل دخول بتاريخ 22/10/2017 مرتين ، والفرق بين البصمتين ثواني فقط .. TimeINOUT.zip رابط هذا التعليق شارك More sharing options...
Shivan Rekany قام بنشر أكتوبر 22, 2017 مشاركة قام بنشر أكتوبر 22, 2017 37 دقائق مضت, jandbi said: أحتاج طريقة تُظهر السجل الأول للموظف بناءً على وقت الدخول .. بشرط عدم حذف البيانات المتكررة من الجدول .. وعدم تكرار ظهورها في الاستعلام طبعاً كما هو في الصورة .. موظف رقم 5 سجل دخول بتاريخ 22/10/2017 مرتين ، والفرق بين البصمتين ثواني فقط .. استخدم first في الاستعلام TimeINOUT.zip 2 رابط هذا التعليق شارك More sharing options...
jandbi قام بنشر أكتوبر 22, 2017 الكاتب مشاركة قام بنشر أكتوبر 22, 2017 1 ساعه مضت, Shivan Rekany said: استخدم first في الاستعلام TimeINOUT.zip شكراً أخ شفان .. لكن الحل غير مكتمل والسبب عدم ظهور الموظف رقم 1 و رقم 2 في الاستعلام ؟! رابط هذا التعليق شارك More sharing options...
Shivan Rekany قام بنشر أكتوبر 22, 2017 مشاركة قام بنشر أكتوبر 22, 2017 منذ ساعه, jandbi said: شكراً أخ شفان .. لكن الحل غير مكتمل والسبب عدم ظهور الموظف رقم 1 و رقم 2 في الاستعلام ؟! اعتذر بشدة ... لم انتبهت على ذلك اتفضل اليك هذا استعلام SELECT CHECKINOUT.USERID, Max(CHECKINOUT.CHECKTIME) AS MaxOfCHECKTIME, [11].ID, [11].FristName, Max(Format([CHECKTIME],"dd/mm/yyyy")) AS DateIN, First(Format([CHECKTIME],"hh:nn:ss AM/PM")) AS TimeIN FROM 11 INNER JOIN CHECKINOUT ON [11].USERID = CHECKINOUT.USERID GROUP BY CHECKINOUT.USERID, [11].ID, [11].FristName HAVING (((Max(Format([CHECKTIME],"dd/mm/yyyy")))=[Forms]![ADSEmployees]![iDate2]) AND ((First(Format([CHECKTIME],"hh:nn:ss AM/PM"))) Between #12/30/1899 5:0:0# And #12/30/1899 9:59:59#)); TimeINOUT.zip 2 رابط هذا التعليق شارك More sharing options...
jandbi قام بنشر أكتوبر 23, 2017 الكاتب مشاركة قام بنشر أكتوبر 23, 2017 (معدل) 5 ساعات مضت, Shivan Rekany said: اعتذر بشدة ... لم انتبهت على ذلك اتفضل اليك هذا استعلام SELECT CHECKINOUT.USERID, Max(CHECKINOUT.CHECKTIME) AS MaxOfCHECKTIME, [11].ID, [11].FristName, Max(Format([CHECKTIME],"dd/mm/yyyy")) AS DateIN, First(Format([CHECKTIME],"hh:nn:ss AM/PM")) AS TimeIN FROM 11 INNER JOIN CHECKINOUT ON [11].USERID = CHECKINOUT.USERID GROUP BY CHECKINOUT.USERID, [11].ID, [11].FristName HAVING (((Max(Format([CHECKTIME],"dd/mm/yyyy")))=[Forms]![ADSEmployees]![iDate2]) AND ((First(Format([CHECKTIME],"hh:nn:ss AM/PM"))) Between #12/30/1899 5:0:0# And #12/30/1899 9:59:59#)); TimeINOUT.zip الشكر الجزيل لك .. يعمل الان بشكل صحيح لكن فيه ملاحظة .. عند ادخال تاريخ 22/10/2017 يظهر لنا سجل الموظف رقم 5 ( المتكرر ) التسجيل الأخير في حقل MaxOfCHECKTIME: CHECKTIME وفي حقل TimeIN: First(Format([CHECKTIME];"hh:nn:ss AM/PM")) يظهر لنا التسجيل الأول تم تعديل أكتوبر 23, 2017 بواسطه jandbi رابط هذا التعليق شارك More sharing options...
أفضل إجابة Shivan Rekany قام بنشر أكتوبر 23, 2017 أفضل إجابة مشاركة قام بنشر أكتوبر 23, 2017 4 ساعات مضت, jandbi said: الشكر الجزيل لك .. يعمل الان بشكل صحيح لكن فيه ملاحظة .. عند ادخال تاريخ 22/10/2017 يظهر لنا سجل الموظف رقم 5 ( المتكرر ) التسجيل الأخير في حقل MaxOfCHECKTIME: CHECKTIME وفي حقل TimeIN: First(Format([CHECKTIME];"hh:nn:ss AM/PM")) يظهر لنا التسجيل الأول القي نظرتا الى هذا SELECT CHECKINOUT.USERID, First(CHECKINOUT.CHECKTIME) AS FirstOfCHECKTIME, [11].ID, [11].FristName, Format([CHECKTIME],"dd/mm/yyyy") AS DateIN, First(Format([CHECKTIME],"hh:nn:ss AM/PM")) AS TimeIN FROM 11 INNER JOIN CHECKINOUT ON [11].USERID = CHECKINOUT.USERID GROUP BY CHECKINOUT.USERID, [11].ID, [11].FristName, Format([CHECKTIME],"dd/mm/yyyy") HAVING (((Format([CHECKTIME],"dd/mm/yyyy"))=[Forms]![ADSEmployees]![iDate2]) AND ((First(Format([CHECKTIME],"hh:nn:ss AM/PM"))) Between #12/30/1899 5:0:0# And #12/30/1899 9:59:59#)); TimeINOUT.zip 2 رابط هذا التعليق شارك More sharing options...
jandbi قام بنشر أكتوبر 23, 2017 الكاتب مشاركة قام بنشر أكتوبر 23, 2017 8 ساعات مضت, Shivan Rekany said: القي نظرتا الى هذا SELECT CHECKINOUT.USERID, First(CHECKINOUT.CHECKTIME) AS FirstOfCHECKTIME, [11].ID, [11].FristName, Format([CHECKTIME],"dd/mm/yyyy") AS DateIN, First(Format([CHECKTIME],"hh:nn:ss AM/PM")) AS TimeIN FROM 11 INNER JOIN CHECKINOUT ON [11].USERID = CHECKINOUT.USERID GROUP BY CHECKINOUT.USERID, [11].ID, [11].FristName, Format([CHECKTIME],"dd/mm/yyyy") HAVING (((Format([CHECKTIME],"dd/mm/yyyy"))=[Forms]![ADSEmployees]![iDate2]) AND ((First(Format([CHECKTIME],"hh:nn:ss AM/PM"))) Between #12/30/1899 5:0:0# And #12/30/1899 9:59:59#)); TimeINOUT.zip أشكرك جزيل الشكر .. رابط هذا التعليق شارك More sharing options...
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.