I say this all the time and I don't think hardly anyone agrees with me. If you want a 3 state interface (SELECT/ADD/EDIT) on a form it is far easier to NOT bind the controls to your tables. You can easily test your selected key field, if it's there use Dlookup or other method to populate your controls then when they want to save, validate it all and build an update query string to update your data. If the key is not found you don't have to go to newrec just enable the controls and at save validate, build an insert query and execute it and the been to select state. Also if you want to lock only one record into place when you're editing, if you have your controls bound to your data source and your user spins the mouse wheel your records go zooming even if you set the form to cycle only the current record. I started out with nothing, and I still have most of it.