Dynamic/reusable forms (7 Viewers)

I have read Imb’s posts promoting this “world” for years with very little value as an answer to any OP question. Perhaps this forum is more appropriate.

Hi DHookom,

Thank you for this compliment. I think I was in the wrong forum.
Almost all questions were about problems that did not exist in my systematics any more. And all my answers were more a disturbance of the standard Access way.
On the other hand, while it was an open forum, no one ever said: "Oh, interesting, continu". But understandable.

I would be more interested in the data and table structures behind the functionality. I expect every one of us have stored some design/logic in tables of our projects. This allows users to customize interface and functionality without paying more contract hours.
Do you mean the metadata-tables? Or the data-tables?

Show me the beef (ERD).
I have no. The program flow is not different from the program flow in standard Acces, which is problably different for each application.
- Retrieve data from a field to fill a control
- After filling check for conditions as in the BeforeUpdate event
- If OK, store the value in the field in the right way
The only difference is that all this information is "loaded" in the form on opening, and not defined as static events.

The functionality of this is stored in a linked library. This functionality is parametrized for the diffrent Items/Entities.


Imb.
 
I've been building Access applications since version 2.1 in the 90's. I'm pretty sure I've logged more than a hundred by now.
Hi Pat,

Well, I think I have to nuanciate my question a little bit.
100 as an abolute number is just a matter of time.
But manage 100 applications at the same time including new wishes and ever growing functionality is a little bit different.
Things like postal code are truly generic as long as the field doesn't need to handle codes for different countries. If the control needs to handle multiple countries, you need to include code for ALL countries in the world but that's because the rules for validating postal code are specific for each country. They are not different for each application or for each company that needs the application. Other fields aren't so common as I pointed out and may have some common validation but could otherwise be different per application or per client.
Many, many controls can contain country-specific information.
Think of SSN's, Banking Account numbers (IBAN), telephone systematics, coins collections, and more. To check for validity you must know the systematics. For IBAN numbers you must know how to calculate the 3rd and 4th character as some kind of checksum.

Here in my homeland we have a system that postal code + housenumber is unique.
A Street can cover multiple postal codes (long streets), or a postal code can cover multiple streets (short streets).
This means (in my database) that I have 652647 Postal codes in 243288 unique street names in 456 cities.
In an Adress-table you only need to fill the postal code and housenumber and Straat and City are automatically filled.
The systematics in Belgium are different. You specify the Postal code then you choose one of the cities/villages that use this code.

For postal codes I have a separate application, using the same "form"-systematic.
In this Postcode-database I store the knowledge that I have on postcodes in country-specific tables.
When I need to retrieve a postcode, I need to supply the country, else the default country is used.
With this information the right tables are selected, and the retrieved data returned. Depending on the country it is City and Street (the controls are not editable by the user, in BE a "generalized form" to select the town, in GE just the town, etc.
The other way around, if you know (part of) the cityname and/or (part of) the streetname you get a Selection form to pick of of the postal codes that fullfill the search criteria.

In the definition of the RealWorld controls I can define which controls have the meaning of the contributing controls: Country, City, Street, Housenumber, Postalcode, to make it independant of fieldnames.

So are you keeping code in the tables? Show us a table. Show us the code behind a control.

It is just the code that you use to retrieve data form a table/query using the appropriate fieldnames.
Only the way to show the results is far easier thanks thanks to dynamical forms that can be defined at any moment.


Imb.
 
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.
 
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.
 
I am kind of confused. Why can't you just post a sample database? You have made quite a lot of posts now expounding the virtues of this ethereal product. But lets see something. In theory everything you are discussing is technically easy, but the labor to put this together and the thought process to make it all useable and clean is the hard part. I am with Pat, I too am getting bored with the "blah blah blah dynamic forms, blah blah." Or as we say here: "Put up or..."
Are you trying to sell this as an "add-in" and that is why you cannot demo anything? If so I am more bored.
 
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.
 
For that reason I develop in A2007.
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.
 
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.
 
For my feeling you stepped across the border of respectfull communication, especially as a Super Moderator.
You are entitled to your opinion but you are bloviating and boasting rather than educating. All you have told us so far is that you have created some magical universal system that can do anything. Nothing at all concrete. And you poo poo anything anyone else says about how they standardize and reuse as being irrelevant and inferior. Several of us are waiting for you to tell us what the price of the product you are selling will be. You are giving us a pie in the sky sales pitch. The concept is interesting. We are simply awaiting details. We are 38 posts in to this and so far, we have no details. No simple sample to review.
So I like to know what exactly your use of the cascaded comboboxes is, and why you think the comboboxes are the preferred tool.
Cascading combos are used to progressively filter data. Country, State, City is a common use. When you select a Country, the State combo shows only states in that country. When you select a State, the City list shows only the cities in that State. But any case where you have hierarchical data works. Treeviews are more visual but once ActiveX controls didn't get upgraded to 64 bit, I got rid of all of them. Apparently, there is a version made with VBA that is available so I may go to back to that method. The way you worded your explanation, you seemed proud to have found a way to avoid them which implies that you understood what they were used for. You didn't mention a Treeview so you tell us how you do it without making an exceedingly long single list that contains the "outline" you are using. But if you are not even using a combo, I can't wait to find out how you show the user a list. Please, educate us. How, exactly, do you show the user a list of options if you don't use a combo or listbox?

A table that contains all the postcodes of the world would be quite large and probably not free to use. Someone needs to do the work of maintaining the list and deserves to be paid for it. Whether you use a post code table you made yourself or one you bought is irrelevant to the topic.
 

Users who are viewing this thread

Back
Top Bottom