I agree with Victor about ADDTs transaction/trigger method. It is fantastically flexible, and not difficult to update, or modify.
Their use of the word 'trigger' is confusing and innaccurate though. They really are just functions that you can specify to run in a particular sequence, either before, or after the transaction (insert, update or delete query).
One really handy thing, is that if the trigger (function) returns any value, other than NULL or true, it is considered an error, and the transaction rolls back, and you can pass that error on to the page, and it is displayed, informing the user why the transaction failed.
In my opinion though, the biggest strength, is the ability to create (and easily modify) master lists that are filterable and sortable, and can be linked to multiple (insert, update or delete) forms.
A single wizard builds the update/insert/delete page, complete with all validation (both client side, and server side), letting you choose the fields from your specified database table.
Its really nice having a multiple insert/update page that is fully validated.
A list page, once created can be turned into a detail list (related to a master list with a foreign key).
This makes it easy to manage multiple tables in a master/detail relationship, related with foreign keys.
If a new version if data assist is in the works, it would be nice to have some features like these included.
Ray, I have worked some with data assist over the past couple years, but have worked with ADDT very heavily for many years, and am very familiar with it. If you are interested, PM me, and I would be very happy to chat with you about some of its capabilities. It would be great.
Looking forward to a more robust Data Assist!