السلام عليكم ورحمة الله وبركاته
اريد البحث في حقل قاعدة بيانات اكسس بجزء من النص
مثلا هناك حقل يحمل بيانات
عادل احمد سعيد
اريد عند كتابة حرف الـ ع تظهر اي حقل يحمل هذا الحرف حتى يتم التوصل الى الاسم كامل ثم (أ) ثم (د) ثم (ل) بعدها يظهر جميع الحقول التي تتحمل
اسم عادل فتأتي الكلمة التي تليها وهكذا
وكمان حتى لو تك بدلا من البدأ بكلمة عادل لو كتبت مثلا احمد يظهر هذا الحقل او كتبت كلمة سعيد
اي الفلترة بأي كلمة
السلام عليكم
ارفق المثال للتعديل عليه
ممكن تستخدم هذا ( حسب ضعفي ) في سب جديد أو في حدث تحميل الفورم ... ثم تستدعيه في حدث كل تكست بوكس ( 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 i = 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 i = 0 To DataSet2.Tables(0).Rows.Count - 1
Dim ss() As String = DataSet2.Tables(0).Rows(i)("UName").ToString().Split(" ")
For j = 0 To ss.Length - 1
If (ss(j) = txtSearch.Text) Then
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
بالتوفيق ان شاءالله
الف شكر لا حرمنا الله منك
السلام عليكم
العفو اخي العزيز في الخدمة ان شاءالله