View Single Post
  #7   Report Post  
Graham Mayor
 
Posts: n/a
Default Suppressing Merge Field and text before/after

This type of comparison is covered at
http://www.gmayor.com/formatting_word_fields.htm however the calculation
required to add the 2 months to the current date is extremely complex and
can be seen at http://www.gmayor.com/insert_a_date_...than_today.htm To
incorporate the two into a single calculation will be fun Thus:

{ IF { Mergefield Lic_1_Exp_date \@ "yyyyMMdd" } = "{QUOTE{SET Delay
2}{SET mm{=MOD({DATE \@ M}+Delay-1,12)+1}}{SET yy{={DATE \@
yyyy}+INT((Delay+{DATE \@ M}-1)/12)}}{SET dd{=IF(({DATE \@
d}28)*(mm=2)*((MOD(yy,4)=0)+(MOD(yy,400)=0)-(MOD(yy,100)=0))=1,29,IF(({DATE
\@ d}29)*(mm=2)=1,28,IF((mm=4)+(mm=6)+(mm=9)+(mm=11) +({DATE \@
d}30)1,30,{DATE \@ d})))}}{=dd*10^6+mm*10^4+yy \# "00'-'00'-'0000"} \@
"yyyyMMdd"}" "We show that your driver's license expires on { MERGEFIELD
Lic_1_Exp_date \@ "d MMM yyyy" }. Please submit an updated copy of your
driver's license." }

It may be simpler to add the future date to your database and compare with
that.

Credit goes to ng contributor 'Macropod' for the work on calculations - see
the extent of this in his document linked from
http://www.gmayor.com/insert_a_date_...than_today.htm

If you contact me via the feedback link on my web site, I will mail you a
document containing the calculation, which you can paste into your merge
document, for I fear you will never duplicate the above manually.
--

Graham Mayor - Word MVP

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

julie wrote:
Thank you all. I have this working beautifully.

Now, I have another challenge (if anyone is willing to help). I'd
like to compare the merge field date to today's date + 2 months
(e.g., if today is 11/11/2005 and the merge date is 1/1/2006 or
greater, I'd like to supress the merge field and text). Here's what
I've been working with to see if I can insert Field Date in the
field code to start with, but this produces nothing (not even an
error). I'd appreciate any ideas you have. Once I get this working,
then I'd need to figure out how to add two months to the system date.
The following is what I see when I press SHIFT + F9...

{IF ĞLic_1_Exp_dateğ = {DATE \* MERGEFORMAT} "" "We show that your
driver's license expires on {MERGEFIELD "Lic_1_Exp_date"}. Please
submit an updated copy of your driver's license."}




Thank you again.

You need to create this field by hand. Press Ctrl+F9 to insert field
delimiters (the things that look like braces but can't be entered
from the keyboard) and type the text between them (you'll need to
insert the merge fields from the Mail Merge toolbar or by entering
another hand-constructed field).

--
Suzanne S. Barnhill
Microsoft MVP (Word)
Words into Type
Fairhope, Alabama USA
Word MVP FAQ site: http://word.mvps.org
Email cannot be acknowledged; please post all follow-ups to the
newsgroup so all may benefit.

"julie" wrote in message
...
Thank you both for your quick help. I've tried to paste the
example into the Advanced Field Properties Field Codes field and
even when I can get the whole string in, I don't get an active OK
button. Is there a trick to this or another place I should go to
edit the statement?
Thanks again,
--
Julie

"Graham Mayor" wrote:

An extra quote mark sneaked in to Macropod's reply - try

{IF{MERGEFIELD Rubella_Due-Date \@ yyyyMMdd}= 0 "" "We show that
your auto insurance expires on {MERGEFIELD Rubella_Due-Date \@
dd/MM/yyyy}. Please submit proof of insurance including your name
and new expiration date."}

With some versions of Word setting a nul result as the first
option can cause the wrong data to be entered. I therefore prefer
to avoid this by reversing the conditions thus:

{IF{MERGEFIELD Rubella_Due-Date \@ yyyyMMdd} 0 "We show that
your auto insurance expires on {MERGEFIELD Rubella_Due-Date \@
dd/MM/yyyy}. Please submit proof of insurance including your name
and new expiration date."}

The result should be the same.

There is some information on field formatting on my web site at
http://www.gmayor.com/formatting_word_fields.htm

--

Graham Mayor - Word MVP

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


macropod wrote:
Hi Julie,

Try:

{IF{MERGEFIELD Rubella_Due-Date \@ yyyyMMdd}= 0 "" ""We show that
your auto insurance expires on {MERGEFIELD Rubella_Due-Date \@
dd/MM/yyyy}. Please submit proof of insurance including your name
and new expiration date."}

Cheers


"julie" wrote in message
...
Using Word 2003, I'd like to suppress a merge field if certain
conditions exist, along with the preceeding and following text.
I've been using the MergeField options (obtained when I right
click on a merge field and choose Edit Field): Text to be
included before & Text to be included after to combine my merge
field with text.

If I look at the Field Codes after setting up my text, I see...

MERGEFIELD Rubella_Due_DAte \b "We show that your auto insurance
expires on " \f ". Please submit proof of insurance including
your name and new expiration date."

Is there a way I can add an If, then, else to this so that If
MERGEFIELD Rubella_Due-DAte = 00/00/00 the merge field and it's
preceding and following text is suppressed? Can I simply edit
the Field Codes text to include this?

I apologize if this is a dumb question. I'm new to conditional
formatting in Word. I'd also appreciate any pointers to good
documents or books on this topic.

Thanks,
--
Julie