Jump to content
Claris Engage 2025 - March 25-26 Austin Texas ×

This topic is 7508 days old. Please don't post here. Open a new topic instead.

Recommended Posts

Posted

I have run into a problem over the last couple of days.

I am building a solution and I needed to delete a field I found obsolete. I opened up Define Database. select the field and hit delete... then the defined database dialog just konks out. So I went back to Define database and see the field still there but now when I try to delete it, FMP 7 says that the data definitions are being edited by someone else (ie me!)

Now here is the weird part... After this happens, my scripts will not execute. I start a script and it just hangs on the first step -- I have to cancel the script to exit it. (FMP doesnt crash and the DB appears OK in all other ways)

Although the database hadn't ever been corrupted or recovered (ie hinting to some underlying unfixed problems), I went back to a earlier backup of the database and started there thinking there maybe some sort of corruption not showing. In the older version, I tested out the delete -- worked fine... Spent a couple of hours, copying an pasting calculations yada yada. Then tried the Delete field again and Boom -- it happened again (konked out define database dialog and scripts not working) --Even though I had not quit or had FMP crash between the point it was working and the point that it was not working.

This occurs in FMP7 FMD7 (OS X) and FMP 7 Windows.

can anyone shed some light on this situation -- Is this a bug in FMP or a corruption in my database that is lurking until I have a certain number of fields or B)??

Scott Morrison

Posted

Important piece of info! -it was a new FM7 DB -- based on a fm6 solution but my pet project for learning the ins and outs of 7

Posted

Confirmed BUG

This seems to have to do with a nested Case statement that in a setfield that refers to the field being set.

I have a script with a set field step that basically sets a status flag on a record:

Set Field [CurrentAllocation:B)_Status;

Case (ParamByName("Status") = "Toggle"; // if it says to toggle,

case(CurrentAllocation::_Status = "Closed"; "Current"; "Closed"); // toggle btwn close & current

ParamByName("Status") //otherwise, set to parameter

)

nb ParamByName is a custom function

When The script step reads as above, I cannot delete a field in the define Database Dialog. (I have consistently observe this.) Upon deleting, the define Database dialog dies and then Filemaker will not run any more scripts (in ANY database) until it is restarted.

If I use an if statement with the equivalent logic -- I can delete fields with no problem.

If I use a case statement where the test does not involve the field being set, there is no problem. It is only when the second case statement tests the field that is being set does it prevent me from deleting fields.

This topic is 7508 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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

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