Sign in to follow this  
Followers 0
davehoran

Invalid relationship when deleting records in converted databases

2 posts in this topic

I am working with a FileMaker application that was built and maintained in FMP4, and am trying to migrate into FMP11.  The files were converted first to .fp5, then imported into FMP11 and coverted to .fp7.  Overall the fields, layouts, scripts and security accounts survived the process with only some adjustments.

 

However, there is a problem with deleting records through a portal.  Our main DB layout contains a portal to another table in another .fp7 file.  The Relationships chart shows the relationship, and has the "Allow creation of records in this table via this relationship" and "Delete related records in this table when a record is deleted in the other table" checkboxes set for the portal source table.  New records can be added through the portal with no problem, but when trying to delete I get "This operation cannot be performed because one or more of the relationships between these tables are invalid."

 

Some particulars: The delete button is a container field from another table/file (not the portal source file).  The Relationship is keyed on an ID field, but that field is not shown in the portal; the Delete Portal Row script is preceded by a Go to Field[select/Perform] that references a name value field on the portal row.  The portal source table has Relationships that also set the "Allow creation of records in this table via this relationship" and "Delete related records in this table when a record is deleted in the other table" checkboxes - so deleting the portal row should also delete rows in that relationship (cascade).  Deletion doesn't even work when clicking the "Delete Record" button directly on the DB file. (I've seen on numerous occasions that this particular dialog is unhelpful and I agree - its no more helpful than the Check Engine light in your car).

 

I will also note that this delete functionality DID work in the conversion from .fp3 to .fp5: I can open these .fp5 files in FMP5 and the app works fine.

 

Any thoughts?

Share this post


Link to post
Share on other sites

Update:  I did find the culprit that was breaking the delete script.  There is a self-join that uses a key value of the table combined with the key value of another table.  I believe that when deleting this calculated field does not resolve and breaks the relationship.  I removed the relationship and the process worked fine.

 

I AM curious as to why this relationship worked in FM5: The delete process does complete with the relationship in place.  What changed in how self-joins work in FM11 versus FM5?

Share this post


Link to post
Share on other sites

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
Sign in to follow this  
Followers 0

  • Similar Content

    • By Guy_Smith
      I am trying to set up a database to calculate and report exhaust emissions from diesel engines and am stumped at Step #1:  The infamous Entity Relationship Diagram!
      I am looking at a few thousand engines and need to calculate how much of what kind of pollutants they kick out into the air.  I have spreadsheets that list the Year of Manufacture, the horsepower, the serial number, how long the engine ran during a given year and how much fuel it consumed during that year.  I also have some spreadsheets that list what the Emission Factors, usually expressed in pounds per hour operated or pounds per gallon of fuel consumed, for each of the two dozen chemical compounds I’m interested in tracking.
      Those emissions are relatively simple to calculate:  Multiply the Emission Factor times the number of hours operated (or times the gallons of fuel consumed) and we’re done.  Except for the fact that the Emission Factors are based on the Year of Manufacture and, in some cases, the horsepower rating of the engine, so I have to circle back around to the Engine table:  I don’t know how to connect the emission factor for, say, Arsenic to a specific engine, say a 154 hp Chevy made in 2014,  based on that engine’s year of manufacture and hp rating.
      So my ERD keeps looking something like this:  Engines --->Emission Factors--->Engines   or   Engines ---<  Emissions >---Emission Factors--->Engines
      My computer keeps puking ones and zeroes all over my keyboard when I try either setup in my Relationship Graph!
      The only other way I can think of accomplishing these seemingly simple calculations is to write a boatload of scripts with variables, but I’m not even sure I could come up with all of the combinations/permutations involved.  And, unfortunately, I can’ even spell SQL, let alone know how to execute one of ‘em!
      I have attached a (simplified) copy of the spreadsheets I currently use to better explain my problem.  I hope one of you will find this to be mind-numbingly simple and explain how it should be done.  Thanks very much for your time and consideration.
      Sincerely,
      Guy
      Engine Emissions Calc Sheet MOD for FMF.xlsx
    • By Gently Does It
      I am working in a biology lab and have developed several basic databases using filemaker 11 to help the lab organise their stocks of chemicals and so on. We have a fairly onerous excel sheet that we have to fill out for registering certain new reagents we make with the regulatory authorities and as these are a pain to use, they are not filled out regularly enough. I would like to simplify this for everyone by making a filemaker form/database that will automatically fill out as much detail as possible.


       
      The data in question is that when we clone a piece of DNA we need to insert this into several different DNA vectors that are used for different things. Whenever this one particular piece of DNA is inserted into a new vector it must be registered, so for one piece of DNA there may be , lets say 6 individual entries in the database, all saying more or less similar things, but just having different target vectors. I hope this isn’t already sounding to weird.


       
      I have a plan that I will have a ‘home screen’ with a field for entering the name of the DNA and then some tick boxes for each of the common target vectors. What I would like is that all my colleagues will need to do is tick the boxes for the vectors they want to clone the DNA into and filemaker will then automatically populate a new entry for each of the vectors specifically for the new DNA they have cloned. As I have some basic experience, but am admittedly very limited in my scripting knowledge, I am unsure as to how best to do this. Would it be best to have a button next to each of the vectors instead of a tick box that would run a script that would take the name of the DNA in the field and then make a new entry based on the associated vector? If so can anyone suggest how this would be best organised. I am guessing I only need a single table with two layouts, one for the home screen and one for viewing all the entries.


       
      I’m sorry if this seems a bit convoluted.


       
       

      Thanks for any help.

    • By ggt667
      Is there a way in AppleScript to trap if the connection is lost and have an AppleScript act on this?
      At the risk of asking and answering myself( AppleScript below )
      repeat tell application "FileMaker Pro" try database "db" on error do shell script "sudo shutdown -r now" with administrator privileges end try end tell delay 59 -- 59 secs end repeat  
    • By James WHL
      Hi,
      A client of mine has an Windows 2008 Server which runs an SQL Server.
      Because he doesn't have another machine and (Due To some reason, my client do not wish to mess with current SQL database structure),
      so I will like to ins tall FM 11 runtime onto the same machine,
       
      The runtime solution is to schedule login to SQL server to perform importing / filtering  and exporting data report.
       
      My question is :...
      Has someone ever done this and can it be done?
      Possible for FM to login onto same machine to access SQL DB ? Thanks!
       
    • By Rikki
      Hi guys,
      Sorry I do not know the terminology of what I need.
      I am trying to setup a database to record some info on postcodes. What I need to do is, each supplier can have 4 types of lead (back data, profile, survey, 2nd use). I have two tables for suppliers and postcodes already. I also have 2 join tables for many to many relationships. I need each field in the postcodes database to be able to store a count for each supplier's lead type.
      Eg:
      Supplier    - Lead Type - Postcode - Count
      Supplier A - Back Data - AB            - 20
                                           - BB            - 155
                                           - CB            - 30
       
                           Profile     - AB             - 55
                                          - BB             - 27
      My problem is with the way I have set the relationships up currently. When I add a count for a postcode it adds that count for all suppliers. I need the postcode count to be specific to each supplier and lead type.
      Can anyone tell me what I need to do to get this working correctly? I have attached a screenshot of my relationships.
      Thanks