In FileMaker 9 and earlier, I used to show a technique for highlighting the current record which used a Trailing Grand Summary, a Web Viewer which covered the entire layout and Conditional Formatting. It was fairly complicated so when Script Triggers were added to FileMaker, I decided to revisit this technique. But first, why would you want to highlight a record? And what is highlighting a record? What does that mean? Well, the idea here is you watch when we go from record to record, you get this little black line that follows you around. That indicates this is a record drawing but for some users this is really imperceptible. They don't see that. You can train them but I've worked with a lot of FileMaker users over the time and it's just not that clear. So what we'd like to do is make it so this whole record highlights so it's really obvious which record they're on. It's kind of like when we highlighted the field contents with conditional formatting. You clicked into a field and made that field really stand out so you could really tell rather than just looking for the little dotted lines. So let's start off by creating a Global Field. We'll go into Manage Database, we'll make a field called X highlight. That'll be a Text Field. We'll create that as a Global Storage and you're thinking, we'll can't I use variables here? And you should always think that. Globals and Script Variables work in a lot of the same situations. But in this case you can actually use a variable but it has a refresh issue so you have to throw in a refresh window script step and I think that makes a whole screen redraw. I really don't like that too much so I am actually preferring to choose a Global Field here over a Variable so it's good to know all the ways to look at something to make sure you choose the best choice, the best features to make your solution. So we'll click OK here and then we're going to write our script. So go into Manage Scripts, click New. We'll call it Record Highlight and we're going to do one thing; Set Field. Now, if you're using Set Variable, use a Set Variable here instead and then you'd have to add a refresh window after it. So we'll go to Specify Target Field, which will be xhighlight and then we could use our KP Product ID, which will give a unique number in here which you'll see why we're using that in a second but we need, we'll go to Record 2, set it to the ID from that. So we need something unique to say hey, this is the record we're on no matter which record we're looking at. All the records need, even if we're not the current one, need to know what the current one is. So we need to set that value. So again, I could use KP Product ID but I'm going to use Get Record ID. I just want to show you a different way to approach it. This is a value that FileMaker assigns to each record. It's a hidden value and we can also use that to identify a record. It's kind of nifty. So we'll do that. That's all this script is; very basic. We'll save it, uncheck that, we'll go into Layout Mode. Now remember, we'll have to do this to two layouts. There's the first one, there's the second one; OK. So don't forget to do that to both layouts and you'll do that as homework offline. And you can put this on any of the layouts you want inside of Invoices or Customers if you want. Let's go on to our Layout Setup. I'm going to say On Record Load, there it is right there, each time we visit a record, each time you select a new record, run this new script, which will tell all the other records, because we're putting the value into Global, what the current record is because otherwise there's no way for FileMaker to know what the current record is. There's no function, there's no Get Function that tells you that. So once we have that, now we have to have one more element which is something to highlight based on that. So we're going to come in here and now, when you're using conditional formatting, which we're going to use in a second, you can add conditional formatting to a web viewer, to a field, to a text block or to a button. So I really don't want any of the attributes of a text block or field or a web viewer. A button is, you know, if I don't want to assign an actual button to it, a script to it, it's probably the best choice here. So I'm going to use that one. So we'll come in here and get our Button Tool, draw yourselves a little small button here, tell it to do nothing, no text on it. I'm going to take off the effects and we're also going to tell it to fill with no color here. There we go. We're going to leave for the time being this little outline so we can see where it is. And so what we want to do is place it right inside of here where this white box is so I'm going to make it exactly the same size. So let's go into our Inspector, go to Position and you'll see right here its size is 737 22. So we'll make it that same size. There we go. Now it's exactly the same size. Now we want to put it in the same place. So we'll click on it, find that it's at 18 98, I'll click on that 18 98. There we go and now what we want to do is put our conditional formatting; before we do that we want to make sure that it's behind these fields here and so I'm going to temporarily put a color on here and then say Send Backward, another time, one more time and now it's behind those and before I actually make it so it's not red anymore, let's go ahead, so I don't forget, and let's make all these fields transparent because we want the yellow to show through them. So we'll come in here and choose that choice. Now you can see the red coming through. Now we can make this invisible. We don't really want to see it at all. So come in here, choose No Fill and No Line. Now it's invisible. We'll, now at this point go and do our conditional formatting. Real simple, just add a conditional format to change the fill color to let's say a nice, light yellow and that's going to be when xhighlight equals Get Record ID and that's only going to happen on the current record. Each record's going to check this. Only the current record is going to equal, you know, this'll be the current record. It's going to equal what's in that global field, although all records can check it. So I think we have all the things in place. Let's arrange and lock that and then we'll try it out and see how it works. You can see it's already highlighting and if we go to the next record, you'll see it changes. Doesn't matter how we change the next record, even if it was with a script or something like that as we can do here, that is always running each time we load that record.
TERMS & CONDITIONS OF USE
BY SUBSCRIBING TO THIS SERVICE, YOU ARE CONSENTING TO BE BOUND BY AND ARE BECOMING A PARTY TO THIS AGREEMENT, THE TERMS AND CONDITIONS OF WHICH SHALL PREVAIL IN GOVERNING YOUR RIGHTS OF USE. BY CLICKING THE "BECOME A MEMBER" BUTTON, THE INDIVIDUAL OR ENTITY LICENSING THE PRODUCT ("YOU") IS CONSENTING TO BE BOUND BY AND IS BECOMING A PARTY TO THIS AGREEMENT. IF LICENSEE DOES NOT AGREE TO ALL OF THE TERMS OF THIS AGREEMENT, THE BUTTON INDICATING "BECOME A MEMBER" MUST NOT BE SELECTED, AND LICENSEE MUST NOT INSTALL OR USE THE SOFTWARE.
"VTC" refers to Virtual Training Company,
"You" refers to the user or subscriber.
"Software" refers to the VTC training content and software.
2. LICENSE: VTC hereby grants to You a worldwide, non-royalty bearing, non-exclusive license to use the Software according to the provisions contained herein and subject to payment of the applicable subscription fees.
3. RESTRICTIONS: You may not do any of the following:
Save the Software to Your hard disk or other storage
medium; permit others to use the Software except as specified by addendum;
modify, reverse engineer, decompile, or disassemble the Software; make
derivative works based on the Software; publish or otherwise disseminate
the Software. VTC, Inc., VTC Online University, and the Virtual Training
Company site is owned and operated by VTC, Inc. as a corporation of
All materials on this site are the property of VTC unless otherwise specified. No material from these pages may be copied, reproduced, republished, downloaded, uploaded, posted, transmitted, or distributed in any way. Modification of the materials or use of the materials for any other purpose is a violation of U.S. copyright law and other proprietary rights. For purposes of this Agreement, the use of any such material on any other web site or networked computer environment is prohibited.
4. FEES: The rights granted under this Agreement
are effective only upon payment of the subscription fees, which are
strictly non-refundable other than as expressly provided herein. The
term "monthly subscription" is defined as any 30 day period.
The term "yearly subscription" is defined as one 365 day
period. A yearly subscription ends on the same numerical date as it
began (example July 28, 2004 to July 28, 2005).
The VTC Online University is access to every VTC training tutorial in our library. You pay a flat fee for access to these titles. You are billed according to your renewal selection below, and can renew monthly, yearly, or in any other increment offered. If you choose to be billed monthly, you will be billed every 30 days for the subscription until you request the subscription be cancelled. Our terms of service state that you must cancel a monthly subscription at least two business days before your renewal date. These two days give us enough time to ensure that you will not be charged again.
5. LIMITED WARRANTY: VTC warrants that the Software, if operated as directed, will substantially achieve the functionality described. VTC does not warrant, however, that Your use of the Software will be uninterrupted or that the operation of the Software will be error-free or secure. In addition, the security mechanisms implemented by the Software have inherent limitations, and You must determine that the Software sufficiently meets Your requirements. VTC also warrants that the media containing the Software, if provided by VTC, is free from defects in material from the date You acquired the Software. VTC's sole liability for any breach of this warranty shall be, in VTC's sole discretion: (i) to replace Your defective media or Software; or (ii) to advise You how to achieve substantially the same functionality with the Software as described; or (iii) if the above remedies are impracticable, to refund the subscription fee You paid for the Software. Only if You inform VTC of Your problem with the Software during the applicable subscription period will VTC be obligated to honor this warranty. VTC will use reasonable commercial efforts to repair, replace, advise, or refund pursuant to the foregoing warranty within thirty (30) days of being so notified. If any modifications are made to the Software by You during the warranty period; if the medium is subjected to accident, abuse, or improper use; or if You violate the terms of this Agreement, then this warranty shall immediately terminate. This warranty shall not apply if the Software is used on or in conjunction with hardware or software other than the unmodified version of hardware and software with which the Software was designed to be used as described.
THIS IS A LIMITED WARRANTY, AND IT IS THE ONLY WARRANTY MADE BY VTC OR ITS SUPPLIERS. VTC MAKES NO OTHER WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT OF THIRD PARTIES' RIGHTS. YOU MAY HAVE OTHER STATUTORY RIGHTS. HOWEVER, TO THE FULL EXTENT PERMITTED BY LAW, THE DURATION OF STATUTORILY REQUIRED WARRANTIES, IF ANY, SHALL BE LIMITED TO THE ABOVE LIMITED WARRANTY PERIOD. MOREOVER, IN NO EVENT WILL WARRANTIES PROVIDED BY LAW, IF ANY, APPLY UNLESS THEY ARE REQUIRED TO APPLY BY STATUTE NOTWITHSTANDING THEIR EXCLUSION BY CONTRACT. NO DEALER, AGENT, OR EMPLOYEE OF VTC IS AUTHORIZED TO MAKE ANY MODIFICATIONS, EXTENSIONS, OR ADDITIONS TO THIS LIMITED WARRANTY.
6. PROPRIETARY RIGHTS: VTC reserves all proprietary rights in and to the Software, is protected by copyright and other intellectual property laws and by international treaties. VTC, Inc.
Trademark Notice: VTC, Virtual Training Company,
Inc., The VTC Logo, and VTC Online University, are trademarks of VTC,
Inc. All other company and product names may be trademarks of their
The information contained herein is subject to change without notice. Copyright © 1995 - 2005 VTC, Inc. All rights reserved.
7. TERMINATION: This Agreement shall automatically terminate if You fail to comply with the restrictions described herein. Your obligations to pay outstanding subscription fees shall survive any termination of this Agreement.
8. LIMITATION OF LIABILITY: UNDER NO CIRCUMSTANCES
AND UNDER NO LEGAL THEORY, TORT, CONTRACT, OR OTHERWISE, SHALL VTC
OR ITS SUPPLIERS OR RESELLERS BE LIABLE TO YOU OR ANY OTHER PERSON
FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF
ANY CHARACTER, INCLUDING WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL,
WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
COMMERCIAL DAMAGES OR LOSSES. IN NO EVENT WILL VTC BE LIABLE FOR ANY
DAMAGES IN EXCESS OF THE AMOUNT VTC RECEIVED FROM YOU FOR A LICENSE
TO THE SOFTWARE, EVEN IF VTC SHALL HAVE BEEN INFORMED OF THE POSSIBILITY
DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM VTC'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
9. Links To Other Materials: Linked sites found at the VTC site are not under the control of VTC, and we are not responsible for the content of any linked site or any link contained in a linked site. VTC may change links based solely on our discretion, and we reserve the right to terminate any link or linking program at any time. VTC does not, by linking to sites, endorse companies or products to which it links and reserves the right to note as such on its web pages. If you decide to access any of the third party sites linked to this site, you do this entirely at your own risk.
Forums, and Chat are not always screened by VTC, and we are not responsible for the content of any public or open forum content at the site. VTC may change these public forums based solely on our discretion, and we reserve the right to terminate any forum at any time. VTC does not, by allowing these forums, endorse companies or products which may be mentioned in these forums, and reserves the right to note as such on its web pages. If you decide to access any of the public forums in this site, or linked to this site, you do this entirely at your own risk.
9. GOVERNING LAW & DISPUTE RESOLUTION: This Agreement is governed by Virginia law. All disputes between You and VTC shall be finally resolved through arbitration in Winchester, Virginia. This site is controlled by VTC from its offices within the United States of America. VTC makes no representation that materials in the site are appropriate or available for use in other locations, and access to them from territories where their content is illegal is prohibited. Those who choose to access this site from other locations do so on their own initiative and are responsible for compliance with applicable local laws. You may not use or export the Materials in violation of U.S. export laws and regulations. Any claim relating to the Materials shall be governed by the internal substantive laws of the Commonwealth of Virginia, USA.
VTC may revise these Terms at any time by updating this posting. You should visit this page from time to time to review the then-current Terms because they are binding on you. Certain provisions of these Terms may be superseded by expressly designated legal notices or terms located on particular pages at this Site.
If you have any questions regarding this policy,
or your information specifically,
you may email us at:firstname.lastname@example.org.