
╔═══════════════════════════════════════════════════════════════╗
║     نظام إدارة التلاميذ – الطور الثانوي                     ║
║     حزمة Microsoft Access الكاملة                            ║
╚═══════════════════════════════════════════════════════════════╝

محتوى الحزمة:
──────────────
00_README.txt              → هذا الملف
01_schema_tables.sql       → بنية الجداول العشرة (DDL)
02_data_insert.sql         → بيانات نموذجية للاختبار
03_queries.sql             → 8 استعلامات جاهزة
04_vba_module.bas          → وحدة VBA كاملة (طباعة + تلقائي)
05_create_accdb_windows.py → سكريبت Python لإنشاء .accdb تلقائياً

═══════════════════════════════════════════════════════════════
طريقة الاستيراد في Microsoft Access
═══════════════════════════════════════════════════════════════

الطريقة 1 – يدوي (الأسرع):
────────────────────────────
1. افتح Microsoft Access
2. إنشاء قاعدة بيانات جديدة → احفظها كـ نظام_التلاميذ.accdb
3. اذهب إلى: Database Tools > SQL Server Migration Assistant
   أو: Create > Query Design > SQL View
4. افتح ملف 01_schema_tables.sql وانسخ المحتوى في محرر SQL
5. اضغط Run (!) لتنفيذ إنشاء الجداول
6. كرر مع ملف 02_data_insert.sql لإدراج البيانات
7. كرر مع ملف 03_queries.sql لإنشاء الاستعلامات
8. لإضافة VBA: اضغط Alt+F11 → Insert → Module
   الصق محتوى 04_vba_module.bas

الطريقة 2 – تلقائي بالكامل (Python):
───────────────────────────────────────
1. تأكد من تثبيت Microsoft Access على جهازك
2. ثبّت مكتبة pywin32: pip install pywin32
3. شغّل: python 05_create_accdb_windows.py
4. سيُنشئ السكريبت قاعدة البيانات بكل جداولها واستعلاماتها
   ويفتحها في Access تلقائياً

═══════════════════════════════════════════════════════════════
الجداول العشرة
═══════════════════════════════════════════════════════════════

CLASSES            → الأقسام الدراسية
PROFESSEURS        → بيانات الأساتذة
ELEVES             → بيانات التلاميذ (17 حقل)
EMPLOI_DU_TEMPS    → جداول الحصص الأسبوعية
ABSENCES           → تسجيل الغياب اليومي
SUIVI_ABSENCES     → متابعة الغياب المتتالي + الإنذارات الأربع
INFRACTIONS        → المخالفات والطرد (بتقرير/بدونه)
POINTAGE_MENSUEL   → أرشفة شهرية للغيابات
COURRIERS          → المطبوعات الإدارية الصادرة
ELEVES_TRANSFERES  → الوافدون والمغادرون

═══════════════════════════════════════════════════════════════
الاستعلامات الثمانية
═══════════════════════════════════════════════════════════════

Q_Resume_Absences     → ملخص غيابات كل تلميذ مع الحالة
Q_Rapport_Journalier  → التقرير اليومي للحضور والغياب
Q_Alertes_Absences    → تنبيهات الغياب المتتالي (3/10/17/32 يوم)
Q_Infractions         → سجل المخالفات والقرارات
Q_Kashf_Mensuel       → الكشف الشهري للحضور
Q_Transferts          → التلاميذ الوافدون والمغادرون
Q_Profs_Classes       → الأساتذة وجداولهم
Q_Courriers           → المراسلات الصادرة

═══════════════════════════════════════════════════════════════
وحدة VBA – الوظائف المتاحة
═══════════════════════════════════════════════════════════════

VerifierAbsencesAuto()          → تنبيهات تلقائية عند الفتح
MettreAJourSuivi(id, jours)     → تحديث الغياب + إجراءات تلقائية
ImprimerIstidaa(id, motif)      → طباعة استدعاء ولي الأمر
ImprimerInzar(id, motif)        → طباعة إنذار كتابي
ImprimerShatb(id)               → طباعة تبليغ الشطب + تحديث الحالة
ImprimerKhourouj(id, سبب, وقت) → طباعة وثيقة خروج
TaqrirYawmi()                   → التقرير اليومي كامل
ArchiverMoisCourant()           → أرشفة شهر في POINTAGE_MENSUEL

═══════════════════════════════════════════════════════════════
نظام الإنذارات التلقائي
═══════════════════════════════════════════════════════════════

3 أيام متتالية   → إشعار 1 لولي الأمر (اليوم 4)
10 أيام متتالية  → إشعار 2 (اليوم 11)
17 يوماً متتالياً → إعذار رسمي (اليوم 18)
32 يوماً متتالياً → شطب من القوائم (اليوم 33)

السنة الدراسية 2024/2025
