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

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

قام بنشر

لدي جدول فيه ساعة بدء العمل وساعة انتهاء العمل

المشكلة أنه إدا كان بدء العمل الساعة 22:00 ونهاية العمل الساعة 6:00 يعطيني وقت أكبر من المنقضي

بحثت في الحلول وجدت أنه يجب أن نكتب دالة VB في حقل الوقت المنقضي وهي دالة IF بعد التحديث تقول:

(إذا كان الوقت المنقضي أكبر من صفر لا تقم بأي إجراء أو إذا كان صفر أو أصغر من صفر فأضف رقم 24 إلى النتيجة)

هل يمكن المساعدة بكتابة هذه الدالة

شكرا لكم سلفا

samer.accdbFetching info...

قام بنشر

أخي شكرا لردك، البرنامج هو خطة عمل موظفين عن شهر مقبل وطريقتك لاتفي بالغرض، أنا احتاج طريقة كتابة الدالة

قام بنشر
  في 14‏/5‏/2023 at 14:30, Samer Alani said:

المشكلة أنه إدا كان بدء العمل الساعة 22:00 ونهاية العمل الساعة 6:00 يعطيني وقت أكبر من المنقضي

Expand  

اخي العزيز ..حسبما اعلم ان هذا التوقيت تستخدمه الجيوش 

فحينما تقول الساعة 22 ..معناها الساعة 10 مساء ..وحينما تقول الساعة 6 معناها السادسة صباحا ...الفرق بينهما سيكون بالسالب يعني -16

كأنه يعيد بالتوقيت من الاعلى الى الاسفل 

اعمل هذه الدالة في استعلام :

 IIf([بدء الدوام]>[انتهاء الدوام];-([انتهاء الدوام]-[بدء الدوام])*24;([انتهاء الدوام]-[بدء الدوام])*24)

طبعا الدالة طلعت ملخبطة ..بسبب اللغة العربية 

قام بنشر
  في 14‏/5‏/2023 at 18:33, ابوخليل said:

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

Expand  

نعم استاذنا الكبير @ابوخليل

يفترض ان يستمع لنصيحتك في مشاركتك الاولى ..كان ماحصل معاه هاي اللخبطة 

مع احترامي الكبير لصاحب المشاركة ...

قام بنشر
  في 14‏/5‏/2023 at 18:36, Eng.Qassim said:

مع احترامي الكبير لصاحب المشاركة ...

Expand  

حاشا لله .. انا لا اقصد صاحب الموضوع بعينه ،،، وهذه اول زيارة ومشاركة له .. وكان علينا واجب الترحيب 

وانما الكلام للعموم  .. وهم كثر .

قام بنشر
  في 14‏/5‏/2023 at 21:02, ابوخليل said:

تطبيق احترافي لفكرة الحضور والانصراف واحتساب الوقت ..

Expand  

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

العين ما بتعلى على الحاجب، لست مبرمجا وإنما لدي هواية في هذا المجال، البرنامج ليس ساعات حضور وانصراف وإنما خطة عمل لموظفي حراسة عن شهر قادم، يعني توزيع السكيورتي على نقاط العمل ومتى يبدأ عملهم ومتى ينتهي، ولا ارغب بوضع تاريخ مع الساعات والدقائق، وجدت حلا إذا كان الشفت ليلي يبدأ في نهاية اليوم وينتهي في بداية اليوم الذي يليه أن أضع هذه الدالة في حقل الوقت المنقضي واخترت "محسوب" في الجدول وأعطاني النتيجة التي أريد.
أحببت مشاركة الفكرة معك 

IIf(([انتهاء الدوام]-[بدء الدوام])*24<0;(([انتهاء الدوام]-[بدء الدوام])*24)+24;([انتهاء الدوام]-[بدء الدوام])*24)

واذا كانت الدالة ملخبطة فقد أرفقت الملف

شكرا لكم

samer.accdbFetching info...

  • Thanks 1
قام بنشر
  في 15‏/5‏/2023 at 12:59, Samer Alani said:

IIf(([انتهاء الدوام]-[بدء الدوام])*24<0;(([انتهاء الدوام]-[بدء الدوام])*24)+24;([انتهاء الدوام]-[بدء الدوام])*24)

 

Expand  

هكذا تضبط معك (استخدم أداة تنسيق الأكواد image.png.dc6a9f83a2994379b53c501e672935e1.png من المحرر) :

IIf(([انتهاء الدوام]-[بدء الدوام])*24<0;(([انتهاء الدوام]-[بدء الدوام])*24)+24;([انتهاء الدوام]-[بدء الدوام])*24)
  • Thanks 1
قام بنشر (معدل)
  في 15‏/5‏/2023 at 18:19, Moosak said:

هكذا تضبط معك (استخدم أداة تنسيق الأكواد image.png.dc6a9f83a2994379b53c501e672935e1.png من المحرر) :

Expand  
IIf(([انتهاء الدوام]-[بدء الدوام])*24<0;(([انتهاء الدوام]-[بدء الدوام])*24)+24;([انتهاء الدوام]-[بدء الدوام])*24)

نعم هذا هو الكود شكرا لك

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

يمكنك استخدام دالة myMod بدلا من استخدام دالة IIf لفحص المدخلات.
 

Function myMod(Number As Double, Divisor As Double) As Double
    If Divisor <> 0 Then
        myMod = Number - Divisor * Int(Number / Divisor)
    End If
End Function



Sub Test()
    Dim Time1 As Date
    Dim Time2 As Date

    Time1 = TimeSerial(23, 0, 0)
    Time2 = TimeSerial(7, 0, 0)
    
    Debug.Print myMod((Time2 - Time1) * 24, 24)
End Sub

 

  • 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