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

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

المطلوب الان  الصنف الرئيسي الذي به نعم نريد ان نجمع القيم التي تخصه والتي تحمل في العمود الاخير نفس الرقم الذي يخصه  

بمعني اخر الصنف الرئيسي اريد ان اعطية مجموع الاصناف الفرعية التابعه له   


هل من حل  
مرفق الصورة
انت تبحث عن موضوع كبير وهو المجموعات داخل datagridview

اطلع 
http://www.vbforums.com/showthread.php?8...-in-vb-net

اطلع
https://www.codeproject.com/Questions/62...a-grid-vie

اطلع
https://stackoverflow.com/questions/4507...-in-vb-net
حياك الله  يا كبير ربنا يسهل
الامر سهل بعون الله
PHP كود :
select count(filedx) as sum(filedy) as y from table where filed Q='yes' group by fieldx 
بالتوفيق
ممكن اسماء الحقول والجدول ليتم عمل جملة SQL مناسبة

وما هو نوع قاعدة البيانات
موضوع انه اعمل جملة بعبارة sql  ليس صعبا كيف بدي اركب الكلام مع داتا قرايد فيو   بدلالة الحقول
جملة الـ SQL هي من تجمع وتقوم بإرجاع الجدول كما ينبعي أن يعرض على الDatagridview
وليس المفترض أن تقومي بترتيب البيانات بعد جلبها

الزبدة في جملة الـ SQL
انا استعملت هذا الكود وموجود فيه اسماء الحقول الكود شغال خارج الداتا قرايد فيو  لكن مع الاداة ما زبطش وصار مشكلة بطء شديد في عرض البيانات  
 For i As Integer = 0 To Me.DataGridView1.Rows.Count - 1

            If Me.DataGridView1.Rows(i).Cells(10).Value = "نعم" Then
                '   Me.DGV_acounts.Rows(i).Cells(6).Style.ForeColor = Color.Red
                Dim cmd As New SqlClient.SqlCommand
                Dim DR_units As SqlClient.SqlDataReader
                Dim MySqlSreach As String
                MySqlSreach = " Select sum(storedetail.q3) as x4  ,sum(storedetail.q4)as x5 ,(sum(storedetail.q3)-sum(storedetail.q4))as x6   From units LEFT JOIN storedetail ON units.itemnum = storedetail.itemnum where  units.maingroup ='" & DataGridView1.CurrentRow.Cells(0).Value & "'  group by units.maingroup" ''" & DataGridView1.CurrentRow.Cells(0).Value & "'  group by units.maingroup " ',storedetail.active order by x6 "


                '    Try
                If Con.State = ConnectionState.Open Then Con.Close()
                Con.Open()
                cmd.Connection = Con
                cmd.CommandType = Data.CommandType.Text
                cmd.CommandText = MySqlSreach
                DR_units = cmd.ExecuteReader
                DR_units.Read()
                If DR_units.HasRows Then

                    DataGridView1.CurrentRow.Cells(3).Value = DR_units("x6").ToString

                    '    MessageBox.Show(DR_units("x6").ToString)
                    DR_units.Close()
                Else
                    DR_units.Close()

                    '  MsgBox(" عفواً . لا يوجد بيانات ", MsgBoxStyle.Information)
                End If
                '    Catch ex As Exception
                '    MessageBox.Show(ex.Message)
                '   Con.Close()
                '  End Try
                Me.DataGridView1.Rows(i).DefaultCellStyle.BackColor = Color.Yellow

            End If
        Next
مثال على جملة الـ SELECT
تأتي البيانات جاهزة للعرض , 

[attachment=16918]




[attachment=16919]


نريد ان نعرض البيانات بالطريقة الموضحة
 
رقم الصنف , اسم الصنف , الوحدة الرئيسية , الرصيد (= مجموع الحركات الواردة – مجموع الحركات الصادرة) سعر البيع , سعر الشراء ,رقم المجموعه التي ينتمي لها الصنف, هل الصنف رئيسي ام فرعي , اخر تاريخ للحركات التي تمت على الصنف 
الصفحات : 1 2