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

ضرب رقم في ساعة ليكون الناتج بالساعات

مغلق
بدأه iimoham في 21 سبتمبر 2005 · 4 رد · 861 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

احتاج في Query لضرب قيمة عدد الساعات (Format short time 00:00) في عدد العمال (Format number) ويكون الناتج إجمالي عدد ساعات العمل الفعلية (00:00) حيث انه في الوضع الحالي إذا اخترت Short time format فانه إذا تعدت اجمالي الساعات 24:00 ساعة فانه يعيد من صفر مره اخرى فكيف يمكن جعلة يكتب الساعة كما هي مثلاً 30:00

#2

اخي الكريم

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

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

اولا : قم بإنشاء جدول يحتوي على الحقول التالية

ID .......... رقم معرف / نوعه ترقيم تلقائي

Time ....... ساعات العمل / نوعه تاريخ ووقت ( ShortTime )

Workers .... عدد العمال / نوعه رقم

بعد الانتهاء من انشاء الجدول قم بحفظه وقم بتعبئة الوقت المطلوب مثلا

ساعات العمل ........ عدد العمال

10:30 ............... 4

08:45............... 6

11:00 ............... 3

13:30 ............... 8

ثانيا : قم بإنشاء وحده نمطية جديده وضع بها هذا الكود

Public Function HoursAndMinutes(interval As Variant) As String
'***********************************************************************
' Function HoursAndMinutes(interval As Variant) As String
' Returns time interval formatted as a hours:minutes string
'***********************************************************************
Dim totalminutes As Long, totalseconds As Long
Dim hours As Long, minutes As Long, seconds As Long
If IsNull(interval) = True Then Exit Function

hours = Int(CSng(interval * 24))

totalminutes = Int(CSng(interval * 1440))   ' 1440 = 24 hrs * 60 mins
minutes = totalminutes Mod 60

totalseconds = Int(CSng(interval * 86400))  ' 86400 = 1440 * 60 secs
seconds = totalseconds Mod 60

If seconds > 30 Then minutes = minutes + 1  ' round up the minutes and
If minutes > 59 Then hours = hours + 1: minutes = 0 ' adjust hours

HoursAndMinutes = hours & ":" & Format(minutes, "00")
End Function

ثالثا : قم بإنشاء استعلام مبني على الجدول

في نهاية الاستعلام انشئ حقل جديد وضع به هذا الكود

TOTAL: HoursAndMinutes([Time]*[workers])

حيث Total هي مجموع عدد ساعات العمل

HoursAndMinutes هي اسم الدالة المأخوذه من الوحدة النمطيه

Time هو الوقت او الساعات التي موجوده بالجدول

workers هو عدد العمال

الان قم بتشغيل الاستعلام وستظهر النتيجه كما تريدها

رابعا : نقوم بإنشاء نموذج مبني على الجدول لكي نستطيع الكتابه به ثم نقوم بإنشاء مربع نص غير منضم ونضع به هذا الكود

=HoursAndMinutes([Time]*[work]) & " ساعة"

وستظهر لك النتيجه مباشرة بمجرد كتابة الوقت وعدد العمال وهذا مثال على ذلك

WorkTimes.rar

لمزيد من المعلومات انظر الروابط التاليه للاستفاده

حساب الوقت المنقضي

قواعد البيانات بين النظرية والتطبيق

اختكم

زهره

#3

الاخ العزيز

حسب فهمي للموضوع

لدينا 5 عمال اشتغلوا 4:20

6 عمال اشتغلوا 3:50

فاننا نعمل الاتي(4*60+20)*5+(3*60+50)*6=2680 دقيقة

ثم

2680/60 لاظهار عدد الساعات ولا تنسى استعمال INT

INT(2680/60 ويساوي 44 ساعة

ثم

60/2680-int(2680/60 ونضرب الناتج في 60/100 لاظهار الدقائق

ويساوي 40 دقيقة

والسلام

أحمد

#4

الاخ الفاضل احمد

لدينا مثلا 300 عامل كل ثلاثة عمال او خمسه او غير ذلك يعني على شكل مجموعات صغيره كل مجموعة عملت لعدد من الساعات هل تعتقد ان الطريقة التي ذكرتها في شرحك مجديه .

اتمنى ان تحاول تطبيق ما قمت بشرحه بعمل مثال ولا تنسى ان يكون عدد السجلات كثير لترى النتيجه

اختكم

زهره

#5

الاخت الكريمة

ارفق لك ما طلبه المشترك وفق رغبته

"احتاج في Query لضرب قيمة عدد الساعات (Format short time 00:00) في عدد العمال (Format number) ويكون الناتج إجمالي عدد ساعات العمل الفعلية" وهذا طلب الاخ المشترك

وحيث اني عادة لا احبذ اعطاء الحل بل اعطاء فكرة الحل واعتقد ان هذا افضل حتى احث المشترك على التفكير بدل من اعطاءه دالة جاهزة من عمل غيره لا يفهم حتى مصطلحاتها الاجنبية

واليك حل مبسط حسب طلبك

أحمد

db2.rar

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…