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

حساب عدد الايام مع حذف ساعات الويكند مع العطلات الرسمية


إذهب إلى أفضل إجابة Solved by AbuuAhmed,

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

مساء الخير 

موضعي هو حساب عدد الايام مع  حذف الويكند والعطلات  المشكله انه في الاكسل ماشي معي وكويس وممتاز ام في الاكسل حاولت وذهب الي بعض المتخصصين ولم اجد حل ؟

doc-number-of-days-3.png

WM2023.rar

رابط هذا التعليق
شارك

حياك الله أخي أبو طلال 🙂 

لم أجد الجدول الذي به تواريخ البداية والنهاية في مرفقك .. ولكن عملت لك دالة تحيب عدد الأيام بين تاريخين بدون أيام السبت والأحد ... وكذلك تتجنب أيام الإجازات الرسمية حسب الجدول الذي في قاعدتك .. 

Function CountWorkingDays(startDate As Date, endDate As Date) As Integer
' لحساب عدد الأيام بين تاريخين غير أيام السبت والأحد والإجازات الرسمية الموجودة في جدول الإجازات
    Dim totalDays As Integer
    Dim workingDays As Integer
    Dim currentDay As Date
    
    startDate = Format(startDate, "mm/dd/yyyy")
    endDate = Format(endDate, "mm/dd/yyyy")
    
    totalDays = DateDiff("d", startDate, endDate) + 1 ' Include both start and end dates

    Dim i
    Dim c
    
    For i = 0 To totalDays - 1
        currentDay = DateAdd("d", i, startDate)
        
        ' البحث في جدول أيام الإجازات إن كان هذا اليوم هو يوم إجازة أم لا
        c = DCount("[ID]", "[Holidays]", "CDbl(date) =" & CDbl(currentDay) & "")
        
        If Weekday(currentDay) <> vbSaturday And Weekday(currentDay) <> vbSunday And c = 0 Then
            workingDays = workingDays + 1
        End If
    Next i
    
    CountWorkingDays = workingDays
End Function

 

رابط هذا التعليق
شارك

أخي أبو طلال، البيانات غير "نظيفة"، جدول في 2022 والآخر في 2023
كما أني لم أفهم جدول Siebel ، ماذا يعني هذا الجدول وما يعني عنوان هذا الحقل CRM؟
وأنصحك أن يكون تركيبة جدول العطلات عبارة عن حقلين بداية العطلة ونهاية العطلة إلا إذا كانت العطل كلها عبارة عن يوم واحد فتركيبة الجدول في حلي السابق أفضل.
هل ممكن أن ترفع ملف الإكسل ليسهل فهم المطلوب بدون أن تقحم أفكارك في الحل، فالحلول دعها علي.

رابط هذا التعليق
شارك

تفضل 

حساب عدد ايام الإجازات الفعلية بدون اجازات نهاية الإسبوع  + الإجازات الرسمية حسب جدول الإجازات

image.png.018f1b056ae26b1591bb45c427b2517e.png

 

WM2000.mdb

تم تعديل بواسطه دروب مبرمج
رابط هذا التعليق
شارك

  • أفضل إجابة

آخر مشاركة لي في هذا الموضوع
قمت بالتعديل على تركيبة جدول العطل وبياناته:

تم إضافة حقل نهاية العطلة (آخر يوم في العطلة) وتم تعديل بيانات عام 2023 إلى عام 2022 لتناسب جدول Siebel لزوم التجارب.
استخدمت الاستعلامات لتسريع النتائج ولن تعرف الفرق إلا مع عدد سجلات كبير.

النتائج في الاستعلام qryResults
موفق أخي.

WM2000_03.mdb

  • Like 1
رابط هذا التعليق
شارك

 

انت مبدع وخرافي وأفضل مبرمج ۔من الفرحه ماني مصدق شكرا ابو احمد من القلب 

بالنسبة Weeknd & Holidays 100%

ان شاء الله بأخذ الاستعلامات واسويها في العمل ۔

 

الف شكرا 

 

تم تعديل بواسطه AbuTalal20
رابط هذا التعليق
شارك

22 ساعات مضت, AbuTalal20 said:

بالنسبة Weeknd & Holidays 100%

انتبه أن العطل الأسبوعية حسبت ليومي السبت والأحد
تستطيع تبديلها في استعلام أيام العطل الأسبوعية، فأيام الأسبوع تبدأ برقم 1 ليوم الأحد وتنتهي برقم 7 ليوم السبت.

رابط هذا التعليق
شارك

مساء الخير 

تم تعديل الويكند الي الجمعة والسبت 

اليوم في العمل جربتها علي مليون 300000 والبرامج يعمل كويس  بس فيه نقطه مع العلم الن الحسبه صحيح هل هذا عادي 

الايام اللي لايوجد به  Holidays مثل شهر  May يعطني عليها يوم احد 

شكرا لك مرة اخري والله يكتب اجرك 

 

qa.PNG

تم تعديل بواسطه AbuTalal20
رابط هذا التعليق
شارك

جرب الآن
بعد التعديل في أكثر من استعلام
وإضافة دالة لحساب عطل نهاية الأسبوع ومنها يمكنك التعديل على الأيام التي تريدها وليس من الاستعلامات كما السابق.
اخبرني عن النتيجة ولا تتأخر علي حتى لا أغيب عنك وأنسى موضوعك.

ملاحظة:
في جدول العطل الأسبوعية كنت قد أضفت "سابقا" مفتاح وفهرسين لمنع التكرار أرجو أن لا تغفل عنهما.

 

 

تم تعديل بواسطه AbuuAhmed
تبديل المرفق
رابط هذا التعليق
شارك

قبل أن أرى مشاركتك الأخيرة كنت أعمل على تعديل أخير إن شاء الله، والسبب أن الاحتمالات كثيرة والبيانات لا تغطيها كلها.
أضفت بعض البيانات من عندي لتغطية كل الاحتمالات واضطررت لعمل عدة تعديلات إضافية.
سأضيفها لاحقا.

رابط هذا التعليق
شارك

إن شاء الله تكون الأخيرة 🙂

نصيحة:

إذا صادف وجود عطلة نهاية الأسبوع (Weekends) وسط عطلة رسمية Holiday، لا تحاول تقسيم العطلة لأن عطلة نهاية الأسبوع هي جزء من العطلة الرسمية، والبرنامج سوف يهتم بهذه الجزئية في الحسابات.

 

WM2000_06.mdb

تم تعديل بواسطه AbuuAhmed
  • 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