الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة ارجو المساعده (حساب الرصيد من المدين و الدائن)

بدأه ahmed-n في 29 نوفمبر 2012 · 5 رد · 1,051 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

ارجو المساعده فى كيفية عرض الرصيد لبرنامج حسابي

الرصيد = -الدائن +المدين

ويوضع فى الرصيد

ثم الرصيد + او - المدين او الدائن

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

يضيفهم فى عمود ثم تتم العملية الحسابية

رصيد = -الدائن +المدين ويتم وضهعم فى عمود اخر

المشكله النتائج غير صحيحة

المفروض اخر عمود تكون القيم -500 ثم 1500 ثم 1200 ثم 4200 ثم 4500

ولكن يظهر 1500 3500 1200 4500 1800

وكود الضغط على الزر

DataGridView1.Columns.Add("CustLName", ("دائن"))
        DataGridView1.Columns.Add("CustLName", ("مدين"))
        DataGridView1.Columns.Add("CustLName", ("الرصيد الاولى"))
        DataGridView1.Columns.Add("CustLName", ("الرصيد "))
        Dim i As String
        i = Label17.Text
        For value As Integer = 0 To i - 1

            If DataGridView1.Item(3, value).Value = "شيك" Then
                DataGridView1.Item(8, value).Value = -Val(DataGridView1.Item(2, value).Value)
                DataGridView1.Item(10, value).Value = Val(DataGridView1.Item(8, value).Value)
                'DataGridView1.Item(8, value).Value = "دائن"
            End If
            If DataGridView1.Item(3, value).Value = "check" Then
                DataGridView1.Item(9, value).Value = Val(DataGridView1.Item(2, value).Value)
                DataGridView1.Item(10, value).Value = Val(DataGridView1.Item(8, value).Value) + Val(DataGridView1.Item(9, value).Value)

                DataGridView1.Item(11, 0).Value = Val(DataGridView1.Item(10, 0).Value) + Val(DataGridView1.Item(10, 1).Value)
                Dim temp As Integer

                For value2 As Integer = 1 To i - 1
                    temp = DataGridView1.Item(11, 0).Value
                    DataGridView1.Item(11, value2).Value = Val(temp) + Val(DataGridView1.Item(10, value2).Value)

                Next
            End If
        Next

ارجو الحل يا اخوه البرنامج فى المرفقات

Accounting Prog.rar

#2
ahmed-n كتب:

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

ارجو المساعده فى كيفية عرض الرصيد لبرنامج حسابي

الرصيد = -الدائن +المدين

ويوضع فى الرصيد

ثم الرصيد + او - المدين او الدائن

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

يضيفهم فى عمود ثم تتم العملية الحسابية

رصيد = -الدائن +المدين ويتم وضهعم فى عمود اخر

المشكله النتائج غير صحيحة

المفروض اخر عمود تكون القيم -500 ثم 1500 ثم 1200 ثم 4200 ثم 4500

ولكن يظهر 1500 3500 1200 4500 1800

وكود الضغط على الزر

DataGridView1.Columns.Add("CustLName", ("دائن"))
        DataGridView1.Columns.Add("CustLName", ("مدين"))
        DataGridView1.Columns.Add("CustLName", ("الرصيد الاولى"))
        DataGridView1.Columns.Add("CustLName", ("الرصيد "))
        Dim i As String
        i = Label17.Text
        For value As Integer = 0 To i - 1

            If DataGridView1.Item(3, value).Value = "شيك" Then
                DataGridView1.Item(8, value).Value = -Val(DataGridView1.Item(2, value).Value)
                DataGridView1.Item(10, value).Value = Val(DataGridView1.Item(8, value).Value)
                'DataGridView1.Item(8, value).Value = "دائن"
            End If
            If DataGridView1.Item(3, value).Value = "check" Then
                DataGridView1.Item(9, value).Value = Val(DataGridView1.Item(2, value).Value)
                DataGridView1.Item(10, value).Value = Val(DataGridView1.Item(8, value).Value) + Val(DataGridView1.Item(9, value).Value)

                DataGridView1.Item(11, 0).Value = Val(DataGridView1.Item(10, 0).Value) + Val(DataGridView1.Item(10, 1).Value)
                Dim temp As Integer

                For value2 As Integer = 1 To i - 1
                    temp = DataGridView1.Item(11, 0).Value
                    DataGridView1.Item(11, value2).Value = Val(temp) + Val(DataGridView1.Item(10, value2).Value)

                Next
            End If
        Next

ارجو الحل يا اخوه البرنامج فى المرفقات

Accounting Prog.rar

أخي الكريم

هناك مشكلة في الكود وفي طريقة الحسابات وسؤالك مو واضح في كودك السابق

يختبر العمود cash إذا كانت قيمته شيك يضيف قيمة amount في العامود دائن لكن كسالب ويضيف في العامود الرصيد الأول قيمة العامود دائن

واذا كانت قيمة العامود cash تساوي check فأنه يضيف للعامود دائن قيمة amount في العامود مدين وللعامود الرصيد الأول قيمة الدائن + قيمة المدين ويضيف للعامود الرصيد قيمة العامود الرصيد الأول للصف الأول + قيمة العامود الرصيد الأول للصف الثاني لم ينشأ حتى الآن ؟؟

فيصبح قيمة الصف الأول

الدائن = -500

المدين = 0

الرصيد الأول = -500

الرصيد = -500

قيمة الصف الثاني

الدائن = 0

المدين = 2000

الرصيد الأول = 2000

الرصيد = 2000

إذا كنت تريد

الرصيد = - الدائن + المدين

فلا يمكن ان تظهر القيم الذي وضعتها في أول سؤالك -500 ثم 1500 ثم 1200 ثم 4200 ثم 4500

لأن هناك مدين قيمته صفر وهناك دائن قيمته صفر بسبب الشرط اللي وضعته للعامود cash لأنه اذا كان الشرط = تشيك فإنه يضع قيمة الدائن وقيمة المدين صفر وإذا كان الشرط cash فإنه يضع قيمة الدائن صفر وقيمة المدين من ال amount

اكتب المعادله التي تظهر هذه القيم -500 ثم 1500 ثم 1200 ثم 4200 ثم 4500

علشان أقدر أساعدك أو يساعدونك الأخوان

هذا مافهمت ويمكن يكون أحد الأخوان عنده حل

تم تعديل هذه المشاركة بواسطة بـــــــــــــــدر في 30 نوفمبر 2012 في 14:38

#3

شكرا اخ بدر للرد

المعادلة هتكون


500- 500-
1500 2000
1200 300-
4200 3000
4500 300
               مدين        دائن        الرصيد

الرصيد =الرصيد + دائن او مدين

مثلا

الرصيد المبدئى 500- يوضع فى اول عمود للرصيد ثم يتم جمع 500- + 2000 = 1500 ويوضع فى الصف الثانى لعمود الرصيد ثم يتم جمع 1500 +300- =1200 ويوضع فى الصف الثالث لعمود الرصيد ثم يتم جمع 1200 +3000 =4200 ويوضع فى الصف الرابع لعمود الرصيد ثم 4200+ 300 =4500 ويوضع فى الصف الخامس لعمود الرصيد

#4

شكرا يا اخ بدر تم حل المشكله بعد التركيز

المشكلة فى المعادله تم تعديلها

   Dim balance As Integer

        For value As Integer = 0 To i - 1
            balance = Val(DataGridView1.Item(10, value).Value) + Val(balance)
            DataGridView1.Item(11, value).Value = Val(balance)
        Next
#5

هلا والله أخوي أحمد

الحمدلله أهم شي انحلت المشكلة

بس عندي ملاحظه حاول ماتكثر في الكود وتستفيد من for وحده وبرضو لازم تستخدم elseif علشان مايدخل مرتين جوا if اذا تحقق الأول مايحتاج يدخل ال if الثانيه

هذا تعديل على الكود

DataGridView1.Columns.Add("CustLName", ("دائن"))
        DataGridView1.Columns.Add("CustLName", ("مدين"))
        DataGridView1.Columns.Add("CustLName", ("الرصيد الاولى"))
        DataGridView1.Columns.Add("CustLName", ("الرصيد "))
        Dim i As String
        i = Label17.Text
        For value As Integer = 0 To i - 1
            If DataGridView1.Item(3, value).Value = "شيك" Then
                DataGridView1.Item(8, value).Value = -Val(DataGridView1.Item(2, value).Value)
                DataGridView1.Item(9, value).Value = 0
                DataGridView1.Item(10, value).Value = Val(DataGridView1.Item(8, value).Value)
            ElseIf DataGridView1.Item(3, value).Value = "check" Then
                DataGridView1.Item(8, value).Value = 0
                DataGridView1.Item(9, value).Value = Val(DataGridView1.Item(2, value).Value)
                DataGridView1.Item(10, value).Value = Val(DataGridView1.Item(8, value).Value) + Val(DataGridView1.Item(9, value).Value)
            End If
            Dim balance As Integer
            balance = Val(DataGridView1.Item(10, value).Value) + Val(balance)
            DataGridView1.Item(11, value).Value = Val(balance)
        Next
    End Sub
#6

شكرا اخ بدر للرد جاري التعديل ومحاولة تقليل الكود

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…