mf Posted November 21, 2001 Posted November 21, 2001 I have recently purchased Developer 5.5 All our users are using 5.0 (and I did develop the whole application with 5.0) I just discovered a simple problem that only happens in 5.5. The code was written with 5.0 and is still working if I use 5.0 (the problem is in a simple if-condition statement) Was I just lucky all this time or are there know differences in 5.5 that are not downward compatible? At this point I still think that I was the one who made a mistake ("I was just lucky it worked before") but my boss is concerned that their might be other differences that we might not catch right away... and it would mean either dropping 5.5 or upgrading everyone to 5.5 (which is not an option yet). Any thoughts? (My problem: in a calculated text field I use a "If" statement: if the field being tested is empty, e.g. If(zv.field1="","abc", "xyz"), I get inconsistent results. If the field is not empty, it uses "xyz"; if zv.field1 is empty it does not use "abc": it remains empty. In some other data fields I use the exact same condition with no problems. I also tested if instead of a text string ("abc") I assign another data field, it works...) [ November 21, 2001: Message edited by: mf ] [ November 21, 2001: Message edited by: mf ]
LiveOak Posted November 22, 2001 Posted November 22, 2001 FM 5.0 and 5.5 are compatible at the file level. You can host a file on Server 5.0 or 5.5 and access hosted files with FM 5.0 or 5.5 clients. If you have not implemented a bunch of 5.5 features, you shouldn't see much of a difference. Take a look at the Read Me file inside your FM 5.5 folder. The problem you are encountering is due to a different default setting for when a calculation field is evaluated ("do not evaluate if all fields are empty"). Going to Define Fields, selecting the calculated field and changing this setting so that the field is always evaluated should clear up the problem. It isn't so much a bug, as a different default selection. -bd
mf Posted November 22, 2001 Author Posted November 22, 2001 Thanks for the reply, What troubles me is the inconsistency. The if-condition does "behave" correctly (as expected) with some fields but not in others (and it does work fine if I use FM 5.0). I have gone and replaced empty fields with a value wherever possible or changed the test to IsEmpty. But I am not totally confident I am out of the woods yet (it is a pretty significant change and I need to do a lot of testing). I tried your suggestion to change the setting (do not evaluate when empty) in another test database but the results are still wrong. I would really like to push further with 5.5 (ODBC and runtime) but I have to make it work at least as well as it did with 5.0 first... and understand why it is behaving differently.
Steven H. Blackwell Posted November 22, 2001 Posted November 22, 2001 OK, there are a couple of issues here. First, as someone noted, there is a change in FileMaker Pro 5.5 from earlier versions as to default options related to evaluation if fields are empty. Second, the correct syntax in the calculation box in ScriptMaker to check for an empty field is NOT if "field_a" = "" The correct syntax is If IsEmpty (field_a) HTH Old Advance Man
Anatoli Posted November 23, 2001 Posted November 23, 2001 I like that: Old Advance Man Junior Member That is nice! Thank you for the reminder about proper functions.
Steven H. Blackwell Posted November 23, 2001 Posted November 23, 2001 quote: Originally posted by Anatoli: I like that: Old Advance Man Junior Member That is nice! Thank you for the reminder about proper functions. Sure. The logical functions go way back. And the IsEmpty function is there especially for that reason. OAM
Recommended Posts
This topic is 8657 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