الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مساعدة البحث في قاعدة البيانات وعدم جلب الحقل الفارغ

بدأه richi في 3 مايو 2009 · 6 رد · 1,761 مشاهدة · في قسم قواعد البيانات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

لدي استفسار عن البحث في قاعدة البيانات :

السلام عليكم

عندما أقوم بالبحث في قاعدة البيانات من خلال الكود الحالي :

"Select * From Table1 where name = '" & nm_comb.Text & "' And sal like '%" & tx_sal.Text & "%' And PRODUCT Like '" & (product_com.Text) & "%' and [name id] Like '" & Text12.Text & "%' "

الذي يحدث هنا

وعلى فرض عند القيام بالبحث : لم أدخل قيمة في التيكست الخاص بـ

TX_sal.text

أي قمت بالبحث عن طريق رقم

ID_name

لا تظهر جميع النتائج إذا كان الحقل Sal في الجدول فارغاً .

مثلاً

الجاتا فيها رقم الموظف واسمه وراتبه على الشكل التالي

ID 1250

Name Ahmed

Sal :

ولو فرضنا أن الراتب لم يتم إدخاله في الداتا وبحثت عن الموظف رقم 1250 حسب الكود السابق

فلن يظهر في نتائج البحث ..

ويبدو أن الفيجوال يتجاهل الحقول الفارغة في قاعدة البيانات!!

فما الحل

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

#2

الحل بإذن الله هو استبدال كل AND بـOR بحيث إذا تحققت إحدى القيم أعطاك إياها.

هذه الجملة خاطئة  :wacko: 


#3

شكراً جزيلاً لك أخــي

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

حتى يتحقق الشرط

مثلاً جميع الموظفين الذين تبدأ أرقامهم التسلسيلة بـ 199 ولديهم راتب أعلى من 4000 وتم تعيينهم بين تاريخ 2003 و 2009

وطبعاً استطعت الحصول على النتيجة بالكود السابق ،

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

فما الحل ؟

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

على فكرة ..

في الأكسس يتم أستخدام

ISNull

حيث تظهر الحقول الفارغة ، لكن في الفيجول لم استطع إيجاد حل .

#4

الطريقة التي وجدتها غير عملية، ولكنها ما وجدت، وأظن أن هناك طريقة أفضل منها:

تعمل 8 عمليات تحقق، وتقوم بالبحث من خلالها

يعني في الحالة الأولى:

----- الأول غير فارغ، والثاني غير فارغ، والثالث غير فارغ

---------- نبحث بالطريقة نفسها التي ذكرتها أنت في الأعلى

----- الأول غير فارغ، والثاني غير فارغ، لكن الثالث فارغ

---------- نبحث بالأول والثاني فقط

----- الأول غير فارغ، ولكن الثاني فارغ، أما الثالث فغير فارغ

---------- نبحث بالأول والثالث فقط

----- الأول غير فارغ، ولكن الثاني فارغ والثالث فارغ

---------- نبحث بالأول فقط

----- الأول فارغ والثاني والثالث غير فارغين

--------- نبحث بالثاني والثالث فقط

----- الأول فارغ، والثاني غير فارغ، أما الثالث ففارغ

-------- نبحث بالثاني فقط

----- الأول والثاني فارغان، أما الثالث فغير فارغ

-------- نبحث بالثالث فقط

----- كلهم فارغون

-------- نلغي البحث

طبعاً الطريقة غير عملية أبداً، لكن هذا ما تفتق عنه ذهني :(

إذا وجدت طريقة أفضل أضعها إن شاء الله

بالتوفيق.

هذه الجملة خاطئة  :wacko: 


#5

ألـــف ألف شكر لك أخي الكريم ..

والله غلبنك معي ..

بصراحة فكرت بطريقة الاحتمالات هذه .

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

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

يعني ممكن يكون في تغيير في طريقة كتابة كود like

and [name id] Like ' " & Text12.Text & "%'
#6

تم وضع ملف مرفق للمشروع

يمكن من خلاله فهم ما أٌصد

فلو بحثنا عن رقم الموظف staff ID

1203 فلن يجد الموظف مع العلم أنه موجود في قاعدة البيانات ولكن لإن الحقل الراتب salary فارغ في قاعدة البيانات فن يتم جلب النتيجة

Example.rar

#7

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

Example.rar

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…