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

قاعدة if


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

الاساتذة الكرام أعضاء المنتدى / السلام عليكم ورحمة الله

في اكسس 2003

ممكن أعرف أيه الفرق بين 

If IsNull(Me.text) then

if me.text.value = "" then 

وبعد اذنكم سؤال آخر  .... في مربع تحرير وسرد 

ما الفرق بين خاصية تحديث وخاصبة تغيير 

وجزاكم الله خيرا 

 

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

استاذ @أبو أحمد بالنسبة للطلب الأول الأثنين صح لكن الأفضل .

If Len(Me.Text & "") = 0 Then
MsgBox "The field is empty, please fill it", vbCritical
Undo
Me.Text.SetFocuse
End If

أما الطلب الثاني تحديث  يعني الحقل مملوء وانت بتغير مابه أو تغير مابه بواسطة كود المهم حدث تعيير به >>> افعل كذا .

                      تغيير  الحقل خالي أو مملوء المطوب كذا (مع شرط)  واذا لم يتم الشرط لا ينفذ الامر ويرجع .........   .:fff:

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

حسب ما فهمت 😅

IsNull تستخدم لفحص القيمة اذا كانت فارغة أو لأ وتعود النتيجة بـ True أو False

في الثانية تستخدم لمقارنة ما اذا كانت القيمة فارغة أو لأ وتعود أيضاً بنفس النتيجة

 

وبالنسبة للأحدث ، فعند التحديث تعمل بعد أن يقوم المستخدم بتغيير قيمة المربع والانتقال إلى مربع آخر أو الخروج منه .

أما عند التغيير فتعمل هذه الخاصية في كل مرة يتم فيها تغيير قيمة المربع ، أو القائمة المنسدلة .... إلخ سواءً كان ذلك عن طريق الكتابة أو اللصق أو القص ( على ما أعتقد ) ، ويُعتبر هذا الحدث مناسبًا لتنفيذ الإجراءات التفاعلية أثناء تحرير المربع.

 

هذا والله أعلم إن كنت فاهم صح ولاااا

😂

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

هل معنى ذلك أن معنى السؤال الاول هذا 

If Me.text1.Value = "" Then

Me.text2.Value = "Adel"

Else

Me. text2.Value = "Ali"

End if

نفس النتيجة ونفس المعى لهذه ؟؟؟؟

If IsNull(Me.text) Then

Me.text2.Value = "Adel"

Else

Me. text2.Value = "Ali"

 

وأسف لاني لم أفهم اجابة السؤال الثاني أرجو التوضيح أكثر وحبا لو بمثال 

وجزاكم الله خيرا

End if

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

Null و "" شيئان مختلفان حتى من حيث تعامل الأكسس معهما 🙂 

أنصحك بمشاهدة هذه الفيديوات ( هي باللغة الإنجليزية ولكن ممكن تشغل الترجمة بالعربية ) :

 

 

 

 

 

 

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

51 دقائق مضت, أبو أحمد said:

نفس النتيجة ونفس المعى لهذه ؟؟؟؟

حتى لا يتشعب الموضوع في أذهان من يقرأ الموضوع ،


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

 

أما القيمة الفارغة ( "" ) فهي تعبر عن نص فارغ من قيم رقمية أو فارغ من القيم النصية ( الحروف ) . حيث يستخدم الرمز "" لتمثيل النص الفارغ . باختصار القيمة الفارغة هي قيمة نصية فارغة ( والفراغ يعتبر حرفاً في الحروف أو النصوص ) وليست Null.

 

وعليه فإن إجابةً لسؤالك أعلاه في الجملة الشرطية في الكود الأول ، يتم فحص إذا كانت القيمة فارغة ("") ، بينما في الكود الثاني يتم فحص إذا كانت القيمة تمثل Null . :biggrin:

 

الشق الثاني سأقوم بتجهيز مرفق وارفاقه في مشاركة أخرى إن شاء الله

 

طبعاً إجتهاداً مما تعلمته أو فهمته ، وقد أكون مخطئاً في التعبير :yes:

تم تعديل بواسطه Foksh
  • Like 1
رابط هذا التعليق
شارك

14 دقائق مضت, أبو أحمد said:

في انتظار حضرتك وجزاك الله خيرا 

لعدم توافر جهاز كمبيوتر حالياً قم بتطبيق الآتي بعد إنشاء نموذج فارغ وإنشاء مربعي نص فارغين ( بدون مصدر بيانات ) .

في مربع النص الأول ( افترض اسمه Txt1 ) وفي حدث بعد التحديث انشىء الكود التالي كتجربة :-

msgbox me.txt1 & "القيمة في مربع النص هي :- "

الآن اكتب اي كلمة تجريبية داخل Txt1 واضغط انتر أو تاب للخروج للمربع الثاني ، وسترى النتيجة.

 

أما في حدث عند التغيير ، اتبع الخطوات السابقة ولكن الفرق هو اسم مربع النص الثاني ولنفرض Txt2 ، وهنا ستلاحظ انه عند كل حرف تكتبه او تحذفه ستظهر لك الرسالة كنتيجة التغيير في كل مرة يتم ذلك 🥰

 

اصنع الفكرة بيدك لتتوضح لك الفكرة 😊

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

في النقطة الأولى في الفرق بين IsNull و "" ستكون النتيجة نفسها تقريباً ولن تلحظ الفرق بينهم . فعلى سبيل المثال:-

IsNull

Dim txt1 As Variant
txt1 = Nothing
If IsNull(txt1) Then
    MsgBox "القيمة فارغة"
Else
    MsgBox "القيمة غير فارغة"
End If

 

""

Dim txt1 As String
txt1 = ""
If txt1 = "" Then
    MsgBox "القيمة فارغة"
Else
    MsgBox "القيمة غير فارغة"
End If

طبعاً الفرق بين المتغيرين هو أن Variant نوع من المتغيرات التي يمكنها تخزين أي نوع من البيانات ، كالبيانات نصية ، أو الأرقام ، أو  التواريخ ، أو أي نوع آخر من البيانات.


أما String فهو نوع من المتغيرات التي يتم استخدامها لتخزين النصوص فقط كالتي تحتوي على سلاسل النصوص مثل "Hello World"، "1234"، "abc123".

 

هذا من وجهة نظري ، وإن كان لأحد الإخوة توضيح أفضل ؛ فأقف جانبك للاستفادة والتعلم بشكل أوضح 🤗

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

جزاكم الله خيرا ولكن لزيادة توضيح 

اذا اردت المعنى اذا كانtext1  تساوي صفر أو فارغ يكون text2 قيمته تساوي واحد والا فتكون قيمة text2  تساوي 2  لتكون هذه هي النتيجة :

أيهما اكنب له

If Me.text1.Value = ""  Then

Me.text2 = 1

Else

Me.text2 = 2

End if

 

أم أكتب له هذا 

If  IsNull(Me. text1) then

Me.text2 = 1

Else

Me.text2 = 2

End if

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

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

If Me.text1.Value = "" Then
    Me.text2 = 1
Else
    Me.text2 = 2
End If

 

If IsNull(Me.text1) Then
    Me.text2 = 1
Else
    Me.text2 = 2
End If

لا أعتقد أنك ستلحظ الفرق يا صديقي :yes:

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

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

ولكن بصراحة انا وجدت الكود الثاني أفضل أحيانا فاذا كان text  به بيانات فيقوم بحذفها  أو العكس 

 
If IsNull(Me.text1) Then
Me.text2 = ""
Else
Me.text2 = 2
 
End If
في حين مع الكود الاول لا يقوم بالحذف وهذه معلومة لحضرتك بعد تجربتها الان فقط
وجزاكم الله خيرا وبارك فيكم
رابط هذا التعليق
شارك

4 ساعات مضت, أبو أحمد said:

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

ولكن بصراحة انا وجدت الكود الثاني أفضل أحيانا فاذا كان text  به بيانات فيقوم بحذفها  أو العكس 

 
If IsNull(Me.text1) Then
Me.text2 = ""
Else
Me.text2 = 2
 
End If
في حين مع الكود الاول لا يقوم بالحذف وهذه معلومة لحضرتك بعد تجربتها الان فقط
وجزاكم الله خيرا وبارك فيكم

جزاك الله كل خير يا صديقي .. معلومة مفيدة 😊

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

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