اخوانى الكرام
انا مبتدأ فى الفيجوال وقمت بتصميم برنامج ولكن واجهتنى مشكلة الجمع من عمود بشرط معين
اريد جمع عمود من الجريد فيو وبه قيمة فارغة ومرفق مثال للتوضيح
الجمع عن طريق select sum
ائما للجمع في جمل الاستعلام sum
لكن تأكد من نوع الحقل المراد جمعة عدد
شكرا اخى على سرعة الرد ولكن لم افهم ماذا تقصد من نوع الحقل
كل شئ تمام لكن ينقصنى كود الجمع بشرط معين وفى نفس الوقت يستبدل القيمة DBNull بصفر
ارجوا الاهتمام لانى ابحث عن حل لهذه المشكلة منذ خمس ايام
جرب هذا اخي وشوف النتيجة
PHP كود :
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 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)