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

نسخة كاملة : البحث في حقل بأي كليمة أو بأي جزء من الكلمة
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السلام عليكم ورحمة الله وبركاته

اريد البحث في حقل قاعدة بيانات اكسس بجزء من النص

مثلا هناك حقل يحمل بيانات

عادل احمد سعيد

اريد عند كتابة حرف الـ ع تظهر اي حقل يحمل هذا الحرف حتى يتم التوصل الى الاسم كامل ثم (أ) ثم (د) ثم (ل) بعدها يظهر جميع الحقول التي تتحمل
اسم عادل فتأتي الكلمة التي تليها وهكذا

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

اي الفلترة بأي كلمة
السلام عليكم

ارفق المثال للتعديل عليه
ممكن تستخدم هذا ( حسب ضعفي ) في سب جديد أو في حدث تحميل الفورم ... ثم تستدعيه في حدث كل تكست بوكس ( TextChanged )
كود :
Dim cmd As SqlCommand = New SqlCommand("SELECT * from Ben_data where ben_name like '%" & TextBox2.Text.Trim _
                                                       & "%' and ben_ad like '%" & TextBox3.Text & "%' and Ben_Ad2 like '%" & TextBox1.Text & "%' ", con)
                SQLDataAdapter1 = New SqlDataAdapter(cmd)
                Dim builder As SqlCommandBuilder = New SqlCommandBuilder(SQLDataAdapter1)

                SQLDataSet1 = New DataSet()

                SQLDataAdapter1.Fill(SQLDataSet1, "Beneficiary_data")

هذا ما استطعت حسب فهمي وإن شاء الله يفيدك أكثر أساتذتي في هذا المنتدى
تفضل بارك الله فيك هذا المثال
[COLOR="#FF0000"]السلام عليكم

اخي العزيز لا يجوز وضع ملفات exe في المرفقات ,يرجى مراعاة ذلك في المشاركة المقبلة[/COLOR]
السلام عليكم

اولا غير AutoCompeleteSource للtxtSearch الى CustomSource

ثانيا اضف هذا الكود الى دالى FilGrid
PHP كود :
'''''''''''''''''''''''''''''''''''
        For i = 0 To DataSet1.Tables(0).Rows.Count - 1
            txtSearch.AutoCompleteCustomSource.Add(DataSet1.Tables(0).Rows(i)("UName"))
        Next 

ثالثا غير دالة الSearching الى الآتي:

PHP كود :
Private Sub Searching()
        
Me.txtName.Text ""
        
Dim DataSet2 As New DataSet
        DataSet2
.Clear()
        
Using MYDataAdapter As New OleDbDataAdapter("SELECT * FROM tblInfo WHERE UName LIKE '" Me.txtSearch.Text "'"Con)
            
Call MYDataAdapter.Fill(DataSet2"UNameTable")

            For 
0 To DataSet2.Tables(0).Rows.Count 1

                txtName
.Text DataSet2.Tables(0).Rows(i)("UName")
                
txtLocation.Text DataSet2.Tables(0).Rows(i)("ULocation")
                
txtMobile.Text DataSet2.Tables(0).Rows(i)("Mobile_Num")
                
txtPhone.Text DataSet2.Tables(0).Rows(i)("Phone_Num")

            
Next
        End Using
    End Sub 



اعتذر عن عدم رفعي للمثال المعدل لان الاصدار الذي اعمل عليه 2010
الف شكر اخي العزيز
بخصوص الملف المرفق هو ملف المشروع
وبالنسبة للكود جزاك الله الف خير قمت تعمل ما ذكرته لكن في حالة كتابة مثلا اسم محمد وهو الاسم الثاني لا يظهر قائمة في التكست يظهر فيها جميع الاسماء التي ظهر فيها امس محمد
هو فقط بيظهر الاسماء في حالة كتابة الاسم الاول
وانا اريد عند كتابة اي اسم او اللقب يظهر قائمة بها

وبخصوص نسخة 2010 توجد لدي نسخة ارجوا ارفاقها بعد التعديل إن امكن
السلام عليكم

اولا امسح الكود الاول من دالة الFillGrid

وغير دالة الSearching الى التالي:

PHP كود :
Private Sub Searching()
        
Me.txtName.Text ""
        
Dim DataSet2 As New DataSet
        DataSet2
.Clear()


        
Using MYDataAdapter As New OleDbDataAdapter("SELECT * FROM tblInfo"Con)
            
Call MYDataAdapter.Fill(DataSet2"UNameTable")

            For 
0 To DataSet2.Tables(0).Rows.Count 1
                Dim ss
() As String DataSet2.Tables(0).Rows(i)("UName").ToString().Split(" ")
                For 
0 To ss.Length 1
                    
If (ss(j) = txtSearch.TextThen
                        txtName
.Text DataSet2.Tables(0).Rows(i)("UName")
                        
txtLocation.Text DataSet2.Tables(0).Rows(i)("ULocation")
                        
txtMobile.Text DataSet2.Tables(0).Rows(i)("Mobile_Num")
                        
txtPhone.Text DataSet2.Tables(0).Rows(i)("Phone_Num")
                    
End If
                
Next
            Next
        End Using 

بالتوفيق ان شاءاللهSmile
الف شكر لا حرمنا الله منك
السلام عليكم

العفو اخي العزيز في الخدمة ان شاءالله
الصفحات : 1 2