VB6.0的Datagrid空间 怎么只对当前表格中的数据求和?

时间:2022-04-13 10:15:04
datagrid 用select from  where 语句查询出来的数据 已经不是整个数据库的数据,那么我想对当前显示的这一列里面的数据求和 并显示到Text中 ,怎么实现?

16 个解决方案

#1


该回复于2011-02-24 15:53:32被版主删除

#2


select sum(my_field) from my_table where

#3


引用 2 楼 jjhhgg1111 的回复:
select sum(my_field) from my_table where


问题就是 my_field 怎么取  比如我点在A列 那么 A列的字段名该如何传递进去?

#4


也可以从头到尾计算

while not rs.eof
    sumT=sumT + rs.fields("my_field")
    rs.movenext

#5


引用 4 楼 jjhhgg1111 的回复:
也可以从头到尾计算

while not rs.eof
  sumT=sumT + rs.fields("my_field")
  rs.movenext


我现在只有一个 TEXT 有很多列 Text 里面显示对哪一列的求和取决于我鼠标 位于那一列上 这一列并不是固定的

#6


自己顶!!

#7



Private Sub DataGrid1_HeadClick(ByVal ColIndex As Integer)
    Dim i As Integer
    Dim sumT As Long
    
    DataGrid1.Col = ColIndex
    
    For i = 0 To Adodc1.Recordset.RecordCount - 1
        DataGrid1.Row = i
        sumT = sumT + DataGrid1.Text
    Next i
    
    Debug.Print sumT
    
End Sub

#8


引用 7 楼 jjhhgg1111 的回复:
VB code

Private Sub DataGrid1_HeadClick(ByVal ColIndex As Integer)
    Dim i As Integer
    Dim sumT As Long
    
    DataGrid1.Col = ColIndex
    
    For i = 0 To Adodc1.Recordset.RecordCou……


    DataGrid1.Col = ColIndex 这个是什么意思?
怎么把结果显示在TEXT中呢? 谢谢 我新手

#9


Private Sub DataGrid1_HeadClick(ByVal ColIndex As Integer)
    Dim i As Integer
    Dim sumT As Long
    
    DataGrid1.Col = ColIndex
    
    For i = 0 To Adodc1.Recordset.RecordCount - 1
        DataGrid1.Row = i
        sumT = sumT + DataGrid1.Text
    Next i
    
    text1.text= sumT
    
End Sub

#10


引用 9 楼 jhone99 的回复:
VB code
Private Sub DataGrid1_HeadClick(ByVal ColIndex As Integer)
    Dim i As Integer
    Dim sumT As Long
    
    DataGrid1.Col = ColIndex
    
    For i = 0 To Adodc1.Recordset.RecordCount……

sumT = sumT + DataGrid1.Text 编译是错误 这句话“类型不匹配”

#11


该回复于2011-02-24 16:29:48被版主删除

#12


自己顶啊!

#13


Dim sumT As Long
**************
改成你的类型,比如double

#14


各位大师,这代码可以帮忙加点;容错代码;我选择其他不是数字段就报错误

#15


小弟编成菜鸟,可以在给点代码

#16


sumT = sumT + DataGrid1.Text 编译是错误 这句话“类型不匹配”
我帮你调试出来了:
通过val 把字符转换一下,就通用了统计所有行有数值的不报错误

代码如下:
Private Sub DataGrid1_HeadClick(ByVal ColIndex As Integer)
    Dim i As Integer
    Dim sumT As double
    
    DataGrid1.Col = ColIndex
    
    For i = 0 To Adodc1.Recordset.RecordCount - 1
        DataGrid1.Row = i
        sumT = val(sumT) +val( DataGrid1.Text)                         '改转换一下字符
    Next i
    
    text1.text= sumT
    
End Sub

#1


该回复于2011-02-24 15:53:32被版主删除

#2


select sum(my_field) from my_table where

#3


引用 2 楼 jjhhgg1111 的回复:
select sum(my_field) from my_table where


问题就是 my_field 怎么取  比如我点在A列 那么 A列的字段名该如何传递进去?

#4


也可以从头到尾计算

while not rs.eof
    sumT=sumT + rs.fields("my_field")
    rs.movenext

#5


引用 4 楼 jjhhgg1111 的回复:
也可以从头到尾计算

while not rs.eof
  sumT=sumT + rs.fields("my_field")
  rs.movenext


我现在只有一个 TEXT 有很多列 Text 里面显示对哪一列的求和取决于我鼠标 位于那一列上 这一列并不是固定的

#6


自己顶!!

#7



Private Sub DataGrid1_HeadClick(ByVal ColIndex As Integer)
    Dim i As Integer
    Dim sumT As Long
    
    DataGrid1.Col = ColIndex
    
    For i = 0 To Adodc1.Recordset.RecordCount - 1
        DataGrid1.Row = i
        sumT = sumT + DataGrid1.Text
    Next i
    
    Debug.Print sumT
    
End Sub

#8


引用 7 楼 jjhhgg1111 的回复:
VB code

Private Sub DataGrid1_HeadClick(ByVal ColIndex As Integer)
    Dim i As Integer
    Dim sumT As Long
    
    DataGrid1.Col = ColIndex
    
    For i = 0 To Adodc1.Recordset.RecordCou……


    DataGrid1.Col = ColIndex 这个是什么意思?
怎么把结果显示在TEXT中呢? 谢谢 我新手

#9


Private Sub DataGrid1_HeadClick(ByVal ColIndex As Integer)
    Dim i As Integer
    Dim sumT As Long
    
    DataGrid1.Col = ColIndex
    
    For i = 0 To Adodc1.Recordset.RecordCount - 1
        DataGrid1.Row = i
        sumT = sumT + DataGrid1.Text
    Next i
    
    text1.text= sumT
    
End Sub

#10


引用 9 楼 jhone99 的回复:
VB code
Private Sub DataGrid1_HeadClick(ByVal ColIndex As Integer)
    Dim i As Integer
    Dim sumT As Long
    
    DataGrid1.Col = ColIndex
    
    For i = 0 To Adodc1.Recordset.RecordCount……

sumT = sumT + DataGrid1.Text 编译是错误 这句话“类型不匹配”

#11


该回复于2011-02-24 16:29:48被版主删除

#12


自己顶啊!

#13


Dim sumT As Long
**************
改成你的类型,比如double

#14


各位大师,这代码可以帮忙加点;容错代码;我选择其他不是数字段就报错误

#15


小弟编成菜鸟,可以在给点代码

#16


sumT = sumT + DataGrid1.Text 编译是错误 这句话“类型不匹配”
我帮你调试出来了:
通过val 把字符转换一下,就通用了统计所有行有数值的不报错误

代码如下:
Private Sub DataGrid1_HeadClick(ByVal ColIndex As Integer)
    Dim i As Integer
    Dim sumT As double
    
    DataGrid1.Col = ColIndex
    
    For i = 0 To Adodc1.Recordset.RecordCount - 1
        DataGrid1.Row = i
        sumT = val(sumT) +val( DataGrid1.Text)                         '改转换一下字符
    Next i
    
    text1.text= sumT
    
End Sub