تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] فضلا لا امرا عمل ميزان المراجعة
#1
اخوانى مشرفى ورواد المنتدى السلام عليكم ورحمة الله وبركاته 
يشرفنى الانضمام لديكم لهذا المنتدى داعيا الله عز وجل ان يجعل ذلك العمل خالص لوجه الكريم 
اخوانى لى استفسار رجاء ممن لديه الحل ان يفيدينى\
اقوم بعمل برنامج حسابات ومشكلتى فى عمل ميزان المراجعة 
باختصار حتى لا اطيل عليكم \
لدى ثلاث اعمدة فى جدول الادخال الاول مدين والاخر دائن والثالث تاريخ الادخال وقمت بتصميم التقرير على الكريستال ريبورت ووضعت الاعمدة الثلاث فى التقرير وعملت جمله ال SELECT لعمل فلترة من تاريخ إلى تاريخ لحساب معين إلى هنا كله تمام ولكن كيف لى ان اعرض الرصيد السابق لكل حساب :-
بمعنى اوضح 
الرصيد السابق                                     ا لحركة                                   
                                                                                                            اسم الحساب 
مدين                دائن                     مدين                دائن                            
 ??                    0                          1500            1700                                    YYYYYYY
0                        ??                       1800                200                                       GGGGGGG

الحركة تظهر اما الرصيد السابق فكيف يظهر 
اما ان يكون هناك معادلة فى الكريستال ريبورت يمكن ان اوظفها وبحثت كثيرا دون جدوى (على حد علمى وبحثى) واما ان أضيف عمود آخر فى جدول الادخال يساوى نفس العمودين المدين والدائن ويكونا هم ارصدة اول المدة ولكن المشكلة ان هذا العمود سوف يظهر القيم التى تكون بين فترتى البحث وليس قبل فترة البحث 
او قراء القيم عن طريق DATAREADER ووضعها فى الكريستال ولكن فشلت هذة الطريقة معى لان ال DATAREADER يضع لى آخر قيمة قراءها 
برجاء الافادة ولكم خالص الشكر 
ا
الرد }}}
تم الشكر بواسطة: الضمير المستتر
#2
انت تحتاج الي تعريف متغير تحفظ فيه القيمة الأصلية قبل حدوث تغيير في القيمة
الفكرة ستكون كالتالي و اعتقد انك تستطيع تنفيذها علي البرنامج الخاص بك بشكل ما

PHP كود :
  Dim vlaue As Integer 100
        Dim valueOld 
As Integer vlaue
        Dim newValue 
As Integer value 100 
الرد }}}
تم الشكر بواسطة: الضمير المستتر
#3
الرصيد السابق هو مجموع الرصيد حيث التاريخ اقل من بداية الفترة ,

مثلا من 1/1/2015 الى 1/2/2015

يكون الرصيد السابق هو مجموع الرصيد بتاريخ قبل 1/1/2015
الرد }}}
تم الشكر بواسطة: الضمير المستتر
#4
(21-11-15, 06:31 PM)silverlight كتب : انت تحتاج الي تعريف متغير تحفظ فيه القيمة الأصلية قبل حدوث تغيير في القيمة
الفكرة ستكون كالتالي و اعتقد انك تستطيع تنفيذها علي البرنامج الخاص بك بشكل ما

PHP كود :
  Dim vlaue As Integer 100
        Dim valueOld 
As Integer vlaue
        Dim newValue 
As Integer value 100 

جزاكم الله خيرا
ولكن المشكلة ستكون فى 
١كيف سيتم تمرير القيمة قبل التغيرالى ال report
2 القيمة هذة ستختلف من حساب لحساب 
وعلى افتراض اننا سوف نعمل loop لقراءة كل قيمة على حده على حسب عدد الحسابات وبعد الحصول على القيمة علينا ارسال تلك القيمة لللكريستال لتكون رصيد اول مدة لللحساب xxxxx وعند عمل اللloop سيحسب قيمة الرصيد للحساب الاخر وعند ارسالها. للكريستال سوف تحل محل القيمة الاولى اذن نحن نحنتاج الى فتح صف جديد بعد كل مرة loop
وهذا لا اعلمه 
رجاء الافادة
الرد }}}
تم الشكر بواسطة: الضمير المستتر
#5
ربما قد تحتاج الي Collection تضيف بها جميع القيم القديمة من خلال Loop و ان كان الأمر يستدعي اضافة عمود للجدول فعليك ان تفعل ذلك و ان لم تكن تحتاج لعمود جديد فيمكنك الاحتفاظ بالقيم الأصلية في Collection ومن ثم تتعامل معها كيفما شئت

ملجوظة:

علي فكرة في كلتا الحالات و طالما انك تستخدم داتا بيز فانت تتعامل مع Collection ,وغالبا هي تدعم جملة Clone لذلك سيكون من السهل اخذ نسخة
الرد }}}
تم الشكر بواسطة: الضمير المستتر
#6
(21-11-15, 11:48 PM)silverlight كتب : ربما قد تحتاج الي Collection تضيف بها جميع القيم القديمة من خلال Loop و ان كان الأمر يستدعي اضافة عمود للجدول فعليك ان تفعل ذلك و ان لم تكن تحتاج لعمود جديد فيمكنك الاحتفاظ بالقيم الأصلية في Collection ومن ثم تتعامل معها كيفما شئت

ملجوظة:

علي فكرة في كلتا الحالات و طالما انك تستخدم داتا بيز فانت تتعامل مع Collection ,وغالبا هي تدعم جملة Clone لذلك سيكون من السهل اخذ نسخة

الف شكر على مداخلتكم
المشكلة انى لا اعلم شىء عن ال clloectionفهل ومن فضلكم شرح بمثال بسيط

(21-11-15, 11:48 PM)silverlight كتب : ربما قد تحتاج الي Collection تضيف بها جميع القيم القديمة من خلال Loop و ان كان الأمر يستدعي اضافة عمود للجدول فعليك ان تفعل ذلك و ان لم تكن تحتاج لعمود جديد فيمكنك الاحتفاظ بالقيم الأصلية في Collection ومن ثم تتعامل معها كيفما شئت

ملجوظة:

علي فكرة في كلتا الحالات و طالما انك تستخدم داتا بيز فانت تتعامل مع Collection ,وغالبا هي تدعم جملة Clone لذلك سيكون من السهل اخذ نسخة

الف شكر على مداخلتكم
المشكلة انى لا اعلم شىء عن ال clloectionفهل ومن فضلكم شرح بمثال بسيط

(21-11-15, 11:48 PM)silverlight كتب : ربما قد تحتاج الي Collection تضيف بها جميع القيم القديمة من خلال Loop و ان كان الأمر يستدعي اضافة عمود للجدول فعليك ان تفعل ذلك و ان لم تكن تحتاج لعمود جديد فيمكنك الاحتفاظ بالقيم الأصلية في Collection ومن ثم تتعامل معها كيفما شئت

ملجوظة:

علي فكرة في كلتا الحالات و طالما انك تستخدم داتا بيز فانت تتعامل مع Collection ,وغالبا هي تدعم جملة Clone لذلك سيكون من السهل اخذ نسخة

الف شكر على مداخلتكم
المشكلة انى لا اعلم شىء عن ال clloectionفهل ومن فضلكم شرح بمثال بسيط
الرد }}}
تم الشكر بواسطة: الضمير المستتر
#7
السلام عليكم
الفكرة لتنفيذها بشكل سليم وآمن تحتاج الى جدولين
جدول يضم لابيانات الاساسية للحساب
والجدول الاخر يضم العمليات التي تجري عليه من سحب أو ايداع
بهذا تتخطى المشكلة التي تواجهك الان
لو كنت قد نفذت برنامج مبيعات أو مخازن تعامل مع الحساب و:انك تتعامل مع بند في مخزن
على سبيل المثال في الجدول الاول
رقم الحساب - اسم الحساب - ..... الخ
الجدول الاخر
رقم الحساب - ايداع - سحب - التاريخ
فقط
ولمعرفة الاجمالي تستطيع ذلك يمعملية جمع وطرح بسيطة
مجموع الايداعات - مجموع السحوبات
وتسطيع الحصول على القيمة السابقة تبعا لاي تاريخ تم فيه تغيير على الحساب
وضحت؟
بالتوفيق
سبحان الله والحمدلله ولا إله إلا الله والله أكبر
 اللهم اغْفِرْ لِلمؤمنين والمؤمنات والمسلمين والمسلمات الأحياء منهم والأموات
الرد }}}
تم الشكر بواسطة: HASAN6.0 , HASAN6.0 , الضمير المستتر
#8
(22-11-15, 12:12 AM)أبو عمر كتب : السلام عليكم
الفكرة لتنفيذها بشكل سليم وآمن تحتاج الى جدولين
جدول يضم لابيانات الاساسية للحساب
والجدول الاخر يضم العمليات التي تجري عليه من سحب أو ايداع
بهذا تتخطى المشكلة التي تواجهك الان
لو كنت قد نفذت برنامج مبيعات أو مخازن تعامل مع الحساب و:انك تتعامل مع بند في مخزن
على سبيل المثال في الجدول الاول
رقم الحساب - اسم الحساب - ..... الخ
الجدول الاخر
رقم الحساب - ايداع - سحب - التاريخ
فقط
ولمعرفة الاجمالي تستطيع ذلك يمعملية جمع وطرح بسيطة
مجموع الايداعات - مجموع السحوبات
وتسطيع الحصول على القيمة السابقة تبعا لاي تاريخ تم فيه تغيير على الحساب
وضحت؟
بالتوفيق
جزاكم الله خير 
بالفعل انا منفذ البرنامج على هذا الاساس ولكن مشكلتى فى لاربط بين الجداول هو تكرار السجلات عند قيامى بربطها 
بمعنى اوضح
لدى 3 جداول 
الاول باسم level 4 به حقل اسم الحساب وكوده (حقل الربط id_level4)
الثانى بأسم data_entry  وبه حقل debitو cridet وحقل الربط id_level4) والتاريخ
الثالث باسم balance _before وبه حقل debit_amو cridet_amو حقل الربط id_level 4(
عند عملى ربط بينهم تظهر السجلات متكررة فهل من طريقة للحصول على السجلات الفعلية 

وجزاكم الله خيرا
الرد }}}
تم الشكر بواسطة: الضمير المستتر
#9
هل بالامكان تنفيذ جملة الاستعلام التالى على الصورة التالية 
عرض السجلات للفترة من 2015/11/16 :2015/11/16 من حقل تاريخ 2
وعرض السجلات الاقل من 2015/11/16 من تاريخ 1
مع العلم بان الصورة من جدولين مختلفين فى ال sql وتم ربطهم معهاً 
الجدول الاول فيه الحقول باللون الاحمر 
والجدوب الثانى فى الحقول بالللون الازرق
عند تطبيق جمله الاستعلام ينفذ فقط جمله واحدة نتيجة للربط بين الحقول  فعند تمرير جمله الاستعلام " عرض جميع السجلات التى يقع فيها التاريخ 1 بين 2015/11/16 إلى 2015/11/16 والسجلات التى يكون فيها تاريخ 2 اقل من 2015/11/16 تكون النتيجة عدم ظهور شىء
الصورة من الكريستال ريبورت
رجاء الافادة 

الرد }}}
تم الشكر بواسطة: الضمير المستتر
#10
(21-11-15, 11:48 PM)silverlight كتب : ربما قد تحتاج الي Collection تضيف بها جميع القيم القديمة من خلال Loop و ان كان الأمر يستدعي اضافة عمود للجدول فعليك ان تفعل ذلك و ان لم تكن تحتاج لعمود جديد فيمكنك الاحتفاظ بالقيم الأصلية في Collection ومن ثم تتعامل معها كيفما شئت

ملجوظة:

علي فكرة في كلتا الحالات و طالما انك تستخدم داتا بيز فانت تتعامل مع Collection ,وغالبا هي تدعم جملة Clone لذلك سيكون من السهل اخذ نسخة

الف شكر على مداخلتكم
المشكلة انى لا اعلم شىء عن ال clloectionفهل ومن فضلكم شرح بمثال بسيط
الرد }}}
تم الشكر بواسطة: الضمير المستتر



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم