1 Reply Latest reply on Apr 26, 2014 5:41 AM by Mike_Mitchell

    Missing Field on Update


      Hi All,


      I hope that someone might be able to shed some light on something that I am struggling with, and hopefully explain what I might be doing wrong.


      The end problem that I am having is that after updating a DB, I end up with "TableName::<MissingField>" errors within calculations, Scripts and also missing fields on layouts. The Missing field will alway relate to a newly add field the to DB.


      Background info; I provide a CRM style DB to multiple Companies, which have their own instances of a database, this is built as a data seperation model. I have a developement copy of the DB where I complete updates and fixes. When I roll out these updates, I look to change just the UI file of the seperation model.


      I find that the problem occurs when I add new fields to the Data file. I replicate this new field to the individual Data files for each company. But, when I update the UI for each company, I'll find that the UI will not be able to see the field in the companies data file, and therefore I get a MissingField error as above. This can be fixed by re-pointing any place that this field is referenced within the UI for each company, but each time I update the UI and add new fields, this would start to mean a lot of work.


      I have already been through one complete update, replacing the Data file, but I do not want to have to do this each time I add a new field to the Data file.


      Is there anything that I am doing wrong, or can do to fx this problem?




        • 1. Re: Missing Field on Update

          Pad -


          FileMaker does not use object names (field name, name of layout, etc.) to track objects in its various schema. Instead, it uses a unique, internally-generated ID. (There are some who argue that it should parse out the name, but that's a discussion for a different day.)


          What you're seeing is an effect of that operation. By copying / pasting the new field into the data files, you're, in essence, assigning it a new unique ID in those files. The data file doesn't find the original ID to which it was pointed when it was created; hence, you get "<Missing Field>".


          There are a few ways to handle this:


          1) Perform your updates on a single copy of the solution, then duplicate that copy over for each client. (This would be a normal versioning process, and would likely involve a data migration.)


          2) Create the new field independently in each copy, hence preserving the unique ID releationship between data and interface file.


          3) Do what you're doing now - repoint the interface file to the new field.


          Which option you select will largely depend on how complex the change is, how many copies you have, and how many instances of the field exist in the interface file.