Just create a report based on what records u want to print. Then create a macro of OpenReport and in that macro specify the where condition as
[MyTable]![MyField]=Forms![MyForm]![MyField]
What will happen is that when u'll call that macro behind the button it'll open the report only showing the current record which is on the screen. If u'll specify the Print rather than Print Preview in the macro the report will straight away print without letting user know what happened
You could also put a command button on your form with a macro attached to it (onClick) that has two steps:
1) RunCommand (SelectRecord)
2) PrintOut
-Print Range: Selection
-All other arguments are up to your specifications.