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

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

قام بنشر (معدل)

السلام عليكم 

فى الملف المرفق يوجد جدول به تواريخ الشهور اريد فى الاستعلام المرفق خانة يحسب بها ايام العمل خلال الشهر بدون العطلات الاسبوعية (الجمعة والسبت)

 

 

111111111111.rar

تم تعديل بواسطه شوقى5
قام بنشر

السلام عليكم 

اخوانى الاعزاء وجدت دالة تخرج مسلسل اليوم فى الاسبوع واسمه ولكن تبقى لى حصرهم خلال الشهر

111111111111.rar

قام بنشر

الاخ شوقي

هل عمود التاريخ سيكون به كل ايام الشهر متسلسل ؟ ام قد يكون تواريخ عشوائية ؟

كما لي طلب بسيط من حضرتك : ما هو الهدف اصلا وماهو عمل البرنامج ؟

 

تحياتي

قام بنشر

السلام عليكم

استاذ / رمهان عامود التاريخ سيكون مثلاً 2016/1 اريد ان احسب ايام العمل الفعلية خلال هذا الشهر بدون (الجمعة والسبت)

اما الهدف من عمل البرنامج هو تحديد وضبط مستحقات الموظفين بناءا على ايام العمل الفعلية خلال الشهر

قام بنشر

اخي شوقي

مارايك ان نعود الى سؤالك وبافتراض ان التواريخ موجودة بعمود وبالجدول :

8 ساعات مضت, شوقى5 said:

السلام عليكم 

اخوانى الاعزاء وجدت دالة تخرج مسلسل اليوم فى الاسبوع واسمه ولكن تبقى لى حصرهم خلال الشهر

111111111111.rar

في نفس الاستعلام وفي معيار العمود expr1  اكتب المعيار التالي :

<>1 And <>7

ويمكنك اضافة عمودين واحد للاشهر والاخر للسنة :

Expr3: Month([تاريخ])

Expr4: Year([تاريخ])

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

 

بالتوفيق

قام بنشر

السلام عليكم 

استاذ رمهان اسف على تأخيرى فى الرد

واسف على الاطالة فى سؤالى وبأختصار اريد دالة او كود يعطى نفس نتيجة الدالة NETWORKDAYS الموجودة فى الاكسل 

 

قام بنشر
4 دقائق مضت, شوقى5 said:

السلام عليكم 

استاذ رمهان اسف على تأخيرى فى الرد

واسف على الاطالة فى سؤالى وبأختصار اريد دالة او كود يعطى نفس نتيجة الدالة NETWORKDAYS الموجودة فى الاكسل 

 

ماتقول كده من اول واتريحنا !!:smile:

عايز تواريخ العمل والا عدد ايام العمل بين تاريخين ؟

 

قام بنشر (معدل)

تفضل 

اعمل وحدة نمطية وبها الدالة :

Function access_work_days(fdate As Date, edate As Date)
For i = fdate To edate
    x = x + (Weekday(i) = 6 Or Weekday(i) = 7)
    Next
    access_work_days = edate - fdate + x
End Function

وبكذا نقول انبسط ياكسس ! والله وصار عندك دالة حساب ايام العمل زي الاكسل ! وببركات الاخ شوقي !

طبعا بتنادي الدالة من اي مكان وتمرر لها اولا تاريخ البدء ثم تاريخ الانتهاء !

ولو يتفضل احد صاحب صلاحية ويعدل العنوان بحيث يدل على دالة ايام العمل في الاكسس مشكورين !

بالتوفيق

تم تعديل بواسطه رمهان
  • Like 1
قام بنشر

استاذ رمهان اريد من حضرتك الاطلاع على استعلام جديد فى الملف المرفق

ليس للتعديل على حضرتك ولكن للاستفادة وابداء راءيك

111111111111.rar

قام بنشر (معدل)

وده كلام برضه اخي شوقي ؟!

هذا الكود عندك وساكت :

Public Function WorkingDays(StartDate As Date, EndDate As Date) As Integer
On Error GoTo Err_WorkingDays

Dim intCount As Integer

StartDate = StartDate + 1
intCount = 0
Do While StartDate <= EndDate
Select Case Weekday(StartDate)
'الجمعه و السبت
Case Is = 6, 7
intCount = intCount
Case Is = 1, 2, 3, 4, 5
intCount = intCount + 1
End Select
StartDate = StartDate + 1
Loop
WorkingDays = intCount

Exit_WorkingDays:
Exit Function

Err_WorkingDays:
Select Case Err

Case Else
MsgBox Err.Description
Resume Exit_WorkingDays
End Select

End Function

وبامانة انت جايبه من مكان والا انت اللي عامله !

وفي نفس الوقت ماشوفتش الكود الرمهاني بتاعي في ملفك ؟ 

تحياتي

تم تعديل بواسطه رمهان
قام بنشر

للامانة منقول 

وللامانة كود حضرتك تم اضافته فى ملفى على نسخة ثانية

وشكرا لك على الاهتمام  

  • Like 1
قام بنشر (معدل)

حياك الله اخ شوقي واتمنى لك التوفيق:fff:

وهذا تعديل بسيط على الدالة

Function access_work_days(fdate As Date, edate As Date)
For i = fdate To edate
    x = x + (Weekday(i) = 6 Or Weekday(i) = 7)
    Next
    access_work_days = edate - fdate + x + 1
End Function

واعتقد هي ادق في الحسبة وبعد التجربة !

قارن بين الدالتين وفي الاشهر 2 و 3 و 5 و 6 و 8 و 9 و 11 و 12

 

تم تعديل بواسطه رمهان
قام بنشر

السلام عليكم 

اسف على التاخير فى الرد

استاذ رمهان كود حضرتك يعمل بصورة جيدة 

  • 4 weeks later...
قام بنشر
في ١٩‏/١٢‏/٢٠١٥ at 23:40, رمهان said:

حياك الله اخ شوقي واتمنى لك التوفيق:fff:

وهذا تعديل بسيط على الدالة


Function access_work_days(fdate As Date, edate As Date)
For i = fdate To edate
    x = x + (Weekday(i) = 6 Or Weekday(i) = 7)
    Next
    access_work_days = edate - fdate + x + 1
End Function

واعتقد هي ادق في الحسبة وبعد التجربة !

قارن بين الدالتين وفي الاشهر 2 و 3 و 5 و 6 و 8 و 9 و 11 و 12

 

السلام عليكم ورحمة الله تعالى وبركاته
استاذ رمهان فضلا وليس امرا انا عاوز مثال لانى مش قادر اطبق ده ومش قادر استوعب الموضوع اممممم
وفى مثال انا طرحته هنا فى هذا الموضوع


ولكن به خلل فى الحسابات

وهذا المثال اعجبتنى فكرته جدا حيث انه يستثنى من الحسابات العطل والايام الاجازة الرسمية المسبقة الادخال فى جدول هوليداى
قمت بتصميمه بناء على ما استطعت فهمه من موقع مايكروسوفت الا انه به خلل ايضا فى العمليات الحسابيه لا اعرف هل الخلل منى 
اتمنى لو وقتكم الكريم يسمح التعديل على المثال فى المرفق 

حساب الايام الفعلية بدون العطل الرسمية والجمعة والسبت.rar

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