اريد أن أنشئ كود يعمل على كل صف من صفوف الـ DataGrid بحيث
يختبر قيمة داخل خليه محددة فى الصف ولو وجدها مطابقة للشروط
يغير لون خلفية الخليه الأول من هذاالصف وبعد ذلك ينتقل الى
الصف التالى ويجرى نفس الإجراء
اريد أن أنشئ كود يعمل على كل صف من صفوف الـ DataGrid بحيث
يختبر قيمة داخل خليه محددة فى الصف ولو وجدها مطابقة للشروط
يغير لون خلفية الخليه الأول من هذاالصف وبعد ذلك ينتقل الى
الصف التالى ويجرى نفس الإجراء
UP
انا أريد أن أدخل قيمة في خلية فإذا كانت أكبر من قيمة محدة في شرط تخرج رسالة " القيمة أكبر من المحدد " ويتم وضع بدلها صفر
فما هو الكود الازم لذلك
اولا بالنسبة للالوان فهي غير متوفرة في ال datagrid
اما فحص قيمة فهي كمايلي يوجد الحدث beforeupdate خاص بال datagrid
Private Sub DataGrid1_BeforeColUpdate(ByVal ColIndex As Integer, OldValue As Variant, Cancel As Integer) If ColIndex = 1 Then If DataGrid1.Columns(ColIndex).Value > 10 Then DataGrid1.Columns(ColIndex).Value = 0 'او جرب OldValue = 0 End If End If End Sub
جزك الله خير أخي سوف اجرب الكود
اخي طارق جربة الكود ولن طلعت مشكلة وهي أنه لا يفحص القيمة الجديدة بل القيمة السابقة للخلية فعلى سبيل المثال إذا كانت القيمة القديمة 10 وسجلة 14 فأنه يقبل هذه القيمة مع أن الشرط أكبر من 10 لا يقبل هذا أولاً
ثانياً : الا يمكن وضع هذا الكود تحت الكي داون وذلك بعد النقر على انتر يفحص القيمة
استخدم الحدث AfterColUpdate
وستحصل على ما تريد
جزاك الله خير اخي طارق تقريباً 90 % من المشكلة انحل ولكن عندما اريد التنقل بمفتاح انتر من خلية لم يحدث بها تغيير لا تتغير في الحدث AfterColUpdate فما الحل برايك والجزء الثاني من المشكلة عندما تكون القيمة اكبر من المطلوب فإن القيمة تتغير لصفر ولكن المؤشر يذهب للخلية الأخرى وانا اريد أن يبقى في نفس الخلية التي لا تحقق الشرط بعد وضع صفر بها واعذرني على كثرة الاسئلة
وجزك الله كل خير
هذا الموضوع مغلق.