اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

تجزئة عمود المواد الدراسية إلى أعمدة


omran2015

الردود الموصى بها

سبحان الله !!! كلما صادفتني مشكلةً معقدةً لجأتُ إلى هذا المنتدى الرائع,

والذي ساعدني كثيراً في حل جميع المشاكل البرمجية في برامجي اكسس واكسل

وصراحةً إلى هذه الساعة لم أصادف منتدى رائعاً كهذا المنتدى.

ولا أقول هذا تزلفاً أو مجاملة؛ فإنني قد استفدت كثيراً منه وتعلمت أشياء كنتُ أجهلها تماماً.

واليوم أواجهُ مشكلة صعبةٌ علىَّ وسهلةٌ عليكم وهى:

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

الجدول المطلوب العمل عليه هو (TBL_grades) والحقل هو (Subject)

 

للعلم قمتُ بمحاولة تتمثل في عمل استعلام لكل مادة ثم إنشاء استعلام واحدة من جميع استعلامات المواد الدراسية؛ ولكن هذه الطريثة أراها غير ذات جدول

لا سيما إن تغيرت مادة أو تم زيادة مادة دراسية.

عموماً المحاولة التي قمتُ بها موجودة في القاعدة والاستعلام المجمع هو (Q_result)

فهل يوجد طريقة أفضل من هذه الطريقة بارك الله فيكم وجزاكم كلّ خير ؟

 

 

Gradedata.rar

تم تعديل بواسطه omran2015
رابط هذا التعليق
شارك

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

Gradedata_02.accdb

  • Like 1
رابط هذا التعليق
شارك

37 دقائق مضت, AbuuAhmed said:

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

Gradedata_02.accdb 452 kB · 2 downloads

 

الان, omran2015 said:

 

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

رابط هذا التعليق
شارك

عملٌ ممتازٌ وجهدٌ جبارٌ شاكراً لك اهتمامك الكبير أخي الفاضل abuuahmed said 

ولكن أريد  أيضا إدراج درجات الأعمال (ON) ودرجات الامتحان (TO) في الاستعلام حتى يتم إظهارها في التقرير

وكذلك استخراج النسبة المئوية والتقدير والنتيجة (راسب - ناجح) وعدد مواد الرسوب

منذ ساعه, omran2015 said:

 

 

رابط هذا التعليق
شارك

جرب هذه الفكرة ، هذا اللي في بالي الآن ، قد تكون أفكار أفضل عند الزملاء.
أعتقد الاستعلام الوحيد الذي يحتاج تدخل يدويا عند زيادة أو نقص عدد المواد هو استعلام Q_Grades_Result وهذه المشكلة ممكن التغلب عليها بتصميم الاستعلام بالكود عند الرغبة.
اترك التجارب عليك ، احذف أو زد مادة وافحص النتائج.

Gradedata_03.accdb

  • Thanks 1
رابط هذا التعليق
شارك

8 ساعات مضت, AbuuAhmed said:

جرب هذه الفكرة ، هذا اللي في بالي الآن ، قد تكون أفكار أفضل عند الزملاء.
أعتقد الاستعلام الوحيد الذي يحتاج تدخل يدويا عند زيادة أو نقص عدد المواد هو استعلام Q_Grades_Result وهذه المشكلة ممكن التغلب عليها بتصميم الاستعلام بالكود عند الرغبة.
اترك التجارب عليك ، احذف أو زد مادة وافحص النتائج.

Gradedata_03.accdb 464 kB · 1 download

 

رابط هذا التعليق
شارك

في 24‏/1‏/2023 at 01:32, AbuuAhmed said:

جرب هذه الفكرة ، هذا اللي في بالي الآن ، قد تكون أفكار أفضل عند الزملاء.
أعتقد الاستعلام الوحيد الذي يحتاج تدخل يدويا عند زيادة أو نقص عدد المواد هو استعلام Q_Grades_Result وهذه المشكلة ممكن التغلب عليها بتصميم الاستعلام بالكود عند الرغبة.
اترك التجارب عليك ، احذف أو زد مادة وافحص النتائج.

Gradedata_03.accdb 464 kB · 8 downloads

أعذرني كنت في سفر خارج بنغازي، وما وصلت إلا أمس الخميس ليلا، وقد شاهدت الملف منذ قليل وتبين لي أنه يؤدي الغرض المطلوب مع بعض التعديلات الطفيفة التي لا تذكر.

بارك الله فيك وجزاك كل خير أخي الحبيب على المجهود المبذول والرائع والفكرة الجميلة في حل الإشكالية، ويكفي أنها قلصت عدد الاستعلامات.

رابط هذا التعليق
شارك

 

مشاركة مع اخي ابو احمد .. 

كنت عملت عملا مشابها ايام الشباب .. يعني يوم انا ولد .. وقد بحث عنه حتى وجدته ، وقمت بالتعديل عليه بما يتوافق وطلب اخونا عمران

اولا نصيحة وتوجيه حول تصميم قواعد البيانات عامة :

تكرار البيانات في اكثر من جدول غير صحي بل هو مخالف للطرق التي ينصح بها عند تصميم الجداول

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

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

فإذا اردنا عرض بعض بيانات الطالب  مع درجاته فالاستعلام كفيل بعرض كل شيء

كتبت هذه المقدمة للفائدة وللتنبيه اني تصرفت في جدول الدرجات كما ينبغي ان يكون .

الكود يرتب البيانات داخل جدول جديد مؤقت حسب الطلب

آمل ان يحظى باستحسانكم

ملحوظة : اخي عمران اذا لم يرق لك تعديلي على الجدول فيمكن للكود العمل على الجدول الأصلي ... فقط نعدل على ارقام داخل الكود

Dim Rs, Rst, rsq As Recordset, Dbs As Database
Dim r, x, i, q, j, j2   As Integer
Set Dbs = CurrentDb
Set Rs = Dbs.OpenRecordset("TBL_grades")
Set Rst = Dbs.OpenRecordset("tbl_temp")
Set rsq = Dbs.OpenRecordset("SELECT DISTINCT TBL_grades.IDStudent FROM TBL_grades")
DoCmd.SetWarnings False
DoCmd.RunSQL ("DELETE tbl_temp.* FROM tbl_temp")
DoCmd.SetWarnings True
Rs.MoveFirst
rsq.MoveFirst
r = Rs.RecordCount
q = rsq.RecordCount
For i = 0 To q
Rst.AddNew
Rst.Fields(1) = rsq.Fields(0)
x = 2
For j = 1 To 8
j2 = 2
For j2 = 2 To 5
Rst.Fields(x) = Rs.Fields(j2)
x = x + 1
Next j2
Rs.MoveNext
Next j
Rst.Update
rsq.MoveNext
Next i
MsgBox "تم اعداد الجدول"

 

تحويل اعمدة الى صف.rar

  • Thanks 1
رابط هذا التعليق
شارك

في 27‏/1‏/2023 at 17:48, ابوخليل said:

 

مشاركة مع اخي ابو احمد .. 

كنت عملت عملا مشابها ايام الشباب .. يعني يوم انا ولد .. وقد بحث عنه حتى وجدته ، وقمت بالتعديل عليه بما يتوافق وطلب اخونا عمران

اولا نصيحة وتوجيه حول تصميم قواعد البيانات عامة :

تكرار البيانات في اكثر من جدول غير صحي بل هو مخالف للطرق التي ينصح بها عند تصميم الجداول

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

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

فإذا اردنا عرض بعض بيانات الطالب  مع درجاته فالاستعلام كفيل بعرض كل شيء

كتبت هذه المقدمة للفائدة وللتنبيه اني تصرفت في جدول الدرجات كما ينبغي ان يكون .

الكود يرتب البيانات داخل جدول جديد مؤقت حسب الطلب

آمل ان يحظى باستحسانكم

ملحوظة : اخي عمران اذا لم يرق لك تعديلي على الجدول فيمكن للكود العمل على الجدول الأصلي ... فقط نعدل على ارقام داخل الكود

Dim Rs, Rst, rsq As Recordset, Dbs As Database
Dim r, x, i, q, j, j2   As Integer
Set Dbs = CurrentDb
Set Rs = Dbs.OpenRecordset("TBL_grades")
Set Rst = Dbs.OpenRecordset("tbl_temp")
Set rsq = Dbs.OpenRecordset("SELECT DISTINCT TBL_grades.IDStudent FROM TBL_grades")
DoCmd.SetWarnings False
DoCmd.RunSQL ("DELETE tbl_temp.* FROM tbl_temp")
DoCmd.SetWarnings True
Rs.MoveFirst
rsq.MoveFirst
r = Rs.RecordCount
q = rsq.RecordCount
For i = 0 To q
Rst.AddNew
Rst.Fields(1) = rsq.Fields(0)
x = 2
For j = 1 To 8
j2 = 2
For j2 = 2 To 5
Rst.Fields(x) = Rs.Fields(j2)
x = x + 1
Next j2
Rs.MoveNext
Next j
Rst.Update
rsq.MoveNext
Next i
MsgBox "تم اعداد الجدول"

 

تحويل اعمدة الى صف.rar 28.72 kB · 2 downloads

بارك الله فيك وجزاك كل خير استاذي الفاضل أبو خليل، وصراحة لم ار ردك إلا الساعة بسبب تذبذب النت عندنا.

اطلع عليه عند العودة للمنزل وأخبرك رائي 

رابط هذا التعليق
شارك

أستاذ خليل تعديل جميل جدا وفي غاية الروعة، مشكلتي الوحيدة أنني اشتغل على الفيجوال دوت نت ولا يمكنني أن أدخل إلى قاعدة البيانات وأقوم بالضغط على البوتن في الموجود في النموذج.

واتمنى أن هذا الكود الرائع والذي هو بمثابة كنز لي أن يشتغل بدون تدخل مني ويكون من خلال استعلام.

وللعلم أخذت بنصيحتك في طريقة تصميم الجدول 

تم تعديل بواسطه omran2015
رابط هذا التعليق
شارك

في 27‏/1‏/2023 at 19:48, ابوخليل said:

كنت عملت عملا مشابها ايام الشباب .. يعني يوم انا ولد

ما شاء الله عليك ، يعني من زمان وانت وقواعد البيانات اصحاب :

 

1 ساعه مضت, omran2015 said:

اشتغل على الفيجوال دوت نت ولا يمكنني أن أدخل إلى قاعدة البيانات وأقوم بالضغط على البوتن في الموجود في النموذج.

بل تستطيع وبكل بساطة 🙂

الرابط التالي به كود لفتح قاعدة بيانات اخرى (اكسس الى اكسس) ، ولكن هذا الكود يمكنك تحويله الى vbs ، واكيد للغة Net. ، مجرد ابحث عن 🙂

 

جعفر

  • Thanks 1
رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information