تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
البحث في حقل بأي كليمة أو بأي جزء من الكلمة
#1
السلام عليكم ورحمة الله وبركاته

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

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

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

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

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

اي الفلترة بأي كلمة
الرد }}}
تم الشكر بواسطة:
#2
السلام عليكم

ارفق المثال للتعديل عليه
الرد }}}
تم الشكر بواسطة:
#3
ممكن تستخدم هذا ( حسب ضعفي ) في سب جديد أو في حدث تحميل الفورم ... ثم تستدعيه في حدث كل تكست بوكس ( 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")

هذا ما استطعت حسب فهمي وإن شاء الله يفيدك أكثر أساتذتي في هذا المنتدى
الرد }}}
تم الشكر بواسطة:
#4
تفضل بارك الله فيك هذا المثال


الملفات المرفقة
.rar   InfoData.rar (الحجم : 93.57 ك ب / التحميلات : 102)
الرد }}}
تم الشكر بواسطة:
#5
[COLOR="#FF0000"]السلام عليكم

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

اولا غير 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
الرد }}}
تم الشكر بواسطة:
#7
الف شكر اخي العزيز
بخصوص الملف المرفق هو ملف المشروع
وبالنسبة للكود جزاك الله الف خير قمت تعمل ما ذكرته لكن في حالة كتابة مثلا اسم محمد وهو الاسم الثاني لا يظهر قائمة في التكست يظهر فيها جميع الاسماء التي ظهر فيها امس محمد
هو فقط بيظهر الاسماء في حالة كتابة الاسم الاول
وانا اريد عند كتابة اي اسم او اللقب يظهر قائمة بها

وبخصوص نسخة 2010 توجد لدي نسخة ارجوا ارفاقها بعد التعديل إن امكن
الرد }}}
تم الشكر بواسطة:
#8
السلام عليكم

اولا امسح الكود الاول من دالة ال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
الرد }}}
تم الشكر بواسطة:
#9
الف شكر لا حرمنا الله منك
الرد }}}
تم الشكر بواسطة:
#10
السلام عليكم

العفو اخي العزيز في الخدمة ان شاءالله
الرد }}}
تم الشكر بواسطة:



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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم