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

كيفية توزيع الشيك علي مطالبات العميل


ابا حفص

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

السلام عليكم جميعا .. كنت اسال عن كيفية توزيع قيمة الشيك علي مطالبات العميل بحيث ان لا تتجاوز قيمة السداد قيمة الشيك وفي حين ان قيمة الشيك اقل من قيمة المطالبة يسدد جزء منها كما هو موجود في اوراكل .. حاولت ان اعمل نموذج رئيسي للشيك وبيانته ثم نموذذج فرعي للمطالبات .. عملت تشك بوكس للسداد وربطت به الكود المرفق في حدث بعد التحديث لكن للاسف يقوم الجهاز بسداد قيمة اكبر من قيمة الشيك .. ارجو من الزملاء الاساتذه مراجعة الكود واعطائي ملاحظاتهم وتصحيحهم ان كان ذلك ممكنا

Private Sub ALL_AfterUpdate()

Dim ch_val As Double
Dim clm_val As Double
Dim rem_val As Double
Dim clm_total_pay As Double
//عرفت حقل قيمة الشيك بالاسم ch_val
ch_val = Forms!SubformBasedOnQuery5![CLAIM subform]!Text47 
// عرفت حقل قيمة المطالبة بالاسم CLMVAL
clm_val = Forms!SubformBasedOnQuery5![CLAIM subform]!CLMVAL
//حقل Text31 هو حقل غير منضم جعلت فيه اجمالي ما يتم سدادة من المطالبات 
clm_total_pay = Forms!SubformBasedOnQuery5![CLAIM subform]!Text31
// هنا جعلت الباقي من قيمة الشيك بعد خصم اجمالي ما تم دفعه
rem_val = ch_val - clm_total_pay

If [ALL] = True Then
// لو كان قيمة المتبقي من الشيك اكبر من قيمة المطالبة فسدد المطالبه وقم بتسجيل قيمة الشيك ورقمه واتاريخه
    If ch_val >= clm_val Then
    Refresh
        Me!restof_ch.SetFocus
        DoCmd.RefreshRecord
        Me.Recalc
    [Forms]![SubformBasedOnQuery5]![CLAIM subform]![CHECK NO] = [Forms]![SubformBasedOnQuery5]![رقم الشيك]
    [Forms]![SubformBasedOnQuery5]![CLAIM subform]![Text35] = [Forms]![SubformBasedOnQuery5]![تاريخ ورود الشيك]
    [Forms]![SubformBasedOnQuery5]![CLAIM subform]![PAYVAL] = [Forms]![SubformBasedOnQuery5]![CLAIM subform]![CLMVAL]
    [Forms]![SubformBasedOnQuery5]![CLAIM subform]![CHECK VAL] = [Forms]![SubformBasedOnQuery5]![v1]
    '[Forms]![SubformBasedOnQuery5]!Text20 = ch_val - clm_val
    
    Refresh
        Else
// لو كان قيمة الشيك المتبقية تساوي صفر فاعطني الرساله ثم الغي علامة الصح من امام سداد الشيك
        If rem_val = 0 Then
         MsgBox "لا يمكن سداد المطالبة قيمة الشيك انتهت"
        [ALL] = False
        [Forms]![SubformBasedOnQuery5]![تم السداد بالكامل] = True
        DoCmd.GoToRecord acDataForm, "SubformBasedOnQuery5", acNext
       
        
        Else
      // لو كان قيمة المتبقي من الشيك اقل من قيمة المطالبه 
        Me!restof_ch.SetFocus
        DoCmd.RefreshRecord
        Me.Recalc
        
        MsgBox "قيمة الشيك لا تكفي المطالبة بالكامل سيتم سداد جزء منها"
        
        'Forms!SubformBasedOnQuery5![CLAIM subform]!Text47 - Forms!SubformBasedOnQuery5![CLAIM subform]!Text31
        [Forms]![SubformBasedOnQuery5]![CLAIM subform]![CHECK NO] = [Forms]![SubformBasedOnQuery5]![رقم الشيك]
        [Forms]![SubformBasedOnQuery5]![CLAIM subform]![Text35] = [Forms]![SubformBasedOnQuery5]![تاريخ ورود الشيك]
        [Forms]![SubformBasedOnQuery5]![CLAIM subform]![CHECK VAL] = [Forms]![SubformBasedOnQuery5]![v1]
        Forms!SubformBasedOnQuery5![CLAIM subform]!PAYVAL = rem_val
        '[Forms]![SubformBasedOnQuery5]!Text20 = rem_val
        [Forms]![SubformBasedOnQuery5]![تم السداد بالكامل] = True
        DoCmd.GoToRecord acDataForm, "SubformBasedOnQuery5", acNext
       
        End If
End If
   
     Refresh
Else
Forms!SubformBasedOnQuery5![CLAIM subform]![CHECK NO] = ""
[Forms]![SubformBasedOnQuery5]![CLAIM subform]![Text35] = ""
[Forms]![SubformBasedOnQuery5]![CLAIM subform]![PAYVAL] = "0.00"
[Forms]![SubformBasedOnQuery5]![CLAIM subform]![CHECK VAL] = "0.00"
'[Forms]![SubformBasedOnQuery5]!Text20 = rem_val
[Forms]![SubformBasedOnQuery5]![تم السداد بالكامل] = False
Refresh
End If
'[Forms]![SubformBasedOnQuery5]!Text20 = [Forms]![SubformBasedOnQuery5]![CLAIM subform]!restof_ch
End Sub

 

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

مثله لكن بشكل اكثر عمليه  في انه يسدد الفارق الموجود في خانة المتبقي من الشيك ولا يعتمد علي ادخال المدخل للقيم ..

نموذج رئيسي فيه بيانات الشيك  ونموذج فرعي فيه المطالبات المطلوب سدادها

اعمل تشيك بوكس امام كل مطالبه مثل المثال اللي حضرتك مرفقه حاطط زر ( تسديد ) وبعد التحديث ينظر الي قيمة المطالبه اذا كان الشيك اكبر منها يسددها واذا كانت اقل يسدد جزء منها واذا انتهت قيمة الشيك يظهر رساله ان الشيك انتهت قيمته

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

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



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

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

Important Information