New to this forum, triggered by a thread, but alas I cannot find that thread. So I will sketch my situation.
Since long I work on generalization of code to make programs more powerful and robust. Code must be as structured as normalized data.
This has resulted in automation of many of the processes that play a role in data-handling, condensed in general routines.
For instance, the looping through recordsets. In my case I use a function "Active_set" that includes all what is necessary to run the loop, including all necessary error handling. And, because it is a loop, includes a number of progress-meters to monitor the proces, if you want that.
Another example is the complete automatic generation of an "Overview form", a continuous form for any table/recordset: no Datasheets anymore!
Another goal was that a Control should behave always the same, independant on which form or how it is used. This is, among others, prominent with controls that are filled by hand or by code, but need an Afterupdate treatment. Alas, there is no Afterupdate event after automatic filling the control.
In fact, "independant on which form" means that the form is not a substantial part of data-processing, but just a carrier of controls.
But how works Access? You define Fields with a certain datatype. These fields are used to define controls on a form, but only with the technical description of the control (type, maximum length, ...), not with the conditions of Realworld-controls, including their variability and boundary conditions. All that kind of information is hidden all over the database in Beforeupdate and Afterupdate events, in the BackEnd for Referential Integrity, etc. It makes the form static.
You can revert this process. You can define a Control, a RealWorld control, that completely describes the dynamic behaviour of that control.
That can be collected in a metadata FE table. One of the fields in this metadata table is where the value is technically stored in what type.
The controltype of these RealWorld controls may be different form the fieldtype of the corresponding field. Think of BankAccountNumbers, SSN, or worldwide Telephonenumers for validity-check. Incomplete historical dates that can be sorted. A contiguous numeric list that must stay contiguous.
But also the FK-control: this is the start of a complete dynamic walk through your application.
As I said, the form is just a carrier of controls, but can join controls together, both technically and (cosmetic) optical.
But that also means that you can tune such a form at will, depending of what you want to see. They are completely tunable to make a Singlerecord form, a Selection form with all possible selection to construct a Where-clause, or define any ordening. Dynamic Calenders, Timetables, Colour selection, Internet grabbing, ...
The tuning of such a form is by standard routines in general modules.
On this moment this is not a dream any more. I realised some 100+ applications, from easy to very complex, all with the same form for continuous records, and one for all other displays. Maintenance of all these application is no problem at all, since the definition of the RealWorld control is in FE tables, and all code in (accessable) general modules.
Now finally my question. I am looking for developpers that work in the same area, to share ideas, and to improve the whole process, or articles that cover the same approach.
Imb.
Since long I work on generalization of code to make programs more powerful and robust. Code must be as structured as normalized data.
This has resulted in automation of many of the processes that play a role in data-handling, condensed in general routines.
For instance, the looping through recordsets. In my case I use a function "Active_set" that includes all what is necessary to run the loop, including all necessary error handling. And, because it is a loop, includes a number of progress-meters to monitor the proces, if you want that.
Another example is the complete automatic generation of an "Overview form", a continuous form for any table/recordset: no Datasheets anymore!
Another goal was that a Control should behave always the same, independant on which form or how it is used. This is, among others, prominent with controls that are filled by hand or by code, but need an Afterupdate treatment. Alas, there is no Afterupdate event after automatic filling the control.
In fact, "independant on which form" means that the form is not a substantial part of data-processing, but just a carrier of controls.
But how works Access? You define Fields with a certain datatype. These fields are used to define controls on a form, but only with the technical description of the control (type, maximum length, ...), not with the conditions of Realworld-controls, including their variability and boundary conditions. All that kind of information is hidden all over the database in Beforeupdate and Afterupdate events, in the BackEnd for Referential Integrity, etc. It makes the form static.
You can revert this process. You can define a Control, a RealWorld control, that completely describes the dynamic behaviour of that control.
That can be collected in a metadata FE table. One of the fields in this metadata table is where the value is technically stored in what type.
The controltype of these RealWorld controls may be different form the fieldtype of the corresponding field. Think of BankAccountNumbers, SSN, or worldwide Telephonenumers for validity-check. Incomplete historical dates that can be sorted. A contiguous numeric list that must stay contiguous.
But also the FK-control: this is the start of a complete dynamic walk through your application.
As I said, the form is just a carrier of controls, but can join controls together, both technically and (cosmetic) optical.
But that also means that you can tune such a form at will, depending of what you want to see. They are completely tunable to make a Singlerecord form, a Selection form with all possible selection to construct a Where-clause, or define any ordening. Dynamic Calenders, Timetables, Colour selection, Internet grabbing, ...
The tuning of such a form is by standard routines in general modules.
On this moment this is not a dream any more. I realised some 100+ applications, from easy to very complex, all with the same form for continuous records, and one for all other displays. Maintenance of all these application is no problem at all, since the definition of the RealWorld control is in FE tables, and all code in (accessable) general modules.
Now finally my question. I am looking for developpers that work in the same area, to share ideas, and to improve the whole process, or articles that cover the same approach.
Imb.