13 Replies Latest reply on Nov 28, 2012 8:57 AM by AlexL.

    Adding multiple fields to an existing layout

    EthanAllured

      Title

      Adding multiple fields to an existing layout

      Post

      Is there any way to add fields in groups/more than one-at-a-time to an existing layout?

      Not new fields as they are created, and not to a new layout. The layout in question is already called in multiple places in different scripts and even if I create a new layout and name it the same, it still loses the reference and I have to go through and reset everything. Thanks.

        • 1. Re: Adding multiple fields to an existing layout
          philmodjunk

          I think you need to explain in greater detail what you want to do and why.

          To add one or many fields to an existing layout, simply define the new fields in Manage | Database | Fields, return to the layout and use the field tool to add them to the layout.

          You can also both define/add new fields to a table view layout directly if you have filemaker 11.

          But I'm not sure that either of these is what you really want here...

          • 2. Re: Adding multiple fields to an existing layout
            EthanAllured

            I am remaking an existing database. A lot is changing, but a fair amount is staying the same. In my new database, I am importing some fields and scripts from the old one. To keep the references in order, I have made some shell layouts with the same names as the old databse, putting in the few things I know I need initially and filling in what I forgot about later (if I just add everything from the old DB right away, I will make more work cleaning it all out at the end). I would just remake the layout, adding I have figured out I need, but that means combing through all the scripts and fixing broken references.

            It is not insurmountable to add the fields individually, it's only ~15 and on a non-user layout.

            If this is still not clear, I simply want to add existing fields to an existing layout all at once. You know, using the shift key like any other program I've encountered...

            • 3. Re: Adding multiple fields to an existing layout
              philmodjunk

              You can copy and paste layout objects--including fields from one layout to another or even from one file to another. You can either shift click or draw a selection box around a set of fields to select them ( in layut mode ) and then you can switch files/layouts and paste them. To keep the field references intact the table occurrence name specified in Layout setup... (Show records from box) and the field names must be identical to the layout from which they are copied. Sometimes you can temprarily rename such things in the source file and then copy/paste them to the target layout to keep references intact.

              • 4. Re: Adding multiple fields to an existing layout
                LaRetta_1

                Hi Ethan,

                The answer is no - FM does not allow selecting several fields 'after the fact' to add onto an existing layout and they SHOULD.  I have considered posting it in suggested Enhancements but forget or don't have the time and I would encourage you to post that suggestion.

                Also, placing one field at a time does NOT line them up properly like it does in Form view when first creating a layout.  What I do is create a new layout, group-select those fields I want (and I arrange them in the order in the selection box) and then place them on the layout.  This puts them in proper alignment in one whack.

                I then circle-select the group, copy them, delete the layout and return to my original layout and paste them.  Overall, it is quicker than the one-by-one method particularly when you also want to align them.

                • 5. Re: Adding multiple fields to an existing layout
                  AdamRauscher

                  There is a work around. LaRetta is right that there should be a simple way to do this from the menu, but until there is, try:

                  • Go to Layout View
                  • From the Layout Menu, creat new layout
                  • Create the new layout using records from the table which has the fields you need.
                  • Once that new layout is there, you can copy from that layout and paste into another.

                  A little bit time wasting, but less so than adding each field individually. Just make sure to delete the extra layout later.

                  • 6. Re: Adding multiple fields to an existing layout
                    AlexL.

                         I can't help but notice that 2 years later this is -still- not a feature. I have a table with over 1500 fields. Do none of your developers have any idea how painstakingly slow it is to add these one at a time? At a combined cost to our company of almost 2000 dollars so far (and it will be increasing as we finally get the rest of our staff running non-demo versions of FM12Pro) you'd think ease of use would be a priority. Ctrl-click or click/shift-click to select multiple fields in the "Specify Field" window would be incredibly appreciated, especially considering you can do this when making a new layout. The ability to specify -how- to space/align fields in layout mode would also make things a lot easier. The ability to specify how many pixels/cm/inches/whatever to space distribution of fields would prevent all my fields from overlapping one another all the time. What is the point of the "Space" buttons if they don't actually -space them out-?

                         Sheesh...

                          

                         Edit: I've tried Adam's idea, however it doesn't add all of my fields, it seems to give up around 1200 or so. Fantastic job!

                    • 7. Re: Adding multiple fields to an existing layout
                      macmanjc

                           Alex,

                           I was in a similar situation a couple of years ago when a client asked me to spin a database used to track survey results. There were a lot of questions on the survey, but in the background there were a bunch of calculation fields that converted the data into trackable formats. Anyway, I was looking at having to duplicate the table and change hundreds of fields as well as creating hundreds more, including going into the calculations that were related to those fields and pointing them at new fields! And in the end I had to end up with a layout that was similar to the original form with all of the new fields in place.

                           Of course there STILL isn't an easy way to do this in FileMaker! I can't just duplicate the table and make changes to the fields and then mass add the new fields to the layout. The "easiest" method is to do what others have suggested and create a separate layout and copy and paste.

                           The answer I came up with was to use MyFMButler's Clip Manager software. You can read all about it on their site, but basically you copy something in FileMaker to the ClipBoard (be it a field definition, a script step, an entire script, even components in a layout!) and then go into Clip Manager and "Capture" it. It sucks in the XML code in the ClipBoard, and then you can edit the code within Clip Manager or move it out to your favorite text editor.

                           If you have a rigorious method of naming your objects then you can quickly spin them and repurpose them. So, for instance, I could copy a field named "section01_answer01" and take it into Clip Manager. From there copy and paste the XML code (which is realatively simple to parse) several times, changing the "01" at the end of "answer" to "02" then "03" and so on. Once I have XML code going from 01 to 09 I can copy and paste that entire block into another text document and do a Find and Replace, changing the "0" to a "1". Viola! Now I suddenly have a block of fields that go from "01" to "19". Do it again, and within seconds I can go from 20 to 29 and so on. When I have the fields I need I just copy them and go to the Manage Database window and paste them into the table. BANG! Hundreds of fields in one shot!

                           Even better, once I have the fields defined then I slap "section01_answer01" on the layout and format it the way that I want it. Select it and copy then go into Clip Manager and capture it and output to a text editor. Now I can use the combination of copy and paste and Find & Replace to convert that into layout elements for all of those fields that I created earlier. What would take DAYS to do by hand will only take a couple of hours.

                           I won't lie: the XML for the layouts is more complex than the other XML, but believe me - you will get good at parsing it in no time flat. Compared to the alternative, there is no comparison!

                           I hope this helps.

                      • 8. Re: Adding multiple fields to an existing layout
                        RickWhitelaw

                             Alex,

                                  Table with 1500 fields? Wow! I would examine your design. If I find a table getting above 25 or so fields I look at opportunities to normalize. This saves processing power and storage requirements. I can't imagine what you describe.

                        • 9. Re: Adding multiple fields to an existing layout
                          AlexL.

                               John,

                               Thanks for the tip, I'm downloading their demo now. I'm not all that versed in XML, but I'm willing to give anything a shot if it saves me hours of time!

                                

                               Rick,

                               25 fields wouldn't even cover the number of unique signatures I'd need from a client in their first week just to acknowledge they're taking their medications, let alone their medical information over and above that. Whole lotta information collected in this DB.

                          • 10. Re: Adding multiple fields to an existing layout
                            philmodjunk

                                 25 fields wouldn't even cover the number of unique signatures I'd need from a client in their first week just to acknowledge they're taking their medications, let alone their medical information over and above that.

                                 Sounds like you are using indivdual fileds where you need a set of related records. Each such "signature" would be one field, but in a different record of a related table. This is what Rick meant by "looking for ways to normalize".

                            • 11. Re: Adding multiple fields to an existing layout
                              AlexL.

                                   As I see it, that would not save me any time. I'd still have to create the fields for that additional table, and then go on to make relationships between one table and the next. I wouldn't see any reduction in file size (in fact, it may be larger as a result of having additional table information), which isn't a concern anyways, the machine running FMServer has well over 2TB of free space. I may see some performance gains, but seeing as all this data must be available at a glance anyways (using FM:Go for iPad at that), it'll still be calling for the data regardless. I could very easily be wrong in this thinking, but this seems like the additional steps won't actually make for a better solution.

                              • 12. Re: Adding multiple fields to an existing layout
                                RickWhitelaw

                                     My point is what happens as your demands grow? Do you create new fields every time you get a bunch of new signatures? Apparently you do. This makes you a permanent admin changing the design as you go. Wrong! Use related fields and your design needn't change as demands grow. Read up on relational database theory.

                                • 13. Re: Adding multiple fields to an existing layout
                                  AlexL.

                                       I don't need to create new fields, there can only be so many signatures per client, as the program they're in is very structured -they don't stay on with us forever after all. All that will be created from here on, until we require new features and additional data fields for those purposes, is more records. A whole lot more records.