عبد اللطيف سلوم قام بنشر أبريل 14, 2020 قام بنشر أبريل 14, 2020 ارجوا التكرم بتصحيح الخطأ استخراج مدة الخدمة احيانا تظهر النتائج بالسالب مدة خدمة الموظف.accdb
jjafferr قام بنشر أبريل 14, 2020 قام بنشر أبريل 14, 2020 وعليكم السلام اخوي عبداللطيف 🙂 هذا الرابط فيه وحدة نمطية لطلبك 🙂 https://www.officena.net/ib/topic/80943-كيفية-حساب-عدد-الاشهر-بين-تاريخين/ جعفر 2
ابو محمد 316 قام بنشر أبريل 14, 2020 قام بنشر أبريل 14, 2020 السلام عليكم ربما هذا المثال هو المطلوب بالتوفيق إن شاء الله الموظفين.accdb 2
أفضل إجابة Shivan Rekany قام بنشر أبريل 14, 2020 أفضل إجابة قام بنشر أبريل 14, 2020 وعليكم السلام ورحمة الله وبركاته واليك التعديل على المرفقك مدة خدمة الموظف.accdb 3
عبد اللطيف سلوم قام بنشر أبريل 14, 2020 الكاتب قام بنشر أبريل 14, 2020 اشكركم على المرور جميعا ارى حل الاخ شيفان اسهل وافضل مع احترامي لكم جميعا 1
عبد اللطيف سلوم قام بنشر أبريل 14, 2020 الكاتب قام بنشر أبريل 14, 2020 تم نقل المديول الى برنامج اخر والعمل عليه اشكرك اخي الكريم
Shivan Rekany قام بنشر أبريل 14, 2020 قام بنشر أبريل 14, 2020 الان, عبد اللطيف سلوم said: يا ريت تتكرم علينا بشرح لالية العمل استخدمنا هذه الفانكشن Function masdatediffh(olddate, Optional newdate) As String Dim d As Integer, m As Integer, y As Integer, nd As Integer, nm As Integer, ny As Integer If IsNull(newdate) Then newdate = Date If IsNull(olddate) Or olddate > newdate Then masdatediffh = "": Exit Function nd = Left(newdate, 2): d = Left(olddate, 2) nm = Mid(newdate, 4, 2): m = Mid(olddate, 4, 2) ny = Right(newdate, 4): y = Right(olddate, 4) If nd < d Then nm = nm - 1: nd = nd + 30 If nm < m Then ny = ny - 1: nm = nm + 12 masdatediffh = Format(nd - d, "00") & "-" & Format(nm - m, "00") & "-" & Format(ny - y, "00") End Function الفانكشن بيعطينا عدد سنوات و الاشهر والايام بين تاريخين تغيرنا مصدر النموذج من الجدول الى استعلام واضفنا حقل جديد باسم Feriq هكذا Feriq: masdatediffh([تاريخ التعيين];Date()) لان حضرتك تريد سنة في مربع و اشهر في المربع و اليوم في المربع قمنا باخفاء المربع نصي اللي اسمه Feriq في النموذج وفي مربع الثلاث للسنة والاشهر والايام استخدمنا دالة Mid لان فانکشن يعطينا النتيجة رقمين للايام و شارحة ورقمين للاشهر و شارحة ورقمين للسنة هكذا مثلا 13-03-20 في دالة Mid يجب ان نعرف تسلسل الرقم هنا رقم 1 تسلسله هو 1 ورقم 3 تسلسله 2 وشارحة - الاول تسلسله 3 ورقم 0 مع الاشهر تسلسله 4 ورقم 3 تسلسله 5 وشارحة - الثانية تسلسله 6 ورقم 2 تسلسله 7 ورقم 0 الاخير تسلسله 8 في المربع السنة استخدمنا هكذا =Mid([Feriq];7;2) رقم 7 اي يعني اختر من تستسل 7 وهو رقم 2 ويكون رقمين فقط اي يعني رقم 2 و صفر اي يعني20 وفي المربع الاشهر هذا =Mid([Feriq];4;2) رقم 4 يعني اختر من تسلسل 4 وهو رقم 0 ويكون رقمين اي يكون 0 و 3 اي يعني 03 وفي المربع الايام هذا =Mid([Feriq];1;2) رقم 1 يهني اختر من تسلسل 1 اي يعني 1 ويكون رقمين اي يعني 13 ملاحظة : تقدر تستخدم مصدر النموذج جدول وليس استعلام لكن يجب ان تضيف في النموذج مربع نصي وتكون مصدره كالتالي masdatediffh([تاريخ التعيين];Date()) تحياتي 4 1
shawky75140 قام بنشر أبريل 14, 2020 قام بنشر أبريل 14, 2020 (معدل) جزاك الله كل خير على هذا الشرح الوافى اخى شفان ريكاني تم تعديل أبريل 14, 2020 بواسطه shawky75140 1 1
عبد اللطيف سلوم قام بنشر أبريل 14, 2020 الكاتب قام بنشر أبريل 14, 2020 6 ساعات مضت, Shivan Rekany said: استخدمنا هذه الفانكشن Function masdatediffh(olddate, Optional newdate) As String Dim d As Integer, m As Integer, y As Integer, nd As Integer, nm As Integer, ny As Integer If IsNull(newdate) Then newdate = Date If IsNull(olddate) Or olddate > newdate Then masdatediffh = "": Exit Function nd = Left(newdate, 2): d = Left(olddate, 2) nm = Mid(newdate, 4, 2): m = Mid(olddate, 4, 2) ny = Right(newdate, 4): y = Right(olddate, 4) If nd < d Then nm = nm - 1: nd = nd + 30 If nm < m Then ny = ny - 1: nm = nm + 12 masdatediffh = Format(nd - d, "00") & "-" & Format(nm - m, "00") & "-" & Format(ny - y, "00") End Function الفانكشن بيعطينا عدد سنوات و الاشهر والايام بين تاريخين تغيرنا مصدر النموذج من الجدول الى استعلام واضفنا حقل جديد باسم Feriq هكذا Feriq: masdatediffh([تاريخ التعيين];Date()) لان حضرتك تريد سنة في مربع و اشهر في المربع و اليوم في المربع قمنا باخفاء المربع نصي اللي اسمه Feriq في النموذج وفي مربع الثلاث للسنة والاشهر والايام استخدمنا دالة Mid لان فانکشن يعطينا النتيجة رقمين للايام و شارحة ورقمين للاشهر و شارحة ورقمين للسنة هكذا مثلا 13-03-20 في دالة Mid يجب ان نعرف تسلسل الرقم هنا رقم 1 تسلسله هو 1 ورقم 3 تسلسله 2 وشارحة - الاول تسلسله 3 ورقم 0 مع الاشهر تسلسله 4 ورقم 3 تسلسله 5 وشارحة - الثانية تسلسله 6 ورقم 2 تسلسله 7 ورقم 0 الاخير تسلسله 8 في المربع السنة استخدمنا هكذا =Mid([Feriq];7;2) رقم 7 اي يعني اختر من تستسل 7 وهو رقم 2 ويكون رقمين فقط اي يعني رقم 2 و صفر اي يعني20 وفي المربع الاشهر هذا =Mid([Feriq];4;2) رقم 4 يعني اختر من تسلسل 4 وهو رقم 0 ويكون رقمين اي يكون 0 و 3 اي يعني 03 وفي المربع الايام هذا =Mid([Feriq];1;2) رقم 1 يهني اختر من تسلسل 1 اي يعني 1 ويكون رقمين اي يعني 13 ملاحظة : تقدر تستخدم مصدر النموذج جدول وليس استعلام لكن يجب ان تضيف في النموذج مربع نصي وتكون مصدره كالتالي masdatediffh([تاريخ التعيين];Date()) تحياتي كل المحبة والاحترام نشكرك على هذا الشرح الرائع حيث سيستفيد منه العديد من الأعضاء
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.