A Microsoft Office (Excel, Word) forum. OfficeFrustration

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

Go Back   Home » OfficeFrustration forum » Microsoft Word » Mailmerge
Site Map Home Register Authors List Search Today's Posts Mark Forums Read  

Using dates during mail merge



 
 
Thread Tools Display Modes
  #21  
Old February 12th, 2008, 05:43 PM posted to microsoft.public.word.mailmerge.fields
Peter Jamieson
external usenet poster
 
Posts: 4,550
Default Using dates during mail merge

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.

--
Peter Jamieson
http://tips.pjmsn.me.uk

"gjupp via OfficeKB.com" [email protected] wrote in message
news:[email protected]
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


Ads
  #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" [email protected] wrote in message
news:[email protected]
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



  #23  
Old February 13th, 2008, 09:21 AM posted to microsoft.public.word.mailmerge.fields
Peter Jamieson
external usenet poster
 
Posts: 4,550
Default Using dates during mail merge

Well, I suppose saying in "theory" is not quite right either given that
there is no formal specificaiton of the field language or its behaviour :-)

The other thing that might be causing problems here is that, regardless of
how the DATE field nested in the ASK field is formatted, the user will need
to enter the date in the format set up in their regional options (or any
other format where the month and day are not ambiguous.

--
Peter Jamieson
http://tips.pjmsn.me.uk

"Graham Mayor" wrote in message
...
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" [email protected] wrote in message
news:[email protected]
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




  #24  
Old February 13th, 2008, 10:00 AM posted to microsoft.public.word.mailmerge.fields
Graham Mayor
external usenet poster
 
Posts: 18,297
Default Using dates during mail merge

The OP did say earlier in the thread that he was using UK pattern dates.

Just to clarify my original suggestion using the field name that was adopted
earlier in the thread, and restoring the missing quote

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

This should work provided (as Peter indicated) {Mergefield DateField}
produces a date in the exact format
1st January 2008
ie 1[space]st[space]January[space]2008
If there is no space between 1 and st, change

{ REF MyDate \@ "d " \*Ordinal}
to
{REF MyDate \@ "d" \*Ordinal}

If you have some other format but January eg january or JANUARY you will
need more formatting switches. The match must be a true match.
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


Peter Jamieson wrote:
Well, I suppose saying in "theory" is not quite right either given
that there is no formal specification of the field language or its
behaviour :-)
The other thing that might be causing problems here is that,
regardless of how the DATE field nested in the ASK field is
formatted, the user will need to enter the date in the format set up
in their regional options (or any other format where the month and
day are not ambiguous.

"Graham Mayor" wrote in message
...
Re the typo - I use the macro at
http://www.gmayor.com/export_field.htm to export field contractions
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" [email protected] wrote in message
news:[email protected]
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



  #25  
Old February 14th, 2008, 06:16 PM posted to microsoft.public.word.mailmerge.fields
gjupp via OfficeKB.com
external usenet poster
 
Posts: 10
Default Using dates during mail merge

Yes, this works fine, and I think that I (just about) understand HOW it works.
So now I have 2 solutions to my orignal query. Gentlemen, many thanks indeed
for sparing the time to sort this out. We now have a 'system' that is
comfortable to use and more than adequately meets our needs. It's just great


Graham Mayor wrote:
The OP did say earlier in the thread that he was using UK pattern dates.

Just to clarify my original suggestion using the field name that was adopted
earlier in the thread, and restoring the missing quote

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

This should work provided (as Peter indicated) {Mergefield DateField}
produces a date in the exact format
1st January 2008
ie 1[space]st[space]January[space]2008
If there is no space between 1 and st, change

{ REF MyDate \@ "d " \*Ordinal}
to
{REF MyDate \@ "d" \*Ordinal}

If you have some other format but January eg january or JANUARY you will
need more formatting switches. The match must be a true match.
http://www.gmayor.com/formatting_word_fields.htm

Well, I suppose saying in "theory" is not quite right either given
that there is no formal specification of the field language or its

[quoted text clipped - 99 lines]
Message posted via OfficeKB.com
http://www.officekb.com/Uwe/Forums.a...merge/200802/1


--
Message posted via http://www.officekb.com

  #26  
Old February 14th, 2008, 06:18 PM posted to microsoft.public.word.mailmerge.fields
gjupp via OfficeKB.com
external usenet poster
 
Posts: 10
Default Using dates during mail merge

Many thanks again for your further input. It is much appreciated. Please also
see my final post to Graham Mayor.

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.

Many thanks for this. I tried it out but couldn't make it work. I even
tried

[quoted text clipped - 44 lines]
--
Message posted via http://www.officekb.com


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

  #27  
Old February 15th, 2008, 07:03 AM posted to microsoft.public.word.mailmerge.fields
Graham Mayor
external usenet poster
 
Posts: 18,297
Default Using dates during mail merge

You are welcome

--

Graham Mayor - Word MVP

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



gjupp via OfficeKB.com wrote:
Yes, this works fine, and I think that I (just about) understand HOW
it works. So now I have 2 solutions to my orignal query. Gentlemen,
many thanks indeed for sparing the time to sort this out. We now have
a 'system' that is comfortable to use and more than adequately meets
our needs. It's just great


Graham Mayor wrote:
The OP did say earlier in the thread that he was using UK pattern
dates.

Just to clarify my original suggestion using the field name that was
adopted earlier in the thread, and restoring the missing quote

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

This should work provided (as Peter indicated) {Mergefield DateField}
produces a date in the exact format
1st January 2008
ie 1[space]st[space]January[space]2008
If there is no space between 1 and st, change

{ REF MyDate \@ "d " \*Ordinal}
to
{REF MyDate \@ "d" \*Ordinal}

If you have some other format but January eg january or JANUARY you
will need more formatting switches. The match must be a true match.
http://www.gmayor.com/formatting_word_fields.htm

Well, I suppose saying in "theory" is not quite right either given
that there is no formal specification of the field language or its

[quoted text clipped - 99 lines]
Message posted via OfficeKB.com
http://www.officekb.com/Uwe/Forums.a...merge/200802/1



 




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Forum Jump


All times are GMT +1. The time now is 01:19 PM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Copyright 2004-2019 OfficeFrustration.
The comments are property of their posters.