Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
DiscussionsAccessExcelInfoPathOutlookPowerPointPublisherWord
DirectoryUser Groups
Related Topics
Outlook ExpressInternet ExplorerWindowsMS Server ProductsMore Topics ...

MS Office Forum / Word / Mailmerge and Fax / March 2006

Tip: Looking for answers? Try searching our database.

Eliminating a value in a mail merge

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
myrnapap@yahoo.com - 28 Mar 2006 18:06 GMT
I have a mail merge where I want to eliminate printing a field if it
contains a particular value. But I still want to print the record. It's
just the field I want to skip. Can anyone suggest how to do this?

Thanks!
Myrna
Peter Jamieson - 28 Mar 2006 18:19 GMT
You use an IF field. For example, if you don't want to print the value of a
field called myfield when it is "M", use

{ IF "{ MERGEFIELD myfield }" = "M" "" "{ MERGEFIELD myfield }" }

All the special {} pairs can be entered using ctrl-F9. Everything else is
plain text you can type.

Peter Jamieson
>I have a mail merge where I want to eliminate printing a field if it
> contains a particular value. But I still want to print the record. It's
> just the field I want to skip. Can anyone suggest how to do this?
>
> Thanks!
> Myrna
myrnapap@yahoo.com - 28 Mar 2006 19:15 GMT
Thanks, this sounds good. Now one more question - how do I do this if I
want to say 'don't print this field if it contains the word "blank" '
myrnapap@yahoo.com - 28 Mar 2006 19:26 GMT
I guess I need more help than I thought - where do I put the IF
statement? I thought it would go on the mail merge document but that
doesn't seem to work.
Peter Jamieson - 28 Mar 2006 19:36 GMT
It does, but if you need to detect the word "blank" anywhere in the mere
field text, it won't work, sorry.

Peter Jamieson
>I guess I need more help than I thought - where do I put the IF
> statement? I thought it would go on the mail merge document but that
> doesn't seem to work.
Peter Jamieson - 28 Mar 2006 19:35 GMT
Sorry if I misunderstood - you can't do a test using simple fields for 'this
field's text contains the word "blank"' unless you happen to know that
"blank" is at the beginning or end of the text.

You may be able to do that
a. in the data source before you merge, or
b. using a DATABASE field if the data source uses a suitable dialect of SQL
(it is difficult to recommend this approach anyway)
c. using VBA and Word's mailmerge events to examine the content of the
field before each record is merged.

Peter Jamieson

> Thanks, this sounds good. Now one more question - how do I do this if I
> want to say 'don't print this field if it contains the word "blank" '
myrnapap@yahoo.com - 28 Mar 2006 19:40 GMT
I looked at doing it in the select but this will delete the records
having the word 'blank'. I'm not sure how to say that I want to keep
the record but clear the field for this merge. Any thoughts?
Peter Jamieson - 28 Mar 2006 19:55 GMT
You could use an expression in the SELECT to create another field, e.g. in
Jet SQL, something like

SELECT iif(instr(myfield,'blank',1) = 0, myfield, '') AS 'mynewfield', *
FROM ....

(My syntax probably isn't quite right there)

Peter Jamieson
>I looked at doing it in the select but this will delete the records
> having the word 'blank'. I'm not sure how to say that I want to keep
> the record but clear the field for this merge. Any thoughts?
Peter Jamieson - 28 Mar 2006 19:59 GMT
You could use an expression in the SELECT to create another field, e.g. in
Jet SQL, something like

SELECT iif(instr(myfield,'blank',1) = 0, myfield, '') AS 'mynewfield', *
FROM ....

(My syntax probably isn't quite right there)

Peter Jamieson

>I looked at doing it in the select but this will delete the records
> having the word 'blank'. I'm not sure how to say that I want to keep
> the record but clear the field for this merge. Any thoughts?
Graham Mayor - 29 Mar 2006 06:43 GMT
Can we clarify what is in this field? Does it contain just the word 'blank'
or does it contain 'blank' and some other text?
Are you merging just that field?

Signature

<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor -  Word MVP

My web site www.gmayor.com
Word MVP web site http://word.mvps.org
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>

> I looked at doing it in the select but this will delete the records
> having the word 'blank'. I'm not sure how to say that I want to keep
> the record but clear the field for this merge. Any thoughts?
myrnapap@yahoo.com - 30 Mar 2006 16:14 GMT
The field contains a statement "This field intentionally left blank". I
am merging many fields and this is just one of them. I don't want to
skip the record, I just want to print nothing if this is in the field.
Myrna
Peter Jamieson - 30 Mar 2006 19:29 GMT
Matching an exact text is straightforward - just use the whole text instead
of the single word example I gave before. If the text is the same apart from
capitalisation you can use the appropriate \* switches in your MERGEFIELD
field to make the text upper or lower case.

You can also use wildcards to a limited extent, e.g.

{ IF { MERGEFIELD myfield } = "*blank" "x" "y" } should give you "x" if
myfield contains your sample text. You can also do
{ IF { MERGEFIELD myfield } = "something*" "x" "y" } but you can't achieve a
"contains" using

{ IF { MERGEFIELD myfield } = "*something*" "x" "y" }

It doesn't work. Also, you may find that matching only works on relatively
short texts up to 128 characters. There's more about this in Word Help.

Peter Jamieson

> The field contains a statement "This field intentionally left blank". I
> am merging many fields and this is just one of them. I don't want to
> skip the record, I just want to print nothing if this is in the field.
> Myrna

Rate this thread:






 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.