Well I replied quickly and typed the code just to give you the idea. The error you get is because the count and rows should refer the realdatabase you have behing the datagrid (dataset or dataview or whatever). Since I don't know the architecure of your application I don't konw how to address it but you can easily transpose the following code: Let's suppose you have a dataset called d1 with a table t1 with two columns: c1 & c2. Where c2 is the progressive total as you want. You can create a sub passing the table, the index of the value column and the index of the progressive total column as follows: private sub RecalcProgressive(dt as datatable,i1 as integer,i2 as integer) dim index as integer ' if dt.rows.count=0 then exit sub ' If no records then exit dt.rows(0).item(i2)=dt.rows(0).item(i1) ' First line only progressive=value if dt.rows.count=1 then exit sub ' If only one line then it's done for index=1 to dt.rows.count-1 ' For each line in the DB dt.rows(index).item(i2)=dt.rows(index).item(i1)+dt.rows(index-1).item(i2) ' Calc next index end sub Then, according to the hypothesis before, you can call it: public sub Main <...> RecalcProgressive(d1.t1,1,2) <...> end sub Bye Briga