Jump to content
View in the app

A better way to browse. Learn more.

FMForums.com

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Hello

I had been working along the last years with FM, I started with FM 4 and recently I updated it to FM 5(everything works well) and after it to version 5.5 and I saw a serious Bug that would damage all the calculated data on my database. It's something like this:

If(Field<>"X", 0, 1)

When this field still empty on version 5.5 the result of this calculation still empty and it's wrong because it would receive a "0". With version 4 an 5 it works.

My database is very big, with 31 files and about 2000 fields and most of then are calculated and I can't modify each calculated field. Is there a way to solve it???

HELP ME PLEASE>

Thanks

Make the calc "unstored". Check to see if you display is set to not show zero. Make sure that the "do not evaluate if all referenced fields are empty" option is checked.

There are likely some other things as well, but I cannot think of them at the moment. The above were the obvious possibilities.

This is not a "bug" that I have ever seen, but seems like simple user error. I have upgraded to 5 without ever seeing this issue, I have also used 5.5 without seeing this.

  • Author

But how can you explain me why it works on versions 4 and 5 and isn't works at version 5.5

quote:

Originally posted by Pedro:

But how can you explain me why it works on versions 4 and 5 and isn't works at version 5.5

Well since I cannot say that I have ever seen this problem, I cannot say why it might be happening. Can you send me the file in question?

quote:

Originally posted by Pedro:

... If(Field<>"X", 0, 1)


Just guess -- what is the Calc result type? Character or Numeric? Maybe the 5.5 require more strict field types.

You example as above MUST be Numeric.

In any case, I think it is better to test for Empty().

Just my 2 cents.

quote:

If(Field<>"X", 0, 1)

I have a similar problem.

If(Field_1 = 1; 1;If(Field_2 = 1; 21; 0))

On version 5, with "Do not evaluate if all referenced fields are empty" checked, if Field_1 = empty and Field_2 is not empty, i have a result.

On version 5.5, the result is empty. I have to uncheck "Do not evaluate..." to have the same result as in version 5.

Some FSA member say me that is was a known problem, but not a bug. Just a correction. Now, the result is the right evaluation of the meaning of the expression "Do not evaluate if all referenced fields are empty".

But it will be a problem if you have create a big development on pre-5.5 version and you will upgrade to 5.5. frown.gif" border="0

  • Author

Thank you everybody, i think the the solution is to do what Jean-Marie said

An other suggestion, convert the "If" statements to "Case" statements.

Case (test1; result1

I too prefer the case statement in most areas.

the default result at the end of an IF statement being 0 (zero) is no longer empty. A result of "" would be empty. Zero could be evaluated for certain conditions. I haven't thought through whether it would make a difference in calc result of text vs. numeric.

Feel free to correct if I missed something

Create an account or sign in to comment

Important Information

By using this site, you agree to our Terms of Use.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.