منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : يُرجى شرح سطر البحث التالي في الداتاجريدفيو
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
بسم الله الرحمن الرحيم

هذا الكود أقوم باستخدامه في عملية البحث والحمد لله يعمل بشكل طبيعي، السؤال الذي أود فهمه أنني عندما وضعت هذا الكود في زر أجرى عمليات البحث عن الباركود، وعند الضغط على الزر مرة ثانية يعود للقائمة الرئيسية للداتاجريدفيو، فلماذا يعود للقائمة الرئيسية ؟ ، أود فهم هذه النقطة بشكل واضح جزاكم الله خيراً.


PHP كود :
Table15BindingSource.Filter String.Format("[Barcode] like '%" TextBox3.Text "%'"
اتمنى توضيح ما المقصود بـ [ للقائمة الرئيسية ]

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

فلتوضح الامر الادواء المستخدم وهو Table15BindingS

هو بعبارة يحتوى على كود استعلام لعرض بيانات جدول
مثلاً الكود سيكون على الشكل التالى
كود :
SELECT * FROM TableDb

طيب لما تقوم بعمل الفلتر كل اللى بيتم انه 
بيهيئ كود الاستعلام ده ليصبح بهذا الشكل
كود :
SELECT * FROM TableDb WHERE [Barcode] like '%" & TextBox3.Text & "%'

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

تحياتى لك
وتمنياتى لك التوفيق
(25-09-18, 11:09 AM)elgokr كتب : [ -> ]
اتمنى توضيح ما المقصود بـ [ للقائمة الرئيسية ]

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

فلتوضح الامر الادواء المستخدم وهو Table15BindingS

هو بعبارة يحتوى على كود استعلام لعرض بيانات جدول
مثلاً الكود سيكون على الشكل التالى
كود :
SELECT * FROM TableDb

طيب لما تقوم بعمل الفلتر كل اللى بيتم انه 
بيهيئ كود الاستعلام ده ليصبح بهذا الشكل
كود :
SELECT * FROM TableDb WHERE [Barcode] like '%" & TextBox3.Text & "%'

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

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

أهلاً وسهلاً أخي الحبيب eljokr ، عندما أكتب مثلا في الصندوق النصي 6284564 ثم أضغط على زر البحث فيقوم بالبحث ويعرض البيانات المطلوبة، وعند تفريغ الصندوق النصي ثم الضغط على زر البحث مرة ثانية  (الصندوق النصي خالي) فيتم عرض جميع بيانات الداتاجريدفيو، فمن الناحية البرمجية يعمل، لكن كما تعلمت منك أن لا أكتفي بالوصول لتنفيذ الكود لذا فأحببت السؤال عن سبب عرض جميع البيانات بعد تفريغ الصندوق النصي من محتوى البحث، وجزاك الله خيراً يا أخي الحبيب. Heart
الان الامر جميل ووضح ما تعنيه تماماً
السبب لعرض جميع البيانات لانك تستخدم عملية البحث بطريقة
كود :
Like %%

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


طيب عشان تحول الطريقة دى للبحث التطابق الكلى
هنا هتحول كود البحث لهذا الشكل
كود :
Table15BindingSource.Filter = String.Format("[Barcode] = '" & TextBox3.Text & "'")

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

تحياتى لك
وتمنياتى لك التوفيق
(25-09-18, 11:38 AM)elgokr كتب : [ -> ]
الان الامر جميل ووضح ما تعنيه تماماً
السبب لعرض جميع البيانات لانك تستخدم عملية البحث بطريقة
كود :
Like %%

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


طيب عشان تحول الطريقة دى للبحث التطابق الكلى
هنا هتحول كود البحث لهذا الشكل
كود :
Table15BindingSource.Filter = String.Format("[Barcode] = '" & TextBox3.Text & "'")

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

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

صدقًًا ما قصرت كعادتك في الشرح، كذلك الآن فهمت التفسير المنطقي لعرض جميع بيانات الداتاجريدفيو وهو وجود العلامتان المئويتان ٪٪
تماماً اخى Hazem1

فعند استخدام التالى بدون %
كود :
LIKE 'text'

كما لو استخدمت 
كود :
= 'text'


تحياتى لك
وتمنياتى لك التوفيق
الله يحفظك أخي الحبيب ويسعدك في الدُنيا والآخرة.
اللهم امين تقبل الله منك الدعاء
لى ولك وللجميع ان شاء الله

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