لدي كود البحث في حقل واحد ولكنني ابحث عن كود يبحث في اي مدخل من الـ 15 حقل بحيث إمكانية البحث في ( الاسم او التاريخ او الرقم او ........ الخ )
مع اعتبار ان إسم قاعدةالبيانات ( dataaqar ) و اسم الجدول ( Tableaqar ) والحقول من 1 الى 15 اسمائها متسلسلة ( textbox1 , textbox2 , textbox3 ..........) وهكذا .......
هذا الكود يكتب في الـ Module1.vb
Function Search(ByVal Table As String, ByVal field As String, ByVal Txt As String) As DataSet
Try
CMD.CommandType = CommandType.Text
CMD.CommandText = "select * from " + Table + " where " + field + " like('" + Txt + "%')"
Dim ds As DataSet = New DataSet
Dim da As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter
da.SelectCommand = CMD
CMD.Connection = Connection
ds.Clear()
da.Fill(ds)
Return ds
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Functionهذا الكود يكتب في زر البحث
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
ds = Search("phonebook", "name", Me.TextBox1.Text.Trim)
If ds.Tables(0).Rows.Count <= 0 Then
MessageBox.Show("لم يتم العثور على بيانات", "محرك البحث", MessageBoxButtons.OK, MessageBoxIcon.Information)
Me.TextBox1.Text = ""
Me.TextBox1.Focus()
DataGrid1.Refresh()
DataGrid1.DataSource = Nothing
Exit Sub
Else
ds.Tables(0).Columns(0).ColumnName = "الرقم "
ds.Tables(0).Columns(1).ColumnName = "الاسم "
'ds.Tables(0).Columns(2).ColumnName = "نوع الوظيفة "
Me.DataGrid1.PreferredColumnWidth = Me.DataGrid1.ClientSize.Width / 2
Me.DataGrid1.DataSource = ds.Tables(0)
End If
End Subاجوا منكم المساعدة في هذا الكود