高分急求:vb如何计算DataGrid中某列所有数值的和
如图,点COMMAND1自动将材料成本所有行中的值加总至text1中。求源码,成功了加分!在线等...
如图,点COMMAND1自动将材料成本所有行中的值加总至text1中。求源码,成功了加分!在线等
展开
2个回答
展开全部
楼主你好
如果使用楼上的代码的话,你的datagrid里面原先显示的内容就没有了,就变成一个和了,为了使datagrid显示的内容不变化,我特意给你写了如下代码:
Private Sub Command1_Click()
Dim sum As Double 'sum就是所有的和
sum = 0 '先给赋值为0
Adodc1.Recordset.MoveFirst
Do While Not Adodc1.Recordset.EOF '从开始一直到结尾,累加
sum = sum + Adodc1.Recordset.Fields("材料成本")
Adodc1.Recordset.MoveNext
Loop
Text1.Text = Str(sum) '保存到text1中去
Adodc1.Recordset.MoveFirst
End Sub
楼主,虽然上面的方法就能解决问题,但是我还是建议你用adodb,别老是用adodc
我又把adodb的代码写好了:
Private Sub Command1_Click()
Dim cnn As New ADODB.Connection '首先定义adodb两大件
Dim rs As New ADODB.Recordset
Dim myCnnStr As String 'mycnnstr就是连接字符串,楼主根据自己情况自己改下
Dim SQL As String
myCnnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _
& "C:\Documents and Settings\Administrator\桌面\data.mdb" _
& ";Persist Security Info=False"
SQL = "select sum (材料成本) as 总价 from 表" '这个就是连接字符串
cnn.Open myCnnStr '打开连接
rs.Open SQL, cnn, adOpenKeyset, adLockOptimistic '执行sql语句
Text1.Text = rs.Fields("总价") '把总和填到text1中去
rs.Close: cnn.Close '关闭连接
Set rs = Nothing: Set cnn = Nothing
End Sub
如果使用楼上的代码的话,你的datagrid里面原先显示的内容就没有了,就变成一个和了,为了使datagrid显示的内容不变化,我特意给你写了如下代码:
Private Sub Command1_Click()
Dim sum As Double 'sum就是所有的和
sum = 0 '先给赋值为0
Adodc1.Recordset.MoveFirst
Do While Not Adodc1.Recordset.EOF '从开始一直到结尾,累加
sum = sum + Adodc1.Recordset.Fields("材料成本")
Adodc1.Recordset.MoveNext
Loop
Text1.Text = Str(sum) '保存到text1中去
Adodc1.Recordset.MoveFirst
End Sub
楼主,虽然上面的方法就能解决问题,但是我还是建议你用adodb,别老是用adodc
我又把adodb的代码写好了:
Private Sub Command1_Click()
Dim cnn As New ADODB.Connection '首先定义adodb两大件
Dim rs As New ADODB.Recordset
Dim myCnnStr As String 'mycnnstr就是连接字符串,楼主根据自己情况自己改下
Dim SQL As String
myCnnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _
& "C:\Documents and Settings\Administrator\桌面\data.mdb" _
& ";Persist Security Info=False"
SQL = "select sum (材料成本) as 总价 from 表" '这个就是连接字符串
cnn.Open myCnnStr '打开连接
rs.Open SQL, cnn, adOpenKeyset, adLockOptimistic '执行sql语句
Text1.Text = rs.Fields("总价") '把总和填到text1中去
rs.Close: cnn.Close '关闭连接
Set rs = Nothing: Set cnn = Nothing
End Sub
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询