lcSetDeleted = set("deleted") set deleted off locate for deleted() && index on deleted() is always recomended if found() blank recall else append blank endif *update/replace goes here set default to &lcSetDeletedMemos are a different matter, but they can be simulated. Create a pseudo-memo table with key, sequence, text fields where key relates to the parent table, sequence is the sequence number of text blocks that make up the pseudo-memo. you concatenate all the text blocks for a key followinf sequence order into a memory variable for display and editting. You reverse the process to write the text to the table using the record reuse code shown above. This may seem cumbersome but, the Fox memo writing algorithms do not reuse previously allocated space and can grow very quickly if there are many changes to memo fields.