Filemaker Pro 15 Functions Reference File Maker Fmp15 Ref
User Manual: filemaker FileMaker Pro 15 - Functions Reference Free User Guide for FileMaker Software, Manual
Open the PDF directly: View PDF .
Page Count: 382
Download | |
Open PDF In Browser | View PDF |
FileMaker Pro 15 ® Functions Reference © 2007–2016 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker and FileMaker Go are trademarks of FileMaker, Inc. registered in the U.S. and other countries. The file folder logo and FileMaker WebDirect are trademarks of FileMaker, Inc. All other trademarks are the property of their respective owners. FileMaker documentation is copyrighted. You are not authorized to make additional copies or distribute this documentation without written permission from FileMaker. You may use this documentation solely with a valid licensed copy of FileMaker software. All persons, companies, email addresses, and URLs listed in the examples are purely fictitious and any resemblance to existing persons, companies, email addresses, or URLs is purely coincidental. Credits are listed in the Acknowledgments documents provided with this software. Mention of third-party products and URLs is for informational purposes only and constitutes neither an endorsement nor a recommendation. FileMaker, Inc. assumes no responsibility with regard to the performance of these products. For more information, visit our website at http://www.filemaker.com. Edition: 01 Contents Contents Script steps reference (alphabetical list) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 About functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Working with formulas and functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Using this functions reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Aggregate functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Average . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Count . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Max . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Min . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 StDev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 StDevP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Sum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Variance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 VarianceP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Container functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Base64Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Base64Encode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 GetContainerAttribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 GetHeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 GetThumbnail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 GetWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 VerifyContainer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Date functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Day . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 DayName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 DayNameJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 DayOfWeek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 DayOfYear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Month . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 MonthName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 MonthNameJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 WeekOfYear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 WeekOfYearFiscal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Year . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 YearName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Design functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 DatabaseNames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 FieldBounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 FieldComment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 FieldIDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 FieldNames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 FieldRepetitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 FILEMAKER PRO FUNCTIONS REFERENCE 3 Contents FieldStyle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 FieldType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 GetNextSerialValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 LayoutIDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 LayoutNames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 LayoutObjectNames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 RelationInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 ScriptIDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 ScriptNames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 TableIDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 TableNames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 ValueListIDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 ValueListItems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 ValueListNames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 WindowNames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 External functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 External . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Financial functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 FV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 NPV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 PMT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 PV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Get functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Get(AccountExtendedPrivileges) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Get(AccountName) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Get(AccountPrivilegeSetName) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Get(ActiveFieldContents) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Get(ActiveFieldName) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Get(ActiveFieldTableName) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Get(ActiveLayoutObjectName) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Get(ActiveModifierKeys) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Get(ActivePortalRowNumber) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Get(ActiveRepetitionNumber) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 Get(ActiveSelectionSize) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Get(ActiveSelectionStart) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Get(AllowAbortState) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Get(AllowFormattingBarState) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Get(ApplicationArchitecture) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Get(ApplicationLanguage) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 Get(ApplicationVersion) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 Get(CalculationRepetitionNumber) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 Get(ConnectionAttributes) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 Get(ConnectionState) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Get(CurrentDate) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 Get(CurrentExtendedPrivileges) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 Get(CurrentHostTimestamp) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 Get(CurrentPrivilegeSetName) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Get(CurrentTime) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Get(CurrentTimestamp) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Get(CurrentTimeUTCMilliseconds) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 FILEMAKER PRO FUNCTIONS REFERENCE 4 Contents Get(CustomMenuSetName) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Get(DesktopPath) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Get(Device) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 Get(DocumentsPath) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Get(DocumentsPathListing) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Get(EncryptionState) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Get(ErrorCaptureState) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Get(FileMakerPath) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Get(FileName) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Get(FilePath) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Get(FileSize) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Get(FoundCount) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 Get(HighContrastColor) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 Get(HighContrastState) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 Get(HostApplicationVersion) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 Get(HostIPAddress) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 Get(HostName) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 Get(InstalledFMPlugins) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Get(LastError) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 Get(LastExternalErrorDetail) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 Get(LastMessageChoice) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 Get(LayoutAccess) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 Get(LayoutCount) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 Get(LayoutName) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 Get(LayoutNumber) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 Get(LayoutTableName) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 Get(LayoutViewState) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 Get(MenubarState) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 Get(ModifiedFields) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 Get(MultiUserState) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 Get(NetworkProtocol) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 Get(NetworkType) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 Get(PageNumber) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 Get(PersistentID) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 Get(PreferencesPath) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 Get(PrinterName) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 Get(QuickFindText) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 Get(RecordAccess) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 Get(RecordID) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 Get(RecordModificationCount) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 Get(RecordNumber) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 Get(RecordOpenCount) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 Get(RecordOpenState) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 Get(RequestCount) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 Get(RequestOmitState) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 Get(ScreenDepth) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 Get(ScreenHeight) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 Get(ScreenScaleFactor) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 Get(ScreenWidth) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 Get(ScriptAnimationState) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 Get(ScriptName) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 Get(ScriptParameter) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 Get(ScriptResult) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 Get(SortState) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 FILEMAKER PRO FUNCTIONS REFERENCE 5 Contents Get(StatusAreaState) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 Get(SystemDrive) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 Get(SystemIPAddress) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 Get(SystemLanguage) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 Get(SystemNICAddress) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Get(SystemPlatform) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 Get(SystemVersion) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 Get(TemporaryPath) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 Get(TextRulerVisible) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 Get(TotalRecordCount) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 Get(TouchKeyboardState) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 Get(TriggerCurrentPanel) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 Get(TriggerExternalEvent) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 Get(TriggerGestureInfo) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 Get(TriggerKeystroke) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 Get(TriggerModifierKeys) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 Get(TriggerTargetPanel) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 Get(UserCount) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 Get(UserName) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 Get(UseSystemFormatsState) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 Get(UUID) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 Get(WindowContentHeight) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 Get(WindowContentWidth) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 Get(WindowDesktopHeight) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 Get(WindowDesktopWidth) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 Get(WindowHeight) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 Get(WindowLeft) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 Get(WindowMode) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 Get(WindowName) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 Get(WindowOrientation) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Get(WindowStyle) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 Get(WindowTop) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 Get(WindowVisible) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 Get(WindowWidth) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 Get(WindowZoomLevel) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 Logical functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 Case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 Choose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 Evaluate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 EvaluationError . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 ExecuteSQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 GetAsBoolean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 GetAVPlayerAttribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 GetField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 GetFieldName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 GetLayoutObjectAttribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 GetNthRecord . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 If . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 IsEmpty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 IsValid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 IsValidExpression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 Let . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 FILEMAKER PRO FUNCTIONS REFERENCE 6 Contents Lookup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 LookupNext . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 Self . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 Mobile functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 Location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 LocationValues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 RangeBeacons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 Number functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 Abs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 Ceiling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 Combination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 Div . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 Exp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 Factorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 Floor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 Int . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 Lg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 Ln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 Mod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 Random . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 Round . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 SetPrecision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 Sign . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 Sqrt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 Truncate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 Repeating functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 Extend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 GetRepetition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 Last . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 Summary functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 GetSummary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 Text functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 Char . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 Exact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 FilterValues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 Furigana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 GetAsCSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 GetAsDate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 GetAsNumber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 GetAsSVG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 GetAsText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 GetAsTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 GetAsTimestamp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 GetAsURLEncoded . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 FILEMAKER PRO FUNCTIONS REFERENCE 7 Contents GetValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 Hiragana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 KanaHankaku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 KanaZenkaku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 KanjiNumeral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 Katakana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 Left . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 LeftValues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 LeftWords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 Length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 Lower . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 Middle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 MiddleValues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 MiddleWords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 NumToJText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 PatternCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 Position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310 Proper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 Quote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312 Replace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 Right . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 RightValues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 RightWords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316 RomanHankaku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 RomanZenkaku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 SerialIncrement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 Substitute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320 Trim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 TrimAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322 Upper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 ValueCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 WordCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326 Text formatting functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 RGB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 TextColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 TextColorRemove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330 TextFont . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 TextFontRemove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 TextFormatRemove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 TextSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 TextSizeRemove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 TextStyleAdd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 TextStyleRemove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 Time functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 Hour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 Minute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 Seconds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344 Timestamp functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 Timestamp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346 FILEMAKER PRO FUNCTIONS REFERENCE 8 Contents Trigonometric functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 Acos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 Asin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 Atan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350 Cos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351 Degrees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 Pi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353 Radians . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354 Sin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355 Tan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357 FILEMAKER PRO FUNCTIONS REFERENCE 9 Script steps reference (alphabetical list) Script steps reference (alphabetical list) Abs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 Acos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 Asin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 Atan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350 Average . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Base64Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Base64Encode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 Ceiling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 Char . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 Choose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 Combination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 Cos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351 Count . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 DatabaseNames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Day . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 DayName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 DayNameJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 DayOfWeek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 DayOfYear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Degrees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 Div . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 Evaluate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 EvaluationError . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 Exact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 ExecuteSQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 Exp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 Extend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 External . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Factorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 FieldBounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 FieldComment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 FieldIDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 FieldNames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 FieldRepetitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 FieldStyle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 FieldType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 FilterValues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 Floor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 Furigana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 FV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Get(AccountExtendedPrivileges) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Get(AccountName) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Get(AccountPrivilegeSetName) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Get(ActiveFieldContents) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Get(ActiveFieldName) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Get(ActiveFieldTableName) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Get(ActiveLayoutObjectName) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 FILEMAKER PRO FUNCTIONS REFERENCE 10 Script steps reference (alphabetical list) Get(ActiveModifierKeys) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Get(ActivePortalRowNumber) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Get(ActiveRepetitionNumber) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 Get(ActiveSelectionSize) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Get(ActiveSelectionStart) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Get(AllowAbortState) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Get(AllowFormattingBarState) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Get(ApplicationArchitecture) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Get(ApplicationLanguage) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 Get(ApplicationVersion) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 Get(CalculationRepetitionNumber) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 Get(ConnectionAttributes) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 Get(ConnectionState) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Get(CurrentDate) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 Get(CurrentExtendedPrivileges) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 Get(CurrentHostTimestamp) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 Get(CurrentPrivilegeSetName) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Get(CurrentTime) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Get(CurrentTimestamp) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Get(CurrentTimeUTCMilliseconds) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Get(CustomMenuSetName) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Get(DesktopPath) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Get(Device) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 Get(DocumentsPath) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Get(DocumentsPathListing) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Get(EncryptionState) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Get(ErrorCaptureState) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Get(FileMakerPath) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Get(FileName) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Get(FilePath) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Get(FileSize) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Get(FoundCount) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 Get(HighContrastColor) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 Get(HighContrastState) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 Get(HostApplicationVersion) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 Get(HostIPAddress) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 Get(HostName) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 Get(InstalledFMPlugins) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Get(LastError) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 Get(LastExternalErrorDetail) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 Get(LastMessageChoice) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 Get(LayoutAccess) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 Get(LayoutCount) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 Get(LayoutName) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 Get(LayoutNumber) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 Get(LayoutTableName) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 Get(LayoutViewState) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 Get(MenubarState) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 Get(ModifiedFields) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 Get(MultiUserState) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 Get(NetworkProtocol) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 Get(NetworkType) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 Get(PageNumber) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 Get(PersistentID) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 FILEMAKER PRO FUNCTIONS REFERENCE 11 Script steps reference (alphabetical list) Get(PreferencesPath) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 Get(PrinterName) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 Get(QuickFindText) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 Get(RecordAccess) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 Get(RecordID) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 Get(RecordModificationCount) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 Get(RecordNumber) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 Get(RecordOpenCount) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 Get(RecordOpenState) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 Get(RequestCount) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 Get(RequestOmitState) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 Get(ScreenDepth) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 Get(ScreenHeight) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 Get(ScreenScaleFactor) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 Get(ScreenWidth) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 Get(ScriptAnimationState) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 Get(ScriptName) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 Get(ScriptParameter) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 Get(ScriptResult) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 Get(SortState) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 Get(StatusAreaState) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 Get(SystemDrive) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 Get(SystemIPAddress) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 Get(SystemLanguage) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 Get(SystemNICAddress) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Get(SystemPlatform) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 Get(SystemVersion) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 Get(TemporaryPath) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 Get(TextRulerVisible) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 Get(TotalRecordCount) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 Get(TouchKeyboardState) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 Get(TriggerCurrentPanel) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 Get(TriggerExternalEvent) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 Get(TriggerGestureInfo) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 Get(TriggerKeystroke) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 Get(TriggerModifierKeys) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 Get(TriggerTargetPanel) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 Get(UserCount) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 Get(UserName) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 Get(UseSystemFormatsState) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 Get(UUID) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 Get(WindowContentHeight) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 Get(WindowContentWidth) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 Get(WindowDesktopHeight) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 Get(WindowDesktopWidth) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 Get(WindowHeight) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 Get(WindowLeft) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 Get(WindowMode) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 Get(WindowName) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 Get(WindowOrientation) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Get(WindowStyle) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 Get(WindowTop) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 Get(WindowVisible) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 Get(WindowWidth) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 FILEMAKER PRO FUNCTIONS REFERENCE 12 Script steps reference (alphabetical list) Get(WindowZoomLevel) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 GetAsBoolean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 GetAsCSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 GetAsDate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 GetAsNumber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 GetAsSVG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 GetAsText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 GetAsTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 GetAsTimestamp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 GetAsURLEncoded . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 GetAVPlayerAttribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 GetContainerAttribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 GetField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 GetFieldName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 GetHeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 GetLayoutObjectAttribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 GetNextSerialValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 GetNthRecord . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 GetRepetition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 GetSummary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 GetThumbnail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 GetValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 GetWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Hiragana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 Hour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 If . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 Int . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 IsEmpty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 IsValid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 IsValidExpression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 KanaHankaku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 KanaZenkaku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 KanjiNumeral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 Katakana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 Last . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 LayoutIDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 LayoutNames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 LayoutObjectNames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Left . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 LeftValues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 LeftWords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 Length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 Let . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 Lg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Ln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 Location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 LocationValues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 Lookup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 LookupNext . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 Lower . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 Max . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Middle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 FILEMAKER PRO FUNCTIONS REFERENCE 13 Script steps reference (alphabetical list) MiddleValues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 MiddleWords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 Min . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Minute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 Mod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 Month . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 MonthName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 MonthNameJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 NPV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 NumToJText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 PatternCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 Pi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353 PMT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310 Proper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 PV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Quote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312 Radians . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354 Random . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 RangeBeacons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 RelationInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Replace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 RGB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 Right . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 RightValues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 RightWords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316 RomanHankaku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 RomanZenkaku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 Round . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 ScriptIDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 ScriptNames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Seconds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 Self . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 SerialIncrement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 SetPrecision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 Sign . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 Sin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355 Sqrt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 StDev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 StDevP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Substitute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320 Sum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 TableIDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 TableNames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Tan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356 TextColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 TextColorRemove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330 TextFont . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 TextFontRemove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 TextFormatRemove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 TextSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 TextSizeRemove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 TextStyleAdd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 TextStyleRemove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 FILEMAKER PRO FUNCTIONS REFERENCE 14 Script steps reference (alphabetical list) Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344 Timestamp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346 Trim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 TrimAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322 Truncate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 Upper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 ValueCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 ValueListIDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 ValueListItems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 ValueListNames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Variance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 VarianceP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 VerifyContainer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 WeekOfYear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 WeekOfYearFiscal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 WindowNames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 WordCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326 Year . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 YearName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 FILEMAKER PRO FUNCTIONS REFERENCE 15 About functions About functions Working with formulas and functions A function is a predefined, named formula that performs a specific calculation and returns a single, specific value. Most functions include three basic parts: • the function • a set of parentheses, if the function takes parameters • the parameters required by the function Each function returns a result of field type text, number, date, time, timestamp, or container. A formula calculates a single value, based on constants (such as 1.07 or “hello”), operators (such as “+” or “>”), and field references (such as Subtotal or InvoiceTotal) you enter. For example, if sales tax in your area is 7% and you have a field named Subtotal, you could create a field named InvoiceTotal that gets the value of the formula Subtotal * 1.07. If a formula is especially common or popular, FileMaker Pro gives it a name and defines exactly how you should use it. A named and predefined formula is called a function. For example, if you want to find the average of some test scores, you could write your own formula to add them all and divide by the total number of scores. A simpler approach would be to use the function named Average and follow the rules defined for its use. Using this functions reference The content in this document was originally written for FileMaker Pro Help. It has been collected in this format to allow solution developers to read the information independent of the help system. Links to help topics may not work in this format. FILEMAKER PRO FUNCTIONS REFERENCE 16 Aggregate functions Aggregate functions Note Aggregate functions perform statistical analysis on numbers (and dates or times for some functions) in: • several fields in a record. • related fields whether displayed in a portal or not. • repeating fields. For example, you can use the Sum function to add the values listed in a portal, as an alternative to creating a report with grouped data and subtotals. The parameter values can include a numeric constant (for example, 10) or any valid expression. A constant parameter in a formula for a repeating field affects the result for every repetition. When repeating field parameters (field1; field2;...) include a non-repeating field, that value is used in the result for only the first repetition unless you use the Extend function. Values in repetitions that exceed the number of repetitions in the calculated field are ignored. For example, a calculated field with three repetitions holds only three results, even when one field referenced in the calculation has five repetitions. Click a function name for details. This function Returns Average A value that is the average of all valid, non-blank values in a field. Count The number of valid, non-blank values in a field. List A concatenated list of non-blank values for a field or fields. Max The highest valid value in a field. Min The smallest valid, non-blank value in a field. StDev The standard deviation of the sample represented by a series of non-blank values in a field. StDevP The standard deviation of a population represented by a series of non-blank values in a field. Sum The total of all valid, non-blank values in a field. Variance The variance of a sample represented by a series of non-blank values in a field. VarianceP The variance of a population represented by a series of non-blank values in a field. FILEMAKER PRO FUNCTIONS REFERENCE 17 Aggregate functions Average Purpose Returns a value that is the average of all valid, non-blank values in a field. Format Average(field{;field...}) Parameters field - any related field, repeating field, or set of non-repeating fields; or an expression that returns a field, repeating field, or set of non-repeating fields. Parameters in braces { } are optional. Data type returned number Originated in FileMaker Pro 6.0 or earlier Description Field can be any of the following: • a repeating field (repeatingField). • a field in matching related records specified by (table::field), whether or not these records appear in a portal. • several non-repeating fields in a record(field1;field2;field3...). • corresponding repetitions of repeating fields in a record (repeatingField1;repeatingField2;repeatingField3), if the result is returned in a repeating field with at least the same number of repeats. • several fields in the first matching record specified by (table::field1;table::field2;...). You can include fields from different tables (table 1::field A;table 2::field B...). Examples A Student table has a portal showing scores for all exams a student has taken. The exam scores are in a table called Exams. Average(Exams::Score) returns the student’s average score for all exams she has taken. In the following examples: • Field1 contains two repetitions with values of 1 and 2. • Field2 contains four repetitions with values of 5, 6, 7, and 8. • Field3 contains 6. Average(Field2) returns 6.5 when the calculation isn’t a repeating field. Average(Field1;Field2;Field3) returns 4, 4, 7, 8 when the calculation is a repeating field. Note When a referenced field is a repeating field, the Average function returns the average of the values in the first repetition field, then the average of the values in the second repetition field, and so on. Therefore, (1+5+6)/3=4;(2+6)/2=4;7/1=7;8/1=8. FILEMAKER PRO FUNCTIONS REFERENCE 18 Aggregate functions Count Purpose Returns the number of valid, non-blank values in a field. Format Count(field{;field...}) Parameters field - any related field, repeating field, or set of non-repeating fields; or an expression that returns a field, repeating field, or set of non-repeating fields. Parameters in braces { } are optional. Data type returned number Originated in FileMaker Pro 6.0 or earlier Description Field can be any of the following: • a repeating field (repeatingField). • a field in matching related records specified by (table::field), whether or not these records appear in a portal. • several non-repeating fields in a record (field1;field2;field3...). • corresponding repetitions of repeating fields in a record (repeatingField1;repeatingField2;repeatingField3), if the result is returned in a repeating field with at least the same number of repeats. • several fields in the first matching record specified by (table::field1;table::field2;...). You can include fields from different tables (table 1::field A;table 2::field B...). Examples The Accounts layout has a portal showing installment payments made. Count(Payments::Payment) returns the number of payments made on an account. In the following examples: • Field1 contains two repetitions with values of 1 and 2. • Field2 contains four repetitions with values of 5, 6, 7, and 8. • Field3 contains 6. Count(Field2) returns 4 when the calculation isn’t a repeating field. Count(Field1;Field2;Field3) returns 3, 2, 1, 1 when the calculation is a repeating field. Note When a referenced field is a repeating field, the Count function returns the total number of valid, non-blank values in the first repetition field, then the number of valid, non-blank values in the second repetition field, and so on. FILEMAKER PRO FUNCTIONS REFERENCE 19 Aggregate functions List Purpose Returns a concatenated list of non-blank values for a field or fields. Format List(field{;field...}) Parameters field - any related field, repeating field, or set of non-repeating fields; an expression that returns a field, repeating field, or set of non-repeating fields, or a variable. Parameters in braces { } are optional. Data type returned text Originated in FileMaker Pro 8.5 Description Listed items are separated by carriage returns. Use this function to return a list of values for: • a single field (table::field), which returns a single result over all repetitions (if any) for this field and over all matching related records, whether or not these records appear in a portal. • several fields and/or literal values (table::field1,constant,table::field2...), which returns a separate result for each repetition of the calculation across each corresponding repetition of the fields. If any fields are related, only the first related record is used. Examples In the following examples: • Field1 contains white. • Field2 contains black. • Field3 contains three repetitions with values of red, green, blue. • Related::Field4 refers to three records that contain 100, 200, 300. • $f1 contains orange. Note When referencing multiple repeating fields, List() returns the list of values across the first repetition in the calculation's first repetition, then the list of values across the second repetition in the second repetition, and so on. FILEMAKER PRO FUNCTIONS REFERENCE 20 Aggregate functions Example 1 List (Field1; Field2) returns: • white • black Example 2 List(Field3) returns: • red • green • blue Example 3 List (Field1; Field2; Field3) returns: in calculation repetition 1: • white • black • red in calculation repetition 2: • green in calculation repetition 3: • blue Example 4 List(Related::Field4) returns: • 100 • 200 • 300 Example 5 List ($f1; Field2) returns: • orange • black FILEMAKER PRO FUNCTIONS REFERENCE 21 Aggregate functions Max Purpose Returns the highest valid value in a field. Format Max(field{;field...}) Parameters field - any related field, repeating field, or set of non-repeating fields; or an expression that returns a field, repeating field, or set of non-repeating fields. Parameters in braces { } are optional. Data type returned text, number, date, time, timestamp Originated in FileMaker Pro 6.0 or earlier Description Field can be any of the following: • a repeating field (repeatingField). • a field in matching related records specified by (table::field), whether or not these records appear in a portal. • several non-repeating fields in a record (field1;field2;field3...). • corresponding repetitions of repeating fields in a record (repeatingField1;repeatingField2;repeatingField3), if the result is returned in a repeating field with at least the same number of repeats. • several fields in the first matching record specified by (table::field1;table::field2;...). You can include fields from different tables (table 1::field A;table 2::field B...). Examples The Accounts layout has a portal showing installment payments made. Max(Payments::PaymentDate) returns the most recent date a payment was made on an account. In the following examples: • Field1 contains two repetitions with values of 1 and 2. • Field2 contains four repetitions with values of 5, 6, 7, and 8. • Field3 contains 6. Max(Field2) returns 8 when the calculation isn’t a repeating field. Max(Field1;Field2;Field3) returns 6, 6, 7, 8 when the calculation is a repeating field. FILEMAKER PRO FUNCTIONS REFERENCE 22 Aggregate functions Notes • When a referenced field is a repeating field, the Max function returns the maximum value in the first repetition field, then the maximum value in the second repetition field, and so on. • Aggregate functions such as Min or Max use the data type of the first parameter to perform all comparisons. For example, if the first parameter’s data type is text, all other parameters are converted to text and then compared. FILEMAKER PRO FUNCTIONS REFERENCE 23 Aggregate functions Min Purpose Returns the smallest valid, non-blank value in a field. Format Min(field{;field...}) Parameters field - any related field, repeating field, or set of non-repeating fields; or an expression that returns a field, repeating field, or set of non-repeating fields. Parameters in braces { } are optional. Data type returned text, number, date, time, timestamp Originated in FileMaker Pro 6.0 or earlier Description Field can be any of the following: • a repeating field (repeatingField). • a field in matching related records specified by (table::field), whether or not these records appear in a portal. • several non-repeating fields in a record (field1;field2;field3...). • corresponding repetitions of repeating fields in a record (repeatingField1;repeatingField2;repeatingField3), if the result is returned in a repeating field with at least the same number of repeats. • several fields in the first matching record specified by (table::field1;table::field2;...). You can include fields from different tables (table 1::field A;table 2::field B...). Examples A Contracts table has a portal showing bids submitted for each contract. Min(Bids::Price) returns the lowest bid submitted for a contract. In the following examples: • Field1 contains two repetitions with values of 1 and 2. • Field2 contains four repetitions with values of 5, 6, 7, and 8. • Field3 contains 6. Min(Field2) returns 5 when the calculation isn’t a repeating field. Min(Field1;Field2;Field3) returns 1, 2, 7, 8 when the calculation is a repeating field. FILEMAKER PRO FUNCTIONS REFERENCE 24 Aggregate functions Notes • When a referenced field is a repeating field, the Min function returns the minimum value in the first repetition field, then the minimum value in the second repetition field, and so on. • Aggregate functions such as Min or Max use the data type of the first parameter to perform all comparisons. For example, if the first parameter’s data type is text, all other parameters are converted to text and then compared. FILEMAKER PRO FUNCTIONS REFERENCE 25 Aggregate functions StDev Purpose Returns the standard deviation of the sample represented by a series of non-blank values in a field. Format StDev(field{;field...}) Parameters field - any related field, repeating field, or set of non-repeating fields; or an expression that returns a field, repeating field, or set of non-repeating fields. Parameters in braces { } are optional. Data type returned number Originated in FileMaker Pro 6.0 or earlier Description Field can be any of the following: • a repeating field (repeatingField). • a field in matching related records specified by (table::field), whether or not these records appear in a portal. • several non-repeating fields in a record (field1;field2;field3). • corresponding repetitions of repeating fields in a record (repeatingField1;repeatingField2;repeatingField3), if the result is returned in a repeating field with at least the same number of repeats. • several fields in the first matching record specified by (table 1::field A, table 2::field B,...). You can name a different table for each field (table 1::field A;table 2::field B...). StDev = x 12 + x 22 + … + x n2 ( x 1 + x 2 + … + x n ) 2 -------------------------------------------– --------------------------------------------------n(n – 1) n–1 FILEMAKER PRO FUNCTIONS REFERENCE 26 Aggregate functions Examples A portal displays the related values 5, 6, 7, and 8 in a field called Scores. StDev(table::Scores) returns 1.29099444.... In the following examples: • Field1 contains two repetitions with values of 1 and 2. • Field2 contains four repetitions with values of 5, 6, 7, and 8. • Field3 contains four repetitions with values of 6, 0, 4, and 4. • Field4 contains one repetition with a value of 3. StDev(Field4) results in an error because standard deviation of a single number is not defined. StDev(Field1;Field2;Field3) returns 2.64575131..., 3.05505046..., 2.12132034..., 2.82842712... for a repeating field. Note When a referenced field is a repeating field, the StDev function returns the standard deviation in the first repetition fields, then the standard deviation in the second repetition fields, and so on. FILEMAKER PRO FUNCTIONS REFERENCE 27 Aggregate functions StDevP Purpose Returns the standard deviation of a population represented by a series of non-blank values in a field. Format StDevP(field{;field... }) Parameters field - any related field, repeating field, or set of non-repeating fields; or an expression that returns a field, repeating field, or set of non-repeating fields. Parameters in braces { } are optional. Data type returned number Originated in FileMaker Pro 6.0 or earlier Description Field can be any of the following: • a repeating field (repeatingField). • a field in matching related records specified by (table::field), whether or not these records appear in a portal. • several non-repeating fields in a record (field1;field2;field3...). • corresponding repetitions of repeating fields in a record (repeatingField1;repeatingField2;repeatingField3), if the result is returned in a repeating field with at least the same number of repeats. • several fields in the first matching record specified by (table::field1;table::field2;...). You can include fields from different tables (table 1::field A;table 2::field B...). StDevP = x 12 + x 22 + … + x n2 x 1 + x 2 + … + x n 2 -------------------------------------------- – ------------------------------------------ n n FILEMAKER PRO FUNCTIONS REFERENCE 28 Aggregate functions Examples A portal displays the related values 5, 6, 7, and 8 in the field Scores. StDevP(table::Scores) returns 1.11803398.... In the following examples: • Field1 contains two repetitions with values of 1 and 2. • Field2 contains four repetitions with values of 5, 6, 7, and 8. • Field3 contains four repetitions with values of 6, 0, 4, and 4. • Field4 contains one repetition with a value of 3. StDevP(Field4) results in an error because the population standard deviation of a single number is not defined. StDevP(Field2) returns 1.11803398... for a non-repeating field. StDevP(Field1;Field2;Field3) returns 2.16024689..., 2.49443825..., 1.5, 2 for repeating fields. Note When a referenced field is a repeating field, the StDevP function returns the standard deviation of a population in the first repetition fields, then the standard deviation of a population in the second repetition fields, and so on. FILEMAKER PRO FUNCTIONS REFERENCE 29 Aggregate functions Sum Purpose Returns the total of all valid, non-blank values in a field. Format Sum(field{;field...}) Parameters field - any related field, repeating field, or set of non-repeating fields; or an expression that returns a field, repeating field, or set of non-repeating fields. Parameters in braces { } are optional. Data type returned number Originated in FileMaker Pro 6.0 or earlier Description Field can be any of the following: • a repeating field (repeatingField). • a field in matching related records specified by (table::field), whether or not these records appear in a portal. • several non-repeating fields in a record (field1;field2;field3...). • corresponding repetitions of repeating fields in a record (repeatingField1;repeatingField2;repeatingField3), if the result is returned in a repeating field with at least the same number of repeats. • several fields in the first matching record specified by (table::field1;table::field2;...). You can include fields from different tables (table 1::field A;table 2::field B...). FILEMAKER PRO FUNCTIONS REFERENCE 30 Aggregate functions Examples An Invoice table has a portal showing line items. Sum(LineItems::ExtendedPrice) totals the amounts for all items on the invoice. A TimeBilling table has a portal showing time worked on a project. Hours is a time field. Sum(Hours::BillableHours) returns the total number of billable hours on a project. Thus, if the portal shows 40 hours and 15:30 hours, the total billable hours are 55:30, or 55 1/2 hours. In the following examples: • Field1 contains two repetitions with values of 1 and 2. • Field2 contains four repetitions with values of 5, 6, 7, and 8. • Field3 contains 6. If the calculation result isn’t a repeating field: • Sum(Field2) returns 26. • Sum(Field1;Field2;Field3) returns 12. If the calculation result is a repeating field: • Sum(Field2) returns a repeating field with 26 in the first repetition. • Sum(Field1;Field2;Field3) returns a repeating field with 12, 8, 7, 8. Note When a referenced field is a repeating field, the Sum function returns the sum of the first repetition field, then the sum of the second repetition field, and so on. FILEMAKER PRO FUNCTIONS REFERENCE 31 Aggregate functions Variance Purpose Returns the variance of a sample represented by a series of non-blank values in a field. Format Variance(field{;field...}) Parameters field - any related field, repeating field, or set of non-repeating fields; or an expression that returns a field, repeating field, or set of non-repeating fields. Parameters in braces { } are optional. Data type returned number Originated in FileMaker Pro 7.0 Description The variance of a distribution is a measure of how spread out the distribution is. Field can be any of the following: • a repeating field (repeatingField). • a field in matching related records specified by (table::field), whether or not these records appear in a portal. • several non-repeating fields in a record (field1;field2;field3...). • corresponding repetitions of repeating fields in a record (repeatingField1;repeatingField2;repeatingField3), if the result is returned in a repeating field with at least the same number of repeats. • several fields in the first matching record specified by (table::field1;table::field2;...). You can include fields from different tables (table 1::field A;table 2::field B...). x 12 + x 22 + … + x n2 ( x 1 + x 2 + … + x n ) 2 Variance = -------------------------------------------- – --------------------------------------------------n–1 n( n – 1) FILEMAKER PRO FUNCTIONS REFERENCE 32 Aggregate functions Examples A portal displays the related values 5, 6, 7, and 8 in Scores. Variance(table::Scores) returns 1.66666666.... In the following examples: • Field1 contains two repetitions with values of 1 and 2. • Field2 contains four repetitions with values of 5, 6, 7, and 8. • Field3 contains four repetitions with values of 6, 0, 4,and 4. • Field4 contains one repetition with a value of 3. Variance(Field4) results in an error since the variance of a single value is not defined. Variance(Field1;Field2;Field3) returns 7, 9.33333333..., 4.5, 8 if the calculation is a repeating field. Student example Two classes of students take an exam. Class 1 has scores of 70, 71, 70, 74, 75, 73, 72 and Class 2 has scores of 55, 80, 75, 40, 65, 50, 95. The variance for each class is: Class 1: 3.80952380... Class 2: 361.90476190... The variance for Class 1 is much lower than the variance for Class 2, because the scores for Class 2 are more spread out. FILEMAKER PRO FUNCTIONS REFERENCE 33 Aggregate functions VarianceP Purpose Returns the variance of a population represented by a series of non-blank values in a field. Format VarianceP(field{;field...}) Parameters field - any related field, repeating field, or set of non-repeating fields; or an expression that returns a field, repeating field, or set of non-repeating fields. Parameters in braces { } are optional. Data type returned number Originated in FileMaker Pro 7.0 Description The variance of a population distribution is a measure of how spread out the distribution is. Field can be any of the following: • a repeating field (repeatingField). • a field in matching related records specified by (table::field), whether or not these records appear in a portal. • several non-repeating fields in a record (field1;field2;field3...). • corresponding repetitions of repeating fields in a record (repeatingField1;repeatingField2;repeatingField3), if the result is returned in a repeating field with at least the same number of repeats. • several fields in the first matching record specified by (table::field1;table::field2;...). You can include fields from different tables (table 1::field A;table 2::field B...). x1 + x2 + … + xn 2 x 12 + x 22 + … + x n2 VarianceP = -------------------------------------------- – ------------------------------------------- n n FILEMAKER PRO FUNCTIONS REFERENCE 34 Aggregate functions Examples A portal displays the related values 5, 6, 7, and 8 in Scores. VarianceP(table::Scores) returns 1.25. In the following examples: • Field1 contains two repetitions with values of 1 and 2. • Field2 contains four repetitions with values of 5, 6, 7, and 8. • Field3 contains four repetitions with values of 6, 0, 4, and 4. • Field4 contains one repetition with a value of 3. VarianceP(Field4) results in an error since the variance of a single value is not defined. VarianceP(Field1;Field2;Field3) returns 4.66666666..., 6.22222222..., 2.25, 4 if the calculation is a repeating field. Student example Two classes of students take an exam. Class 1 has scores of 70, 71, 70, 74, 75, 73, 72 and Class 2 has scores of 55, 80, 75, 40, 65, 50, 95. The population variance for each class is: Class 1: 3.26530612... Class 2: 310.20408163... The population variance for Class 1 is much lower than the population variance for Class 2 because the scores for Class 1 are more tightly clustered. FILEMAKER PRO FUNCTIONS REFERENCE 35 Container functions Container functions Container functions calculate, manipulate, and report on data in container fields. Click a function name for details. This function Returns Base64Decode Container content from text encoded in Base64 format. Base64Encode The contents of the specified field as text in Base64 format. GetContainerAttribute The file metadata of the specified container field. GetHeight The height, in pixels, of the content in a container field that holds images. GetThumbnail A thumbnail image of the content in a container field, according to a specified height and width. GetWidth The width, in pixels, of the content in a container field that holds images. VerifyContainer 0 (false) if container data was changed or deleted outside FileMaker; otherwise, returns 1 (true). FILEMAKER PRO FUNCTIONS REFERENCE 36 Container functions Base64Decode Purpose Returns container content from text encoded in Base64 format. Format Base64Decode(text{;fileNameWithExtension}) Parameters text - Base64 text to decode. fileNameWithExtension - the filename and extension for the file created from the decoded Base64 text. Data type returned container Originated in FileMaker Pro 13.0 Description Base64 encoding does not retain the filename or extension of encoded content. If a filename and extension are not specified in the fileNameWithExtension parameter, Base64Decode returns the container content with a generic filename and extension but does not change the content’s data format. Examples Base64Decode(Products::Base64;"question.png") returns when Products::Base64 is set to a string that begins with "iVBORw0KGgoAAAANSUhEUgAAAB8". The Base64 string in this example was shortened for readability. FILEMAKER PRO FUNCTIONS REFERENCE 37 Container functions Base64Encode Purpose Returns the contents of the specified field as text in Base64 format. Format Base64Encode(sourceField) Parameters sourceField - the name of a field. Data type returned text Originated in FileMaker Pro 13.0 Description Base64Encode adds a line break after every 76 characters. Base64 encoding does not retain the filename or extension of encoded container field content. Example 1 Base64Encode(Products::Color) returns QmxhY2s= when Products::Color is set to "Black". Example 2 Base64Encode(Products::Container) returns a string that begins with iVBORw0KGgoAAAANSUhEUgAAAB8 when Products::Container is set to string in this example was shortened for readability. FILEMAKER PRO FUNCTIONS REFERENCE . The Base64 38 Container functions GetContainerAttribute Purpose Returns the file metadata of the specified container field. Format GetContainerAttribute(sourceField;attributeName) Parameters sourceField - the name of a container field. attributeName - the name of a supported attribute (see below). Data type returned text, number, date, time, timestamp, container Originated in FileMaker Pro 13.0 Description Some attributes may not return a result. For example, the values for the latitude and longitude of a photo may not be available, or some audio metadata like album art may not be available because the metadata is stored outside the audio file. Some individual attributes in the group attribute all may not be applicable in some circumstances. Tip To minimize the frequency with which FileMaker Pro analyzes container data, use GetContainerAttribute in a field's auto-enter calculation and deselect Do not replace existing value of field (if any). In this case, GetContainerAttribute will update only when the contents of the specified container field change. If GetContainerAttribute is used in a calculation field definition, the calculation may update each time the current record changes, reducing the performance of your solution. Attributes Attribute Returns Data type returned filename The name of the file inserted into the container field. text MD5 The result of applying the cryptographic hash function MD5 to a file inserted into the container field or a file referenced by a container field. text storageType The method used to store the data in the container field: Embedded, External (Secure), External (Open), File Reference, Text. text fileSize The size (in bytes) of the file inserted into the container field. number internalSize The amount (in bytes) of the space inside the database file that is occupied by the container field. General FILEMAKER PRO FUNCTIONS REFERENCE number 39 Container functions Attribute Returns Data type returned externalSize The amount (in bytes) of the space that is stored externally by the container field. This is either the size of the referenced file or the total size of all files in the container field (set up for open or secure storage). number externalFiles A list of the external files associated with the container field text (either files using open or secure storage or a file reference). Images width A number representing the width of the image in pixels. number height A number representing the height of the image in pixels. number dpiWidth A number representing the horizontal DPI of the image. number dpiHeight A number representing the vertical DPI of the image. number transparency 1 if the image has an alpha channel, otherwise returns 0. number Photos Note Only JPEG and TIFF files return results. orientation A number representing the orientation of the photo: 1 (Normal) 2 (Flipped horizontally) 3 (Rotated 180 degrees) 4 (Flipped vertically) 5 (Rotated 90 degrees counterclockwise and flipped vertically) 6 (Rotated 90 degrees counterclockwise) 7 (Rotated 90 degrees clockwise and flipped vertically) 8 (Rotated 90 degrees clockwise) text Note: Photos that were inserted using earlier versions of FileMaker Pro are not automatically oriented; for such photos, not applied is appended to the result. For example, 3 (Rotated 180 degrees), not applied. created The earliest available timestamp for the photo. timestamp modified The latest available timestamp for the photo. If the photo has never been modified, an empty string is returned. timestamp latitude The latitude of the location of the photo. text longitude The longitude of the location of the photo. text make The manufacturer of the camera used for the photo. text model The camera model used for the photo. text Audio Note Only MP3 and M4A files return results. title The title of the audio. text artist The name of the performer of the audio. text album The name of the album containing the audio. text FILEMAKER PRO FUNCTIONS REFERENCE 40 Container functions Attribute Returns Data type returned year The year the audio was released. text track The track number and count of the audio. For example, 3/12, or 3 if the track count is not available. text genre The genre of the audio. text composer The composer of the audio. text coverArt An image of the album cover. container duration The duration of the audio. For example, 0:03:16. time bitRate The number of kilobits per second (kbps) used in the audio. number barcodeText The contents of the bar code. text barcodeType The type of the bar code. text The timestamp when the signature was inserted. timestamp general Attributes listed in the General category above pertaining to the container field. text audio Attributes listed in the Audio category above pertaining to the container field. text image Attributes listed in the Images category above pertaining to the container field. text photo Attributes listed in the Photos category above pertaining to the container field. text barcode Attributes listed in the Bar Codes category above pertaining to the container field. text signature Attributes listed in the Signatures category above pertaining to the container field. text all Attributes in all the categories listed above pertaining to the container field. text Bar Codes Signatures signed Groups FILEMAKER PRO FUNCTIONS REFERENCE 41 Container functions Notes • The internalSize can be much smaller than the fileSize (for example, container fields set up for open or secure storage, file references, or compressed files) or much larger than the fileSize (for example, container fields created by plug-ins). • Using the attribute MD5 allows you to prevent the insertion of duplicated files into a container field regardless of the filename. • Bar codes and signatures are not considered images. • For the group attributes general, audio, image, photo, and all, attributes are displayed in the format attributeName: attributeValue with one attribute per line. Some attributes are displayed differently in order to fit the attribute on one line: • externalFiles. Displays only the number of external files. • transparency. Displays 1 (True) or 0 (False). • coverArt. Displays png or jpg depending on the type of image. • bitRate. Displays kbps after the number. If an audio uses a variable bit rate, (VBR) is appended to the result. For example: Bit Rate: 247 kbps (VBR). • year. Date information may be returned in parentheses after the year. For example: Year: 2014 (11/10/2014). Examples Notice that the attributes in the following examples are enclosed in quotation marks. GetContainerAttribute(Image;"all") returns: [General] Filename: IMG_003.JPG Storage Type: Embedded MD5: C35A3F668A1FB3F370969399A1FF04FE File Size: 1964978 Internal Size: 1965064 External Size: 0 External Files: 0 [Image] Width: 1936 Height: 2592 DPI Width: 72 DPI Height: 72 Transparency: 0 (False) FILEMAKER PRO FUNCTIONS REFERENCE 42 Container functions [Photo] Orientation: 6 (Rotated 90 degrees counterclockwise) Created: 1/14/2015 2:40:31 PM Modified: Latitude: 37.406167 Longitude: -121.983333 Make: Apple Model: iPhone 5s GetContainerAttribute(Product;"barcode") returns: [Bar Code] Bar Code Text: 875720001107 Bar Code Type: UPC-A GetContainerAttribute(Package;"signature") returns: [Signature] Signed: 11/10/2014 11:41:22 AM FILEMAKER PRO FUNCTIONS REFERENCE 43 Container functions GetHeight Purpose Returns the height, in pixels, of the content in a container field that holds images. Format GetHeight(field) Parameters field - any text, number, date, time, timestamp, or container field; or any text expression or numeric expression. Data type returned number Originated in FileMaker Pro 12.0 Description Returns the height in pixels of images in a container field that holds images. Otherwise, GetHeight returns 0. Examples GetHeight(product) returns 768. FILEMAKER PRO FUNCTIONS REFERENCE 44 Container functions GetThumbnail Purpose Returns a thumbnail image of the content in a container field, according to a specified height and width. Format GetThumbnail(field;width;height) Parameters field - any text, number, date, time, timestamp, or container field; or any text expression or numeric expression. width - the width for the thumbnail. height - the height for the thumbnail. Data type returned container Originated in FileMaker Pro 12.0 Description Returns an image that’s stored in a container field according to specified values for width and height. The thumbnail image always maintains the proportions of the original image. Thumbnails cannot be made larger than the image’s original size. Note If the field parameter does not specify a field that contains image data, field must evaluate to the file path of an image. See Creating file paths. Example 1 Exports a thumbnail with a maximum height and width of 50 points. Set Field [Invoices::ExportContainer ; GetThumbnail ( Invoices::Container ; 50 ; 50 ) Export Field Contents [Invoices::ExportContainer] Example 2 Creates a thumbnail, exports it, and attaches it to an email. Set Field [Invoices::ExportContainer; GetThumbnail ( Invoices::Container ; 50 ; 50 ) Set Variable [$ATTACHMENT; Value:Get ( TemporaryPath ) & GetContainerAttribute ( Invoices::ExportContainer ; "filename" )] Export Field Contents [Invoices::ExportContainer; "$ATTACHMENT"] Send Mail [Send via E-mail Client; With dialog: Off; To: Customers::Email; "$ATTACHMENT"] FILEMAKER PRO FUNCTIONS REFERENCE 45 Container functions GetWidth Purpose Returns the width, in pixels, of the content in a container field that holds images. Format GetWidth(field) Parameters field - any text, number, date, time, timestamp, or container field; or any text expression or numeric expression. Data type returned number Originated in FileMaker Pro 12.0 Description Returns the width in pixels of images in a container field that holds images. Otherwise, GetWidth returns 0. Examples GetWidth(Product) returns 1024. FILEMAKER PRO FUNCTIONS REFERENCE 46 Container functions VerifyContainer Purpose Returns 0 (false) if container data was changed or deleted outside FileMaker; otherwise, returns 1 (true). Format VerifyContainer(field) Parameters field - any text, number, date, time, timestamp, or container field; or any text expression or numeric expression. Data type returned text Originated in FileMaker Pro 12.0 Description Returns a Boolean value representing the validity of data stored externally in a container field. Examples VerifyContainer(Photo) returns: • 0 (False) if files saved externally were modified or deleted. • 1 (True) if no changes or deletions occurred. • ? if the Photo field is not a container field. FILEMAKER PRO FUNCTIONS REFERENCE 47 Date functions Date functions Date functions calculate dates and manipulate date information. Important To avoid errors when using dates, always use four-digit years. For more information about how FileMaker Pro handles two-digit dates, see Conversion of dates with two-digit years. Note System formats affect the way dates are displayed. See Opening files with different system formats. Tip You can use zero (0) and negative numbers as date function arguments. For example, the following formula returns 5/31/2014: Date(6;0;2014) Click a function name for details. This function Returns Date The calendar date for a month, day, and year. Day A number from 1 to 31, for the day of the month on which a date occurs. DayName Text that is the full name of the weekday for a date. DayNameJ Text in Japanese that is the full name of the weekday for a date. DayOfWeek A number representing the day of the week on which a date occurs. DayOfYear The number of days from the beginning of the year of a date. Month A number from 1 to 12, representing the month of the year in which a date occurs. MonthName The full name of the month for a date. MonthNameJ The name of the month of a date in Japanese. WeekOfYear The number of weeks after January 1 of the year of a date. WeekOfYearFiscal A number from 1 to 53, representing the week containing a date, from a starting day. Year A number representing the year in which a date occurs. YearName The Japanese year name of a date, in the specified format. FILEMAKER PRO FUNCTIONS REFERENCE 48 Date functions Date Purpose Returns the calendar date for a month, day, and year. Format Date(month;day;year) Parameters month - the month of the year (a one-digit or two-digit number; see note). day - the day of the month (a one-digit or two-digit number; see note). year - the year (four digits between 0001 and 4000. For example, 2014 but not 14). Important The order of the parameters in the Date function is always Month, Day, Year, no matter what operating system or FileMaker Pro date formats you are using. Data type returned date Originated in FileMaker Pro 6.0 or earlier Description The format of the result depends on the date format that was in use when the database file was created. In the United States, dates are generally in the format MM/DD/YYYY. You can change the date format in your operating system. You can change how the date is displayed by assigning a different date format to the field in Layout mode. Changing the formatting in this way only affects the way the data is displayed, not how it is stored. Important To avoid errors when using dates, always use four-digit years. For more information about how FileMaker Pro handles two-digit dates, see Conversion of dates with two-digit years. Note If you type a month greater than 12 or a day greater than the number of days in a month, FileMaker Pro adds the extra days or months to the result. The date function also allows zero and negative numbers as parameters. Decimal numbers are truncated to integers. Examples Date(10;10;2014) returns 10/10/2014. Date(13;1;2014) returns 1/1/2015 (one month after December 1, 2014). Date(6;0;2014) returns 5/31/2014 (one day before June 1, 2014). Date(6;-2;2014) returns 5/29/2014 (three days before June 1, 2014). Date(7;12;2014)-Date(7;2;2014) returns 10. “Bill Due by: ” & Date(Month(DateSold) + 1;Day(DateSold);Year(DateSold)) returns Bill Due by: followed by a value that is one month later than DateSold. FILEMAKER PRO FUNCTIONS REFERENCE 49 Date functions Day Purpose Returns a number from 1 to 31, for the day of the month on which a date occurs. Format Day(date) Parameters date - any calendar date Data type returned number Originated in FileMaker Pro 6.0 or earlier Description Use Day, for example, to identify the day of the month on which payments are due. Important To avoid errors when using dates, always use four-digit years. For more information about how FileMaker Pro handles two-digit dates, see Conversion of dates with two-digit years. Examples Day(“5/15/2014”) returns 15. This example assumes that the system date format is MM/DD/ YYYY. Day(DateSold) returns the day of the month stored in DateSold. If(Day(Get(CurrentDate))= 15 and Month(Get(CurrentDate))=3;“Beware the Ides of March”;””) displays the text Beware the Ides of March only when the day of the month returned by Get(CurrentDate) is 15 and the month returned by Get(CurrentDate) is 3; otherwise it displays nothing. FILEMAKER PRO FUNCTIONS REFERENCE 50 Date functions DayName Purpose Returns text that is the full name of the weekday for a date. Format DayName(date) Parameters date - any calendar date Data type returned text Originated in FileMaker Pro 6.0 or earlier Examples DayName(Date(10;7;2014)) returns Tuesday. DayName(ProjectDue) returns Tuesday when ProjectDue is 10/7/2014. DayName(“10/7/2014”) returns Tuesday. “Return your selection by ” & DayName(DueDate) displays the text Return your selection by followed by the name of the day stored in DueDate. Important To avoid errors when using dates, always use four-digit years. For more information about how FileMaker Pro handles two-digit dates, see Conversion of dates with two-digit years. FILEMAKER PRO FUNCTIONS REFERENCE 51 Date functions DayNameJ Purpose Returns text in Japanese that is the full name of the weekday for a date. Format DayNameJ(date) Parameters date - any calendar date Data type returned text Originated in FileMaker Pro 6.0 or earlier Examples DayNameJ(Date(4;4;2014)) returns . Important To avoid errors when using dates, always use four-digit years. For more information about how FileMaker Pro handles two-digit dates, see Conversion of dates with two-digit years. FILEMAKER PRO FUNCTIONS REFERENCE 52 Date functions DayOfWeek Purpose Returns a number representing the day of the week on which a date occurs. Format DayOfWeek(date) Parameters date - any calendar date Data type returned number Originated in FileMaker Pro 6.0 or earlier Description The number 1 represents Sunday, 2 represents Monday, 3 represents Tuesday, and so on. For example, you can find out on what day of the week a holiday occurs. Important To avoid errors when using dates, always use four-digit years. For more information about how FileMaker Pro handles two-digit dates, see Conversion of dates with two-digit years. Examples DayOfWeek(“10/8/2014”) returns 4. DayOfWeek(Date(10;9;2014)) returns 5. DayOfWeek(ProjectDue) returns 3 when the date in ProjectDue is 10/7/2014. FILEMAKER PRO FUNCTIONS REFERENCE 53 Date functions DayOfYear Purpose Returns the number of days from the beginning of the year of a date. Format DayOfYear(date) Parameters date - any calendar date Data type returned number Originated in FileMaker Pro 6.0 or earlier Examples DayOfYear(Billing Date) returns 32, when Billing Date is 2/1/2014. The following formulas return the total number of days in the current year: DayOfYear(Date(12;31;Year(Get(CurrentDate)))) DayOfYear(Date(1;1;Year(Get(CurrentDate)) + 1) -1) Important To avoid errors when using dates, always use four-digit years. For more information about how FileMaker Pro handles two-digit dates, see Conversion of dates with two-digit years. FILEMAKER PRO FUNCTIONS REFERENCE 54 Date functions Month Purpose Returns a number from 1 to 12, representing the month of the year in which a date occurs. Format Month(date) Parameters date - any calendar date Data type returned number Originated in FileMaker Pro 6.0 or earlier Examples Month(“3/19/2014”) returns 3. This example assumes that the operating system date format is set to MM/DD/YYYY. Month(Payment) returns 3, where Payment contains March 19, 2014. (The Payment field must be of type date.) “Bill Due by: ” & Date(Month(DateSold) + 1;Day(DateSold);Year(DateSold)) returns Bill Due by: followed by a value that is one month later than DateSold. Important To avoid errors when using dates, always use four-digit years. For more information about how FileMaker Pro handles two-digit dates, see Conversion of dates with two-digit years. FILEMAKER PRO FUNCTIONS REFERENCE 55 Date functions MonthName Purpose Returns the full name of the month for a date. Format MonthName(date) Parameters date - any calendar date Data type returned text Originated in FileMaker Pro 6.0 or earlier Examples MonthName(“6/6/2014”) returns June. “Payment due by the end of: ” & MonthName(Date(Month(InvoiceDate) + 1;Day(InvoiceDate);Year(InvoiceDate))) returns Payment due by the end of May, where InvoiceDate is 4/4/2014. “Payment for: ” & MonthName(Date(Month(Payment) + 1;Day(Payment);Year(Payment))) returns Payment for: followed by the name of the month that is one past the month of the last payment. Important To avoid errors when using dates, always use four-digit years. For more information about how FileMaker Pro handles two-digit dates, see Conversion of dates with two-digit years. FILEMAKER PRO FUNCTIONS REFERENCE 56 Date functions MonthNameJ Purpose Returns the name of the month of a date in Japanese. Format MonthNameJ(date) Parameters date - any calendar date Data type returned text Originated in FileMaker Pro 6.0 or earlier Examples MonthNameJ(“6/6/2014”) returns Important To avoid errors when using dates, always use four-digit years. For more information about how FileMaker Pro handles two-digit dates, see Conversion of dates with two-digit years. FILEMAKER PRO FUNCTIONS REFERENCE 57 Date functions WeekOfYear Purpose Returns the number of weeks after January 1 of the year of a date. Format WeekOfYear(date) Parameters date - any calendar date Data type returned number Originated in FileMaker Pro 6.0 or earlier Description Fractions of weeks occurring at the beginning or end of the year count as full weeks, so the WeekOfYear function returns values 1 to 54. Important To avoid errors when using dates, always use four-digit years. For more information about how FileMaker Pro handles two-digit dates, see Conversion of dates with two-digit years. Examples WeekOfYear(“1/1/2014”) returns 1. WeekOfYear(ProjectDue) returns 6, when ProjectDue is 2/2/2014. WeekOfYear(“1/1/2014”) - WeekOfYear(“2/2/2014”) returns -5. FILEMAKER PRO FUNCTIONS REFERENCE 58 Date functions WeekOfYearFiscal Purpose Returns a number from 1 to 53, representing the week containing a date, from a starting day. Format WeekOfYearFiscal(date;startingDay) Parameters date - any calendar date startingDay - any number between 1 and 7, where 1 represents Sunday Data type returned number Originated in FileMaker Pro 6.0 or earlier Description startingDay indicates which day is considered the first day of the week. The first week of the year is the first week that contains four or more days of that year. For example, if you select 1 (Sunday) as the starting day, then January 1 must be on Sunday, Monday, Tuesday, or Wednesday for that week to be the first week of the fiscal year. If you select 2 (Monday) as the starting day, then January 1 must be on Monday, Tuesday, Wednesday, or Thursday for that week to be the first week of the fiscal year. It is possible, using this function, that dates in a particular year will be returned as the 53rd week of the previous year. For example, if in 2008 you selected Sunday (1) as the starting date, then January 1, 2, or 3 in 2009 would occur in week 53 of fiscal year 2008 (in 2009, January 1 is on a Thursday). The first day of fiscal year 2009 would be on Sunday, January 4, because you selected Sunday (1) as the starting day. Important To avoid errors when using dates, always use four-digit years. For more information about how FileMaker Pro handles two-digit dates, see Conversion of dates with two-digit years. Examples WeekOfYearFiscal(Date(1;7;2008);1) returns 2. WeekOfYearFiscal(Date(1;1;2009);5) returns 1. WeekOfYearFiscal(Date(1;2;2009);1) returns 53. FILEMAKER PRO FUNCTIONS REFERENCE 59 Date functions Year Purpose Returns a number representing the year in which a date occurs. Format Year(date) Parameters date - any calendar date Data type returned number Originated in FileMaker Pro 6.0 or earlier Description You can, for example, extract the year from a field containing the date an item was sold. Important To avoid errors when using dates, always use four-digit years. For more information about how FileMaker Pro handles two-digit dates, see Conversion of dates with two-digit years. Examples Year(DateSold) returns the year stored in DateSold. Year(“5/5/2014”) returns 2014. Year(Date(Month(Get(CurrentDate)) + 48;Day(Get(CurrentDate));Year(Get(CurrentDate)))) returns the year that is 48 months from today’s date. FILEMAKER PRO FUNCTIONS REFERENCE 60 Date functions YearName Purpose Returns the Japanese year name of a date, in the specified format. Format YearName(date;format) Parameters date - any calendar date format - a number (0, 1, or 2) that describes the display format Data type returned text Originated in FileMaker Pro 6.0 or earlier Description If the value for format is blank or other than 0, 1, or 2, then 0 is used. 8 (Meiji 8), 0[before 1868.9.8]) 1- 8 (Mei 8), 8 (Taisho 8), 8 (Tai 8), 8 (Sho 8), 8 (Showa 8), 8 (Hei 8), 8 (Heisei 8), (Seireki xxxx xxxx (Sei xxxx [before 1868.9.8]) 2 - M8, T8, S8, H8, A.D.xxxx (before 1868.9.8) Name of Emperor in 0 = Long, 1 = Abbreviated, 2 = 2 byte Roman. Seireki is returned when date is before listed emperors. Examples YearName(DateField;0) Returns FILEMAKER PRO FUNCTIONS REFERENCE when DateField contains 7/15/2008. 61 Design functions Design functions Design functions return information about the structure of open database files. For example, you could determine the names of all the layouts or fields in an open database file. Design function parameters can be any of the following: • filenames such as “Customer” or literal text such as "Jack" • layouts such as layoutName • other functions such as Left(text;number) Notes • FileMaker Pro limits the information returned by a design function, according to the privilege set in effect when the function evaluates a database file. See Creating and editing privilege sets for more information about granting access to database files. • Literal text parameters such as filenames and layout names must be enclosed in quotation marks. Use quotation marks around field names to indicate the literal string is the parameter (omit quotation marks to indicate the value stored in the field is the parameter). You can use spaces before or after the parentheses that enclose parameters, but spaces are not necessary. Use a semicolon between parameters when a function requires more than one parameter. • If you specify a filename as a parameter and the filename contains a period, include the filename extension in the parameter. Otherwise, functions may interpret the period in the filename as the beginning of the filename extension, which can lead to unexpected results. Click a function name for details. This function Returns DatabaseNames A list of the names of all files open on the computer. FieldBounds The location, in points, of each field boundary and the field’s rotation in degrees. FieldComment The specified field’s comment. FieldIDs A list of all field IDs in fileName and layoutName. FieldNames A list of the names of all fields on layoutName in fileName. FieldRepetitions The number and orientation of repetitions of a repeating field as formatted on a layout. FieldStyle The field formatting applied to fieldName on layoutName in fileName. FieldType Information about fieldName. GetNextSerialValue The next serial number of fieldName in fileName. LayoutIDs A list of all layout IDs in fileName. LayoutNames A list of the names of all layouts in fileName. LayoutObjectNames A list of the names of all named objects on layoutName in fileName. RelationInfo A list of four values for each relationship directly related to tableName. ScriptIDs A list of all script IDs in fileName. ScriptNames A list of the names of all scripts in fileName. TableIDs A list of all table IDs in fileName. TableNames A list of all table occurrences in the relationships graph for fileName. FILEMAKER PRO FUNCTIONS REFERENCE 62 Design functions This function Returns ValueListIDs A list of all value list IDs in fileName. ValueListItems A list of the values in a value list. ValueListNames A list of the names of all value lists in fileName. WindowNames A list of the names of windows that are currently open. FILEMAKER PRO FUNCTIONS REFERENCE 63 Design functions DatabaseNames Purpose Returns a list of the names of all files open on the computer. Format DatabaseNames Parameters None Data type returned text Originated in FileMaker Pro 6.0 or earlier Description Listed items are separated by carriage returns. The names returned do not include file extensions. Note If your database is hosted on another computer, DatabaseNames returns a list of the names of local client and remote database files open only on the client computer. Examples To determine whether Customers is one of the files currently open, use the DatabaseNames function with the FilterValues function in the formula: FilterValues( DatabaseNames;"Customers") If the formula returns any text value, then Customers is open. If you want to know how many files with the same name are open, use the DatabaseNames function with the PatternCount function in the formula: PatternCount(FilterValues(DatabaseNames;"Customers");"Customers") This will tell you how many files named Customers are open. FILEMAKER PRO FUNCTIONS REFERENCE 64 Design functions FieldBounds Purpose Returns the location, in points, of each field boundary and the field's rotation in degrees. Format FieldBounds(fileName;layoutName;fieldName) Parameters fileName - the name of an open database file (local or remote). layoutName - the name of a layout in the specified database file. fieldName - the name of a field on the specified layout. Important See Design functions for information about literal text parameters. Data type returned text Originated in FileMaker Pro 6.0 or earlier Description The location returned is measured from the top-left corner of the layout (regardless of printer margins) and is specified in this order: position of left field boundary, position of top field boundary, position of right field boundary, position of bottom field boundary, degree of rotation (measured in a counter-clockwise direction; 0 degrees for unrotated). Note Your layout begins where your margins end. Because field boundaries are measured from the left side and top of the layout, boundaries returned by FieldBounds never change unless you move or re-size a field. Examples FieldBounds(“Customers”;“Layout #1”;“Field”) returns 36 48 295 65 0 in the example below. Notice that all parameters are enclosed in quotation marks. 36 48 65 295 FILEMAKER PRO FUNCTIONS REFERENCE 65 Design functions FieldComment Purpose Returns the specified field's comment. Format FieldComment(fileName;fieldName) Parameters fileName - the name of an open database file (local or remote). fieldName - the name of a field in the specified database file. Important See Design functions for information about literal text parameters. Data type returned text Originated in FileMaker Pro 7.0 Description The field name must be in the form tablename::fieldname to specify a field that exists in a table different from the current table. Examples FieldComment("Customers"; "Phone Number") returns “Customer's home telephone number” if it was entered as a comment for the Phone Number field. FieldComment("Customers"; "Accounts::Current Balance") returns “Customer's current balance” if it was entered as a comment for the Current Balance field in the Accounts table. FILEMAKER PRO FUNCTIONS REFERENCE 66 Design functions FieldIDs Purpose Returns a list of all field IDs in fileName and layoutName. Format FieldIDs(fileName;layoutName) Parameters fileName - the name of an open database file (local or remote). layoutName - the name of a layout or table in the specified database file. Important See Design functions for information about literal text parameters. Data type returned text Originated in FileMaker Pro 6.0 or earlier Description Listed items are separated by carriage returns. Related fields are returned as TableID::RelatedFieldID. For example, 12::4, where 12 is the ID of the table and 4 is the ID of the related field. If no parameter is specified for fileName, FileMaker returns results for the current file. Examples FieldIDs(“Customers”;””) returns IDs of all unique fields in the default table of Customers. FieldIDs(“Customers”;”Layout#5”) returns IDs of all unique fields, including related fields, on Layout#5 in Customers. FILEMAKER PRO FUNCTIONS REFERENCE 67 Design functions FieldNames Purpose Returns a list of the names of all fields on layoutName in fileName. Format FieldNames(fileName;layoutName) Parameters fileName - the name of an open database file (local or remote). layoutName - the name of a layout or table in the specified database file. Important See Design functions for information about literal text parameters. Data type returned text Originated in FileMaker Pro 6.0 or earlier Description Listed items are separated by carriage returns. Related fields are displayed in tablename::fieldname format. If no parameter is specified for fileName, FileMaker returns results for the current file. Note If FieldNames returns a question mark (?) or the name of only one field, go to the Specify Calculation dialog box and make sure Calculation result is text. Also, you can increase the size of the field on the layout to show more field names. Examples FieldNames(“Customers”;””) returns a list of all the fields in the default table of the Customers database file. FieldNames(“Customers”;“Data Entry”) returns a list of all the fields, including related fields, in the Customers database file that appear on the Data Entry layout. FILEMAKER PRO FUNCTIONS REFERENCE 68 Design functions FieldRepetitions Purpose Returns the number and orientation of repetitions of a repeating field as formatted on a layout. Format FieldRepetitions(fileName;layoutName;fieldName) Parameters fileName - the name of an open database file (local or remote). layoutName - the name of a layout in the specified file. fieldName - the name of a field on the specified layout. Important See Design functions for information about literal text parameters. Data type returned text Originated in FileMaker Pro 6.0 or earlier Description This function returns the number of repetitions of a repeating field as it is currently formatted on a layout, and the orientation of the field repetitions (horizontal or vertical). The number of repetitions of fieldName as it is currently formatted could be different from the number of repetitions when the field was defined. If fieldName isn’t a repeating field, it returns 1 vertical. Examples FieldRepetitions(“Customers”;“Data Entry”;“Business Phone”) returns 3 vertical if the Business Phone field is defined as a repeating field with five repetitions but is formatted to only show three repetitions in a vertical orientation on the Data Entry layout. FILEMAKER PRO FUNCTIONS REFERENCE 69 Design functions FieldStyle Purpose Returns the field formatting applied to fieldName on layoutName in fileName. Format FieldStyle(fileName;layoutName;fieldName) Parameters fileName - the name of an open database file (local or remote). layoutName - the name of a layout in the specified database file. fieldName - the name of a field on the specified layout. Important See Design functions for information about literal text parameters. Data type returned text Originated in FileMaker Pro 6.0 or earlier Description If the field has a value list associated with it, the FieldStyle function also returns the name of the value list. • A standard field returns Standard. • A standard field with a vertical scroll bar returns Scrolling. • A drop-down list returns Popuplist. • A pop-up menu returns Popupmenu. • A checkbox returns Checkbox. • A radio button returns RadioButton. • A drop-down calendar returns Calendar. Examples On the Data Entry layout in the Customers database file, FieldStyle(“Customers”;“Data Entry”;“Current Customer”) returns RadioButton Yes/No List when the Current Customer field is formatted as a radio button and is associated with the value list named Yes/No List. FILEMAKER PRO FUNCTIONS REFERENCE 70 Design functions FieldType Purpose Returns information about fieldName. Format FieldType(fileName;fieldName) Parameters fileName - the name of an open database file (local or remote). fieldName - the name of a field in the specified database file. Important See Design functions for information about literal text parameters. Data type returned text Originated in FileMaker Pro 6.0 or earlier Description Field names must be in the format tablename::fieldname to specify a field that exists in a table different from the current table. The result has four values separated by spaces: • The first value is either Standard, StoredCalc, Summary, UnstoredCalc, External(Secure), External(Open), or Global. • The second value is the field type: text, number, date, time, timestamp, or container. • The third value is Indexed or Unindexed. • The fourth value is the maximum number of repetitions defined for the field (if the field isn’t defined as a repeating field, this value is 1). Examples FieldType(“Customers”;“Phone Number”) returns Standard Text Unindexed 3 when, in the Customers database file, the Phone Number field is defined as a text field that repeats a maximum of three times and the storage options are left unchanged. (Most fields are indexed when a find is performed in that field.) FieldType(“Customers”;“Current Balance”) returns StoredCalc Number Indexed 1 when, in the Customers database file, the Current Balance field is defined as a stored, numeric calculation field that is indexed. FieldType(“Customers”;“Today’s Date”) returns Global Date Unindexed 1 when, in the Customers database file, the Today’s Date field is defined as a global field of type date. Global fields are never indexed. FieldType(“Customers”;”Statement”) returns External(Secure) Container Unindexed 1 when, in the Customers database file, the Statement field is defined as a container field that stores data externally using secure storage. Container fields cannot be indexed. FILEMAKER PRO FUNCTIONS REFERENCE 71 Design functions GetNextSerialValue Purpose Returns the next serial number of fieldName in fileName. Format GetNextSerialValue(fileName;fieldName) Parameters fileName - the name of an open database file (local or remote). fieldName - the name of the field whose next serial number you want to determine. Important See Design functions for information about literal text parameters. Data type returned text Originated in FileMaker Pro 6.0 or earlier Description Field names must be fully qualified in the format tablename::fieldname to specify a field that exists in a table different from the current table. Examples GetNextSerialValue(“Customers”;”CustID”) returns the next serial number for the CustID field. FILEMAKER PRO FUNCTIONS REFERENCE 72 Design functions LayoutIDs Purpose Returns a list of all layout IDs in fileName. Format LayoutIDs(fileName) Parameters fileName - the name of an open database file (local or remote). Important See Design functions for information about literal text parameters. Data type returned text Originated in FileMaker Pro 6.0 or earlier Description Listed items are separated by carriage returns. If no parameter is specified for fileName, FileMaker returns results for the current file. Examples LayoutIDs(“Customers”) returns a list of all the layout IDs in the Customers database file. FILEMAKER PRO FUNCTIONS REFERENCE 73 Design functions LayoutNames Purpose Returns a list of the names of all layouts in fileName. Format LayoutNames(fileName) Parameters fileName - the name of an open database file (local or remote). Important See Design functions for information about literal text parameters. Data type returned text Description Listed items are separated by carriage returns. Originated in FileMaker Pro 6.0 or earlier Examples LayoutNames(“Customers”) returns a list of all the layouts in the Customers database file. FILEMAKER PRO FUNCTIONS REFERENCE 74 Design functions LayoutObjectNames Purpose Returns a list of the names of all named objects on layoutName in fileName. Format LayoutObjectNames(fileName;layoutName) Parameters fileName - the name of an open database file (local or remote). layoutName - the name of a layout in the specified database file. Important See Design functions for information about literal text parameters. Data type returned text Originated in FileMaker Pro 8.5 Description Listed items are separated by carriage returns. Layout objects without object names are not returned. If layoutName isn’t specified, then no object names are returned. Named tab controls, grouped objects, and portal objects that contain other named objects are followed by a list of those named objects enclosed in angle brackets (<>). The angle brackets are shown even if there are no named objects contained within the named tab controls, grouped objects, or portal objects. Examples LayoutObjectNames ("Customers";"Data Entry") returns a list of named objects in the Customers database file that appear on the Data Entry layout. FILEMAKER PRO FUNCTIONS REFERENCE 75 Design functions RelationInfo Purpose Returns a list of four values for each relationship directly related to tableName. Format RelationInfo(fileName;tableName) Parameters fileName - the name of an open database file (local or remote). tableName - the name of a table in the specified database file. Important See Design functions for information about literal text parameters. Data type returned text Originated in FileMaker Pro 6.0 or earlier Description Values in a list are separated by carriage returns, and lists are separated by two carriage returns. For each additional relationship connected to tableName, an additional list of four values is output. The four values are: • Source: Data Source Name of the database table connected to tableName. • Table: the name of the table connected to tableName. • Options: the options that were set in the right side of the Edit Relationship dialog box when the relationship was defined. This line is blank if the following options are not set; otherwise these options are separated by spaces. • Delete, if Delete related records in this table when a record is deleted in the other table is selected in the right side of the Edit Relationship dialog box. • Create, if Allow creation of records in this table via this relationship is selected in the right side of the Edit Relationship dialog box. • Sorted, if Sort records is selected in the right side of the Edit Relationship dialog box. • Relationships: a list of the defined relationships, one per line. Field names are fully qualified, for example, TableName::Field Name. FILEMAKER PRO FUNCTIONS REFERENCE 76 Design functions Examples A database file called Human Resources has three tables: Company, Employees, and Addresses. Company::Company ID is connected to Employees::Company ID, Employees::Employee ID is connected to Addresses::Employee ID and Employees::DateOfHire is connected to Addresses::DateMovedIn. The relationships have the following criteria: • You can create records in all tables. • You cannot delete records in all tables. • A sort was specified for the Addresses table for the Employees<-->Addresses relationship. RelationInfo(“Human Resources”;“Employees”) returns: Source: Human Resources Table: Company Options: Create Company::Company ID = Employees::Company ID Source: Human Resources Table: Addresses Options: Create Sorted Addresses::Employee ID = Employees::Employee ID Addresses::DateMovedIn >= Employees::DateOfHire FILEMAKER PRO FUNCTIONS REFERENCE 77 Design functions ScriptIDs Purpose Returns a list of all script IDs in fileName. Format ScriptIDs(fileName) Parameters fileName - the name of an open database file (local or remote). Important See Design functions for information about literal text parameters. Data type returned text Originated in FileMaker Pro 6.0 or earlier Description Listed items are separated by carriage returns. Examples ScriptIDs(“Customers”) returns a list of all the script IDs in the Customers database file. FILEMAKER PRO FUNCTIONS REFERENCE 78 Design functions ScriptNames Purpose Returns a list of the names of all scripts in fileName. Format ScriptNames(fileName) Parameters fileName - the name of an open database file (local or remote). Important See Design functions for information about literal text parameters. Data type returned text Originated in FileMaker Pro 6.0 or earlier Description Listed items are separated by carriage returns. If no parameter is specified for fileName, FileMaker returns results for the current file. Examples ScriptNames(“Customers”) returns a list of all the scripts in the Customers database file. FILEMAKER PRO FUNCTIONS REFERENCE 79 Design functions TableIDs Purpose Returns a list of all table IDs in fileName. Format TableIDs(fileName) Parameters fileName - the name of an open database file (local or remote). Important See Design functions for information about literal text parameters. Data type returned text Originated in FileMaker Pro 6.0 or earlier Description Listed items are separated by carriage returns. Each table ID is unique. Also, the ID is independent of when you create each table: the first table could have the smallest, middle, or largest value. If no parameter is specified for fileName, FileMaker returns results for the current file. Examples TableIDs(“University Database”) returns 1065089 1065090 for the University Database database file if two tables have been defined for the file. FILEMAKER PRO FUNCTIONS REFERENCE 80 Design functions TableNames Purpose Returns a list of all table occurrences in the relationships graph for fileName. Format TableNames(fileName) Parameters fileName - the name of an open database file (local or remote). Important See Design functions for information about literal text parameters. Data type returned text Originated in FileMaker Pro 6.0 or earlier Description Listed items are separated by carriage returns. If no parameter is specified for fileName, FileMaker returns results for the current file. Examples TableNames(“University Database”) returns table occurrences Teachers Coaches for the University Database database file if a Teachers table and a Coaches table have been defined for the file. FILEMAKER PRO FUNCTIONS REFERENCE 81 Design functions ValueListIDs Purpose Returns a list of all value list IDs in fileName. Format ValueListIDs(fileName) Parameters fileName - the name of an open database file (local or remote). Important See Design functions for information about literal text parameters. Data type returned text Originated in FileMaker Pro 6.0 or earlier Description Listed items are separated by carriage returns. If no parameter is specified for fileName, FileMaker returns results for the current file. Examples ValueListIDs(“Customers”) returns a list of all the value list IDs in the Customers database file. FILEMAKER PRO FUNCTIONS REFERENCE 82 Design functions ValueListItems Purpose Returns a list of the values in a value list. Format ValueListItems(fileName;valuelist) Parameters fileName - the name of an open database file, (local or remote). valuelist - the name of a value list in the specified database file. Important See Design functions for information about literal text parameters. Data type returned text Originated in FileMaker Pro 6.0 or earlier Description Listed items are separated by carriage returns. Examples ValueListItems(“Customers”;“Code”) returns a list of all the items in the Code value list in the Customers database file. FILEMAKER PRO FUNCTIONS REFERENCE 83 Design functions ValueListNames Purpose Returns a list of the names of all value lists in fileName. Format ValueListNames(fileName) Parameters fileName - the name of an open database file (local or remote). Important See Design functions for information about literal text parameters. Data type returned text Originated in FileMaker Pro 6.0 or earlier Description Listed items are separated by carriage returns. If no parameter is specified for fileName, FileMaker returns results for the current file. Examples ValueListNames(“Customers”) returns a list of all the value list names in the Customers database file. FILEMAKER PRO FUNCTIONS REFERENCE 84 Design functions WindowNames Purpose Returns a list of the names of windows that are currently open. Format WindowNames{(fileName)} Parameters {fileName} - the name of an open database file (local or remote). Parameters in braces { } are optional. Data type returned text Originated in FileMaker Pro 6.0 or earlier Description Use the optional fileName parameter to only return windows that are based on the specified file. The window could be visible, hidden, or minimized. The order of the names in the list matches the current stacking order of the windows. The visible windows are listed first, then the minimized windows, and then the hidden windows. If there are no databases or windows open, an empty string is returned. Note Even if you close a file, it may remain open as a hidden file if the window of any other file is displaying data from that file. (For example, another window may be displaying related data from the file you attempted to close.) FileMaker Pro will close the file when you close all the dependent windows. Examples WindowNames returns Customers and Invoices separated by a carriage return when those windows are currently open. WindowNames(“contacts”) returns a list of windows that are based on the contacts database file. FILEMAKER PRO FUNCTIONS REFERENCE 85 External functions External functions Use external functions to access FileMaker Pro plug-ins. Plug-ins add features to FileMaker Pro. For more information, see Setting plug-in preferences. External functions are only available if FileMaker Pro plug-ins are installed and enabled on your computer. If no FileMaker Pro plug-ins are installed, you see only the generic external function definition in the Specify Calculation dialog box: External (nameOfFunction; parameter) Plug-ins written for version 7.0 and later Each plug-in defines its own functions and parameters. See the documentation that came with the plug-in for each function’s usage. Plug-ins written for version 6.0 and earlier These plug-ins are still supported and continue to use the External function to access the plug-in’s functions. The first parameter is the name of the plug-in function to execute and the second is a parameter that is passed to that function. See the documentation that came with the plug-in for each function’s usage. This function Does this External Accesses plug-ins created for versions of FileMaker Pro prior to 7.0, and uses the syntax External("function name", parameter). For more information, see Updating plug-ins. FILEMAKER PRO FUNCTIONS REFERENCE 86 External functions External Purpose Accesses plug-ins created for versions of FileMaker Pro prior to 7.0, and uses the syntax External("function name", parameter). Format External(nameOfFunction;parameter) Parameters nameOfFunction - the name of the external function parameter - the parameter(s) required by the external function. A parameter is required, even if it’s only 0. Data type returned Depends on the external function Originated in FileMaker Pro 6.0 or earlier Description Plug-ins created for FileMaker Pro version 7.0 and later do not use the External(“function name”, parameter) syntax. For more information, see External functions. FILEMAKER PRO FUNCTIONS REFERENCE 87 Financial functions Financial functions Financial functions calculate financial information, such as net present value and payments. For example, you can calculate the monthly payments required to buy a car at a certain loan rate using the PMT function. Click a function name for details. This function Returns FV The future value (FV) of an initial investment, based on a constant interest rate and payment amount for the number of periods in months. NPV The net present value (NPV) of a series of unequal payments made at regular intervals, assuming a fixed interest rate per interval. PMT The payment (PMT) required by the term, interest rate, and principal. PV The present value (PV) of a series of equal payments made at regular intervals, assuming a fixed interest rate per interval. FILEMAKER PRO FUNCTIONS REFERENCE 88 Financial functions FV Purpose Returns the future value (FV) of an initial investment, based on a constant interest rate and payment amount for the number of periods in months. Format FV(payment;interestRate;periods) Parameters payment - payment to be made per period interestRate - interest rate per period periods - number of periods Data type returned number Originated in FileMaker Pro 6.0 or earlier Description Use this function to calculate FV. For example, you can calculate how much you’ll earn on an investment in which you pay $50 a month for 60 months at a 6 percent annual interest rate. Notes • When interestRate is 0, this function returns the result of payment * periods. • The FV function doesn’t account for the present value of your investment, and it assumes that payment is made at the end of each period. ( 1 + interestRate ) periods – 1 FV = payment * ----------------------------------------------------------------------------interestRate Examples FV(50;.11/12;5 * 12) returns 3975.90398429.... FV(2000;.12;30) + 5000 * (.12 + 1) ^ 30 returns 632464.97928640.... FV(500;.11/5;60) returns 61141.65130790.... To set the decimal precision of the returned value, enclose the current formulas with the Round function. For example, Round(Current Formula;2). FILEMAKER PRO FUNCTIONS REFERENCE 89 Financial functions NPV Purpose Returns the net present value (NPV) of a series of unequal payments made at regular intervals, assuming a fixed interest rate per interval. Format NPV(payment;interestRate) Parameters payment - a repeating field containing unequal payment amounts, or an expression that returns a reference to one. interestRate - interest rate. Data type returned number Originated in FileMaker Pro 6.0 or earlier Description Use this function to calculate NPV. For example, if someone borrows money from you and pays you back in unequal amounts over a period of several years, you can use the NPV function to calculate the result. second payment n th payment loan amount first payment NPV = -------------------------------------------- + ---------------------------------------------------2- + ---------------------------------------------------3- + … + ----------------------------------------------------------1 + interestRate ( 1 + interestRate ) ( 1 + interestRate ) ( 1 + interestRate ) n + 1 Examples NPV(Loan;.05) returns 156.91277445..., when the repeating field, Loan, contains -2000 (the initial payment), 600, 300, 500, 700, and 400. The result (156.91277445...) is the actual profit in today’s dollars that will be realized from this transaction. NPV(Amounts;.10) returns 16758.35604870..., when the repeating field, Amounts, contains 5000 (the initial investment), 10,000, 0, 10,000, and 10,000. If you want each return value to return 2 decimal places, surround the current formulas with the correct Round function: Round(Current Formula;2). FILEMAKER PRO FUNCTIONS REFERENCE 90 Financial functions PMT Purpose Returns the payment (PMT) required by the term, interest rate, and principal. Format PMT(principal;interestRate;term) Parameters principal - principal amount. interestRate - interest rate. If the interest rate is annual, divide the rate by 12. term - length of time, expressed in number of months. Data type returned number Originated in FileMaker Pro 6.0 or earlier Description Use this function to calculate PMT. – periods 1 – ( 1 + interestRate ) PMT = payment ⁄ ------------------------------------------------------------------------------ interestRate Examples In the following example, the PMT function calculates payments for purchasing a sports car costing $21,000, at an annual rate of 6.9% over 48 monthly payments. PMT(21000;.069/12;48) returns the payment amount $501.90. PMT(Cost;.13;Years) returns a payment amount, based on the purchase value stored in Cost, at a 13 percent rate, over the duration stored in Years. “Your payment will be ” & PMT(150000;.13/12;Months) & “.” returns Your payment will be, followed by the payment amount, based on a total cost of $150,000, at a 13 percent annual percentage rate, over the duration stored in Months. FILEMAKER PRO FUNCTIONS REFERENCE 91 Financial functions PV Purpose Returns the present value (PV) of a series of equal payments made at regular intervals, assuming a fixed interest rate per interval. Format PV(payment;interestRate;periods) Parameters payment - payment amount to be made per period. Type a negative number for money you pay and a positive number for money you receive. interestRate - interest rate per period. periods - number of periods (intervals between payments). Data type returned number Originated in FileMaker Pro 6.0 or earlier Description Use this function to calculate PV. 1 – ( 1 + interestRate ) – periods PV = payment * -----------------------------------------------------------------------------interestRate Note When interestRate is 0, this function returns the result of payment * periods. Examples Your cousin borrowed $2,000 from you, offering to pay you back $500 a year for five years, for a total of $2,500 at the end of five years. If inflation was 5 percent annually, with the following entry you could find out what those payments are worth with the PV function. PV(500;.05;5) returns 2164.73833531.... If you want the return value to return two decimal places, enclose the formula with the correct Round function: Round(Current Formula;2). FILEMAKER PRO FUNCTIONS REFERENCE 92 Get functions Get functions Get functions monitor errors in scripts, or capture information about file status or actions being performed. Many Get functions return information that changes on a regular basis. For example, when the Get(CurrentTime) function is placed in a stored calculation field, the time will update only when a new record is created. If the calculation has other fields in it but the calculation result still returns the current time, the stored calculation result will update only when those other fields have been modified in the current record. If either of these calculations are unstored, the time will update as needed. For performance reasons, making a calculation field unstored is not always the best idea. Get functions are best used in a script where the status information from a Get function is up-to-date at the moment that the calculation is run. Click a function name for details. This function Returns Get(AccountExtendedPrivileges) A list of keywords, based on the account used to open the file, for the enabled extended privileges. Get(AccountName) The authenticated account name being used by the file’s current user. Get(AccountPrivilegeSetName) The privilege set name being used by the account used to open the file. Get(ActiveFieldContents) The contents of the field that has the focus. Get(ActiveFieldName) The name of the field that has the focus. Get(ActiveFieldTableName) The name of the table that contains the field that has the focus. Get(ActiveLayoutObjectName) The name of the layout object that has the focus in the calculation's current window. Get(ActiveModifierKeys) A number for the keyboard modifier keys being pressed. Get(ActivePortalRowNumber) The number of the portal row that has the focus. Get(ActiveRepetitionNumber) A number representing the repetition that has the focus in a repeating field. Get(ActiveSelectionSize) A number representing how many characters are selected. Get(ActiveSelectionStart) A number representing the starting character of the selected text. Get(AllowAbortState) 1 (true) if the Allow User Abort script step is on; otherwise, returns 0 (false). Get(AllowFormattingBarState) 1 (true) if the formatting bar is allowed to be visible; otherwise, returns 0 (false). Get(ApplicationArchitecture) The current application architecture. Get(ApplicationLanguage) Text representing the current application language. Get(ApplicationVersion) Text representing the FileMaker product and version. Get(CalculationRepetitionNumber) A number representing the repetition of the calculation field being calculated. Get(ConnectionAttributes) The name of the current file’s host, and the certificate authority that issued the SSL certificate used to secure the connection. Get(ConnectionState) A number representing the security state of the network connection for the current file. FILEMAKER PRO FUNCTIONS REFERENCE 93 Get functions This function Returns Get(CurrentDate) The current date according to the system calendar. Get(CurrentExtendedPrivileges) A list of keywords, based on the account used to evaluate this calculation, for the enabled extended privileges. Get(CurrentHostTimestamp) The host's current date and time (to the nearest second) according to the system clock. Get(CurrentPrivilegeSetName) The name of the privilege set being used to evaluate this calculation in the file. Get(CurrentTime) The current time (to the nearest second) according to the system clock. Get(CurrentTimestamp) The current date and time (to the nearest second) according to the system clock. Get(CurrentTimeUTCMilliseconds) The current time in Coordinated Universal Time (UTC) to the nearest millisecond. Get(CustomMenuSetName) The name of the active custom menu set. Get(DesktopPath) The path to the desktop folder for the current user. Get(Device) A number representing the type of computer or mobile device running the FileMaker product. Get(DocumentsPath) The path to the Documents folder for the current user. Get(DocumentsPathListing) A list of all files and folders in the Documents folder returned by the Get(DocumentsPath) function. Get(EncryptionState) A value representing the file’s current encryption state. Get(ErrorCaptureState) 1 (true) if the Set Error Capture script step is on; otherwise, returns 0 (false). Get(FileMakerPath) The path to the folder of the currently running copy of FileMaker Pro. Get(FileName) The name of the currently active file, without the filename extension. Get(FilePath) The full path of the location of the currently active file. Get(FileSize) The size, in bytes, of the currently active file. Get(FoundCount) The number of records in the current found set. Get(HighContrastColor) The current high contrast default color scheme name. Get(HighContrastState) 1 (true) if high contrast is available and active; otherwise, returns 0 (false). Get(HostApplicationVersion) The version of FileMaker Pro or FileMaker Server running on the computer hosting the current file. Get(HostIPAddress) The IP address of the host computer for the current file. Get(HostName) The registered name of the computer that is hosting the file. Get(InstalledFMPlugins) The name, version number, and enabled state of installed plugins. Get(LastError) A number for the error that occured in the execution of the most recently executed script step. Get(LastExternalErrorDetail) Text about errors external to FileMaker that are returned by Get(LastError). FILEMAKER PRO FUNCTIONS REFERENCE 94 Get functions This function Returns Get(LastMessageChoice) A number corresponding to the button clicked in an alert message displayed by the Show Custom Dialog script step. Get(LayoutAccess) A number based on record access privileges available through the current layout. Get(LayoutCount) The total number of layouts in the file. Get(LayoutName) The name of the layout currently being displayed. Get(LayoutNumber) The number of the layout (specified in the Manage Layouts dialog box) currently displayed. Get(LayoutTableName) The name of the table displaying records in the current layout. Get(LayoutViewState) A number representing the currently active file view. Get(MenubarState) A number for the current menu bar state. Get(ModifiedFields) A list of fields that have been modified in the current record of the current table. Get(MultiUserState) A number representing the level of sharing for the file using FileMaker Network. Get(NetworkProtocol) The name of the network protocol (TCP/IP) that FileMaker is using on this machine. Get(NetworkType) A number representing the type of network being used to access the current file. Get(PageNumber) A number representing the current page being printed or previewed. Get(PersistentID) Text representing a unique identifier of the computer or device running FileMaker. Get(PreferencesPath) The path to the preferences and default options folder for the current user. Get(PrinterName) Text identifying the default printer name. Get(QuickFindText) The text that is stored in the quick find box. Get(RecordAccess) A number based on the current record’s access privileges, assigned through the Custom Record Privileges dialog box. Get(RecordID) The unique ID number of the current record. Get(RecordModificationCount) The total number of times changes to the current record have been committed. Get(RecordNumber) The number of the current record in the current found set. Get(RecordOpenCount) The total number of open records in the current found set that haven’t been saved. Get(RecordOpenState) A number representing the state of the current record. Get(RequestCount) The total number of find requests defined for the current table. Get(RequestOmitState) 1 (true) if Omit is selected in the current find request; otherwise, returns 0 (false). Get(ScreenDepth) The number of bits needed to represent the color or shade of gray of a pixel on the main screen. Get(ScreenHeight) The height, in points, of the screen in which the window of the current file is open. FILEMAKER PRO FUNCTIONS REFERENCE 95 Get functions This function Returns Get(ScreenScaleFactor) The scale factor of the screen in which the current file is open. Get(ScreenWidth) The width, in points, of the screen in which the window of the current file is open. Get(ScriptAnimationState) 1 (true) if animations are enabled for the current script; otherwise, returns 0 (false). Get(ScriptName) The name of the script that is currently running or is paused. Get(ScriptParameter) The script parameter passed into the current script. Get(ScriptResult) The script result from a performed sub-script. Get(SortState) A value representing the current sort state. Get(StatusAreaState) A number representing the current status toolbar state. Get(SystemDrive) The drive letter (Windows) or volume name (OS X) where the running operating system is located. Get(SystemIPAddress) A list of the IP addresses of all computers connected to an active NIC (Network Interface Controller) card. Get(SystemLanguage) The language currently set on the current system. Get(SystemNICAddress) The hardware addresses of all NIC (Network Interface Controller) cards connected to the computer. Get(SystemPlatform) A number representing the current platform. Get(SystemVersion) The version of the current operating system. Get(TemporaryPath) The path to the temporary folder FileMaker Pro uses for the current user, or the path FileMaker Server uses on the system. Get(TextRulerVisible) 1 (true) if the text ruler is displayed; otherwise, returns 0 (false). Get(TotalRecordCount) The total number of records in the current table. Get(TouchKeyboardState) 1 (true) if the touch keyboard is set to display automatically when needed; otherwise, returns 0 (false). Get(TriggerCurrentPanel) The index and object name of the panel to switch from when the OnPanelSwitch script trigger is activated. Get(TriggerExternalEvent) A number representing the event that activated an OnExternalCommandReceived script trigger. Get(TriggerGestureInfo) Details about the gesture that activated an OnGestureTap script trigger. Get(TriggerKeystroke) The characters that activated an OnObjectKeystroke or OnLayoutKeystroke script trigger. Get(TriggerModifierKeys) The state of the keyboard modifier keys when an OnObjectKeystroke or OnLayoutKeystroke script trigger was activated. Get(TriggerTargetPanel) The index and the object name of the panel to switch to when the OnPanelSwitch script trigger is activated. Get(UserCount) The number of clients currently accessing the file. Get(UserName) The name of the FileMaker user, as specified in the General tab of the Preferences dialog box. Get(UseSystemFormatsState) 1 (true) if Use System Formats in the Format menu is on; otherwise, returns 0 (false). FILEMAKER PRO FUNCTIONS REFERENCE 96 Get functions This function Returns Get(UUID) Text representing a Universally Unique Identifier (UUID). Get(WindowContentHeight) The height, in points, of the window content area. Get(WindowContentWidth) The width, in points, of the window content area. Get(WindowDesktopHeight) The height, in points, of the desktop space. Get(WindowDesktopWidth) The width, in points, of the desktop space. Get(WindowHeight) The height, in points, of the window on which the script is acting. Get(WindowLeft) The horizontal distance, in points, of the outer edge of the window on which the script is acting, relative to the leftmost edge of the screen. Get(WindowMode) A number representing the mode the FileMaker product is in when the function is evaluated. Get(WindowName) The name of the window on which the script is acting. Get(WindowOrientation) A value representing the orientation of the window on which the script is acting. Get(WindowStyle) The style of the window on which the script is acting. Get(WindowTop) The vertical distance, in points, of the outer edge of the window on which the script is acting, relative to the bottom edge of the menu bar. Get(WindowVisible) 1 (true) if the window is visible; returns 0 (false) if the window is hidden using Hide Window. Get(WindowWidth) The width, in points, of the window on which the script is acting. Get(WindowZoomLevel) The zoom percentage of the current window. Get functions example This script uses the function Get(CurrentDate) to check each record in the found set to see if an account is past due. If an account is past due, the script shows a message and prompts the user to click a button labeled Ignore, Send Letter, or Send Mail (set up through the Show Custom Dialog script step). The script captures the user's response using Get(LastMessageChoice). Then, based on the user's response, the script performs an action: it cancels the rest of the script, prints a "payment is late" letter, or sends email to the associated account. Go to Layout ["LayoutName"] Go to Record/Request/Page [First] Loop If [DatabaseName::Date < Get(CurrentDate) - 30] Show Custom Dialog ["30 or more days late"] If [Get(LastMessageChoice) = 1] Halt Script Else If [Get(LastMessageChoice) = 2] Go to Layout ["Late Notice"] Print [] Else Send Mail [Send via E-mail Client; With dialog: Off; To: DatabaseName::Client; Subject: "Late Notice"; Message: "Your account is past due."] End If End If Go to Record/Request/Page [Exit after last, Next] End Loop Go to Layout [original layout] FILEMAKER PRO FUNCTIONS REFERENCE 97 Get functions Get(AccountExtendedPrivileges) Purpose Returns a list of keywords, based on the account used to open the file, for the enabled extended privileges. Format Get(AccountExtendedPrivileges) Parameters None Data type returned text Originated in FileMaker Pro 11.0 Description The keywords are separated by carriage returns. Extended privileges are additional access rights assigned to an account’s privilege set. See About accounts, privilege sets, and extended privileges. Returns an empty list if a user doesn’t have extended privileges assigned to the account used to open the file. Notes • If you specify the context for the current calculation, this function will be evaluated based on that context; otherwise, it will be evaluated based on the context of the current window. • See also Get(CurrentExtendedPrivileges) function. Example 1 If you are logged in with a privilege set that includes only the Access via FileMaker WebDirect extended privilege: Get ( AccountExtendedPrivileges ) returns fmwebdirect. Example 2 If you are logged in and running a script with full access privileges, Get(AccountExtendedPrivileges) returns the extended privileges for your account. (By contrast, Get(CurrentExtendedPrivileges) returns the extended privileges for the Admin account.) Assume the [Read-Only Access] privilege set includes the Access via FileMaker Network extended privilege, and the [Full Access] privilege set includes the Access via FileMaker Network and Access via FileMaker WebDirect extended privileges. If you are logged in with the Guest account and run a script set to run with full access privileges: Get ( AccountExtendedPrivileges ) returns fmapp Get ( CurrentExtendedPrivileges ) returns fmapp fmwebdirect FILEMAKER PRO FUNCTIONS REFERENCE 98 Get functions Get(AccountName) Purpose Returns the authenticated account name being used by the file's current user. Format Get(AccountName) Parameters None Data type returned text Originated in FileMaker Pro 7.0 Description Use this function for FileMaker authentication. If a user is using the default Admin account, Get(AccountName) returns Admin. If a user is using the FileMaker Pro guest account, then [Guest] will be returned. For external server authentication, Get(AccountName) returns the name of the authenticated account being used by the current user of the database file, not the group the user belongs to (the group name appears in the Account list when you define accounts and privileges in FileMaker Pro). If an individual belongs to more than one group (account), the first group name listed when you choose View By Authentication Order while defining accounts and privileges determines access for the user. Notes • Get(AccountName) returns the account name as it was entered by the user. When a user logs in, the account name is not case sensitive, so Get(AccountName)'s result may not be identical to the account name as it appears in the Manage Security dialog box. • If you specify the context for the current calculation, this function will be evaluated based on that context; otherwise, it will be evaluated based on the context of the current window. Example 1 Returns Marketing when Marketing is the name of the account that was used to log in to the database file. Example 2 If a user enters MARKETING when logging in to the Marketing account, Get(AccountName) returns MARKETING. FILEMAKER PRO FUNCTIONS REFERENCE 99 Get functions Get(AccountPrivilegeSetName) Purpose Returns the privilege set name being used by the account used to open the file. Format Get(AccountPrivilegeSetName) Parameters None Data type returned text Originated in FileMaker Pro 11.0 Description If a user is using the default Admin account and you haven’t modified access privileges for the file, this function returns [Full Access]. Notes • If you specify the context for the current calculation, this function will be evaluated based on that context; otherwise, it will be evaluated based on the context of the current window. • See also Get(CurrentPrivilegeSetName) function. Examples For an Administrator, Get(AccountPrivilegeSetName) might return [Full Access]. For a user in the sales department, Get(AccountPrivilegeSetName) might return [Data Entry Only]. For a user with Read-Only Access to a database who is running a script that is set to run with full access privileges, Get(AccountPrivilegeSetName)returns [Read-Only Access] but Get(CurrentPrivilegeSetName)returns [Full Access] (for the current script). FILEMAKER PRO FUNCTIONS REFERENCE 100 Get functions Get(ActiveFieldContents) Purpose Returns the contents of the field that has the focus. Format Get(ActiveFieldContents) Parameters None Data type returned text, number, date, time, timestamp, container Originated in FileMaker Pro 6.0 or earlier Description When the focus is in a repeating field, this function returns the contents of the active repetition. The result type of the active field depends upon the data type of the active field and the result type assigned to the Get(ActiveFieldContents) calculation function. Examples Returns SomeShop when the focus is in the Name field, and that field contains the data SomeShop. This type of calculation is most useful if used in a script when you want to examine data in different fields as the script proceeds. FILEMAKER PRO FUNCTIONS REFERENCE 101 Get functions Get(ActiveFieldName) Purpose Returns the name of the field that has the focus. Format Get(ActiveFieldName) Parameters None Data type returned text Originated in FileMaker Pro 6.0 or earlier Examples Returns Country, when the focus is in the Country field. FILEMAKER PRO FUNCTIONS REFERENCE 102 Get functions Get(ActiveFieldTableName) Purpose Returns the name of the table that contains the field that has the focus. Format Get(ActiveFieldTableName) Parameters None Data type returned text Originated in FileMaker Pro 7.0 Description If there is no active field, this function returns an empty string. Examples There are two fields, Teachers::Name and Coaches::Name, on the current layout. Creating a script that returns the result of Get(ActiveFieldTableName) to a third field will return Teachers when the script is performed after clicking in the Teachers::Name field, or will return Coaches after clicking in the Coaches::Name field. FILEMAKER PRO FUNCTIONS REFERENCE 103 Get functions Get(ActiveLayoutObjectName) Purpose Returns the name of the layout object that has the focus in the calculation's current window. Format Get(ActiveLayoutObjectName) Parameters None Data type returned text Originated in FileMaker Pro 8.5 Description When no layout object has the focus, this function returns an empty string. Examples There is a named field on the current layout called customerName. When the focus is on the field, Get(ActiveLayoutObjectName) returns customerName. FILEMAKER PRO FUNCTIONS REFERENCE 104 Get functions Get(ActiveModifierKeys) Purpose Returns a number for the keyboard modifier keys being pressed. Format Get(ActiveModifierKeys) Parameters None Data type returned number Originated in FileMaker Pro 6.0 or earlier Description The number returned is calculated by summing numbers representing each modifier key (for example, Control+Shift) being pressed. The values assigned to the keys are: • Shift = 1 • Caps Lock = 2 • Ctrl (Windows) and Control (OS X) = 4 • Alt (Windows) and Option (OS X) = 8 • Command (OS X) = 16 Notes • In FileMaker WebDirect, this function is not supported and returns 0. Examples Returns 9 when Shift+Alt is pressed on a computer running Windows. You could use this function in a script that includes a custom dialog box script step (with an OK and Cancel button) to perform some special action if the user presses the Alt (or Option) key while clicking OK. FILEMAKER PRO FUNCTIONS REFERENCE 105 Get functions Get(ActivePortalRowNumber) Purpose Returns the number of the portal row that has the focus. Format Get(ActivePortalRowNumber) Parameters None Data type returned number Originated in FileMaker Pro 6.0 or earlier Description When no portal row contains the focus, this function returns 0. If there are multiple windows open in the current file, each window can have its own portal row number value, but results are returned for only the foreground window. If a user navigates to a portal without selecting a specific portal row and without making an object active within a specific portal row, Get(ActivePortalRowNumber) returns row 0 rather than row 1. Notes • If a field on a layout is defined as Get(ActivePortalRowNumber), the window must be refreshed before the field will display the current portal row number. Examples Returns 5 when the fifth row of a portal has the focus, or when the focus is in a field in the fifth portal row. Returns 1 after the Go to Portal Row [First] script step runs. Returns 0 when a portal is not selected. FILEMAKER PRO FUNCTIONS REFERENCE 106 Get functions Get(ActiveRepetitionNumber) Purpose Returns a number representing the repetition that has the focus in a repeating field. Format Get(ActiveRepetitionNumber) Parameters None Data type returned number Originated in FileMaker Pro 6.0 or earlier Description The first repetition returns 1. If the current field isn’t a repeating field, this function returns 1. Examples Returns 5 when the focus is in the fifth repetition of a repeating field. FILEMAKER PRO FUNCTIONS REFERENCE 107 Get functions Get(ActiveSelectionSize) Purpose Returns a number representing how many characters are selected. Format Get(ActiveSelectionSize) Parameters None Data type returned number Originated in FileMaker Pro 7.0 Description Returns 0 if there is no selection. Notes • In FileMaker WebDirect, this function is not supported and returns an empty string. • In FileMaker Go, this function may return an inaccurate value if the selected text is in a concealed edit box. Examples Returns 4 when 4 characters are selected. FILEMAKER PRO FUNCTIONS REFERENCE 108 Get functions Get(ActiveSelectionStart) Purpose Returns a number representing the starting character of the selected text. Format Get(ActiveSelectionStart) Parameters None Data type returned number Originated in FileMaker Pro 7.0 Description Returns the cursor's current position if no text is selected. If there are multiple windows open in the current database file, a result is returned for only the foreground window. Notes • In FileMaker WebDirect, Get(ActiveSelectionStart) returns a value only if the selected text is in a field that displays as an edit box. • In FileMaker Go, this function may return an inaccurate value if the selected text is in a concealed edit box. Examples Returns 5 when the selection starts at character 5. FILEMAKER PRO FUNCTIONS REFERENCE 109 Get functions Get(AllowAbortState) Purpose Returns 1 (true) if the Allow User Abort script step is on; otherwise, returns 0 (false). Format Get(AllowAbortState) Parameters None Data type returned number Originated in FileMaker Pro 7.0 Examples Returns 1 if the Allow User Abort script step is on. FILEMAKER PRO FUNCTIONS REFERENCE 110 Get functions Get(AllowFormattingBarState) Purpose Returns 1 (true) if the formatting bar is allowed to be visible; otherwise, returns 0 (false). Format Get(AllowFormattingBarState) Parameters None Data type returned number Originated in FileMaker Pro 8.0 Description The Allow Formatting Bar script step sets the formatting bar state. Notes • In FileMaker WebDirect, this function is not supported and returns 0. Examples Returns 1 if the formatting bar is allowed to be visible. FILEMAKER PRO FUNCTIONS REFERENCE 111 Get functions Get(ApplicationArchitecture) Purpose Returns the current application architecture. Format Get(ApplicationArchitecture) Parameters None Data type returned Text Originated in FileMaker Pro 14.0 Description Returns: • i386 for the 32-bit version of FileMaker Pro • x86_64 for the 64-bit version of FileMaker Pro, FileMaker Server, FileMaker WebDirect, and Custom Web Publishing • arm7 for FileMaker Go running on an ARMv7-based device • arm7s for FileMaker Go running on an ARMv7s-based device • arm64 for FileMaker Go running on a 64-bit ARM-based device Example 1 Detects the application architecture, then installs the appropriate version of a plug-in. If [Get ( ApplicationArchitecture ) = "i386"] Install Plug-in File [Plugins::32bit] Else If [Get ( ApplicationArchitecture ) = "x86_64"] Install Plug-in File [Plugins::64bit] End If FILEMAKER PRO FUNCTIONS REFERENCE 112 Get functions Get(ApplicationLanguage) Purpose Returns text representing the current application language. Format Get(ApplicationLanguage) Parameters None Data type returned text Originated in FileMaker Pro 7.0 Description The text that is returned by this function is in the English language. For hosted databases, Get(ApplicationLanguage) returns the client’s current language. Note In FileMaker WebDirect, Get(ApplicationLanguage) returns the web browser’s current language. FileMaker Pro supports: • English • French • Italian • German • Swedish • Spanish • Dutch • Japanese • Simplified Chinese • Brazilian Portuguese • Korean Examples Returns English when the current application language is English. FILEMAKER PRO FUNCTIONS REFERENCE 113 Get functions Get(ApplicationVersion) Purpose Returns text representing the FileMaker product and version. Format Get(ApplicationVersion) Parameters None Data type returned text Originated in FileMaker Pro 6.0 or earlier Description Returns: • Pro version for FileMaker Pro • ProAdvanced version for FileMaker Pro Advanced • Runtime version for FileMaker Runtime • Web Publishing Engine version for FileMaker Server Web Client • xDBC version for xDBC Client • Server version for FileMaker Server • Go version for FileMaker Go on iPhone or iPod touch • Go_iPad version for FileMaker Go on iPad Examples Returns Pro 15.0.1 in FileMaker Pro 15.0.1. For an example script, see Go to Layout script step. FILEMAKER PRO FUNCTIONS REFERENCE 114 Get functions Get(CalculationRepetitionNumber) Purpose Returns a number representing the repetition of the calculation field being calculated. Format Get(CalculationRepetitionNumber) Parameters None Data type returned number Originated in FileMaker Pro 7.0 Description The first repetition returned is 1. If the current field isn’t a repeating field, the function returns 1. Example 1 Returns 5 when FileMaker Pro is calculating the fifth repetition of a repeating field. Example 2 As the field definition for Timer::Reminder (a calculation field with five repetitions), calculates future times based on the contents of Timer::Start Time (a time field) and Timer::Snooze Minutes (a number field): Time ( Hour ( Extend ( Timer::Start Time ) ) ; Minute ( Extend ( Timer::Start Time ) ) + ( Extend ( Timer::Snooze Minutes ) * Get ( CalculationRepetitionNumber ) ) ; Seconds ( Extend ( Timer::Start Time ) ) ) Note The Extend function allows a non-repeating field to be used in every repetition of a repeating field. When Timer::Start Time contains "12:00:00" and Timer::Snooze Minutes contains "6": • Timer::Reminder[1] returns 12:06:00 • Timer::Reminder[2] returns 12:12:00 • Timer::Reminder[3] returns 12:18:00 • Timer::Reminder[4] returns 12:24:00 • Timer::Reminder[5] returns 12:30:00 FILEMAKER PRO FUNCTIONS REFERENCE 115 Get functions Get(ConnectionAttributes) Purpose Returns the name of the current file's host, and the certificate authority that issued the SSL certificate used to secure the connection. Format Get(ConnectionAttributes) Parameters None Data type returned text Originated in FileMaker Pro 13.0 Description Get(ConnectionAttributes) returns an empty string if: • the current file is not hosted • the host is not FileMaker Server • the host does not use an SSL certificate to secure the connection to the client Examples If the host is named “group_server” and the current SSL certificate was issued by XYZ Inc., Get(ConnectionAttributes) returns: [ Peer Certificate ] commonName: group_server CA Issuers: XYZ Inc. FILEMAKER PRO FUNCTIONS REFERENCE 116 Get functions Get(ConnectionState) Purpose Returns a number representing the security state of the network connection for the current file. Format Get(ConnectionState) Parameters None Data type returned number Originated in FileMaker Pro 12.0 Description Secure connections are encrypted using SSL. If security is important in your environment, your server administrator needs to install a custom SSL certificate. Returns: • 0 for no network connection for the current file. • 1 for a connection that is not encrypted (FileMaker Server with SSL disabled, or to a FileMaker Pro host). • 2 for a connection that is encrypted but for which the SSL certificate for FileMaker Server cannot be verified. You may be connected to a server pretending to be your actual destination, which could put your confidential information at risk. • 3 for a connection that is encrypted with a verified SSL certificate. Notes • Get(ConnectionState) is intended for FileMaker Pro or FileMaker Go client connections. If a script is run on FileMaker Server (via FileMaker WebDirect, Custom Web Publishing, FileMaker Server scheduled scripts, or the Perform Script On Server script step), there may be no network connection to verify. In this case, this function returns only 1 or 2. For FileMaker WebDirect, this function does not reflect the state of the connection between the web browser and FileMaker Server. Instead, the web browser verifies and displays the state of its connection to FileMaker Server. Examples Returns 3 when the connection is encrypted with a verified SSL certificate. FILEMAKER PRO FUNCTIONS REFERENCE 117 Get functions Get(CurrentDate) Purpose Returns the current date according to the system calendar. Format Get(CurrentDate) Parameters None Data type returned date Originated in FileMaker Pro 6.0 or earlier Description The format of the result of this function varies based on the date format that was in use when the database file was created. In the United States, dates are generally in the format MM/DD/YYYY. You can change the date and time formats in your operating system. If the result is displayed in a field, it is formatted according to the date format of the field in the current layout. Important To avoid errors when using dates, always use four-digit years. For more information about how FileMaker Pro handles two-digit dates, see Conversion of dates with two-digit years. Examples Returns 2/2/2014 when the system date is set to February 2, 2014. Get(CurrentDate)-Date(1;5;2014) returns 4 when the system date is set to January 9, 2014. For an example script, see Exit Application script step. FILEMAKER PRO FUNCTIONS REFERENCE 118 Get functions Get(CurrentExtendedPrivileges) Purpose Returns a list of keywords, based on the account used to evaluate this calculation, for the enabled extended privileges. Format Get(CurrentExtendedPrivileges) Parameters None Data type returned text Originated in FileMaker Pro 6.0 or earlier Description The keywords in the list are separated by carriage returns. Extended privileges are additional access rights assigned to an account’s privilege set. See About accounts, privilege sets, and extended privileges. Returns an empty list if a user doesn’t have extended privileges assigned for the current database file. Notes • If you specify the context for the current calculation, this function will be evaluated based on that context; otherwise, it will be evaluated based on the context of the current window. • See also Get(AccountExtendedPrivileges) function. Examples The account that is evaluating this calculation uses a privilege set that includes the extended privilege of Access Via FileMaker WebDirect (keyword "fmwebdirect"): Position(Get(CurrentExtendedPrivileges); "fmwebdirect"; 1; 1) returns a value greater than 0. If you are logged in and running a script that is set to run with full access privileges, Get(AccountExtendedPrivileges)returns the extended privileges for your account, but Get(CurrentExtendedPrivileges)returns the extended privileges for the Admin account. FILEMAKER PRO FUNCTIONS REFERENCE 119 Get functions Get(CurrentHostTimestamp) Purpose Returns the host's current date and time (to the nearest second) according to the system clock. Format Get(CurrentHostTimestamp) Parameters None Data type returned timestamp Originated in FileMaker Pro 7.0 Description The format of the value returned is determined by the database file’s settings. You can use your client system’s settings in the operating system. Notes • The client machine and host machine may be in different times zones so Get(CurrentHostTimestamp) and Get(CurrentTimestamp) may return different date/time values. Also, the current date and time are characteristics of the host system, but the format of the date and time is a characteristic of the database file. Important For users who are connected over a network, the Get(CurrentHostTimestamp) function can affect the performance of the database file. For example, if you use the function in an unstored calculation field, and the field is visible in a list view, each display of the field requires an additional network access. Stored calculation fields are a better use of the function. For example, if you automatically enter a timestamp for each newly created record using a stored calculation field, you minimize network access. Examples Returns 1/1/2014 11:30:01 AM when the system clock shows January 1, 2014 11:30:01 AM on the host machine. FILEMAKER PRO FUNCTIONS REFERENCE 120 Get functions Get(CurrentPrivilegeSetName) Purpose Returns the name of the privilege set being used to evaluate this calculation in the file. Format Get(CurrentPrivilegeSetName) Parameters None Data type returned text Originated in FileMaker Pro 6.0 or earlier Description If a user is using the default Admin account and you haven’t modified access privileges for the file, this function returns [Full Access]. Notes • If you specify the context for the current calculation, this function will be evaluated based on that context; otherwise, it will be evaluated based on the context of the current window. • If this function is evaluated in a script that is set to run with full access privileges, Get(CurrentPrivilegeSetName) returns [Full Access]. • See also Get(AccountPrivilegeSetName) function. Examples For current user Administrator, Get(CurrentPrivilegeSetName) might return [Full Access]. For a current user in the sales department, Get(CurrentPrivilegeSetName) might return [Data Entry Only]. For a user with Read-Only Access to a database who is running a script that is set to run with full access privileges, Get(AccountPrivilegeSetName)returns [Read-Only Access] but Get(CurrentPrivilegeSetName)returns [Full Access] (for the current script). FILEMAKER PRO FUNCTIONS REFERENCE 121 Get functions Get(CurrentTime) Purpose Returns the current time (to the nearest second) according to the system clock. Format Get(CurrentTime) Parameters None Data type returned time Originated in FileMaker Pro 6.0 or earlier Description The format of the value returned is determined by the operating system settings. Notes • If the calculation result for this script step is set to integer format, it will return the total number of seconds elapsed since the start of the current day. • In client/server and peer-to-peer environments, Get(CurrentTimestamp) evaluates the status of the client machine running the script (not the host machine). Examples Returns 11:30:00 AM when the function result is in text format and the system clock shows 11:30:00 AM. For an example script, see Install OnTimer Script script step. FILEMAKER PRO FUNCTIONS REFERENCE 122 Get functions Get(CurrentTimestamp) Purpose Returns the current date and time (to the nearest second) according to the system clock. Format Get(CurrentTimestamp) Parameters None Data type returned timestamp Originated in FileMaker Pro 7.0 Description The format of the value returned is determined by the operating system settings. Note In client/server and peer-to-peer environments, Get(CurrentTimestamp) evaluates the status of the client machine running the script (not the host machine). Examples Returns 1/1/2014 11:30:00 AM when the system clock shows January 1, 2014 11:30:00. FILEMAKER PRO FUNCTIONS REFERENCE 123 Get functions Get(CurrentTimeUTCMilliseconds) Purpose Returns the current time in Coordinated Universal Time (UTC) to the nearest millisecond. Format Get(CurrentTimeUTCMilliseconds) Parameters None Data type returned number, time Originated in FileMaker Pro 13.0 Description Returns the current time without time zone adjustments in the form of the number of milliseconds since 1/1/0001. UTC time zone adjustments must be applied to return your local time. Note In client/server and peer-to-peer environments, this function evaluates the status of the client machine running the script (not the host machine). Example 1 Calculates the amount of time it takes to find and sort records as specified in the script. Set Variable [$START ; Get ( CurrentTimeUTCMilliseconds )] Go to Layout ["Invoices"] Perform Find [Restore] Sort Records [Restore; With dialog: Off] Set Variable [$END ; Get ( CurrentTimeUTCMilliseconds )] Show Custom Dialog ["Script Duration" ; GetAsTime ( $END - $START )] Example 2 Calculates the local time for the specified time zone. When the time in UTC is 08:43:55.304 and TimeAdjustment contains -7: GetAsTime ( ( Get ( CurrentTimeUTCMilliseconds ) + ( Location::TimeAdjustment * 3600000 ) ) / 1000 ) returns 1:43:55.304 PM. FILEMAKER PRO FUNCTIONS REFERENCE 124 Get functions Get(CustomMenuSetName) Purpose Returns the name of the active custom menu set. Format Get(CustomMenuSetName) Parameters None Data type returned text Originated in FileMaker Pro 8.0 Description If the active menu set isn’t a custom menu set, an empty string is returned. Notes • In FileMaker WebDirect, this function is not supported and returns an empty string. Examples Returns Custom Menu Set #1 when this custom menu set is active. Returns an empty string when the [Standard FileMaker Menus] menu set is active. For an example script, see Install Menu Set script step. FILEMAKER PRO FUNCTIONS REFERENCE 125 Get functions Get(DesktopPath) Purpose Returns the path to the desktop folder for the current user. Format Get(DesktopPath) Parameters None Data type returned text Originated in FileMaker Pro 8.0 Description In Windows, the path format is /Drive:/Users/UserName/Desktop/. In OS X, the path format is /DriveName/Users/username/Desktop/. Notes • In FileMaker Server scripts, the Desktop folder is not supported, so this function returns unreliable results. Instead, paths must use the FileMaker Server Documents folder or temporary folder. See Get(DocumentsPath) function or Get(TemporaryPath) function. • In FileMaker WebDirect, this function is not supported and returns an empty string. Examples Returns /C:/Users/John Smith/Desktop/ for a user named John Smith in Windows. Returns /Macintosh HD/Users/johnsmith/Desktop/ for a user named John Smith in OS X. Each part of the path may vary from these examples, so don't rely on the path to follow a particular pattern. For an example script, see Get Directory script step. FILEMAKER PRO FUNCTIONS REFERENCE 126 Get functions Get(Device) Purpose Returns a number representing the type of computer or mobile device running the FileMaker product. Format Get(Device) Parameters None Data type returned number Originated in FileMaker Pro 13.0 Description This function returns a number indicating the type of computer or mobile device currently running FileMaker Pro or FileMaker WebDirect, or the type of iOS device currently running FileMaker Go. Returns: • 0 for an unknown device • 1 for a Mac • 2 for a computer running Windows • 3 for iPad • 4 for iPhone or iPod touch • 5 for Android Examples Returns 2 if FileMaker Pro or FileMaker WebDirect is currently running on a computer with Windows. Returns 3 if FileMaker Go or FileMaker WebDirect is currently running on iPad. For an example script, see AVPlayer Play script step. FILEMAKER PRO FUNCTIONS REFERENCE 127 Get functions Get(DocumentsPath) Purpose Returns the path to the Documents folder for the current user. Format Get(DocumentsPath) Parameters None Data type returned text Originated in FileMaker Pro 8.0 Description In Windows, the path format is /Drive:/Users/UserName/Documents/. In OS X, the path format is /DriveName/Users/username/Documents/. When running on FileMaker Server, Get(DocumentsPath) returns the location of the Documents folder, which is in the same folder as the server's Backups, Databases, and Scripts folders. The Documents folder is used as a shared location that scripts from different sessions or other processes on the machine can use to import or export files. See FileMaker Server Help. Note In FileMaker WebDirect and Custom Web Publishing, this function is not supported and returns an empty string. Examples For FileMaker Pro, for a user named John Smith, returns: /C:/Users/John Smith/Documents/ in Windows. /Macintosh HD/Users/johnsmith/Documents/ in OS X For FileMaker Server, returns: /C:/Program Files/FileMaker/FileMaker Server/Data/Documents/ in Windows. /Macintosh HD/Library/FileMaker Server/Data/Documents/ in OS X Each part of the path may vary from these examples, so don't rely on the path to follow a particular pattern. For an example script, see Set Variable script step. FILEMAKER PRO FUNCTIONS REFERENCE 128 Get functions Get(DocumentsPathListing) Purpose Returns a list of all files and folders in the Documents folder returned by the Get(DocumentsPath) function. Format Get(DocumentsPathListing) Parameters None Data type returned text Originated in FileMaker Pro 10.0 Description Each pathname in the Documents folder is listed separated by a line break. Files and folders are named according to FileMaker Pro naming conventions. Use Get(DocumentsPathListing) with the Import Records script step and Export Records script step to determine if a file exists in the Documents folder before using the Open File script step to open the file. Get(DocumentsPathListing) ensures that multiple scripts can safely read from and write to the same FileMaker Pro database. Note In FileMaker WebDirect and Custom Web Publishing, this function is not supported and returns an empty string. Examples For FileMaker Server, returns the following pathnames: In Windows: /C:/Program Files/FileMaker/FileMaker Server/Data/Documents/lastmonthsales.xlsx /C:/Program Files/FileMaker/FileMaker Server/Data/Documents/forecastsales.xlsx /C:/Program Files/FileMaker/FileMaker Server/Data/Documents/SAP /C:/Program Files/FileMaker/FileMaker Server/Data/Documents/SAP/sap001.txt /C:/Program Files/FileMaker/FileMaker Server/Data/Documents/SAP/sap002.txt In OS X: /Macintosh HD/Library/FileMaker Server/Data/Documents/lastmonthsales.xlsx /Macintosh HD/Library/FileMaker Server/Data/Documents/forecastsales.xlsx /Macintosh HD/Library/FileMaker Server/Data/Documents/SAP /Macintosh HD/Library/FileMaker Server/Data/Documents/SAP/sap001.txt /Macintosh HD/Library/FileMaker Server/Data/Documents/SAP/sap002.txt Each part of the path may vary from these examples, so don't rely on the path to follow a particular pattern. For an example script, see Export Records script step. FILEMAKER PRO FUNCTIONS REFERENCE 129 Get functions Get(EncryptionState) Purpose Returns a value representing the file's current encryption state. Format Get(EncryptionState) Parameters None Data type returned text Originated in FileMaker Pro 13.0 Description Returns: • 0 if the database is not encrypted • 1 and the Shared ID as a return delimited list if the database is encrypted Examples In an encrypted database file with the Shared ID of 31725, Get(EncryptionState)returns: • 1 • 31725 FILEMAKER PRO FUNCTIONS REFERENCE 130 Get functions Get(ErrorCaptureState) Purpose Returns 1 (true) if the Set Error Capture script step is on; otherwise, returns 0 (false). Format Get(ErrorCaptureState) Parameters None Data type returned number Originated in FileMaker Pro 7.0 Examples Returns 1 if the Set Error Capture script step is on. FILEMAKER PRO FUNCTIONS REFERENCE 131 Get functions Get(FileMakerPath) Purpose Returns the path to the folder of the currently running copy of FileMaker Pro. Format Get(FileMakerPath) Parameters None Data type returned text Originated in FileMaker Pro 8.0 Notes • In FileMaker WebDirect, this function is not supported and returns an empty string. Examples Returns /C:/Program Files/FileMaker/FileMaker Pro 15/ in Windows. Returns /Macintosh HD/Applications/FileMaker Pro 15/ in OS X. Each part of the path may vary from these examples, so don't rely on the path to follow a particular pattern. FILEMAKER PRO FUNCTIONS REFERENCE 132 Get functions Get(FileName) Purpose Returns the name of the currently active file, without the filename extension. Format Get(FileName) Parameters None Data type returned text Originated in FileMaker Pro 6.0 or earlier Description If the current calculation is stored and you specify its context, this function will be evaluated based on that context; otherwise, it will be evaluated based on the context of the current window. Note If you use Get(FileName) in a function parameter that requires a filename and the filename contains a period, include the filename extension in the parameter. Otherwise, functions may interpret the period in the filename as the beginning of the filename extension, which can lead to unexpected results. Examples Returns Contacts when Contacts is the active file. FILEMAKER PRO FUNCTIONS REFERENCE 133 Get functions Get(FilePath) Purpose Returns the full path of the location of the currently active file. Format Get(FilePath) Parameters None Data type returned text Originated in FileMaker Pro 6.0 or earlier Description In Windows, the full path is file:/drive:/folder/filename for local files. For remote files, the full path is file://volume/folder/filename. In OS X, the full path is file:/volume/folder/filename for local and remote files. If you specify the context for the current calculation, this function will be evaluated based on that context; otherwise, it will be evaluated based on the context of the current window. Examples Returns file:/C:/Users/Username/Documents/Clients.fmp12 for a local file in Windows. Returns file:/Sharename/Documents/Clients.fmp12 for remote files in Windows. Returns file:/Macintosh HD/Users/Username/Documents/Clients.fmp12 for a local file in OS X. Returns fmnet:/192.168.10.10/Clients.fmp12 for a FileMaker Pro networked file. Each part of the path may vary from these examples, so don't rely on the path to follow a particular pattern. FILEMAKER PRO FUNCTIONS REFERENCE 134 Get functions Get(FileSize) Purpose Returns the size, in bytes, of the currently active file. Format Get(FileSize) Parameters None Data type returned number Originated in FileMaker Pro 6.0 or earlier Description If the current calculation is stored and you specify its context, this function will be evaluated based on that context; otherwise, it will be evaluated based on the context of the current window. Examples Returns 15000 when the current file size is 15000 bytes. FILEMAKER PRO FUNCTIONS REFERENCE 135 Get functions Get(FoundCount) Purpose Returns the number of records in the current found set. Format Get(FoundCount) Parameters None Data type returned number Originated in FileMaker Pro 6.0 or earlier Description If there are multiple windows open in the current database file, each window can have its own found count value, but results are returned for only the foreground window. If you specify the context for the current calculation, this function will be evaluated based on that context; otherwise, it will be evaluated based on the context of the current window. Examples Returns 7 when there are seven records in the current found set. For example scripts, see If script step. FILEMAKER PRO FUNCTIONS REFERENCE 136 Get functions Get(HighContrastColor) Purpose Returns the current high contrast default color scheme name. Format Get(HighContrastColor) Parameters None Data type returned text Originated in FileMaker Pro 6.0 or earlier Description This function returns the current high contrast default color scheme name if the high contrast option is enabled in the Windows Ease of Access Center and if high contrast color scheme is active. Returns an empty string if the option is unavailable or inactive, or if this function is used in OS X. Notes • In FileMaker WebDirect, this function is not supported and returns an empty string. Examples Returns High Contrast White when the Windows theme is set to High Contrast White. FILEMAKER PRO FUNCTIONS REFERENCE 137 Get functions Get(HighContrastState) Purpose Returns 1 (true) if high contrast is available and active; otherwise, returns 0 (false). Format Get(HighContrastState) Parameters None Data type returned number Originated in FileMaker Pro 6.0 or earlier Description Returns: • 0 if the high contrast option (in the Windows Ease of Access Center) is unavailable or inactive, or if the function is used in OS X. • 1 if the high contrast option is available and active. Notes • In FileMaker WebDirect, this function is not supported and returns an empty string. FILEMAKER PRO FUNCTIONS REFERENCE 138 Get functions Get(HostApplicationVersion) Purpose Returns the version of FileMaker Pro or FileMaker Server running on the computer hosting the current file. Format Get(HostApplicationVersion) Parameters None Data type returned text Originated in FileMaker Pro 9.0 Description Displays a value when used with the same or higher version of FileMaker Pro or FileMaker Server software. If the current file is not shared or hosted, this function returns an empty string. Also returns an empty string when used from the host computer itself. Examples Returns Pro 15.0.1 when the host computer is running FileMaker Pro 15 version 1. Returns ProAdvanced 15.0.1 when the host computer is running FileMaker Pro 15 Advanced version 1. Returns Server 15.0.1 when the host computer is running FileMaker Server 15 version 1. FILEMAKER PRO FUNCTIONS REFERENCE 139 Get functions Get(HostIPAddress) Purpose Returns the IP address of the host computer for the current file. Format Get(HostIPAddress) Parameters None Data type returned text Originated in FileMaker Pro 8.0 Description If the current file isn’t being hosted, an empty string is returned. Note In FileMaker WebDirect, returns the physical IP address of the host machine. If IPv4 and IPv6 addresses are available for remotely hosted files, the address is returned in the most common or default format. This might not be the same format that was used when connecting to the host. If the current calculation is stored and you specify its context, this function will be evaluated based on that context; otherwise, it will be evaluated based on the context of the current window. Examples Returns one of the following when the current file is being hosted: • IPv4: 14.156.13.121 • IPv6: [2001:0DB8:85A3:08D3:1319:8A2E:0370:7334] Note If the host machine has both IPv4 and IPv6 addresses, Get(HostIPAddress) returns only the IP address that the client used to connect to the host. Returns one of the following when accessing a locally hosted file: • 127.0.0.1 if connected to 127.0.0.1 • [::1] if connected to localhost • 14.156.13.121 if connected to the computer’s IP address or evaluated in FileMaker WebDirect. FILEMAKER PRO FUNCTIONS REFERENCE 140 Get functions Get(HostName) Purpose Returns the registered name of the computer that is hosting the file. Format Get(HostName) Parameters None Data type returned text Originated in FileMaker Pro 6.0 or earlier Description On the computer that is hosting the file, the current registered computer name is displayed in Control Panel (Windows) or System Preferences (OS X). Notes • If the current calculation is stored and you specify its context, this function will be evaluated based on that context; otherwise, it will be evaluated based on the context of the current window. Examples Returns Fred Jones when Fred Jones is the registered name of the host computer in use. FILEMAKER PRO FUNCTIONS REFERENCE 141 Get functions Get(InstalledFMPlugins) Purpose Returns the name, version number, and enabled state of installed plug-ins. Format Get(InstalledFMPlugins) Parameters None Data type returned text Originated in FileMaker Pro 12.0 Description This function is useful for determining whether an installed plug-in is newer or older than a plug-in required by a file. The version number is returned if it is available. If multiple plug-ins are installed, Get(InstalledFMPlugins) returns values for each plug-in on separate lines, separated by carriage returns. Get(InstalledFMPlugins) returns plug-in version information only when plug-in developers have entered version information in the resource file (Windows) or the info.plist file (OS X). OS X: Plug-ins are stored as packages. The enabled state is returned as follows: • Enabled The plug-in is enabled in the FileMaker Pro preferences and can be loaded. • Disabled The plug-in is disabled in the FileMaker Pro preferences and cannot be loaded. • Ignored The plug-in failed to load, which could be due to software incompatibility. Examples When: MyPlugin1 is installed and is enabled in the Plug-ins tab in the Preferences dialog box. MyPlugin2 is installed and is disabled in the Plug-ins tab in the Preferences dialog box. MyPlugin3 could not be loaded. Get(InstalledFMPlugins) returns: MyPlugin1;1.0;Enabled MyPlugin2;1.1;Disabled MyPlugin3; ;Ignored FILEMAKER PRO FUNCTIONS REFERENCE 142 Get functions Get(LastError) Purpose Returns a number for the error that occurred in the execution of the most recently executed script step. Format Get(LastError) Parameters None Data type returned number Originated in FileMaker Pro 6.0 or earlier Description Use this function to detect and control the outcome of errors. See FileMaker Pro error codes. Notes • OS X: In FileMaker Pro, if an error occurs while performing an AppleScript via the Perform AppleScript (OS X) script step, the AppleScript error code will be returned. • For ODBC imports and Execute SQL script steps, if an error occurs while performing a SQL query, returns FileMaker error 1408. For detailed information about the error, use the Get(LastExternalErrorDetail) function. If there is no information about the error, returns FileMaker error 1409. • For working with ODBC data sources in the relationships graph, returns FileMaker error 1408. • Some script triggers allow for the activating command or event to be canceled if the script executed by the script trigger returns a False value. When a command or event is canceled this way, the error code is set to 20. • The following control script steps do not clear the last error condition reported by FileMaker Pro: If, Else, Else If, End If, Loop, Exit Loop If, End Loop, Exit Script, and Halt Script. • For actions that fail to connect to a host because the host’s SSL certificate cannot be verified, this function returns an error code. For detailed information about the error, use the Get(LastExternalErrorDetail) function. Tip To create a script that responds to errors without displaying alerts, use this function with the Set Error Capture script step with the On option. Examples Returns 0 when the most recent script step executed successfully. Returns 401 when no records are found after the Perform Find script step has been executed. For an example script, see Set Error Capture script step. FILEMAKER PRO FUNCTIONS REFERENCE 143 Get functions Get(LastExternalErrorDetail) Purpose Returns text about errors external to FileMaker that are returned by Get(LastError). Format Get(LastExternalErrorDetail) Parameters None Data type returned text Originated in FileMaker Pro 6.0 or earlier Description • For ODBC imports and Execute SQL script steps, returns a detailed ODBC error message. • For working with ODBC data sources in the relationships graph, returns the readable error string that is generated by the ODBC driver. • For actions that attempt to connect to a host securely, returns an SSL certificate error message. Examples For ODBC imports and Execute SQL script steps, returns [DataDirect][Macintosh ODBC Driver Manager] Data source name not found and no default driver specified (-1) when a data source name wasn’t found and the driver wasn’t specified. FILEMAKER PRO FUNCTIONS REFERENCE 144 Get functions Get(LastMessageChoice) Purpose Returns a number corresponding to the button clicked in an alert message displayed by the Show Custom Dialog script step. Format Get(LastMessageChoice) Parameters None Data type returned number Originated in FileMaker Pro 6.0 or earlier Description Returns: • 1 for the first button (by default, labeled OK) • 2 for the second button (by default, labeled Cancel) • 3 for the third button Example 1 For an example script, see Show Custom Dialog script step. FILEMAKER PRO FUNCTIONS REFERENCE 145 Get functions Get(LayoutAccess) Purpose Returns a number based on record access privileges available through the current layout. Format Get(LayoutAccess) Parameters None Data type returned number Originated in FileMaker Pro 6.0 or earlier Description You assign the access privileges in the Custom Layout Privileges dialog box. Returns: • 0 if the custom layout privileges of an account’s privilege set allow no access to Records via this layout • 1 if the custom layout privileges of an account’s privilege set allow view only access to Records via this layout. If the database is opened with read-only access, FileMaker Pro returns 1 even if the layout has read-write access privileges • 2 if the custom layout privileges of an account’s privilege set allow modifiable access to Records via this layout Notes • Get(LayoutAccess) returns information about record access privileges defined for only the current layout. It ignores current record access privileges for all other layouts. To fully check access through a layout, consider the return values of Get(LayoutAccess) and the Get(RecordAccess) function. • See Editing layouts privileges for more details about limiting access through layouts. Examples Returns 1 when the layout allows view-only access to records. FILEMAKER PRO FUNCTIONS REFERENCE 146 Get functions Get(LayoutCount) Purpose Returns the total number of layouts in the file. Format Get(LayoutCount) Parameters None Data type returned number Originated in FileMaker Pro 6.0 or earlier Examples Returns 3 when the file has three layouts. FILEMAKER PRO FUNCTIONS REFERENCE 147 Get functions Get(LayoutName) Purpose Returns the name of the layout currently being displayed. Format Get(LayoutName) Parameters None Data type returned text Originated in FileMaker Pro 6.0 or earlier Description If there are multiple windows open in the current file, each window can have its own layout name value, but results are returned for only the foreground window. Notes • You can use the Get(LayoutNumber) function as an alternative to Get(LayoutName) if there are multiple layouts with the same name. Examples Returns Product List when the Product List layout is displayed. Returns Customer Invoice when the Customer Invoice layout is displayed. For an example script, see Perform Script On Server script step. FILEMAKER PRO FUNCTIONS REFERENCE 148 Get functions Get(LayoutNumber) Purpose Returns the number of the layout (specified in the Manage Layouts dialog box) currently displayed. Format Get(LayoutNumber) Parameters None Data type returned number Originated in FileMaker Pro 6.0 or earlier Description If there are multiple windows open in the current file, each window can have its own layout number value, but results are returned for only the foreground window. Notes • You can use Get(LayoutNumber) as an alternative to the Get(LayoutName) function if there are multiple layouts with the same name. Examples Returns 3 when the current layout is third in the list of layouts in Manage Layouts. FILEMAKER PRO FUNCTIONS REFERENCE 149 Get functions Get(LayoutTableName) Purpose Returns the name of the table displaying records in the current layout. Format Get(LayoutTableName) Parameters None Data type returned text Originated in FileMaker Pro 7.0 Description If no windows are open, an empty string is returned. Examples There are two layouts, Teachers Layout and Coaches Layout, with corresponding tables named Teachers and Coaches in the table Instructors. An unstored calculation of Get(LayoutTableName) returns Teachers when the current layout is Teachers Layout and returns Coaches when the current layout is Coaches Layout. FILEMAKER PRO FUNCTIONS REFERENCE 150 Get functions Get(LayoutViewState) Purpose Returns a number representing the currently active file view. Format Get(LayoutViewState) Parameters None Data type returned number Originated in FileMaker Pro 6.0 or earlier Description Returns: • 0 (zero) if the database file is in Form View • 1 if the database file is in List View • 2 if the database file is in Table View If there are multiple windows open in the current file, each window can have its own layout view state value, but results are returned for only the foreground window. FILEMAKER PRO FUNCTIONS REFERENCE 151 Get functions Get(MenubarState) Purpose Returns a number for the current menu bar state. Format Get(MenubarState) Parameters None Data type returned number Originated in FileMaker Pro 14.0 Description In FileMaker Pro, FileMaker Go and FileMaker WebDirect, returns: • 0 if the menu bar is hidden and unlocked • 1 if the menu bar is visible and unlocked • 2 if the menu bar is visible and locked • 3 if the menu bar is hidden and locked Notes • In FileMaker Pro, the Show/Hide Menubar script step is not supported. Example 1 Returns 1 when the menu bar is visible and unlocked. FILEMAKER PRO FUNCTIONS REFERENCE 152 Get functions Get(ModifiedFields) Purpose Returns a list of fields that have been modified in the current record of the current table. Format Get(ModifiedFields) Parameters None Data type returned text Originated in FileMaker Pro 13.0 Description Returns a list of fields modified since the last time the record was committed. The list includes stored calculation fields that are dependent on one or more fields that have been modified. Field names are separated by carriage returns. For a new record, the list is always empty because the record has never been committed. Examples When the Invoices::Customer Name and Invoices::Company fields are modified and the record is open, Get(ModifiedFields) returns: • Customer Name • Company FILEMAKER PRO FUNCTIONS REFERENCE 153 Get functions Get(MultiUserState) Purpose Returns a number representing the level of sharing for the file using FileMaker Network. Format Get(MultiUserState) Parameters None Data type returned number Originated in FileMaker Pro 6.0 or earlier Description Returns: • 0 when network sharing is off • 1 when network sharing is on, you’re accessing the database file from the host computer, and either all users or a specific group of users (based on their privilege set) have network access to the database file • 2 when network sharing is on, you’re accessing the database file from a client computer, and either all users or a specific group of users (based on their privilege set) have network access to the database file Notes • If the current calculation is stored and you specify its context, this function will be evaluated based on that context; otherwise, it will be evaluated based on the context of the current window. Examples Returns 0 when access is denied to other users. For an example script, see Set Multi-User script step. FILEMAKER PRO FUNCTIONS REFERENCE 154 Get functions Get(NetworkProtocol) Purpose Returns the name of the network protocol (TCP/IP) that FileMaker is using on this machine. Format Get(NetworkProtocol) Parameters None Data type returned text Originated in FileMaker Pro 6.0 or earlier Examples Returns TCP/IP. FILEMAKER PRO FUNCTIONS REFERENCE 155 Get functions Get(NetworkType) Purpose In FileMaker Go, returns a number representing the type of network being used to access the current file. Format Get(NetworkType) Parameters None Data type returned number Originated in FileMaker Pro 13.0 Description In FileMaker Go, returns: • 0 if the current file is a local file on an iOS device • 1 if the network type is unknown • 2 for a cellular network • 3 for a Wi-Fi network Note In other products in the FileMaker product line, this function is not supported and returns an empty string. Examples Returns 3 when the file is being accessed from a Wi-Fi network. FILEMAKER PRO FUNCTIONS REFERENCE 156 Get functions Get(PageNumber) Purpose Returns a number representing the current page being printed or previewed. Format Get(PageNumber) Parameters None Data type returned number Originated in FileMaker Pro 6.0 or earlier Description If nothing is being printed or previewed, 0 is returned. Notes • In FileMaker WebDirect, this function is not supported and returns an empty string. Examples Returns 4 when page 4 is being printed or previewed. FILEMAKER PRO FUNCTIONS REFERENCE 157 Get functions Get(PersistentID) Purpose Returns text representing a unique identifier of the computer or device running FileMaker. Format Get(PersistentID) Parameters None Data type returned text Originated in FileMaker Pro 12.0 Description Returns a unique, unchanging identifier for the computer on which FileMaker Pro is running, the device on which FileMaker Go is running, or the current FileMaker WebDirect session in the form of a 32-digit hexadecimal string. Get(PersistentID) helps you identify devices that access your solution. Notes • If web browser cookies are cleared during a FileMaker WebDirect session, the value returned by Get(PersistentID) changes. • If a FileMaker Go user restores an iOS backup to a different device, the value returned by Get(PersistentID) changes. If a backup is restored to the same iOS device, the returned value remains the same. For more information, see the FileMaker Knowledge Base. Examples For a FileMaker Pro client or a FileMaker Go client, Get (PersistentID) returns a value such as 78569d0bd40b898a64e7d08ccdea8220. FILEMAKER PRO FUNCTIONS REFERENCE 158 Get functions Get(PreferencesPath) Purpose Returns the path to the preferences and default options folder for the current user. Format Get(PreferencesPath) Parameters None Data type returned text Originated in FileMaker Pro 8.0 Description In Windows, the path format is /Drive:/Users/UserName/AppData/Local/. In OS X, the path format is /DriveName/Users/UserName/Library/Preferences/. Notes • In FileMaker WebDirect, this function is not supported and returns an empty string. Examples Returns /C:/Users/John Smith/AppData/Local/ for a user named John Smith in Windows. Returns /Macintosh HD/Users/John Smith/Library/Preferences/ for a user named John Smith in OS X. Each part of the path may vary from these examples, so don’t rely on the path to follow a particular pattern. FILEMAKER PRO FUNCTIONS REFERENCE 159 Get functions Get(PrinterName) Purpose Returns text identifying the default printer name. Format Get(PrinterName) Parameters None Data type returned text Originated in FileMaker Pro 6.0 or earlier Description In Windows, returns a string with each of these entries separated by a comma: • the printer name • the driver name • the name of the printer port In OS X, returns a string with these entries separated by the word on: • the queue name of the printer (if provided) • the IP address of the printer If any of this information isn’t available,is inserted in the result (except for queue name in OS X). Notes • In FileMaker WebDirect, this function is not supported and returns an empty string. Examples Returns HP LaserJet P4015, winspool, Ne03 in Windows. Returns 24.109.265.43 in OS X. FILEMAKER PRO FUNCTIONS REFERENCE 160 Get functions Get(QuickFindText) Purpose Returns the text that is stored in the quick find box. Format Get(QuickFindText) Parameters None Data type returned text Originated in FileMaker Pro 11.0 Description Use this function to pass the text that's in the quick find box to a script when you override the Perform Quick Find command in a custom menu set. Example 1 Performs a quick find using the text entered in the quick find box. If no records are found, returns a custom error message. Perform QuickFind [Get ( QuickFindText )] If [Get ( LastError ) = 0] Go to Layout ["Invoice Details" ( Invoices )] Go to Record/Request/Page [First] Else Show Custom Dialog [“There are no invoices containing \"” & Get ( QuickFindText ) & "\""] End If FILEMAKER PRO FUNCTIONS REFERENCE 161 Get functions Get(RecordAccess) Purpose Returns a number based on the current record's access privileges, assigned through the Custom Record Privileges dialog box. Format Get(RecordAccess) Parameters None Data type returned number Originated in FileMaker Pro 6.0 or earlier Description Returns: • 0 if the custom record privileges of an account’s privilege set have neither View nor Edit privileges set to yes for the current record • 1 if the custom record privileges of an account’s privilege set have View set to yes for the current record, or if View is set to limited and the calculation defined for limited access returns a value of true Note If both View and Edit are set to yes, Get(RecordAccess) returns 2 • 2 if the custom record privileges of an account’s privilege set have Edit set to yes for the current record, or if Edit is set to limited and the calculation defined for limited access returns a value of true Notes • Get(RecordAccess) only returns information about the privileges defined for accessing records. It ignores access privileges assigned through individual layouts. To fully check access to a record, consider the return values of the Get(LayoutAccess) function and Get(RecordAccess). • If you specify the context for the current calculation, this function will be evaluated based on that context; otherwise, it will be evaluated based on the context of the current window. • See Editing record access privileges for more details about limiting access to records. Examples Returns 1 when the record access is view-only. FILEMAKER PRO FUNCTIONS REFERENCE 162 Get functions Get(RecordID) Purpose Returns the unique ID number of the current record. Format Get(RecordID) Parameters None Data type returned number Originated in FileMaker Pro 6.0 or earlier Description The number returned is a decimal value (an integer) generated by FileMaker Pro when the record is created. It does not change. Notes • If the current calculation is stored and you specify its context, this function will be evaluated based on that context; otherwise, it will be evaluated based on the context of the current window. • Get(RecordID)may not return a consistent value for records in ODBC data sources. Examples Returns a unique ID for the current record. FILEMAKER PRO FUNCTIONS REFERENCE 163 Get functions Get(RecordModificationCount) Purpose Returns the total number of times changes to the current record have been committed. Format Get(RecordModificationCount) Parameters None Data type returned number Originated in FileMaker Pro 6.0 or earlier Description To commit changes, you can, for example: • click out of all fields (exit the record) • go to a different record • enter Find mode If multiple windows are open, clicking in another window does not commit the record. Notes • If the current calculation is stored and you specify its context, this function will be evaluated based on that context; otherwise, it will be evaluated based on the context of the current window. • Get(RecordModificationCount)returns NULL for ODBC data sources. Examples Returns 0 if the record has not been modified since it was created. If changes are made to four fields and all four fields are committed together, the result increments by one. If changes are made to four fields and each change is committed separately, the result increments by four. FILEMAKER PRO FUNCTIONS REFERENCE 164 Get functions Get(RecordNumber) Purpose Returns the number of the current record in the current found set. Format Get(RecordNumber) Parameters None Data type returned number Originated in FileMaker Pro 6.0 or earlier Description The value returned is determined by the relative place of the record in the found set, and it changes depending on the find criteria and the sort order. Notes • To return a value that uniquely and permanently identifies a record in this table, use Get(RecordID). • If you specify the context for the current calculation, this function will be evaluated based on that context; otherwise, it will be evaluated based on the context of the current window. Examples Returns 3 when the current record is the third record in a found set. For an example script, see Perform Script On Server script step. FILEMAKER PRO FUNCTIONS REFERENCE 165 Get functions Get(RecordOpenCount) Purpose Returns the total number of open records in the current found set that haven’t been saved. Format Get(RecordOpenCount) Parameters None Data type returned number Originated in FileMaker Pro 8.0 Description This function returns the number of open (uncommitted) records in the current found set, including uncommitted related records, that the current user hasn’t saved. If you specify the context for the current calculation, this function will be evaluated based on that context; otherwise, it will be evaluated based on the context of the current window. Examples Returns 4 if there is one record and three related records that haven’t been saved. FILEMAKER PRO FUNCTIONS REFERENCE 166 Get functions Get(RecordOpenState) Purpose Returns a number representing the state of the current record. Format Get(RecordOpenState) Parameters None Data type returned number Originated in FileMaker Pro 8.0 Description Returns: • 0 for a closed (committed) record • 1 for a new record that hasn’t been committed • 2 for a modified record that hasn’t been committed Notes • This function returns the state of the current record pertaining to the current user. If you specify the context for the current calculation, this function will be evaluated based on that context; otherwise, it will be evaluated based on the context of the current window. Examples Returns 1 if the current record is a new record that the current user hasn’t saved. For an example script, see Revert Record/Request script step. FILEMAKER PRO FUNCTIONS REFERENCE 167 Get functions Get(RequestCount) Purpose Returns the total number of find requests defined for the current table. Format Get(RequestCount) Parameters None Data type returned number Originated in FileMaker Pro 6.0 or earlier Description If multiple windows are open in the current file, the results are returned for only the foreground window of the file in which the calculation is defined. Examples Returns 5 when there are five find requests defined for the current table. FILEMAKER PRO FUNCTIONS REFERENCE 168 Get functions Get(RequestOmitState) Purpose Returns 1 (true) if Omit is selected in the current find request; otherwise, returns 0 (false). Format Get(RequestOmitState) Parameters None Data type returned number Originated in FileMaker Pro 8.0 Examples Returns 1 when Omit is selected in the current find request. FILEMAKER PRO FUNCTIONS REFERENCE 169 Get functions Get(ScreenDepth) Purpose Returns the number of bits needed to represent the color or shade of gray of a pixel on the main screen. Format Get(ScreenDepth) Parameters None Data type returned number Originated in FileMaker Pro 6.0 or earlier Description A value of 8 represents 256 (equal to 28) colors or shades of gray. Notes • In FileMaker WebDirect, this function is not supported and returns 32. Examples Returns 32 on a display showing millions (232) of colors. Returns 16 on a display showing thousands (216) of colors. Returns 4 on a VGA display. Returns 1 on a black-and-white display. FILEMAKER PRO FUNCTIONS REFERENCE 170 Get functions Get(ScreenHeight) Purpose Returns the height, in points, of the screen in which the window of the current file is open. Format Get(ScreenHeight) Parameters None Data type returned number Originated in FileMaker Pro 6.0 or earlier Description When the window spans more than one screen, this function uses the screen that contains the largest percentage of the window. If there are multiple windows open in the current database file, each window can have its own screen height value, but results are returned for only the foreground window. Examples Returns 480 when the screen resolution is set to 640 x 480. FILEMAKER PRO FUNCTIONS REFERENCE 171 Get functions Get(ScreenScaleFactor) Purpose Returns the scale factor of the screen in which the current file is open. Format Get(ScreenScaleFactor) Parameters None Data type returned number Originated in FileMaker Pro 13.0.2 Description In OS X and FileMaker Go, this function returns a scale factor based on the relative pixel density of the screen; for example: • 1 for a device without a Retina display • 2 for a Mac with a Retina display or for iPhone 6 • 3 for iPhone 6 Plus In Windows, this function returns the scale factor specified in Control Panel. In FileMaker WebDirect, server-side scripts, and Custom Web Publishing, this function returns 1. Example 1 Get(ScreenScaleFactor) returns 2 on iPad with Retina display. Example 2 Detects the screen scale factor, then goes to a layout designed for a large scale factor or goes to a standard layout. If [Get ( ScreenScaleFactor ) = 1.5] Go to Layout [Invoices Factor 150%] Else Go to Layout [Invoices] End If FILEMAKER PRO FUNCTIONS REFERENCE 172 Get functions Get(ScreenWidth) Purpose Returns the width, in points, of the screen in which the window of the current file is open. Format Get(ScreenWidth) Parameters None Data type returned number Originated in FileMaker Pro 6.0 or earlier Description When the window spans more than one screen, this function uses the screen that contains the largest percentage of the window. If there are multiple windows open in the current database file, each window can have its own screen width value, but results are returned for only the foreground window. Examples Returns 640 when the screen resolution is set to 640 x 480. FILEMAKER PRO FUNCTIONS REFERENCE 173 Get functions Get(ScriptAnimationState) Purpose Returns 1 (true) if animations are enabled for the current script; otherwise, returns 0 (false). Format Get(ScriptAnimationState) Parameters None Data type returned number Originated in FileMaker Pro 13.0 Description Animations are off by default while a script is running. Examples Returns 1 when the current script has been set to enable animations using the Set Layout Object Animation script step. FILEMAKER PRO FUNCTIONS REFERENCE 174 Get functions Get(ScriptName) Purpose Returns the name of the script that is currently running or is paused. Format Get(ScriptName) Parameters None Data type returned text Originated in FileMaker Pro 6.0 or earlier Examples Returns Print Report when the Print Report script is running. Returns Update Customer when the Update Customer script is running. FILEMAKER PRO FUNCTIONS REFERENCE 175 Get functions Get(ScriptParameter) Purpose Returns the script parameter passed into the current script. Format Get(ScriptParameter) Parameters None Data type returned text Originated in FileMaker Pro 7.0 Description Use this function as part of a calculation evaluated within a script. Script parameters can be passed into a script via a button, a script trigger, or another script. See the Perform Script script step. Example 1 Clears the contents of the field specified in the script parameter and navigates to that field. This script can be attached to multiple buttons, each referencing a different field, to clear the contents of multiple fields. Set Field By Name [Get ( ScriptParameter ) ; ""] Go to Field [Get ( ScriptParameter )] Example 2 Uses the Invoices::Customer Name field as the parameter. Invoices for the current customer are returned in a new window with the Invoice Report layout. Main script: Current Customer Invoices Find Matching Records [Replace; Invoices::Customer ID] #Calls the View Customer Invoices sub-script, defined below Perform Script ["View Customer Invoices"; Parameter: Invoices::Customer Name] Sub-script: View Customer Invoices New Window [Name: "Customer: " & Get ( ScriptParameter ); Style: Document] Go to Layout ["Invoice Report"] Sort Records [Restore; With dialog: Off] FILEMAKER PRO FUNCTIONS REFERENCE 176 Get functions Get(ScriptResult) Purpose Returns the script result from a performed sub-script. Format Get(ScriptResult) Parameters None Data type returned text, number, date, time, timestamp, container Originated in FileMaker Pro 8.0 Description Use this function as part of a calculation evaluated within a script. If a sub-script doesn’t return a result, then the contents of the script result will either be empty or the value of any previous subscript result. To control the value of a sub-script result, use the Exit Script script step in the sub-script and specify a result. Examples In the following example, the Find Customers script returns the results of a find request when it is called from the Do Reports script. Script Find Customers uses the optional script result of the Exit Script script step. Script Do Reports then uses Get(ScriptResult) to determine what other script steps should be performed based on the returned result stored in Get(ScriptResult). Find Customers Set Error Capture [On] Perform Find [Restore] New Record/Request Exit Script [Text Result: Get(FoundCount) < 10] Do Reports Perform Script [Find Customers] If [Get(ScriptResult) = 0] Show Custom Dialog [“You have created 10 records already.”] End If FILEMAKER PRO FUNCTIONS REFERENCE 177 Get functions Get(SortState) Purpose Returns a value representing the current sort state. Format Get(SortState) Parameters None Data type returned number Originated in FileMaker Pro 6.0 or earlier Description Returns: • 0 if the records in the active table are not sorted • 1 if the records in the active table are sorted • 2 if the records in the active table are partially sorted (semi-sorted) Each window has its own sort state. Notes • When records are imported from another file to a previously found and sorted set, the records in a sorted set may exist in a semi-sorted state. To include the imported records in the sort order, sort the found set after importing. • If you specify the context for the current calculation, this function will be evaluated based on that context; otherwise, it will be evaluated based on the context of the current window. Examples Returns 1 when the records in the active table are sorted. FILEMAKER PRO FUNCTIONS REFERENCE 178 Get functions Get(StatusAreaState) Purpose Returns a number representing the current status toolbar state. Format Get(StatusAreaState) Parameters None Data type returned number Originated in FileMaker Pro 6.0 or earlier Description Returns: • 0 (zero) if the status toolbar is hidden • 1 if the status toolbar is visible • 2 if the status toolbar is visible and locked • 3 if the status toolbar is hidden and locked If there are multiple windows open on the currently active file, then results are returned for only the active window. Examples Returns 1, when the current status toolbar is visible. FILEMAKER PRO FUNCTIONS REFERENCE 179 Get functions Get(SystemDrive) Purpose Returns the drive letter (Windows) or volume name (OS X) where the running operating system is located. Format Get(SystemDrive) Parameters None Data type returned text Originated in FileMaker Pro 8.0 Description In FileMaker WebDirect, this function is not supported and returns an empty string. Examples Returns /C:/ in Windows when the operating system is on the C: drive. Returns /DriveName/ in OS X when the operating system is on a volume named DriveName. FILEMAKER PRO FUNCTIONS REFERENCE 180 Get functions Get(SystemIPAddress) Purpose Returns a list of the IP addresses of all computers connected to an active NIC (Network Interface Controller) card. Format Get(SystemIPAddress) Parameters None Data type returned text Originated in FileMaker Pro 7.0 Description IP addresses are separated by carriage returns. In FileMaker WebDirect, Get(SystemIPAddress) returns the IP address of the interface used to connect to the host. Examples Suppose a machine has the following active physical interfaces: • an Ethernet card not connected to a network with an IP address of 10.10.10.10 • a Wi-Fi interface with an IP address of 192.168.1.1 • a VPN connection with an IP address of 172.172.172.172 The function returns: 192.168.1.1 172.172.172.172 Suppose a machine has the following active physical interfaces: • an Ethernet card not connected to a network with an IP address of 2001::10 • a Wi-Fi interface with an IP address of 3FFE:FFFF:101::230:6EFF:FE04:D9FF/48 • a VPN connection with an IP address of 2001:0DB8:85A3:08D3:1319:8A2E:0370:7334 The function returns: 3FFE:FFFF:101::230:6EFF:FE04:D9FF/48 2001:0DB8:85A3:08D3:1319:8A2E:0370:7334 FILEMAKER PRO FUNCTIONS REFERENCE 181 Get functions Get(SystemLanguage) Purpose Returns the language currently set on the current system. Format Get(SystemLanguage) Parameters None Data type returned text Originated in FileMaker Pro 6.0 or earlier Description Get(SystemLanguage) is evaluated on the Formats setting in Control Panel (Windows) or in System Preferences (OS X). The text that is returned is in the English language. For hosted databases, Get(SystemLanguage) returns the client’s current system language. Note In FileMaker WebDirect, Get(SystemLanguage) returns the web browser’s current language. Examples Returns Japanese when Japanese is the current format for the region. For an example script, see Set Use System Formats script step. FILEMAKER PRO FUNCTIONS REFERENCE 182 Get functions Get(SystemNICAddress) Purpose Returns the hardware addresses of all NIC (Network Interface Controller) cards connected to the computer. Format Get(SystemNICAddress) Parameters None Data type returned text Originated in FileMaker Pro 7.0 Description Values in the list returned by this function are separated by carriage returns. The address consists of 6 bytes displayed in hexadecimal separated by colons. Notes • In FileMaker WebDirect, this function is not supported and returns an empty string. • In FileMaker Go, this function is not a reliable method for obtaining the address on an iOS device. To identify an iOS device, use the Get(PersistentID) function instead. For more information, see the FileMaker Knowledge Base. Examples Returns 00:07:34:4e:c2:0d, for example. FILEMAKER PRO FUNCTIONS REFERENCE 183 Get functions Get(SystemPlatform) Purpose Returns a number representing the current platform. Format Get(SystemPlatform) Parameters None Data type returned number Originated in FileMaker Pro 6.0 or earlier Description Returns: • 1 if the current platform is Intel-based Macs • -2 if the platform is Windows • 3 if the platform is iOS • 4 if the platform is FileMaker WebDirect Examples Get(SystemPlatform) returns -2 when the current platform is a Windows platform. Abs(Get(SystemPlatform)) returns 1 when the current platform is OS X. FILEMAKER PRO FUNCTIONS REFERENCE 184 Get functions Get(SystemVersion) Purpose Returns the version of the current operating system. Format Get(SystemVersion) Parameters None Data type returned text Originated in FileMaker Pro 6.0 or earlier Description Returns: • 6.1 for Windows 7 • 6.3 for Windows 8.1 • 10.0 for Windows 10 • 10.11 for OS X version 10.11 • for FileMaker WebDirect For operating system or device, returns: • Win for a Windows operating system • Mac for an OS X operating system • Linux for a Linux operating system • iPad for iPad • iPhone for iPhone • iPod for iPod touch • Android for an Android device • Other for an unknown operating system or device For web browser, returns: • Safari for the Safari browser • IE for the Internet Explorer browser • Chrome for the Chrome browser • Other for an unknown browser For browser version, returns the version of the web browser accessing FileMaker WebDirect. Examples Returns 10.11 when the current operating system is OS X version 10.11. Returns iPad Safari 9.0 for iPad using FileMaker WebDirect in Safari version 9.0. Returns Win Chrome 45 for a Windows computer using FileMaker WebDirect in Chrome version 45. FILEMAKER PRO FUNCTIONS REFERENCE 185 Get functions Get(TemporaryPath) Purpose Returns the path to the temporary folder FileMaker Pro uses for the current user, or the path FileMaker Server uses on the system. Format Get(TemporaryPath) Parameters None Data type returned text Originated in FileMaker Pro 9.0 Description The temporary folder name begins with S, followed by a number representing the session of the database engine during which the operation took place. Because your operating system controls the location of temporary files, the exact path returned may be different from the examples shown. The actual path returned also depends on which product (FileMaker Pro or FileMaker Server) is executing the function. In FileMaker Pro, the temporary folder and any files placed in it are deleted when FileMaker Pro is terminated. In server-side scripts, each script runs in its own session; once the script is completed, the session terminates and the temporary folder is deleted. Notes • In FileMaker WebDirect, this function is not supported and returns an empty string. Examples Returns: • Windows: /C:/Users/username/AppData/Local/Temp/S10/ • OS X: /Macintosh HD/var/folders/r8/k3_nw76d6t95mh6cf3d21fpc0000gn/T/S10/ Each part of the path may vary from these examples, so don't rely on the path to follow a particular pattern. For an example script, see Perform Script On Server script step. FILEMAKER PRO FUNCTIONS REFERENCE 186 Get functions Get(TextRulerVisible) Purpose Returns 1 (true) if the text ruler is displayed; otherwise, returns 0 (false). Format Get(TextRulerVisible) Parameters None Data type returned number Originated in FileMaker Pro 8.0 Notes • In FileMaker WebDirect, this function is not supported and returns 0. Examples Returns 1 when the text ruler is visible. FILEMAKER PRO FUNCTIONS REFERENCE 187 Get functions Get(TotalRecordCount) Purpose Returns the total number of records in the current table. Format Get(TotalRecordCount) Parameters None Data type returned number Originated in FileMaker Pro 6.0 or earlier Description If the current calculation is stored and you specify its context, this function will be evaluated based on that context; otherwise, it will be evaluated based on the context of the current window. Examples Returns 876 when there are 876 records in the current table. For an example script, see Set Next Serial Value script step. FILEMAKER PRO FUNCTIONS REFERENCE 188 Get functions Get(TouchKeyboardState) Purpose Returns 1 (true) if the touch keyboard is set to display automatically when needed; otherwise, returns 0 (false). Format Get(TouchKeyboardState) Parameters None Data type returned number Originated in FileMaker Pro 14.0 Description In FileMaker Go and Windows, this function returns: • 1 if the touch keyboard is enabled • 0 if the touch keyboard is disabled In Windows 7, OS X, FileMaker WebDirect, server-side scripts, and Custom Web Publishing, this function is not supported and returns 0. Notes • In FileMaker Go, the value returned by this function does not indicate the state of the touch keyboard if the active field is a concealed edit box, because FileMaker Go always displays the touch keyboard for a concealed edit box. Example 1 Checks the current setting of the touch keyboard and disables the touch keyboard if it is enabled. If [ Get ( TouchKeyboardState ) = 1] Enable Touch Keyboard [Off] End If FILEMAKER PRO FUNCTIONS REFERENCE 189 Get functions Get(TriggerCurrentPanel) Purpose Returns the index and object name of the panel to switch from when the OnPanelSwitch script trigger is activated. Format Get(TriggerCurrentPanel) Parameters None Data type returned text Originated in FileMaker Pro 12.0 Description Use with the Get(TriggerTargetPanel) function. Returns an index value, starting from 1, when running a script triggered by the OnPanelSwitch script trigger, and the object name assigned to the tab panel or slide panel. Returns 0 if the panel is invalid or if Get(TriggerCurrentPanel) is not used with the OnPanelSwitch script trigger. You can use the GetValue function to extract the value you want to use from the index value returned by Get(TriggerCurrentPanel). Examples When the tab panel or slide panel to be switched from is panel number 1, named “Category,” Get(TriggerCurrentPanel) returns: 1 Category FILEMAKER PRO FUNCTIONS REFERENCE 190 Get functions Get(TriggerExternalEvent) Purpose In FileMaker Go, returns a number representing the event that activated an OnExternalCommandReceived script trigger. Format Get(TriggerExternalEvent) Parameters None Data type returned number Originated in FileMaker Pro 14.0 Description In FileMaker Go, returns one of the following numbers: Returned value External event 0 Unknown 1 RemotePlayMedia 2 RemotePause 3 RemoteTogglePlayPause 4 RemotePlayNext 5 RemotePlayPrevious 6 RemoteSeek (begin or end seeking forward or backward) 7 RemoteStop Example 1 Controls which media file to play based on the event that activated the OnExternalCommandReceived script trigger on the lock screen or an external device. If [Get(TriggerExternalEvent) = 4 ] Go to Record/Request/Page [Next] AVPlayer Play [Object:: "Player"] Else If [Get(TriggerExternalEvent) = 5 ] Go to Record/Request/Page [Previous] AVPlayer Play [Object:: "Player"] End If FILEMAKER PRO FUNCTIONS REFERENCE 191 Get functions Get(TriggerGestureInfo) Purpose Returns details about the gesture that activated an OnGestureTap script trigger. Format Get(TriggerGestureInfo) Parameters None Data type returned text Originated in FileMaker Pro 13.0 Description FileMaker Pro for Windows and FileMaker Go only: Returns a list containing these items: • the string Tap, indicating the script was started by an OnGestureTap script trigger • a value indicating the tap count • a value indicating how many fingers were used to make the tap • the x coordinate in the document where the gesture occurred • the y coordinate in the document where the gesture occurred The coordinates (0,0) are located at the top-left corner of the topmost layout part. For multi-finger gestures, the coordinates returned indicate the center point of the gesture. In List View, the coordinates returned reflect the location of the tap within the entire list. For example, if the layout has a header 50 points in height, a body 200 points in height, and a footer 25 points in height, and there are 1000 records in the list, the entire layout is 275,000 points in height. A tap near the bottom of the list might return the coordinates (21,274065). This function returns values for the following gestures: • tap with one, two, or three fingers (iOS) • double-tap with one finger (iOS) • tap with two fingers (Windows) Returns an empty string if this function is executed when no OnGestureTap script trigger has been activated. Note In FileMaker Pro for Windows 7 and FileMaker WebDirect, this function is not supported and returns an empty string. FILEMAKER PRO FUNCTIONS REFERENCE 192 Get functions Examples When a script is triggered by a three-finger tap, and the gesture occurred at the coordinates (400,600), this function returns: Tap 1 3 400 600 FILEMAKER PRO FUNCTIONS REFERENCE 193 Get functions Get(TriggerKeystroke) Purposeh Returns the characters that activated an OnObjectKeystroke or OnLayoutKeystroke script trigger. Format Get(TriggerKeystroke) Parameters None Data type returned text Originated in FileMaker Pro 10.0 Description Returns a value when running a script triggered by an OnObjectKeystroke or OnLayoutKeystroke script trigger or running a script called from the triggered script; otherwise, returns an empty string. Multiple characters may be returned when the input comes from an input method editor (IME). Notes • In FileMaker WebDirect, this function is not supported and returns an empty string. Examples The following code displays the text Processing input... when a carriage return is entered: If [ Code ( Get(TriggerKeystroke) ) = 13 ] Show Custom Dialog [“Processing input...”] End If FILEMAKER PRO FUNCTIONS REFERENCE 194 Get functions Get(TriggerModifierKeys) Purpose Returns the state of the keyboard modifier keys when an OnObjectKeystroke or OnLayoutKeystroke script trigger was activated. Format Get(TriggerModifierKeys) Parameters None Data type returned number Originated in FileMaker Pro 10.0 Description Returns a value only when called from a script activated by a script trigger or from a sub-script called from the triggered script; otherwise, returns an empty string. • See Get(ActiveModifierKeys) for a description of the values assigned to the keyboard modifier keys. • See the Code function for a list of navigational keys and the codes returned to a script activated by this trigger. Time might elapse between when the keys that activated a script trigger are pressed and the script asks for information on the modifier keys. Use Get(TriggerKeystroke) and Get(TriggerModifierKeys) to capture the keys that were active when the script trigger was activated. Use Get(ActiveModifierKeys) to capture any current keys being pressed. Notes • Windows: Alt and Ctrl key combinations do not activate script triggers. • OS X: Command key combinations do not activate script triggers. • In FileMaker WebDirect, this function is not supported and returns an empty string. FILEMAKER PRO FUNCTIONS REFERENCE 195 Get functions Examples • The following example will only display a custom dialog box when lowercase “a” is entered: If [Get(TriggerKeystroke)=“a” and Get(TriggerModifierKeys)=0] Show Custom Dialog [“You entered \”a\”.”] End If • The value 9 is returned when Shift-Option is pressed on a computer running OS X. If the Option and Shift keys are pressed on a Mac when a script is triggered, Get(TriggerModifierKeys) returns 9, regardless of which modifier keys have been pressed between when the trigger was activated and when the script runs. FILEMAKER PRO FUNCTIONS REFERENCE 196 Get functions Get(TriggerTargetPanel) Purpose Returns the index and the object name of the panel to switch to when the OnPanelSwitch script trigger is activated. Format Get(TriggerTargetPanel) Parameters None Data type returned text Originated in FileMaker Pro 12.0 Description Use with the Get(TriggerCurrentPanel) function. Returns an index value, starting from 1, when running a script triggered by the OnPanelSwitch script trigger, and the object name assigned to the tab panel or slide panel. Returns 0 if the panel is invalid or if Get(TriggerTargetPanel) is not used with the OnPanelSwitch script trigger. You can use the GetValue function to extract the value you want to use from the index value returned by Get(TriggerTargetPanel). Examples When the tab panel or slide panel to be switched to is number 2, named “Products,” Get(TriggerTargetPanel) returns: 2 Products FILEMAKER PRO FUNCTIONS REFERENCE 197 Get functions Get(UserCount) Purpose Returns the number of clients currently accessing the file. Format Get(UserCount) Parameters None Data type returned number Originated in FileMaker Pro 6.0 or earlier Description Returns: • 1 if FileMaker network sharing is turned off • 1 + the number of clients if FileMaker network sharing is turned on This function does not count clients accessing the database file via ODBC or JDBC. Notes • If you specify the context for the current calculation, this function will be evaluated based on that context; otherwise, it will be evaluated based on the context of the current window. Examples Returns 5 when there are 4 clients accessing the database file. FILEMAKER PRO FUNCTIONS REFERENCE 198 Get functions Get(UserName) Purpose Returns the name of the FileMaker user, as specified in the General tab of the Preferences dialog box. Format Get(UserName) Parameters None Data type returned text Originated in FileMaker Pro 6.0 or earlier Description The returned name is user-specified. Important For greater security, use the Get(AccountName) function to track and manage user access: a user cannot change the account name used to log in to a database file. In FileMaker WebDirect, this function returns: • [WebDirect- ], where is the last five digits of the current persistent ID. See the Get(PersistentID) function. • [Guest] when the user logged in with the Guest account. In server-side scripts, this function returns: • the schedule name, if the script is run by a FileMaker Server schedule •