منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] عمل رصيد تراكمى لاكثر من صنف فى نفس الجريد - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [VB.NET] عمل رصيد تراكمى لاكثر من صنف فى نفس الجريد (/showthread.php?tid=27769)

الصفحات: 1 2 3


RE: عمل رصيد تراكمى لاكثر من صنف فى نفس الجريد - break - 06-12-18

(05-12-18, 08:09 PM)asemshahen5 كتب :
كود :
Dim param As New ArrayList
   Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click

       param.Clear()
       For Each row As DataGridViewRow In DataGridView1.Rows
           param.Add(row.Cells(0).Value)
       Next
   End Sub

   Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
       For i = 0 To param.Count - 1
           MsgBox(param(i).ToString)
       Next
   End Sub
جزاك الله خيرا 
شكرا لك

(05-12-18, 09:58 PM)حريف برمجة كتب :
(05-12-18, 07:52 PM)break كتب :
(05-12-18, 06:03 PM)asemshahen5 كتب : ما المعلومات الذي تريد تعبئة المصفوفة منها .
ضع صورة لتصورك عما تريده عن طريق الاكسيل او صورة .

افترض حضرتك دى جريد اول عمود اسم الصنف وثانى عمود اسم الصنف

عايز اكون مصفوفة وتعبئتها برقم الصنف

وعمل لوب عليها يطلع ارقام الاصناف فى رسالة متتابعة

هذا المطلوب بدون عمل مصفوفة ،، الدوران يكون مباشر على القريدفيو :

فقط قم بتغيير الخلية(6) بالرقم الذي تريده :

كود :
For i = 0 To dgv.Rows.Count - 1
          msgbox(Val(dgv.Rows(i).Cells(6).Value))
      Next
جزاك الله خيرا 
شكرا لك 
والشكر موصول الى القائمين على هذا المنتدى المبارك


RE: عمل رصيد تراكمى لاكثر من صنف فى نفس الجريد - atefkhalf2004 - 06-12-18

السيد الفاضل
في المثال test
كيف يمكن ايجاد الرصيد دون عرض  الجريد
اي
في المثال يعرض  جريد  ثم  يحسب الرصيد

ارجو حساب الرصيد  من خلال مثلا
for ....next
rows
next
ثم يحسب الرصيد
ثم يعرض  الداتا جريد


RE: عمل رصيد تراكمى لاكثر من صنف فى نفس الجريد - asemshahen5 - 07-12-18

تستطيع حسابه عن طريق استعلام .


RE: عمل رصيد تراكمى لاكثر من صنف فى نفس الجريد - atefkhalf2004 - 07-12-18

ماشي حرضتك
كيف
يمكن عمل حلقة تكرارية
For each row as dataro
كود حساب الرصيد علي مستوي الصنف
Next
ثم عرض الريصد في الجريد اوفي تقرير كريستال مثلا
لكن كيف يتم ذلك


RE: عمل رصيد تراكمى لاكثر من صنف فى نفس الجريد - atefkhalf2004 - 07-12-18

كيف ؟؟؟؟
او
كيف
بالاستعلام


RE: عمل رصيد تراكمى لاكثر من صنف فى نفس الجريد - asemshahen5 - 07-12-18

بالنسبة للكود في الحلقة التكرارية موجود بالمثال بالمشاركة رقم 10 اما بالنسبة للاستعلام تفضل :

كود :
SELECT        SUM(CTAGRE_IN) - SUM(CATGRE_OUT) AS CATGRE_RASSED, CATGRE_NAME, CATGRE_ID
FROM            dbo.CTAGRE
GROUP BY CATGRE_NAME, CATGRE_ID



RE: عمل رصيد تراكمى لاكثر من صنف فى نفس الجريد - atefkhalf2004 - 07-12-18

شكرا  

لكن هذا ما لا اطلبة
ما اطلبه  هو

عمل حلقة تكرارية
مثل الموجودة في المثال
مع ايجاد  الرصيد للصنف دون اللجوء الي الجريد
شكرا
اتمني الوصول الي حل


RE: عمل رصيد تراكمى لاكثر من صنف فى نفس الجريد - asemshahen5 - 08-12-18

كود :
Dim dt As New DataTable
   Private Sub net2()
       Dim da As New OleDbDataAdapter("Select * From balanc", con)
       con.Open()
       dt.Clear()
       da.Fill(dt)
       'عمل لوب لحساب الصنف
       Dim a As Double = 0
       For j As Integer = 0 To dt.Rows.Count - 1
           For i As Integer = 0 To dt.Rows.Count - 1
               Dim currnt As String = dt.Rows(j)(3)
               Dim currnt1 As String = dt.Rows(i)(3)
               Dim v As Object = dt.Rows(i)(3)
               Dim x As Object = dt.Rows(i)(6)
               If currnt = v Then
                   a = a + dt.Rows(i)(4) - dt.Rows(i)(5)
                   dt.Rows(i)(6) = a
               ElseIf currnt <> v Then
                   a = 0
               End If
           Next
       Next
       dgv.DataSource = dt
       con.Close()
   End Sub



RE: عمل رصيد تراكمى لاكثر من صنف فى نفس الجريد - atefkhalf2004 - 08-12-18

شكرا لك كثيرا
تسلم ويسلم اعضاء المنتدي الافاضل