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

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

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


أعمل بهذا الكود لاحضار اسم الشخص  

=Nz(DLookUp("Namex";"[Tel T]";"[Tel 1]='" & [تليفون] & "'");"")

و لكن اذا كان [Tel 1] لا يساوى  رقم التليفون اريد يذهب الى  [Tel 2] واذا كان نفس الرقم يحضر الاسم 

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

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

استخدم شرط التحقق قبل الدخول والبحث عن طريق if

if Dcount("Namex";"[Tel T]";"[Tel 1]='" & [تليفون] & "'")>=1 then
Nz(DLookUp("Namex";"[Tel T]";"[Tel 1]='" & [تليفون] & "'");"")
elseif Dcount("Namex";"[Tel T]";"[Tel 2]='" & [تليفون] & "'")>=1 then
Nz(DLookUp("Namex";"[Tel T]";"[Tel 2]='" & [تليفون] & "'");"")
else
msgbox "الرقم غير مضاف"
endif

 

قام بنشر
3 ساعات مضت, محمد احمد لطفى said:

و لكن اذا كان [Tel 1] لا يساوى  رقم التليفون اريد يذهب الى  [Tel 2] واذا كان نفس الرقم يحضر الاسم 

تقصد انه عندك جدول يحتوي على اسماء وارقام هواتف وبعض الاسماء لديهم اكثر من تلفون فممكن يكون الرقم مسجل في حقل tel1 وممكن يكون الرقم في حقل tel2

وعندما تضع رقم الهاتف ترغب ان يبحث عنه في الحقلين

اذا كان فهمي صحيح للموضوع

ممكن عملها مع تبديل مايلزم

=DLookUp("[s_name]";"tbl_2";"[tel1]&[tel2] like '*" & [tx2] & "*'")

☝️هذا الاستخدام للدالة بمعيار حقلين في الجدول شرحه استاذنا @أبو إبراهيم الغامدي في هذا الموضوع ⬇️

اقتباس

 

تحياتي

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

أستاذى @مبرمج متقاعد

هناك مشكلة صغيرة فى حالة وجود رقم تليفون غير موجود فى الجدول التانى فى  tel1 و أو tel2   , أو رقم التلفون فى النموذج فارغ بيجيب اى اسم شخص من الجدول 

حتى بعد تغييره الى 

 

=Nz(DLookUp("[Namex]";"Tel T";"[Tel 1]&[Tel 2] like '*" & [تليفون] & "*'");"")

 

تم تعديل بواسطه محمد احمد لطفى
قام بنشر (معدل)

نعم فى نفس الجدول 


والكود يعمل 

=Nz(DLookUp("[Namex]";"Tel T";"[Tel 1]&[Tel 2] like '*" & [تليفون] & "*'");"")


 

بس فى حالة وجود رقم تليفون غير موجود فى الجدول التانى فى  tel1 و أو tel2   , أو رقم التلفون فى النموذج فارغ بيجيب اى اسم شخص من الجدول

تم اضافة مرفق

 

test00654.rar

تم تعديل بواسطه محمد احمد لطفى
  • أفضل إجابة
قام بنشر
44 دقائق مضت, محمد احمد لطفى said:

بس فى حالة وجود رقم تليفون غير موجود فى الجدول التانى فى  tel1 و أو tel2   , أو رقم التلفون فى النموذج فارغ بيجيب اى اسم شخص من الجدول

لذا هذا كان تعليقي على استخدام النجمة مع هذه الدالة في الموضوع السابق

في 22‏/11‏/2022 at 23:38, مبرمج متقاعد said:

اعتقد استاذ ابو ابراهيم ان استخدام النجمة مع دالة DLookup امر قد يؤدي الى اعادة نتيجة عير صحيحة

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

لذا لابد من استخدام المعيار فريد وهذا لا يتحقق عند استخدام النجمة

لذا

44 دقائق مضت, محمد احمد لطفى said:

بس فى حالة وجود رقم تليفون غير موجود فى الجدول التانى فى  tel1 و أو tel2

تأكد من ادخال الرقم كاملا وليس جزء منه بسبب ان النجمة في بداية المعيار ونهايتة تمثل الارقام الغير معروفة

44 دقائق مضت, محمد احمد لطفى said:

أو رقم التلفون فى النموذج فارغ بيجيب اى اسم شخص من الجدول

ممكن وضع شرط اذا لم يكن الحقل فارغ قبل تنفيذ الدالة

=IIf(Not IsNull([tx2]);DLookUp("[s_name]";"tbl_2";"[tel1]&[tel2] like '*" & [tx2] & "*'");"")

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

تحياتي

قام بنشر

الكود الي كتبته كالتالي في الاستعلام 

DLookUp("[Namex]","Tel T","[Tel 1] = '" & [tel] & "' or [Tel 2] = '" & [tel] & "'")

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

test00654 new one.rar

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