hh88 قام بنشر أغسطس 27, 2017 قام بنشر أغسطس 27, 2017 السلام عليكم ورحمة الله وبركاتة اساتذتي الاعزاء آمل تعديل الكود التالي في حقل محسوب بالجدول حيث انه لايعترف بالساعة 24:00 حاولت اجرب 00:00 ولم يضبط TimeSerial(Hour([open])-Hour([close]);Minute([open])-Minute([close]);Second([open])-Second([close]))
hh88 قام بنشر أغسطس 27, 2017 الكاتب قام بنشر أغسطس 27, 2017 السلام عليكم لمن لدية الخبرة في اوقات الاكسس لدي مشكلة ارجو منكم مساعدتي،لدي قاعدة بيانات في الاكسس واريد فارق الوقت بين وقتين ومعي ثلاث مربعات نص ادخل في مربع النص الاول وهو وقت حصول العطل مثلا 15:00 وادخل في مربع النص الثاني وقت اصلاح العطل مثلا 18:00 وتظهر لي النتيجة في المربع الثالث وهو فارق الوقت بين الوقتين 03:00 واستخدمت دالة TimeSerial لعمل هذه العملية ولكن معي مشكلة في الوقت اذا ادخلت في المربع الاول 22:00 والمربع الثاني 24:00 هنا يجب ان يكون الناتج الفارق 2:00ولكن اكسس لا يقبل القيمة 24:00 واذا ادخلت 22:00 وادخلت 00:00 على اساس انه منتصف الليل يعطي لي النتيجة 22:00 ساعة وفي الاصل فارق الوقت بينهم 02:00 اي ساعتان ماهي حل المشكلة...وشكرا 1
ابوخليل قام بنشر أغسطس 27, 2017 قام بنشر أغسطس 27, 2017 سبق وان اجبت على تساؤل شبيه وأنسيت اهو لك ام لغيرك المشكلة التي تحصل للكثيرين حين يدخل الوقت في يوم جديد الحل : لا تدخل الوقت هكذا : 03:00 او هكذا 03:00:04 وانما استخدام التاريخ الكامل General Date ( وهو يشتمل على التاريخ والوقت ) بواسطة الدالة Now 1
Shivan Rekany قام بنشر أغسطس 27, 2017 قام بنشر أغسطس 27, 2017 وانا مع الکلام استاذنا ابوخليل 100% وسيكون احسن لك ولقاعدتك ان تمشي معاه وعلى رغم كل شيء اذا تطلب النتيجة على طريقتك سنعطيك طريقة لكن لا تنسى هذه ليس افضل طريقة 1 ساعه مضت, hh88 said: اذا ادخلت في المربع الاول 22:00 والمربع الثاني 24:00 هنا يجب ان يكون الناتج الفارق 2:00 فرضنا عندنا ثلاث حقول باسماء t1 , t2 ,t3 تي 1 لوقت العطل تي 2 لوقت الاصلاح تي 3 للفرق بينهما اليك هذا الكود If Me.t2 = #12:00:00 AM# Then Dim i i = #11:59:00 PM# - Me.t1 Me.t3 = i + #12:01:00 AM# Else Me.t3 = Me.t2 - Me.t1 End If
hh88 قام بنشر أغسطس 27, 2017 الكاتب قام بنشر أغسطس 27, 2017 41 minutes ago, Shivan Rekany said: وانا مع الکلام استاذنا ابوخليل 100% وسيكون احسن لك ولقاعدتك ان تمشي معاه وعلى رغم كل شيء اذا تطلب النتيجة على طريقتك سنعطيك طريقة لكن لا تنسى هذه ليس افضل طريقة فرضنا عندنا ثلاث حقول باسماء t1 , t2 ,t3 تي 1 لوقت العطل تي 2 لوقت الاصلاح تي 3 للفرق بينهما اليك هذا الكود If Me.t2 = #12:00:00 AM# Then Dim i i = #11:59:00 PM# - Me.t1 Me.t3 = i + #12:01:00 AM# Else Me.t3 = Me.t2 - Me.t1 End If استاذي الكريم شفان فين اضع هذا الكود
Shivan Rekany قام بنشر أغسطس 27, 2017 قام بنشر أغسطس 27, 2017 1 ساعه مضت, hh88 said: استاذي الكريم شفان فين اضع هذا الكود الیک المرفق لکن لا انصحك باستخدام هذه الطريقة الا اذا كان كلا الوقتين في يوم واحد Database1.rar 2
hh88 قام بنشر أغسطس 28, 2017 الكاتب قام بنشر أغسطس 28, 2017 10 hours ago, Shivan Rekany said: الیک المرفق لکن لا انصحك باستخدام هذه الطريقة الا اذا كان كلا الوقتين في يوم واحد Database1.rar اشكرك استاذي الكريم شفان في حالة ادخال الوقت بعد منتصف الليل لايحسب صحيح هل يمكن تطبيق فكرة استاذنا العزيز على مثالك اسف على الازعاج والف شكر
hh88 قام بنشر أغسطس 28, 2017 الكاتب قام بنشر أغسطس 28, 2017 21 hours ago, Shivan Rekany said: الیک المرفق لکن لا انصحك باستخدام هذه الطريقة الا اذا كان كلا الوقتين في يوم واحد Database1.rar هل من حل اخر اخي شفان حيث ان الموضوع يهمني الوقت اذا تعدى منتصف الليل يحسب غير صحيح يكون فارق وقت كبير بين الوقتين هل يوجد لديك طريقة اخرى لضالتي ولك اجمل تحياتي
تمت الإجابة Shivan Rekany قام بنشر أغسطس 28, 2017 تمت الإجابة قام بنشر أغسطس 28, 2017 2 دقائق مضت, hh88 said: هل من حل اخر اخي شفان حيث ان الموضوع يهمني الوقت اذا تعدى منتصف الليل يحسب غير صحيح يكون فارق وقت كبير بين الوقتين هل يوجد لديك طريقة اخرى لضالتي ولك اجمل تحياتي لان سيستم هو 24 ساعة وليس 12 ساعة اتفضل اليك هذا الكود Private Sub T2_AfterUpdate() Dim i If Me.T1 > Me.T2 Then If Me.T2 = #12:00:00 AM# Then i = #11:59:00 PM# - Me.T1 Me.T3 = i + #12:01:00 AM# Else i = #11:59:00 PM# - Me.T1 Me.T3 = i + #12:01:00 AM# + Me.T2 End If Else Me.T3 = Me.T2 - Me.T1 End If End Sub واليك المرفقDatabase1 (2).rar 10 ساعات مضت, hh88 said: هل يمكن تطبيق فكرة استاذنا العزيز على مثالك فقط عليك ان تكتب بدل الوقت القصير تكتب now() ,وبعدين ستعمل عملية حذف بين الوقت الاول والثاني 1
hh88 قام بنشر أغسطس 28, 2017 الكاتب قام بنشر أغسطس 28, 2017 5 hours ago, Shivan Rekany said: لان سيستم هو 24 ساعة وليس 12 ساعة اتفضل اليك هذا الكود Private Sub T2_AfterUpdate() Dim i If Me.T1 > Me.T2 Then If Me.T2 = #12:00:00 AM# Then i = #11:59:00 PM# - Me.T1 Me.T3 = i + #12:01:00 AM# Else i = #11:59:00 PM# - Me.T1 Me.T3 = i + #12:01:00 AM# + Me.T2 End If Else Me.T3 = Me.T2 - Me.T1 End If End Sub واليك المرفقDatabase1 (2).rar فقط عليك ان تكتب بدل الوقت القصير تكتب now() ,وبعدين ستعمل عملية حذف بين الوقت الاول والثاني الف الف مليون شكر استاذي الكريم وفقك الله واسال الله ان يحفظك ويبارك فيك تقبل اجمل تحياتي اخي شفان
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.