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

عمل تاريخ يعد احتساب المدد


الردود الموصى بها

-المطلوب اضافه تاريخ بدايه الخبره ونهايه الخبره يتم احتساب المده تلقائي              

-واضافه تاريخ بدايه المده الاستثنائيه ونهايتها ويتم احتساب المده تلقاي                

-ويتم جمع هذه المدد وطرحها من تاريخ اليوم ويتم انشاء تاريخ قديم

واشكرم

Database1.rar

رابط هذا التعليق
شارك

السلام عليكم

اضف الوحدة النمطية التالية

Option Compare Database
Option Explicit

Function CalcAgeY(vDate1 As Date, vdate2 As Date)
    Dim vYears As Integer, vMonths As Integer, vDays As Integer
    vMonths = DateDiff("m", vDate1, vdate2)
    vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2)
    If vDays < 0 Then
        vMonths = vMonths - 1
        vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2)
    End If
    vYears = vMonths \ 12
    vMonths = vMonths Mod 12
    CalcAgeY = vYears
    
End Function
Function CalcAgeM(vDate1 As Date, vdate2 As Date)

    Dim vYears As Integer, vMonths As Integer, vDays As Integer
    vMonths = DateDiff("m", vDate1, vdate2)
    vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2)
    If vDays < 0 Then
        vMonths = vMonths - 1
        vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2)
    End If
    vYears = vMonths \ 12
    vMonths = vMonths Mod 12
    CalcAgeM = vMonths
    
End Function
Function CalcAgeD(vDate1 As Date, vdate2 As Date) As String
    Dim vYears As Integer, vMonths As Integer, vDays As Integer
    vMonths = DateDiff("m", vDate1, vdate2)
    vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2)
    If Day(vDate1) = 31 Then vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2) - 1

    If vDays < 0 Then
        vMonths = vMonths - 1
        vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2)
        
    End If
    vYears = vMonths \ 12
    vMonths = vMonths Mod 12
    CalcAgeD = vDays
    End Function

واستخدم الكود التالي في النموذج

    Me.الخبره_يوم = CalcAgeD(Me.تاريخ_نهايه_مدة_الخبره, Me.تاريخ_اليوم)
    Me.الخبره_شهر = CalcAgeM(Me.تاريخ_نهايه_مدة_الخبره, Me.تاريخ_اليوم)
    Me.الخبره_سنه = CalcAgeY(Me.تاريخ_نهايه_مدة_الخبره, Me.تاريخ_اليوم)


    Me.استثنائيه_يوم = CalcAgeD(Me.تاريخ_نهايه_المدة_استثنائيه, Me.تاريخ_بدايه_المدة_استثنائيه)
    Me.استثنائيه_شهر = CalcAgeM(Me.تاريخ_نهايه_المدة_استثنائيه, Me.تاريخ_بدايه_المدة_استثنائيه)
    Me.استثنائيه_سنه = CalcAgeY(Me.تاريخ_نهايه_المدة_استثنائيه, Me.تاريخ_بدايه_المدة_استثنائيه)

ونصيحة لا تستخدم اسماء عربية للحقول والكائنات ان اردت استخدام دوال ومعادلات

Database1.rar

تحياتي

رابط هذا التعليق
شارك

اشكر اخي الفاضل

لاكن استاذنك 

اولا مش محتاج Command محتاج انه يحسب تلقائي مع كتابة التاريخ

ثانيا محتاج تاريخ بعد احتساب المدد

اعذرني انا لسه ميتدأ

اشكرك جدا علي اهتمامكDatabase1.rar

رابط هذا التعليق
شارك

اشكرك اخي العزيز

مجهود مشكور عليه جعله الله في ميزان حساناتك

لاكن توجد مشكله في حاله عدم اضافه التاريخ الاستثنائي لايتم حساب المده وتظهر علامة خطأ

ارجو حلها ولك مني كل الشكر والتقدير

رابط هذا التعليق
شارك

في ٢٣‏/١‏/٢٠٢١ at 10:37, عمرو القليعي said:

تقولي اذاي

اجعل الكود داخل الاستعلام واجعل الاستعلام مصدر سجلات التقرير  وفقط (هذا كل شيء)

  • Like 1
رابط هذا التعليق
شارك

  • 1 month later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information