كل الانشطه
- الساعة الأخيرة
-
كل الوحدات النمطية فارغة وكذا الأحداث في الفورمات
طاهر اوفيسنا replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
ان شاء الله يعمل معي استاذ والان عندي مشكلة في تحميل الملفين المرفقين من طرف الاستاذ جعفر مانعرف ضعف الانترنت ام الملفين بهما اشكالية - Today
-
تم تعديل الملف ::::::::::::: عدلنا الحقل CorrectionCommittee في الجدول Teachers الى تاريخ/وقت عدلنا الكود تحت الزر بهذا الشكل ........ Dim db As DAO.Database Dim rsA As DAO.Recordset, rsB As DAO.Recordset Dim rsRooms As DAO.Recordset, rsDays As DAO.Recordset, rsTarget As DAO.Recordset Dim supervisionDate As Date, roomName As String Dim teacherAssignedA As Boolean, teacherAssignedB As Boolean Dim dayKey As String Dim safeName As String Dim teacherName As String On Error GoTo ErrorHandler Set db = CurrentDb() ' 1. التهيئة: مسح الجدول وتصفير العدادات db.Execute "UPDATE Teachers SET SupervisionCount = 0" db.Execute "DELETE FROM TeacherAssignment" ' 2. التحقق من توفر عدد كافٍ من المعلمين Dim totalSupervisionsNeeded As Long Dim availableA As Long, availableB As Long Dim daysCount As Long, roomsCount As Long daysCount = DCount("*", "SupervisionDays") roomsCount = DCount("*", "ExamRooms") totalSupervisionsNeeded = daysCount * roomsCount ' معلم A ومعلم B لكل قاعة ' حساب المعلمين المتاحين مع مراعاة جميع شروط الاستثناء ' (هنا نستخدم شرط التحقق من تاريخ المراقبة فقط) availableA = DCount("*", "Teachers", "TeacherCategory = 'A' " & _ "AND (ExamDate Is Null OR ExamDate Not In (SELECT SupervisionDate FROM SupervisionDays))") availableB = DCount("*", "Teachers", "TeacherCategory = 'B' " & _ "AND (ExamDate Is Null OR ExamDate Not In (SELECT SupervisionDate FROM SupervisionDays))") If availableA < totalSupervisionsNeeded Or availableB < totalSupervisionsNeeded Then Dim response As VbMsgBoxResult response = MsgBox("تحذير: عدد المعلمين غير كافي!" & vbCrLf & _ "المطلوب: " & totalSupervisionsNeeded & " معلم A و " & totalSupervisionsNeeded & " معلم B" & vbCrLf & _ "المتاح: " & availableA & " معلم A و " & availableB & " معلم B" & vbCrLf & _ "هل تريد المتابعة مع وضع 'غير مغطاة' للقاعات غير المكتملة؟", _ vbYesNo + vbExclamation, "تنبيه") If response = vbNo Then MsgBox "تم إلغاء التوزيع بناءً على طلبك.", vbInformation Exit Sub End If End If ' 3. بدء عملية التوزيع Set rsDays = db.OpenRecordset("SELECT * FROM SupervisionDays ORDER BY SupervisionDate", dbOpenDynaset) Set rsRooms = db.OpenRecordset("SELECT * FROM ExamRooms ORDER BY RoomName", dbOpenDynaset) Set rsTarget = db.OpenRecordset("TeacherAssignment") ' إنشاء قاموس لتتبع المعلمين في كل يوم على حدة Dim dailyTeachers As Object Set dailyTeachers = CreateObject("Scripting.Dictionary") ' حلقة على كل الأيام Do While Not rsDays.EOF supervisionDate = rsDays!supervisionDate ' تهيئة القاموس لهذا اليوم فقط (ليسمح بالتكرار في الأيام الأخرى) dailyTeachers.RemoveAll ' حلقة على كل القاعات rsRooms.MoveFirst Do While Not rsRooms.EOF roomName = rsRooms!roomName teacherAssignedA = False teacherAssignedB = False ' تعيين معلم فئة A Set rsA = db.OpenRecordset("SELECT * FROM Teachers WHERE TeacherCategory='A' " & _ "AND (ExamDate Is Null OR ExamDate <> #" & Format(supervisionDate, "mm/dd/yyyy") & "#) " & _ "AND (CorrectionCommittee Is Null OR CorrectionCommittee <> #" & Format(supervisionDate, "mm/dd/yyyy") & "#) " & _ "ORDER BY SupervisionCount ASC", dbOpenDynaset) If Not rsA.EOF Then rsA.MoveFirst Do Until rsA.EOF Or teacherAssignedA teacherName = rsA![teacherName] If Not dailyTeachers.Exists(teacherName) Then ' تعيين المعلم A rsTarget.AddNew rsTarget!teacherName = teacherName rsTarget!TeacherCategory = "A" rsTarget!ExamRoom = roomName rsTarget!supervisionDate = supervisionDate rsTarget.Update ' تحديث العداد safeName = Replace(teacherName, "'", "''") db.Execute "UPDATE Teachers SET SupervisionCount = SupervisionCount + 1 WHERE [TeacherName] = '" & safeName & "'" ' إضافة المعلم للقاموس اليومي فقط dailyTeachers.Add teacherName, 1 teacherAssignedA = True End If rsA.MoveNext Loop End If rsA.Close ' إذا لم يتم تعيين معلم A، تسجيل "غير مغطاة" If Not teacherAssignedA Then rsTarget.AddNew rsTarget!teacherName = "غير مغطاة" rsTarget!TeacherCategory = "A" rsTarget!ExamRoom = roomName rsTarget!supervisionDate = supervisionDate rsTarget.Update End If ' تعيين معلم فئة B Set rsB = db.OpenRecordset("SELECT * FROM Teachers WHERE TeacherCategory='B' " & _ "AND (ExamDate Is Null OR ExamDate <> #" & Format(supervisionDate, "mm/dd/yyyy") & "#) " & _ "AND (CorrectionCommittee Is Null OR CorrectionCommittee <> #" & Format(supervisionDate, "mm/dd/yyyy") & "#) " & _ "ORDER BY SupervisionCount ASC", dbOpenDynaset) If Not rsB.EOF Then rsB.MoveFirst Do Until rsB.EOF Or teacherAssignedB teacherName = rsB![teacherName] If Not dailyTeachers.Exists(teacherName) Then ' تعيين المعلم B rsTarget.AddNew rsTarget!teacherName = teacherName rsTarget!TeacherCategory = "B" rsTarget!ExamRoom = roomName rsTarget!supervisionDate = supervisionDate rsTarget.Update ' تحديث العداد safeName = Replace(teacherName, "'", "''") db.Execute "UPDATE Teachers SET SupervisionCount = SupervisionCount + 1 WHERE [TeacherName] = '" & safeName & "'" ' إضافة المعلم للقاموس اليومي فقط dailyTeachers.Add teacherName, 1 teacherAssignedB = True End If rsB.MoveNext Loop End If rsB.Close ' إذا لم يتم تعيين معلم B، تسجيل "غير مغطاة" If Not teacherAssignedB Then rsTarget.AddNew rsTarget!teacherName = "غير مغطاة" rsTarget!TeacherCategory = "B" rsTarget!ExamRoom = roomName rsTarget!supervisionDate = supervisionDate rsTarget.Update End If rsRooms.MoveNext Loop rsDays.MoveNext Loop ' 4. التنظيف وإغلاق الموارد rsTarget.Close rsRooms.Close rsDays.Close Set rsTarget = Nothing Set rsRooms = Nothing Set rsDays = Nothing Set rsA = Nothing Set rsB = Nothing Set db = Nothing Set dailyTeachers = Nothing MsgBox "تم الانتهاء من التوزيع بنجاح!" & vbCrLf & _ "تم تعيين معلم A ومعلم B لكل قاعة" & vbCrLf & _ "مع مراعاة الشروط التالية:" & vbCrLf & _ "- عدم تكرار المعلم في نفس اليوم" & vbCrLf & _ "- السماح بتكرار المعلم في أيام مختلفة" & vbCrLf & _ "- استثناء المعلمين الذين لديهم اختبار في نفس اليوم" & vbCrLf & _ "- استثناء المعلمين الموجودين في لجنة تصحيح لنفس تاريخ المراقبة فقط" & vbCrLf & _ "- العدالة في التوزيع حسب عدد المراقبات السابقة", _ vbInformation, "إنجاز" Exit Sub ErrorHandler: MsgBox "حدث خطأ أثناء التنفيذ: " & vbCrLf & _ "رقم الخطأ: " & Err.Number & vbCrLf & _ "الوصف: " & Err.Description & vbCrLf & _ "في الإجراء: " & Erl, vbCritical, "خطأ" Resume Next تقضل المرفق ....................... NA_3.accdb
-
كل الوحدات النمطية فارغة وكذا الأحداث في الفورمات
شايب replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
يعمل بدون مشاكل Windows 11 Pro الاصدار 24h2 واوفيس 2021 " 64 بت" فقط عدلت ليتوافق مع اصدار 64 -
الكلام دا لي أخي الفاضل ولا أرسلته لي وتقصد ترسله لشخص آخر
-
كل الوحدات النمطية فارغة وكذا الأحداث في الفورمات
jjafferr replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
وانا كذلك ، ولكني ارفقت ملفين بعد تنظيفها 🙂 -
ابوخليل started following كل الوحدات النمطية فارغة وكذا الأحداث في الفورمات
-
كل الوحدات النمطية فارغة وكذا الأحداث في الفورمات
ابوخليل replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
عمل على جهازي بدون مشاكل الوندز 2010 .. 64 الاوفيس 2010 .. 32 -
لم يقبل التحويل لذا فتحت قاعدة 2003 وجلبت اليها جميع الكائنات الموجودة لا اعلم ان كانت ستعمل معك على الوجه الأكمل وعذرا على التأخر في تحقيق طلبك db2003.rar
-
تمام بالنسبة للشهادات
-
كل الوحدات النمطية فارغة وكذا الأحداث في الفورمات
jjafferr replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
تفضل 1628.2_Import_New_DB_Compact_Repair.accdb 1628.1_Fixed_Errors_Decompile_CompactRepair_4.accdb -
كل الوحدات النمطية فارغة وكذا الأحداث في الفورمات
طاهر اوفيسنا replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
-
كل الوحدات النمطية فارغة وكذا الأحداث في الفورمات
jjafferr replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
جرب الملفين 1628.2025.zip -
yousef2023 joined the community
-
كل الوحدات النمطية فارغة وكذا الأحداث في الفورمات
طاهر اوفيسنا replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
اليك البرنامج كاملا استاذ جعفر تم تغيير الاسماء و الالقاب نظرا للخصوصيات الشخصية وهو الان بدون مشاكل على ونداوز 7و 8 اوفيس2010 أتمنى ان اجد حلا لكي يفتح على ونداوز 2010اوفيس 2010 بدون مشاكل حذف الاكواد ش ع 2025.rar -
Sħěrif Ħušsệiñ started following Moosak
-
وعليكم السلام ورحمة الله وبركاته.. كان لي تجربة شخصية مع أخي @سلمان الشهراني في أحد المواضيع هنا . حاول التواصل معه عله يفيدك 🤗 .
-
ممكن حل مشكلة ملف الاكسيل على ويندوز؟؟؟؟
ahmed agag replied to ahmed agag's topic in منتدى الاكسيل Excel
أهلاُ بحضرتك ياهندسة دى صور المشاكل اللى بتوجهنى عند فتح الملف ياريت لو تحاول تفتح اى اسم الاسماء مثل النخلة البحرية بتظهر الرسائل الموجود فى الصور -
@ابوخليل سلمت وبارك الله فيك ورزقك من حيث لاتحتسب 🤗 اشكرك كثيرا
-
جربي الآن اضفت معيار معرف العميل في مصدر بيانات التقرير Bill_info subreport databasebalance4.rar
-
لا يصلح هكذا بل الافضل ... زر للصف الأول والثاني يعرض تقرير خاص الفصلين الدراسيين زر للصف الثالث يعرض الفصلين الدراسيين زر للصفوف 4 ، 5 ، 6 يعرض الفصلين الدراسيين ........... العمل بحاجة الى اعادة ترتيب في نموذج التقارير واضافة ازرار وتعديل الاكواد المصاحبة ايضا نحن بحاجة الى تصحيح الاكواد داخل الشهادة السابقة والشهادات الجديدة
-
-
يمكن اجاريك في تخصيص شهادة للصفوف الدنيا .. لحصر ظهور موادهم فقط ولكن : هذا غير مفهوم المواد كلها صفر .. ليش تعرض درجة المواد هل تعلم من اجل اخراج هذا التقرير يجب عمل اكثر من استعلام .. استعلام تجميعي يخص الاصفار ثم استعلام جدولي يعرض الأصفار لم افهم الى اين تريد ان تصل يكفي حصر الطلاب بقائمة في تقرير .. وعنوان التقرير (( الحاصلين على اصفار في النتيجة ))
-
@ابوخليل يعطيك العافية سلمت
-
المعذرة نحن نلهو ونلعب هنا .. فضلا قليلا من ادب طالب العلم تفضلي .. هذه النتيجة في التقرير يمكنك العمل والتعديل على بقية التقارير كما في التقرير Bill_info subreport databasebalance3.rar
-
@ابوخليل الجميع
-
لم افتح التقارير عملت لك الرصيد الآلي على النموذج المفترض انك تخبرني هل ما تم في النموذج هو المطلوب ؟ التقارير شيء آخر يوجد لديك اكثر من تقرير .. اي تقرير تريد التعديل عليه ..؟
-
Mohameddd200300 started following هل احد ربط مع هية الزكاة والدخل؟
-
سلام عليكم ورحمة الله وبركاته حاليا جالس احول اربط مع هية الزكاة والدخل وشفت الموضع إلى هنا وحملت الملفات وجالس اطبق بس هل احد منكم ضبط معه وربط فعلا وهل احصل عند أحد منك برنامج جهاز أو وسيط لربط. خبرتي ضعيفه شوي او احد يشاركنا تجربته في الموضع وشكرا.