اريد المساعدة في الاضافة ابتداء من السجل الاول والثاني والثالث .. الخ وهكذا طبعاً يوجد سجلات افتراضية عددها تسعة سجلات اريدها افتراضية وعند الانتهاء من تعبئة التسعة سجلات عمل امكانية لاضافة سجلات جديدة وشكراً
اريد عند الاضافة في الفلكس قريد يضيف في اول سطر
امل المساعدة منكم والله يجزيكم الف خير
هل طريقتي صعبة لدرجة هذي امل المساعدة
السلام عليكم...
ضع الكود التالي في الحدث Click للـ Combo (تعديل على الكود الأصلي):
Private Sub Combo1_Click()
Dim Idx As Long, EmptyIdx As Long
If db.State = 1 Then db.Close
db.Provider = "Microsoft.JET.OLEDB.4.0;"
db.Open App.Path & "\db1.mdb"
rs.Open "select * from items where item_no=" & Combo1 & "", db, adOpenStatic, adLockOptimistic
' =======================================
If rs.BOF And rs.EOF Then Exit Sub
EmptyIdx = 0
For Idx = 1 To fg.Rows - 1
If fg.TextMatrix(Idx, 1) = "" Then
EmptyIdx = Idx
Exit For
End If
Next Idx
If EmptyIdx = 0 Then
fg.AddItem fg.Rows & vbTab & rs!item_no & vbTab & rs!item_name & vbTab & rs!qty & vbTab & rs!cost & vbTab & rs!notes
If fg.Rows Mod 2 = 0 Then
fg.FillStyle = flexFillRepeat
fg.Row = fg.Rows - 1
fg.RowSel = fg.Rows - 1
fg.Col = 1
fg.ColSel = fg.Cols - 1
fg.CellBackColor = vbRed
fg.FillStyle = flexFillSingle
fg.Col = 1
End If
Else
fg.TextMatrix(EmptyIdx, 0) = CStr(EmptyIdx)
fg.TextMatrix(EmptyIdx, 1) = IIf(IsNull(rs!item_no), "", rs!item_no)
fg.TextMatrix(EmptyIdx, 2) = IIf(IsNull(rs!item_name), "", rs!item_name)
fg.TextMatrix(EmptyIdx, 3) = IIf(IsNull(rs!qty), "", rs!qty)
fg.TextMatrix(EmptyIdx, 4) = IIf(IsNull(rs!cost), "", rs!cost)
fg.TextMatrix(EmptyIdx, 5) = IIf(IsNull(rs!notes), "", rs!notes)
End If
' =======================================
End Subاستعملنا الدالة IIf و الدالة IsNull لتجنب احتمال وجود قيم NULL في بعض الحقول.
الكود يقوم أيضاً بتلوين الأسطر الجديدة كما في المرفق الأصلي.
نرجو الاستفادة و السلام.
وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ
صدق الله العظيم
الله يجزاك الف خير ويجعله في ميزان حسناتك ربي ينور لك دربك ودرب جميع من يسعى في نشر العلم .