DIMENSION laTableList[20] laTableList[1] = "table1" laTableList[2] = "table2" ... laTableList[19] = "table19" laTableList[20] = "table20" FOR i=1 TO ALEN(laTableList) SELECT cell, ; SUM(field1) AS SumField1, ; ... ; SUM(fieldN) AS SumFieldN ; FROM (laTableList(i)) ; GROUP BY cell ; INTO CURSOR crsTemp IF i=1 Afields(laFields) CREATE CURSOR crsCumulative FROM ARRAY laFields ENDIF SELECT crsCumulative APPEND FROM ( Dbf("crsTemp") ) ENDFOR SELECT cell, ; SUM(SumField1) AS SumField1, ; ... ; SUM(SumFieldN) AS SumFieldN ; FROM crsCumulative ; GROUP BY cell ; INTO CURSOR crsResult