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

AbuuAhmed

الخبراء
  • Posts

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

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

  • Days Won

    16

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

  1. الحقيقة الهدف غير واضح، ولكن المساهمات بناء على طلب السائل. كثير من الدول تفرض هذا القانون على محاسبي الرواتب، وكل عملياتهم في الأجر اليومي هو تقسيم الراتب على 30 يوم. وإلى هنا لا مشكلة ولكن عند حساب أيام الحضور والغياب للشهور التي أيامها لا تساوي 30 يوم تبدأ المشكلات/المشاكل مع المحاسبين ومع الموظفين. أنا كنت أحلها أيام الشباب بإظهار الأيام الفعلية للغياب والحضور وأجرها يكون مضروبا بناتج قسمة الراتب على مدة الشهر الفعلية. وإذا هذا الحل فيه تجاوز "قانوني" أو إداري فالحل هو الدالة التي قدمتها وهو حساب الأيام بالكسور، ويمكن تفادي ظهور الأيام بالكسور بإظهارها مجبورة ولكن أجرها يجب أن يكون حسب الأيام قبل الجبر. وهناك حل آخر صعب الهضم ويصعب اقناع الإدارات فيه ويصعب تفهيم الموظفين الكبار فيه قبل الصغار وعليه لا داعي لطرحه. من الحلول كذلك هو (ولكن الحل أعلاه أفضل) العمل على الأيام الأقل، أي نقارن بين غياب وحضور الموظف فأيهما أقل نعتمده ثم نطرحه من 30 والناتج للمقابل. أي لو شهر مدته 29 يوم وعمل موظف 14 يوم وغاب 15 يوم فنعتمد 14 يوم عمل ونحسب غيابه 16 يوم. والعكس صحيح. أي لو غاب 14 يوم وعمل 15 يوم سنعتمد 14 يوم غياب ونحسب عمله 16 يوم.
  2. لم أستخدم التوسيط باستخدام أبعاد التطبيق، كان عمليات التوسيط عندي باستخدم أبعاد Window و Form نحتاج نجربها ربما تكون أفضل من محاولاتنا السابقة.
  3. إذا قصدك المساهمة في إيجاد أفكار جديدة فتفضل. بانتظاركم.
  4. وجدت الكود، وعملت مقارنة بين دالتي ودالة أبو خليل أضطر أحيانا لعمل مقارنات فسامحوني. Periods360_01.xlsm
  5. أعلم جيدا، أساسا أنا محسوب على الأكسس، أردتك أن تقهم الفكرة، وفهما من الاكسل أفضل، ومن ثم إذا اقتنعت بها يتم تنفيذها بالأكواد. أعتقد أني كتبت شفرة بهذا الموضوع ولكني لا أعرف كيف أبحث عنه.
  6. خذ لك نظرة على المرفق (اكسل) في هذا الرد، وكذلك أنصحك بتصفح الموضوع كاملا.
  7. مرفق المثال مرة أخرى كمرجع لحالات مستقبلية مشابهة لمن يحتاجها Periods_02.xlsx
  8. مع احترامي للجميع، حلي به أكثر "عدالة" وهو يراعي النسبة والتناسب بنسبة الأيام إلى مدة شهرها. إذا أردت التخلص من الكسور (مع أني أرى إذا العملية فيها مقابل مادي بقاء الكسور أفضل) فاستخدم دالة Round لحقل "أيام الناقص ثلاثينات". موفقين. مع ملاحظة أني لا أبحث عن الحصول على أفضل إجابة 🙂
  9. كل ما يمكن عمله باستخدام GoTo يمكن عمله عند استخدام Resume Next، يفترض على المبرمج الإحاطة بما يكتب وبأخطاء التشغيل وكيف يصطادها ويعالجها أو تجاوزها. مشكلة البعض يعتقد أن استخدام GoTo مرحلة متقدمة وخاصة بالمبرمجين المتقدمين والأخرى خاصة بالمبتدئين وبمن يبرمج بـ "البركة". كل صنعة بها المتعلم وبها المتثقف بها بدون تعلم وبها الخبير وبها الهاوي والتلميذ والطالب، كما أن البرمجة مثل الطبيخ وليس البطيخ 🙂 وكل له "نفس" بفتح الفاء وبصمة خاصة به. رسالتي للجميع: لا تعتاد على شيء وتعتقد أنه الأفضل وتحاول فرضه على الآخرين.
  10. كلام غير علمي، أحدهم أطلقها وركض خلفها بعضهم وأصبحت من المسلمات (الخاطئة) في هذا المنتدى. لن أدخل في ردود أخرى هدفها الجدل والغلبة. ليتك أوضحت كلمة "لست" بضم التاء أم بفتحها، فإذا كانت بالضمة فكنت سأمتنع عن التعليق ولكن إن كانت بالفتح فأرى ردي واجبا وصمتي عنها خيانة علمية.
  11. ابحث عن لغة اسمها على ما أتذكر: Basic4Android
  12. أكيد بتكون بنفس الطريقة: Me.txt1 = Replace(Me.txt1, "عبدال", "عبد ال") Me.txt1 = Replace(Me.txt1, "عبدرب", "عبد رب") Me.txt1 = Trim(Replace(Me.txt1 & " ", "ة ", "ه ")) Me.txt1 = Trim(Replace(Me.txt1 & " ", "ي ", "ى ")) تم التعديل في حالة أن التاء أو الياء في الإسم الأخير.
  13. وهذه بعد مشاهدتي لمشاركة الأستاذ أبو جودي: Me.txt1 = Replace(Replace(Me.txt1, "عبدال", "عبد ال"), "عبدرب", "عبد رب")
  14. نصحتك باستخدام ما عبد من الأسماء بالشكل الصحيح، و "طنشتني" هل تعلم أن عندك 4 كلمات بها خطأ إملائي من أصل 11 كلمة. يجب الاهتمام باللغة والإملاء. على كل هذا اقتراح برمجي لطلبك: Me.txt1 = Replace(Me.txt1, "عبدال", "عبد ال", 1)
  15. ‏الأفضل عدم وضع مسافة بين (عبدالله) إذا كان اسم إنسان، أما إذا وصفًا فتوضع مسافة، نحو: يا زيد أنت عبد الله وإليه تدعو. وكذلك كل الأسماء المعبدة.
  16. مليونا وألفا ومائتا أصح مما تطلبه لأن التفقيط يراعي قواعد اللغة، أما مسألة التاء المربوطة فهي متعلقة بجنس العملة وجنس الكسر، أنصح أن تنزل المثال في مشاركتي الأولى لتعرف كيفية استخدام التفيط بصورة صحيحة. المثال لفهم الاستخدام ولكن لا تستخدم وحدته النمطية فالشفرة اللي في مرفقك أحدث. طبعا لا أنصح بالتعديل على الشفرة، ويمكنك البحث في المنتدى عن تفقيط آخر فالتفاقيط هنا كثيرة.
  17. تفقيط من "أبو هادي" حذفت المرفق السابق لاشتباهي أن هناك خطأ وربما هو متعمد من المبرمج. لاحظت أن البليون بالإنجليزي يأتي بعد المليون ولكنه يأتي بالعربي بعد المليار، وأنا لم أبحث ربما يكون صحيحا وربما لا. طباعه الشيكات_02.mdb
  18. يوجد ملف باسم ArbMsgBox_20200907.rar على الرابط: Abu Hadi - MS Access مايكروسوفت أكسس (google.com) وله نسخة قديمة كذلك في الموقع هنا على الرابط:
  19. مثال على استخدام الدالة: فحص_عدد_أجزاء_الاسم_01.accdb
  20. بالاستفادة من فكرة الأستاذ موسى، دالة لتعطيك مخرج نعم/لا للاسم الذي يحتوي على عدد الأجزاء المطلوبة، ولا داعي لطرح واحد من عدد الأجزاء: Option Explicit Function NamePartsCounter(ByVal sName As String, ByVal Parts As Byte) As Boolean Parts = Parts - 1 sName = Trim(sName) Do While InStr(1, sName, " ") > 0 sName = Replace(sName, " ", " ") Loop NamePartsCounter = Parts = (Len(sName) - Len(Replace(sName, " ", ""))) 'If NamePartsCounter Then Debug.Print sName End Function 'إجراء لفحص الدالة Sub test() Debug.Print NamePartsCounter("عبدالله أحمد علي", 3) End Sub وأنصح في تخزين الأسماء باستخدام الـ "أندرسكور" بدلا من المسافة ، وعند العرض يتم معالجة الأسماء بتديل الأندرسكور بالمسافة باستخدام دالة Replace
  21. شكرا لكم أستاذ أبو خليل، أخجلتني بكرمك وبفزعتك غير المستغربة. للأسف نفس المشكلة، يبدو أنه لا نصيب لي للاطلاع على هذا العمل. خلاص لا أريد المزيد من المحاولات. شكرا مرة أخرى لأبي خليل ولا يهون الجميع.
  22. لم أعهد البخل في أعضاء المنتدى 🙂 الطلب للجميع، فقد فشلت في فتح الملف بشكل سليم. الأمر ليس ملحا فإن لم يتمكن أحد من تنفيذ طلبي فلا بأس. جمعة مباركة.
×
×
  • اضف...

Important Information