Select record to print by compare the date ...

N

Newuser

How do I select the records to print by compare the date in the Mailmerge
table ? I need to print those records if the field of the date (in yyyymmdd
format) is over 30 days from todays date. Thanks ....
 
D

Doug Robbins - Word MVP

What version of Word? What is the data source?

--
Hope this helps.

Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.

Doug Robbins - Word MVP
 
G

Graham Mayor

This is going to be quite tricky to achieve and the solution is based on
work by Macropod (linked from my web site -
http://www.gmayor.com/insert_a_date_other_than_today.htm )

You can use a SKIPIF field to eliminate all records that don't fit the
criteria by adding a complex field structure to your document: Copy the code
from the link and edit it to match that below - that way you will not make
as many mistakes ;)

{ SET DueDate {QUOTE {SET Delay 30}{SET a{=INT((14-{DATE \@ M})/12)}}{SET
b{={DATE \@ yyyy}+4800-a}}{SET c{={DATE \@ M}+12*a-3}}{SET d{DATE \@ d}}{SET
jd{=d+INT((153*c+2)/5)+365*b+INT(b/4)-INT(b/100)+INT(b/400)-32045+Delay}}{SET
e{=INT((4*(jd+32044)+3)/146097)}}{SET f{=jd+32044-INT(146097*e/4)}}{SET
g{=INT((4*f+3)/1461)}}{SET h{=f-INT(1461*g/4)}}{SET
i{=INT((5*h+2)/153)}}{SET dd{=h-INT((153*i+2)/5)+1}}{SET
mm{=i+3-12*INT(i/10)}}{SET yy{=100*e+g-4800+INT(i/10)}}{=dd*10^6+mm*10^4+yy
\# "00'-'00'-'0000"} \@ "yyyyMMdd"} }{ SKIPIF { MERGEFIELD Datefield \@
"yyyyMMdd" } < { DueDate } }

Put the name of your date field in the last line in place of 'Datefield'

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


<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top