Mutliple Records for each document in mail merge

T

Trey

Hi --

Okay -- having reviewed previous posts -- i'm not exactly sure if I have
already seen the answer to my inquiry, so I'm going to go ahead and post my
question and get a concrete answer for my specific goal.

I am undertaking a new project. I will be receiving excel spreadsheets that
will have info. that I need to include in an e-mail merge in a word document.

There is one column called "Customer Name" that will be sorted in Ascending
Order. The next 7 or 8 columns include the various data that needs to be
displayed in the word document.

I need to display as many lines of data _per word document_ as dictated by
the Customer Name column. So -- if there are 4 consecutive records with the
same Customer Name -- then I need to have the current word document display
the data from those 4 records in a 4-line list.

The thing is -- each word document will vary in number of lines of data. It
could be 4 or it could be 40. I need an automated way to make this happen in
word e-mail merge as I may have to populate up to 100 individual word docs
for said merge.

I think I read some things about taking this excel data into Access and then
having the word docs pull from that Access file? Is that easier/more
efficient?

Thanks again for any help you can provide!!

Cheers,

-Trey
 
D

Doug Robbins

If the following is what you have already seen from previous posts, it is
what applies to your situation.

Word does not really have the ability to perform a "multiple items per
condition (=key field)" mailmerge.

See the "Multiple items per condition" item under the "Special merges"
section of fellow MVP Cindy Meister's website at

http://homepage.swissonline.ch/cindymeister/MergFram.htm

Or take a look at the following Knowledge Base Article

How to Work Around Duplicate Names in Mail Merge Data

http://support.microsoft.com/default.aspx?scid=kb;en-us;302665



Or, if you create a Catalog (on in Word XP and later, it's called Directory)
type mailmerge main document with the mergefields in the cells of a one row
table in the mailmerge main document with the keyfield in the first cell in
the row and then execute that merge to a new document and then run the
following macro, it will create separate tables with the records for each
key field in them. With a bit of further development, you may be able to
get it to do what you want.

' Macro to create multiple items per condition in separate tables from a
directory type mailmerge

Dim source As Document, target As Document, scat As Range, tcat As Range
Dim data As Range, stab As Table, ttab As Table
Dim i As Long, j As Long, k As Long, n As Long
Set source = ActiveDocument
Set target = Documents.Add
Set stab = source.Tables(1)
k = stab.Columns.Count
Set ttab = target.Tables.Add(Range:=Selection.Range, numrows:=1,
numcolumns:=k - 1)
Set scat = stab.Cell(1, 1).Range
scat.End = scat.End - 1
ttab.Cell(1, 1).Range = scat
j = ttab.Rows.Count
For i = 1 To stab.Rows.Count
Set tcat = ttab.Cell(j, 1).Range
tcat.End = tcat.End - 1
Set scat = stab.Cell(i, 1).Range
scat.End = scat.End - 1
If scat <> tcat Then
ttab.Rows.Add
j = ttab.Rows.Count
ttab.Cell(j, 1).Range = scat
ttab.Cell(j, 1).Range.Paragraphs(1).PageBreakBefore = True
ttab.Rows.Add
ttab.Cell(j + 1, 1).Range.Paragraphs(1).PageBreakBefore = False
For n = 2 To k
Set data = stab.Cell(i, n).Range
data.End = data.End - 1
ttab.Cell(ttab.Rows.Count, n - 1).Range = data
Next n
Else
ttab.Rows.Add
For n = 2 To k
Set data = stab.Cell(i, n).Range
data.End = data.End - 1
ttab.Cell(ttab.Rows.Count, n - 1).Range = data
Next n
End If
Next i


--
Hope this helps.

Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.

Doug Robbins - Word MVP
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top