On Wed, 8 Mar 2017 09:19:35 +0000, Pat Bensky wrote: > Hi Chip, > The problem with that scenario is that it would preclude the use of 4D > features such as the report editor, 4DWrite, label editor, etc. - all > things that our customers use. Or we would have to roll out our own, which > I'm not inclined to do :) true! and that could be a lot of work - depending on what/how you did it. > Also I've realised that there is another fundamental problem with the idea > of allowing customers to create new fields: when we issue a program update, > those custom fields - and their data - will be lost! So I think we are > stuck with our current situation of having lots of spare tables with lots > of fields. The only real issue with this is that it bloats the database. > But that isn't such a concern these days - everybody has big storage > capacity. if you used a 2 table approach with the definitions and data in object field - updates would not matter! The data, and the definitions remain the same.
IF you need to update either you could "apply to selection" (though I do not know how that would work on an object - so think conceptually rather then literally) to add/remove/change the object properties > Pat > > On 8 March 2017 at 05:14, Chip Scheide <[email protected]> wrote: > >> Pat, >> how about : >> 1 table - each record contains an object field which holds a table >> definition, which the user can define. >> 1 more table - each record has an object field which holds the data for >> the table defined above >> >> >>> I'm revisiting the idea of creating a flexible table structure with v16. >>> Currently we have lots of user data tables defined, and they are >>> activated/deactivated as required by each customer. This works OK but it >>> adds a lot of overhead to the database, as it means we have more than 50 >>> tables, each with over 500 fields of various types. It would be much >> better >>> to be able to define tables on the fly. >>> >>> The first obstacle is triggers. We can create a new table using the SQL >>> CREATE TABLE command, but I can't see a way to programmatically add a >>> trigger to it. Triggers can be enabled or disabled via the ALTER TABLE >>> command, but how can a trigger be created? Is there ANY way to create a >>> trigger? >>> >>> Thanks! >>> Pat >> ------------ >> Hell is other people >> Jean-Paul Sartre >> > > > > -- > ************************************************* > CatBase - The Database Publishing Solution > tel: +44 (0) 207 118 7889 > w: http://www.catbase.com > skype: pat.bensky > ************************************************* --------------- Gas is for washing parts Alcohol is for drinkin' Nitromethane is for racing ********************************************************************** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:[email protected] **********************************************************************

