كيف يمكنني دائمًا تجميع القيم العشرية إلى أقرب قيمة عدد صحيح؟
-
23-09-2019 - |
سؤال
في تقرير لدي الرمز التالي للحقل:
=Sum([PartQty]*[ModuleQty])
مثال نتائج 2.1
و 2.6
. ما أحتاجه هو أن تتجول هذه القيمة إلى قيمة 3
. كيف يمكنني تغيير رمز الحقل الخاص بي لتجميع نتائج تعبيري الحالي دائمًا؟
المحلول
يمكنك أن تفعل
=Int(Sum([PartQty]*[ModuleQty]))+1
أظن. من شأن ذلك أن يحصل على الجزء الداخلي من المبلغ (2) ثم إضافة 1. قد تحتاج إلى أن تكون أكثر ذكاءً بقليل لأن هذا ربما يعطيك 3 حتى لو كان المبلغ هو بالضبط 2 ، وهو ما لا تريده على الأرجح.
لم يتم اختباره ولكن شيء على طول هذه الخطوط قد يعمل (بناء جملة Access ليس رائعًا ، ولكن يجب أن يعطيك الفكرة الصحيحة):
Iif(Sum([PartQty]*[ModuleQty])-Int(Sum([PartQty]*[ModuleQty]))=0,
Sum([PartQty]*[ModuleQty]),
Int(Sum([PartQty]*[ModuleQty]))+1)
نصائح أخرى
هذه خدعة وصول قديمة تعلمتها منذ وقت طويل ، وهي تستخدم طريقة الوصول إلى أرقام سلبية كسرية. جرب هذا:
-Int(-[DecimalValue])
إنه أمر غريب ، لكنه دائمًا ما يدور حول أرقامك إلى أقرب رقم كامل.
اختبار هذا: جولة (yournumber + 0.5 ، 0)
لا تنتمي إلى StackOverflow