اذهب الي المحتوي
أوفيسنا

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

قام بنشر

الاخوة الكرام الخبراء الافاضل 

السلام عليكم ورحمة الله وبركاته

من فضلكم انا عملت حاجة صغيرة للحضور والانصراف اليومي انا بس عايز اعمل تقرير يقولي كام موظف اتاخروا عن الساعة 9:30ص كام مرة في الشهر لكل موظف ويطبف اللائحة بتاعت التاخير لوحده يعني مثلا اول مرة يكون انذار بعد كده ربع يوم 

اكون شاكر فضلكم جدا علي المساعدة

Att - Copy.rar

  • أفضل إجابة
قام بنشر

أخي @سامر محمود ,, بالنسبة للنقطة :-

منذ ساعه, سامر محمود said:

يقولي كام موظف اتاخروا عن الساعة 9:30ص

فحلها بسيط وهو أن تضع معيار في الاستعلام Delay report في حقل "وقت الحضور" = >#9:30:00 AM# .
أما في هذه النقطة :-

 

1 ساعه مضت, سامر محمود said:

كام مرة في الشهر لكل موظف ويطبف اللائحة بتاعت التاخير لوحده يعني مثلا اول مرة يكون انذار بعد كده ربع يوم

فتستطيع باستخدام الاستعلام ان تحصي عدد تكرارات التأخير لكل موظف ، وأن تطبق لائحة العقوبات التي تريدها . وفي هذه النقطة قمت بإضافة بإضافة العقوبات حسب عدد التكرارات و إضافة عقوبات جديدة تستطيع حذفها كيفما تريد ):wavetowel: 

هذا الاستعلام يجلب لك الموظفين المتأخرين :-

SELECT Att_Details.serial, Att_Details.[رقم الموظف], Att_Details.[اسم الموظف], Att_Details.[نوع الحركة], Att_Details.[تاريخ الحركة], Att_Details.[وقت الحضور], Att_Details.[وقت الانصراف], Att_Details.الفرق, Att_Details.الملاحظات
FROM Att_Details
WHERE Att_Details.[وقت الحضور] > #09:30:00 AM#;

وهذا الاستعلام يقوم بعد تكرارات التأخير فقط :-

SELECT Att_Details.[رقم الموظف], Att_Details.[اسم الموظف], Format(Att_Details.[تاريخ الحركة],"yyyy/mm") AS الشهر, Count(*) AS التكرار
FROM Att_Details
WHERE (((Att_Details.[وقت الحضور])>#12/30/1899 9:30:0#))
GROUP BY Att_Details.[رقم الموظف], Att_Details.[اسم الموظف], Format(Att_Details.[تاريخ الحركة],"yyyy/mm");

والإستعلام الأخير يقوم بعد التكرارات وبناءً عليها يطبق العقوبات :-

SELECT Att_Details.[رقم الموظف], Att_Details.[اسم الموظف], Format(Att_Details.[تاريخ الحركة], "yyyy/mm") AS الشهر, COUNT(*) AS التكرار, IIf(COUNT(*) = 1, "إنذار",
        IIf(COUNT(*) > 1 AND COUNT(*) < 6, "ربع يوم",
            IIf(COUNT(*) > 5 AND COUNT(*) < 11, "نصف يوم",
                "خصم يوم"))) AS الإجراء
FROM Att_Details
WHERE Att_Details.[وقت الحضور] > #09:30:00 AM#
GROUP BY Att_Details.[رقم الموظف], Att_Details.[اسم الموظف], Format(Att_Details.[تاريخ الحركة], "yyyy/mm");

 

والملف بعد التعديل :-

Att - Copy.accdb

  • Like 1
قام بنشر
4 ساعات مضت, Foksh said:

أخي @سامر محمود ,, بالنسبة للنقطة :-

فحلها بسيط وهو أن تضع معيار في الاستعلام Delay report في حقل "وقت الحضور" = >#9:30:00 AM# .
أما في هذه النقطة :-

 

فتستطيع باستخدام الاستعلام ان تحصي عدد تكرارات التأخير لكل موظف ، وأن تطبق لائحة العقوبات التي تريدها . وفي هذه النقطة قمت بإضافة بإضافة العقوبات حسب عدد التكرارات و إضافة عقوبات جديدة تستطيع حذفها كيفما تريد ):wavetowel: 

هذا الاستعلام يجلب لك الموظفين المتأخرين :-

SELECT Att_Details.serial, Att_Details.[رقم الموظف], Att_Details.[اسم الموظف], Att_Details.[نوع الحركة], Att_Details.[تاريخ الحركة], Att_Details.[وقت الحضور], Att_Details.[وقت الانصراف], Att_Details.الفرق, Att_Details.الملاحظات
FROM Att_Details
WHERE Att_Details.[وقت الحضور] > #09:30:00 AM#;

وهذا الاستعلام يقوم بعد تكرارات التأخير فقط :-

SELECT Att_Details.[رقم الموظف], Att_Details.[اسم الموظف], Format(Att_Details.[تاريخ الحركة],"yyyy/mm") AS الشهر, Count(*) AS التكرار
FROM Att_Details
WHERE (((Att_Details.[وقت الحضور])>#12/30/1899 9:30:0#))
GROUP BY Att_Details.[رقم الموظف], Att_Details.[اسم الموظف], Format(Att_Details.[تاريخ الحركة],"yyyy/mm");

والإستعلام الأخير يقوم بعد التكرارات وبناءً عليها يطبق العقوبات :-

SELECT Att_Details.[رقم الموظف], Att_Details.[اسم الموظف], Format(Att_Details.[تاريخ الحركة], "yyyy/mm") AS الشهر, COUNT(*) AS التكرار, IIf(COUNT(*) = 1, "إنذار",
        IIf(COUNT(*) > 1 AND COUNT(*) < 6, "ربع يوم",
            IIf(COUNT(*) > 5 AND COUNT(*) < 11, "نصف يوم",
                "خصم يوم"))) AS الإجراء
FROM Att_Details
WHERE Att_Details.[وقت الحضور] > #09:30:00 AM#
GROUP BY Att_Details.[رقم الموظف], Att_Details.[اسم الموظف], Format(Att_Details.[تاريخ الحركة], "yyyy/mm");

 

والملف بعد التعديل :-

Att - Copy.accdb 996 kB · 7 downloads

طبعا مش جديد عليك والله 

دايما ضهر وسند وقت الحاجة تسلم يا اخي @Foksh

  • Thanks 1

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