Reply
 
Thread Tools Display Modes
  #1   Report Post  
Zanari
 
Posts: n/a
Default Multiple items per condition

Is there a way I can mail merge asking one field a question to get the merge
result from another field.

example:

field names: Set, Set 1, Set 2, Set 3, Set 4
The set field either has 1, 2, 3, or 4 and depending on that number gets the
information from that Set 1, Set 2, Set 3, or Set 4 field.
for a final result of
Set = 2 and merges the information from the Set 2 Field, no other field

I hope you understand what I am asking.
Thank you for your time
Lori
  #2   Report Post  
Doug Robbins
 
Posts: n/a
Default

Is this really multiple items per condition, or is there just one record in
any one of Sets 1, 2, 3, or 4 for each record in Set.

If there is only the one record, then you can use an If...then...Else
construction:

{ IF { MERGEFIELD Set } = 1 { MERGEFIELD Set1 } { IF { MERGEFIELD Set } = 2
{ MERGEFIELD Set2 } { IF { MERGEFIELD Set } = 3 { MERGEFIELD Set3 } {
MERGEFIELD Set4 }}}}

If on the other hand you really are talking about merging multiple items per
condition, 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
"Zanari" wrote in message
...
Is there a way I can mail merge asking one field a question to get the
merge
result from another field.

example:

field names: Set, Set 1, Set 2, Set 3, Set 4
The set field either has 1, 2, 3, or 4 and depending on that number gets
the
information from that Set 1, Set 2, Set 3, or Set 4 field.
for a final result of
Set = 2 and merges the information from the Set 2 Field, no other field

I hope you understand what I am asking.
Thank you for your time
Lori



  #3   Report Post  
Zanari
 
Posts: n/a
Default

Hello Doug and thank you for your reply. As I was writing it, I was afraid I
wouldn't explain it correctly. Yes, you are correct. Within one record. I
was having a little difficulty explaining properly what I wanted to do.

"Doug Robbins" wrote:

Is this really multiple items per condition, or is there just one record in
any one of Sets 1, 2, 3, or 4 for each record in Set. I tried to do what you have below and it just wasn't working for me. I will try it again. Thank you for your help.




If there is only the one record, then you can use an If...then...Else
construction:

{ IF { MERGEFIELD Set } = 1 { MERGEFIELD Set1 } { IF { MERGEFIELD Set } = 2
{ MERGEFIELD Set2 } { IF { MERGEFIELD Set } = 3 { MERGEFIELD Set3 } {
MERGEFIELD Set4 }}}}

If on the other hand you really are talking about merging multiple items per
condition, 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
"Zanari" wrote in message
...
Is there a way I can mail merge asking one field a question to get the
merge
result from another field.

example:

field names: Set, Set 1, Set 2, Set 3, Set 4
The set field either has 1, 2, 3, or 4 and depending on that number gets
the
information from that Set 1, Set 2, Set 3, or Set 4 field.
for a final result of
Set = 2 and merges the information from the Set 2 Field, no other field

I hope you understand what I am asking.
Thank you for your time
Lori




  #4   Report Post  
Zanari
 
Posts: n/a
Default

Hi Doug ~

I cannot imagine what I am doing incorrectly but it is just not
working...even using your code and altering it to my database. I have been
trying it all morning. I will just have to do it in a query manner and then
combine the two merges once printed.

"Doug Robbins" wrote:

Is this really multiple items per condition, or is there just one record in
any one of Sets 1, 2, 3, or 4 for each record in Set.

If there is only the one record, then you can use an If...then...Else
construction:

{ IF { MERGEFIELD Set } = 1 { MERGEFIELD Set1 } { IF { MERGEFIELD Set } = 2
{ MERGEFIELD Set2 } { IF { MERGEFIELD Set } = 3 { MERGEFIELD Set3 } {
MERGEFIELD Set4 }}}}

If on the other hand you really are talking about merging multiple items per
condition, 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
"Zanari" wrote in message
...
Is there a way I can mail merge asking one field a question to get the
merge
result from another field.

example:

field names: Set, Set 1, Set 2, Set 3, Set 4
The set field either has 1, 2, 3, or 4 and depending on that number gets
the
information from that Set 1, Set 2, Set 3, or Set 4 field.
for a final result of
Set = 2 and merges the information from the Set 2 Field, no other field

I hope you understand what I am asking.
Thank you for your time
Lori




Reply
Thread Tools
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
text with multiple fonts inserted into document with multiple columns? [email protected] New Users 4 July 22nd 05 01:45 AM
How does one copy multiple items to a drop-down list? Jacquie Microsoft Word Help 1 May 1st 05 05:04 PM
Multiple items per condition Mary Mailmerge 1 April 13th 05 08:29 AM
Really New Newbie - Multiple Items - Question Ken Le Gall Mailmerge 1 February 4th 05 11:21 PM
Multiple docs open multiple words Ron Smith New Users 2 December 11th 04 09:21 PM


All times are GMT +1. The time now is 11:47 PM.

Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 Microsoft Office Word Forum - WordBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Word"