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

حساب مدة الدوام بين يومين


lyla

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

السلام عليكم جميعا : لو أردنا أن نعرف فرق الوقت بين وقتين بأبسط الطرق ممكن بالكود التالي:

Def =[time2]-[time1]

مثل :

Def =[10:00 PM]-[12:00 PM]

الناتج طبعا 02:00

طيب تخيل أن Time1 = 01:00 AM يعني بعد الساعة 12 ليلا , منطقيا الناتج هو 03:00 ساعات لكن هنا تكمن المشكلة , الجهاز سيعتبر أن هذا يوم آخر وستكون النتيجة -21:00 . متأكدة أن تصميم برنامج زي كذه لا بد أن يكون هناك حقول في الجدول :

Date1

Time1

Date2

Time2

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

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

السلام عليكم

مشكلة حيرتني في مسألة الوقت

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

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

لذا كوني مشرفا فسيكون هذا آخر موضوع يفتح من قبلك لمشكلات الوقت وإلا سأضطر آسفا لحذفها .

آمل تقبل هذه الملاحظة بصدر رحب وأمنياتي لك بالتوفيق .

تحياتي .

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

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

=======================================

وخل صدرك رحب وقرأ هذي الوصلة

http://www.officena.net/ib/index.php?showt...3268&hl=التاريخ

ورد الأخ أيمن أبوأنس عندما أثار هذة الملاحظة وهذي خلاصتها :

لي بعض الملاحظات لو تكرمت وتابعتها معي :

1- بعد تنزيل البرنامج ( الفرق بين وقتين وليس تاريخين ) لم استطع تنفيذ ما يلي :

لو ان شخص بدأ دوامه الساعة 10:00 صباحا وبقي في دوامه حتى الساعة 1:00 ( اي 25:00 ) بعد منتصف الليل فانه يكون قد داوم 15:00 ساعة فالبرنامج لا يستطيع ان يحسبها ( او كيف يمكن حسابها عن طريق هذا البرنامج ) .

===================================

هل عرفت أيه المشرف الكريم قصدي وأين تكمن المشكلة . آسفة على الأزعاج عموما

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

السلام عليكم

مرفق مثال ، ناظري الإستعلام Query2 السجل الثالث .

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

تحياتي .

NumToTime.rar

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

  • 6 months later...

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

الحقيقة مشكلة حساب الساعات بين وقتين تغلبت عليها باستخدام معادلة

DateDiff

مع ملاحظة الاتى

يجب عند تسجيل الوقت ان أسجل الوقت والتاريخ معاً باستخدام now()

وعند عرض الحقل يستخدم تنسيق يظهر الوقت فقط دون التاريخ

وهذا مثال على ذلك

Me![hours_day] = (DateDiff("n", Me![from], Me![to])) / 60

هذه المعادلة تخزن قيمة الساعات فى خانة hours_day

تأتى بفرق الدقائق بين حقلين على النموذج from , to

ثم اقسم الدقائق المستخرجة على 60 تعطى عدد الساعات

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

ولعرض النتيجة فى صورة وقت استخدم

=Fix([hours_day]) & ":" & Format(([hours_day]-Fix([hours_day]))*60;"00")

الحل ده حل لى مشكلة فى قاعدة بيانات بها حضور وانصراف

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

السلام عليكم

ويمكن كذلك ضرب الوقت في 24 لتحويله من نوع وقت إلى نوع رقم .

طبعا عندما نريد أن نخرج الفرق بشكل تاريخ حسب النظام يمكننا أن نستخدم دالة Format كالتالي :

Format(Time2 - Time1,"hh:mm:ss")

ولكن المشكلة هنا لن يتمكن المستخدم من الحصول على أي نتيجة تزيد على 24 ساعة حيث أن أعلى قيمة بالنسبة للوقت هي 24 ، بمعنى لو كانت نتيجة جمع وقتين (وهذا ما طلبته السائلة) 25 ساعة مثلا فسوف تكون النتيجة 01:00:00 أي ساعة واحدة ، والمطلوب أن تكون النتيجة كما هي .

لاحظوا أنني أتكلم عن نوع وقت وليس تاريخ طويل أي تاريخ ووقت معا .

لقد نبهني أخي أمجد إلى استخدام دالة DateDiff للحصول على نتائج الطرح بالساعات أو الدقائق أو الثواني ، وهي فعلا تختصر الحصول على النتيجة مقارنة بما أقوم به أنا في الأمثلة المرفقة لهذه المواضيع بضرب الوقت في 24 .

لقد قمت وزملائي الكرام بتصميم كل دوال التاريخ والوقت لتقويم أم القرى ودالة التنسيق Format وهي ستوضح لأخي أمجد أنه بالإمكان الوصول "لروما" من طرق عدة ولا يعني أن نقيد حركتنا ونتقوقع بوجود دالة معينة في اللغة . وبكل تأكيد أن الدوال الداخلية built-in ستكون أسرع من الدوال المكتوبة بواسطة المبرمج .

وشكرا للأخ mm11 لمساهمته الكريمة ولأخي أمجد لتنبيهي بما يتصل بهذا الموضوع .

تحياتي .

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

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