I'd looking for a way users could expand the functionality of my app by creating their own .dll routines and be able to call that routine whenever a change is made to a particular field.



I have a "database definition" form that lists all of the tables & fields with field types, descriptions, etc. Currently this screen allows users to add new custom fields and also change the captions for the fields which then changes the caption in all other forms, reports, etc. in the app.

I'd like to add a column to this form where for any field, they can type the name of an external .dll routine that would process on any data change in that field (perhaps it validates the data against some external list, or runs a calculation and updates another field, or whatever). The point is every customer would have different requirements and possibilities, but they'd have total control of how far they take it without needing any changes to the core Access application.

I've seen other applications able to provide this feature, so now I'm just looking for help to replicate it in Access. My guess is I'd have the BeforeUpdate event for every control (probably via class modules?) looking to see if any external function was listed in my definition table, and then run a command to execute that external code. Problem is I'm not sure how to do that, no less if I'm even barking up the right tree.

Any help would be appreciated. Thanks!