LOCATE is a command not a function.
Its rare that you can say you got two totally different and yet correct answers.
Cetin, is 100% correct on how you would use the LOCATE command from within your button.
If you are making an data edit/entry form Craig, Is correct when he says you do not want to do this.
If this is a data entry screen the path you are taking will have your users editing live data and that can lead to "issues". The view functionality in VFP that Craig speaks of allow you to let the user edit a copy of the data and then you as a programmer can control if that data is saved to the live tables or discarded.
If you are just pulling up data for review the LOCATE and thisform.REFRESH() will be fine.
Alan