You were right. I didn't need the insert. It's writing to the subform and saving to the table. I moved the focus to the subform, then me.dirty = false, goto next record is working. but sometimes it says it can't go to the next record. Sometimes it works then it stops working with the error...