تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] التعديل على كود بحث
#11
(01-04-20, 03:36 PM)سامي محمد كتب : اضف الليست بكس داخل شرط البحث ليكون الشكر النهائي هكذا

كود :
    GgDataGridView.DataSource = Nothing
        ListBox1.DataSource = Nothing
        GgDataGridView.Rows.Clear()
        ListBox1.Items.Clear()
        Dim N As Integer
        Dim Txt As String = Nothing
        For Each x As String In TextBox9.Text
            x = Regex.Replace(x, "[إأآا]", "[إأآا]")
            x = Regex.Replace(x, "[هة]", "[هة]")
            x = Regex.Replace(x, "[وؤ]", "[وؤ]")
            x = Regex.Replace(x, "[يى]", "[يى]")
            Txt &= x
        Next
        For Each x As DataRow In EeeeDataSet.gg.Rows
            If Regex.IsMatch(x(1), "^" & Txt) = True Then
                GgDataGridView.Rows.Add()
                GgDataGridView(0, N).Value = x(0)
                GgDataGridView(1, N).Value = x(1)
                GgDataGridView(2, N).Value = x(2)
                ListBox1.Items.Add(x(1))
                N += 1
            End If
        Next
شكرا اخي الكريم كلك ذوق الله يعطيك العافي
عندي سؤال بدي عذبك هلق لو كانت عملية البحث هذه فقط ضمن الليسيت بوكس وبدون الداتا كريت قيو  مو افضل لان نتيجة الفلترة في الليست بوكس تلقائيا النتيجة تضهر في الداتا كريت قيو وشكرا لك مرة أخرى
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو
#12
كود :
 ListBox1.DataSource = Nothing
        ListBox1.Items.Clear()
        Dim N As Integer
        Dim Txt As String = Nothing
        For Each x As String In TextBox9.Text
            x = Regex.Replace(x, "[إأآا]", "[إأآا]")
            x = Regex.Replace(x, "[هة]", "[هة]")
            x = Regex.Replace(x, "[وؤ]", "[وؤ]")
            x = Regex.Replace(x, "[يى]", "[يى]")
            Txt &= x
        Next
        For Each x As DataRow In EeeeDataSet.gg.Rows
            If Regex.IsMatch(x(1), "^" & Txt) = True Then
                ListBox1.Items.Add(x(1))
                N += 1
            End If
        Next

في الخدمة
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو
#13
(01-04-20, 08:53 PM)سامي محمد كتب :
كود :
 ListBox1.DataSource = Nothing
        ListBox1.Items.Clear()
        Dim N As Integer
        Dim Txt As String = Nothing
        For Each x As String In TextBox9.Text
            x = Regex.Replace(x, "[إأآا]", "[إأآا]")
            x = Regex.Replace(x, "[هة]", "[هة]")
            x = Regex.Replace(x, "[وؤ]", "[وؤ]")
            x = Regex.Replace(x, "[يى]", "[يى]")
            Txt &= x
        Next
        For Each x As DataRow In EeeeDataSet.gg.Rows
            If Regex.IsMatch(x(1), "^" & Txt) = True Then
                ListBox1.Items.Add(x(1))
                N += 1
            End If
        Next

في الخدمة

شكرا لك اخي الكريم جازاك الله خيرا
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو
#14
(02-04-20, 12:10 AM)EMADSSS كتب :
(01-04-20, 08:53 PM)سامي محمد كتب :
كود :
 ListBox1.DataSource = Nothing
        ListBox1.Items.Clear()
        Dim N As Integer
        Dim Txt As String = Nothing
        For Each x As String In TextBox9.Text
            x = Regex.Replace(x, "[إأآا]", "[إأآا]")
            x = Regex.Replace(x, "[هة]", "[هة]")
            x = Regex.Replace(x, "[وؤ]", "[وؤ]")
            x = Regex.Replace(x, "[يى]", "[يى]")
            Txt &= x
        Next
        For Each x As DataRow In EeeeDataSet.gg.Rows
            If Regex.IsMatch(x(1), "^" & Txt) = True Then
                ListBox1.Items.Add(x(1))
                N += 1
            End If
        Next

في الخدمة

شكرا لك اخي الكريم جازاك الله خيرا
اخي الكريم عم عذبك معي الاكواد التي ارسلتها لي تعمل بشك ممتاز في حال كان الاتصال بقاعدة البيانات مباشراً الله يعطيك العافي
ولكن عندما نقلت الاكواد لبرنامجي الاساسي والمتصل بقاعدة البيانات بشكل غير مباشر عم يعطيني الكود خطأ في هذه الجملة وذلك باسم القاعدة والجدول  رغم انني غيرته
كود :
 For Each x As DataRow In EeeeDataSet.gg.Rows
الرد }}}
تم الشكر بواسطة:
#15
عملية البحث السابقة ليست مباشرة بل يتم البحث في الداتا سيت وليس بقاعدة بيانات اكسس ....
لابد من وجود اختلاف بين مثالك الذي رفعته وبين المشروعك
----
ربط قاعدة البيانات باالاكواد سيكون الامر اسهل بكثير وعالجتها كذلك
الرد }}}
تم الشكر بواسطة: EMADSSS , ابراهيم ايبو , ابراهيم ايبو
#16
(02-04-20, 02:54 PM)سامي محمد كتب : عملية البحث السابقة ليست مباشرة بل يتم البحث في الداتا سيت وليس بقاعدة بيانات اكسس ....
لابد من وجود اختلاف بين مثالك الذي رفعته وبين المشروعك
----
ربط قاعدة البيانات باالاكواد سيكون الامر اسهل بكثير وعالجتها كذلك

اخي الكريم راح ارسل لك مشروع مطابق جدا لمشروعي الاساسي كل ماارغبه منك بالمساعدة
1- كود البحث في زر  يعطي فلترة للاسماء متجاهل الهمزات في الداتا  والليست بوكس ( مثل أحمد واحمد ) 
2- كود بحث في زر يعطي فلترة في الداتا كريت فيو فقط ومتجاهلا الهمزات ايضا و ه و ة  لكن ارجو منك هنا فقط   ان يكون البحث في عمود الاسم في الداتا وليس من الليست
عسا ان اكون قد وصلت لك الفكرة جيدا وشكرا جدا جدا لك سلفا وجازاك الله خيرا


الملفات المرفقة
.rar   مشروع.rar (الحجم : 174.33 ك ب / التحميلات : 15)
الرد }}}
تم الشكر بواسطة:
#17
في زر : البحث وتجاهل الهمزات في الداتا والليست

كود :
  DataGridView1.AutoGenerateColumns = False
        DataGridView1.DataSource = Nothing
        DataGridView1.Rows.Clear()
        ListBox1.DataSource = Nothing
        ListBox1.Items.Clear()
        Dim N As Integer
        Dim Txt As String = Nothing
        For Each x As String In TextBox4.Text
            x = Regex.Replace(x, "[إأآا]", "[إأآا]")
            x = Regex.Replace(x, "[هة]", "[هة]")
            x = Regex.Replace(x, "[وؤ]", "[وؤ]")
            x = Regex.Replace(x, "[يى]", "[يى]")
            Txt &= x
        Next
        'BindingSource1هنا الخطا فقط بكلمة
        For Each x As DataRow In DataSet1.Tables(0).Rows
            If Regex.IsMatch(x(1), "^" & Txt) = True Then
                DataGridView1.Rows.Add()
                DataGridView1(0, N).Value = x(0)
                DataGridView1(1, N).Value = x(1)
                DataGridView1(2, N).Value = x(2)
                ListBox1.Items.Add(x(1))
                N += 1
            End If
        Next

وفي زر : البحث وتجاهل الهمزات في الدات فقط

كود :
 DataGridView1.AutoGenerateColumns = False
        DataGridView1.DataSource = Nothing
        DataGridView1.Rows.Clear()
        Dim N As Integer
        Dim Txt As String = Nothing
        For Each x As String In TextBox4.Text
            x = Regex.Replace(x, "[إأآا]", "[إأآا]")
            x = Regex.Replace(x, "[هة]", "[هة]")
            x = Regex.Replace(x, "[وؤ]", "[وؤ]")
            x = Regex.Replace(x, "[يى]", "[يى]")
            Txt &= x
        Next
        For Each x As DataRow In DataSet1.Tables(0).Rows
            If Regex.IsMatch(x(1), "^" & Txt) = True Then
                DataGridView1.Rows.Add()
                DataGridView1(0, N).Value = x(0)
                DataGridView1(1, N).Value = x(1)
                DataGridView1(2, N).Value = x(2)
                N += 1
            End If
        Next
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو
#18
(02-04-20, 10:18 PM)سامي محمد كتب : في زر : البحث وتجاهل الهمزات في الداتا والليست

كود :
  DataGridView1.AutoGenerateColumns = False
        DataGridView1.DataSource = Nothing
        DataGridView1.Rows.Clear()
        ListBox1.DataSource = Nothing
        ListBox1.Items.Clear()
        Dim N As Integer
        Dim Txt As String = Nothing
        For Each x As String In TextBox4.Text
            x = Regex.Replace(x, "[إأآا]", "[إأآا]")
            x = Regex.Replace(x, "[هة]", "[هة]")
            x = Regex.Replace(x, "[وؤ]", "[وؤ]")
            x = Regex.Replace(x, "[يى]", "[يى]")
            Txt &= x
        Next
        'BindingSource1هنا الخطا فقط بكلمة
        For Each x As DataRow In DataSet1.Tables(0).Rows
            If Regex.IsMatch(x(1), "^" & Txt) = True Then
                DataGridView1.Rows.Add()
                DataGridView1(0, N).Value = x(0)
                DataGridView1(1, N).Value = x(1)
                DataGridView1(2, N).Value = x(2)
                ListBox1.Items.Add(x(1))
                N += 1
            End If
        Next

وفي زر : البحث وتجاهل الهمزات في الدات فقط

كود :
 DataGridView1.AutoGenerateColumns = False
        DataGridView1.DataSource = Nothing
        DataGridView1.Rows.Clear()
        Dim N As Integer
        Dim Txt As String = Nothing
        For Each x As String In TextBox4.Text
            x = Regex.Replace(x, "[إأآا]", "[إأآا]")
            x = Regex.Replace(x, "[هة]", "[هة]")
            x = Regex.Replace(x, "[وؤ]", "[وؤ]")
            x = Regex.Replace(x, "[يى]", "[يى]")
            Txt &= x
        Next
        For Each x As DataRow In DataSet1.Tables(0).Rows
            If Regex.IsMatch(x(1), "^" & Txt) = True Then
                DataGridView1.Rows.Add()
                DataGridView1(0, N).Value = x(0)
                DataGridView1(1, N).Value = x(1)
                DataGridView1(2, N).Value = x(2)
                N += 1
            End If
        Next

شكرا اخي الكريم كله تمام الله يعطيك العافي
عم عذبك معي عندي سؤالين
1- بعد الفلترة في التكست بوكس  فقط اريد لما اضغط بالماوس على احد الاسماء المفلترة في التكست تضهر المعلومات الخاصة به في الحقول ( اسم - ملاحظة وغيره)  وتحديد اسمه في والداتا كريت اي ينقلني لسجلاته في الداتا وتضهر بياناته في الحقول
2- في البحث في الداتا كريت كيف بقدر غير رقم العمود الذي يبحث به فمثلا لا اريد البحث في العمود الاول انما الثاني او الثالث حسب كودك المرسل لي
وشكرا فهذه المشاكل لم تكن موجودة عندي بالاكواد السابقة قبل ان اتجاهل الهمزات وشكرا سلفا
عسا ان تكون مشكلتي وضحت بعد عملية البحث تضهر لي اسماء في التكست مثل امجد علي وامجد القاسم نتيجة البحث

اريد لما اضغط بالموس على احد هذه الاسماء تضهر بياناته في الحقول الخاصة بهذا الاسم ويضهر اسمه في اول صف في الداتا كريت ومحدد رقمه في الداتا كريت بلون مختلف وشكرا للجميع للمساعدة
الرد }}}
تم الشكر بواسطة:
#19
أخ عماد انت استخدمة طريقة الربط الديناميكي بين الحقول واليست بكس و الكمبوبكس والداتا قريد ... بخاصية BindingSource  عند استخدام هذا الطريقة سيكون هناك ارتباط بين كل هذه الادوات حتى لو حاولت ان تحذف عنصر من اليست بكس او الكمبوبكس اوكذلك الداتا قريد لا يسمح لك بذلك الا اذا فكيت هذا الارتباط بـــ DataGridView1.DataSource = Nothing واذا انفك الارتباط فلا تيم التنقل بين السجلات كما هو الحال في عملية تعبأتها بطريقتنا

ولكن اسلم حل هو تهيئة الأداة  BindingSource لكي نتمكن من البحث فيها بكل المدخلات .... 

انظر إلى هذا الأجراء لقد قمت بحذف جميع الاحرف المهموزة وكذلك الهمزة المنقوطه ... إلخ
واصبح النص في ادات BindingSource بهية واحده .... تم استبدال جميع الــ إأآ بــــ ا  في جميع الكلمات وليست في كلمة احمد .... وكذلك الحال بالنسبة للهاء .... إلخ

في صفحة تحميل الفورم احذف هذا الكود
 
كود :
BindingSource2 = New BindingSource(DataSet1, "ARSH")
واستبدله بهذا

كود :
BindingSource2 = New BindingSource
            For Each x As DataRow In DataSet1.Tables(0).Rows

                x("NAme") = Regex.Replace(x("NAme"), "[إآأ]", "ا")
                x("NAme") = Regex.Replace(x("NAme"), "[هة]", "ه")
                x("NAme") = Regex.Replace(x("NAme"), "[يى]", "اي")
                x("NAme") = Regex.Replace(x("NAme"), "[وؤ]", "و")
                BindingSource2.List.Add(x.ItemArray)

            Next

وفي حدث النقر على زر البحث اكتب هذا

كود :
 Dim Txt As String = Nothing
        For Each x As String In TextBox4.Text
            x = Regex.Replace(x, "[إأآا]", "ا")
            x = Regex.Replace(x, "[هة]", "ه")
            x = Regex.Replace(x, "[وؤ]", "و")
            x = Regex.Replace(x, "[يى]", "ي")
            Txt &= x
        Next

وفي خانة البحث عن النص استبدل هذا الكود

كود :
  BindingSource2.Filter = "Name like '%" & TextBox4.Text & "%'"



بهذا

كود :
                BindingSource2.Filter = "Name like '%" & Txt & "%'"

لكن لا تستطيع البحث باليست بكس لوحدها او الداتا قريد لوعدها ...لانها كما قلت لك مرتبطة ببعضها

وبالنسبة لسؤلك الثاني انش كمبوبكس و اضف فيه عدد الاعمدة المراد البحث بها وبحسب اختيار العنصر يتم البحث
-----
وان كان هنك اي اشكل لن يقصر احد في هذا المنتدى
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو
#20
(03-04-20, 09:38 PM)سامي محمد كتب : أخ عماد انت استخدمة طريقة الربط الديناميكي بين الحقول واليست بكس و الكمبوبكس والداتا قريد ... بخاصية BindingSource  عند استخدام هذا الطريقة سيكون هناك ارتباط بين كل هذه الادوات حتى لو حاولت ان تحذف عنصر من اليست بكس او الكمبوبكس اوكذلك الداتا قريد لا يسمح لك بذلك الا اذا فكيت هذا الارتباط بـــ DataGridView1.DataSource = Nothing واذا انفك الارتباط فلا تيم التنقل بين السجلات كما هو الحال في عملية تعبأتها بطريقتنا

ولكن اسلم حل هو تهيئة الأداة  BindingSource لكي نتمكن من البحث فيها بكل المدخلات .... 

انظر إلى هذا الأجراء لقد قمت بحذف جميع الاحرف المهموزة وكذلك الهمزة المنقوطه ... إلخ
واصبح النص في ادات BindingSource بهية واحده .... تم استبدال جميع الــ إأآ بــــ ا  في جميع الكلمات وليست في كلمة احمد .... وكذلك الحال بالنسبة للهاء .... إلخ

في صفحة تحميل الفورم احذف هذا الكود
 
كود :
BindingSource2 = New BindingSource(DataSet1, "ARSH")
واستبدله بهذا

كود :
BindingSource2 = New BindingSource
            For Each x As DataRow In DataSet1.Tables(0).Rows

                x("NAme") = Regex.Replace(x("NAme"), "[إآأ]", "ا")
                x("NAme") = Regex.Replace(x("NAme"), "[هة]", "ه")
                x("NAme") = Regex.Replace(x("NAme"), "[يى]", "اي")
                x("NAme") = Regex.Replace(x("NAme"), "[وؤ]", "و")
                BindingSource2.List.Add(x.ItemArray)

            Next

وفي حدث النقر على زر البحث اكتب هذا

كود :
 Dim Txt As String = Nothing
        For Each x As String In TextBox4.Text
            x = Regex.Replace(x, "[إأآا]", "ا")
            x = Regex.Replace(x, "[هة]", "ه")
            x = Regex.Replace(x, "[وؤ]", "و")
            x = Regex.Replace(x, "[يى]", "ي")
            Txt &= x
        Next

وفي خانة البحث عن النص استبدل هذا الكود

كود :
  BindingSource2.Filter = "Name like '%" & TextBox4.Text & "%'"



بهذا

كود :
                BindingSource2.Filter = "Name like '%" & Txt & "%'"

لكن لا تستطيع البحث باليست بكس لوحدها او الداتا قريد لوعدها ...لانها كما قلت لك مرتبطة ببعضها

وبالنسبة لسؤلك الثاني انش كمبوبكس و اضف فيه عدد الاعمدة المراد البحث بها وبحسب اختيار العنصر يتم البحث
-----
وان كان هنك اي اشكل لن يقصر احد في هذا المنتدى
شكرا اخي الكريم عذبتك معي
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  ما هو الخطأ في كود التعديل التالي صالح عبدالله 6 567 12-10-24, 04:02 PM
آخر رد: صالح عبدالله
  مشكلة عند التعديل على البيانات F.H.M 5 481 12-09-24, 05:31 PM
آخر رد: F.H.M
  التعديل على كود حفظ الصورة في مجلد من picturebox صالح عبدالله 3 518 14-05-24, 10:47 PM
آخر رد: أبو خالد الشكري
  ارجو التعديل على الدالة المرفقة - الدالة تعيد الرقم -1 new_programer 4 528 20-03-24, 01:18 PM
آخر رد: تركي الحلواني
  [VB.NET] مساعدة في استدعاء البيانات معينه من form الأول إلى form 2 بدون التعديل loay775 2 579 18-01-24, 05:04 PM
آخر رد: loay775
  [VB.NET] كود التعديل Abdellatif 6 874 21-12-23, 02:01 PM
آخر رد: Abdellatif
  كود التعديل لم ينجح معي melad2002 4 632 16-12-23, 12:22 AM
آخر رد: anes
  رجاء التعديل على الكود المرفق - كلاس لعرض كود المورد new_programer 4 760 13-10-23, 01:47 AM
آخر رد: new_programer
  اريد التعديل على كود اذا كان القيمة المدخلة مكررة بDataGridView يتم فقط زيادة العدد moh61 6 1,438 26-07-23, 10:41 AM
آخر رد: تركي الحلواني
  يرجي التعديل على المثال - تعبءة الكمبوبوكس داخل الجريد بانواع الوحدات new_programer 3 1,084 14-04-23, 05:31 PM
آخر رد: new_programer

التنقل السريع :


يقوم بقرائة الموضوع: