Villica<br>I'm not sure of the design of your form, but here is a procedure that I have used to print a report based on the current record shown in the form. I haven't tried it with a mailing label, but since a mailing label is a type of report I assume it will work.<br><br>Create a macro that opens a report (mailing label). This macro uses the OpenReport action. Set a Where Condition argument to make the report display the same record currently displayed in the form.<br><br>For example, assume the form is called "frmDonations" and it has a number of fields, including FirstName, LastName, Address, et. It also has a RecordID field, and each entry in that field is unique. I assume this form would be based on a table which holds the records.<br><br>The macro would look like this...<br>ACTION: OpenReport<br>ARGUMENTS: REPORT NAME: rptMailingLabelsForDonations (or whatever yours is called)<br>VIEW: Print<br>WHERE CONDITION: [field name]=[Forms]![form name]![form control name]<br><br>Using the example above, this WHERE CONDITION would be...<br>[RecordID]=[Forms]![frmDonations]![RecordID]<br><br>You can then attach this macro to the On Click property of a command button, that prints the current record when you press the button after saving that record (shift-enter) but with that record still in focus.<br><br>Hope this helps.<br>Tom