محمدصافي قام بنشر مارس 30, 2005 قام بنشر مارس 30, 2005 في البداية اود تحية القائمين علي هذا المنتدي الرائع وانا سعدت جدا بالمنتدي لما وجدتة فيه من تنظيم وموضوعات وردود تثلج الصدور (y) مشكلتي تتلخص في الاتي عندي جدولين بالاول بيانات القرض ومن ضمن هذه البيانات عدد الاقساط التي سيسدد بها القرض وفي الجدول الثاني تفاصيل عملية السداد من حيث التاريخ وامور اخري وضعت نموذج (للجدول الاول ) به نموذج مستمر(لوضع ترتيب عملية السداد اقتصرت فيه علي حقل الرقم (NO) وباقي البيانات تستنتج من هذا الرقم بواسطة الاستعلام فهل من الممكن بعد معرفة عدد الاقساط في الجدول اضافة ارقام مرتبه في حقول الجدول الثاني تنتهي بالرقم الاخير المساوي بالطبع لعدد الاقساط بمعني انه اذا كانت عدد الاقساط 60 قسط مثلا (تحدد في الجدول الاول او الثاني متفرقش عندي ) يتم اتوماتكيا اضافية ارقام 1 في NO الاول و 2 في الي بعده وهكذا حتي الرقم 60 ارجو ان وفقت في الشرح السابق للمشكلة الي واقع فيها وانت فاهم طبعا ان البديل اني ااضع هذه الارقام يدويا تخيل ودي رابط للفيل المقصود http://www.arabmoheet.net/forum/topic.asp?topic_no=1599 للفيل http://www.arabmoheet.net/forum/download.asp?topic_no=1599
امير عاطف قام بنشر مارس 31, 2005 قام بنشر مارس 31, 2005 يمكنك عمل ذلك بعمل Append Query - استعلام الإلحاق داخل دوارة loop
محمدصافي قام بنشر مارس 31, 2005 الكاتب قام بنشر مارس 31, 2005 حياك الله اخي امير بعد اذنك انا في حاجة لمزيد توضيح او مثال مشابه ان امكن وجزاك الله خيرا علي الاهتمام
امير عاطف قام بنشر مارس 31, 2005 قام بنشر مارس 31, 2005 نفترض أن لديك جدولين .. جدول Main ومسجل به (*الإسم *عدد الأقساط) حيث الإسم هو الـمفتاح الأساسي Primary Key جدول Detail ومسجل به (*الاسم *مبلغ القسط *التاريخ *رقم القسط) حيث الاسم هنا هو المفتاح الغريب مع المفتاح الأساسي بالجدول السابق فيكون الحل بالكود التالي حيث : -------- c هو عدد الأقساط name هو الاسم frmname هو نموذج ادخال البيانات num هو رقم القسط If Nz(c) < 1 Then MsgBox "يجب وضع عدد الأقساط أولاً", vbCritical, "Officena" c.SetFocus Exit Sub Else DoCmd.SetWarnings False For counter = 1 To Me.c DoCmd.RunSQL "INSERT INTO detail ( num, name ) SELECT nz(DMax('num','detail','name=forms!frmmain!name'))+1 AS Expr1, [forms]![frmmain]![name] AS Expr2;" Next counter DoCmd.SetWarnings True Me.Refresh End If
امير عاطف قام بنشر مارس 31, 2005 قام بنشر مارس 31, 2005 تفضل المثال التطبيقي على ذلك لتجرب بنفسك TestLoanAmeer.rar
محمدصافي قام بنشر أبريل 2, 2005 الكاتب قام بنشر أبريل 2, 2005 الاستاذ الفاضل امير عاطف لساني يعجز عن الشكر وهو يلهث بالدعاء لله تعالي ان يجزيك خير الجزاء هو ولي ذلك والقادر عليه تمام كدة يااميرنا بس ملحوظه صغيرة جدا جدا وهي عندما يتم الضغط علي الزر مرة اخري يضيف نفس العدد مرة اخري يعني يصبح 120 بعد ماكان المطلوب 60 فاذا امكن جعلها داله عامة يبقي افضل بكتير بحيث اذا اضيف العدد في حقل عدد الاقساط تتم الاضافة مباشرة واذا حدث اي تغيير فيه يتم التغيير مباشرة بهذة الصورة يكون الكود اكثر فاعلية وانا حاولت اعمله وللاسف فشلت (y)
امير عاطف قام بنشر أبريل 2, 2005 قام بنشر أبريل 2, 2005 If Nz(c) < 1 Then MsgBox "يجب وضع عدد الأقساط أولاً", vbCritical, "Officena" c.SetFocus Exit Sub Else DoCmd.SetWarnings False For counter = 1 To Me.c DoCmd.RunSQL "DELETE detail.name, detail.name FROM detail WHERE (((detail.name)=[forms]![frmmain]![name]));" DoCmd.RunSQL "INSERT INTO detail ( num, name ) SELECT nz(DMax('num','detail','name=forms!frmmain!name'))+1 AS Expr1, [forms]![frmmain]![name] AS Expr2;" Next counter DoCmd.SetWarnings True Me.Refresh End If
محمدصافي قام بنشر أبريل 3, 2005 الكاتب قام بنشر أبريل 3, 2005 والله العظيم اخجلتني بكرم اخلاقك وذوقك العالي اميرنا الغالي (y) الكود السابق جربة وللاسف فهو يقوم بالالغاء يعني يلغي الارقام المضافة الموجودة مسبقا في الجدول ولايبقي منها علي شئ :')
امير عاطف قام بنشر أغسطس 30, 2005 قام بنشر أغسطس 30, 2005 On Error Resume Next If Nz(c) < 1 Then MsgBox "يجب وضع عدد الأقساط اولاً", vbCritical, "Officena" c.SetFocus Exit Sub Else DoCmd.SetWarnings False For counter = 1 To (Me.c - DCount("name", "detail", "name=forms!frmmain!name")) DoCmd.RunSQL "INSERT INTO detail ( num, name ) SELECT nz(DMax('num','detail','name=forms!frmmain!name'))+1 AS Expr1, [forms]![frmmain]![name] AS Expr2;" Next counter DoCmd.SetWarnings True Me.Refresh End If
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.