The following should work:
docmd.OpenForm "formname",,,"id = " & me!id
The above of course assumes that you have a primary key of ID in the
underlying table (which is usually the case).
The only additional thing you need to be aware of is if do you allow edits
on the current form before you launched that new additional form? If yes,
then you'll have the situation that the current record can be dirty (been
changed). Now, we're launching another form to edit the same record. This
will result in an error message that is somewhat confusing, it will say that
the current record has been edited by another user, when in fact that other
user is your other form!
To prevent the above problem, then you want to flush the current forms dirty
record to the table before you launch another record the exact same record.
you can use the following code
if me.Dirty = True then
me.Dirty = false
end if
docmd.OpenForm "formName",,,"id = " & me!id
I as a general habit pretty much force a disk write of the current record
when launching other forums that don't even edit the same record. I do this
because any report, or any other form that actually does need a current
records information, but pulls it from the actual tabled will actually see
the changes right away. furthermore, if a two or three records deep into my
application, and the system freezes up for some reason, that I don't lose
the three or four records deep I entered.