Software Venture Consulting

FileMaker Pro downloads & Resources
FileMaker Custom Functions
FileMaker Web Viewer Examples
FileMaker Pro & Lasso Consulting
FileMaker Books
FileMaker Articles
FileMaker Error Reference

Free Web Tools
Free FileMaker Tools

Personal Pages

Shopping Cart
Shopping Cart


Free Newsletter


Privacy Policy

FileMaker is a registered trademark of FileMaker, Inc. in the U.S. and other countries.


 FileMaker Pro Custom Functions

List  |  Show Random  |  Upload  |  Add This to Your Site

Calendar ( date_field ; option ; iteration ; x_start_on_monday ; x_highlight_weekends ; holiday_list )

Rate this function:  

  Average rating: 4.0  (45 votes)
  Discuss this Custom Function

Drew Wesley, Drewsol

c. 2009-2014 Drewsol. This CF consolidates a simple calendar display and selection tool complete with limitless iterations, highlights, holidays, and tooltips.

Sample Input:
Calendar ( "6/1/2012" ; "calendar" ; 3 ; "" ; "" ; "" )

Calendar ( "5/28/2012" ; "calendar_highlights" ; "" ; 1 ; 1 ; "included" )

Calendar ( "5/5/2012" ; "tooltip_long" ; 1 ; "" ; "" ; "included" )
Sample Output:
(Shows month of August 2012 in 42 repeating fields. Days outside of August are grayed.)

(Shows 42 repeating fields that highlight the weekend and function-included holidays.)

(Shows tooltip upon mouseover:)
Tuesday, May 5, 2012
Cinco de Mayo

 Then copy & paste into FileMaker Advanced's Edit Custom Function window.


c. 2009-2012 Drewsol. This CF consolidates a simple calendar display and selection tool complete with limitless iterations, highlights, holidays, and tooltips.

Detailed instructions and a sample script are included in the CF's header.

v2.2 - Example file included posted at , removed trademark, renamed from fnCalendar to Calendar.
v2.1 - Added week of year labels.
v2.0 - Added parameter to optionally start calendar on Monday instead of Sunday.
v1.6 - Added provision for 'globally stored' calendar (no redraw upon layout access), cleaner instructions/commenting. Included lite version (same calculation minus documentation and integrated holiday list).
v1.5 - Added instructions for a single-layer conditional formatting method.
v1.4 - LGPL license added.
v1.3 - Integrated holiday list and calendar highlights transferred from 'condition' to 'statement block' to limit unnecessary code execution.
v1.2 - Optimized for performance. Support for unlimited iterations and previous months. Integrated American holiday list.
v1.1 - Support for three calendar display iterations, holidays, weekends, instructions.
v1.0 - Basic function, field independence, tooltips.

Note: these functions are not guaranteed or supported by Please contact the individual developer with any questions or problems.

This is my Custom Function and I want to edit it


5 most recent comments | Show all 9 comments

Doesn't work; all but first cell empty.
1.5 worked OK.

Bruce Robertson, Redmond WA
February 05, 2010 11:52am

If you're using the global calculation option, you'll need (1) to use the date as a trigger field and (2) the Extend function as noted in Step 3a in the documentation:
Let (
trigger = CAL::Date_G ;
fnCalendar ( Extend ( <date field> ) ; "calendar" ; 1 ; "" ; "" )

Andrew Butt, Los Angeles, CA
February 06, 2010 10:17am

You could also use the following in Step 6:
<iteration> & " " & Get(CalculationRepetitionNumber)

Andrew, Sydney AU
August 09, 2014 4:47pm

Sorry It should have worked but it didn't

Andrew, Sydney AU
August 09, 2014 5:00pm

I just uploaded an example file at

Drew Wesley, Los Angeles, CA
August 11, 2014 11:12am

Make a comment about this Custom Function (please try to keep it brief & to the point). Anyone can post:

Your Name:
characters left. If you paste in more than 1500 characters, it will be truncated. Discuss the function - advertisements and other useless posts will be deleted.
Answer 9 + 6 =
Search for Custom Functions:

Custom Functions Widget
Download the Custom Function Dashboard Widget for OS X
Keep all the latest Custom Functions right at your fingertips!

Newest Custom Functions:

1. JSONArrayLength ( JSONArrayStr )
  (Fri, May 25, 7:46am)
2. interpolation (y1; y2; y3; x1; x2; x3; x1y1; x2y1; x1y2; x2y2; rnd)
  (Sat, May 19, 3:55am)
3. @JSONFormatElements ( json )
  (Tue, May 15, 3:31am)
4. WindowNamesAll ( dbNames ; excludeCurrentWindow )
  (Sat, May 12, 11:34am)
5. RandomChoiceFromList ( values ; required )
  (Wed, May 02, 6:35am)
6. @JSONFormatElements ( json )
  (Fri, Apr 27, 7:31am)
7. MBS-OCR ( language ; Image )
  (Mon, Apr 23, 1:48pm)
8. MBS_Image_Rotate ( Picture ; rotation )
  (Mon, Apr 23, 1:27pm)

RSS Feed of Custom Functions