jwcolby54
Member
- Local time
- Today, 12:51
- Joined
- May 19, 2025
- Messages
- 222
Ages ago I wrote a little tool - C2DbProperties - to allow me to modify database properties.
C2DbProperties
The objective was the ability to open any "remote" non password protected database from my C2DbProperties tool, and set and reset the database properties most often troublesome to developers, properties that the user could "misuse". Things like Break Into Code, Allow Bypass Key, and ShowDBWindow. I wanted to be able to "tighten up security" on (usually) FEs being pushed to the user, but also to my libraries. Keep prying eyes out.
Anyway, I learned a ton about database properties in the process. Advanced programmers such as yourselves might know this but these properties are actually created the first time they are set. In order to do this I had to write code to find the properties, if they didn't exist then create them, then set the properties to the value I wanted - usually a boolean true or false.
I did all this 25 years ago or so, and I am doing a presentation on this tool next week, so I am going back into my code to relearn how I did this stuff. C2DbProperties has a ton of code specific to manipulating properties.
One of the things I remember is that many things have property collections to which we can add our own properties. The database itself has this but IIRC also forms, and maybe other things such as tables and queries. Which makes it possible to set up properties which are "hidden" from the user but visible to us programmers. As an example I can embed a version number property, and programmatically modify the name of the database displayed at the top of the screen to append the version number to the database name. Stuff like that.
If anyone has studied this stuff, please do pipe up in this thread. A discussion might be useful to us. I found it fascinating back then and I find it fascinating now.
Please... if you find my code in C2DbProperties not particularly professional ... cut me some slack, I was young and foolish back then.
Now I am old and foolish.
C2DbProperties
The objective was the ability to open any "remote" non password protected database from my C2DbProperties tool, and set and reset the database properties most often troublesome to developers, properties that the user could "misuse". Things like Break Into Code, Allow Bypass Key, and ShowDBWindow. I wanted to be able to "tighten up security" on (usually) FEs being pushed to the user, but also to my libraries. Keep prying eyes out.
Anyway, I learned a ton about database properties in the process. Advanced programmers such as yourselves might know this but these properties are actually created the first time they are set. In order to do this I had to write code to find the properties, if they didn't exist then create them, then set the properties to the value I wanted - usually a boolean true or false.
I did all this 25 years ago or so, and I am doing a presentation on this tool next week, so I am going back into my code to relearn how I did this stuff. C2DbProperties has a ton of code specific to manipulating properties.
One of the things I remember is that many things have property collections to which we can add our own properties. The database itself has this but IIRC also forms, and maybe other things such as tables and queries. Which makes it possible to set up properties which are "hidden" from the user but visible to us programmers. As an example I can embed a version number property, and programmatically modify the name of the database displayed at the top of the screen to append the version number to the database name. Stuff like that.
If anyone has studied this stuff, please do pipe up in this thread. A discussion might be useful to us. I found it fascinating back then and I find it fascinating now.
Please... if you find my code in C2DbProperties not particularly professional ... cut me some slack, I was young and foolish back then.

Now I am old and foolish.

Last edited: