1. When I need to use LOCATE FOR to search my data, do I need to SET ORDER TO myTag before issue LOACATE command? I heard that FOR need index to optimize the searching, is it? However, if Issue SET ORDER TO myTag before LOCATE, it is also time consuming for reorder the index. Any Idea? 2. !DELETED() is not optimized. What should I do if I need to search for those undeleted record frequenty? 3. Does SQL statement in VFP optimized? If I need to search user records from vfp table and add it into listbox, do you prefer SQL statement into array, then loop through array to add the list or use LOCATE FOR ... WHILE NOT EOF() ...CONTINUE command to do this? why? 4. If I have a table which save the list of setting for each company door (door access system), and I would like to let user to modify/delete more than one setting at the sometime and update batch. Since i am using ADO (for example), wat method should I use to update those deleted / updated record? Again, it should enforce the integraty.Thank you in advance