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

تقريب الكسور العشرية بحقل بالاكسس


Ahmed_J
إذهب إلى أفضل إجابة Solved by Hawiii,

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

السلام عليكم اساتذتي الاعزاء 

لدي كود بنموذج يساوي كود بنموذج اخر مضروب بنسبة (0.0025)  لكن اغلب النتائج تظهر بالكسور مثلا الحقل ( 30,100=n28) * (0.0025) =(75,25) 

Forms![form1_1]![n28] = Me![MAG] * 0.0025

المطلوب : اذا كانت النتيجة فيها كسر = 75,5  فهي مقبولة

اذا كانت النتيجة للكسر اكبر من 5 تتحول الى 1  قيصبح المجموع (76)

اذا كانت النتيجة للكسر اقل من 5 تتحول الى 0  قيصبح المجموع (75)

علما انني جربت الدوال التالية (Int,Round,Fix) ولم تنفع اعتقد يمكن عملها بدالة iff

تحياتي للجميع

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

56 minutes ago, Ahmed_J said:

السلام عليكم اساتذتي الاعزاء 

لدي كود بنموذج يساوي كود بنموذج اخر مضروب بنسبة (0.0025)  لكن اغلب النتائج تظهر بالكسور مثلا الحقل ( 30,100=n28) * (0.0025) =(75,25) 

Forms![form1_1]![n28] = Me![MAG] * 0.0025

المطلوب : اذا كانت النتيجة فيها كسر = 75,5  فهي مقبولة

اذا كانت النتيجة للكسر اكبر من 5 تتحول الى 1  قيصبح المجموع (76)

اذا كانت النتيجة للكسر اقل من 5 تتحول الى 0  قيصبح المجموع (75)

علما انني جربت الدوال التالية (Int,Round,Fix) ولم تنفع اعتقد يمكن عملها بدالة iff

تحياتي للجميع

وعليكم السلام.. استخدمت الدالة وكانت النتيجة كماتريد

image.png.d094b6ca41d9717ff785f9c12c26239c.png

=Round(([Forms]![frmProjects]![frmPaid]![txtpaidTotal])*0.0025)

 

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

شكرا لك استاذ @husamwahab

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

الرجاء ملاحظة الكود  واصبح التالي لو كان فيه خطا

Forms![form1_1]![n13] = IIf([MAG] * 0.0025 - Int([MAG] * 0.0025) = 0.5, [MAG] * 0.0025, Int([MAG] * 0.0025 + 0.5))

تحياتي لك

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

2 hours ago, Ahmed_J said:

شكرا لك استاذ @husamwahab

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

الرجاء ملاحظة الكود  واصبح التالي لو كان فيه خطا

Forms![form1_1]![n13] = IIf([MAG] * 0.0025 - Int([MAG] * 0.0025) = 0.5, [MAG] * 0.0025, Int([MAG] * 0.0025 + 0.5))

تحياتي لك

السلام عليكم.. عملت مع هذا الكود ولم ينجح معي .. لكن اجعل هذا الكود في مربع نص اخر  مصدره الحقل الحسابي لديك والتي تظهر فيه الكسور

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

  • أفضل إجابة

جرب هذه الدالة ، ضعها في موديول ثم استخدمها في معادلاتك كما تستخدم الدالة الأصل Round

Function myRound(Number As Double) As Double
  If Number - Fix(Number) = 0.5 Then
    myRound = Number
  Else
    myRound = Round(Number, 0)
  End If
End Function

 

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

4 دقائق مضت, Ahmed_J said:

هل طريقة استدعاها  من الوحدة النمطية صحيحة  بهذا الشكل

Forms![form1_1]![n13] = myRound(Me![MAG] * 0.0025)

نعم صحيح
ويمكنك التخلص من الأقوس المربعة فلا داعي لها هنا .. وربما بعد إزالتها ستضظر لتبديل علامة التعجب (!) بالنقطة (.) غير متأكد ولكن اللغة سوف تساعدك في حال وجود خطأ برمجي.

  • Like 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