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

Foksh

أوفيسنا
  • Posts

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

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

  • Days Won

    167

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

  1. جميل جداً ، جزاكم الله كل الخير معلمنا الفاضل على هذه الفكرة الجميلة الشاملة ,, كنت سابقاً استخدم فكرة بسيطة :- Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) On Error Resume Next Dim newKeyCode As Integer Select Case KeyCode Case vbKeyDown DoCmd.GoToRecord , , acNext Case vbKeyUp DoCmd.GoToRecord , , acPrevious Case vbKeyRight newKeyCode = vbKeyLeft KeyCode = newKeyCode Case vbKeyLeft newKeyCode = vbKeyRight KeyCode = newKeyCode End Select End Sub Private Sub Form_Open(Cancel As Integer) Me.KeyPreview = True End Sub لكن بعد التوسع الكبير في العمل بما تقدمتم به من خلال الكلاس ، سأضطر لإعادة النظر بفكرتي المتواضعة 😅
  2. وعليكم السلام ورحمة الله وبركاته ,, تفضل هذا التعديل :- DDCompanyLogos.zip
  3. بارك الله فيك أخي الكريم ، ونسأل الله لكم مزيداً من التقدم ..
  4. وهذه فكرة لا تعتمد على اي شروط كما في السابقة .. اختر ما يناسبك saffar2.zip
  5. جرب هذا التعديل !!! saffar.zip
  6. لكم جزيل الشكر على إطرائكم ولطفكم . عند التفكير بعمق وترتيب الأحداث التي قد تلي التخطيط وتنفيذها ، ستلاحظ أن الأفق في التنفيذ يتوسع قليلاً قليلاً لتجد أن الفكرة الصغيرة أصبحت مشروعاً شاملاً وكبيراً .. الضابط كما أشرتم سيكون حقل التاريخ في أي حركة ، ما لم نتوسع بالإحتمالات والإمكانيات .. في فكرة نظام الطابور والدور ، أضفت لوحة تحكم للمدير بإنهاء العملاء العالقين بتاريخ سابق أو اليوم . حيث جاءة الفكرة ببساطة أن النظام قد أصيب بخلل ، أو أنقطاع الكهرباء .... إلخ . لذا توجهت لمنح المدير حق الإنهاء للتذاكر القديمة التي سجلت بداية وقت خدمة ولم تسجل وقت نهاية . أو تم حجزها ولم يتم تسجيلها لأي موظف .... إلخ . رغم أن الفكرة بدأت لدي بقاعدة واحدة و 5 نماذج ( 3 موظفين وشاشة انتظار وشاشة حجز الدور ) ....
  7. كلام سليم 100% .. ومن هنا خطرت لي فكرة لوحة تحكم للمشرف أو المدير . حيث يتم عرض جميع الجلسات المفتوحة التي تجاوزت المدة المقررة ولنفترض 24 ساعة ، ومنحه إمكانية إغلاقها يدوياً مع إضافة تعليق كملاحظة على سبيل المثال . وسيكون من السهل إحصاء عدد المرات التي يتم فيها الإغلاق التلقائي لكل موظف . وقد نجعل الأمر متروك لصلاحيات المدير الفرعي على سبيل المثال بأن يحدد انها مغادرة مفتوحة ، بحيث أتى الموظف E325 مثلاً وسجل حضور وتم ارساله الى مؤتمر لـ 3 أيام على سبيل المثال ، وبقيت كحضور مسجلة دون إنصراف ...... الأفكار كثيرة ومقرونة بالإحتمالات ومدى محدودية البرنامج بالطبع ..
  8. تعني أنه إذا كانت الجلسة المفتوحة أقل من 24 ساعة على سبيل المثال ، فيتم عرض تنبيه للمستخدم :- " يوجد جلسة مفتوحة من ( التاريخ والوقت ) . هل تريد إغلاقها وبدء جلسة جديدة ؟ " بحيث يختار إما :- إغلاق الجلسة السابقة وبدء جديدة أو إلغاء العملية والباقاء على الجلسة السابقة على سبيل المثال ؟؟؟ وهنا أعتقد قد تكون لنا حاجة للوحة مدير بحيث يتم توسيع الأفكار ومنح هذا السجل بالتجاوز عنه من الإغلاق الآلي ... إلخ من صلاحيات أو أفكار هنا الموضوع قد توسع في مخيلتي 😁 .
  9. 🤗 بارك الله بكم أستاذنا الكبير ، وأشكر لكم ثقتكم .. وما نحن إلا سائرون على خطاكم ونهجكم .
  10. سيكون هنا حاجة لإضافة شرط تحققي من تاريخ السجل بما أنه سيجلب أكبر سجل ( مفتاح الجدول ) المقرون برقم الموظف طبعاً . فإحتمالية تسجيل الحضور الأخير لم يتبعه تسجيل إنصراف !!!! وبالتالي سيكون الشرط هو البحث عن آخر جلسة غير مكتملة ( دون إنصراف ) . وهذا ما تسائلتم به في نهاية مشاركتكم ,, ولكن قد يكون هناك فكرة لتحديد حد زمني محدد للجلسة ( مثلاً 12 ساعة عمل ) . أي أن الجلسة التي تتجاوز هذا الحد تغلق تلقائياً في نهاية اليوم ، وذلك يمكن من خلال إضافة حقل Auto_Closed ، للتمييز بين الجلسات المغلقة يدوياً وتلك المغلقة آلياً . أو كفكرة ثانية وقد تكون غير مرجحة ، وهي انه عند تسجيل حضور جديد وتم الكشف عن جلسة مفتوحة لم يتم اغلاقها مدتها أكبر من 24 ساعة على سبيل المثال ، يتم اغلاقها تلقائياً قبل فتح سجل جلسة جديدة !!!! صدقاً .. قد جاء ردي دون قراءة ردكم 😯
  11. تفضل محاولتي البسيطة ,, laj.zip
  12. وعليكم السلام ورحمة الله وبركاته ,, بنظري وما أعتقده أن الفكرة الثانية أفضل ، حيث أنه يتوافق تماماً مع طلبك ( توقيعات مفتوحة ومتعددة ) .. ولضبط فكرة أن كل حضور سيتبعه انصراف ، فقد نحتاج لحقل يكون بمثابة بصمة رقمية أو نصي ( حسب نمط البصمة أو الجلسة على اعتبار ان كل حضور وانصراف = جلسة ) . والهدف منه هو ربط كل توقيع حضور مع توقيع الانصراف المقابل له بشكل منظم . وكتصور للفكرة .. سأفترض أننا أضفنا حقلاً نصياً اسمه على سبيل المثال = SessionID ؛ وستكون قيمته فرضاً وليس حصراً ( EmployeeID_Date_SequenceNumber ) . وأيضاً كنوع من تحديد الحركة ، سنضيف حقل ActionType = نصي ، مهمته ستكون تحديد نوع الحركة ( CheckIn / CheckOut ) لنفترض أن الموظف E123 يريد تسجيل حضور اليوم = 21-6-2025 ، هذا يعني ان قيمة الحقل ستكون = E123_20250621_1 . والقيمة للحقل ActionType = CheckIn . الآن عند تسجيل الإنصراف ستكون الحركة التالية = E123_20250621_1 . والقيمة للحقل ActionType = CheckOut . وهنا ستكون البصمة أو الجلسة مرتبطة بالرقم E123_20250621_1 لها حركتين ( CheckIn / CheckOut ) . اعلم أن الفكرة كتصور قد تكون غير واضحة بشكل كافي ، ولكن برأيي ستمكنك هذه الفكرة من سهولة تتبع كل بصمة أو جلسة ( حضور / انصراف ) لأي موظف . أضف إلى ذلك أنك تستطيع هنا ضبط وحساب دقيق لساعات العمل لكل جلسة لكل موظف . وأيضاً كنوع من ضبط وكشف الجلسات المفتوحة ( التي تم فيها تسجيل حضور بدون انصراف ) . وقد تتوسع الفكرة بشكل كبير حسب الإمكانيات المتاحة والمتطلبات 😅 . ولكني سأقتصر على ما ذكرته سابقاً .
  13. بدايةً ، حمد لله على سلامتكم .. فعلاً كانت لي تجربة مع ويندوز 11 حيث تشجعت وبكامل إرادتي قمت بعمل فورمات للويندوز 10 السابق وبتنصيب ويندوز 11 بتحديثات شهر 1/2025 ، وبالفعل .. تم التثبيت وتثبيت التعريفات التي لم يتمكن من تعريفها ، وتثبيت وتنصيب برامجي الخاصة قبل أي برامج أخرى مثل الأوفيس والفوتوشوب .... وغيرها من مستلزماتي طبعاً هذا الحديث كان تقريباً الساعة 1 بعد منتصف الليل ، وما أن كان أذان الفجر قد اقترب حتى كنت عائداً الى الويندوز 10 ... طبعاً السبب كان هو بعض المشاكل التي ظهرت في اوفيس 2016 وخصوصاً آكسيس وتحديداً بعد خصائص الكومبوبوكس في بعض المشاريع أصبحت لا تعمل .. فتجاهلت التحديث طبعاً وعدت دياري كما فعلتم فعلاً يا أخي حسيت حالي غريب
  14. بارك الله فيك أستاذي الكريم ، ونسأل الله لكم التوفيق والنجاح
  15. أستاذ سامي ، الجميل هو مرورك وتعليقك الذي أسعدني
  16. وبما أنني أرجح فكرة معلمي الفاضل @ابوخليل !! لهذا السبب هو كل ما عليك فعله استخدام الكود التالي في جزء التفاصيل في حدث عند التنسيق :- Static prevDate As Variant If Me.exDate = prevDate Then Me.تسمية50.Visible = False Me.تسمية55.Visible = False Else Me.تسمية50.Visible = True Me.تسمية55.Visible = True prevDate = Me.exDate End If وستكون النتيجة بهذا الشكل :- 💥 أيضاً تستطيع تنفيذ نفس الفكرة السابقة ، بدون أي أكواد ، من خلال :- تحديد مربعات النص التي لا تريد أن لا يتم عرضها مكررة . الذهاب الى التبويب Format = تنسيق . تفعيل لمنع التكرار من الظهور .
  17. الله يبارك فيك أخي الكريم @saffar ، أشكرك على التهنئة تأكد من صحة الملف ، لأنه كلما فتحته يتم تجميد اكسيس ولا يقبل اي تعديل الا بالخروج من آكسيس
  18. وعليكم السلام ورحمة الله وبركاته ,, أخي الكريم ، أنت ما شاء الله 03 عضو مميز ، وتعلم أنه عليك ارفاق ملف !!!! وإلا فإنك وللأسف ستبقى في متاهة أن الحلول المقدمة لا تلبي مطلبك ..
  19. قد يحدث في بعض الإصدارات من ويتدوز 10 / 11 ، أن التحديثات قد تؤثر على اكسيس . خاصةً إذا كنت يا صديقي تستخدم إصدارات قديمة أو تعتمد على اتصالات خارجية مثل ODBC . ومن الأفضل لتجنب هذه المشاكل المحدودة الى حد ما :- متابعة تحديثات أوفيس بشكل دوري ( وهو النقطة المنطقية ) . أو إنك تأجل تحديثات الويندوز إذا كانت تسبب مشاكل متكررة ( وهذه النقطة لا أشجع بها ) 😅
  20. الله يبارك فيك أخي محمد ، ونسأل الله لكم الصحة والعافية
  21. جرب هذه المحاولة .. Data125.zip تركت التنسيق لك طبعاً 😅 Data125.zip
  22. طيب ، الآن في التقرير يبدو انك قد استعنت عناصر تسمية ليبل !!! هل هي ثابتة أم هو مثال لما تريده ؟؟؟؟؟؟؟
×
×
  • اضف...

Important Information