السلام عليكم
أريد كود يجعل مربع نص
Text1
في الحدث
Change
ان يظهر بحث في قاعدة البيانات وتظهر النتائج في
List1
وان يتم البحث ايضا عندما نقوم بالتحريك في الليست بوكس بالضغط إلى اسفل
هذا هو الكود المستخدم
Dim dbADODB As New ADODB.Connection
Dim rsEMPL As New ADODB.Recordset
Private Sub Form_Load()
If dbADODB.State = adStateOpen Then dbADODB.Close
dbADODB.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & App.Path & "\GG.mdb" & ";"
rsEMPL.Open "select * from EMPL ", dbADODB, adOpenKeyset, adLockOptimistic
End Sub
Private Sub Text1_Change()
Adodc1.RecordSource = "select * from [EMPL] where [Name] like '" & Text1.Text & "%'"
Adodc1.CommandType = adCmdText
Adodc1.Refresh
End Sub
مرفق مثال للتعديل
السلام عليكم
ان شاء الله طلبك في المرفقات
يعطيك العافية
أهلا أخي الكريم , قم بوضع عدد الأعمدة في خاصية Columns التابعة للـ ListBox وحالة مثال يوجد حقلين في الجدول يعني تضع رقم 2 في الخاصية , ثم أضف أداة Adodc1 للمشروع , بعد ذلك أمسح كود الفورم كله وإستبدله بهذا :
كود :
Dim dbADODB As New ADODB.Connection
Dim rsEMPL As New ADODB.Recordset
Private Sub Form_Load()
If dbADODB.State = adStateOpen Then dbADODB.Close
dbADODB.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & App.Path & "\GG.mdb" & ";"
rsEMPL.Open "select * from EMPL ", dbADODB, adOpenKeyset, adLockOptimistic
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & App.Path & "\GG.mdb" & ";"
Adodc1.CommandType = adCmdText
End Sub
Private Sub Text1_Change()
If Trim$(Text1.Text) = "" Then List1.Clear: Exit Sub
Adodc1.RecordSource = "select * from EMPL where Name like '" & Text1.Text & "%'"
Adodc1.Refresh
If Adodc1.Recordset.RecordCount > 0 Then
List1.Clear
Adodc1.Recordset.MoveFirst
Do While Not Adodc1.Recordset.EOF
List1.AddItem Adodc1.Recordset!Name & vbTab & Adodc1.Recordset!Degree
Adodc1.Recordset.MoveNext
Loop
Else
List1.Clear
End If
End Sub
الشكر للجميع على المجهود العظيم