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

نسخة كاملة : مجموع : حاصل جمع عمود في ListView1 بواسطة Adodc1
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ، مطلوب معرفة حاصل جمع عمود في حالة بدء تحميل فورم او عند الاختيارات
كود :
Public Function LoadOfAdodcListView()
      On Error Resume Next
      Adodc1.RecordSource = "select * from tblEmployee"
      Call Data_Get
End Function
كود :
Private Sub Data_Get()
   On Error Resume Next ': Err.Clear
   Adodc1.CommandType = adCmdText
   Adodc1.Refres
       
   Dim XItem As ListItem
   ListView1.ListItems.Clear

   Do While Not Adodc1.Recordset.EOF
        Set XItem = ListView1.ListItems.Add(, , Adodc1.Recordset(0) & vbNullString)
            XItem.SubItems(1) = Adodc1.Recordset(1) & vbNullString
            XItem.SubItems(2) = Adodc1.Recordset(2) & vbNullString
            XItem.SubItems(3) = Adodc1.Recordset(3) & vbNullString
            XItem.SubItems(4) = Adodc1.Recordset(4) & vbNullString
            XItem.SubItems(5) = Adodc1.Recordset(5) & vbNullString
            XItem.SubItems(6) = Adodc1.Recordset(6) & vbNullString
            Adodc1.Recordset.MoveNext
   Loop
End Sub

عند قيام الاختييارات مثل الكود التالى
كود :
Private Sub cmdAdodcListViewSrBox_Click()
   On Error Resume Next
   Adodc1.RecordSource = "select * from tblEmployee where Sr Between " & Me.txtAdodcListViewSrBox1.Text & " AND " & Me.txtAdodcListViewSrBox2.Text & " Order By Sr"
   Call Data_Get
End Sub
السلام عليكم و رحمة الله و بركاته 
قم بكتابة هذا الكود لايجاد حاصل مجموع عمود في ليست فيو 
PHP كود :
Private Sub Get_Col_Total()
Dim L_Index As Long
    Dim Total_Sum 
As Long
    
    For L_Index 
1 To ListView1.ListItems.Count
        Total_Sum 
Total_Sum ListView1.ListItems(L_Index).SubItems(1)
 
   Next
    
    Label_Total 
Total_Sum
End Sub 

ملاحظة : .SubItems(1) هي رقم العمود المراد تحصيل المجموع منه - يمكنك تغييره الى رقم العمود المناسب

و من ثم تعديل كود Data_Get ليصبح بهذا الشكل : 
PHP كود :
Private Sub Data_Get()
 
  On Error Resume Next ': Err.Clear
   Adodc1.CommandType = adCmdText
   Adodc1.Refres
       
   Dim XItem As ListItem
   ListView1.ListItems.Clear

   Do While Not Adodc1.Recordset.EOF
        Set XItem = ListView1.ListItems.Add(, , Adodc1.Recordset(0) & vbNullString)
            XItem.SubItems(1) = Adodc1.Recordset(1) & vbNullString
            XItem.SubItems(2) = Adodc1.Recordset(2) & vbNullString
            XItem.SubItems(3) = Adodc1.Recordset(3) & vbNullString
            XItem.SubItems(4) = Adodc1.Recordset(4) & vbNullString
            XItem.SubItems(5) = Adodc1.Recordset(5) & vbNullString
            XItem.SubItems(6) = Adodc1.Recordset(6) & vbNullString
            Adodc1.Recordset.MoveNext
   Loop
   
   Call Get_Col_Total
End Sub 

بمعنى آخر : 
قم باستدعاء كود الجمع في اي مكان تريده بمناداته بهذا الشكل : 
PHP كود :
Call Get_Col_Total 

بالتوفيق
السلام عليكم
جزاك الله خير .. الكود اشتغل
هل ممكن تطبيق الكود ده على DataGrid1 بدل من ListView1 وكيف ؟
استفد من هذا الكود :
PHP كود :
Private Sub Get_dblSum()
Dim dblSum As Double
  
Me
.Adodc1.Recordset.MoveFirst
Do While Not Me.Adodc1.Recordset.EOF
dblSum 
dblSum Me.Adodc1.Recordset.Fields(2)
Me.Adodc1.Recordset.MoveNext
Loop
MsgBox 
"Total: " dblSum
  
Me
.Adodc1.Recordset.MoveFirst
End Sub 
جزاك الله خير استاذ امير .. الكود اشتغل و الحمد لله
الكود شغال 100/100
(14-01-18, 07:54 PM)Amir_Alzubidy كتب : [ -> ]السلام عليكم و رحمة الله و بركاته 
قم بكتابة هذا الكود لايجاد حاصل مجموع عمود في ليست فيو 
PHP كود :
Private Sub Get_Col_Total()
Dim L_Index As Long
    Dim Total_Sum 
As Long
    
    For L_Index 
1 To ListView1.ListItems.Count
        Total_Sum 
Total_Sum ListView1.ListItems(L_Index).SubItems(1)
 
   Next
    
    Label_Total 
Total_Sum
End Sub 

ملاحظة : .SubItems(1) هي رقم العمود المراد تحصيل المجموع منه - يمكنك تغييره الى رقم العمود المناسب

و من ثم تعديل كود Data_Get ليصبح بهذا الشكل : 
PHP كود :
Private Sub Data_Get()
 
  On Error Resume Next ': Err.Clear
   Adodc1.CommandType = adCmdText
   Adodc1.Refres
       
   Dim XItem As ListItem
   ListView1.ListItems.Clear

   Do While Not Adodc1.Recordset.EOF
        Set XItem = ListView1.ListItems.Add(, , Adodc1.Recordset(0) & vbNullString)
            XItem.SubItems(1) = Adodc1.Recordset(1) & vbNullString
            XItem.SubItems(2) = Adodc1.Recordset(2) & vbNullString
            XItem.SubItems(3) = Adodc1.Recordset(3) & vbNullString
            XItem.SubItems(4) = Adodc1.Recordset(4) & vbNullString
            XItem.SubItems(5) = Adodc1.Recordset(5) & vbNullString
            XItem.SubItems(6) = Adodc1.Recordset(6) & vbNullString
            Adodc1.Recordset.MoveNext
   Loop
   
   Call Get_Col_Total
End Sub 

بمعنى آخر : 
قم باستدعاء كود الجمع في اي مكان تريده بمناداته بهذا الشكل : 
PHP كود :
Call Get_Col_Total 

بالتوفيق




عمت مساءاً أخي العزيز أريد تطبيق نفس الطريقة على داتا قرايد فيو والناتج في تيكت بوكس حفظك الله
(08-12-22, 09:21 PM)عبدالمؤمن كتب : [ -> ]
عمت مساءاً أخي العزيز أريد تطبيق نفس الطريقة على داتا قرايد فيو والناتج في تيكت بوكس حفظك الله

اهلا بك اخي الكريم ، 
ان كنت تقصد داتا قريد vb6  
PHP كود :
   Dim i As Integer
    Dim sum 
As Double
   For i 
0 To RS.RecordCount 1
        sum
sum CDbl(DataGrid1.Columns(1).Text)
 
       RS.MoveNext
    Next i
   Label1
.Caption sum 


مثال : [attachment=28530]
اما ان كنت تقصد داتا قريد فيو vb.net  ضع سؤالاً في قسم اسئلة الدوت نت 
تحياتي لك