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

حساب عدد ساعة معينة بين تاريخين


higo2015
إذهب إلى أفضل إجابة Solved by Moosak,

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

سلام عليكم 

أنا الآن أقوم بتصميم برنامج تكليف بمهمة 

وفي صدد حساب كم من وجبة غذاء و كم من وجبة عشاء وكم ليلة مبيت لكي أقوم بحساب مستحقات المهمة 

مثلا الغذاء على 12:00 

العشاء على 9:00 

إذا خرج الموظف في 11/05 على الساعة 11:00 وعاد في 13/05 على الساعة 12:30 

أي الموظف لديه 3 وحبات غذاء و 2 وجبات عشاء 

و 2 ليلة مبيت 

أريد طريقة للحساب بارك الله فيكم 

 

 

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

السلام عليكم

اعتقد لست بحاجة للبحث بين التواريخ

فقط تعمل جدول تحكم  للتكليف على اعتبار الايام

يكون في الجدول حقول حسب المستحقات اليومية  الممنوحة ( غداء / عشاء / مواصلات ... وهكذا ) ويمكن ايضا وضع المبالغ المقدرة لكل مستحق ضمن الجدول .

فمثلا الموظف فلان تم تكليفه بمهمة لمدة ثلاثة ايام  ، فآليا يظهر له في التقرير ( قيمة الغداء  مضروب في 3 ) وهكذا بقية البنود

هذا رأيي لان هذه الطريقة اكثر مرونة وقابلة للتطوير والتعديل

 

 

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

  • أفضل إجابة

أهلا بك أستاذ @higo2015 🙂 

تفضل أستاذي هذه الطريقة - تحسب لك عدد وجبات الغداء التي تقع في الساعة 12 ظهر // ووجبات العشاء الساعة 9 مساءا // وعدد الليالي الساعة 12 ليلا :

image.gif.77ba2efb7fbbd72a77f9e98a9b2f4659.gif

باستخدام الدالة التالية :

Public Function LunchNDinnerNights(StartDate As Date, EndDate As Date) As String

Dim SH As Integer 'Start Hour
Dim TH As Integer 'Total Hours
Dim x As Integer
Dim H As Integer
Dim L As Integer 'Lunches
Dim D As Integer 'Dinners
Dim N As Integer 'Nights


SH = Format(StartDate, "HH")
'Debug.Print "Start Hour=" & SH

TH = DateDiff("H", StartDate, EndDate)
'Debug.Print "Total Hours=" & TH

For x = 0 To TH

H = Format(DateAdd("h", x, StartDate), "HH")
'Debug.Print "Hour=" & H

If H = 12 Then L = L + 1
If H = 21 Then D = D + 1
If H = 0 Then N = N + 1

Next x

LunchNDinnerNights = L & " Lunch , " & D & " Dinner , " & N & " Night ."

End Function

ثم تناديها هكذا :

    If IsNull(Me.StartText) Or IsNull(Me.EndText) Then Exit Sub
    
    Me.ResultText = LunchNDinnerNights(Me.StartText, Me.EndText)

مع مراعات أن تضع تنسيق التاريخ في المربعات بالصورة التالية : dd/mm/yyyy hh:nn:ss AM/PM

image.png.5a9b9c69a69f5adc1fa6279ebf35ecb2.png

جربها وأخبرني برأيك 🙂 

أدركتم العشاء والمبيت.accdb

تم تعديل بواسطه Moosak
  • Like 1
  • Thanks 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