Dim i
    Static Count_Zs As Integer
    Count_Zs = 0
    For i = 1 To ListView1.ListItems.Count
        If ListView1.ListItems(i).Checked Then
            'MsgBox ListView1.ListItems(i).SubItems(1) & " 是选中的!"
            If ListView1.ListItems(i).SubItems(2) = ListView1.ListItems(i + 1).SubItems(2) And ListView1.ListItems(i).SubItems(3) = ListView1.ListItems(i + 1).SubItems(3) Then
                
                Count_Zs = Count_Zs + ListView1.ListItems(i).SubItems(5)
            就是想把产品名称和规格相同的记录的数量相加.变成一条记录,显示在rk_depot的grid上,现在问题是:
              假设第一条和第四条的名称和规格相同,以上的IF语句就没用了.怎么办?
              或者有其他办法也可以.希望大家帮我想想。不明白的.发帖.我在线等
                Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 0) = ListView1.ListItems(i).SubItems(1)
                Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 1) = ListView1.ListItems(i).SubItems(2)'规格
                Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 2) = ListView1.ListItems(i).SubItems(3)'型号
                Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 3) = ListView1.ListItems(i).SubItems(4)
                Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 4) = Count_Zs
                Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 5) = ListView1.ListItems(i).SubItems(6) + ListView1.ListItems(i - 1).SubItems(6)
                Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 6) = ListView1.ListItems(i).SubItems(7) + ListView1.ListItems(i - 1).SubItems(7)
                Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 7) = ListView1.ListItems(i).SubItems(8)
                Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 8) = ListView1.ListItems(i).SubItems(9)
            Else
                Rk_Depot.Grid.Rows = Rk_Depot.Grid.Rows + 1
                Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 0) = ListView1.ListItems(i).SubItems(1)
                Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 1) = ListView1.ListItems(i).SubItems(2)
                Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 2) = ListView1.ListItems(i).SubItems(3)
                Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 3) = ListView1.ListItems(i).SubItems(4)
                Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 4) = ListView1.ListItems(i).SubItems(5)
                Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 5) = ListView1.ListItems(i).SubItems(6)
                Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 6) = ListView1.ListItems(i).SubItems(7)
                Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 7) = ListView1.ListItems(i).SubItems(8)
                Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 8) = ListView1.ListItems(i).SubItems(9)          End If
        Else
            'MsgBox ListView1.ListItems(i).Text & " 没选中!"
            'Exit Sub
        End If

解决方案 »

  1.   

    n = ListView1.SelectedItem.Index
        If n > 0 Then
            Count_Zs = ListView1.ListItems(n).SubItems(5)
            sub6 = ListView1.ListItems(n).SubItems(6)
            sub7 = ListView1.ListItems(n).SubItems(7)        For i = n + 1 To ListView1.ListItems.Count
                If ListView1.ListItems(n).SubItems(2) = ListView1.ListItems(i).SubItems(2) And ListView1.ListItems(n).SubItems(3) = ListView1.ListItems(i).SubItems(3) Then
                    
                    Count_Zs = Count_Zs + ListView1.ListItems(i).SubItems(5)
                    sub6 = sub6 + ListView1.ListItems(i).SubItems(6)
                    sub7 = sub7 + ListView1.ListItems(i).SubItems(7)
            Next i
            i = Rk_Depot.Grid.Rows - 1
            Rk_Depot.Grid.TextMatrix(i, 0) = ListView1.ListItems(n).SubItems(1)
            Rk_Depot.Grid.TextMatrix(i, 1) = ListView1.ListItems(n).SubItems(2)'规格
            Rk_Depot.Grid.TextMatrix(i, 2) = ListView1.ListItems(n).SubItems(3)'型号
            Rk_Depot.Grid.TextMatrix(i, 3) = ListView1.ListItems(n).SubItems(4)
            Rk_Depot.Grid.TextMatrix(i, 4) = Count_Zs
            Rk_Depot.Grid.TextMatrix(i, 5) = Sub6
            Rk_Depot.Grid.TextMatrix(i, 6) = Sub7
            Rk_Depot.Grid.TextMatrix(i, 7) = ListView1.ListItems(n).SubItems(8)
            Rk_Depot.Grid.TextMatrix(i, 8) = ListView1.ListItems(n).SubItems(9)
        Else
            '......
      

  2.   

    假设选6条记录,1,6相同  2,5相同 3,4有个不相同这样的话.在rk_depot.grid上面应该显示的是4条记录.即:1+6的 2+5的 3的   4的老大把        i = Rk_Depot.Grid.Rows - 1
            Rk_Depot.Grid.TextMatrix(i, 0) = ListView1.ListItems(n).SubItems(1)
            Rk_Depot.Grid.TextMatrix(i, 1) = ListView1.ListItems(n).SubItems(2)'规格
    ................................写在了循环之外是什么意思?