|
|
If the data is in an Access database then I would recommend that you use a
report in Access to do it.
--
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
"Merge" wrote in message
...
ABC Corp
Xxxx
Xxxx
Xxx
Dear VENDOR,
Dddddddddddddddddddddddddddddddddddddddddddddddddd dddddddddddddddddddddddddddddddddddddddddddddddddd dddddddddddddddddddddddddddddddddddddddddddddddddd dddddddddddddddddddddddddddddddddddddddddddd
Sincerely
BLAH
BLAH
BLAH
BLAH
Material Code Material Description
Material Code Material Description
Above is an example of what I need: I need the merge to look at the vendor
in the data base and return below all the material code numbers and
material
code descriptions that relate to that one vendor.
I am not sure when to run the macro
Thanks
"Doug Robbins" wrote:
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/cindy...r/MergFram.htm
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
"Merge" Merge @discussions.microsoft.com wrote in message
...
I need to have a merge that goes
If the vendors name is " TOM" which will be a merge field then I also
need
in another column pull all the "material" for that vendor.
Each vendor could have used a diff number of materials
|