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

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

قام بنشر

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

عندي نوذج فاتورة  و في اجمالي الفاتورة يكون الرقم الصحيح ك 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