Mike,
Have you considered creating your Report in Word as a template (.dot) file,
with a Word Bookmark at every location where data must be input. You'll
continue to use Access to enter and store your data but would use Word
Automation from your Access database to fill in the template without losing
pagination or formatting. It will take some setup but the results could be
what you are looking for. Below is some code that you can use to
familiarize yourself with the concepts - it's really pretty easy.
SAMPLE:
First, in Access, create a form (if you do not already have one) with Name
and Address info on it. Then, in Word, create a Word template for your form
letter. For this example, the document name is C:\FormLetter.dot. In this
template, you'll use the Insert \ Bookmark command to create a bookmark at
each location in the text where you'll want to insert Access data.
In Access, open any Module in design view. Then select Tools|References and
make sure that you have a reference to the appropriate Word library. Look
for "Microsoft Word xx.x Object Library, where xx.x is the Word version
number. For this example, you will also need a reference to DAO.
' Behind a command button on your form, insert the following code.
BEGIN CODE SAMPLE:
Dim objWord As Object
' Open Microsoft Word using automation
Set objWord = New Word.Application
objWord.Documents.Add "c:\FormLetter.dot"
objWord.Visible = True
' The following code is generated from your Access form while it is
' manipulating an instance of Word.
' So, while it looks somewhat like VBA, it's really Word VBA.
If objWord.ActiveDocument.Bookmarks.Exists("FirstName") = True Then
objWord.ActiveDocument.Bookmarks("FirstName").Range.Text = me!FirstName
End If
If objWord.ActiveDocument.Bookmarks.Exists("LastName") = True Then
objWord.ActiveDocument.Bookmarks("LastName").Range.Text = me!LastName
End If
' ... continue reading data from form and inserting into bookmark
END CODE SAMPLE
hth,