THISFORM.grdfind.RECORDSOURCE = THIS.ccursorname LOCAL nColumnCount, nColNumber nColumnCount = THIS.grdfind.COLUMNCOUNT FOR nColNumber = 1 TO nColumnCount THIS.grdfind.COLUMNS(nColNumber).CONTROLSOURCE = ; THIS.ccursorname + "." + THIS.afieldnames(nColNumber) ENDFORIf I run through this method twice it blows up because nColNumber = 5 (nColumnCount = 4). If I suspend the code below the ENDFOR, nColNumber = 5 at the end of the first pass. Is this normal? I thought that nColNumber would never be greater than 4? On the second call to the method, nColNumber starts out at 5. I use this same variable in the calling program (declared local) and another method in the same form class (also local).