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

تعديل على كود وفق المطلوب

مغلقمُجاب
بدأه كريمو2 في 27 أبريل 2014 · 9 رد · 505 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم إخواني

طلبي مساعدة بخصوص في تقسيم مبلغ القروض على اعداد معينة 

Cridi_Value يساوي 10000.00 وهو قرض 1 يقسم على 10

Cridi_Value يساوي 20000.00 وهو قرض 2 يقسم على 10

Cridi_Value يساوي 30000.00 وهو قرض 3 يقسم على 10

Cridi_Value يساوي 40000.00 وهو قرض 4 يقسم على 08

Cridi_Value يساوي 10000.00 وهو قرض 5 يقسم على 02

والدالة التالية تعمل بشكل صحيح الا  في " القرضين رقم 5 ورقم 01 " بهما مشكل لأنهما متساويان

والمطلوب التصحيح

القرض الأول يقسم على 10 والخامس يقسم على 2

رجاءا تعديل على هذا الكود

Private Sub UpdateEndData()
DiscountEndDate = DateAdd("m", Switch([Cridi_Value] <= 5000, 1, [Cridi_Value] > 5000 And [Cridi_Value] <= 30000, 10, [Cridi_Value] > 30000, 8), [DiscountStartDate] - 1)
DiscountPerMonth = [Cridi_Value] / Switch([Cridi_Value] <= 5000, 1, [Cridi_Value] > 5000 And [Cridi_Value] <= 30000, 10, [Cridi_Value] > 30000, 8)
txtDiscountPerMonth.Requery
txtDiscountEndDate.Requery

End Sub

وشكرا

الْلَّهُم صَلِّ وَبَارِك وَسَلِم عَلَى سَيِّدِنَا مُحَمَّد وَعَلَى الِه وَصَحْبِه وَسَلِّم

#2

جرب أخى هذا التعديل


DiscountEndDate = DateAdd("m", Switch([Cridi_Value] = 10000, 10, [Cridi_Value] = 20000, 10, [Cridi_Value] = 30000, 10, [Cridi_Value] = 40000, 8, [Cridi_Value] = 100000, 2), [DiscountStartDate] - 1)
DiscountPerMonth = [Cridi_Value] / Switch([Cridi_Value] = 10000, 10, [Cridi_Value] = 20000, 10, [Cridi_Value] = 30000, 10, [Cridi_Value] = 40000, 8, [Cridi_Value] = 100000, 2)
txtDiscountPerMonth.Requery
txtDiscountEndDate.Requery

و ان كنت اجد اختلافا بين الكود الذى وضعته فى مشاركتك و بين مطلوبك

فانت تطلب تحقيق الشرط عن قيمة محددة أما الكود فيتحدث عن مجال أوسع

مدونتى:-

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

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

#3
Abo_Yossof كتب:

جرب أخى هذا التعديل

DiscountEndDate = DateAdd("m", Switch([Cridi_Value] = 10000, 10, [Cridi_Value] = 20000, 10, [Cridi_Value] = 30000, 10, [Cridi_Value] = 40000, 8, [Cridi_Value] = 10000, 2), [DiscountStartDate] - 1)
DiscountPerMonth = [Cridi_Value] / Switch([Cridi_Value] = 10000, 10, [Cridi_Value] = 20000, 10, [Cridi_Value] = 30000, 10, [Cridi_Value] = 40000, 8, [Cridi_Value] = 10000, 2)
txtDiscountPerMonth.Requery
txtDiscountEndDate.Requery

و ان كنت اجد اختلافا بين الكود الذى وضعته فى مشاركتك و بين مطلوبك

فانت تطلب تحقيق الشرط عن قيمة محددة أما الكود فيتحدث عن مجال أوسع

نعم استاذي أبويوسف الكود يتحدث عن مجال اوسع ولكن حاليا اطبقه في ذات الحالات التي ذكرتها

شكرا لك على التعديل

ولكن لم ينفع مع القرض 5 وهو تقسيمه على 2

الْلَّهُم صَلِّ وَبَارِك وَسَلِم عَلَى سَيِّدِنَا مُحَمَّد وَعَلَى الِه وَصَحْبِه وَسَلِّم

#4

لسبب بسيط

و هو ان قيمة القرض 5 هى نفس قيمة القرض 1

 

كنت أعتقد أنك أخطأت فى صفر فوضعته 100000 و لكن واضح انه غير ذلك

تم تعديل هذه المشاركة بواسطة Abo_Yossof في 27 أبريل 2014 في 15:56

مدونتى:-

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

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

#5
Abo_Yossof كتب:

لسبب بسيط

و هو ان قيمة القرض 5 هى نفس قيمة القرض 1

 

كنت أعتقد أنك أخطأت فى صفر فوضعته 100000 و لكن واضح انه غير ذلك

أخي ابو يوسف وإذا تساوت القيم الا يمكن حل يفصل التقسيم الأول على 10 والأخير على 2

CRIDI5.rar

تم تعديل هذه المشاركة بواسطة كريمو2 في 27 أبريل 2014 في 16:04

الْلَّهُم صَلِّ وَبَارِك وَسَلِم عَلَى سَيِّدِنَا مُحَمَّد وَعَلَى الِه وَصَحْبِه وَسَلِّم

#6

الموضوع بهذا الشكل يختلف تماما

لان الشرط يكون على نوع القرض و ليس المبلغ كما وضعته فى مشاركتك

 

جرب هذا الكود


Dim Dcode As Integer
Dcode = Switch([Cridi_ID] = 1, 10, [Cridi_ID] = 2, 10, [Cridi_ID] = 3, 10, [Cridi_ID] = 4, 8, [Cridi_ID] = 5, 2)
DiscountEndDate = DateAdd("m", Dcode, [DiscountStartDate] - 1)
DiscountPerMonth = [Cridi_Value] / Dcode
txtDiscountPerMonth.Requery
txtDiscountEndDate.Requery

تم تعديل هذه المشاركة بواسطة Abo_Yossof في 27 أبريل 2014 في 16:30

مدونتى:-

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

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

#7

تم تعديل الكود لوجود خطأ به

مدونتى:-

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

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

#8
Abo_Yossof كتب:

 

الموضوع بهذا الشكل يختلف تماما

لان الشرط يكون على نوع القرض و ليس المبلغ كما وضعته فى مشاركتك

 

جرب هذا الكود

Dim Dcode As Integer
Dcode = Switch([Cridi_ID] = 1, 10, [Cridi_ID] = 2, 10, [Cridi_ID] = 3, 10, [Cridi_ID] = 4, 8, [Cridi_ID] = 5, 2)
DiscountEndDate = DateAdd("m", Dcode, [DiscountStartDate] - 1)
DiscountPerMonth = [Cridi_Value] / Dcode
txtDiscountPerMonth.Requery
txtDiscountEndDate.Requery

في اي حدث يوضع هذا الكود استاذ

لأني جربت ومافلح معي ابدا

الْلَّهُم صَلِّ وَبَارِك وَسَلِم عَلَى سَيِّدِنَا مُحَمَّد وَعَلَى الِه وَصَحْبِه وَسَلِّم

#9 أفضل إجابة

فى نفس مكان الكود الاول

Private Sub UpdateEndData()
Dim Dcode As Integer
Dcode = Switch([Cridi_ID] = 1, 10, [Cridi_ID] = 2, 10, [Cridi_ID] = 3, 10, [Cridi_ID] = 4, 8, [Cridi_ID] = 5, 2)
DiscountEndDate = DateAdd("m", Dcode, [DiscountStartDate] - 1)
DiscountPerMonth = [Cridi_Value] / Dcode
txtDiscountPerMonth.Requery
txtDiscountEndDate.Requery
End Sub

مدونتى:-

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

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

#10

وهو كذالك أستاذ


شكرا لك وتقبل تحياتي القلبية الخالصة


الْلَّهُم صَلِّ وَبَارِك وَسَلِم عَلَى سَيِّدِنَا مُحَمَّد وَعَلَى الِه وَصَحْبِه وَسَلِّم

هذا الموضوع مغلق.

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