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

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

قام بنشر

لوكان عندي مربع نص رقم 1

ومربع نص رقم 2

رقم 1 فيه بداية التاريخ ورقم 2 فيه نهاية التاريخ

ش

مربع نص رقم 3 فيه عدد الأيام أو مجموع الأيام . يبدو أن الأمر بسيط لكن في الحقيقة دوخني جدا وبشرح لكم سبب الصعوبة .

لوكان عندي موظفة تريد إجازة تبدأ من تاريخ مثلا 1/2/2006 وتنتهي في 5/2/2006 فكم مجموع أيام إجازتها .

العمليه الرياضية أو البرمجة بتكون زي كذه

Text3=([text11]-[text2])
النتيجة هي = 4 أيام ولكن عمليا غير صحيحة لأن المنطق بيقول 5 أيام والسبب أن بداية يوم 1و2و3و4و5 هو إجازة لها ولما نجمعها حتكون 5 أيام وهذا هو الصح وليس نظريا ليكون 4 أيام . مثال آخر لو موظفة تريد يوم 1 فإن الجواب حسب ناقص فرق التاريخين هو صفر !!! ولكم جزيل الشكر فكرت في الكود أن أضيف 1 زي كذه
Text3=([text11]-[text2]+1)

طلع الناتج 5 أيام لكن واجهت مشاكل أخرى . أشارت على إحدى الزميلات ولما فكرت في كلامها وجدت أن هو الصح .

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

هي قاعدة IF THEN END IF ( للوب)

وجدت صعوبه كيف أكتب مربع النص 1 = مربع النص الثاني إذا أنتهى .

قام بنشر

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

لوكان عندي موظفة تريد إجازة تبدأ من تاريخ مثلا 1/2/2006 وتنتهي في 5/2/2006 فكم مجموع أيام إجازتها

المتعارف عليه في الاجازات هو التالي

تاريخ بدائة الاجازه = 1/8/1425

مدة الاجازه = 5

يكون تاريخ العوده = 6/8/1425

اي ان الاساس هنا هو مدة الاجازه + تاريخ الانفكاك

تاريخ العوده قد يتم تسجيله تلقائي او يدوين

والله اعلم

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

قام بنشر

السلام عليكم

طلع الناتج 5 أيام لكن واجهت مشاكل أخرى . أشارت على إحدى الزميلات ولما فكرت في كلامها وجدت أن هو الصح .

بعد إذن أخي ابو طيف ..

ما توصلت إليه أنت هو الصحيح وما أشارت عليك به زميلتك خاطئ .

فالمدة بين تاريخين ( للإجازات ) يحملان نفس القيمة هي يوم واحد وليس صفرا ، والصفر سينتج منطقيا دون تسجيل أي سجلات أو تواريخ .

فلماذا سنسجل تواريخ لإجازة لم تحدث ؟! :fff:

تحياتي .

قام بنشر

اضافة الى ماذكره الأساتذه / ابو هادي - ابو طيف

يفضل استخدام معامل فرق التاريخ بدل من طرح التاريخين , و يستعمل كذلك

Text3=datediff("d",[text11],[text2])

و هذا يحسب لك المدة الفعليه بدقة بدون اضافة واحد ,

قام بنشر

أخ أبوهادي لو كان عندك إجازة مدة يوم واحد ولتكن من 10/2/2006 فمتى سيكون نهاية الإجازة !!! حتما أنه نهاية يوم 10/2/2006 وهذا منطقيا . ولو طبقته كبرمجة بيعطيني المشكلة الي أنا ذكرتها في الأول . عموما مشاركة الأخ رضوان حلت لي هذا الألتباس . وأما مشاركة الأخ أبوطيف فأقول صحيح هذا المعمول فيه بالإجازات وأخذته بعين الأعتبار . مشكورين جميعا والله يعطيكم العافيه :fff:

قام بنشر

السلام عليكم

أنا أيدت أضافة 1 على ناتج الطرح وهي نفس ما توصلت إليه أنت فما المشكلة في ذلك ؟!

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

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

تحياتي .

قام بنشر

السلام عليكم

فاسأل من كان بها خبيرا

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

, و لكن لعل ما أشكل على الأخت ليلى في جواب أبو هادي أنه اقتبس من كلامها تصويب فعلها دون تضمين المعادلة بالاقتباس

و هي لم تنتبه أن معادلتها باضافة الواحد هي المقصودة بالاقتباس

Text3=([text11]-[text2]+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