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

الفرق بين التاريخين باليوم حسب المدة المحددة


mostafaatiya
إذهب إلى أفضل إجابة Solved by Hawiii,

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

السلام عليكم
المطلوب في هذا النموذج هو تحصيل شهري والعميل بيجي يدفع في تاريخ ثابت مثلا العميل احمد تاريخ التعامل بتاعة 12/12/2020 هو بيسدد اللي عليه كل يوم 12 من كل شهر بيجي هو يطلب مثلا سلعة قبل معاد سداد اللي عليه مثلا يوم 1/12/2020 كده باقي علي معاد سداده 11 يوم انا محتاج احدد ان هو هيسدد عند التحصيل او معاه فترة سماح لمده شهر يعني لو هو هيسدد عند التحصيل يبقا هيسدد يوم 12/2/2021 معاد السداد بتاعه طيب لو طلب ان يكون الصالحية لمده شهر يبقا هو هياخد من اليوم ده اللي هو مثلا 7/2/2021 الي 7/3/2021 وشكرا جدا لحضرتكم  

Database12021.accdb

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

وعليكم السلام ورحمة الله وبرماته

تفضل اخي الكريم

Private Sub Command33_Click()
    If Me.XFrame = 1 Then
        Me.d2 = Me.PaymentDate
        Me.n1 = DateDiff("d", [d1], [d2])
    Else
        Me.d2 = DateAdd("d", 30, [PaymentDate])
        Me.n1 = DateDiff("d", [d1], [d2])
    End If
End Sub

Private Sub XFrame_Click()
    Call Command33_Click
End Sub

Database12021.rar

تحياتي

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

شكرا لك اخي وبارك الله فيك 

هو فيه مشكلة بسيطة انه في حقل ( ينتهي في ) بياخد نفس اليوم والشهر 

انا محتاج الكود يكون كالتالي 

تاريخ التعامل الاساسي 16/10/2020 انا بحصل منه كل شهر يوم 16 مش هيفرق الشهر لكن التحصيل بيكون يوم 16 

خلال الفترة مثلا جالي يوم 27/2/2021 وطلب مني سلعه وقالي هدفعها يوم التحصيل اللي هو يوم 16 يباق هيسدد مثلا يوم 16/03/2021 وفرق الايام دي هيكون 18 يوم 

طيب مثلا قالي هيدفع بعد شهر يبقا هيسدد يوم 27/03/2021 ويكون فرق الايام 29 يوم 

انا مش عايزة ياخد تاريخ التعامل في الحقل ( ينتهي في ) انا محتاج انه ياخد اليوم التعامل بتاعه اللي هو ( يوم 16 ) وياخد الشهر والسنه الحالية يعني يكون يوم التعامل ثابت لكن الشهر والسنه متغييرة 

وشكرا ليكم

 

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

  • أفضل إجابة

حسب ما فهمت :
 

Private Sub Command33_Click()
  Dim d3 As Date
  Dim nm As Byte    'NextMonth
  
  d3 = Me.PaymentDate
  nm = IIf(Day(d1) >= Day(d3), 1, 0)
  
  If Me.XFrame = 1 Then
    Me.d2 = DateSerial(Year(d1), Month(d1) + nm, Day(d3))
  Else
    Me.d2 = DateSerial(Year(d1), Month(d1) + 1, Day(d1))
  End If
  
  Me.n1 = d2 - d1
End Sub

 

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

نسيت أنبهك لتعريف تنسيق/تحديد نوع الصناديق/المربعات لتجنب مشاكل التحويل  وتجنب الحصول على نتائج غير متوقعة.

PaymentDate, d1 , d2 تنسيق تاريخ و n1 تنسيق رقم.

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

5 ساعات مضت, Hawiii said:

حسب ما فهمت :
 


Private Sub Command33_Click()
  Dim d3 As Date
  Dim nm As Byte    'NextMonth
  
  d3 = Me.PaymentDate
  nm = IIf(Day(d1) >= Day(d3), 1, 0)
  
  If Me.XFrame = 1 Then
    Me.d2 = DateSerial(Year(d1), Month(d1) + nm, Day(d3))
  Else
    Me.d2 = DateSerial(Year(d1), Month(d1) + 1, Day(d1))
  End If
  
  Me.n1 = d2 - d1
End Sub

 

شكرا جدا لحضرتك وجزاك الله خير 

هو المطلوب 

بارك الله فيك

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

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