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

نسخة كاملة : كيف جمع عمود به قيمة فارغة يوجد مثال
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
اخوانى الكرام
انا مبتدأ فى الفيجوال وقمت بتصميم برنامج ولكن واجهتنى مشكلة الجمع من عمود بشرط معين
اريد جمع عمود من الجريد فيو وبه قيمة فارغة ومرفق مثال للتوضيح
الجمع عن طريق select sum
ائما للجمع في جمل الاستعلام sum
لكن تأكد من نوع الحقل المراد جمعة عدد
شكرا اخى على سرعة الرد ولكن لم افهم ماذا تقصد من نوع الحقل
كل شئ تمام لكن ينقصنى كود الجمع بشرط معين وفى نفس الوقت يستبدل القيمة DBNull بصفر
ارجوا الاهتمام لانى ابحث عن حل لهذه المشكلة منذ خمس ايام
جرب هذا اخي وشوف النتيجة

PHP كود :
Private Sub Button4_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button4.Click
        On Error Resume Next
        Conn
.Close()
        
Conn.Open()
        
Dim Cmd2 As New OleDbCommand
        Dim VSalary2 
As String
        Cmd2
.Connection Conn
        Cmd2
.CommandType CommandType.Text
        Cmd2
.CommandText "select sum (income)  from tab where (month) like '" ComboBox1.Text "' ;"
        
VSalary2 Cmd2.ExecuteScalar()
        
'====================
        Dim Cmd3 As New OleDbCommand
        Dim VSalary3 As String
        Cmd3.Connection = Conn
        Cmd3.CommandType = CommandType.Text
        Cmd3.CommandText = "select sum (Discount)  from tab where (month) like '" & ComboBox1.Text & "' ;"
        VSalary3 = Cmd3.ExecuteScalar()
        '
==============================

        
TextBox1.Text VSalary2
        TextBox2
.Text VSalary3
        TextBox4
.Text VSalary2 VSalary3

        Conn
.Close()


    
End Sub 
تم الإطلاع على مثالك ولكن به كثيرا من الأخطاء التى يجب أن تقوم بالإطلاع عليها
1- تصميم قاعدة البيانات برجاء مراجعة بعض الكتب التى تتحدث عن كيفية عمل قاعدة بيانات صحيحة حيث أنك قمت بوضع نوع التاريخ نص والأرقام أيضا نص وهذا خطأ كبير
2- قمت بدمج الوضع المتصل والمنفصل برمجيا وهذا يمكن ولكن ليس بالطريقة التى قمت أنت بكتابتها

إذا أردت حل مؤقت لمثالك قم بتغيير نوع البيانات أولا فى قاعدة البيانات قم بتغيير ال income من text إلى double أو decimal
وأيضا ال discount من text الى double او decimal

ثم قم بوضع LABEL وليكن incomelabel وأيضا discount label ثم قم بكتابة هذا

كود :
Me.incomelabel.Text = String.Format("income sum {0} :", Me.TabDataSet.tab.Compute("sum(Income)", String.Empty))
        Me.discountlabel.Text = String.Format("discount sum {0} :", Me.TabDataSet.tab.Compute("sum(Discount)", String.Empty))
وسوف يظهر لك مجموع هذه البيانات
ممكن تستفاد من الكود التالي لمعالجة الحقل الفارغ
textbox1[/php] = Val(DataGridView1.CurrentRow.Cells(0).Value) + IIf(DataGridView1.CurrentRow.Cells(1).Value Is DBNull.Value, 0, DataGridView1.CurrentRow.Cells(1).Value)
شكرا لكم اخوانى للاهتمام وجارى التجربة واخبركم بالنتيجة
شكرا لك اخى amgadtamer على النصيحة واعذرنى لانى مبتدا فى الفيجوال وانت استاذى ومنك نستفيد وباركم الله فيكم جميعا
ما الخطأ في هذا الكود
Dim c =
Aggregate x As DataGridViewRow In DataGridView1.Rows
Into Sum(x.Cells(2).Value.ToString = "دينار كويتي")
MsgBox©
السلام عليكم

تفضل الكود
كود :
Dim c =
   Aggregate x As DataGridViewRow In DataGridView1.Rows
   Into total = Sum(Val(x.Cells(2).Value))

MsgBox(c & " دينار كويتي", MsgBoxStyle.MsgBoxRtlReading)