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

تقريب العدد الصحيح بدون كسور


إذهب إلى أفضل إجابة Solved by Shivan Rekany,

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

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

عندي نوذج فاتورة  و في اجمالي الفاتورة يكون الرقم الصحيح ك 233 او 231  اريد ان يتم تقريب هذه الارقام الى 240
اي ان
251 تقرب الى 260

256 يقرب الى 260

و هكذا
 

مع العلم بحثت في المتدى ووجدت فقط دوال التقريب ارقام الكسور مثل 2.5 تقرب الى 3 و هذا غير مطلوب معي

الرجاء المساعدة

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

اهلا بك @رياض البرعي

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

اي قصدي في الاستعلام ام نموذج
اتفضل اليك هذا الكود

استخدمه في حدث بعد تحديث

If Right(Me.Text0, 1) <= 4 Then
        Me.Text2 = Int(Int(Me.Text0) / 10) * 10
Else
        Me.Text2 = Int(1 + Int(Int(Me.Text0) / 10)) * 10
End If

تيكست 0 هو اسم مربع نصي تبعك

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

3 دقائق مضت, Shivan Rekany said:

اهلا بك @رياض البرعي

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

اي قصدي في الاستعلام ام نموذج
اتفضل اليك هذا الكود

استخدمه في حدث بعد تحديث


Int(Int(Me.Text0) / 10) * 10

تيكست 0 هو اسم مربع نصي تبعك

تسلم اخي @Shivan Rekany

هذا هو المطلوب و لكن اريد ان يكون التقريب الى الاعلى
اقصد مثل 203 يتم تقريبها الى 210
وليس 200

 

اريدة في استعلام
و كذلك في نموذج

يعني الاثنين بارك الله فيك:biggrin:

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

  • أفضل إجابة
13 دقائق مضت, رياض البرعي said:

لكن اريد ان يكون التقريب الى الاعلى

اليك هذا تم عملت التعديل في مشاركتي الاعلاه

18 دقائق مضت, Shivan Rekany said:

Int(1 + Int(Int(Me.Text0) / 10)) * 10

وتقدر تستخدم دالة IIF في الاستعلام

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

5 دقائق مضت, Shivan Rekany said:

اليك هذا تم عملت التعديل في مشاركتي الاعلاه

وتقدر تستخدم دالة IIF في الاستعلام

هذا هو المطلووووووب  

تسلم اخي
و حفظك الرحمن من كل شر
و شهر كريم و كل عام و انت بالف خير

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

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

بعد اذن استاذي الفاضل الاستاذ الرائع شفان ريكاني ربي يحفظه يارب

اخي الفاضل رياض البرعي انا ايضا اتعلم من هذا المنتدى الاكثر من رائع وحسب علمي المتواضع فقط غير علامة الاصغر من الى علامة الاكبر في السطر الاول عسى يكون المطلوب

If Right(Me.Text0, 1) >= 4 Then 

تحياتي لك

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

اهلا بك @حربي العنزي

هذا لاستخدام الى الاسفل

Int(Me.Text0 / 10) * 10

وهذا الى الاعلى

Int(1 + Int(Me.Text0 / 10)) * 10

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

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

11 ساعات مضت, Shivan Rekany said:

اهلا بك @حربي العنزي

هذا لاستخدام الى الاسفل


Int(Me.Text0 / 10) * 10

وهذا الى الاعلى

Int(1 + Int(Me.Text0 / 10)) * 10

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

معليش استاذ شيفان 

لو العدد 200 او 210 او 10 

فهل السائل يريد كذلك 210 تصبح 220 ام تضل كماهي لانها مقربة للعشرة

تحياتي

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

6 دقائق مضت, رمهان said:

فهل السائل يريد كذلك 210 تصبح 220 ام تضل كماهي لانها مقربة للعشرة

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

 

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

10 دقائق مضت, Shivan Rekany said:

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

 

طيب لو طبقنا معادلتك للاكبر 

 

11 ساعات مضت, Shivan Rekany said:

وهذا الى الاعلى

Int(1 + Int(Me.Text0 / 10)) * 10

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

ستغير 10 الى 20 وهكذا ؟

هل انت فهمت قصدي؟

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

3 دقائق مضت, رمهان said:

ستغير 10 الى 20 وهكذا ؟

يعني لازم نستخدم هكذا

IIf(Right(Me.Text0, 1) <> 0, Int(1 + Int(Me.Text0) / 10) * 10, Me.Text0)

شكرا على التنبه

13 ساعات مضت, Shivan Rekany said:

استخدمه في حدث بعد تحديث


If Right(Me.Text0, 1) <= 4 Then
        Me.Text2 = Int(Int(Me.Text0) / 10) * 10
Else
        Me.Text2 = Int(1 + Int(Int(Me.Text0) / 10)) * 10
End If

تيكست 0 هو اسم مربع نصي تبعك

 

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

ايش رايك حسب فهمي

If Right(Text0, 1) <> 0 Then Text0 = Text0 - Right(Text0, 1) + 10

تحياتي

اضفنا الردود بنفس اللحظة استاذ شيفان

وهذي ب iif

IIf(Right(Text0, 1) <> 0, Text0 - Right(Text0, 1) + 10, Text0)

 

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

2 دقائق مضت, رمهان said:

ايش رايك حسب فهمي


If Right(Text0, 1) <> 0 Then Text0 = Text0 - Right(Text0, 1) + 10

تحياتي

نعم هو المطلوب عند طلب التقريب الى الاعلى وفي مشاركتي السابقة انا استحخدمت IIF كل منها يعطيك نفس النتيجة

ولكن بطريقة مختلفة

2 دقائق مضت, Shivan Rekany said:

IIf(Right(Me.Text0, 1) <> 0, Int(1 + Int(Me.Text0) / 10) * 10, Me.Text0)

شكرا لك مجددا

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

6 دقائق مضت, Shivan Rekany said:

يعني لازم نستخدم هكذا


IIf(Right(Me.Text0, 1) <> 0, Int(1 + Int(Me.Text0) / 10) * 10, Me.Text0)

شكرا على التنبه

 

العفو وتمام عليك

تحياتي

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

1 دقيقه مضت, رمهان said:

العفو

لا داعي تقول هذا

بل كلنا راح نستفيد من مشاركتك ونحن نشكرك لانك معنا
عطيتنا  طريقة اخرى 
كان ليس في الحسبان :smile:

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

الفكرة كانت 

ارجاع العدد الى اقل عشره ثم اضافة عشره بشرط ان هناك عدد وليس صفر اما اذا صفر فيترك لانه في منزل العشرات

فلو تشرح فكرت طريقتك ولماذا استخدمت int  نكون لك من الشاكرين

واكرر اعجابي استاذ شيفان بطريقة تفكيرك دائما

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

2 ساعات مضت, رمهان said:

فلو تشرح فكرت طريقتك ولماذا استخدمت int  نكون لك من الشاكرين

اولا انا اشكركم لانكم قبلت ان اكون معكم

مع العملية : الى الاعلى

int(1988.98) = 1988
int(1988.98) / 10 = 198.8
1 + Int(1988.98) / 10 = 199.8
Int(1 + Int(T3) / 10) = 199
Int(1 + Int(T3) / 10) * 10 = 1990

 

ونقدر ان نستخدم دالة Fix

 

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

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