مصطفى القمّاش قام بنشر يونيو 8, 2013 قام بنشر يونيو 8, 2013 (معدل) السلام عليكم اواجه مشكلة صعبة ظللت اسبوعين احاول لمدة 8 ساعات يوميا .........ان احلها ولكنى لم افلح ------------------------------------------------------------------------------------- هذا جزء خاص من برنامجى خاص بالسلف وفكرته تعتمد على ان كل موظف يقوم بعمل سلفه تأخذ رقم advance No مثلا(1) والسلفة التالية اعطيها رقم مثلا (2) ثم فى نموذج فرعى اخر يظهر عدد الشهور التى تم سدادها وهنا اريد عند جمع عدد الشهور المدفوعه لكل سلفة لنفس الموظف ان يتم ترحيلها وكذلك الحال لباقى القيم التالية بمعنى ادق اريد ترحيل قيم الحقول التالية من النموذج الفرعى advance22 subform وهى : Text22 ...................... قيمة الاقساط المدفوعة Text35 ..................... عدد الاقساط Text15...................... المبلغ المتبقى من السلف Text26 .................... قيمة القسط الشهرى يتم ترحيلها الى حقول الجدول advancepay وهى : totalpay ............... *قيمة الاقساط المدفوعة* Noofpay .............. *عدد الاقساط* remainingadvance ..................... *المبلغ المتبقى من السلف* monthlypay ..................... *قيمة القسط الشهرى* ملحوظة هامة جدا جدا جدا ................. للعلم ان قيم النموذج الفرعى advance22 subform الحسابية تتغير بادخال شهر سداد جديد وهنا اريد ان يتم ترحيل البيانات وتحديثها باستمرار عند اضافة شهر سداد جديد حيث تتغير جميع القيم السابقة للحقول فى النموذج الفرعى وبالتالى اريد تحديثها فى حقول الجدول باستمرار """"ارجوا مساعدتى قدر المستطاع لاننى متوقف فى برنامجى على هذا الجزء ......""""" ولسيادتكم جزيل الشكر advance.rar تم تعديل يونيو 8, 2013 بواسطه nemo_cute 2
ابوخليل قام بنشر يونيو 8, 2013 قام بنشر يونيو 8, 2013 بعد الاطلاع على المثال تبين ان الحقول المراد ترحيلها هي حقول محسوبة غير منضمة . وان النموذج الفرعى advance22 subform مصدر سجلاته هو الجدول advancepay عبر الاستعلام advance22 لذا للترحيل او ما اسميته بالتحديث يمكنك تطبيقه عند حدث اضافة شهر جديد أو حدث تسديد شهر جديد والكود سيكون كالتالي : totalpay=Text22 Noofpay=Text35 remainingadvance=Text15 monthlypay=Text26 1
مصطفى القمّاش قام بنشر يونيو 8, 2013 الكاتب قام بنشر يونيو 8, 2013 (معدل) للاسف انا جربت هذة الطريقة ولكن المشكلة ان عند اضافة شهر جديد يتم تحديث اخر سجل للشهر لذا يجب على الرجوع للاشهر السابقة كى احدثها انا اريد فكرة مثل طريقة "requery" التى تحدث البيانات ولكن تزال المشكلة موجودة اذ يجب على ان احدث كل الشهور السابقة وبعد البحث وجدت طريقة "Append Query " ولكن فشلت ايضا فى تطبيق الطريقة على المثال المرفق اوضح اكثر هناك طريقة الترحيل بالنسخ ولكن هذة الطريقة تحدث اخر سجل وعند العودة للشهور السابقة اجد العمليات الحسابية غير صحيحة لذا يلزم على تحديث كل شهر من الشهور السابقة فى كل مرة اضيف فيها شهر جديد تم تعديل يونيو 8, 2013 بواسطه nemo_cute
ابوخليل قام بنشر يونيو 9, 2013 قام بنشر يونيو 9, 2013 اذ يجب على ان احدث كل الشهور السابقة لماذا ؟؟ هذه امور مالية يجب ان تكون ثابتة وضح واشرح طريقة عمل البرنامج ؟ و لماذا تريد تحديث الشهور السابقة ؟ ربما نجد لك طرق اخرى للتنفيذ
مصطفى القمّاش قام بنشر يونيو 9, 2013 الكاتب قام بنشر يونيو 9, 2013 احاول التوضيح ........ النموذج ينقسم الى 3 نماذج ..... النموذج الرئيسى .............. وفيه بيانات الموظف الثابته الكود والاسم والوظيفة وهو مستمد من جدول slalary sheet1 النموذج الفرعى "advance11 subform" ............. وفيه بيانات السلف للموظف مثل رقم السلف وتاريخ السلفة والقيمة الشهرية التى تدفع من السلفة ...وهو مستمد من الاستعلام advance11 النموذج الفرعى "advance22 subform" ............. وفيه عدد الشهور المدفوع للسلفة ومرتبط برقم السلفة ..... وفيه ايضا حساب عدد الشهور المدفوعة وحساب القيمة الشهرية وحساب المبلغ الاجمالى للشهور المدفوعة للسلف حسب رقمها وفيه ايضا حساب المبلغ المتبقى من السلفة والمشكلة انه عند ادخال تاريخ سداد لشهر من السلفة فى النموذج الفرعى advance22 subform يجب ان يحسب "بمعنى يقوم بعمليات حسابية" عدد الشهور الشهور المدفوعة للسلفة - القيمة الاجمالية للمدفوع من السلفة - والقيمة المتبقية من السلفة ......... على ان يتم ترحيل هذة القيم الى الحقول فى جدول advancepay المستمد منه الاستعلام الذى بنى عليه النموذج الفرعى advance22 subform ...... ولكن عند ادخال شهر جديد لسداد قسط لا تتغير القيم فى العمليات الحسابية فى النموذج الفرعى advance22 subform الا اذا اغلقت النموذج وفتحته مرة اخرى ..... وايضا لا يتم ترحيل ترحيل القيم الحسابية الى حقول الجدول advancepay المطلوب الترحيل اليها ....... واذا استخدمت دول النسخ يتم تحديث اخر سجل فقط ........ عموما الافضل ان تحاول ان تجرب المثال بنفسك ........ وادخال سلفة ثم ادخال اقساطها وستلاحظ ما قلته سابقا مرفق صورة للتوضيح ونسخة من المثال advance1.rar
مصطفى القمّاش قام بنشر يونيو 9, 2013 الكاتب قام بنشر يونيو 9, 2013 القيم فى النموذج الفرعى advance22 subform هى نتاج عمليات حسابية فى النموذج وهى تتغير كلما اضفت تاريخ سداد قسط جديد للسلفة وبالتالى عند تغيرها اريد ترحيل هذة التغيرات مرة اخرى للجدول advancepay Text22 ...................... قيمة الاقساط المدفوعة Text35 ..................... عدد الاقساط Text15...................... المبلغ المتبقى من السلف Text26 .................... قيمة القسط الشهرى يتم ترحيلها الى حقول الجدول advancepay وهى : totalpay ............... *قيمة الاقساط المدفوعة* Noofpay .............. *عدد الاقساط* remainingadvance ..................... *المبلغ المتبقى من السلف* monthlypay ..................... *قيمة القسط الشهرى*
ابوخليل قام بنشر يونيو 9, 2013 قام بنشر يونيو 9, 2013 الى الآن لم اصل الى فهم عمل البرنامج والذي اعرفه ان الاقساط تسدد في جدول وتبقى فيه اي لا ترحل ومن هذا الجدول يتم الاستعلام عن كل شيء عن الاقساط المسددة .. والمتبقية ... ومجموع ما تم تسديده ... والمجاميع الكلية .. انظر هنا عمل لاخينا الكريم اشرف فقد تجد افكارا ومنحنيات جديدة تستفيد منها لتنفيذ مشروعك http://www.officena.net/ib/index.php?showtopic=47114#entry283211
مصطفى القمّاش قام بنشر يونيو 9, 2013 الكاتب قام بنشر يونيو 9, 2013 اخى ابو خليل حفظك الله ....... اعلم انى قد اثقلت عليك ولكن اوضح مرة اخرى بمثال قم بفتح المثال المرفق .... وافتح نموذج advance1 ستجد كود الموظف 1"" ...... والاسم "كريم" فى النموذج الفرعى advance11 subform كريم اخذ سلفة برقم سلفة "1" وكانت قيمة مبلغ السلفة 5000 جنيها وسيتم سدادها على 10 شهور فقام البرنامج بحساب قيمة القسط الشهر وهو 500 جنيها فى النموذج الفرعى advance22 subform نبدأ فى ادخال شهور السداد ....... لكى تتم العمليات الحسابية المفروض عند ادخال شهر سداد يتم حساب كل القيم الحسابية وهى عدد الاقساط المدفوعة وقيمة القسط واجمالى شهور الاقساط المدفوعة والمتبقى من قيمة السلفة على ان يتم ترحيل هذة القيم الحسابية فى النموذج الى الحقول فى الجدول المشار اليه ولكن عند التنفيذ وادخال شهر بعد شهر يجب تحديث كل الشهور السابقة كل ما ارجوه منك حاول ان تدخل 5 شهور سداد ولا حظ ما يحدث
ابوخليل قام بنشر يونيو 10, 2013 قام بنشر يونيو 10, 2013 اخي الكريم لك من دعوة طيبة هنا http://www.officena.net/ib/index.php?showtopic=41520
ابوخليل قام بنشر يونيو 10, 2013 قام بنشر يونيو 10, 2013 اخي رعاك الله لم استطع فهم ما تريد الذهاب اليه لانه لا يتصور اجراء تعديل على سجلات مالية سابقة وحيث اني تمعنت في مثالك فوجدت ان هناك ملاحظات داخل الجداول لذا ارى ان نأخذ المسألة جزأ جزأ من البداية وارى استخدام النماذج منفردة منفصلة عن بعضها حتى تصل الى مبتغاك ومطلوبك ثم بعد ذلك لك حرية التصرف ولتكن بدايتك من نموذج اعداد السلفة بجدول السلف بادخال قيمة السلفة وعدد الشهور وقيمة القسط الشهري وتاريخ بداية التسديد فهذه ثوابت لا بد من تقييدها في الجدول وهناك نقطة اراك اغفلتها وهي توليد تواريخ الدفعات لتبقى ثابتة في جدول الدفعات لا تزيد ولا تنقص (ويمكنك الاستغناء عن ذلك ان اردت المسألة عائمة ) والنموذج الثاني ويرتبط بجدول الدفعات ويتم فيه التسديد ، ويمكننا فيه اظهار الكل او الاقتصار على عرض الشهور غير المسددة وقد يحتوي جدول الدفعات على حقل المتبقي من الدفعة اذا لم يسدد بالكامل ، ولكن من غير المسموح وضع حقول مجاميع اما مسألة عرض حساب كل فرد والاطلاع على ما تم تسديده وكم بقي من الشهور وهل في ذمته متأخرات وغير ذلك فيمكن استنباط هذه المعلومات من الجداول المذكورة وجلبها الى اي نموذج او تقرير نريده اتمنى ان تجد فيما ذكرت فائدة وفقك الله لكل خير
مصطفى القمّاش قام بنشر يونيو 10, 2013 الكاتب قام بنشر يونيو 10, 2013 السلام عليكم ............. اولا اشكرك على دعوة تغيير اسمى على الموقع ..... وتم تغيره الى "مصطفى القمّاش" بدلا من nemo_cute ثانيا ساحاول ان اجدد الافكار وشكرا لك على محاولة مساعدتى واظننى اثقلت عليك جزاك الله خيرا
أبا عمر قام بنشر يونيو 10, 2013 قام بنشر يونيو 10, 2013 (معدل) السلام عليكم ورحمة_ الله_ وبركاته أخي الكريم مصطفى القماش أخي الحبيب وأستاذي الكبير أبو خليل حياكم ربي بعد إذن أستاذي ابو خليل .... أخي الحبيب مصطفى قمت بإدخال 5 أشهر و 6 أشهر واشتغل برنامجك معي تمام كما تريد يقوم بحفظ بيانات القسط الشهري المسجله في حقل monthlypay في جدول advancepay وقام برنامجك بحساب عدد الاقساط وقيمة المدفوع من السلفة والباقي . وإن أحسنت فهم هذه المشاركة من أولها أظن أن سبب المشكلة عندك هي عدم وضعك لقيمة القسط الشهري في حقل monthlypay في النموذج الفرعي advance22 subform حيث تكتفي بالقيمة الموجدوة في حقل Text11 والذي يأخذ قيمة القسط بهذه الطريقة (Forms!advance1![advance11 subform].Form!Expr1 ) كما وضعتها أنت في مصدر عنصر التحكم وإن أحسنت الفهم فلا يوجد تعديل في البيانات المالية السابق إخالها ، كل ما في الأمر هو إدخال بيانات الاقساط الشهرية . لكن أخي الحبيب أرى أن تعيد النظر في بناء البرنامج كما تفضل أستاذي أبو خليل " جزاه ربي عنا خيرا الجزاء " تم تعديل يونيو 10, 2013 بواسطه أبا عمر
مصطفى القمّاش قام بنشر يونيو 10, 2013 الكاتب قام بنشر يونيو 10, 2013 السلام عليكم ...... اولا اشكرك استاذى "أبا عمر" ولكن عندما ارحل القيم الحسابية الى حقول الجدول advancepay باى معادلات نسخ قيم يتضح لك ان الشهور السابقة يجب عليك تحديث القيم الحسابية حضرتك ادخلت بيانات 5 شهور ارجع لاول شهر ستجد ان القيم الحسابية لم تتغير تبعا لاخر تحديث للقيم الحسابية فى اخر شهر بمعنى عندما تصل للشهر الخامس يظهر لك ان عدد الشهور المدخلة 5 ولكن عندما تعود للشهر اللى قابله ستجد ان عدد الشهور 4 واذا رجعت للشهر الثالث ستجد ان عدد الشهور 3 وهكذا بالرغم ان عدد الشهور المدخلة 5 شهور ......والطبيعى ان تكون عدد الشهور 5 على مدار السجلات وما اقصده ان ترحيل البيانات لا يحدث له تحديث على الشهور السابقة ارجو ان اكون اوضحت المشكلة
أبا عمر قام بنشر يونيو 11, 2013 قام بنشر يونيو 11, 2013 (معدل) السلام عليكم ورحمة_ الله_وبركاته أخي الكريم مصطفى ولكن عندما ارحل القيم الحسابية الى حقول الجدول advancepay باى معادلات نسخ قيم يتضح لك ان الشهور السابقة يجب عليك تحديث القيم الحسابية أولا - ترحيل قيمة الحقل المحسوب وتخزينه في جدول أخبرنا أستاذنا أبو خليل بأنه غير صحيح ثانيا - ممكن تقوم بالاستعلام عما تريد عن طريق الدالة Dsum لحساب ما تم دفعه والباقي بدلا من تخزينه ثالثا - إن كنت ممصم على تحديث بيانات الحقول المحسوبه من النموذج الى الجدول فذلك عن طريق إستعلام تحديث مرفق لك الطريقتان : أرجو أن أكون قد أحسنت الفهم ! advance2.rar تم تعديل يونيو 11, 2013 بواسطه أبا عمر
مصطفى القمّاش قام بنشر يونيو 11, 2013 الكاتب قام بنشر يونيو 11, 2013 السلام عليكم .......... اولا اشكرك استاذى "ابا عمر" واشكر استاذى القدير " أبو خليل" على الاهتمام ......... ولكنى وجدت الحل بفضل الله واريد ان افيد به الجميع اولا الفكرة تعتمد ..... مثلا ترحيل البيانات من من حقل Text35 ..................... عدد الاقساط و"هو حقل فى النموذج يقوم بعمليه حسابية فى النموذج" ونتيجته تتغير بإضافة شهور جديدة "تاريخ اقساط جديدة فى الحقل "dateofmonth11" والمطلوب ان يتم ترحيل هذة القيمة الحسابية الى Noofpay .............. *عدد الاقساط* " وهو حقل فى جدول advancepay المراد ترحيل القيم الحسابية المتغيرة اليه" ... ويتم تحديثها باستمرار الحل وبفضل الله .......كالاتى - انا استخدمت كود "Me.Requery" ووضعته فى حدث بعد التحديث للحقل "dateofmonth11" وهو حقل تاريخ الاقساط والذى اريد ان اعد عدد الشهور المدخله فى هذا الحقل ساعدتنى هذة الدالة فى الحصول على قيمة الحقل Text35 ..................... عدد الاقساط ........ بمعنى ادق تحديث العمليات الحسابية فى النموذج فى حينه ....... بدون ان اغلق النموذج او الانتقال للسجل التالى لكى تظهر القيمة الحسابية فيه ..... - ثم انشأت زراستخدمت فيه كودين ........ ووضعته فى حدث GotFocus الكود الاول ان ينسخ قيمة الحقل Text35 ..................... عدد الاقساط ....الى حقل Noofpay .............. *عدد الاقساط* ..... بشرط ان يكون هناك تاريخ فى حقل "dateofmonth11" اللى هو تاريخ الاقساط الكود الثانى فى حالة تحقق تنفيذ الكود الاول ينتقل مباشرة الى السجل التالى "الشهر التالى ........ وينفذ العملية تلقائيا .... وطبعا العملية تتم تلقائيا حتى اصل لاخر سجل بدون تاريخ فلا يتم النسخ الا اذا ادخلت تاريخ وهناك فائدة اخرى للكود Me.Requery حيث تحدث البيانات والقيم الحسابية فى النموذج بالاضافة تنقلنى الى اول سجل وهذة فرصة جيدة فعند استخدام الزر تتم عمليه التحديث على كل السجلات تبعا للمدخلات الشهرية الجديدة وعند ادخل تاريخ فى حقل "dateofmonth11" يتبعه Me.Requery ثم الزر وتصبح عمليه متتالية الحمد لله وبتوفيق الله تم الحل لماذا طلبت هذة الطريقة حتى اضع المستخدم فى وضع تحجيم واقلل من احتمالية الاخطاء لو ادخل البيانات بيده ........ وايضا يمكننى الاستعلام بتقارير مبنية على جدول advancepay بسهولة ودقة اكثر وشكرا جزيلا لمن ساعدونى وافادونى بالافكار حتى وفقنى الله لحل المشكلة
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.