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

تعديل معادلة حسابية تلقائياً


Amr Ashraf
إذهب إلى أفضل إجابة Solved by Amr Ashraf,

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

السلام عليكم 

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

يتم احتساب الرصيد بعد الحركة عن طريق النموذج وذلك بالطريقة الاتية جلب الرصيد الحالى من الاستعلام واضافة قيمة الحركة اليه سواء بالزيادة او بالنقص طيب لحد الأن كويس خلينا ننسى حركة لم نضفها من اسبوع مثلا وحبيت اضيفها الان ستكون نتيجة حساب الرصيد بعد هذه الحركة خاطئة وذلك على حسب طريقة العرض الحالية وهى الترتيب بالتاريخ فى التقرير والموضوع واضح اكثر فى نتيجة التقرير ستجد اول حركة الرصيد بعدها المفروض يكون 3500 ولكنه 5500 .

المطلوب :

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

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

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

 

Bc.rar

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

هذه محاولة ارجو ان يكون فيها طلبك

ملاحظة:1-العمل يتم عن طريق نموذج(FMain)

            2-تم تغيير الحقول في جدول (items) و (tr) وهي طريقة اكثر منطقية مع العلم انك لن تلاحظ الفرق

 

asd.rar

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

9 ساعات مضت, husamwahab said:

هذه محاولة ارجو ان يكون فيها طلبك

ملاحظة:1-العمل يتم عن طريق نموذج(FMain)

            2-تم تغيير الحقول في جدول (items) و (tr) وهي طريقة اكثر منطقية مع العلم انك لن تلاحظ الفرق

 

asd.rar

اولا مشكور اخى الكريم على مرورك و على طريقتك الغير تقليدية 

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

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

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

2 - البرنامج يدخل على جدول الحركات 

3-يعمل فلترة على الكود اللى بيتم اختياره فى النموذج

4-يرتب السجلات بالتاريخ تصاعدى

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

6- يبدأ يحسب رصيد بعد الحركة للسجلات التالية عن طريق الاستدلال بأول اضافة يعنى السجل الثانى هيكون أول اضافة + ثانى اضافة  أو أول اضافة - ثانى سجل لو كان الكمية صرف وليست اضافة 

وهكذا لحد ما يوصل لأخر حركة وبكده يكون ظبط التسلسل الحسابى بناء على ترتيب الحركات من حيث التاريخ 

لو موصلتش الفكرة أحاول اعمل مثال اخر لتوضيحها جزاك الله خير

 

 

 

 

 

 

 

 

 

 

 

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

9 ساعات مضت, husamwahab said:

جرب هذا التعديل

وجرب ان تغير التواريخ او تضيف تاريخ سابق

 

asd1.rar

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

بس الموضوع منتهاش فى انتظار تفاعل باقى الاخوة ماشاء الله فيه افكار جميلة فى الموضوع

 

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

السلام عليكم ورحمة الله

اذا كنت تريد معرفة الرصيد بعد الحركة فذلك يكون في الاستعلام أو التقرير

ولا يكون بالجدول

هذا افضل شيئ

المرفق السابق معدل به التقرير فقط ولا قيمة للحقل المخصص بالجدول

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

17 ساعات مضت, Gamal.Saad said:

السلام عليكم ورحمة الله

اذا كنت تريد معرفة الرصيد بعد الحركة فذلك يكون في الاستعلام أو التقرير

ولا يكون بالجدول

هذا افضل شيئ

المرفق السابق معدل به التقرير فقط ولا قيمة للحقل المخصص بالجدول

وعليكم السلام 

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

 

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

12 ساعات مضت, ابوخليل said:

للإحاطة ..  المرفق لا يفتح

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

في 5/31/2017 at 13:26, husamwahab said:

جرب هذا التعديل

وجرب ان تغير التواريخ او تضيف تاريخ سابق

 

asd1.rar

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

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

  • أفضل إجابة

اخوانى بعد القليل من التركيز اكتشفت حل ابسط بكثير مما توقعت الحل كان كالتالى :

1- قمت بانشاء استعلام جديد لجلب الرصيد واضفت ليه حقل تاريخ

2-اضفت شرط لحقل التاريخ انه اقل من حقل التاريخ الموجود فى التقرير وستعرف لماذا

3-بالنسبة للتقرير جعلت حقل الرصيد بعد الحركة غير منضم وكتبت فيه دالة Dlookup من الاستعلام السابق الاشارة ايه وبالتالى عند احضار القيمة من الاستعلام يقوم بتحقيق شرط التاريخ فى الاستعلام اولا وبالتالى يحضر اخر قيمة للرصيد كانت موجودة فى  تاريخ قبل التاريخ الموجود فى التقرير ويضيف عليه الحركة الجديدة وقمت ايضا باضافة دالة Nz لدالة Dlookup لاحضار قيمة "0" اذا لم يكن هناك ناتج من الاستعلام وبالتالى تظل المعادلة سليمة

 

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

 

 

 

 

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

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