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

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

قام بنشر

السلام عليكم 

عندى textbox يقوم بعمليه حسابيه وهى (ضرب نسبة المصاريف الإدارية فى قرض العميل ) 

انا استخدمت هذا الكود

كما هو موضح بالصورة 

لكن عندى بعض البنوك لديها مصاريف بنكية mony2 بجانب المصاريف الإدارية وانا اريد جمعها على الناتج 

بس مش بيطلع نتيجه 

ممكن حديساعدنى 

جزاكم الله خير عنا

 

Untitled.png

قام بنشر

وعليكم السلام

على منا فاهم فالكود فانت جعلت قيمه mony2 = نص

فاذا جمعت رقم على نص فكيف يكون ولنفرض قيمه mony2 = 100 + القيمه الاولى = 10 الناتج سيكون 10010

اذا كان حقل mony2  ضعه كما هو من غير علامات التنصيص

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

val(mony2)

والاوجب ارفاق ملف

تقبل تحياتى

طبتم واهتديتم

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

اخى مصطفى ولعدم حدوث خطأ ما يمكن استبدال الكود

السابق بالمثال بالتالى

If Me.mony2 = NZ("",0) Then
n2 = (tex_loan * tex_charg / 100)
Else
n2 = (tex_loan * tex_charg / 100) + Me.mony2
End If
End Sub

لما قرائته فى هذه المشاركه أولا يوجد 3 أنواع من القيم يجب أن نميز بينها وان كان هناك توضيح اكثر من اخواننا واساتذتنا فليشاركوننا فنحن طلاب علم ونتعلم

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

وجزاهم الله خيرا اساتذتنا واخواننا اللذين نتعلم منهم

تقبل تحياتى وتمنياتى لك وللجميع بالتوفيق

طبتم واهتديتم

تم تعديل بواسطه أحمد الفلاحجى
  • Like 3
قام بنشر

استاذنا الفاضل / @أحمد الفلاحجى

جزاك الله خير وبارك الله فيك على ما تقدمه من مساعدات

لى سؤال بسيط وهو هل الكود

اقتباس

If Me.mony2 = NZ("",0) Then

معناه انه فى حالة ان mony2 يساوي فراغ او صفر ام ماذا 

ارجو توضيح الكود بارك الله فيك 

  • Like 2
قام بنشر (معدل)
26 دقائق مضت, حلبي said:

استاذنا الفاضل / @أحمد الفلاحجى

جزاك الله خير وبارك الله فيك على ما تقدمه من مساعدات

لى سؤال بسيط وهو هل الكود

معناه انه فى حالة ان mony2 يساوي فراغ او صفر ام ماذا 

ارجو توضيح الكود بارك الله فيك 

جزاك الله خيرا اخى

لم نقدم شىء يذكر واحاول ان اقدم مما تعلمته واتعمله من اخوانى واساتذتى وما اجده من معلومات واتعلم معكم

داله NZ كما تعلمنا تسبتدل القيم الخاليه ب 0 وهى اختصار Null Zero كما قرائت

يمكنك استخدام الدالة Nz لإرجاع الصفر أو سلسلة فارغة ("") أو القيمة المحددة الأخرى عندما يكون المتغير فارغا. علي سبيل المثال ، يمكنك استخدام هذه الدالة لتحويل قيمه فارغه إلى قيمه أخرى ومنع نشرها عبر تعبير.

الداله NZ

وهذا ايضا شرح لاستاذ مهند عبادى جزاه الله خيرا

دالة NZ وهي اختصاراً لكلمتي : NULL Zero

ومهمتها أن يتم التخلص من مشكلة وجود القيمة Null في بعض العمليات مما يعطي خطأ ..

صيغتها كما يلي :

A = NZ(B,0)
أو 
A = NZ(B)

S = NZ (V,"")

ومن هذا يتضح أن لهذه الدالة ممران

1- القيمة المطلوب فحصها

2- القيمة المعادة في حال كون القيمة الأولى Null

وفي حال عدم تعيين القيمة الثانية تعيد لنا هذه الدالة القيمة صفر في حال كون القيمة الأولى Null

وان شاء الله يفيدنا اكتر احد اساتذتنا

تقبل تحياتى اخى

تم تعديل بواسطه أحمد الفلاحجى
  • Like 1
قام بنشر

وهنا توضيح للدالة بمثال :

 

الطريفة اللي اتبعها انا للتعامل مع الحقل ، سواء الفارغ او Null او بدون قيمة :

بدل عن
if isnull([ABC]) or [ABC]="" then


استعمل
if len([ABC] & "") = 0 then

 

جعفر 🙂

  • Like 3
قام بنشر
22 دقائق مضت, jjafferr said:

وهنا توضيح للدالة بمثال :

 

الطريفة اللي اتبعها انا للتعامل مع الحقل ، سواء الفارغ او Null او بدون قيمة :


بدل عن
if isnull([ABC]) or [ABC]="" then


استعمل
if len([ABC] & "") = 0 then

 

لدى سؤال

ما فائدة  

&""

بعد اسم الحقل فى دالة  len  ?

قام بنشر
5 دقائق مضت, عبد الفتاح كيرة said:

ما فائدة  

&""

بعد اسم الحقل فى دالة  len  ?

 

الهدف من استعمال سطر واحد بدل عن مجموعة اوامر ، هو لتسهيل الامر والكود علينا ،

ومعرفتنا اذا الحقل فيه قيمة ، معناه ان طول القيمة والتي نعرفها عن طريق الامر Len

فإننا نريد ان نعرف اذا طول الحقل = 0 او لا

اليك نتائج هذه العمليات :

    Debug.Print Len("234")     = 3
    Debug.Print Len("")        = 0
    Debug.Print Len(Null)      = Null
    Debug.Print Len(Null & "") = 0

 

فالامر Len اعطانا قيمة 0 لما قيمة الحقل تكون ""

ولكنه اعطانا Null لما قيمة الحقل تكون Null ، ولكن Null ليس رقم ،مما يجعلنا نضطر نرجع الى الامر IsNull ، معناه انه يجب ان نستخدم اكثر من امر في السطر الواحد (كما اوضحت سابقا).

 

جعفر

  • Like 3
قام بنشر

نعم انا فهمت السؤال ،

وجوابي كان ، اذا ABC = Null 

فسيكون الجواب  len([ABC]) = Null ، بينما نحن نريد الجواب ان يكون len([ABC]) = 0

 

جعفر

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

الاستاذ الفاضل / @أحمد الفلاحجى

ربنا يبارك فيك على هذا الشرح الجميل والوصف والدقة فى المعلومة 

زادك الله علما وجعله في ميزان حسناتك

استاذنا ومنقذنا دائما / المعلم الفاضل / @jjafferr

يعطيك الف عافية شرحت المسألة كلها من اولها وجميع استخدامتها شرح وافى والآن فهمت كل ما كنت اريد ان اعرفه عن الكود nz لانه كان عجيب جدا احيانا يعطينى صفرا واحيان يعطينى خطأ

وبفضل الله ثم توضيحكم توضلت الى جوهر الموضوع

الله يبارك فيك استاذنا / جعفر ويجعله في ميزان حسناتك ويزيدك الله علما 

كل الاحترام والتقدير لكم 

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

جزاك الله خيرا اخى @حلبي واياكم اخى العزيز ان شاء الله بفضله وكرمه وجزا الله خيرا كل اخواننا واساتذتنا اللذين تعلمنا ونتعلم منهم

اخى واستاذى الحبيب @jjafferr اذا ممكن نختصر الكود ونجعله كالتالى

If Len(text) < 0 Then

فى انتظار مزيد من التعقيب والشرح الوافى منك اخى واستاذى @jjafferr

تقبل تحياتى وتمنياتى لك وللجميع بالتوفيق والنجاح وان يبارك لكم فى اعمالكم واهلكم

  • Like 1
قام بنشر
52 دقائق مضت, أحمد الفلاحجى said:

اذا ممكن نختصر الكود ونجعله كالتالى


If Len(text) < 0 Then

 

همممم ، كنت اعتقد ان شرحي كان واضح ، ولكن مافي مانع من المحاولة مرة خرى :

    
    Debug.Print Len("234")     = 3
    Debug.Print Len("")        = 0
    Debug.Print Len(Null)      = Null
    Debug.Print Len(Null & "") = 0

في مثالك
If Len(Text) < 0 Then
                
Text =  "123456"
Len(Text) = 6
                
Text =  "انا جعفر"
Len(Text) = 7
                
Text =  ""
Len(Text) = 0
                
Text =  Null
Len(Text) = Null  يعني ما نحصل على طول الكلمة ، وانما نحصل على هذه الكلمة
                
ولكن في مثالي
If Len(Text & "") < 0 Then
                
Text =  "123456"
Len(Text & "") = 6
                
Text =  "انا جعفر"
Len(Text & "") = 7
                
Text =  ""
Len(Text & "") = 0
                
Text =  Null
Len(Text & "") = 0

 

لهذا السبب ، جرب المثال على كمبيوترك ، واحكم بنفسك 🙂

 

جعفر

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

أشهد أن كلام الأخ  @jjafferrمضبوط 100%

تمت التجربة

بارك الله فيه و فيكم

* خاصية   SelLength لمربع النص تعيد طول النص الخالى  إلى صفر بعكس دالة len

 

تم تعديل بواسطه عبد الفتاح كيرة
  • Like 1
قام بنشر

اخى واستاذى @jjafferr

الان اتضحت الصوره اكثر باذن الله وقمت بالتجربه ع نافذه Immediate

بارك الله فيك وجزاك الله عنا كل خير

تقبل تحياتى وتمنياتى لك وللجميع بالتوفيق

طبتم واهتديتم

قام بنشر
1 ساعه مضت, عبد الفتاح كيرة said:

* خاصية   SelLength لمربع النص تعيد طول النص الخالى  إلى صفر بعكس دالة len

 

الامر SelLength معناه Selected Length ، اي البيانات التي تم اختيارها وتظليلها ،

فإذا كانت القيمة في حقل او كومبوبوكس = "123456" ، ثم تم اختيار/تظليل الرقمين 34 ، فقيمة SelLength ستكون 2 ،

ولكن لو لم يتم اختيار/تظليل اي رقم ، فقيمة SelLength ستكون صفر !!

 

لذلك ، فهذه الدالة لا علاقة لها بطول النص في الحقل 🙂

 

جعفر

  • Like 2

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.

×
×
  • اضف...

Important Information