21-11-18, 01:41 PM
(19-11-18, 10:07 PM)atefkhalf2004 كتب : يتم تعبئة الكمبو من خلال الكود
Dim dsp As New DataSet
Sql = "SELECT * FROM adsupp order by supp_name "
Dp = New OleDbDataAdapter(Sql, objconn)
Dp.Fill(dsp, "adsupp")
objconn.Close()
ComboBox4.Items.Clear()
ComboBox4.DataSource = dsp.Tables("adsupp")
ComboBox4.DisplayMember = "supp_name"
ComboBox4.ValueMember = "supcod"
ComboBox4.Text = ""
مرحبا اخي ،،
لتعبئة الكومبو الأفضل تجنب تحديد جميع حقول الجدول بكتابة * فقط اكتب الحقل او الحقول المراد التعامل معها في جملة السيليكت :
كود :
Dp = New OleDbDataAdapter("SELECT supp_name , supcod FROM adsupp order by supp_name ", objconn)
Dp.Fill(dsp, "adsupp")
ComboBox4.DataSource = dsp.Tables("adsupp")
ComboBox4.DisplayMember = "supp_name"
ComboBox4.ValueMember = "supcod"اما فيما يخص الموضوع الأساسي وهو الإكمال التلقائي بمجرد كتابة حرف في الكومبو بوكس سواء في اول او وسط او آخر الاسم :
ضع هذا الكود في أي مكان في الفورم :
كود :
Private Sub ComboBox4_TextChanged(sender As Object, e As EventArgs) Handles ComboBox4.TextChanged
If ComboBox1.Text = "" Then Exit Sub
Dim DataAdapter1 As New OleDbDataAdapter("SELECT * FROM adsupp where supp_name like '%" & ComboBox4.Text & "%'", Conn)
Dim DS As New DataSet
DataAdapter1.Fill(DS, "adsupp")
DataGridView1.DataSource = DS.Tables(0)
End Sub
يا رحمن الدنيا والآخرة ورحيمهما

