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

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

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

السلام عليكم 

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

 

 

111111111111.rar

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

السلام عليكم 

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

111111111111.rar

قام بنشر

الاخ شوقي

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

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

 

تحياتي

قام بنشر

السلام عليكم

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

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

قام بنشر

اخي شوقي

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

  في 18‏/12‏/2015 at 15:14, شوقى5 said:

السلام عليكم 

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

111111111111.rar

Expand  

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

<>1 And <>7

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

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

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

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

 

بالتوفيق

قام بنشر

السلام عليكم 

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

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

 

قام بنشر
  في 19‏/12‏/2015 at 20:18, شوقى5 said:

السلام عليكم 

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

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

 

Expand  

ماتقول كده من اول واتريحنا !!: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...
قام بنشر
  في 19‏/12‏/2015 at 21: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

 

Expand  

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


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

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

حساب الايام الفعلية بدون العطل الرسمية والجمعة والسبت.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