高分急求:vb如何计算DataGrid中某列所有数值的和

如图,点COMMAND1自动将材料成本所有行中的值加总至text1中。求源码,成功了加分!在线等... 如图,点COMMAND1自动将材料成本所有行中的值加总至text1中。求源码,成功了加分!在线等 展开
 我来答
hbclikai
2010-01-25 · TA获得超过459个赞
知道小有建树答主
回答量:1619
采纳率:0%
帮助的人:528万
展开全部
楼主你好
如果使用楼上的代码的话,你的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
cwa9958
2010-01-25 · TA获得超过1884个赞
知道大有可为答主
回答量:2504
采纳率:0%
帮助的人:2004万
展开全部
先说明datagrid里的数据是哪来的
比如 是adodc1控件绑定的,就这样:
Adodc1.RecordSource = "select sum(材料成本)as 和 from 表"
Adodc1.Refresh

text1.text=adodc1.Recordset.Fields("和")
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式