اذهب الي المحتوي
أوفيسنا

Foksh

الخبراء
  • Posts

    3261
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    128

كل منشورات العضو Foksh

  1. والأجمل هو مرورك العطر 🤗
  2. ومشاركة مع أخي @kkhalifa1960 ، هذه فكرتي ، بحيث من خلال دالة عامة يمكن استخدامها في أي مكان في المشروع وليس ضمن حقل معين أو نموج معين .. انشئ مديول جديد أو في مديول موجود ، وألصق الكود التالي :- Public Function CalculateTax(ByVal salary As Double) As Double Const BASE1 As Double = 750 Const BASE2 As Double = 1166.667 Const FIXED_TAX_AT_BASE2 As Double = 28.883 Select Case True Case salary < BASE1 CalculateTax = 0 Case Round(salary, 3) = BASE2 CalculateTax = FIXED_TAX_AT_BASE2 Case salary < BASE2 CalculateTax = (salary - BASE1) * 0.05 Case Else CalculateTax = FIXED_TAX_AT_BASE2 + (salary - BASE2) * 0.1 End Select End Function ثم في حدث بعد التحديث لمربع نص "الراتب" :- Me.الضريبة = CalculateTax(Me.الراتب) وكنصيحة مستقبلية من أخ لأخيه المسلم :- ابتعد عن التسميات العربية للحقول والعناصر ومكونات قاعدة البيانات ، فحتماً ستسبب لك العديد من المشاكل في المشروع والتنفيذ .
  3. وعليكم السلام ورحمة الله وبركاته ,, المشكلة انك لم تقم بتثبيت البرنامج الخاص Barcodewiz ، لذا قم بتثبيته من :- ثم قم بالذهاب إلى المكتبات في VBA كما في الصورة :- ثم قم بإزالة اشارة الصح عن هذا المسار :- ثم قم بإضافته من جديد :- وحتماً ستنتهي مشكلتك .
  4. اعرض الملف مستورد السجلات الذكي 2025 السلام عليكم ورحمة الله وبركاته ، أخواني وأساتذتي ومعلمينا ( دون استثناء ) 📌 أقدم لكم اليوم فكرة قد تكون ليست بالجديدة ، ولكن بطريقة ونكهة مختلفتين ▫▪◽◾◻◼. "أداة مستورد السجلات الذكي من Excel" ، أداة مبتكرة تتيح لك استيراد البيانات من ملفات Excel إلى قواعد بيانات Access بكل مرونة وسرعة . يتميز هذا البرنامج أو الأداة بواجهة بسيطة وميزات قوية تجعل التعامل مع البيانات تجربة مريحة ، حتى للمستخدمين الذين ليست لديهم خبرة تقنية كبيرة في التعامل مع هذا النوع من المتطلبات . فالكثير من الأشخاص في منتدانا هنا سأل عن إمكانية استيراد بيانات من اكسل من حقل محدد أو بطرق محددة ( تناسب إحتياجاته ) ، ولهذا كانت الفكرة هذه تنفيذاً لمتطلباتهم .. 🎯 سنستعرض أهم ميزات هذا البرنامج وكيف يمكن أن يسهم في تحسين إنتاجيتك وتوفير وقتك . تابع القراءة لاكتشاف كيف يمكنك الاستفادة من هذا الحل الذكي لإدارة البيانات 😇 . ميزات برنامج مستورد السجلات الذكي من Excel 📂 التكامل مع Excel يمكن اختيار ملفات Excel بسهولة باستخدام نافذة اختيار الملفات . يدعم البرنامج ملفات بصيغة xls / xlsx ، وغيرها . دعم كامل للإستيراد من جوجل شيت Google Sheets . 📋 التعامل مع الأوراق والبيانات عرض جميع أوراق العمل (Sheets) الموجودة في ملف Excel المحدد ، أو رابط جوجل شيت . عرض أسماء الأعمدة في الورقة المحددة لتسهيل تحديد العمود / الأعمدة المستهدفة . 🚀 الاستيراد المرن للبيانات استيراد بيانات من عمود محدد أو عدة أعمدة من ملف Excel أو جوجل شيت بناءً على اختيار المستخدم . تحديد الصفوف التي تبدأ منها عملية الاستيراد (لتجاوز رؤوس الأعمدة إن وجدت 👌 ) . 🗂️ الإدارة المتقدمة للبيانات داخل Access استيراد البيانات إلى جدول محدد داخل قاعدة البيانات الحالية . دعم لتحديد الحقول الهدف داخل الجدول . إمكانية تفعيل خاصية الترقيم التلقائي لإضافة قيم تسلسلية إلى الحقول المخصصة ( باستخدام الدالة DMAX ) . التعرف الكامل في جوجل شيت على توافق أنوع الحقول مع الحقول في الجدول المستهدف . التعرف على عدد الحروف إن كان اكبر من 255 حرف في الحقول ذات النوع " نص قصير " ⚡ أداء عالي مع دفعات من البيانات تقسيم البيانات إلى دفعات عند استيراد كميات كبيرة لتجنب مشاكل الأداء . إدارة مرنة لعدد السجلات التي يتم استيرادها في كل دفعة . 🎨 واجهة مستخدم ديناميكية إظهار أو إخفاء المساعدة البصرية بضغطة زر . تحديث الكومبوبوكس بطريقة ديناميكيًا بناءً على اختيارات المستخدم . في القسم الخاص بجوجل شيت ، تم إضافة مساعد لخطوات إنشاء API سليم وموضح في الفيديو المرفق . 🔒 إجراءات أمان واسترجاع دعم لاسترجاع البيانات عند حدوث خطأ أثناء عملية الاستيراد ( Rollback ) . التنبيه برسائل خطأ واضحة إذا لم يتم اختيار الملف أو إعداد الخيارات بشكل صحيح . 🧹 إدارة الموارد تنظيف جميع الموارد المفتوحة (ملفات Excel أو الاتصال بالبيانات) عند إغلاق النموذج . منع أي تأثير سلبي على النظام عند حدوث خطأ . ✨ سهولة الاستخدام تصميم بسيط يعرض التعليمات ويطلب إدخال البيانات الضرورية فقط . رسائل توجيهية للمستخدم لتحسين تجربة الاستخدام . ⚙️ المرونة في تخصيص الخيارات خيارات لتحديث السجلات الموجودة أو إضافة سجلات جديدة . دعم مجموعات البيانات المختلفة من خلال تحديد طريقة المعالجة . دعم ملف اكسيل مرفوع برابط مباشر في جوجل درايف - يتم تحويله الى جوجل شيت . في الجزء الخاص بالتعامل مع جوجل شيت :- فقط اختر الرابط ( نسخ ولصق ) وادخاله في رسالة رابط الملف كما في الصورة التالية :- الأداة تدعم استكمال الجلسة لآخر رابط تم استخدامه ( توفيراً للوقت واختصاراً لفكرة استخدام الرابط نفسه في كل مرة ) ، بحيث تظهر لك رسالة كالآتي :- حيث اذا كان اختيارك لـ Yes يتم التعرف على آخر رابط تم استخدامه ( حتى بعد اغلاق الأداة ) ، وإذا كان رد المستخدم No يتم اظهار رسالة ادخال رابط جديد ( ويتم اعتماده للجلسة اللاحقة ) .. الأداة تحتوي على معالج مساعد لمساعدة المستخدم ( أول مرة فقط ) على انشاء حساب في جوجل درايف وكيفية التعامل مع الـ API الخاصة بـ Google Sheets لتهيئة الأداة للتعامل مع روابط جوجل شيت لاستيراد السجلات منه . في التحديث الجديد للأداة ، يتم التعرف على الأخطاء التي يمكن حصولها أثناء اختيار حقل وخلية لا يوجد بينهما توافق في نوع البيانات ، فمثلاً لو تم اختيار خليه تحتوي على تاريخ ويقابلها حقل في الجدول ( في آكسيس ) من نوع رقمي مثلاً ، فإن الاداة تخبرك بنوع الحقل والتصحيح الذي يمكن تعديله .. واجهة الأداة :- * صورة من الواجهة الخاصة بـ Google Sheets . يلزم إضافة مكتبة Microsoft Office xx.0 Object Library فقط .. ⭐على سبيل المثال ، لدينا جدول اكسل يحتوي على عدد سجلات يتكون من أعمدة على سبيل المثال ( اسم الموظف ، رقم الموظق ، رقم الهاتف ، الجنسية ) وعدد السجلات = 50 صف مثلاً . وفي جدول اكسيس لدينا جدول الموظفين ونريد استيراد عدد سجلات محدد من نطاق محدد من ملف اكسل أو جوجل شيت ، و من عمود محدد أو عدة أعمدة ؛ لذا بعد اختيار ملف الاكسل أو رابط ملف جوجل شيت ، سيتم :- أولاً جلب أسماء الأوراق التي يتكون منها الملف . ثانياً جلب أسماء الأعمدة التي تتكون منها الورقة التي تم اختيارها ( اسم الموظف ، رقم الموظق ، رقم الهاتف ، الجنسية ) . ونختار على سبيل المثال اسم الموظف . ثم نحدد رقم الصف الذي تبدأ به البيانات التي نريدها ، ولنفترض ان الخليه A1 تحتوي عناوين الأعمدة كما ذكرنا سابقاً ؛ وعليه فإن البيانات ستبدأ من الخلية A2 ( على العتبار ان اسم الموظف في العمود A ) في ملف اكسل . ثالثاً نحدد الجدول الذي نريد جلب واستيراد البيانات اليه ، ثم نحدد الحقل الهدف الذي سيتم نقل ابيانات اليه . رابعاً حدد عدد السجلات التي تريد جلبها ، ولنفترض أننا نريد جلب القيم الـ 5 من الخليه A2 - A6 . وإذا أردنا جلب جميع السجلات ( الـ 50 كما ذكرنا في مثالنا ) نترك القيمة في عدد السجلات المستوردة = 0 . خامساً نحدد نوع الحدث ( تحديث - إضافة ) . فماذا يعني تحديث أو إضافة ؟ تحديث : سيتم تحديث الحقل المستهدف من أول قيمة وحتى العدد المحدد في عدد السجلات المستوردة . وعليه فإن القيم السابقة للحقل سيتم استبدالها بالقيم الجديدة . إضافة : سيتم إضافة سجلات جديدة للجدول المستهدف بغض النظر عن السجلات السابقة ولن تتأثر البيانات القديمة عند الإضافة . الآن كنقطة مهمة يجب التنويه لها في هذا البرنامج ، وهي لنفترض انك استوردت عدد سجلات = 5 كما قلنا سابقاً من حقل اسم الموظف . وأردت استيراد عدد 10 سجلات من حقل رقم الهاتف ( نوع احركة تحديث ) هنا سيتم تحديث عدد السجلات الحالي في الجدول بالقيم الـ 5 الأولى ، ثم سيتم إضافة باقي القيم ( الـ 5 سجلات ) وكأنها سجلات جديدة . أي أنها حركة تحديث وحركة إضافة للقيم التي ليس لها سجلات . سادساً وهي نقطة الترقيم . اعتمدت في البرنامج على الدالة DMAX بالترقيم . بحيث يتم اضافة 1 الى أكبر قيمة في الجدول بعد تحديد حقل الترقيم ( رقم الموظف مثلاً ) . أما اذا كان لديك حقل ترقيم تلقائي في الجدول فلا يستلزم على المستخدم تفعيل هذه الميزة . سابعاً يجب على المستخدم الإلتزام بضرورة توخي الحذر عند اختيار الحقول بحيث ينتبه لنوع الحقل . فمثلاً لن يتم اضافة قيم نصية مثل اسم الموظف من اكسل الى حقل رقم الموظف ( حقل رقمي ) . وهذه النقطة لا شك فيها !! صاحب الملف Foksh تمت الاضافه 04/21/25 الاقسام قسم الأكسيس  
  5. Version 2.0

    13 تنزيل

    السلام عليكم ورحمة الله وبركاته ، أخواني وأساتذتي ومعلمينا ( دون استثناء ) 📌 أقدم لكم اليوم فكرة قد تكون ليست بالجديدة ، ولكن بطريقة ونكهة مختلفتين ▫▪◽◾◻◼. "أداة مستورد السجلات الذكي من Excel" ، أداة مبتكرة تتيح لك استيراد البيانات من ملفات Excel إلى قواعد بيانات Access بكل مرونة وسرعة . يتميز هذا البرنامج أو الأداة بواجهة بسيطة وميزات قوية تجعل التعامل مع البيانات تجربة مريحة ، حتى للمستخدمين الذين ليست لديهم خبرة تقنية كبيرة في التعامل مع هذا النوع من المتطلبات . فالكثير من الأشخاص في منتدانا هنا سأل عن إمكانية استيراد بيانات من اكسل من حقل محدد أو بطرق محددة ( تناسب إحتياجاته ) ، ولهذا كانت الفكرة هذه تنفيذاً لمتطلباتهم .. 🎯 سنستعرض أهم ميزات هذا البرنامج وكيف يمكن أن يسهم في تحسين إنتاجيتك وتوفير وقتك . تابع القراءة لاكتشاف كيف يمكنك الاستفادة من هذا الحل الذكي لإدارة البيانات 😇 . ميزات برنامج مستورد السجلات الذكي من Excel 📂 التكامل مع Excel يمكن اختيار ملفات Excel بسهولة باستخدام نافذة اختيار الملفات . يدعم البرنامج ملفات بصيغة xls / xlsx ، وغيرها . دعم كامل للإستيراد من جوجل شيت Google Sheets . 📋 التعامل مع الأوراق والبيانات عرض جميع أوراق العمل (Sheets) الموجودة في ملف Excel المحدد ، أو رابط جوجل شيت . عرض أسماء الأعمدة في الورقة المحددة لتسهيل تحديد العمود / الأعمدة المستهدفة . 🚀 الاستيراد المرن للبيانات استيراد بيانات من عمود محدد أو عدة أعمدة من ملف Excel أو جوجل شيت بناءً على اختيار المستخدم . تحديد الصفوف التي تبدأ منها عملية الاستيراد (لتجاوز رؤوس الأعمدة إن وجدت 👌 ) . 🗂️ الإدارة المتقدمة للبيانات داخل Access استيراد البيانات إلى جدول محدد داخل قاعدة البيانات الحالية . دعم لتحديد الحقول الهدف داخل الجدول . إمكانية تفعيل خاصية الترقيم التلقائي لإضافة قيم تسلسلية إلى الحقول المخصصة ( باستخدام الدالة DMAX ) . التعرف الكامل في جوجل شيت على توافق أنوع الحقول مع الحقول في الجدول المستهدف . التعرف على عدد الحروف إن كان اكبر من 255 حرف في الحقول ذات النوع " نص قصير " ⚡ أداء عالي مع دفعات من البيانات تقسيم البيانات إلى دفعات عند استيراد كميات كبيرة لتجنب مشاكل الأداء . إدارة مرنة لعدد السجلات التي يتم استيرادها في كل دفعة . 🎨 واجهة مستخدم ديناميكية إظهار أو إخفاء المساعدة البصرية بضغطة زر . تحديث الكومبوبوكس بطريقة ديناميكيًا بناءً على اختيارات المستخدم . في القسم الخاص بجوجل شيت ، تم إضافة مساعد لخطوات إنشاء API سليم وموضح في الفيديو المرفق . 🔒 إجراءات أمان واسترجاع دعم لاسترجاع البيانات عند حدوث خطأ أثناء عملية الاستيراد ( Rollback ) . التنبيه برسائل خطأ واضحة إذا لم يتم اختيار الملف أو إعداد الخيارات بشكل صحيح . 🧹 إدارة الموارد تنظيف جميع الموارد المفتوحة (ملفات Excel أو الاتصال بالبيانات) عند إغلاق النموذج . منع أي تأثير سلبي على النظام عند حدوث خطأ . ✨ سهولة الاستخدام تصميم بسيط يعرض التعليمات ويطلب إدخال البيانات الضرورية فقط . رسائل توجيهية للمستخدم لتحسين تجربة الاستخدام . ⚙️ المرونة في تخصيص الخيارات خيارات لتحديث السجلات الموجودة أو إضافة سجلات جديدة . دعم مجموعات البيانات المختلفة من خلال تحديد طريقة المعالجة . دعم ملف اكسيل مرفوع برابط مباشر في جوجل درايف - يتم تحويله الى جوجل شيت . في الجزء الخاص بالتعامل مع جوجل شيت :- فقط اختر الرابط ( نسخ ولصق ) وادخاله في رسالة رابط الملف كما في الصورة التالية :- الأداة تدعم استكمال الجلسة لآخر رابط تم استخدامه ( توفيراً للوقت واختصاراً لفكرة استخدام الرابط نفسه في كل مرة ) ، بحيث تظهر لك رسالة كالآتي :- حيث اذا كان اختيارك لـ Yes يتم التعرف على آخر رابط تم استخدامه ( حتى بعد اغلاق الأداة ) ، وإذا كان رد المستخدم No يتم اظهار رسالة ادخال رابط جديد ( ويتم اعتماده للجلسة اللاحقة ) .. الأداة تحتوي على معالج مساعد لمساعدة المستخدم ( أول مرة فقط ) على انشاء حساب في جوجل درايف وكيفية التعامل مع الـ API الخاصة بـ Google Sheets لتهيئة الأداة للتعامل مع روابط جوجل شيت لاستيراد السجلات منه . في التحديث الجديد للأداة ، يتم التعرف على الأخطاء التي يمكن حصولها أثناء اختيار حقل وخلية لا يوجد بينهما توافق في نوع البيانات ، فمثلاً لو تم اختيار خليه تحتوي على تاريخ ويقابلها حقل في الجدول ( في آكسيس ) من نوع رقمي مثلاً ، فإن الاداة تخبرك بنوع الحقل والتصحيح الذي يمكن تعديله .. واجهة الأداة :- * صورة من الواجهة الخاصة بـ Google Sheets . يلزم إضافة مكتبة Microsoft Office xx.0 Object Library فقط .. ⭐على سبيل المثال ، لدينا جدول اكسل يحتوي على عدد سجلات يتكون من أعمدة على سبيل المثال ( اسم الموظف ، رقم الموظق ، رقم الهاتف ، الجنسية ) وعدد السجلات = 50 صف مثلاً . وفي جدول اكسيس لدينا جدول الموظفين ونريد استيراد عدد سجلات محدد من نطاق محدد من ملف اكسل أو جوجل شيت ، و من عمود محدد أو عدة أعمدة ؛ لذا بعد اختيار ملف الاكسل أو رابط ملف جوجل شيت ، سيتم :- أولاً جلب أسماء الأوراق التي يتكون منها الملف . ثانياً جلب أسماء الأعمدة التي تتكون منها الورقة التي تم اختيارها ( اسم الموظف ، رقم الموظق ، رقم الهاتف ، الجنسية ) . ونختار على سبيل المثال اسم الموظف . ثم نحدد رقم الصف الذي تبدأ به البيانات التي نريدها ، ولنفترض ان الخليه A1 تحتوي عناوين الأعمدة كما ذكرنا سابقاً ؛ وعليه فإن البيانات ستبدأ من الخلية A2 ( على العتبار ان اسم الموظف في العمود A ) في ملف اكسل . ثالثاً نحدد الجدول الذي نريد جلب واستيراد البيانات اليه ، ثم نحدد الحقل الهدف الذي سيتم نقل ابيانات اليه . رابعاً حدد عدد السجلات التي تريد جلبها ، ولنفترض أننا نريد جلب القيم الـ 5 من الخليه A2 - A6 . وإذا أردنا جلب جميع السجلات ( الـ 50 كما ذكرنا في مثالنا ) نترك القيمة في عدد السجلات المستوردة = 0 . خامساً نحدد نوع الحدث ( تحديث - إضافة ) . فماذا يعني تحديث أو إضافة ؟ تحديث : سيتم تحديث الحقل المستهدف من أول قيمة وحتى العدد المحدد في عدد السجلات المستوردة . وعليه فإن القيم السابقة للحقل سيتم استبدالها بالقيم الجديدة . إضافة : سيتم إضافة سجلات جديدة للجدول المستهدف بغض النظر عن السجلات السابقة ولن تتأثر البيانات القديمة عند الإضافة . الآن كنقطة مهمة يجب التنويه لها في هذا البرنامج ، وهي لنفترض انك استوردت عدد سجلات = 5 كما قلنا سابقاً من حقل اسم الموظف . وأردت استيراد عدد 10 سجلات من حقل رقم الهاتف ( نوع احركة تحديث ) هنا سيتم تحديث عدد السجلات الحالي في الجدول بالقيم الـ 5 الأولى ، ثم سيتم إضافة باقي القيم ( الـ 5 سجلات ) وكأنها سجلات جديدة . أي أنها حركة تحديث وحركة إضافة للقيم التي ليس لها سجلات . سادساً وهي نقطة الترقيم . اعتمدت في البرنامج على الدالة DMAX بالترقيم . بحيث يتم اضافة 1 الى أكبر قيمة في الجدول بعد تحديد حقل الترقيم ( رقم الموظف مثلاً ) . أما اذا كان لديك حقل ترقيم تلقائي في الجدول فلا يستلزم على المستخدم تفعيل هذه الميزة . سابعاً يجب على المستخدم الإلتزام بضرورة توخي الحذر عند اختيار الحقول بحيث ينتبه لنوع الحقل . فمثلاً لن يتم اضافة قيم نصية مثل اسم الموظف من اكسل الى حقل رقم الموظف ( حقل رقمي ) . وهذه النقطة لا شك فيها !!
  6. الدالة تعمل بشكل سليم . وقد تمت تجربتها مراراً على أكثر من مدرسة باخلاف الدوام ( يوم السبت ) وبتواريخ مختلفة . لذا قد أكود عكست التسمية ليس إلا . اجعل التسمية لا تعمل يوم السبت ، وتنتهي مشكلتك
  7. دي مش محتاجة سؤال ؛ غيرها بما يتناسب مع مشروعك يا صديقي ، ما دام الأمر يسري بالشكل الصحيح !!
  8. أعتقد أنه تم الإجابة عن هذا السؤال في موضوعك السابق ، والذي لم تقم بالرد عليه ومتابعته 🙂 . الجواب في هذه المشاركة هنا
  9. طيب يا صديقي ، قبل خروجي من العمل ، جرب هذا التعديل حيث تم ما يلي :- 1. في الجدول Tb_School تم اضافة الحقل WSat من نوع = Yes/No ، حيث :- إذا كانت المدرسة تعطل يوم السبت ( WSat=True ) ، وبالتالي يتم تجاهل الجمعة والسبت . إذا كانت المدرسة تعمل يوم السبت ( WSat=False ) وبالتالي يتم تجاهل يوم الجمعة ولا يتم احتسابه في الأيام . 2. تعديل الدوال في المديول : Public Function WorkDaysBetween(StartDate As Date, EndDate As Date, schoolID As Long) As Long Dim i As Long Dim d As Date Dim count As Long Dim SaturdayOff As Boolean If EndDate < StartDate Then WorkDaysBetween = 0 Exit Function End If SaturdayOff = Nz(DLookup("WSat", "Tb_School", "School_ID = " & schoolID), True) For i = 0 To DateDiff("d", StartDate, EndDate) d = DateAdd("d", i, StartDate) If Weekday(d, vbSaturday) = 7 Then ElseIf SaturdayOff And Weekday(d, vbSaturday) = 1 Then Else count = count + 1 End If Next i WorkDaysBetween = count End Function Public Function NextWorkingDay(d As Date, schoolID As Long) As Date Dim SaturdayOff As Boolean SaturdayOff = Nz(DLookup("WSat", "Tb_School", "School_ID = " & schoolID), True) Do While Weekday(d, vbSaturday) = 7 Or (SaturdayOff And Weekday(d, vbSaturday) = 1) d = d + 1 Loop NextWorkingDay = d End Function 3. دالة الاحتساب في النموذج الفرعي تم تعديلها كالآتي بإضافة الشرط الخاص برقم المدرسة للتمييز بين طريقتي الإحتساب :- Private Sub UpdateModa() Dim daysCount As Long Dim schoolID As Long If Not IsNull(Me.Parent!Gha_Aml) Then schoolID = Nz(Me.Parent!Gha_Aml, 0) Else schoolID = 0 End If If Not IsNull(tr_bda_tdbreeb) And Not IsNull(tr_nhay_tdree) Then daysCount = WorkDaysBetween(tr_bda_tdbreeb, tr_nhay_tdree, schoolID) tr_moshrt_aml = NextWorkingDay(tr_nhay_tdree + 1, schoolID) moda = daysCount Else moda = Null tr_moshrt_aml = Null End If End Sub جربه وأخبرني .. Personnel_affairs.zip
  10. طيب تمام يا صديقي ، الآن سأقوم بتفقد الجدول وإضافة حقل من نوع Yes/No دلالة على أن المدرسة هذه لها مباشرة دوام يوم السبت أم لا ,, وبناءً عليه سنقوم بتعديل الدالة للتمييز بين المدارس ، ما رأيك ؟
  11. وإياكم يا صديقي ، و والله انه ليسعدني أنها قد تحققت على أكمل وجه بفضل الله أولاً ، ثم بفضل ملاحظاتكم وسأعمل على إضافة أفكاري هذه الى المكتبة إثراءً لي
  12. يا صديقي ، الفكرة ليست في الجدول فقط ، فعلى سبيل المثال ، سنضطر الى تمييز ان الموظف الفلاني موظف للمدرسة الفلانية .. انت فاهم قصدي ؟؟
  13. الأمور تمام ، ولكن ما الذي سيميز المدارس التي يبدأ دوامها السبت من تلك التي تبدأ الأحد ؟؟؟؟؟؟ للتأكيد كل يوجد جدول للمدارس ؟؟؟
  14. اول شيء وين الاجازات في الموضوع ؟؟؟؟؟؟ ولا انت تقصد الدورات أو التدريبات هي نفسها الاجازات ؟؟؟؟؟ مش فاهم ، ثاني شيء انك تدخل في التشعبات الفرعية دون الانتهاء من التأسيس لبقية البرنامج اعتقد رح تتوهك وتدخلنا في متاهة
  15. الخطأ مردود ، اعتذر منك ، المقصود في النموذج الفرعي في الدالة UpdateModa ، أزل 1+ من السطر moda = daysCount + 1 ولكن لنفترض أن تاريخ بدء التدريب = 2025-04-01 وتاريخ الإنتهاء = 2025-04-04 أي الأيام ( 01 ، 02 ، 03 ، 04 ) ستكون 4 ايام وليس 3 ان كان ما فهمته صحيح ,, ولكن انت أعلم بمشروعك في النهاية
  16. طيب يا صديقي ، لنفترض جدلاً أن لديك مربع النص (TxtFullDate) ، والذي يضم القيمة = 042025 على سبيل المثال ، وأن لديك مربعي نص كالآتي :- مربع النص TxMo = لعرض رقم الشهر ، و مربع النص TxYr = لعرض رقم السنة . الآن في مصدر بيانات مربع النص الخاص برقم الشهر اكتب السطر التالي :- =Left([TxtFullDate],2) وفي مربع النص الخاص برقم السنة ، اكتب الجزء التالي فقط :- =Right([TxtFullDate],4) جرب وأخبرني بالنتيجة
  17. أخي الكريم وعليكم السلام ورحمة الله وبركاته ,, حتى لا ندخل في متاهة الإختمالات والمقاصد الغير موضحة ، ما هي احتمالات القيم التي تريد فصلها ؟؟ على سبيل المثال هل جميعها تضم الشهر من خانتين ورقم السنة ( 012025 ، 062025 ، 112025 ، 122025 ... ) ؟؟؟؟؟ واذا كان هناك أي مقصد أو هدف يجول في خيالك ولم تأت على ذكره فأرجو التوضيح
  18. نعم أخي العزيز ,, الحل بسيط ان شاء الله ، فقط في الدالة في المديول قم بإزالة 1 + :- count = count + 1
  19. هل تقصد هذه الفكرة !! DoCmd.OpenReport "rep_Kashf", acViewPreview DoCmd.OpenReport "rep_Kashf", acViewReport DoCmd.OpenReport "rep_Kashf", acViewPreview اذا كانت فكرتك هنا استخدم التكرار كحل تحايلي لضمان أن التقرير سيحسب القيم بشكل صحيح في أول مرة ، ثم يعرضها بشكل نهائي بعد أن تكون القيم قد تم تجميعها !!!! أحاول التركيز في التخلص من هذه الفكرة
  20. وعليكم السلام ورحمة الله وبركاته ,, تفضل طلبك بعد اجراء تعديل على الكود لتقليل التكرار .. Private Sub HandleSubjectFocus() On Error Resume Next Me.y1 = Me.y2.Column(1) Dim code As String code = Trim(Right(Me.y2, 3)) Dim ctlName As String Select Case code Case "REL": ctlName = "Religion" Case "ARA": ctlName = "ARABIC" Case "ENG": ctlName = "ENGLISH" Case "MAT": ctlName = "MATH" Case "SCI": ctlName = "SCIENCE" Case "SOC": ctlName = "SOCIAL" Case "ART": ctlName = "ART" Case "SPO": ctlName = "SPORT" Case Else: Exit Sub End Select Forms!FrmMain!SubMain.SetFocus Forms!FrmMain!SubMain.Form.Controls(ctlName).SetFocus Me.SetFocus Me.y2.SetFocus Me.y2.Value = "" End Sub Private Sub Form_Load() Me.y2.SetFocus End Sub Private Sub y2_AfterUpdate() HandleSubjectFocus End Sub باركود.accdb
  21. إصلاح مشكلة الإستيراد لأكثر من سجل من جوجل شيت . في الإصدار الأخير السابق وأتوجه بالشكر للأستاذ @Moosak للفته انتباهي لهذا الخلل . فقد تم بحمد الله تلافي وحل المشكلة من جذورها وإضافة ميزة جديدة وهي التعرف على طول القيمة التي سيتم استيرادها ( للحقول النصية ) . حيث طول الحقل النصي في اكسيس 255 حرف . وبهذا لا يمكن استيراد كامل القيمة اذا كانت أكبر من 255 حرف ، وسيتم ترك الفكرة للمستخدم بأن يكمل الإستيراد بعد ان يتم تقليص قيمة الخليه من جوجل شيت الى 255 أو الغاء العملية بالكامل .. وعليه ، فإن التعديل الجديد حل هذه المشكلة وغيرها .. ------------------------------ Excel Importor 2.0.zip ------------------------------
  22. سألقي نظرة إن شاء الله قريباً ، فقط ما يمنعني في الوقت الحالي هو ضغط العمل ليس إلا 🤗 .
  23. اولاً اعتذر عن عدم تواجدي خلال اليومين الماضيين بسبب ضغط العمل ، ويسعدني تلبية نداء معلمي الفاضل بإلقائي نظرة اتعلم منها من خلال تعديلاتكم وتحديثاتكم 😇 بأقرب فرصة إن شاء الله..
×
×
  • اضف...

Important Information