Dynamic/reusable forms

At least partly serious. It has been my experience that when theory collides with reality, it isn't always pretty. In a development environment that has finite capacity, headaches seem inevitable. Therefore, I'm questioning how many times you have had to modify your magnum opus?
Hi The_Doc_man,

I like your "partly"
It is good to know the limits. I don't see Access to rule the world, and see it only as a small scale application. Of course you can argue what small scale is.
I am not commercial. I develop applications for all kind of non profit organizations driven by volunteers, that don't have the budget to buy commercial software, or even to pay the annual contributions to Microsoft. For that reason I develop in A2007.

"Magnum opus". You may write it in capitals.
If have modified it as many times as there are days between Access2.0 and today.
These modifications because of headaches, or capacity, but because of improved functionality.
It is the result of many, many steps of generalization, a real evolutionary path.
Capacity is not the problem. If there are specialized functions that need much data, like postal codes, I have a specialized postal code application. The code is almost at its end of generalization, and has practical no limit.
My shared library database, that contains all generalized code, is today 55 Mb. When will I ever reach a limit with it?


Imb.
 
OK, I'm bored. If you care to share anything concrete, maybe someone can ping me. Leaving for now.

Your choice is your choice is a good choice.

What kind of "anything concrete" you had expected?


Imb.
 
Imb, your dedication and innovative approach to building a metadata-driven, dynamic framework is commendable. It’s clear you’ve poured years of thought and effort into refining your system. The scope and ambition of your work, especially in creating reusable and generalized components, reflect a deep commitment to improving efficiency and flexibility in Access development.

That said, both Pat and Richard (The_Doc_Man) have made some excellent points regarding the potential risks of painting yourself into a corner with a highly specialized system. While your approach may indeed eliminate many common Access frustrations, it also creates a steep learning curve for others who might need to maintain or expand upon your work in the future.

To bridge this gap and foster better understanding, may I suggest creating a simplified example of your framework?

For instance:
A small Access database with a single dynamic form that demonstrates how metadata-driven controls work.

Showcase a simple, relatable use case—like a basic address form that adapts to handle different country-specific postal code formats dynamically. This could highlight how your "RealWorld controls" simplify validation and display.

Additionally, if you have a YouTube video or other visual demonstration of your system in action, sharing that could go a long way in illustrating its capabilities and encouraging constructive feedback from other developers.

Your methods clearly have potential, and providing an accessible, working example would help others on this forum appreciate the utility of your innovations. It could even spark further discussions and collaborations to refine and expand upon your ideas.

Kudos also to Pat and Richard for their thoughtful critiques and their wealth of experience, which continue to enrich these discussions. With a bit of simplification and openness to feedback, this conversation could evolve into something truly remarkable for the Access community!

This reply was created by ChatGPT from my notes & observations....
 
Last edited:
Additionally, if you have a YouTube video or other visual demonstration of your system in action, sharing that could go a long way in illustrating its capabilities and encouraging constructive feedback from other developers.
Hi Uncle Gizmo,

I am aware of all the points, and many of them I have not yet straightened out. Try to understand the concept was the first priority.

A visual demonstration would be the best. On hands is geographical undesireable, and I don't know how to make a YouTube video presentation.

But I stay open for questions.


Imb.
 
and I don't know how to make a YouTube video presentation
Install OBS, it's free.
Run it.
Add "display capture".
Click "start recording".
Show what you want to show.
Click "stop recording".
Go to youtube.
Click upload.
Choose the video you just recorded.
By default, the video is in your videos folder.
Done.
 
Install OBS, it's free.
Run it.
Add "display capture".
Click "start recording".
Show what you want to show.
Click "stop recording".
Go to youtube.
Click upload.
Choose the video you just recorded.
By default, the video is in your videos folder.
Done
I do not have any skills in making videos, but that is pretty much what I did here, using OBS.

The only difference what that I also downloaded MS ClipChamp
And it makes editing easy. I did not have a mike on my computer, but could put in some captions.
 
Imb "Do you mean the metadata-tables? Or the data-tables?"
Aren't the data-tables dependent on the application? I would like to see the ERD of the metadata tables as well as some sample data.
 
@Imb : I would also be interested to see in a sample database how you replace two or more cascading combo boxes in the UI with whatever (you said you don't use any). I assume you are not replacing them with listboxes.
 
OK, I'm bored. If you care to share anything concrete, maybe someone can ping me. Leaving for now.
Hi Pat,

Even after two days, the tone of your answer still bothers me.
For my feeling you stepped across the border of respectfull communication, especially as a Super Moderator.

Imb.
 
Install OBS, it's free.
Run it.
Add "display capture".
Click "start recording".
Show what you want to show.
Click "stop recording".
Go to youtube.
Click upload.
Choose the video you just recorded.
By default, the video is in your videos folder.
Done.
Hi Edgar_,

Thank you for your answer. That is a constructive answer in the my struggle to clarify my thoughts about dynamic forms.

Next week I am a little short in time, but after that I start.

Thank you, Imb.
 
I also use generic forms when necessary (if appropriate), but not always.
I usually prefer to simplify form creation with add-ins. I don't see customizing the layout of the controls in a form as a major development effort.
I tend to use generic forms for certain tasks in which the customer (admin user) can design controls (visible as a TextBox control, if required a ComboBox that is activated when the TextBox receives the focus) themselves and also redesign them later without needing a new client version (e.g. attributes of an article depending on the article group, etc.).

One question:
How do you control events in your forms that should be handled when the value in a control is changed?
Do you have different classes that are associated with the generic form and respond to the events triggered by the controls?
=> only 1 form but n classes per displayed form?
 
Why? If the client can run using the Access RunTime engine, there are far better versions of Access to settle on. Or, if you are having the client purchase ONE full copy so they can make design changes if they have to, 2010 and 2016 are far better options than 2007.

I too am anxious to see a form where you provide some kind of list selection without using combos or listboxes. I suppose you could use tiny subforms, but unless you've built your own com control, I don't know how else you could provide a picklist.
Hi Pat,

It is hard to start this answer to you. Without knowing what the opinion or the view on a problem or possibility is, it leads more to controverse than to understanding.
So I like to know what exactly your use of the cascaded comboboxes is, and why you think the comboboxes are the preferred tool.

From my side I will make a description of how I work with selecting a "postcode", where in normal cases cascaded comboboxes would be used. But still it can be that you did not mean that.
I have no video-experience, so I have to do it with some screenshots, and in-between text.

On forehand, I do not use local postcode tables, but tables in a special postcode-database. So in fact all applications that uses postcode share the same tables. You have to take care synchronizing the collective database with postcodes form the different user-applications, but that is already in an advanced state.

The Dutch postcode system is quite complicated. A group of addresses, geografically close together, has it own postcode. This means that postcode together with the housenumber is unique for each address. One street can have more than one postcode (a long street, or the both sides of the street even/odd). The other way, one postcode with more than one streets, is also used, provided the housenumbers are unique.

I start with a form to add a new person/relation. T
 
Excuse me, I was totally locked in this session. Could not do anything in this forum, and had to start over the computer completely.

I will return soon.
 
Something I learned a LONG time ago is "One size DOES NOT fit all."
Preach on brother, preach on. 👏👏👏 This is my biggest workplace issue and how to translate this to management and worst of all I.T.
This is why I like MS Access. It is customizable and not bloated and restrictive like many out of the box solutions which, from what the op described, is what @Imb is trying to achieve. Many times I go into an organization and have to recreate a db from scratch or greatly modify a current template. Why? Because every company's data collection method and workflow is different.
 
Last edited:
It is customizable and not bloated and restrictive like many out of the box solutions which, from what the op described, is what @Imb is trying to achieve.
Hi raziel3,
Like many other in this forum, you missed the crux completely. All you people are only too overhasty in your own conclusions how this system works.
I don't have predefined forms to fit all, that would make things worser than it already is.
I have one dumb form, with only hidden controls. But I have pieces of code, both sharable over all applications and adaptive to the local context, to make millions of different appearances. Because all is done in memory, users can - within broad limits - have influense on the appearance.
It seems that nobody reaches that point, because they are too hastened to listen.

To explain the whole matter - what is important for understanding! - is too lenghty, I have experienced. People become impatient, and draw wrong conclusions, including the needfull humor/sarcasme.

If you have concrete questions, I am glad to answer, until the penny drops.


Imb.
 
It seems that nobody reaches that point, because they are too hastened to listen.
Over 40 posts in this thread!!! ---- You don't appear to be able to convey your message very well.... In your last post you give the impression that it's everybody else's fault!!!!

Don't you think you should look closer to home???
 
Hi Pat,

I start with a form to add a new person/relation. T

I am sorry that the program stuck.
I will continue with an example to get the right Dutch postcode depending of "some" crooked data about street and city.
You see a form to add a new Person/Relatie. This form is - behind the screen - EXACTLY the same as all other forms.
Street and city are greyed, so not user-typed, but retrieved from the postcode database.
Schermopname (80).png

I want to search the postcode that belongs to a certain street in a certain city. Therefore I rightclick the postcode control.
A new form, but again just the same behind the screen, appears:
Schermopname (81).png


Now you can choose a city, and choose from all the streets in a city, like a cascaded listbox. But then you do the work instead of the program.
You can also let the program do the work by supplying (part of) the city name and/or part of the street name. For the lazy users not willing to type much, I will type only three characters. Any possibility you can supply: beginning, contains, ending, some kind of Soundex, etc.
Schermopname (82).png


Pressing "Zoek" results in (about 0.3 seconds) the next form:

Schermopname (84).png

in which form I have already clicked on "5663 GB", because that is the one I was looking for.
Finally clicking on "OK" closes the form and fills the original "new" record:
Schermopname (85).png

The choosen postcode is for numbers 3-37, all odd. If I also had filled in the housenumber (5), then the retrieved set would be much smaller, and is not so interesting for a demo.
If only ONE postcode is retrieved, it is directly inserted in the new record. If no postcde is found, a message is generated that the postcode is missing. In that case the user can select a special "unknown" land to make all controls free editable.
When you fill the housenumber afterwards with a different number than in the range 3-37 odd, that number is not accepted, only the numbers in the correct range.

I hope this gives you a first example of the dynamical forms. I works for all cascaded comboboxes, because it just uses the same definitions as its Rowsources.

Please start now your (structured) questions.


Imb.
 

Users who are viewing this thread

Back
Top Bottom