I currently have 4 invoice layouts which all have to be changed whenever an alteration is made. Each invoice prints to a different printer depending on if the invoice is in black & white, colour, needs to be faxed or needs to be e-mailed. I want to be able to use one layout & change the printer for the report at runtime. I have written some code which changes the default system printer to the one which has been setup for whatever type of invoice I want to print but access stores the name of the default printer and just prints to that rather than the actual system default printer. Is there any way of doing this? Thanks in advance for any help/suggestions.