الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ارجو تصحيح هذا الكود

بدأه مستر استرا في 6 أكتوبر 2010 · 6 رد · 413 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

اخوتى فى الله برجاء تصحيح هذا الكود

الموضوع باختصار ان الكود بيحسب تاريخ الاقساط وما تم سدادة من كل قسط بمعلومية رصيد اخر المدة اذن عند تغيير رصيد اخر المدة يتم حساب اجمالى ما تم سدادة من الاقساط لنفترض انة مبلغ 750 جنية وكان قيمة القسط الواحد هو 250 جنية اذن هذا العميل دافع عدد 3 اقساط طب لو العميل دافع مبلغ 700 جنية اذن القسط الاول مدفوع بالكامل والثاني بالكامل والثالث مدفوع فية مبلغ 200 جنية فقط

اما تواريخ الاقساط لو نظام السداد كان ثلاث سنوات اذن اول قسط يبدا من العام التالى لتاريخ التسليم ,,,, لو تاريخ الاستلام هو 1/1/2010 اذن اول قسط فى 1/1/2011 ،،،،،،،،،،،اما فى نظام التقسيط على 7 سنوات يتم مد مهلة قدرها ثلاث سنوات ويبدا اول قسط مثال :- لو ان تاريخ الاستلام هو 1/1/2010 اذن اول قسط فى 1/1/2013

المشكلة التى تواجهنى هى اولا التوايخ بتتم حسابها مظبوط وقيمة القسط ايضا بس فى مشكلة واحدة ان الكود بيعمل قسط زيادة سوا فى نظام الثلاث سنوات او نظام السبع سنوات

ومرفق مثال للتعديل علية وهذا هو الكود

Private Sub Command39_Click()
Dim x As Integer
DoCmd.SetWarnings False
DoCmd.RunSQL " delete from tbsub where mainid=" & Me.ID
DoCmd.SetWarnings True
For x = 0 To Me.NezamElsdad
DoCmd.SetWarnings False
DoCmd.RunSQL " insert into tbsub (mainid,datekest,mount) values (" & Me.ID & ",#" & IIf(Me.NezamElsdad = 3, DateAdd("yyyy", x + 1, Me.EstelamDate), DateAdd("yyyy", x + 3, Me.EstelamDate)) & "#," & IIf((Me.MaTmSdadh >= Me.KestValue + Nz(DSum("mount", "tbsub", "mainid=" & Me.ID), 0)), Me.KestValue, Me.MaTmSdadh - Nz(DSum("mount", "tbsub", "mainid=" & Me.ID), 0)) & ")"
Me.subform.Requery
Next x
End Sub

aksat.rar

تم تعديل هذه المشاركة بواسطة مستر استرا في 6 أكتوبر 2010 في 09:47

#2

المشكلة لديك فى هذا السطر

For x = 0 To Me.NezamElsdad

عدله الى التالى

For x = 1 To Me.NezamElsdad

فقط الصفر الى واحد

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#3

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

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

#4

نعم اخى

لان الامر يستوجب التعديل فى السطر التالى لان قيم التاريخ تعتمد على قيم المتغير i

DoCmd.RunSQL " insert into tbsub (mainid,datekest,mount) values (" & Me.ID & ",#" & IIf(Me.NezamElsdad = 3, DateAdd("yyyy", x, Me.EstelamDate), DateAdd("yyyy", x + 2, Me.EstelamDate)) & "#," & IIf((Me.MaTmSdadh >= Me.KestValue + Nz(DSum("mount", "tbsub", "mainid=" & Me.ID), 0)), Me.KestValue, Me.MaTmSdadh - Nz(DSum("mount", "tbsub", "mainid=" & Me.ID), 0)) & ")"

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#5

اخى الكريم هل تتفضل بحل المثال ؟

#6

اخى

هذا هو الكود بعد التعديل

جرب و انا معك

Dim x As Integer
DoCmd.SetWarnings False
DoCmd.RunSQL " delete from tbsub where mainid=" & Me.ID
DoCmd.SetWarnings True
For x = 1 To Me.NezamElsdad
DoCmd.SetWarnings False
DoCmd.RunSQL " insert into tbsub (mainid,datekest,mount) values (" & Me.ID & ",#" & IIf(Me.NezamElsdad = 3, DateAdd("yyyy", x, Me.EstelamDate), DateAdd("yyyy", x + 2, Me.EstelamDate)) & "#," & IIf((Me.MaTmSdadh >= Me.KestValue + Nz(DSum("mount", "tbsub", "mainid=" & Me.ID), 0)), Me.KestValue, Me.MaTmSdadh - Nz(DSum("mount", "tbsub", "mainid=" & Me.ID), 0)) & ")"
Me.subform.Requery
Next x

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#7

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

اخى الكريم "mrnooo2000" تماااااااااااام ظبط الكود بعد نسخة بتعديل من حضرتك وكولة زى الفل تسلم ايدك

مواضيع مشابهة