كريمو2 قام بنشر مارس 30, 2015 قام بنشر مارس 30, 2015 (معدل) السلام عليكم كان البرنامج يعمل بصفة منتظمة ولكن عندما وقعت في مشكل توقيف إقتطاع القروض لسبب من الأسباب الملزمة عملنا كود في الفورم frm_Avoid_Dates Private Sub cmd_Do_Changes_Click() Dim rst As DAO.Recordset 'open the table for adding the dates Set rst = CurrentDb.OpenRecordset("select * From tbl_Avoid_Dates") 'loop the number of months, then add a new record for each month For I = 0 To Me.Number_Of_Months - 1 rst.AddNew rst!Name_ID = Me.Name_ID rst!Loan_ID = Me.Loan_ID rst!Avoid_Dates = DateAdd("m", I, Me.Month_From) rst.update Next I 'change the end date in Forms!FrmCridi!FrmCridi_sub!txtDiscountEndDate Forms!FrmCridi!FrmCridi_sub!txtDiscountEndDate = DateAdd("m", I, Forms!FrmCridi!FrmCridi_sub!txtDiscountEndDate) 'leave a remark of what we have done Forms!FrmCridi!FrmCridi_sub!Obsérvation = Forms!FrmCridi!FrmCridi_sub!Obsérvation & " >> " & _ "تأجيل الدفع لمدة " & I & " أشهر" 'clear the memory rst.Close: Set rst = Nothing End Sub في الفورم frm_Avoid_Dates تحدد شهر التوقيف ومدة التوقيف طبعا مدة معينة شهر او إثنين او أكثر فلاحظنا انه كلما تم ايقاف الخصم الشهري للقروض كلما زاد مبلغ شهر الخصم لمبلغ القرض مثلا مبلغ القرض 20.000.00 مقسم على 10 اشهر وتم ايقاف الخصم لمدة شهرين نجد ان مبلغ القرض اصبح 24.000.00 اي 4.000.00 هي ناتجة عن الشهرين التي تم فيهما إيقاف الخصم . المطلوب : ماسبب هذه الزيادة هل هو في الوحدة النمطية التي ادرجت مؤخرا ام ماذا . والصور توضح ذالك أرجو المساعدة وشكرا لكم ma.2015.rar تم تعديل أبريل 6, 2015 بواسطه محمد طاهر
كريمو2 قام بنشر أبريل 5, 2015 الكاتب قام بنشر أبريل 5, 2015 (معدل) " لا إِلَهَ إِلا أَنتَ سُبْحَانَكَ إِنِّي كُنتُ مِنَ الظَّالِمِينَ " تم تعديل أبريل 5, 2015 بواسطه كريمو2
محمد طاهر عرفه قام بنشر أبريل 6, 2015 قام بنشر أبريل 6, 2015 السلام عليكم أخي الكريم المشكلة فى طريفة طرح السؤال بالنسبة لك البرنامج واضح و مفهوم و لكنه ليس كذلك بالنسبة للاخرين فلكي يستطبيع احد الاجابة عليه أن يفهم البرنامج و كيف يعمل لذا من الافضل طرح سؤال مباشر لا يحتاج لدراسة البرنامج كي يتم الاجابة عليه أقترح استخدام اسلوب التجربة خطوة بخطوة سجل بيانات فى النموذج المشار اليه ، ثم راقب هل يتم البيانات المطلوبة بصورة سليمة فى الجدول tbl_Avoid_Dates أم لا فاذا اكنت الخطوة الاولي بها مشكلة فسيتضح ذلك ثم انتقل الي الثانية و هي حساب الرقم المطلوب و راجعها و هكذا او طرح سؤال مباشر عن المطلوب ، اما كتشاف الخطأ فى برنامج لا تعرفه فهو من الصعوبة بمكان و يمكنك تسهيله عن طريق تعديل السؤال او التوضيح
كريمو2 قام بنشر أبريل 6, 2015 الكاتب قام بنشر أبريل 6, 2015 (معدل) السلام عليكم أخي الكريم المشكلة فى طريفة طرح السؤال بالنسبة لك البرنامج واضح و مفهوم و لكنه ليس كذلك بالنسبة للاخرين فلكي يستطبيع احد الاجابة عليه أن يفهم البرنامج و كيف يعمل لذا من الافضل طرح سؤال مباشر لا يحتاج لدراسة البرنامج كي يتم الاجابة عليه أقترح استخدام اسلوب التجربة خطوة بخطوة سجل بيانات فى النموذج المشار اليه ، ثم راقب هل يتم البيانات المطلوبة بصورة سليمة فى الجدول tbl_Avoid_Dates أم لا فاذا اكنت الخطوة الاولي بها مشكلة فسيتضح ذلك ثم انتقل الي الثانية و هي حساب الرقم المطلوب و راجعها و هكذا او طرح سؤال مباشر عن المطلوب ، اما كتشاف الخطأ فى برنامج لا تعرفه فهو من الصعوبة بمكان و يمكنك تسهيله عن طريق تعديل السؤال او التوضيح وعليكم السلام أستاذي الكريم محمد طاهر اتشرف بوضع بصمات أناملك على موضوعي وشكرا على تعديلك للموضوع الذي لربما لم يفهمه من يريد مساعدتي في الحقيقة كنت قد نوهت في بداية الموضوع الى المساعدة ولا احد من الأستاذة قام بالرد سوى بالمساعدة او بالنصيحة ولكنك الوحيد الذي تفضلت بذالك فشكرا لك ودمت ذخرا وسندا لإخوانك اما بخصوص مشكلة البرنامج وهي : قبل إضافة الحدث في frm_Avoid_Dates كان البرنامج يعمل عاديا وبصفته منتظمة ولكن عند أدخال هذا التعديل عليه اصبح يوقف الإقتطاع الشهري الذي هو المطلوب ولكن يزيد في مبلغ القرض هذا غير مطلوب مثلا : كريمو 01 لديه قرض مالي خلال شهر يناير 2015 بمبلغ 20.000.00 دج اول إقتطاع له شهر فيفري 2015 لمدة 10 أشهر اي الى غاية نوفمبر 2015 هذا الأخير قام في شهر أفريل مثلا بطلب توقيف إقتطاع القرض لمدة شهرين ولتكن أفريل وماي 2015 يعني الإقتطاع تم خلال شهر فيفري ومارس وبقيت له 08 أشهر بداية الإقتطاع الثاني من شهر جوان 2015 الى غاية شهر جانفي 2016 هذا يعني ان شهر ديسمبر2015 و جانفي 2016 أشهر زيادة تعويضات عن شهري أفريل وماي 2015 المشكلة هنا هي زيادة مبلغ قيمة توقف الإقتطاع الى مبلغ القرض الرسمي اي زيادة مبلغ 4.000.00 الى مبلغ القرض وكلما يتم التوقيف اكثر تتم الزيادة أكثر في مبلغ القرض فمثالنا هذا : مبلغ القرض 20.000.00 والتوقف شهرين اصبح المبلغ 24.000.00 وهذا هو الخطأ الذي طلبت معالجته آمل اني قد وفقت ثانيا في طرح مشكلتي ولكم واسع النظر تم تعديل أبريل 6, 2015 بواسطه كريمو2
محمد طاهر عرفه قام بنشر أبريل 6, 2015 قام بنشر أبريل 6, 2015 السلام عليكم أخي الكريم إن الحقل المشار الي حسابه بالخطأ يتم حسابه عن طريق Sub Calculate_total_modan() حيث txtToalModan = SSS_Cridi + SSS_ElectroMeng + SSS_OtherDiscount و تحسب بالمعادلة التالية SSS_Cridi = SELECT SUM((dateDiff( 'm' , IIF (CDATE('01-01-15') > DiscountStartDate, CDATE('01-01-15'), DiscountStartDate) ,CDATE(format(format(DiscountEndDate , 'yyyyMM') & Day(DateSerial(Year(DiscountEndDate), Month(DiscountEndDate) + 1, 0)) , '####/##/##'))) + 1 ) * DiscountPerMonth) AS SSS_Cridi FROM Cridi WHERE Cridi.EmployeeID = 1 AND CDATE('01-01-15') < DiscountEndDate AND DiscountStartDate IS NOT NULL AND DiscountEndDate IS NOT NULL لم أفهم صراحة من أين يجب ان تفتج هذا النموذج Frm_Kassem_months عند تشغيل البرنامج هل هذا البرنامج من إعدادك ؟ أم تحاول التعديل فيه ؟
كريمو2 قام بنشر أبريل 6, 2015 الكاتب قام بنشر أبريل 6, 2015 (معدل) السلام عليكم أخي الكريم إن الحقل المشار الي حسابه بالخطأ يتم حسابه عن طريق Sub Calculate_total_modan() حيث txtToalModan = SSS_Cridi + SSS_ElectroMeng + SSS_OtherDiscount و تحسب بالمعادلة التالية SSS_Cridi = SELECT SUM((dateDiff( 'm' , IIF (CDATE('01-01-15') > DiscountStartDate, CDATE('01-01-15'), DiscountStartDate) ,CDATE(format(format(DiscountEndDate , 'yyyyMM') & Day(DateSerial(Year(DiscountEndDate), Month(DiscountEndDate) + 1, 0)) , '####/##/##'))) + 1 ) * DiscountPerMonth) AS SSS_Cridi FROM Cridi WHERE Cridi.EmployeeID = 1 AND CDATE('01-01-15') < DiscountEndDate AND DiscountStartDate IS NOT NULL AND DiscountEndDate IS NOT NULL لم أفهم صراحة من أين يجب ان تفتج هذا النموذج Frm_Kassem_months عند تشغيل البرنامج هل هذا البرنامج من إعدادك ؟ أم تحاول التعديل فيه ؟ اهلا وسهلا استاذي الكريم البرنامج هو من اعدادي ولكن تمت تعديلات من طرف الأستاذ حسام الشامي وخاصة في هذا الفورم Frm_Kassem_months ولكن استاذي العزيز البرنامج إذا حذفت منه التعديلات التي اشرت لها في البداية يعمل البرنامج عادي وبصفة منتظمة ويتم الإقتطاع بإنتظام من البداية الى النهاية وبإمكانك تجربة ذالك من الفورم FrmCridi الى الفورم FrmDiscountReport ثم على التقارير rptDiscount و rptDiscountDetail للعلم ان هذا النموذج Frm_Kassem_months هو بمثابة للتوضيح ليس الا الشيء المهم هو في نموذج الإقتطاعات الشهرية FrmDiscountReport المستمد من الإستعلامات من qry_rptD_1 الى qry_rptD_6 ومن qry_rptDD_1 الى qry_rptDD_4 و qryDiscountReport و qryDiscountReport_ALL و qryDiscountReport_Contract و qryDiscountReport_OLD تم تعديل أبريل 6, 2015 بواسطه كريمو2
محمد طاهر عرفه قام بنشر أبريل 6, 2015 قام بنشر أبريل 6, 2015 إن التعديل الذي أشرت اليه لا يفعل أي شيء سوى اضافة سجلات فى جدول tbl_Avoid_Dates و تسجيل معلومتان فى نموذج آخر Forms!FrmElec!FrmElec_sub!txtn1 = DateAdd("m", I, Forms!FrmElec!FrmElec_sub!txtn1) Forms!FrmElec!FrmElec_sub!Obsérvation = Forms!FrmElec!FrmElec_sub!Obsérvation & " >> " & _ "ÊÃÎíÑ ÇáÏÝÚ " & I & " ÇÔåÑ" و صراحة مازلت أواجه صعوبة فى التعامل مع منطق البرنامج و الحركة فيه بسهولة ـ و معرفة ما يعتبرنتائج سليمة من عدمه ، فموضوع التقسيط والحسابات بعيد عني الي حد ما هل تريد القول اذا ازلت الكود الموجود فى نموذج frm_Avoide_dates و شغلت البرنامج تكون كل النتائج سليمة؟ أرجو تفريغ الجدول المسمي tbl_Avoid_Dates من السجلات به و بيان هل النتائج تصبح كما ترغب ام لا ؟
كريمو2 قام بنشر أبريل 6, 2015 الكاتب قام بنشر أبريل 6, 2015 (معدل) إن التعديل الذي أشرت اليه لا يفعل أي شيء سوى اضافة سجلات فى جدول tbl_Avoid_Dates و تسجيل معلومتان فى نموذج آخر Forms!FrmElec!FrmElec_sub!txtn1 = DateAdd("m", I, Forms!FrmElec!FrmElec_sub!txtn1) Forms!FrmElec!FrmElec_sub!Obsérvation = Forms!FrmElec!FrmElec_sub!Obsérvation & " >> " & _ "ÊÃÎíÑ ÇáÏÝÚ " & I & " ÇÔåÑ" و صراحة مازلت أواجه صعوبة فى التعامل مع منطق البرنامج و الحركة فيه بسهولة ـ و معرفة ما يعتبرنتائج سليمة من عدمه ، فموضوع التقسيط والحسابات بعيد عني الي حد ما هل تريد القول اذا ازلت الكود الموجود فى نموذج frm_Avoide_dates و شغلت البرنامج تكون كل النتائج سليمة؟ أرجو تفريغ الجدول المسمي tbl_Avoid_Dates من السجلات به و بيان هل النتائج تصبح كما ترغب ام لا ؟ لا أستاذ من غير ازالة الكود يعمل البرنامج عادي اذا دخلنا على الفورم FrmCridi وخصصنا مربع التحرير والسرد في القرض وعملنا له قرض 2 مثلا يظهر Msbox يطالبك بتسجيل تاريخ القرض اعمل لا ترى في الملاحظات نزعت كلمة >> تأخير الدفع 2 اشهر وبقيت قرض 2 لوحدها من هنا يشتغل البرنامج عادي لا داعي الى المسح في الجدول الذي اشرت اليه للتاكيد ادخل على الفورم Frm_kassem_months ولاحظ النتيجة تم تعديل أبريل 6, 2015 بواسطه كريمو2
محمد طاهر عرفه قام بنشر أبريل 7, 2015 قام بنشر أبريل 7, 2015 راجع الحدول ElectromechEng قبل و بعد تنفيذ الترحيل هل من المتفرض وجود هذه القيمة به؟ ايضا النسخة الحالية من الملف كافة الازرار بها لا تعمل معي ، و لابد من الفتح لمل منها على حدة اليس من المفترض ان تفتح هذه النماذح و القارير من الفورم الرئيسي FrmCridi لكي تسهل عملية الاختبار
كريمو2 قام بنشر أبريل 7, 2015 الكاتب قام بنشر أبريل 7, 2015 (معدل) السلام عليكم اخي محمد طاهر الجدول ElectroMeng هو خاص بالأدوات الكهرومنزلية وتنطبق عنه كما في القروض له مبلغ مالي وبه قسط شهري ويقتطع حسب تاريخ البداية والنهاية لمدة 10 اشهر اما بخصوص الأزرار التي لاتعمل هاهي نسخة من البرنامج على أكسس 2003 على فكرة استاي اليست المشكلة في النموذج الفرعي FrmCridi_sub وخاصة عند الحدث في مربع النص DiscountStartDate 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 Private Sub DiscountStartDate_AfterUpdate() Call UpdateEndData End Sub ma.2015.rar تم تعديل أبريل 7, 2015 بواسطه كريمو2
jjafferr قام بنشر أبريل 7, 2015 قام بنشر أبريل 7, 2015 السلام عليكم ورحمة الله وبركاته أخي كريمو الثاني وأستاذنا الفاضل محمد طاهر أسمحوا لي ان ادلوا بدلوي 1. القيت نظرة على كود النموذج Frm_kassem_months ، ولم استطع تفكيكه (في الواقع ما دوخت راسي في تفكيكه ) ، ولما رأيت ان المشكلة هي في إضافة مبالغ الاشهر المحذوفة ، رأيت ان الافضل ان اترك الكود كما هو ، وفي النهاية اجمع قيمة مبالغ الاشهر المحذوفة ، ثم اطرحها من المجاميع (رجاء المتابعة وملاحظة النتيجة في #4 في الاسفل) ، 2. أضفت حقل جديد للجدول tbl_Avoid_Dates ، اسميته DiscountPerMonth وهو الاقتطاع الشهري (حيث لاحظت ان كل استقطاع يكون له قيمته الخاصة) ، 3. فاصبح النموذج frm_Avoid_Dates يأخذ قيمة هذا الحقل من النموذج الفرعي FrmCridi_sub من الحقل DiscountPerMonth ، ثم يحفظه في الجدول tbl_Avoid_Dates ، في الحقل DiscountPerMonth. 4. (تابع من #1) في النموذج Frm_kassem_months ، في الحدث الحالي ، كتبت الكود لجمع مبالغ الاشهر المحذوفة ، وحساب عدد الاشهر المحذوفة (لا علاقة لها هنا ، ولكن قد يستفاد منها في مكان آخر) ، وثم طرح المجوعين لنحصل على المجموع الاصل (اي المجموع الذي لم يغيره الاشهر المحذوفة): 'lets check if this Employee have a void dates vTotal_Amounts = Nz(DSum("[DiscountPerMonth]", "tbl_Avoid_Dates", "[Name_ID]= " & Me.txtEmployeeID), 0) vTotal_Months = Nz(DCount("*", "tbl_Avoid_Dates", "[Name_ID]= " & Me.txtEmployeeID), 0) txtToalModan = SSS_Cridi + SSS_ElectroMeng + SSS_OtherDiscount - vTotal_Amounts txtBagi = Nz([txtToalModan], 0) - Nz(txtToalMonthsDiscount, 0) بعبارة أخرى ، من الصعب تغيير الكود الاصلي ، فنستطيع بواسطة حساب معلومات الاشهر المحذوفة من الجدول frm_Avoid_Dates ، واستعمالها في الاماكن التي تحتاج الى تضبيط قد لا تكون هذه الطريقة محبذة ، لأننا يجب ان نستعملها في التقارير كذلك ، ولكن ، اذا لم نستطع تغيير الكود الاصلي ، فنستطيع التحايل عليه جعفر 1
كريمو2 قام بنشر أبريل 8, 2015 الكاتب قام بنشر أبريل 8, 2015 اخي جعفر بارك الله فيك صراحة مافهمت شيئا مما ذكر اعلاه وهذا الكود اين يوضع 'lets check if this Employee have a void dates vTotal_Amounts = Nz(DSum("[DiscountPerMonth]", "tbl_Avoid_Dates", "[Name_ID]= " & Me.txtEmployeeID), 0) vTotal_Months = Nz(DCount("*", "tbl_Avoid_Dates", "[Name_ID]= " & Me.txtEmployeeID), 0) txtToalModan = SSS_Cridi + SSS_ElectroMeng + SSS_OtherDiscount - vTotal_Amounts txtBagi = Nz([txtToalModan], 0) - Nz(txtToalMonthsDiscount, 0) والسؤال : هل مستحيل ان نصل الى حل ام كيف ؟
كريمو2 قام بنشر أبريل 8, 2015 الكاتب قام بنشر أبريل 8, 2015 على فكرة وضعت الكود في الفورم Frm_kassem_months عند حدث في الحالي ولكن بقيت دار لقمان على حالها مشكلة الزيادة بقيت كما في الصورة
كريمو2 قام بنشر أبريل 8, 2015 الكاتب قام بنشر أبريل 8, 2015 أساتذتي الكرام إذا وجدتم صعوبات في التعديل على البرنامج وحل المشكلة فرجاءا مساعدتكم بشتى الطرق الأخرى المهم انكم عرفتم البرنامج كيف يعمل وما أطلبه واي سؤال انا تحت أمركم للتوضيح واني واثق انه فيه 1000 حل ملاحظة : ليس بالضرورة الحفاظ على الفورم Frm_kassem_months المهم فورمات اخرى توصل لنفس الهدف
jjafferr قام بنشر أبريل 8, 2015 قام بنشر أبريل 8, 2015 أخي كريمو رجاء ملاحظت بيانات كريمو17 في النموذج FrmCridi و تلاحظ بياناته الجدول tbl_Avoid_Dates ، ثم تفتح النموذج Frm_kassem_months وتقارن النتائج. هذه مرحلة اولى ، فلذلك لم نغير سوى المجاميع ، ولم نتطرق للأشهر ، فاذا عبرنا هذه المرحلة ، فسننتقل الى المرحلة التي تليها. انا تركت لك وحدة نمطية بالنسبة للأشهر ، فهي تدقق في الجدول tbl_Avoid_Dates باسم EmployeeID ، واذا عنده عفو ، فانها لا تسمح بظهور الاسم في ذلك الشهر ، انظر الى هذا المثال ، وتستطيع نسخ الحقل لجميع التقارير التي لها علاقة بالسداد: جعفر 11.1.2015.March.accdb.zip
كريمو2 قام بنشر أبريل 8, 2015 الكاتب قام بنشر أبريل 8, 2015 أساتذتي لقد بسطت البرنامج وتم حذف النموذج المعقد Frm_kassem_months اولا : الأن مازالت الزيادة الا في الشهر الأول من الإقتطاع فقط في التقرير rptDiscountDetail نلاحظ حسب الصورة للعلم أن Remaining هي باقي الإقتطاعات Remaining: (Nz((SELECT SUM(nz((dateDiff( 'm' , IIF (([Forms]![FrmDiscountReport]![txtMonth] ) < DiscountStartDate, DiscountStartDate , ([Forms]![FrmDiscountReport]![txtMonth] )) FrmDiscountReport.rar
كريمو2 قام بنشر أبريل 8, 2015 الكاتب قام بنشر أبريل 8, 2015 (معدل) شكر لك أخي جعفر لقد تمعنت بالمرفق ولقيت فيه هذه الملاحظات إذا ماوجت حل إرجع للمشاركة رقم 19 ربما التعديل يكون فيها اسهل تم تعديل أبريل 8, 2015 بواسطه كريمو2
محمد طاهر عرفه قام بنشر أبريل 11, 2015 قام بنشر أبريل 11, 2015 السلام عليكم أقترح أن تتعب قليلا و تحصر المشكلة بوضوح فى ملف مبسط يحوي فقط ما له علاقة بالمشكلة و الجداول الخاصة و الحقول ذات العلاقة فقط ، و نموذج او اثنين مع التوضيح بصورة اكبر وتبعدنا على التطبيق نفسه و ما فيه و اعتقد انه بهذه الخطوة سيسهل التفاعل و تتسع دائرة المشاركة عن نفسي اعتذر عن محاولة التفاعل فى التطبيق الحالى مباشرة و قد سبق و حاولت و لكنه بالنسبة لي مازال غير واضح و أعتذر عن الاستمرار فى التفاعل بشأنه. و في نفس الوقت أتمني أن ييسطيع الأخ جعفر الوصول معك لما تريد ، أو أي من الأخوة الأفاضل.
كريمو2 قام بنشر أبريل 11, 2015 الكاتب قام بنشر أبريل 11, 2015 شكر لك استاذ هاهو المرفق مبسط ومرفق بالصورة مع العلم اني تركت موظف واحد فقط وهو كريمو1 لديه قرض مالي بقيمة 20.000.00 خلال شهر فيفري 2015 - اول خصم 2015/03/01 بمبلغ 2000.00 الباقي 18.000.00 - 2015/04/01 معفى من الخصم الباقي كما هو في شهر مارس - ثاني خصم 2015/05/01 بمبلغ 2000.00 الباقي 16.000.00 - اخر خصم 2016/01/01 بمبلغ 2000.00 الباقي 0.00 آمل ان اجد مساعدة عن قريب FrmDiscountReport.rar
jjafferr قام بنشر أبريل 12, 2015 قام بنشر أبريل 12, 2015 السلام عليكم أخي كريمو قيمة Remaining في التقرير rptDiscountDetail تعتمد على الاستعلام qry_rptD_1 ، والقيمة في الاستعلام qry_rptD_1 تعتمد على الاستعلام qryDiscountReport ، ولما حاولت افكك قيمة الحقل Remaining ، لم افلح ياريت تفكه لي وتخليه يشتغل بنفسه كإستعلام. وانت تستخدم هذه الطريقة في الكثير من استعلاماتك ، يعني استعلام داخل استعلام ، صحيح تقوم بالعمل ، ولكن تعديلها يتطلب مجهود كبير فالافضل انك تعمل استعلام عادي ، وتستخدم هذا الاستعلام لأي استعلام آخر ... ، وهكذا ، مما يجعل التعديل ابسط بكثير جعفر
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.