الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

*فورم* عدد أيام الخميس والجمعة

مغلق
بدأه فتى الوادي في 15 فبراير 2003 · 20 رد · 1,541 مشاهدة · في مراجعة المواضيع
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

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

مثلاً : إذا كان لدينا ( 10 ) ايام .. من تاريخ 1/1/1423 هـ إلى نهاية 11/1/1423هـ نريد مربع نص يظهر فيه عدد ايام الخميس والجمعة الواقعة في هذه الفترة .

لمزيد من الأيضاح أنظر الملف المرفق .

db1.zip

mk17481_26bccea871.gif
#2

الاخ فتى الوادي

لايوجد في جهازي اكسيس لفتح ملفك ولكن عندي لك حكاية حل اتمنى يفيدك

1- احسب الايام الواقعة بين التاريخين ضع قيمتها في متغير

2- سوي لوب ينتهي بعدد الايام

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

وفقك الله

#3

شاهد هذا الملف

#4

عفوا لقد غيرت في المعادلة حيث ان المعادلة الاولى كانت القسمة خطاء

ارجو ان يكون هذة المرة الحل صح

db2.zip

#5

نعم لقد توصلت أنا كذلك إلى حل .. مستعيناً بالله .. ثم بما طرح في موضوع سابق ( تخطي ايام الخميس والجمعة .. )

أنظر المثال المرفق

countdays.zip

mk17481_26bccea871.gif
#6

السلام عليكم

وهذا حل آخر .

http://www.arabteam2000.com/vb/showthread....=&threadid=4615

تحياتي

مع ملاحظة فشلي في البحث بإضافة إحدى الكلمات سواء في العنوان أو الموضوع ووصلت له بعد استعراض كل مساهماتي والتجول فيها . لذا آمل من المسئولين التنبه لهذه المشكلة والعمل على حلها .

#7

بالفعل توجد مشكلة فى البحث ،ـ و تأمل حلها قريبا بإذن الله

#8

الإخوة الكرام

السلام عليكم

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

ولا أدري لماذا أعاد الأخ فتى الوادي السؤال على الرغم من أنني أجبته على هذا السؤال في مشاركة سابقة على الرابط التالي

http://www.arabteam2000.com/vb/showthread....%E1%CE%E3%ED%D3

آمل منه عدم تكرار الأسئلة حتى لا يؤدي ذلك إلى تضييع جهود الإخوة على ما هو موجود أصلاً

تحياتي للجميع

أخوكم / أبو هاجر

#9

السلام عليكم

لقد عملت مقارنة بين دالتي ودالة DateDiff الجاهزة .. آمل منكم تجربتها بأنفسكم واحرصوا على مراجعة يوم الإثنين Monday .

Sub How2Use_CountWkDay()

  Dim FmDate As Variant

  Dim ToDate As Variant

  Dim K As Byte

  

  FmDate = CDate(DateSerial(2001, 10, 1))

  ToDate = CDate(DateSerial(2001, 10, 31))

  

  For K = vbSunday To vbSaturday

    MsgBox Nz(CountWkDay(FmDate, ToDate, K)), , DateDiff("ww", FmDate, ToDate, K)

  Next K

تحياتي

#10

السلام عليكم

مثال للمقارنة :

datediff.zip

#11

أخي الكريم أبا هادي

السلام عليكم

تحية على هذه الدقة في اختبار الدالة هذا أولاً

ثانياً حين تفحصت الدالة أدركت للوهلة الأولى أن ليس فيها خطأ وإنما الخطأ في فهمي لعملها ولذا فقد راجعت التعليمات وعرفت المشكلة مباشرة وهذا نص التعليمات

اقتباس
If interval is Week ("ww"), however, the DateDiff function returns the number of calendar weeks between the two dates. It counts the number of Sundays between date1 and date2. DateDiff counts date2 if it falls on a Sunday; but it doesn't count date1, even if it does fall on a Sunday.

ومعنى ما سبق أن الدالة لا تقوم بحساب اليوم الموافق للتاريخ الأول وبناء على ذلك فقد عدلت في مثالك تعديلاً يسيراً بحيث أصبحت النتيجة واحدة مع المحافظة على استخدام الدوال المبنية داخل أكسس

المثال مرفق ولك تحياتي

أخوك / أبو هاجر

datediff.zip

#12

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

أنا لا حظت أن الحساب كله فيه خطأ ...

مثال ذلك .. لو أدخلنا له تاريخ ميلادي من تاريخ 15/2/2003 ..... إلى تاريخ 18/2/2003 ..يعني من السبت إلى الثلاثاء ... راح يطلع عندك عدد أيام الخميس والجمعة = ( 1 ) والأيام عادية = ( 3 ) ... وهذا خطأ ... لأنه من السبت إلى الثلاثاء لا يوجد أيام خميس وجمعة .. وكان يفترض في حقل عدد أيام الخميس والجمعة أن تطلع = ( 0 ) وعدد اليام الأجمالي = ( 4 ) ...

لا حظ وجرب بنفسك ...

أنظر الصورة ...

mot1.gif

mk17481_26bccea871.gif
#13

أخي الكريم فتى الوادي

أبداً النتائج صحيحة وقد جربت التاريخين نفسهما فكانت النتائج صحيحة لكن من الواضح أن المشكلة في استخدامك للأكواد

هل يمكن أن ترفق المثال الذي وضعت صورته

تحياتي

أخوك / أبو هاجر

#14

الأخ الفاضل أبو هاجر

شكرا على التوضيح .. ويبدو أنك أرفقت الملف القديم قبل التعديل :

عموما التعديل المقترح لمستخدمي دالة DateDiff هو إنقاص يوم من تاريخ البداية كالتالي :

DateDiff("ww", FmDate - 1, ToDate, K)

تحياتي

#15

أخي الكريم أبا هادي

السلام عليكم

أبداً الملف المرفق هو بعد التعديل فهو وجدت فيه خطأ ؟

لقد جربته وكانت نتائج الدالتين متطابقة

وتعديلك جميل جداً وفيه بساطة فتحياتي لك

أخوك/ أبو هاجر

#16

أخي أبا هاجر

ترى الواحد من يعدي عمر الـ 27 :) تبدأ المشكلات تزيد معه . عموما تنبهت أن الملف الذي أنزلته هو ملفي وليس ملفك بعد التعديل . (استر على ما واجهت) .

مع تحيات أخوك أبو هادي

#17

السلام عليكم

سامحوني على اشغالكم .. فهذه المسألة أشغلتني منذ فترة وإلى الآن ... لا حظ الملف المرفق ...

مع أني لم أغير شيء في الوحدة النمطية ....

لكن أنا اظن أن المشكلة- إذا وجدت - هي في تحديد يوم البداية ويوم النهاية للأسبوع وذلك في الوحدة النمطية ... لا حظ الصورة ...

mot002.gif

mot2.zip

mk17481_26bccea871.gif
#18

أخي فتى الوادي

هناك خطأ واضح وهو أن الدالة تحسب يومي الثلاثاء والجمعة وليس الخميس والجمعة فالخميس بالإنجليزي Thursday وليس Tuesday .

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

ولك تحياتي

#19

أخي الكريم فتى الوادي

السلام عليكم

أعتقد أنني أتحمل جزءاً كبيراً من الخطأ الذي وقع فقد اكتشفت أنني أخطأت في كتابة الدالة أكثر من خطأ

وقد قمت بالتعديل على ملفك آمل التجربة والإفادة

تحياتي لك ولأخي أبي هادي

أخوكم / أبو هاجر

mot2.zip

#20

الأخوان أبو هادي وأبو هاجر .. وجميع الأخوة ... السلام عليكم

أشكر لكم تفاعلكم ... وأعتذر عن اشغالكم ..

الأخ ابو هاجر .. الملف بعد التعديل زادت مشاكله جداً ..

لكن أنا عدلت في الوحدة وزيادة يوم على المدة .... الخ

وهو الآن فعال جداً ... جرب أدخال تواريخ مختلفة ..ولاحظ الفرق بينه هذا وبين ماسبقه من محاولات ..

سؤال *** لكن هل يمكن وضع تقويم للتاريخ الهجري مثل الذي في النموذج .. لكن يكون للتاريخ الهجري ؟؟؟!! ***

أشكر لكم جهدكم وصبركم ... والسلام عليكم

motlast.zip

mk17481_26bccea871.gif
#21

أخي الكريم فتى الوادي

السلام عليكم

اكتشفت بتنبيه من أخي أبي هادي أن في الكود الذي كتبته لك خطأ وهو وضع يوم الأربعاء بدلاً من يوم الخميس ولو عدلت فيه لكن كل شيء على ما يرام

بالنسبة للتقويم الذي وضعته أنت فهو عبارة عن أداة Activex وقد سبق أن وضعت ووضع بعض الإخوة تقويماً مشابها ً لها بالهجري

تحياتي

هذا الموضوع مغلق.

مواضيع مشابهة