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

كيف يتم التقريب لاقرب 5

بدأه محمد فؤاد تركي في 17 سبتمبر 2010 · 6 رد · 6,006 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الاخوة الزملاء

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

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

مثال : - وكما تشاهدون في الصورة المرفقة

اذا كانت النتيجة عدد قريب من الرقم 30 مثلا 28 تصبح النتيجة 30 واذا كانت النتيجة اقرب من 25 مثلا 23 تصبح النتيجة 25 وهكذا

مرفق مثال

post-46243-079186400 1284718330_thumb.jp

Round.rar

المرفقات
1.jpg

تم تعديل هذه المشاركة بواسطة اكسيرالحياة في 18 سبتمبر 2010 في 11:50

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#2

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

emad: IIf(Right([Balance];1)>=3;Left([Balance];1) & 5;[Balance]-Right([Balance];1))

حكمتي الخاصة كلما ابتعدت عن الناس صغرت في اعينهم وكلما اقتربت زاد حجمك في نضرهم

#3

تفضل اخى الكريم

اليك هذه الدالة

Round.rar

2

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#4

أو استخدم هذه مباشرة في الاستعلام

My_Round_Field: Round(IIf(([Balance] Mod 5>=3);([Balance]-([Balance] Mod 5)+5);([Balance]-([Balance] Mod 5))))

تحياتي

OMANI FOR EVER

-------------------------------------------------

post-12787-12780191801974.jpg

-------------------------------------------------

#5

أخواني الافاضل ونأسف علي التأخير في الرد

كفيتم ووفيتم

الحل مظبوط 100%

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#6
اهدنا الصراط كتب:

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

emad: IIf(Right([Balance];1)>=3;Left([Balance];1) & 5;[Balance]-Right([Balance];1))

في هذا المثال أنت تبحث عن الرقم الاخير وتقوم بتعديله . ستواجه مشكلة عند الارقام الصحيحه الأقل من 10 . سوف يقوم باضافة 5 وبالتالي لو كان الرقم 3 سوف يصبح 35 .

تحياتي

OMANI FOR EVER

-------------------------------------------------

post-12787-12780191801974.jpg

-------------------------------------------------

#7

سؤال جيد أخي محمد

وحل وموفق أخي mrnooo

وإذا سمحت لي قمت بتعديل بسيييييييييط في الدالة لتصبح هكذا

Function rnd5(x As Double) As Integer
rnd5 = IIf(x - (x \ 5) * 5 >= 2.5, (x \ 5) * 5 + 5, (x \ 5) * 5)
End Function

أتمنى أن أكون قد وفقت في ذلك

وهدية مني لمن استعمل دالة ceiling & floor في إكسل ويريد استعمالها في أكسس

يمكنك استعمال هذه الدوال البسيطة

Function Ceiling(ByVal x As Double, Optional ByVal Factor As Double = 1) As Double
    Ceiling = (Int(x / Factor) - (x / Factor - Int(x / Factor) > 0)) * Factor
End Function

Function Floor(ByVal x As Double, Optional ByVal Factor As Double = 1) As Double
    Floor = Int(x / Factor) * Factor
End Function

ولا تنسوا أخاكم محمد صالح من صالح دعائكم

تم تعديل هذه المشاركة بواسطة mas123 في 20 سبتمبر 2010 في 23:29

التغير هو القانون الدائم للحياة.ودوام الحال من المحال

فلماذا لا نتغير بإرادتنا إلى ما نريد؟ قبل أن تغيرنا الحياة مجبرين إلى ما لا نريد؟

موقعي

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