You certainly can do this.
You don't mention if you are talking about multi-part forms, and a impact
type of printer (dot matrix).
Or, are you planning to feed the sheets through a ink jet, or laser printer?
However, either way You can certainly layout a report that prints the fields
on a sheet of paper.
I find about the best way is simply to guess the layout on the report. You
then print one record to a blank piece of printer. You will need lots of
paper here! You then take the one page of the report on blank paper, and
place it on top of the actual form, and then hold the two up to a light
source. You can then note how much you need to move up/down or whatever
direction each field on the report. Go back to the report, and move things
around some more, and print again. You will probably use up 20 or more blank
pages doing this process. The reasons why you use blank paper is that you
are going to waste 20, or 30 pages while you do this process. Then, once it
looks good, you then start risking/wasting the real forms, and fine tune the
layout.
I done the above to fill out forms a zillion times. You get better and
better at this process each time. I just did one a few nights ago to shove
my own checks through my printer, and made a real cute looking form that
looks just like a check.. There is no automated way to do this. It is your
eyeballs that is the main solution to this!
As for printing one record to the form, you need to built a report (don't
try and print a form). You can simple place the following code behind the
button on the form that prints the one record as:
me.refresh
docmd.OpenReport "the reprot",acViewPreview,,"id = " & me.id
Once you get the above working, then you can even remove the acViewPreivew,
and no printer dialog prompt will appear, and it goes right to the printer
with no prompts.