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

عملية حسابية بين جدولين تظهر في جدول الفورم الثالث

بدأه خيال وحب في 25 مارس 2008 · 7 رد · 833 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

يسعد ايامكم

لدي اربع فورمات لاظهار الدرجات طبعا الفورم الاول هو الرئيسي

الفورم الثاني مجموعة درجات

الفورم الثالث مجموعة درجات أخرى ونتائج اولية

الفورم الرابع يظهر النتائج

المقصود هنا ليس العملية الحسابية ولكن اود ان اصل لمعلومة كيفية عمل توصيل لقاعدة البيانات بين الجداول وحسابات بين جداول مختلفة واظهار النتائج في جداول اخرى وذلك عن طريق الكود.

في هذا المثال لاكثر من طالب مخصص لكل فرد رقم تسلسلي خاص فهل استعمل Select statement للتوصيل مع العلم ان القاعدة هي اكسس والبرنامج مطور على Visual Studio 2005.

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

المثال قد يكون أوضح وقد ارفقته

دمتم بود

Math_Marks.rar

تم تعديل هذه المشاركة بواسطة خيال وحب في 25 مارس 2008 في 18:30

انا افكر اذا انا مبدع .... I think therfore I am Creative

#3
اقتباس
يرجى التوضيح اكثر

توضيح اكثر

عندي ها الجدول الاول

ID Name Mark1 Mark2

a9 Ali 88 99

a7 Muna 58 49

عندي ها الجدول الثاني

ID Name Mark3 Mark4

a9 Ali 29 19

a7 Muna 28 39

الجدول الثالث سيحفظ نتائج الآتي

Mark1+Mark3 التي هي نتائج علي فقط عن طريق الاي دي 9

select m1 from table1 where id = 9

+

select m3 from table2 where id = 9

=

Result

العملية ستكون 88 + 29 = 117

88 من الجدول الاول

29 من الجدول الثاني

تتم عملية الجمع

حيث تساوي 117 وستحفظ في جدول آخر وهو الثالث

وهكذا للاشخاص الاخريين كل حسب الرقم المسلسل

ويجمع الدرجات الاولى مع الثالثة

الثانية مع الرابعة

كيف تتم العملية وما التوصيلات التي يجب ان اعملها Connections وجملة Select التي يمكن ان تفيد في هذه العملية او العمليات الحسابية الاخرى

شكرا :D

الفورم والقاعدة قد توضح اكثر في الاعلى اذا القيت نظرة اخي Slayer666 وشكرا مرة اخرى

انا افكر اذا انا مبدع .... I think therfore I am Creative

#4

ارى ان لديك خطا في تصميم قاعدة البيانات

الخطا الاول

لماذا حفظ الدرجات ال 3 و ال4 في اخر؟؟

يمكن اختصار العمل و وضعها داخل جدول واحد

كالتالي

ID Name Mark1 Mark2 Mark3 Mark4

ما اذا كنت ترغب بحفظ الدرجات حسب الشهر فا سيكون كالتالي

لا داعي لوضعها في جدول اخر

ID Name Mark1 Mark2 Month

اما اذا كنت تعرف بحفظ الجدول حسب المادة فالجدول يكون

لا داعي لوضعها في جدول اخر

ID Name Mark1 Mark2 Month Class

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

اما بالنسبة لككود الجمع فهو بسيط

		Dim i As Integer
		For i = 0 To daTable.Rows.Count - 1
			Resulte1 = ds.Tables("mark1").Rows(i)("Mark1") + ds.Tables("Mark2").Rows(i)("Mark3")
			Resulte2 = ds.Tables("mark1").Rows(i)("Mark2") + ds.Tables("Mark2").Rows(i)("Mark4")
		Next

صحح تصميمك لقاعدة البيانات و الباقي سهل و حظ سعيد و اي سؤال انا حاضر

#5

:S

قد يكون التصميم خطأ ولكني لا زلت اود معرفة طريقة كيفية العملية لاستخدامها في عمليات اخرى كإنقاص المواد من برنامج مخازن مثلا

وقد قلت سابقا

اقتباس
المقصود هنا ليس العملية الحسابية ولكن اود ان اصل لمعلومة كيفية عمل توصيل لقاعدة البيانات بين الجداول وحسابات بين جداول مختلفة واظهار النتائج في جداول اخرى وذلك عن طريق الكود.

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

اقتباس
Dim i As Integer

For i = 0 To daTable.Rows.Count - 1

Resulte1 = ds.Tables("mark1").Rows(i)("Mark1") + ds.Tables("Mark2").Rows(i)("Mark3")

Resulte2 = ds.Tables("mark1").Rows(i)("Mark2") + ds.Tables("Mark2").Rows(i)("Mark4")

Next

شكرا على الكود ولكن لا زلت اتمنى كيف يتم ذلك

شكرا لك اخي slayer666

انا افكر اذا انا مبدع .... I think therfore I am Creative

#6

للوصول الى اي خلية داخل الداسيت

ds.Tables("mark1").Rows(i)("Mark1")

ds هي الداتا سيت

t

ables("TableName")

هي اسم الداتا تيبل داخل الدا سيت

اما

Rows(i)("Mark1")

i هي رقم السطر

Mark1 هي اسم العامود

#7

شكرا لك اخي على المعلومات الجديدة علي حقا وجاري التجربة ان شاء الله .......

شكرا مرة اخرى :D

انا افكر اذا انا مبدع .... I think therfore I am Creative

#8
خيال وحب كتب:
شكرا لك اخي على المعلومات الجديدة علي حقا وجاري التجربة ان شاء الله .......

شكرا مرة اخرى :D

نتمنى ان نسمع اخبار جيدة :wub:

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…