*** Zap the 'permanent' cursor *** zapping doesn't close the grid's record source and cause *** the grid to have a nervous breakdown WITH This SELECT ( .RecordSource ) ZAP *** SELECT into a temporary cursor SELECT Client.Cl_Code, Client.Cl_Name, NVL(BusType.BusDesc,'') AS BusDesc, '' AS Country, Client.Cl_key, Client.Bus_Key FROM ; Client LEFT JOIN BusType ON Client.Bus_Key = BusType.Bus_Key ; ORDER BY Client.Cl_Code INTO Cursor Temp NOFILTER *** See if we have any records in the cursor IF _TALLY > 0 *** Append from temporary cursor if it has records SELECT ( .RecordSource ) APPEND FROM DBF( 'Temp' ) ENDIF USE IN Temp ENDWITHHTH