IF !EMPTY(ALIAS()) LOCAL ; lcTable, ; lcFields, ; lcOrderField, ; llEarlyExit && or whatever, starts with .f. lcFields = '' lcTable = ALLTRIM(UPPER(JUSTSTEM(ALIAS()))) lnColumnCount = FCOUNT(lcTable) IF lnColumnCount = 2 FOR ix = 1 TO lnColumnCount lcFields = m.lcFields + IIF(m.ix > 1, ', ','') + FIELD(ix) + ' AS Fld'+TRANSFORM(ix) IF m.ix = 1 lcOrderField = FIELD(ix) ENDIF ENDFOR RunSQL = 'SELECT ' + lcFields + ' FROM ' + lcTable + ' ORDER BY ' + lcOrderField + ' INTO CURSOR ReportCursor HAVING !EMPTY(Fld1)' &RunSQL lnTotalCodes = _TALLY ELSE llEarlyExit = .t. ENDIF ELSE llEarlyExit = .t. ENDIF IF llEarlyExit RELEASE lnTotalCodes SELECT (THIS.CurrentAlias) GOTO THIS.CurrentRecNo ENDIF RETURN NOT llEarlyExitNow, that said, in this case the code you are repeating is mostly unnecessary or required anyways, you do not need RELEASE lnTotalCodes (it should be a local variable) and you do not need to restore the record number, as the SQL will open the table again with different alias, and you need to restore the current alias and return the flag value anyways