الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال عن تحديد بيانات في جدول

بدأه زهرة الزنبق في 18 ديسمبر 2012 · 5 رد · 504 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اقوم باستدعاء حقل من جدول وهذا الحقل يحتوي على بيانات معينة مثل " لغة عربية- موسيقى- لغة انجيليزية

واريد عند استدعاء الجدول وعندما يحتوي هذا الحقل على هذه البيانات ان تصبح الcheckboxs الخاصة بهم cheched

وكنت استخدم هذا الكود

If s2a.Tables("view_3").Rows(0)(0) = "لغة عربية" Then

CheckBox28.Checked = True

End If

If s2a.Tables("view_3").Rows(0)(0) = "موسيقى" Then

CheckBox24.Checked = True

End If

If s2a.Tables("view_3").Rows(0)(0) = "لغة انجيليزية" Then

CheckBox22.Checked = True

End If

وهنا لم احدد رقم الصف لان البيانات لا يوجد لها ترتيب معين في الجدول وممكن ان يحتوي الحقل على واحدة او اثنين وليس الكل

ولكن تحديدى لrow (0) يجعل اختيار الصف الاول فقط ولذلك اريد الكود يحدد هذا الحقل ويحدد الصف بدون رقم

تم تعديل هذه المشاركة بواسطة زهرة الزنبق في 18 ديسمبر 2012 في 14:08

#2
زهرة الزنبق كتب:

اقوم باستدعاء حقل من جدول وهذا الحقل يحتوي على بيانات معينة مثل " لغة عربية- موسيقى- لغة انجيليزية

If s2a.Tables("view_3").Rows(0)(0) = "لغة عربية" Then

CheckBox28.Checked = True

End If

If s2a.Tables("view_3").Rows(0)(0) = "موسيقى" Then

CheckBox24.Checked = True

End If

If s2a.Tables("view_3").Rows(0)(0) = "لغة انجيليزية" Then

CheckBox22.Checked = True

End If

السلام عليكم ورحمة الله وبركاته

يتم وضع الكود السابق بين حلقة تكرارية مع تغيير الرقم صفر إلى المتغير "i "

وينبغى إزالة جميع CheckBoxes بالكود التالى قبل تنفيذ الحلقة التكرارية

 CheckBox1.Checked = CheckBox2.Checked = CheckBox3.Checked = False

ثم تنفيذ الحلقة التكرارية

Dim i = 0
for i = 0 to i < s2a.Tables("view_3").Rows.Count

    If s2a.Tables("view_3").Rows(i)(0) = "لغة عربية" Then 
    	CheckBox28.Checked = True 
    End If 

    If s2a.Tables("view_3").Rows(i)(0) = "موسيقى" Then 
        CheckBox24.Checked = True 
    End If

    If s2a.Tables("view_3").Rows(i)(0) = "لغة انجيليزية" Then
        CheckBox22.Checked = True 
    End If 

Next

مع العلم أن هناك طرق أخرى ولكنى فضلت استخدام نفس الكود المستخدم

تم تعديل هذه المشاركة بواسطة ema2000_t في 18 ديسمبر 2012 في 19:27

3

أدعو الله أن يجعل أعمالنا خالصة لوجهه الكريم --- وأن ينفعنا بما علمنا

Dr Sayed Tohamy

Programming Instructor

مدرب برمجة

---------------

EmaSoft2000

-------------------

#3

استخدمت الكود ولكن يظهر هذا الerror الموجود في الصورة المرفقة

post-263787-048593300 1355899185_thumb.p

المرفقات
Untitled21.png
#4

السلام عليكم ورحمة الله وبركاته

الخطأ السابق نتنيجة عدم تعريف المتغير i على أنه نوع Integer

فيتم تعديل سطر التعريف إلى

Dim i As Integer = 0

ملحوظة: يجب الإلمام بمثل هذه الأخطاء لأنها أخطاء واضحة وحلها معروف ليست من الأخطاء المنطقية، ويتأتى ذلك عن طريق التجارب الكثيرة وعمل مشاريع كثيرة حتى يخطئ المبرمج كثيراً فيتعرض لأخطاء كثيرة ويتعرف على حلها

3

أدعو الله أن يجعل أعمالنا خالصة لوجهه الكريم --- وأن ينفعنا بما علمنا

Dr Sayed Tohamy

Programming Instructor

مدرب برمجة

---------------

EmaSoft2000

-------------------

#5

السلام عليكم

يجب ملاحظة انه اذا كان بالـ datatable اكثر من row سيتم اخذ قيم الصف الاخير

لأنه سيقوم بالتغيير على قيم الcheckboxes بسبب الـ loop

أقلب الغريب كقلب أخيك ؟! أعيناه تشبه عينا أخيك ؟؟!! fb.pngtwitter.png

#6
أبو الجود كتب:

السلام عليكم

يجب ملاحظة انه اذا كان بالـ datatable اكثر من row سيتم اخذ قيم الصف الاخير

لأنه سيقوم بالتغيير على قيم الcheckboxes بسبب الـ loop

وعليكم السلام ورحمة الله وبركاته

جزاك الله خيراً على الملاحظة، ولكن لا تقلق

الكود السابق لن يلغى اختيار الـ CheckBox لأننا لم نضيف عبارة Else أما لو كانت مضافة فسوف يأخذ قيم الصف الأخير فعلاً

شكراً على الملاحظة وأرجو من كل الأعضاء التفاعل وإبداء الآراء والملاحظات حتى يستفيد الجميع

4

أدعو الله أن يجعل أعمالنا خالصة لوجهه الكريم --- وأن ينفعنا بما علمنا

Dr Sayed Tohamy

Programming Instructor

مدرب برمجة

---------------

EmaSoft2000

-------------------

مواضيع مشابهة