It's possible to include records and windows and files in your Back Button if you want. Right now we're just tracking layouts, which is really the most important thing to track with a Back Button. In general, I don't track records, windows and fields if I create a Back Feature for a client. But I want to demonstrate it anyhow so you can see how it is done. Now, why don't I do this? Well, the basic reason is most people need to track records, windows and files but there's some issues as well. For instance, let's say you have a found set and that found set changes and then you try to go back to that record. Well, you can't go to it if the found set is changed because we can track the record number and it'll change. It might not even be in the found set but even if it's in the found set, it's a record number which is relative to its order inside that found set. Even if you sort it, it messes that up. And another issues happens is what if a window is closed. Well, it's not there anymore. How do we go to it? So I generally don't do those things. Layouts are always going to be there so I like that a lot. So let's go take a look at the scripts we've already programmed. We'll go into Manage Scripts and we'll come down here to our Navigation Section and you'll see Back Store. We'll start with that. And I put these little red arrows next to each one of the script steps that we've added but they're really easy. They're essentially duplicates of the dollar sign dollar sign Back and the dollar sign dollar sign Forward. As you can see, it's just dollar sign dollar sign Forward Record Initialized, Forward Window Initialized and Forward File Initialized. Very simple. Same thing is true here. If you come in here, all you do is change this to Back Record and then change this to Back Record right here and this to Back Record. That's all we change. If you understood it before, you'll understand this. Same thing here with Back Window. We just change this to Back Window and this to Back Window. So all we're doing is we're duplicating this original script step. And same with Back File because we're storing, all we're doing is trying to store these things and they're stored the same way, just in different variables. Now I'm going kind of quick because you should pause the tutorial if you want to copy these things down and implement it in your own solution. So we'll close that and we'll go to our Back Navigate. Now, you can see again we have all these red arrows next to the lines or script steps we've added. And if we look at these ones right here, they're all duplicates of the original. All we did was duplicate the script step, change it to Forward Record and change this to Forward Record and that to Forward Record. That's how simple it was. Same thing here. Forward Window, change that to Forward Window and that to Forward Window. Now, of course, I'm skipping a part. I should point this out. We're also putting in Get Window Name here and in here we're putting Get Record Number rather than what we did on this one was Get Layout Number and of course on dollar sign dollar sign Forward File, we're changing everything to Forward File and putting in Get File Name here. So there are, there are a couple of differences here. I shouldn't say it's just that. Now we're going to skip this part for right now, this if statement and we're going to come down here to our Set Variables down here, which are essentially duplicates of this one. So we'll take a look at them; Back Record and all we had to change was Back Record and Back Record. Nothing else. We're just going in and removing the values. Back Window, same thing. Change this to Back Window, Back Window. All we did was duplicate this original one and change those things. Here's Back File. Back File and Back File. Very simple to do. Let's get on to some of the stuff that's actually fairly brand-new here and this is the Sys Statement here. But before we talk about this, I want to say there's a very important order of operations here. You've got to go for Windows and Files first, then Layouts and then Records. It won't work any other way. You can't go to a record if you're not on the right layout and you can't go to a layout if you're not in the right window or file. So the idea here is let's skip this right now. Let's go to here. All we're doing here is saying Go to Record Based on Calculation. It's the same idea as this. We're just using Record here and we're saying get the value from dollar sign dollar sign Back Record, the first value and then again down here we lop it off once we've gone to it. Up here it's a little more complicated for the Windows and the Files. First thing we do is we check to see is that window there and you can do that with Window Names. It gives you a return-separated list of all the window names that are available, that are open right now and then it, we're adding on a return on each side so we can have every value surrounded by a return. That's so we can uniquely look for what we want with this pattern count. Because what we're looking for is the first value in the dollar sign dollar sign Back Window. We surround that with returns to make sure we find just that window name. Simple as that. If we find out that that window's open, we're going to select it. Otherwise we're going to open the file. Simple as that and the Open URL is how we open that file and we make an assumption here when we're doing this that all of your files in a, you know, multi-file solution are stored in one directory and so if we get the file path of the current file right here, we can change that slightly so that we can look for the other files that has been stored in that dollar sign dollar sign Back File. So we say substitute this with three options here. The first one is get the file name, which does not include the .FP7, so we add that on. Then we say replace that with dollar sign dollar sign Back File the first value basically. So if we find this, Get File Name up in here, then we replace it with the first value from there essentially putting in the new file name that we're trying to go to. And we have to do this again because substitute is case sensitive. Who knows whether you typed your FP7 in lowercase or uppercase and so we do it again. Then the final thing is to change all the file colon slashes to file colon/ slash. That's just what Open URL needs. So it's actually fairly simple what we're doing here. And that's all there is to it as far as the Back Navigate. Now, I'm going to start going through these and actually removing these or disabling them because I really don't want these to run. I don't really like to track all this stuff. I just want to make sure you have it in there. So you can do it if you want to. So we'll save that, go back to Back Store and we'll disable those as well. And then we have one last thing to do, Forward Navigate and all I did was I copied from my Back Navigate to my Forward Navigate all these steps so they're exactly the same except that we going to be Back Record and Forward Record down here so I had to change them and go through all of them. Simple as that. Make sure you change the if statement and the Open URL and the Select Window and the Go to Record. All those have to be changed so that it's basically reversing what we did and it's as simple as that. That's the whole script. So we're going to disable these also because I don't really want them working in my version. If you like them, that's fine by me. But I particularly don't like this, all the hassles that go along with it and so I'm not going to worry about those. So if you want to try them out, you're going to have enable them with FileMaker Advanced. So there you go. All we have, really have left are bells and whistles on this feature. It's pretty much done.
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.