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

AbuuAhmed

الخبراء
  • Posts

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

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

  • Days Won

    16

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

  1. طريقة أخرى لحساب مجموع الإجازات في استعلام qryVacations الحساب باستخدام دالة GetYears ضمن موديول modGetYears الدالة تراعي السنوات البسيطة والسنوات الكبيسة. الاجازة_05.accdb
  2. اطلع على هذا الموضوع:
  3. المثالين بهما نفس التقارير 1 - موضوع الأستاذ جعفر: 2 - مضوعي:
  4. نعم مناسبة جدا مع مشكلة الحقول القابلة للنمو، ولكن إضافة خاصية إخفاء المكررات ستظهر مشكلة التأطير من جديد للحقول التي بها تكرار. طبعا أخونا جعفر وأنا عملنا حلين منفصلين ولكنهما معقدان، وعندما رأيت حلك طمعت في حل مشابه. يكفيني تجاوبكم وشكرا لكم.
  5. حل ممتاز وربما معظمنا لم يمر عليه هذا الحل من قبل. ماذا لو استخدمت خاصية إخفاء المكررات Hide duplicates؟ هل هناك فكرة مشابهة لإظهار الإطارات بنفس الإرتفاع كذلك. عموما حلك لمشكلة المقاس لوحدها موضوع مستقل وكان مطلوبا بإلحاح. شكرا لكم.
  6. هذه دالة من أبي هادي: Function CountWkDay(ByVal Date1 As Date, _ ByVal Date2 As Date, _ WkDay As Byte) As Long 'WeekDay Counter Date1 = Date1 - 1 Date1 = Fix((Date1 + (7 - WkDay)) / 7) Date2 = Fix((Date2 + (7 - WkDay)) / 7) CountWkDay = Date2 - Date1 End Function وهذه طريقة استخدامها: = CountWkDay(K6, K7, 6) + CountWkDay(K6, K7, 7) جربوا المثال: صرف بدل ايام العطلات الرسمية الجمعة والسبت_02.xlsm
  7. أبو خليل وقاسم عاملين ثنائي واحد يرفع والثاني يكبس لما نريد نحدد فترة يناير مثلا سنقول من 01/01 إلى 31/01 ويفترض أن تكون مدته عمليا 31 يوم ولو حسبنا من 01/01 إلى 01/01 يفترض أن تكون المدة يوم واحد الرجل طلب كل الشهور 30 يوم للشهور التامة والناقصة. أولا عملكما في كل الحسبات ينقص يوم من المدة وثانيا هو يعالج الشهور التامة ولا يعالج الشهور الناقصة. فهل يعقل أن شهر فبراير تكون نتائجه حتى يوم 27 بحساب الأيام الفعلية وبمجرد أن يكون في اليوم الثامن والعشرين يقفز إلى الثلاثين؟!! وكذلك نفس الشيء لشهر يناير أن تكون نتائجه حتى يوم 30 بحساب الأيام الفعلية وبمجرد أن يكون في اليوم الحادي والثلاثين يرجع للخلف يوما؟!! شغلكما ولو أرضى السائل "هشك بشك" و "الجمهور عاوز كده" ، لم أود أن أصل إلى أن أوصف عملكما ولكن يبدو أنكما تتعمدان سحبي لهذه النقطة. الغريبة واحد منكم محاسب والثالني مهندس وهذا شأنكما! ثم يا أبو خيل مرفقي حتى كتابة هذه المشاركة لم تنزله لتطلع على المقارنات!! حاول تكن جديا في البحث عن الصحيح. أنا قلت لن أعود للموضوع ولكن الآن أن مستعد للطحن معكما للآخر ، فتفضلا. يا الله ، توكلت على الله.
  8. المقارنة بعد إضافة حسابات أبو خليل. المقارنة فيها مدد شهرية لمدة سنة ومجموعها وكذلك حساب السنة بدون الشهور. كذلك بعض التواريخ المختارة. لم أعدل على معادلاتي. لم يكن اعتراضي للحصول على "أفضل إجابة" وإلا "أيش خلينا للأطفال" ولا داعي لتكرار السبب. المحاسبة لا بد لها من رياضيات وخصوصا الرياضيات المالية ومن أهم ما تركز عليه الرياضيات المالية حساب المدد. كثير من الظلم يقع على الموظفين بسبب أخطاء المحاسبين ونادر من يستطع العثور على أخطائهم. سامحوني ، آخر مشاركة لي في هذا الموضوع. موفقون جميعا. Data360_02.xlsm
  9. كما أرجو ملاحظة أن السائل عدل المشاركة التي فيها "الموافقة" على شرطي دون أي ملاحظات منه.
  10. ولكنك لم توفي بوعدك (قبولك لشرطي) ، هذه أول ليلة في رمضان ضاعت سدى. صورة مع التحية لـ @ابوخليل
  11. جرب هذا الكود: Option Compare Database Option Explicit Function GetDays360(DateFm As Date, DateTo As Date) As Double Dim Part1 As Double, Part2 As Double, Part3 As Double Dim mmDays As Byte, FullMonths As Integer Dim Date1 As Date, Date2 As Date If DateTo - DateFm < 0 Then Exit Function Date1 = DateSerial(Year(DateFm), Month(DateFm) + 1, 1) Date2 = DateSerial(Year(DateTo), Month(DateTo) + 0, 0) FullMonths = DateDiff("m", Date1 - 1, Date2) mmDays = Day(DateSerial(Year(DateFm), Month(DateFm) + 1, 0)) If FullMonths < 0 Then Part1 = (DateTo - DateFm + 1) / mmDays * 30 Else Part1 = (Date1 - DateFm + 0) / mmDays * 30 Part2 = FullMonths * 30 mmDays = Day(DateSerial(Year(DateTo), Month(DateTo) + 1, 0)) Part3 = (DateTo - Date2 + 0) / mmDays * 30 End If GetDays360 = Part1 + Part2 + Part3 End Function Sub Test() Dim Date1 As Date, Date2 As Date Date1 = DateSerial(2023, 1, 1) Date2 = DateSerial(2023, 12, 31) MsgBox GetDays360(Date1, Date2) End Sub على راسي @ابوخليل
  12. هل أشتغل لك على مقترحي ، يعني هل أنت موافق ، أنا لا أريد أن يذهب تعبي سدى ، أكد لي موافقتك لو سمحت
  13. طريقة غريبة في الحساب!! ممكن تشرح السبب، هل الحسبة تخص الرواتب؟ ممكن نعمل تحايل ولكن سيكون عدد الأيام عدد عشري يعني به كسور ، فهل هذا يرضيك؟ يعني لو عندنا يومين من شهر فبرير ويومين من شهر مارس ستكون المدة (2/28*30) + (2/31*30) أي الأربعة أيام ستحسبها 4.0783410138 وستضربها في الراتب/30 Days = (2 / 28 * 30) + (2 / 31 * 30) = 4.0783410138 وبافتراض أن الراتب الشهري 1000 NetSalary = 4.0783410138 * (1000 / 30) = 135.94
  14. أخي لو أكملت على نسخة 2003 التي رفعتها أنا كان تركت فرصة لأكثر من واحد يحاول معك في حل المشكلة. كذلك لما لا تجعل تعديلك على التقرير وليس النموذج ، أنا الصراحة لم يأتي في بالي أن يحول "نموذج" إلى PDF ، جرب في التقرير أخي.
  15. أستاذ @kkhalifa1960 مع أن ما تقوم به ليس له علاقة بفكرة الموضوع فموضوعي فقط هو توسيط جميع المكونات أفقيا مع تكبير أو تصغير النافذة ودون أي تغيير في أبعادها. فقد قمت بتحسين مثالك قبل الأخير وربما التعديل غير ملاحظ فستحتاج إلى فتح المثالين قبل وبعد ثم تقارن. Re-centerBlooming_Flower_04.rar
  16. ممتاز ، وأنا سأقوم ببعض الإضافات إن شاء الله لتحسين الشكل بعد التصغير إن سمحت لي.
  17. @kkhalifa1960 مر على مثال طلبك وقل رأيك فيه بالإيجاب أو بالسلب.
  18. تم تتكملة الكود لجلب كل البيانات. تقويم سنوي 2003_03.mdb
  19. فتح التقرير من النموذج ، لم أرغب برفع المثال ، لأترك لك فرصة تطويره لوحدك وحتى لا أتورط في طلبات قادمة 🙂 .. سبق أن نوهت أني مزحوم وربما أكون أكثر حضورا بعد العيد إن شاء الله. المثال: تقويم سنوي 2003_02.mdb
  20. جرب هذا الحدث للتقرير Private Sub Report_Load() Dim mm As Byte, dd As Byte With Forms("Tqweem_Sanawi") For mm = 1 To 12 For dd = 1 To 42 Me("M" & mm).Report.Controls("Day" & Format(dd, "00")) = _ .Controls("M" & mm).Form.Controls("Day" & Format(dd, "00")) Next dd Next mm End With End Sub ويمكن إضافة الألوان كذلك بنفس الطريقة
  21. إذا ناوي تعملها سأعطيك فكرة بسيط لعملها بجهود بسيطة ، وهي أن تصمم كود خاص بالتقرير يقرأ نتائج النموذج فقط. ولا تحتاج إلى تصميم من جديد في التقرير ، فقط انسخ مكونات النموذج والصقها في التقرير. إذا "مو" ناوي حول لي النسخة إلى 2007 وأنا أعملها.
×
×
  • اضف...

Important Information