ZyanTopaz Posted May 16, 2010 Posted May 16, 2010 (edited) Filemaker seems to be stuck in a recursive loop, for when I saved a formula, accessing a previous repetition of a repeating field, I was never allowed to access the file again. I get a never ending spinning circle. This also occurs when opening the file. Is there anyway to bypass computations of formulas and open a FileMaker file without it going through the process? Apple-period has no effect. That used to work in earlier versions of FileMaker. Because I cannot access the code, I cannot duplicate it here. I use FM Pro version 7. Edited May 16, 2010 by Guest
Lee Smith Posted May 17, 2010 Posted May 17, 2010 Hi Zyan, if I'm understanding you correctly, try creating a [color:black]new file and create a relationship from it to your existing file. This will open your original file in the background. You should be able then to click on it and open without running your opening script. HTH Lee
ZyanTopaz Posted May 17, 2010 Author Posted May 17, 2010 Hi Lee, Thank you for your reply. Actually, I am not creating a new file. As you suggested, if that was the case, it'd be an easy solution. Yes, you are correct in that this is a relational database, relating information between each other via lookups and relational methods. Unfortunately, the variables in question are completely isolated from the other files. I am using repeating fields, all contained in the same file and table, and added a calculation that accesses an index prior to the field that holds the calculation. The fields were used in if statements, so I assumed that they would not recursive. (There were no error messages). I also assumed that it would not access an index of 0, for for the index of 1 there was a different comparison called. I assumed... but perhaps I was wrong, hence the spinning circle? Either way, that is not the issue at hand, either. My issue is trying to stop the file from entering the infinite looping the moment the file opens and begins executing the calculations. I don't want it to execute the calculations. Is there a way of opening a FileMaker file without it computing the calculations? That is the question, really. If there is, it would save me many hours of programming. Many Thanks
Lee Smith Posted May 17, 2010 Posted May 17, 2010 (edited) Let me start by saying I do not have v7 installed, and I didn't really use v7 much when it was released because my clients were not ready to upgrade. By the time they were, v8 had been released, so I upgraded to it. The reason I tell you this, is I can not remember where things are located in v7 menu's so you may have to find them yourself. I'm assuming you don't have the Developer Edition of FileMaker, If you did, there might be another way to do this. The Developer Edition was renamed Advance Edition for v8 and later. Also, I'm not sure I'm understanding what is going on, and what is the cause. So, this may or may not work. I hope I can explained what in my first post better, we'll see. TRY: With no files opened, create a new blank file. DO NOT OPEN the old file, just create a new Relationship from this new file to your broken one. The file should now appear as a hidden file. Hidden files once were listed last under the Window Menu Item. Now, they appear in pop out at the top of the Window Menu. I can't remember if there was another change with them in v7 or not. Locate YOUR OLD FILE NAME in the Hidden File Widow, and select it. This should open the file at the same time bypass any start up script. Once your OLD FILE is open, turn on Allow User Abort so that you can. HTH Lee [color:red]p.s. We will discuss your use of Repeating Files after we save your file (if possible). Edited May 17, 2010 by Guest p.s.
ZyanTopaz Posted May 17, 2010 Author Posted May 17, 2010 Kind thanks for your offer, but post the file I cannot. It is highly confidential.
comment Posted May 17, 2010 Posted May 17, 2010 (edited) Well, it's a long shot anyway. I don't have much experience with this (thankfully), but I think Filemaker stops after a while when it gets into a loop. If it doesn't, the file may be damaged - have you tried recovering and opening the recovered copy? ADD: You might want to do this in the latest version (even a trial), as recovery has got progressively better over time. Edited May 17, 2010 by Guest
ZyanTopaz Posted May 17, 2010 Author Posted May 17, 2010 Hi Lee, It looks like I wasn't specific enough. The variable is not computed in a script. It is computed in a calculation. It is the calculation that is causing the problems, not any scripts. Therefore, bypassing any start-up scripts will not solve the issue at hand since the problem does not arise from a startup script but from a calculation variable. Also, on opening a file, computations for a field are computed prior to any scripts. Giving myself the benefit of the doubt, I tried your method but without avail. As soon as the file was opened via the hidden file menu, the spinning circle started up again. Next I will try importing all the tables and such, and see if the relationships are still intact. Now if I could only delete all the records so the not computations are made... but external event triggers are not executed. Many thanks
Lee Smith Posted May 18, 2010 Posted May 18, 2010 Darn it. I was hoping it was a script. I think v7 had a problem with indexing, have you tried opening this up on a different machine using a new version? Before you do anything drastic, make two copies of the file. One as an archive using zip, and the other a copy unstuffed. Put both of these on a different drive (DVD, Flash, Firewire, etc). If you haven't already tried it, I would try the Recovery to see what happens. It probably won't, but it is worth the try. If you don't know how to do this, let us know. HTH Lee
ZyanTopaz Posted May 19, 2010 Author Posted May 19, 2010 The results are that nothing can override FM and there is no way of stopping the recursion. In the end, I had to retrace my steps and develop the file as before. Fortunately it didn't take so long the second time. Then I came upon the same problem again. Here is the culprit: If ( $$_index = 1 ; $$_invoice_start ; $$_due[$$_index - 1] ) A simple formula, but as soon as $$_invoice_start is given a value, the recursion begins. Keep in mind that $$_due is derived from the previous repetition of the repetition field doing the calculation, and that the result of the calculation does not define earlier repetitions. It's something that would make perfectly sense in a spreadsheet. Oh, $$_index is simply the repetition number doing the calculation. I put it in a variable. Hmm, I think here is where the error lies. It must be that FM calculates all repetitions simultaneously, and not in series, one repetition after the other, like I presumed. The Latter would make far more sense, but the former would imply that it's waiting for the others to complete the computation, while the others are waiting for it to do the same. Not recursion, in essence. But computational overlap most definitely.
comment Posted May 19, 2010 Posted May 19, 2010 This is quite confusing, because you are using the term "variable" when you mean "field" (there are no variables in version 7, but later versions do have them). I would also suggest you rename your fields, because the $ character is reserved in later versions. I don't see where exactly the recursion is in what you are doing, but as I said, I don't really follow your description. In any case, recursion (i.e. referring to the result of previous repetition) IS possible with a repeating field (IIRC, even in version 7).
ZyanTopaz Posted May 22, 2010 Author Posted May 22, 2010 Please pardon for the confusion. I do use the term 'field' and 'variable' interchangeably. Haven't even noticed, to tell the truth. But that just reflects that I consider them as the same package - a facility of storing data. This issue has now been resolved. I discovered that the recursion would occur if one of the fields referring to a previous repetition of itself was not indexed. I have now fixed the issue. Thank you kindly for your help.
Recommended Posts
This topic is 5298 days old. Please don't post here. Open a new topic instead.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now