Solved

Match today's date with dates in NotesDocument field

Posted on 2011-02-24
8
936 Views
Last Modified: 2013-12-18
Lotus Notes repeating calendar entries store their repeating dates in a field named RepeatInstanceDates.

With @Formula, I can use @IsMember to find if a value is in a list, but the members of RepeatInstanceDates are dates in the format 02/21/2011 05:15:00 PM CST, however I only want to match against the date portion, 02/21/2011.

Is there any way of doing this in the @Formula language?
0
Comment
Question by:jlalande
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 3
8 Comments
 
LVL 46

Accepted Solution

by:
Sjef Bosman earned 500 total points
ID: 34975839
I can't check right now, but I suppose the field RepeatInstanceDates contains a date value, not a string. Let's also assume your date x is a date value.

To check whether date x is in the field, try this condition (can be used in the query):
      @Text(x; "D0S0")=@Text(RepeatInstanceDates; "D0S0")
which is shorthand for
      @IsMember(@Text(x; "D0S0"); @Text(RepeatInstanceDates; "D0S0"))
0
 

Author Comment

by:jlalande
ID: 34976210
I've tried both and neither work for me.

If I already have the date in string format, is @Text(x; "D0S0") needed?  If not, what format should the date string 'x' be in?  I am assuming that D0S0 is a format argument.

Looking over this it looks like you are taking a list of dates and converting it to a list of strings in the format specified by 'D0S0', and checking if 'x' is in that list.
0
 

Author Comment

by:jlalande
ID: 34976292
BTW, I am working in C# using the Domino COM Toolkit.
0
Webinar: Aligning, Automating, Winning

Join Dan Russo, Senior Manager of Operations Intelligence, for an in-depth discussion on how Dealertrack, leading provider of integrated digital solutions for the automotive industry, transformed their DevOps processes to increase collaboration and move with greater velocity.

 

Author Comment

by:jlalande
ID: 34976449
Actually, I think we're almost there.  I replaced 'x' with @Today and now get matches.  However, where I only have one repeating meeting today, I am getting four.

The other three are likely bookkeeping entries.  Is there a way to filter these out?
0
 

Author Closing Comment

by:jlalande
ID: 34976634
Actually, there were two repeating calendar entries for today.  I found a filter that works by checking if a field RepeatUnit exists using @IsAvailable.  This returns a valid set of calendar entries for today.

My complete query string looks like:

Form = "Appointment" & Repeats = "1" & (AppointmentType = "3" | AppointmentType = "2") & @IsAvailable(RepeatUnit) & NoticeType != "C" & NoticeType != "R" & @IsMember(@Text(@Today; "D0S0"); @Text(RepeatInstanceDates; "D0S0"))

Can you see anything that could be done better or faster?

Thanks so much!
0
 
LVL 46

Expert Comment

by:Sjef Bosman
ID: 34977748
Probably not much faster, but a little shorter:

Form = "Appointment" & Repeats = "1" & AppointmentType = "3":"2" & @IsAvailable(RepeatUnit) & !(NoticeType= "C":"R") & @IsMember(@Text(@Today; "D0S0"); @Text(RepeatInstanceDates; "D0S0"))
0
 

Author Comment

by:jlalande
ID: 34980328
I adopted your changes and added support for additionally getting today's non-repeating calendar entries, thereby completing the solution to retrieve all of the meetings scheduled for today, repeating and non-repeating:

Form = "Appointment" & AppointmentType = "3":"2" & !(NoticeType = "C":"R")
   & ((Repeats = "1" & @IsAvailable(RepeatUnit) & @IsMember(@Text(@Today; "D0S0"); @Text(RepeatInstanceDates; "D0S0")))
         | (!@IsAvailable(Repeats) & @Text(@Today; "D0S0") = @Text(STARTDATETIME; "D0S0")))

Please let me know if I have missed anything.

You've been a great help.  Thank you very much.
0
 
LVL 46

Expert Comment

by:Sjef Bosman
ID: 34980634
Looks fine to me. You're doing an excellent job, sir!
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

'Between' is such a common word we rarely think about it but in SQL it has a very specific definition we should be aware of. While most database vendors will have their own unique phrases to describe it (see references at end) the concept in common …
PL/SQL can be a very powerful tool for working directly with database tables. Being able to loop will allow you to perform more complex operations, but can be a little tricky to write correctly. This article will provide examples of basic loops alon…
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…
Finding and deleting duplicate (picture) files can be a time consuming task. My wife and I, our three kids and their families all share one dilemma: Managing our pictures. Between desktops, laptops, phones, tablets, and cameras; over the last decade…
Suggested Courses

734 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question