السلام عليكم أخوتي المبرمجين العرب
عندي داتاغريدفيو و تظهر عليها بيانات قادمة من قاعدة بيانات اكسس
أرجو منكم أن تساعدونني بكود يحسب عدد الخلايا التي تحتوي على أرقام و هذه الخلايا تبدأ من الخلية 0 من العمود 2 و تنتهي عند الخلية 0 من العمود 7 يعني في نفس السطر
و هذا هو الكود
Dim count As Integer = 0
For Each cell As DataGridViewCell In DataGridView1.CurrentRow.Cells
If TypeOf cell.Value Is DBNull = False Then
count += 1
End If
Next
TextBox1.Text = Val(count) - 2
و شكرا مسبقا
وعليكم السلام ورحمة الله وبركاته
يبدو فى مشكلة فى الصورة
على اى حال الكود الصحيح لاستخدام عرض عدد جميع الخلايا
تجنبهاً لعدد 2 عمود سيكون بالشكل التالى
كود :
Dim count As Integer = 0
For i As Integer = 0 To DataGridView1.RowCount - 1
For ii As Integer = 0 To DataGridView1.ColumnCount - 3
count += 1
Next
Next
TextBox1.Text = count
واذا كنت تريد عرض الجميع تجنباً فقط عدد 2 خلايا
سيكون الكود بهذا الشكل
كود :
Dim count As Integer = 0
For i As Integer = 0 To DataGridView1.RowCount - 1
For ii As Integer = 0 To DataGridView1.ColumnCount - 1
count += 1
Next
Next
TextBox1.Text = count - 2
اتمنى هذه الاكود تكون خالصة بكل ما تريده
تحياتى لك
وتمنياتى لك التوفيق
استخدم الموقع التالى لرفع الصور
كما يمكنك الضغط على زر + رد جديد
ثم ارفاق الصورة بالمرفقات
هل قمت باختبار الاكواد بالاعلى
ام انها ليس كما انت تريد
تحياتى لك
وتمنياتى لك التوفيق
لا عليك اخى kebboud
بعض ما تم توضيح المطلوب كل م اعليك استخدام الكود بهذا الشكل
كود :
Dim count As Integer = 0
For i As Integer = 0 To DataGridView1.RowCount - 1
For ii As Integer = 2 To DataGridView1.ColumnCount - 1
If Not DataGridView1.Rows(i).Cells(ii).Value Is Nothing Then
count += 1
End If
Next
Next
TextBox1.Text = count
تحياتى لك
وتمنياتى لك التوفيق
اخى الفاضل kebboud
فى البداية الشكر لله
بخصوص الكود هو عبارة عن تجنب اول عمودين
وهما رقم الطالب و الاسم
ثم يبداء عند العمود الثالث من الخالية الاولى
حتى اخر عمود فى الداتا جريد الى اخر خالية
اى انه يبداء العد من العمود الاختبار الاول
خلال هذا الاجاء سيقوم بفحص القيمة لكل قيمة فى الخلايا
واذا كان يحتوى على قيمة اى انه اكبر من 0 او انه يحتوى على نص
سيقوم باحتساب عدد +1 على قيمة count
لينتهى بالنهاية ويقوم بترحيل القيمة الى TextBox1.Text
كل ما عليك فعله
هو تعبئة الداتا جريد باى قيمة وبشكل عشوائي
واستخدم الكود فى زر ما وعند الضغط على الزر
ستجد انه يتم اعطاء اجمالى عدد الخلايا التى تحتوى على قيم فقط
وهو كما موضح فى الصورة التى قمت برفعها
طبق الكود وستجد النتيجة لديك
الا اذا كنت تريد عمل المعادلة على صف واحد فقط وليس جميع الصفوف لاسماء الطلاب باجمعها
اذا كن تريد احتساب الاعداد
للصف الواحد فقط اى لاسم طالب واحد
فكل ما عليك الوقوف على اى اسم طالب فى اى مكان فى الصف الخاص به
ثم تقوم بالضغط على الزر الذى يحتوى على الكود التالى
كود :
Dim count As Integer = 0
Dim row As DataGridViewRow = DataGridView1.CurrentRow
For ii As Integer = 2 To DataGridView1.ColumnCount - 1
If Not row.Cells(ii).Value Is Nothing Then
count += 1
End If
Next
TextBox1.Text = count
وبكده سيعطيك عدد الخلايا التى تحتوى على قيم لصف الطال فقط وليس جميع الطلاب
تحياتى لك
وتمنياتى لك التوفيق
استاذي المحترم
أنا أريد أن يتم الكود على كل صف وحده
ثانيا هو لا يحسب الصف جميعا هو يحسب من خلية الختبار الأول و حتى خلية الاختبار السادس فقط
شكرا على الصبر
اذا كنت تريد حتى العمود الخاص بالاختبار السادس قبل الامتحان
فهذا يعنى العمود رقم 7
فكل ما عليك حذف هذه الجملة
كود :
DataGridView1.ColumnCount - 1
وتكتب بدالها فقط 7
طبق التعديل اذا كان على طالب واحد للكود الموجود فى الرد الاخير
وكذلك طبق التعديل على الاكواد المذكورة بالاعلى لجلب جميع الطلاب
راجع الرد السابق تم اضافة اكواد اضافية
تحياتى لك
وتمنياتى لك التوفيق