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

خطأ فى جمع الأرقام العشرية + التقريب لأقرب خمس قروش

بدأه khaledhelmy في 18 سبتمبر 2014 · 1 رد · 1,233 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الملف المرفق به مشكلتين فى التقرير

إذا أدخلت فى النموذج رقم الفاتورة 317 فيظهر التقرير

المشكلة الأولى : إجمالى عمود الضريبة = 2695.91 والصحيح المفروض إنه يكون  2695.92 فأنا أريد أن يكون إجمالى العمود بدون أى تقريب لانه مزود واحد قرش فكيف يتم إيقاف زيادة هذا القرش

بالمعنى المختصر أن يكون الناتج الصحيح هو 2695.92 مثلما تم جمع هذا العمود على الألة الحاسبة .

المشكلة الثانية : خانات الإجمالى أمام كل رحلة وليكن مثلا الرحلة الأولى موجود بها رقم 6589.99 وهذا الرقم صحيح فعلاً ولكن بعد إذنكم أريد تقريبه إلى أقرب خمس قروش فيصبح 6590

أسف جداً لإطالة الشرح

وجزاكم الله كل خير

TRAVEL.rar

#2

السلام عليكم

في الإكسيل ليس هناك مشكلة يمكنك حل المشكلة من خلال دوال 

roundup التقريب لأعلى رقم صحيح او جزء من عشرة او مائة او الف

rounddown التقريب لأقل رقم صحيح او جزء من العشرة والمائة والالف 

أما الأكسيس فجرب الدالتين التاليتين - منفوووووول من موقع اجنبي 

Dim numvalue As Double 
numvalue = [Value] 
 'where [Value] is the field name on the form containing the value to be rounded.
 
 'Checks If the value has anything after the decimal point
 'if it does then stop the routine
If (numvalue - Int(numvalue)) = 0 ThenExit Sub 
 
 'otherwise, remove the decimal part of the value and add 1 to it to round it up.
Else 
    numvalue = Int(numvalue) + 1 
    MsgBox numvalue ' display the new value
     
     '[Value] = numvalue
     ' remove the ' from in front of the [Value] to make it the rounded up number
     
End If

الدالة الثانية - الانسب لك بعد التعديل عليها

'Method 2 suggested by MDmackillop. Using the Round function.
 'set the number variable as a double precision number.
Dim numvalue As Double 
numvalue = [Value] 
 'where [Value] is the field name on the form containing the value to be rounded.
 
 'Checks If the value has anything after the decimal point
 'if it does then stop the routine
If (numvalue - Int(numvalue)) = 0 Then Exit Sub 
 
 'otherwise, add 0.05 to the value which will force the round function to round it up.
Else 
    numvalue = Round(numvalue + 0.05) 
    MsgBox numvalue ' display the new value
     
     '[Value] = numvalue
     ' remove the ' from in front of the [Value] to make it the rounded up number
     
End If

تم تعديل هذه المشاركة بواسطة alaaaboulela في 18 سبتمبر 2014 في 05:48

"اللهم إني أسألك عملاً خالصاً لوجهك الكريم وأعوذ بك من النفاق والرياء "


 


http://fmalaa.wordpress.com/


 


قسم البرامج والتدريب ونظم المعلومات المحاسبية والكورسات المجانية 


 

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

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

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

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

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