View Single Post
  #14   Report Post  
Posted to microsoft.public.word.mailmerge.fields
Karin Karin is offline
external usenet poster
 
Posts: 40
Default Calculating Dates

{REF LetterDate \@ "yyyyMMdd"} formats the entered date of January 18, 2008,
as 20080118 and the YEDate of December 31, 2006 shows as 20061231, but the
results of the IF statement never changes from "Less" (which is the false
answer).

"Peter Jamieson" wrote:

What results do

{ REF LetterDate \@ "yyyyMMdd" }
and
{ REF YEDate \@ "yyyyMMdd" }

return on their own?

it seems as though it should be so simple.


FWIW, I think most people would agree...

Peter Jamieson
"Karin" wrote in message
...
Unfortunately, it doesn't work. The If statement only returns the last
part
of the statement (i.e., "less").

ASK Letter Date: {ASK LetterDate "Letter date" \*MERGEFORMAT }

ASK FYE Date: {ASK YEDate "FYE Date" \*MERGEFORMAT }

LetterDate: {REF LetterDate} (January 18, 2007)

YEDate: {REF YEDate} (December 31, 2006)

IF Stmnt: {If {REF LetterDate \@ "yyyyMMdd" } {REF YEDate \@
"yyyyMMdd"}
"Greater" "Less"}

Should return "Greater", but always, regardless of dates, returns "Less".

So, I'm just going to put another ASK field in and have the user put in
the
correct verbiage.

I do appreciate the help, it seems as though it should be so simple.


"Graham Mayor" wrote:

It does have a date field that can be calculated - Peter already showed
you
how to do that, which is why I did not reply earlier. You have to set the
date format in the calculation but for that to work reliably the date
entered in the form field has to be a legitimate date. You can help that
by
setting the field type to Date. Then

{ IF{Date1 \@ "yyyyMMdd" } {Date2 \@ "yyyyMMdd" } "Greater" "Less" }


There's more on this 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



Karin wrote:
Peter,

I didn't start out asking the same question. The original question
is why can't word handle dates? I replied to Graham's question of
what I wanted to do.

I still want to know why Word doesn't have a date field that can be
filled in by a user and calculated. I'm clearly not the only one on
this forum wanting to manipulate date information.

Don't assign words or thoughts to me that aren't there. I don't
imagine you're more important than me!

"Peter Jamieson" wrote:

This was my reply to your message in another group - a good example
IMO of why it's not a good idea to post the same question separately
to different groups (in short: why do you imagine that your time is
more valuable than ours?):

The comparisons are text comparisons rather than date comparisons.
To do a date comparison you need the dates in YYYYMMDD format, so
e.g.

{ IF { REF LetterDate \@YYYYMMDD } = { REF YearEndDate \@YYYYMMDD }
"ending" "ended" }

is more likely to do the trick. But of course it will only work if
Word recognises the texts as dates and converts them correctly.


Peter Jamieson



"Karin" wrote in message
...
Graham,

I have two ask fields (LetterDate and YearEndDate). I want to
change text based on the dates:

If LetterDate is = YearEndDate "ending" "ended"

I can have the information entered in the ask fields in any format,
but it needs to be displayed as mmmm dd, yyyy (January 16, 2007) in
the letter.

I'm not much of a programmer, but it doesn't seem like this should
be so difficult.

"Graham Mayor" wrote:

The short answer is that you can do this - if
http://www.wopr.com/cgi-bin/w3t/show...?Number=249902 doesn't
give you any
ideas, tell us what you are trying to do.

--

Graham Mayor - Word MVP

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


Karin wrote:
After a lot of searching of this forum, the knowledge base, and
the help files, I can't help but wonder

Why can't Word handle dates?

Why can't I ask a user for different date information and do
calculations on the input?