>LOCAL lcSource, lnCount, lnI, lnJ, lnK >FOR lnJ = 1 TO 1000 > WITH ThisForm.Grid1 > lcSource = .RecordSource > .RecordSource = "" > lnCount = .ColumnCount > FOR lnI = lnCount TO 1 STEP -1 > .RemoveObject(.Columns(lnI).Name) > ENDFOR > FOR lnI = 1 TO 3 > .AddObject('Column' + TRANSFORM(lnI), 'Column') > IF lnI = 2 > .Columns(lnI).AddObject("Combo1", "Combobox") > .Columns(lnI).RemoveObject("Text1") > .Columns(lnI).CurrentControl = "Combo1" > ENDIF > .Columns(lnI).Visible = .t. > ENDFOR > lnK = 1 > .RecordSource = (lcSource) > FOR lnI = 1 TO 3 > DO WHILE lnK <= FCOUNT(lcSource) AND NOT INLIST(TYPE(FIELD(lnK)), "C", "D") > IF lnK > FCOUNT(lcSource) > EXIT > ENDIF > lnK = lnK + 1 > LOOP > ENDDO > .Columns(lnI).ControlSource = lcSource + "." + FIELD(lnK) > lnK = lnK + 1 > ENDFOR > ENDWITH >ENDFOR>I have clicked the button several times and got no C5 error. Please try exactly what I did and see if you get the error.