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

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

قام بنشر

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

عندي نوذج فاتورة  و في اجمالي الفاتورة يكون الرقم الصحيح ك 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
قام بنشر
  في 26‏/5‏/2017 at 21:23, Shivan Rekany said:

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

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

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

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

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

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

Expand  

تسلم اخي @Shivan Rekany

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

 

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

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

  • تمت الإجابة
قام بنشر
  في 26‏/5‏/2017 at 21:29, رياض البرعي said:

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

Expand  

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

  في 26‏/5‏/2017 at 21:23, Shivan Rekany said:

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

Expand  

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

  • Like 1
قام بنشر
  في 26‏/5‏/2017 at 21:43, Shivan Rekany said:

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

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

Expand  

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

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

  • Like 1
قام بنشر (معدل)

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

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

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

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

تحياتي لك

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

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

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

Int(Me.Text0 / 10) * 10

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

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

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

  • Like 4
قام بنشر
  في 26‏/5‏/2017 at 23:16, Shivan Rekany said:

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

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

Int(Me.Text0 / 10) * 10

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

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

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

Expand  

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

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

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

تحياتي

  • Like 2
قام بنشر (معدل)
  في 27‏/5‏/2017 at 10:31, رمهان said:

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

Expand  

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

 

تم تعديل بواسطه Shivan Rekany
قام بنشر
  في 27‏/5‏/2017 at 10:37, Shivan Rekany said:

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

 

Expand  

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

 

  في 26‏/5‏/2017 at 23:16, Shivan Rekany said:

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

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

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

Expand  

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

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

قام بنشر
  في 27‏/5‏/2017 at 10:49, رمهان said:

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

Expand  

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

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

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

  في 26‏/5‏/2017 at 21:23, 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 هو اسم مربع نصي تبعك

Expand  

 

  • 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
قام بنشر
  في 27‏/5‏/2017 at 11:01, رمهان said:

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

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

تحياتي

Expand  

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

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

  في 27‏/5‏/2017 at 11:01, Shivan Rekany said:

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

Expand  

شكرا لك مجددا

  • Like 1
قام بنشر
  في 27‏/5‏/2017 at 11:01, Shivan Rekany said:

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

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

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

 

Expand  

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

تحياتي

  • Like 1
قام بنشر
  في 27‏/5‏/2017 at 11:10, رمهان said:

العفو

Expand  

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

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

  • Like 1
قام بنشر

الفكرة كانت 

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

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

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

  • Like 1
قام بنشر (معدل)
  في 27‏/5‏/2017 at 11:19, رمهان said:

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

Expand  

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

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

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