Using a button on a parent form to take some action based on the "current" record of a subform is fraught with danger. Are you certain that you ALWAYS know what subform record is "current". If you press the button in the main form without ever moving focus to the subform, the "current" record will be the first row of the subform's recordset. If you set focus to the third record in the subform and than go back to the mainform to press the button, the third record of the subform should still be "current" but are you sure.
I always put buttons that act on the subform record ON the subform itself. If you are using a continuous subform, that is fine since you can add buttons but if the subform is in DS view, you can't use buttons so what to do? I use the double-click event of the ID field. That way, you ALWAYS know what record is current and you can pass the ID of that record to the form you are opening using the OpenArgs as bastanu suggested.