ما هو الخطأ فى هذا الكود؟
الغرض من الكود : ملأ List Box ببيانات (حقل) محدد يحتوى على أسماء (من كل الجدول) فى قاعدة بيانات Access بحيث تظهر
كل الأسماء طبقا لأول حرف يتم إدخاله عن طريق Text Box
طريقة عمل الكود : تمرير الحرف المراد إظهار الأسماء التى تبدأ به إلى إستعلام من نوع Parameter Query
وجملة الإستعلام قمت بتخزينها داخل قاعدة البيانات بإسم LetterLookUp
جملة الإستعلام ;'*'+SELECT ItemName FROM Items WHERE ItemName Like Letter
ولقد تأكدت أن جملة الإستعلام تعمل جيدا من داخل البرنامج VisData بعد تنفيذها بالأمر Execte
والمشكلة : بعد تنفيذ الكود لا يتم ملأ الليست بوكس بأى بيانات بالرغم من عدم ظهور أى رسالة خطأ فى
أى مرحله من مراحل الكود وكأن الجدول الذى كونته جملة الإستعلام فارغ
Option Explicit
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim cmd As New ADODB.Command
Dim PramTemp As ADODB.Parameter
Dim Letter As String
Private Sub Text_Change()
' Open connection.
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= (App.Path & "" & "jawaad.MDB")
' Open command object with one parameter.
Set cmd = New ADODB.Command
cmd.CommandText = "LetterLookUp"
cmd.CommandType = adCmdStoredProc
' Get parameter value and append parameter.
Letter = Text
Set PramTemp = cmd.CreateParameter("Letter", adChar, adParamInput, 1)
cmd.Parameters.Append PramTemp
PramTemp.Value = Letter
' Create recordset by executing the command.
Set cmd.ActiveConnection = cn
Set rs = cmd.Execute
Do While Not rs.EOF
List.AddItem rs.Fields("ItemName")
rs.MoveNext
Loop
rs.Close
cn.Close
End Sub