منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : حساب مجموع ما في الداتا جريد فيو لكل صف
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم يا اخواني 

اذا سمحتم اتمنى افادتي فقمت بعمل داتا جريد فيو واريد حساب 
B - A * C = Total لكل صف من الصفوف عند فتح الفورم او ضغط على تحديث
وهذا مثال واتمنى الافادة فلم اجد الموضوع او انه طرح بصيغة اخرى
السلام عليكم....
قم بعمل نسخ ولصق لهذا الكود كاملا وضعة في مشروعك وجرب.
كود :
Private Sub DataGridView1_CellFormatting(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles DataGridView1.CellFormatting
       On Error Resume Next
       Dim sumc As Double = 0
       For Each rc As DataGridViewRow In Me.DataGridView1.Rows
           sumc = rc.Cells(3).Value - rc.Cells(2).Value * rc.Cells(4).Value
           rc.Cells(5).Value = sumc
       Next
   End Sub
(18-05-19, 03:36 PM)اسامه الهرماوي كتب : [ -> ]السلام عليكم....
قم بعمل نسخ ولصق لهذا الكود كاملا وضعة في مشروعك وجرب.
كود :
Private Sub DataGridView1_CellFormatting(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles DataGridView1.CellFormatting
       On Error Resume Next
       Dim sumc As Double = 0
       For Each rc As DataGridViewRow In Me.DataGridView1.Rows
           sumc = rc.Cells(3).Value - rc.Cells(2).Value * rc.Cells(4).Value
           rc.Cells(5).Value = sumc
       Next
  
End Sub


أشكرك جزيل الشكر اخي العزيز ولكن في الحساب تكون الأعداد ملخبطه والناتج خطا 
واتمنى ان تفيدني ولك جزيل الشكر مرة أخرى
[attachment=21524]
(18-05-19, 11:42 AM)alshandodi كتب : [ -> ]السلام عليكم يا اخواني 

اذا سمحتم اتمنى افادتي فقمت بعمل داتا جريد فيو واريد حساب 
B - A * C = Total لكل صف من الصفوف عند فتح الفورم او ضغط على تحديث
وهذا مثال واتمنى الافادة فلم اجد الموضوع او انه طرح بصيغة اخرى


ضع هذا الاستعلام وستحصل على المجموع Total مع البيانات
"select ID, product_NAME, A, B, C, ((B-A)*C) AS Total from TBL_products"

لا تنسى تحذف سطر DT.Columns.Add
السلام عليكم اخي الكريم
هذا مثال لما تريد ان شاء الله
دمت بخير ... رمضان كريم
أخي الكريم قم بتعديل السجلات لانني كنت قد سجلتها قبل ان اكتب كود الحساب ليظهر الناتج في مربع النص Total
(18-05-19, 08:44 PM)sami4 كتب : [ -> ]
(18-05-19, 11:42 AM)alshandodi كتب : [ -> ]السلام عليكم يا اخواني 

اذا سمحتم اتمنى افادتي فقمت بعمل داتا جريد فيو واريد حساب 
B - A * C = Total لكل صف من الصفوف عند فتح الفورم او ضغط على تحديث
وهذا مثال واتمنى الافادة فلم اجد الموضوع او انه طرح بصيغة اخرى


ضع هذا الاستعلام وستحصل على المجموع Total مع البيانات
"select ID, product_NAME, A, B, C, ((B-A)*C) AS Total from TBL_products"

لا تنسى تحذف سطر DT.Columns.Add


6.8999999999999995 هذا الناتج يظهر اذا كان يوجد به كسور مال هو الحل 
اذا كان دون كسور يظهر صحيح
إستعمل مثلا هذا الكود لإزالة الكسور

كود :
FormatNumber()

قم بوضع الناتج ذاخل القوس
(19-05-19, 08:01 AM)alshandodi كتب : [ -> ]
(18-05-19, 08:44 PM)sami4 كتب : [ -> ]
(18-05-19, 11:42 AM)alshandodi كتب : [ -> ]السلام عليكم يا اخواني 

اذا سمحتم اتمنى افادتي فقمت بعمل داتا جريد فيو واريد حساب 
B - A * C = Total لكل صف من الصفوف عند فتح الفورم او ضغط على تحديث
وهذا مثال واتمنى الافادة فلم اجد الموضوع او انه طرح بصيغة اخرى


ضع هذا الاستعلام وستحصل على المجموع Total مع البيانات
"select ID, product_NAME, A, B, C, ((B-A)*C) AS Total from TBL_products"

لا تنسى تحذف سطر DT.Columns.Add


6.8999999999999995 هذا الناتج يظهر اذا كان يوجد به كسور مال هو الحل 
اذا كان دون كسور يظهر صحيح

اذا كنت لا تريد الكسور ولا تريد التقريب
ضع كلمه fix قبل اقواس العمليه الحسابيه التي في الاستعلام
"select ID, product_NAME, A, B, C, fix((B-A)*C) AS Total from TBL_products"

واذ كنت تريد شكل الرقم مقسم الى اجزاء الالوف بفاصله مع كسر رقمين كرقم العمله
اكتب format قبل اقواس العمليه الحسابيه التي في الاستعلام مع اضافه التنسيق قبل اقفال القوس الاخير
"select ID, product_NAME, A, B, C, format((B-A)*C,'#,#.00') AS Total from TBL_products"
الشكر الجزيل لــ  اسامه الهرماوي 
                   إبراهيم إيبو
                   [b]sami4 [/b]
                   sniperjawadino
           وكل أعضاء هذا المنتدى العزيز على قلبي

لقد تم إيجاد الحل وهذا بفضلكم جميعا فكلكم يد واحده تقدم العون 

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

كود :
       DT.Rows.Clear()
       DA = New OleDbDataAdapter("select ID, product_NAME, A, B, C,D, format((B*C),'#,#.000') AS Total,((D-C)) AS Total2, format((B*Total2),'#,#.000') AS Total3 from TBL_products", con)
       DA.Fill(DT)
       Me.DataGridView1.DataSource = DT
       DT.Columns.Add("Total")
       DT.Columns.Add("Total2")
       DT.Columns.Add("Total3")
 [url=http://vb4arb.com/vb/showthread.php?pid=141201#pid141201][/url]




                      [attachment=21529]