تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
جمع عمود بشرط معين
#1
السلام عليكم 
اعزكم الله وحفظكم

لدى قاعدة بيانات فيها عمود للسعر
ولدى فورم اود تقسيم الاسعار فيه الى 3 فئات 
50
100
اخري

---المطلوب---
اريد كود يظهر لي فى TeXTBOX1عدد القيم التى = 50   وفي TEXTBOX2   مجموع القيم التى تساوي 50
ريد كود يظهر لي فى TeXTBOX3عدد القيم التى = 100   وفي TEXTBOX4   مجموع القيم التى تساوي 100
وكذلك القيم التى لا تساوى 50  او  100  يظهر عددها فى TEXTBOX5  ومجموعها فى  TEXTBOX6

اتمنى ان اجد الحل لديكم كما تعودت منكم
شكرا لكم

سبحان الله وبحمده ... سبحان الله العظيم
الرد
تم الشكر بواسطة:
#2
(01-08-19, 03:53 PM)mr_hso كتب : السلام عليكم 
اعزكم الله وحفظكم

لدى قاعدة بيانات فيها عمود للسعر
ولدى فورم اود تقسيم الاسعار فيه الى 3 فئات 
50
100
اخري

---المطلوب---
اريد كود يظهر لي فى TeXTBOX1عدد القيم التى = 50   وفي TEXTBOX2   مجموع القيم التى تساوي 50
ريد كود يظهر لي فى TeXTBOX3عدد القيم التى = 100   وفي TEXTBOX4   مجموع القيم التى تساوي 100
وكذلك القيم التى لا تساوى 50  او  100  يظهر عددها فى TEXTBOX5  ومجموعها فى  TEXTBOX6

اتمنى ان اجد الحل لديكم كما تعودت منكم
شكرا لكم

سبحان الله وبحمده ... سبحان الله العظيم



الحمد لله تم التوصل الى الكود وهو كالتالي
كود :
 Dim OverallTotal As Double
       For Each dgvRow As DataGridViewRow In DataGridView1.Rows
           If Not dgvRow.IsNewRow Then
               If CDbl(dgvRow.Cells(5).Value) = 50000 Then
                   OverallTotal += CDbl(dgvRow.Cells(4).Value)
               End If
           End If
       Next
       TextBox33.Text = OverallTotal
       TextBox33.Text = CDbl(TextBox33.Text).ToString("n2")
حيث ان cells 5  هى التى سيتم البحث عنن القيم فيها
و cells 4  هى التي سيتم تجميع مبالغه

و  TextBox33 هو الذي سيظهر فيه الناتج





المطلوب 
هل يستطيع احد اضافة  if  اخري للمعادلة لاضافة شرط جديد



وشكرا
الرد
#3
جمع قيم فى عمود بشرطين فى عمودين مختلفين
كود :
 Dim OverallTotal As Double
       For Each dgvRow As DataGridViewRow In DataGridView1.Rows
           If Not dgvRow.IsNewRow Then
               If Val(dgvRow.Cells(32).Value) = 1 Then
                   If Val(dgvRow.Cells(1).Value) = 1 Then
                       OverallTotal += Val(dgvRow.Cells(4).Value)
                   End If
               End If
           End If

       Next
       TextBox3.Text = OverallTotal
       TextBox3.Text = CDbl(TextBox3.Text).ToString("n2")

العمود 23 هو الذي به الشرط الاول
العمود 1 هو الذي به الشرط الثانى
العمود 4 هو الذي به الارقام التى سيتم جمعها
TextBox3 هو الذي سيظهر فيه الناتج
n2 هو الرقم الناتج و رقم 2 هى الارقام بعد العلامة العشرية
كل عام وانتم بخير
الرد
تم الشكر بواسطة: asemshahen5
#4
تستطيع بالاستعلام الحصول على ما تريد من مجمايع بشكل أسرع ومنظم هكذا
PHP كود :
Dim sql As String _
    
" SELECT  'Type50'    AS ColType, COUNT(Column1) AS ColCount, SUM(Column2) AS ColSum FROM TableName WHERE Column1=50                " _
    
" UNION     " _
    
" SELECT  'Type100'   AS ColType, COUNT(Column1) AS ColCount, SUM(Column2) AS ColSum FROM TableName WHERE Column1=100               " _
    
" UNION     " _
    
" SELECT  'OtherType' AS ColType, COUNT(Column1) AS ColCount, SUM(Column2) AS ColSum FROM TableName WHERE Column1 NOT IN(50 ,100)   "

Dim da As New OleDbDataAdapter(sqlcn)
Dim dt As New DataTable
da
.Fill(dt)

For 
Each row As DataRow In dt.Rows
    If row
("ColType") = "Type50" Then
        TeXTBOX1
.Text row("ColCount")
 
       TEXTBOX2.Text row("ColSum")
 
   End If
 
   If row("ColType") = "Type100" Then
        TeXTBOX3
.Text row("ColCount")
 
       TEXTBOX4.Text row("ColSum")
 
   End If
 
   If row("ColType") = "OtherType" Then
        TEXTBOX5
.Text row("ColCount")
 
       TEXTBOX6.Text row("ColSum")
 
   End If
Next 
TableName اسم الجدول
Column1 العمود الذي فيه الفئاة مثل 50 و100 وغيرها والمراد عدها
Column2 العمود الذي فيه القيمة والمراد جمعها
الرد
تم الشكر بواسطة: asemshahen5 , mr_hso



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


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