الأخوة والأخوات
السلام عليكم ورحمة الله وبركاته
هذه صورة النموذج الموجود بالمرفقات أرجو التكرم بمساعدتي
بوضع اكواد للنموذج وجزاكم الله خير الجزاء وجعله في موازين حسناتكم

وشكرا
الأخوة والأخوات
السلام عليكم ورحمة الله وبركاته
هذه صورة النموذج الموجود بالمرفقات أرجو التكرم بمساعدتي
بوضع اكواد للنموذج وجزاكم الله خير الجزاء وجعله في موازين حسناتكم

وشكرا
تم تعديل هذه المشاركة بواسطة الكاتب 2005 في 14 أبريل 2005 في 18:46
استخدم هذه الدالة .
Dim fdd As Integer, fmm As Integer, fyy As Integer
Dim tdd As Integer, tmm As Integer, tyy As Integer
Dim الخدمة_يوم
Dim الخدمة_شهر
Dim الخدمة_سنة
If [تاريخ التعيين] > [تاريخ التقاعد] Then
Beep
MsgBox "يجب أن يكون تاريخ التقاعد أكبر من تاريخ التعيين"
Exit Sub
End If
fdd = Mid([تاريخ التعيين], 9, 2)
fmm = Mid([تاريخ التعيين], 6, 2)
fyy = Mid([تاريخ التعيين], 1, 4)
tdd = Mid([تاريخ التقاعد], 9, 2)
tmm = Mid([تاريخ التقاعد], 6, 2)
tyy = Mid([تاريخ التقاعد], 1, 4)
If tdd < fdd Then
tdd = tdd + 30
tmm = tmm - 1
End If
If tmm < fmm Then
tmm = tmm + 12
tyy = tyy - 1
End If
[الخدمة_يوم] = tdd - fdd
[الخدمة_شهر] = tmm - fmm
[الخدمة_سنة] = tyy - fyy
[عدد سنوات الخدمة] = "(" & [الخدمة_يوم] & ")" & "يوم" & " " & "(" & [الخدمة_شهر] & ")" & "شهر" & " " & "(" & [الخدمة_سنة] & ")" & "سنه"أنظر مثالك بعد التعديل .
تحياتي ..
اضافة الى ما تفضل به اخي فهد الدوسري احببت ان اشارك ايضا فزيادة الخير خيرين مين قدك ياعم ;) ;)
هذا برنامج معمول علشانك مخصوص فيه افكار جديده وكل طلباتك من الالف الى الياء نماذج تقارير استعلامات اجازات بالساعة واليوم والشهر وعدد سنوات الخدمة باليوم والشهر والسنه وما نزلناه للسوق لحد الان هذا البرنامج يدعى برنامج التقاعد المطور
وتم استخدام الدالة التالية لحساب سنوات الخدمه
Function Work(df, mf As Byte, yf As Integer, _ dt, mt As Byte, yt As Integer) As String Dim dd, mm As Byte Dim yy As Integer If dt < df Then dt = dt + 30 mt = mt - 1 End If If mt < mf Then mt = mt + 12 yt = yt - 1 End If dd = dt - df mm = mt - mf yy = yt - yf Work = dd & " يوم" & mm & " شهر" & yy & سنه" End Function
طريقة احتساب تعويض الاجازات
عندما يكون سنوات الخدمة
22يوم و15 شهر و26
فيكون استحقاق تعويض الاجازات بالساعة واليوم والشهر هي كالتالي
من الناتج السابق:
عن كل يوم يحتسب 2ساعة = 22×2= 44ساعة
عن كل شهريحتسب 2.5يوم = 15×2.5= 37.5يوم
عن كل سنة يحتسب 30يوم = 26×30÷ 30= 26شهر
والناتج هو:
44ساعة و37.5ويوم26 شهر
وتلاحظ الكود الخاص بالاجازات في المشاركة انه تم عمل التالي
1. الايام ........ تم ضربها في العدد 2 وتم طرح عدد 6 ايام من الناتج تسأل لماذا تم طرح 6 ايام لانك ذكرت ان التاريخ ثابت وهو 24/8/1418 اذن طرحنا 30 يوم من 24 يوم باقي معنا 6 ايام من التاريخ هذا للايام هذا الناتج يعطينا عدد الساعات مع ملاحظة ان اليوم الواحد يساوي 24 ساعة فإذا كان عدد الساعات اكبر من ذلك يضاف الى خانة الايام والباقي بكون عدد الساعات
2. الشهور ...... تم ضربها في 2.5 والناتج تم طرح منه 4 لان السنه 12 شهر وشهر 8 في التاريخ الثابت مع 4 شهور يكمل سنه وهذا الناتج يعطينا عدد الايام مع ملاحظة ان السنه 12 شهر فإذا كان عدد الاشهر اكبر من 12يضاف مياشره الى سنه اضافيه في خانة السنوات وما تبقى يكون عدد الاشهر ليتحول بالكود الى ايام
3. السنوات ..... تم ضربها في 30 وقسمتها على 30 وتم طرح 8 سنوات من 1418 الى 1426 ليعطينا عدد اشهر الاجازات
وتم استخدام الدالة التالية لحساب التعويض عن الاجازات
Function Vic(df, mf As Byte, yf As Integer, _ dt, mt As Byte, yt As Integer) As String Dim dd, mm As Byte Dim yy As Integer If dt < df Then dt = dt + 30 mt = mt - 1 End If If mt < mf Then mt = mt + 12 yt = yt - 1 End If 'التاريخ الثابت 24/8/1418 'تم طرح 6 ايام من الشهر و4 اشهر من السنه و8 سنوات حتى تاريخه dd = (dt - df) * 2-6 mm = (mt - mf) * 2.5-4 yy = (yt - yf) * 30 / 30-8 Vic = dd & " ساعة" & mm & " يوم" & yy & " شهر" End Function
اختكم زهره
تم تعديل هذه المشاركة بواسطة zahrah في 22 أبريل 2005 في 15:12
شكرا للأستاذ/ فهد الدوسري
وشكرا للأستاذة/ زهرة
ما قدمتوه هو المطلوب ولي رجاء للمشرفة الكريمة زهرة ان يكون البرنامج مفتوح لتعديل الشكل
لأن أستخدم شاشة 800×600 وشكرا وسوف اقوم بالتطبيق الفعلي وابلغكم بالنتائج وجزاكم الله
اخي الكاتب
السلام عليكم ورحمة الله وبركاته
الحمد لله اننا استطعنا افادتك ولا تنسى استاذنا ومعلمنا الاخ فهد الدوسري بالدعاء له دعوة صالحة من القلب .
البرنامج يا أخي مفتوح المصدر وغير محمي تستطيع الدخول والتعديل عليه كل ما عليك فعله هو قبل فتح القاعدة اضغط على مفتاح Shift في لوحة المفاتيح ولا ترفع يدك عن المفتاح حتى يفتح لك النموذج الرئيسي ثم اذهب الى ادوات ومنها الى بدء التشغيل وستجد انني قد قمت بإزالة جميع الاشارات ( علامات الصح ) من المربعات قم بإلتأشير عليها كلها ثم احفظ عملك واغلق البرنامج واعد فتحه سترى ان القاعده واطارها كامل موجود تستطيع التعديل كيفما تريد
اختكم
زهره
أختي الكريمة زهرة
أشكرك على سرعة التجاوب والشكر لاستاذنا فقد استفدت من دروسه ومن اجاباته
وتشجعت للعودة لتجديد معلوماتي لبرنامج الآكسيس
اختي الكريمة لدي طلب تعديل على البرنامج وهو أن المتبع أنه عند احتساب تعويض
الاجازات فإنه يكون مقابل كل سنة = 1شهر اجازة وعند التطبيق لم تظهر معي بأن
عدد السنوات يقابلة نفس العدد من الاشهر وهو المطلوب نظاما في التقاعد لبعض الفيئات والبعض يكون 45يوما كل سنة
ارجو ان يكون الاستفسار واضحا ولكم تحياتي
اخوكم/ الكاتب
اخي الكاتب
السلام عليكم ورحمة الله وبركاته
بناء على المعلومات التي ذكرتها من خلال الصوره انك تريد احتساب الاجازات من تاريخ 24/8/1418 ولهذا عند الانتهاء من البرنامج قمنا بطرح 6 ايام و 4 اشهر و8 سنوات لتكون الحسبة صحيحه اذا لم يكن هذا هو المطلوب فبإمكانك التعديل كالتالي
1. افتح اطار قاعدة البيانات الموجود يعني اللوحة الذي فيها
الجداول
الاستعلامات
النماذج
الماكرو
الوحدات النمطيه
اختر الوحدات النمطيه وستجد ملفين الاول بإسم WORK وهو بخص عدد سنوات الخدمه اتركه كما هو والثاني بإسم VIC وهو يخص الاجازات افتحه في عرض التصميم ثم انتقل لاخر الكود وستجد شرح بعده الايام مطروح منها 6 والاشهر مطروح 4 والسنوات 8 قم بحذف هذه الارقام فقط ثم احفظ الوحده النمطيه وشغل النموذج سترى ان عدد السنوات مساويا لعدد اشهر الاجازات حربها واخبرني بالنتيجه في انتظار ردك
المشرفة القديرة الاستاذة : زهرة
تم تطبيق ما تفضلتي به من شرح وكان رائعا
بقي جزئية بسيطة وبذلك يكون البرنامج مكتملا بعون من الله
ثم بجهودك انت والمشرف الكبير الاستاذ / فهد الدوسري بارك الله
في جهودكما
والجزئية هي: في احتساب الاجازات
المطلوب : تحويل الساعات الى أيام تلقائيا عندما يكون الناتج اكثر من 23ساعة
كما هو معمول به في طريقة الايام عندما تكون30يوم تتحول تلقائيا الى شهر
وشكرا لسرعة تجاوبكم
تم تعديل هذه المشاركة بواسطة الكاتب 2005 في 25 أبريل 2005 في 00:08
اخي الكاتب
هذا هو الملف بعد التعديل اطلع عليه اولا احسب الوقت في ورقه خارجيه مازاد عن 24 ساعة يضاف كيوم وما زاد عن 30 يوم يضاف كشهر وما زاد عن 12 شهر يضاف لسنه انتهينا من سنوات الخدمه
الان ننتقل الى التعويض للاجازات
هذي لها معادلة في الوحدات النمطيه ناتج الفرق بين الايام يضرب في 2 لينتج لنا ساعات وما زاد من الساعات عن 24 ساعة يضاف لليوم
وكذلك فرق الاشهر بضرب في 2.5 لينتج لنا ايام مازاد عن 30 يوم يضاف للشهر
جرب البرنامج وابلغي بالنتيجه هل هي كذلك او تحتاج الى تغيير
تم تعديل هذه المشاركة بواسطة zahrah في 25 أبريل 2005 في 23:36
أختي الكريمة المشرفة زهرة
لم يتم تحويل كل 24ساعة الى يوم ولا30يوم الى شهر وقد جربت النموذج
عدة مرات آمل تغيير الكود اذا كان ذلك ممكنا وشكرا
الأخت المشرفة زهرة نعود للسؤال مرة أخرى
عن نفس الموضوع السابق فهل نجد حل لتحويل الساعات
الى أيام واليام الى شهور وشكرا
شكراً لكم جميعاً :
برنامج روعة ومفيد للعمل في طريقة معاملة الموظف المتقاعد 0
ولكن 000000 هـل نسيت أخي الكريم الكاتب 2005 بأن الموظف يمنح في السنة إجازة 35 يوماً
وليس 30 يوماً حسب التعليمات الجديدة 000 ومشكور أخي الكريم على جهودك 0
الأخت زهرة : شكراً لك
على المتابعة الجيدة وأهنئك على هذا العمل الجبار 0
فهل سمحتي بأن تعدلي في الكود أيام الإجازة بدلاً من 30 يوماً تضعين 35 يوماً 000 حيث أن النظام
الجديد يمنح الموظف اجازة 35 يوماً في السنة 0
أخي العزيز فهد الدوسري :
شكراً على ما تقوم به أسأل الله العلي القدير التوفيق والسداد لك وللجميع في هذا المنتدى 0
تم تعديل هذه المشاركة بواسطة ss2002 في 25 سبتمبر 2005 في 19:37
مشكوووووووووووورين
هذا الموضوع مغلق.