View Single Post
  #22  
Old February 12th, 2008, 06:14 PM posted to microsoft.public.word.mailmerge.fields
Graham Mayor
external usenet poster
 
Posts: 18,297
Default Using dates during mail merge

Re the typo - I use the macro at http://www.gmayor.com/export_field.htm to
export field contructions to avoid typos. I missed it because as you noted
it works as it stands. I was however remiss in not changing the field name
from that in my data file as this added some unwelcome confusion

--

Graham Mayor - Word MVP

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


Peter Jamieson wrote:
Where Graham has "date2" you need to put the name of the field in the
data source that you want to compare with (i.e. that has the date in
"1st February 2008" format)

(i.e. Graham's example has used the name "date2" where my example has
used "mydatetext", but in both cases you need to substitute the name
in your data source.)

Other than that, AFAICS, Graham's fields should work - if you change
the two { DATE } fields in my example so that instead of looking like

{ DATE .... }

they look like

{ REF MyDate .... }

you should be there. In theory there's a typo (unusual for him :-) )
in Graham's code:

{ ASK MyDate "Start Date" \d { Date \@ "dd/MM/yyyy} \o }

should have an extra quote:

{ ASK MyDate "Start Date" \d { Date \@ "dd/MM/yyyy" } \o }

but in practice it works as it is.

I'd select your field codes and press F9 to re-execute them after you
change them.


"gjupp via OfficeKB.com" u41094@uwe wrote in message
news:7fa15597a8bdf@uwe...
Many thanks for this. I tried it out but couldn't make it work. I
even tried
'tweaking' spaces and quotes (very much groping in the dark) to see
it this
would do the trick. You included 'MyDate' and 'Date2' in your
construction but I cannot understand the function of 'Date2'. It is
probably this element
that I have got wrong.

Peter Jamieson has suggested a solution that I have been able to make
work.
This is great and really deals with my oringinal request. However,
it is irritating that I have not been able to make your 'ASK'
routine to function
properly. If you have time to clarify, I shall be grateful. Please
don'y bother if you are too busy. Many thanks again.


Graham Mayor wrote:
It appears there were two issues that prevented this from working
here as intended

1. I was using an ASK field to collect the date to compare thus

{ ASK MyDate "Start Date" \d { Date \@ "dd/MM/yyyy} \o }{ SKIPIF {
MERGEFIELD Date2 } "{ REF MyDate \@ "d " \*Ordinal}{ REF MyDate
\@ " MMMM
yyyy" }" }

Unfortunately I was using one of my test data files which also had
a field called MyDate (unused in the merge) which conflicted with
the bookmark of the same name. With that fieldname changed it
worked. 2. This construction will not work for a range of dates eg

{ ASK MyDate "Start Date" \d { Date \@ "dd/MM/yyyy} \o }{ SKIPIF {
MERGEFIELD Date2 } "{ REF MyDate \@ "d " \*Ordinal}{ REF MyDate
\@ " MMMM
yyyy" }" }

for that type of range you cannot compare dates with ordinal fields
and must
revert to the switch I posted earlier. You cannot derive a date in
the format \@ "yyyyMMdd" from a field containing ordinal text.

Seems OK in both 2003 and 2000, with or without the quotes, which
leads me to wonder whether we are attempting the same thing and/or
[quoted text clipped - 86 lines]
--
Message posted via http://www.officekb.com


--
Message posted via OfficeKB.com
http://www.officekb.com/Uwe/Forums.a...merge/200802/1