On 2008 Nov 16, at 19:53, jef chippewa wrote:
hi hi hi. (FMpro 8.5, mac)
in a recent overhaul, a single database (with only one table) was
split by the user into three separate files instead of into tables
within the original file. the structure is fine, but i need to
compile these files into 3 tables in a single DB.
i did a trial run on copies of the originals and know i will need
to clean up scripts, calc_fields and field definitions in specific
layouts, but i just want to see if there is anything particularly
problematic to look out for when i do the consolidation on the
originals; i have never done this and so am a little antsy about it!
also, isn't there a way to import the table/fields AND the data
they contain in one go? or do i really need to export from the
original file and import into the (new) target table?
You can make your life either easier or harder, depending on the
order in which you do things. Here are a few random comments, with no
pretense of thoroness:
(1) Always start with value lists. Unlike virtually everything else
in FMP, these do not permit easy importing from one file to another.
It's tedious to copy all the values from the current file and paste
them into the value list for the new (target) file, but that's what
you should do. Make sure the value-list names are spelled
identically. In particular, be careful of hidden spaces at the end of
the title. If you have a value list in an old file that derives its
values from a field which is unique to that old file, create a dummy
(placeholder) version of it in the new file; you can go back and
reassign it after you've imported that table from the old file.
(2) Create in your new (target) file a layout with a name identical
to every layout you have in the old (source) files. You don't have to
associate the layout with the proper table name (yet), and you don't
have to have any fields on it (yet), but you'll be glad that
something with that name exists when you get around to importing
scripts that refer to layout names.
(3) Make sure your target file has all the proper external file
references set up. If there's a file reference in one of the source
files, it should have a counterpart (with identical name) in the
target file.
(4) Examine the definitions of all the calculation fields in your
source files. Note any which rely on table occurrences that don't
exist in the new (target) file. Create dummy TOs in the new file
which have the same name, regardless of what they're pointing at.
(5) Import the (empty) tables from the external files.
(6) Define all the necessary relationships, including reassigning to
the proper table any of the dummy table occurrences you created back
up in Step 4.
(7) Import the data.
(8) Import the scripts. Pull in pretty much everything. If your
source file has Script A that refers to Script B, and you pull in the
former but not the latter, you'll have an error in Script A that
you'll have to fix. Now it may well be that, in the new file, you
want Script A to call a different script instead of Script B, but
it's easier to do that if you know what Script A was originally
pointing at.
(9) Go thru all the layouts you created back in Step 2 and reassign
them to the appropriate tables.
(10) Copy and paste all the layouts from the old files into the new one.