تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
إستفسار حول فكرة ترحيل طلاب الأقسام
#1
السلام عليكم و رحمة الله و بركاته
إخواني الأفاضل .. فضل و ليس أمر 
أريد ممّن يمكنه ذلك .. بعض الأفكار حول 
ترحيل تلاميذ الأقسام التربوية من قسم إلى قسم أعلى
لديّ كمثال 4 أقسام تربوية .. هذا العام أو هاته السنة الدراسية و لتكن مثلا 2023 - 2024 موزعة كالتالي :
قسم السنة الأولى الفوج أ و به 30 تلميذا و قسم السنة الأولى الفوج ب و به 35 تلميذا 
قسم السنة الثانية الفوج أ و به 25 تلميذا و قسم السنة الثانية الفوج ب و به 28 تلميذا 
بنهاية السنة الدراسية تلاميذ السنة الأولى .. الناجحون منهم بالفوجين سيتم ترحيلهم إفتراضيا للسنة الثانية للموسم القادم 2024 - 2025 
و تلاميذ السنة الثانية سيصبحون العام القادم إن شاء الله بالسنة الثالثة .. و هكذا دواليك .. 
الآن عندي قاعدة بيانات و جدول واحد  لكل التلاميذ و لكل الأقسام  .. مع حقول فاصلة بينهم و هو القسم و الفوج و السنة الدراسية
 سؤالي هو : إلى أين يتم ترحيلهم ؟؟
هاته النقطة فعلا حيّرتني .. و لم أجد من خلال أفكاري الحل المنطقي و الأقل جهذا و حجما على قاعدة البيانات
مع واجب و ضرورة الإحتفاظ بمعلومات جميع التلاميذ لهاته السنة أو سنوات قبلها كأرشيف لا يمكن بأي حال من الاحوال حذفه 
و من هنا لا يمكنني التفكير بعملية التعديل على السجلات
هل أقوم بتجهيز جدول جديد ليتم الترحيل إليه أم ماذا أفعل ؟؟
بارك الله فيكم و لكم و جزاكم خير الجزاء مقدما
قناتنا على اليوتوب
الرد }}}
تم الشكر بواسطة: مصمم هاوي , مصمم هاوي
#2
(05-06-24, 02:54 AM)عبد العزيز البسكري كتب :
السلام عليكم و رحمة الله و بركاته
إخواني الأفاضل .. فضل و ليس أمر 
أريد ممّن يمكنه ذلك .. بعض الأفكار حول 
ترحيل تلاميذ الأقسام التربوية من قسم إلى قسم أعلى
لديّ كمثال 4 أقسام تربوية .. هذا العام أو هاته السنة الدراسية و لتكن مثلا 2023 - 2024 موزعة كالتالي :
قسم السنة الأولى الفوج أ و به 30 تلميذا و قسم السنة الأولى الفوج ب و به 35 تلميذا 
قسم السنة الثانية الفوج أ و به 25 تلميذا و قسم السنة الثانية الفوج ب و به 28 تلميذا 
بنهاية السنة الدراسية تلاميذ السنة الأولى .. الناجحون منهم بالفوجين سيتم ترحيلهم إفتراضيا للسنة الثانية للموسم القادم 2024 - 2025 
و تلاميذ السنة الثانية سيصبحون العام القادم إن شاء الله بالسنة الثالثة .. و هكذا دواليك .. 
الآن عندي قاعدة بيانات و جدول واحد  لكل التلاميذ و لكل الأقسام  .. مع حقول فاصلة بينهم و هو القسم و الفوج و السنة الدراسية
 سؤالي هو : إلى أين يتم ترحيلهم ؟؟
هاته النقطة فعلا حيّرتني .. و لم أجد من خلال أفكاري الحل المنطقي و الأقل جهذا و حجما على قاعدة البيانات
مع واجب و ضرورة الإحتفاظ بمعلومات جميع التلاميذ لهاته السنة أو سنوات قبلها كأرشيف لا يمكن بأي حال من الاحوال حذفه 
و من هنا لا يمكنني التفكير بعملية التعديل على السجلات
هل أقوم بتجهيز جدول جديد ليتم الترحيل إليه أم ماذا أفعل ؟؟
بارك الله فيكم و لكم و جزاكم خير الجزاء مقدما

حيّاك الله أخي الحبيب وأستاذي النجيب النجيب عبد العزيز البسكري.
وبخصوص ترحيل الطلبة الناجحين من سنة إلى السنة التي بعدها فعادة حسب ماهو متعارف عليه عندي:
* أولاً: أرشفة النتيجة النهائية في ملف إكسل حفاظاً على حجم قاعدة البيانات.
ثانياً: نقل الطلبة الناجحين من سنة إلى ما بعدها في جدول الطلاب.
هذا الذي أقوم به شخصياً.
وربما يوجد أفكاراً أخرى أفضل؛ ولكن هذا هو المنطق.

وقمت كذلك بعمل مشروع صغير وجعلته كأرشيف أقوم من خلاله بالاتصال بقاعدة البيانات للسنة الدراسية التي أحددها.
وقمت بتسمية قاعدة البيانات عند النسخ باسم السنة الدراسية المنتهية؛ حتى أتمكن من معرفتها عند الطلب.
حيث أختار قاعدة البيانات من خلال الليست بوكس واتصل بها.
إذا طُعِنتَ من الخلفِ فاعلمْ أنك في المقدمةِ
الرد }}}
تم الشكر بواسطة: عبد العزيز البسكري
#3
الخطوات المقترحة لترحيل التلاميذ:
إنشاء جدول أرشيف:

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

تأكد من أن جدول التلاميذ يحتوي على حقل يحدد السنة الدراسية مثل Academic_Year.
ترحيل البيانات إلى الأرشيف:

في نهاية كل سنة دراسية، قم بترحيل البيانات من الجدول الأصلي إلى جدول الأرشيف مع تحديث السنة الدراسية.
مثال على استعلام SQL لترحيل البيانات:

PHP كود :
INSERT INTO Students_Archive (student_idname, class, sectionAcademic_Year)
SELECT student_idname, class, sectionAcademic_Year
FROM Students
WHERE Academic_Year 
'2023-2024'

تحديث بيانات الطلاب للعام الجديد:

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

PHP كود :
UPDATE Students
SET 
class = CASE 
 
             WHEN class = 'السنة الأولى' THEN 'السنة الثانية'
 
             WHEN class = 'السنة الثانية' THEN 'السنة الثالثة'
 
             -- أضف المزيد من القواعد حسب الحاجة
            END
,
 
   section = CASE
 
              WHEN section 'الفوج أ' THEN 'الفوج ب'
 
              WHEN section 'الفوج ب' THEN 'الفوج أ'
 
              -- تعديل الأقسام إذا كانت هناك قواعد محددة
             END
,
 
   Academic_Year '2024-2025'
WHERE Academic_Year '2023-2024' AND status 'ناجح'
تصميم قاعدة البيانات:
جدول Students (للطلاب الحاليين):

student_id (رقم التعريف الفريد)
name (الاسم)
class (السنة الدراسية)
section (الفوج)
Academic_Year (السنة الأكاديمية)
status (حالة النجاح/الفشل)
جدول Students_Archive (للأرشيف):

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

الكود المطلوب بلغة VB.NET:
لتنفيذ هذه الخطوات باستخدام VB.NET، يمكنك استخدام الكود التالي للتعامل مع قاعدة البيانات وتنفيذ عملية 
كود :
Imports System.Data.SqlClient

Public Class StudentMigration

   Private connectionString As String = "Data Source=your_server;Initial Catalog=your_database;Integrated Security=True"

   ' ترحيل البيانات إلى الأرشيف
   Public Sub ArchiveData()
       Using connection As New SqlConnection(connectionString)
           connection.Open()
           Dim archiveQuery As String = "INSERT INTO Students_Archive (student_id, name, class, section, Academic_Year)
                                         SELECT student_id, name, class, section, Academic_Year
                                         FROM Students
                                         WHERE Academic_Year = '2023-2024'"
           Dim archiveCommand As New SqlCommand(archiveQuery, connection)
           archiveCommand.ExecuteNonQuery()
       End Using
   End Sub

   ' تحديث بيانات الطلاب للعام الجديد
   Public Sub UpdateStudentData()
       Using connection As New SqlConnection(connectionString)
           connection.Open()
           Dim updateQuery As String = "UPDATE Students
                                        SET class = CASE
                                                      WHEN class = 'السنة الأولى' THEN 'السنة الثانية'
                                                      WHEN class = 'السنة الثانية' THEN 'السنة الثالثة'
                                                    END,
                                            section = CASE
                                                       WHEN section = 'الفوج أ' THEN 'الفوج ب'
                                                       WHEN section = 'الفوج ب' THEN 'الفوج أ'
                                                     END,
                                            Academic_Year = '2024-2025'
                                        WHERE Academic_Year = '2023-2024' AND status = 'ناجح'"
           Dim updateCommand As New SqlCommand(updateQuery, connection)
           updateCommand.ExecuteNonQuery()
       End Using
   End Sub

End Class

الخطوات لتشغيل الكود:
تأكد من تحديث connectionString بمعلومات الاتصال بقاعدة البيانات الخاصة بك.
قم بإنشاء كائن من فئة StudentMigration واستدعاء الطرق ArchiveData و UpdateStudentData في الوقت المناسب (مثل نهاية السنة الدراسية).
يمكنك إضافة المزيد من التفاصيل والتحقق من الأخطاء حسب الحاجة.
بهذا الشكل، يمكنك إدارة ترحيل التلاميذ بين الأقسام الدراسية بفعالية باستخدام VB.NET.
لو كل مسلم رمى دلو ماء لغرقت إسرائيل 
الرد }}}
تم الشكر بواسطة: عبد العزيز البسكري , مصمم هاوي
#4
السلام عليكم و رحمة الله و بركاته
شكرا جزيل الشكر أخي الكريم 
إقتراحات في محلها بارك الله فيك و لك
فقط الطريقة مع كامل إحتراماتي ليست عملية على الأقل بالنسبة لي و لطريقة عملي
نفترض أنّ تلميذا بعد عشر سنوات كمثال .. جاء و طلب شهادة مدرسية تثبت مستواه و هو لا يتذكر آخر سنة دراسية له بالمدرسة ..
بهاته الطريقة سأبقى أبحث بعشرات ملفات الإكسال الأرشيفية و آلاف التلاميذ لغاية العثور على اسمه
قد أكون مخطئا بتصوري للكيفية أخي الغالي
و قد أضع طريقتك ببالي و أكيد سأغربل فكرتها 
تحياتي و احتراماتي 

السلام عليكم و رحمة الله و بركاته
أخي الغالي 
العتيق 
شكرا جزيل الشكر و بارك الله فيك و لك ليوم الدين إن شاء الله
ما قمت بطرحه و شرحه هو نفس ما أريد فعله 
لأني لا أريد فكرة العمل على عدة قواعد بيانات و لا أريد فكرة وضع لكل سنة دراسية جديدة قاعدة بيانات جديدة أو ملف إكسل خاص بها ..
ما تكرمت بشرحه .. سوف أقوم بتصميم مشروع صغير كمثال للفهم أكثر و أطبق عليه هاته الفكرة إن شاء الله
زادك الله من علمه و فضله و نفع بك الاسلام و المسلمين
تحياتي واحتراماتي  
قناتنا على اليوتوب
الرد }}}
تم الشكر بواسطة: العتيق
#5
(05-06-24, 01:12 PM)عبد العزيز البسكري كتب :
السلام عليكم و رحمة الله و بركاته
شكرا جزيل الشكر أخي الكريم 
إقتراحات في محلها بارك الله فيك و لك
فقط الطريقة مع كامل إحتراماتي ليست عملية على الأقل بالنسبة لي و لطريقة عملي
نفترض أنّ تلميذا بعد عشر سنوات كمثال .. جاء و طلب شهادة مدرسية تثبت مستواه و هو لا يتذكر آخر سنة دراسية له بالمدرسة ..
بهاته الطريقة سأبقى أبحث بعشرات ملفات الإكسال الأرشيفية و آلاف التلاميذ لغاية العثور على اسمه
قد أكون مخطئا بتصوري للكيفية أخي الغالي
و قد أضع طريقتك ببالي و أكيد سأغربل فكرتها 
تحياتي و احتراماتي 

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

العفو اخي الكريم فنحن في هذا المنتدى عائلة واحدة  
جزيل الشكر و بارك الله فيك و لك ليوم الدين إن شاء الله
انا اتابع ردودك كاملة زادكم الله من العلم [b]و نفع بكم الاسلام و المسلمين[/b]
لو كل مسلم رمى دلو ماء لغرقت إسرائيل 
الرد }}}
تم الشكر بواسطة: عبد العزيز البسكري
#6
السلام عليكم و رحمة الله و بركاته
تسلم أخي الفاضل : العتيق
 و سلم يمينك و دينك إن شاء الله
حاولت تطبيق ما تم شرحه من سيادتك 
و الحمد لله .. سارت الأمور على أحسن ما كان يمكن أن تكون
بقيت لي بعض النقاط  و التي يمكن أن يكون لك رأي فيها إن شاء الله
بالكومبوبكس رقم 3 الخاصة بالسنوات الدراسية .. مثلما شرحته بالكود داخل الملف
أنا وضعت كود ظرفي فقط لتسيير الأمور بهذا الشكل

كود :
    ComboBox3.Text = DateTime.Now.Year & "-" & DateTime.Now.Year - 1
فقط لتظهر بالكومبوبكس القيمة : 2023 - 2024
إلى هنا الأمر عادي جدا .. لكن المشكلة هو عند حلول العام الجديد 2025 إن شاء الله
طبعا سوف يظهر بالكومبوبكس 3 القيمة التالية : 2024 - 2025
و هذا خطأ فادح لأن السنة الدراسية في نظامنا التعليمي تبدأ من شهر سبتمبر من العام الحالي لغاية سبتمبر من العام المقبل
كيف يمكن تجاوز هاته الإشكالية الله يرضى عليك
2 - عند وضع الشرط ( ينتقل ) 
كيف أتعامل في قضية الترحيل مع هؤلاء الذين سوف لا ينتقلون .. بالمعنى .. معيدون للسنة الدراسية 
و ألف ألف شكرا مقدما و بارك الله فيك و لك و جزاك خير الجزاء إن شاء الله


الملفات المرفقة
.zip   TARHILE.zip (الحجم : 490.09 ك ب / التحميلات : 39)
قناتنا على اليوتوب
الرد }}}
تم الشكر بواسطة: العتيق
#7
(05-06-24, 11:04 PM)عبد العزيز البسكري كتب :
السلام عليكم و رحمة الله و بركاته
تسلم أخي الفاضل : العتيق
 و سلم يمينك و دينك إن شاء الله
حاولت تطبيق ما تم شرحه من سيادتك 
و الحمد لله .. سارت الأمور على أحسن ما كان يمكن أن تكون
بقيت لي بعض النقاط  و التي يمكن أن يكون لك رأي فيها إن شاء الله
بالكومبوبكس رقم 3 الخاصة بالسنوات الدراسية .. مثلما شرحته بالكود داخل الملف
أنا وضعت كود ظرفي فقط لتسيير الأمور بهذا الشكل

كود :
    ComboBox3.Text = DateTime.Now.Year & "-" & DateTime.Now.Year - 1
فقط لتظهر بالكومبوبكس القيمة : 2023 - 2024
إلى هنا الأمر عادي جدا .. لكن المشكلة هو عند حلول العام الجديد 2025 إن شاء الله
طبعا سوف يظهر بالكومبوبكس 3 القيمة التالية : 2024 - 2025
و هذا خطأ فادح لأن السنة الدراسية في نظامنا التعليمي تبدأ من شهر سبتمبر من العام الحالي لغاية سبتمبر من العام المقبل
كيف يمكن تجاوز هاته الإشكالية الله يرضى عليك
2 - عند وضع الشرط ( ينتقل ) 
كيف أتعامل في قضية الترحيل مع هؤلاء الذين سوف لا ينتقلون .. بالمعنى .. معيدون للسنة الدراسية 
و ألف ألف شكرا مقدما و بارك الله فيك و لك و جزاك خير الجزاء إن شاء الله

استخدم الكود التالي 
PHP كود :
ComboBox3.Text DateTime.Now.Year.ToString() & "-" & (DateTime.Now.Year 1).ToString() 
لو كل مسلم رمى دلو ماء لغرقت إسرائيل 
الرد }}}
تم الشكر بواسطة: عبد العزيز البسكري


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مساعدة في كيفية ترحيل البيانات من داتا قريدفيو إلى داتا قريدفيو في فيجوال بيسك ahmedfa71 13 2,265 09-07-25, 11:24 PM
آخر رد: أبو خالد الشكري
  فكرة تسجيل الحضور اليومي عبد العزيز البسكري 29 2,155 26-02-24, 02:15 PM
آخر رد: saud1004
  [سؤال] اين خل في ترحيل البيانات من من الفورم الى شيتا كسال VBA DJATV85 4 847 02-07-23, 01:37 AM
آخر رد: أبووسم
  مساعده في كود ترحيل البيانات الى اكسل من داتا قرايد فيو maherhaddaf 1 854 27-06-23, 08:03 PM
آخر رد: Shade0001
  [VB.NET] ترحيل البيانات الى اكسس عبدالرحمن الأصبحي 0 696 24-02-23, 04:25 PM
آخر رد: عبدالرحمن الأصبحي
  [سؤال] ترحيل البيانات من textbox الى combo box abu7shihab 6 1,190 01-02-23, 05:30 PM
آخر رد: AnyDesk
  فكرة تعديل او حذف عنصر / صنف في فاتورة atefkhalf2004 8 1,563 09-11-22, 12:01 AM
آخر رد: atefkhalf2004
  استفسار عن فكرة عمل برنامج نظام صندوق مالي مصغر بشكل مبسط nowiglah 9 2,132 12-08-22, 05:57 AM
آخر رد: Taha Okla
  ترحيل البيانات من فيجوال الى الوورد strongriseman 4 1,655 05-05-22, 12:50 PM
آخر رد: strongriseman
  من لديه فكرة عن البيع في حالات nouribenyahia 12 4,368 30-04-22, 03:04 AM
آخر رد: كريم الفقى

التنقل السريع :


يقوم بقرائة الموضوع: