اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

ترحيل بيانات متغيرة من حقول نموذج فرعى الى جدول النموذج الفرعى


الردود الموصى بها

السلام عليكم
اواجه مشكلة صعبة ظللت اسبوعين احاول لمدة 8 ساعات يوميا .........ان احلها ولكنى لم افلح
-------------------------------------------------------------------------------------

هذا جزء خاص من برنامجى خاص بالسلف
وفكرته تعتمد على ان كل موظف يقوم بعمل سلفه تأخذ رقم advance No مثلا(1)  والسلفة التالية اعطيها رقم مثلا (2)
ثم فى نموذج فرعى اخر
يظهر عدد الشهور التى تم سدادها

وهنا اريد عند جمع عدد الشهور المدفوعه لكل سلفة لنفس الموظف ان يتم ترحيلها وكذلك الحال لباقى القيم التالية
بمعنى ادق اريد ترحيل قيم الحقول التالية من النموذج الفرعى  advance22 subform  وهى :

 

Text22 ...................... قيمة الاقساط المدفوعة
Text35 ..................... عدد الاقساط
Text15...................... المبلغ المتبقى من السلف
Text26 .................... قيمة القسط الشهرى

 

يتم ترحيلها الى حقول  الجدول advancepay وهى :

totalpay ............... *قيمة الاقساط المدفوعة*
Noofpay .............. *عدد الاقساط*
remainingadvance ..................... *المبلغ المتبقى من السلف*
monthlypay ..................... *قيمة القسط الشهرى*

ملحوظة هامة جدا جدا جدا .................

للعلم ان قيم النموذج الفرعى advance22 subform الحسابية تتغير بادخال شهر سداد جديد وهنا اريد ان يتم ترحيل البيانات وتحديثها باستمرار عند اضافة شهر سداد جديد
حيث تتغير جميع القيم السابقة للحقول فى النموذج الفرعى وبالتالى اريد تحديثها فى حقول الجدول باستمرار

""""ارجوا مساعدتى قدر المستطاع لاننى متوقف فى برنامجى على هذا الجزء ......"""""
 

ولسيادتكم جزيل الشكر

 

 

advance.rar

تم تعديل بواسطه nemo_cute
  • Like 2
رابط هذا التعليق
شارك

بعد الاطلاع على المثال تبين ان الحقول المراد ترحيلها هي حقول محسوبة غير منضمة .

وان النموذج الفرعى  advance22 subform  مصدر سجلاته هو  الجدول  advancepay  عبر الاستعلام advance22

 

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

والكود سيكون كالتالي :

totalpay=Text22
Noofpay=Text35
remainingadvance=Text15
monthlypay=Text26
  • Thanks 1
رابط هذا التعليق
شارك

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

لذا يجب على الرجوع للاشهر السابقة كى احدثها

 

انا اريد فكرة مثل طريقة "requery" التى تحدث البيانات ولكن تزال المشكلة موجودة اذ يجب على ان احدث كل الشهور السابقة
وبعد البحث وجدت طريقة "Append Query " ولكن فشلت ايضا فى تطبيق الطريقة على المثال المرفق
 

اوضح اكثر
هناك طريقة الترحيل بالنسخ ولكن هذة الطريقة تحدث اخر سجل وعند العودة للشهور السابقة اجد العمليات الحسابية غير صحيحة

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

تم تعديل بواسطه nemo_cute
رابط هذا التعليق
شارك

اذ يجب على ان احدث كل الشهور السابقة

 لماذا ؟؟

 

هذه امور مالية يجب ان تكون ثابتة

 

وضح واشرح طريقة عمل البرنامج ؟ و لماذا تريد تحديث الشهور السابقة ؟

 

ربما نجد لك طرق اخرى للتنفيذ

رابط هذا التعليق
شارك

احاول التوضيح ........

النموذج ينقسم الى 3 نماذج .....

النموذج الرئيسى .............. وفيه بيانات الموظف الثابته الكود والاسم والوظيفة وهو مستمد من جدول slalary sheet1

النموذج الفرعى "advance11 subform" ............. وفيه بيانات السلف للموظف مثل رقم السلف وتاريخ السلفة والقيمة الشهرية التى تدفع من السلفة ...وهو مستمد من الاستعلام advance11

النموذج الفرعى "advance22 subform" ............. وفيه عدد الشهور المدفوع للسلفة ومرتبط برقم السلفة ..... وفيه ايضا حساب عدد الشهور المدفوعة وحساب القيمة الشهرية وحساب المبلغ الاجمالى للشهور المدفوعة للسلف حسب رقمها

                                                                                                                                      وفيه ايضا حساب المبلغ المتبقى من السلفة

والمشكلة انه عند ادخال تاريخ سداد لشهر من السلفة فى النموذج الفرعى advance22 subform يجب ان يحسب "بمعنى يقوم بعمليات حسابية"

عدد الشهور الشهور المدفوعة للسلفة - القيمة الاجمالية للمدفوع من السلفة - والقيمة المتبقية من السلفة  .........  على ان يتم ترحيل هذة القيم الى الحقول فى جدول advancepay

المستمد منه الاستعلام الذى بنى عليه النموذج الفرعى advance22 subform ...... ولكن
عند ادخال شهر جديد لسداد قسط لا تتغير القيم فى العمليات الحسابية فى النموذج الفرعى advance22 subform الا اذا اغلقت النموذج وفتحته مرة اخرى ..... وايضا
لا يتم ترحيل ترحيل القيم الحسابية الى حقول الجدول advancepay المطلوب الترحيل اليها .......

واذا استخدمت دول النسخ يتم تحديث اخر سجل فقط ........

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

 

 

post-27968-0-73532000-1370774787_thumb.j

advance1.rar

رابط هذا التعليق
شارك

القيم فى النموذج الفرعى advance22 subform هى نتاج عمليات حسابية فى النموذج وهى تتغير كلما اضفت تاريخ سداد قسط جديد للسلفة
وبالتالى عند تغيرها اريد ترحيل هذة التغيرات مرة اخرى للجدول advancepay

 

Text22 ...................... قيمة الاقساط المدفوعة
Text35 ..................... عدد الاقساط
Text15...................... المبلغ المتبقى من السلف
Text26 .................... قيمة القسط الشهرى

 

يتم ترحيلها الى حقول  الجدول advancepay وهى :

totalpay ............... *قيمة الاقساط المدفوعة*
Noofpay .............. *عدد الاقساط*
remainingadvance ..................... *المبلغ المتبقى من السلف*
monthlypay ..................... *قيمة القسط الشهرى*

رابط هذا التعليق
شارك

الى الآن لم اصل الى فهم عمل البرنامج

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

عن الاقساط المسددة .. والمتبقية ... ومجموع ما تم تسديده ... والمجاميع الكلية .. 

 

انظر هنا  عمل لاخينا الكريم اشرف فقد تجد افكارا ومنحنيات جديدة تستفيد منها لتنفيذ مشروعك

http://www.officena.net/ib/index.php?showtopic=47114#entry283211

رابط هذا التعليق
شارك

اخى ابو خليل حفظك الله ....... اعلم انى قد اثقلت عليك

ولكن اوضح مرة اخرى بمثال

 

قم بفتح المثال المرفق ....
وافتح نموذج advance1

ستجد كود الموظف 1"" ...... والاسم "كريم"

فى النموذج الفرعى advance11 subform

كريم اخذ سلفة برقم سلفة "1" وكانت قيمة مبلغ السلفة 5000 جنيها وسيتم سدادها على 10 شهور فقام البرنامج بحساب قيمة القسط الشهر وهو 500 جنيها

فى النموذج الفرعى advance22 subform

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

على ان يتم ترحيل هذة القيم الحسابية فى النموذج الى الحقول فى الجدول المشار اليه

ولكن
عند التنفيذ وادخال شهر بعد شهر يجب تحديث كل الشهور السابقة
كل ما ارجوه منك حاول ان تدخل 5 شهور سداد ولا حظ ما يحدث

 

رابط هذا التعليق
شارك

اخي رعاك الله  لم استطع فهم ما تريد الذهاب اليه

لانه لا يتصور اجراء تعديل على سجلات مالية سابقة

وحيث اني تمعنت في مثالك فوجدت ان هناك ملاحظات داخل الجداول لذا ارى ان نأخذ المسألة جزأ جزأ من البداية 

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

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

وهناك نقطة اراك اغفلتها وهي توليد تواريخ الدفعات لتبقى ثابتة في جدول الدفعات لا تزيد ولا تنقص (ويمكنك الاستغناء عن ذلك ان اردت المسألة عائمة )

والنموذج الثاني ويرتبط بجدول الدفعات ويتم فيه التسديد ، ويمكننا فيه اظهار الكل او الاقتصار على عرض الشهور غير المسددة

 

وقد يحتوي جدول الدفعات على حقل المتبقي من الدفعة اذا لم يسدد بالكامل ، ولكن من غير المسموح وضع حقول مجاميع 

 

اما مسألة عرض حساب كل فرد والاطلاع على ما تم تسديده وكم بقي من الشهور وهل في ذمته متأخرات وغير ذلك فيمكن استنباط هذه المعلومات من الجداول المذكورة وجلبها الى اي نموذج او تقرير نريده

اتمنى ان تجد فيما ذكرت فائدة وفقك الله لكل خير

رابط هذا التعليق
شارك

السلام عليكم .............

اولا اشكرك على دعوة تغيير اسمى على الموقع ..... وتم تغيره الى "مصطفى القمّاش" بدلا من nemo_cute

 

ثانيا ساحاول ان اجدد الافكار وشكرا لك على محاولة مساعدتى
واظننى اثقلت عليك

جزاك الله خيرا

رابط هذا التعليق
شارك

السلام عليكم ورحمة_ الله_ وبركاته
أخي الكريم مصطفى القماش 
أخي الحبيب وأستاذي الكبير أبو خليل 
حياكم ربي
بعد إذن أستاذي ابو خليل ....
أخي الحبيب مصطفى قمت بإدخال 5 أشهر و 6 أشهر واشتغل برنامجك معي تمام كما تريد يقوم بحفظ بيانات القسط الشهري المسجله في حقل  monthlypay في جدول advancepay 
وقام برنامجك بحساب عدد الاقساط وقيمة المدفوع من السلفة والباقي .
وإن أحسنت فهم هذه المشاركة من أولها أظن أن سبب المشكلة عندك هي عدم وضعك لقيمة القسط الشهري في حقل monthlypay في النموذج الفرعي advance22 subform حيث تكتفي بالقيمة الموجدوة في حقل Text11 والذي يأخذ قيمة القسط بهذه الطريقة (Forms!advance1![advance11 subform].Form!Expr1 ) كما وضعتها أنت في مصدر عنصر التحكم 
وإن أحسنت الفهم فلا يوجد تعديل في البيانات المالية السابق إخالها ، كل ما في الأمر هو إدخال بيانات الاقساط الشهرية .
لكن أخي الحبيب أرى أن تعيد النظر في بناء البرنامج كما تفضل أستاذي أبو خليل " جزاه ربي عنا خيرا الجزاء "

 

تم تعديل بواسطه أبا عمر
رابط هذا التعليق
شارك

السلام عليكم ......
اولا اشكرك استاذى "أبا عمر"

ولكن عندما ارحل القيم الحسابية الى حقول الجدول advancepay باى معادلات نسخ قيم
يتضح لك ان الشهور السابقة يجب عليك تحديث القيم الحسابية

حضرتك ادخلت بيانات 5 شهور ارجع لاول شهر ستجد ان القيم الحسابية لم تتغير تبعا لاخر تحديث للقيم الحسابية فى اخر شهر
بمعنى
عندما تصل للشهر الخامس يظهر لك ان عدد الشهور المدخلة 5 ولكن عندما تعود للشهر اللى قابله ستجد ان عدد الشهور 4 واذا رجعت للشهر الثالث ستجد ان عدد الشهور 3 وهكذا
بالرغم ان عدد الشهور المدخلة 5 شهور ......
والطبيعى ان تكون عدد الشهور 5 على مدار السجلات
وما اقصده ان ترحيل البيانات لا يحدث له تحديث على الشهور السابقة

ارجو ان اكون اوضحت المشكلة

رابط هذا التعليق
شارك

السلام عليكم ورحمة_ الله_وبركاته 
أخي الكريم مصطفى 

 

 

ولكن عندما ارحل القيم الحسابية الى حقول الجدول advancepay باى معادلات نسخ قيم
يتضح لك ان الشهور السابقة يجب عليك تحديث القيم الحسابية

 

أولا - ترحيل قيمة الحقل المحسوب وتخزينه في جدول أخبرنا أستاذنا أبو خليل بأنه غير صحيح 
ثانيا - ممكن تقوم بالاستعلام عما تريد عن طريق الدالة Dsum لحساب ما تم دفعه والباقي بدلا من تخزينه 
ثالثا - إن كنت ممصم على تحديث بيانات الحقول المحسوبه من النموذج الى الجدول فذلك عن طريق إستعلام تحديث 
مرفق لك الطريقتان :
أرجو أن أكون قد أحسنت الفهم ! 


 

advance2.rar

تم تعديل بواسطه أبا عمر
رابط هذا التعليق
شارك

السلام عليكم ..........

اولا اشكرك استاذى "ابا عمر" واشكر استاذى القدير " أبو خليل" على الاهتمام ......... ولكنى وجدت الحل بفضل الله واريد ان افيد به الجميع

اولا الفكرة تعتمد .....
مثلا

ترحيل البيانات من من حقل 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.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information