السلام عليكــم ورحمـة الله وبركاتــه ،،
لدى فاتورة شراء تحتوى على head [رقم الفاتورة ( text) - اسم المورد (Combobox)]
و details [عبارة عن datagridview من ضمن اعمدتها combobox لاختيار اسم الصنف]
اقوم بتعبئة combo اسم المورد من جدول الموردين و combo اسم الصنف من جدول الاصناف عند تحميل النموذج
المشكلة هى ان عندما يكون عدد الاصناف كبير يعنى مثلا 1000 صنف ياخذ النموذج وقت كبير جدا عند التحميل و يهنج و لا يمكن العمل على النموذج و لابد من اغلاق البرنامج و بالتالى لا يمكن العمل على النموذج فى حالة كبر عدد الاصناف المدخلة فى جدول الاصناف
اضع فى موديول الكود التالى
Public SqlConnection1 As SqlClient.SqlConnection = New SqlClient.SqlConnection
Public Sub FILLCOMBOBOXITEMS(ByVal TABLE As String, ByVal FIELD As String, ByVal FIELD1 As String, ByVal COMBO As Object)
On Error Resume Next
Dim I As Integer
Dim DS As New DataSet
Dim str As String = "SELECT DISTINCT " & FIELD & " , " & FIELD1 & " FROM " & TABLE
Dim ADP As New SqlClient.SqlDataAdapter(str, SqlConnection1)
DS.Clear()
ADP.Fill(DS, "TBL")
COMBO.Items.Clear()
For I = 0 To DS.Tables("TBL").Rows.Count - 1
COMBO.Items.Add(DS.Tables("TBL").Rows(I).Item(0))
Next I
COMBO.valuemember = DS.Tables("tbl").Rows(I).Item(1)
ADP.Dispose()
End Sub
و هذه الجملة التى استخدمها فى النموذج عند تحميل النموذج
FILLCOMBOBOXITEMS("ITEM", "Item_Name", "item_id", ITEM_ID)
ارجو ان اجد الحل لديكم