with loGrid *--- Walk through array adding a column to the passed grid for each item in array list. lfor = alen(laColumns,1) .ColumnCount = m.lFor * Add column to grid. *!* .addcolumn(m.i) && Insert column *!* .columncount = m.i && Increment columncount for i=1 to m.lfor *--- Parse out alias and field. * lcField = substr(laColumns[m.i,1],at(".",laColumns[m.i,1])+1) .columns(m.i).controlsource = laColumns[m.i,1] && Assign controlsource .columns(m.i).header1.caption = laColumns[m.i,2] endforDo you see what could be wrong here? Setting RecordSource to "" and back to the table didn't cure the problem.