Ini adalah cara yang saya lakukan untuk melakukan penjumlahan di datagrid. Sebenarnya yang dilakukan adalah bukan yang berada didalam datagrid, tapi nilai datanya itu yang terdapat di dalam sebuah recordset kita ambil setelah itu kita jumlahkan. Berikut source codenya

If rsInfoBeli.State = adStateOpen Then Set rsInfoBeli = Nothing
DoEvents
Set Cn = New ClsKoneksi
strsql = “Call sp_info_beli_pertgl (‘” & dt1.Value & “‘,'” & Dt2.Value & “‘)”
rsInfoBeli.Open strsql, AdoBarang, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = rsInfoBeli

Dim curGrandTotal As Currency
If rsInfoBeli.RecordCount > 0 Then
rsInfoBeli.MoveFirst
Do Until rsInfoBeli.EOF
curGrandTotal = curGrandTotal + IIf(IsNull(rsInfoBeli.Fields(5)), 0, rsInfoBeli.Fields(5))
rsInfoBeli.MoveNext
Loop
End If
TxtTerbayar.Text = curGrandTotal

Ket :
rsInfobeli adalah sebuah recordset untuk menyimpan data hasil qury.
rsInfoBeli.Fields(5) adalah nilai field yang akan dijumlahkan.
IIf(IsNull(rsInfoBeli.Fields(5)) adalah sebuah pernyataan jika terdapat nilai null dalam field itu maka diganti dengan 0 supaya bisa dilakukan operasi penjumlahan.
strsql = “Call sp_info_beli_pertgl dst adalah perintah sql, kebetulan disini menggunakan store procedure.