![]() | |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
I am an experienced programmer, but I am relatively inexperienced in using VBA. *I *am working on a project developed by others who no longer work here, so I have to figure things out on my own. *The people on this newsgroup have been very helpful and I thank you. Here is my scenario: I was reading some code and it contained a 'DoCmd.TransferDatabase", an SQL 'INSERT INTO' *and a 'DoCmd.RunSQL'. Together they seemed to create a new table, linked to a table in another database on our server, and loaded with data from the server database table. However when I examined the server database I did not see the table that was being used. *I thought that perhaps I was not reading the code correctly. So I set some breakpoints and started using the VBA debugging facilities. This was my first time using the debugger and I found it to meet all my needs quite well. *Anyway I confirmed to my satisfaction that I was reading the code correctly. *In the course of learning to use the debugger I printed out a help page on 'Object Properties" and down at the bottom of the pageit mentioned hidden objects and how to make them visible. This was serendipity. I followed the instructions and sure enough the table became visible and I could examine it to obtain the information I needed to understand the code more fully. Now this table does not contain highly sensitive information. *It simply contains a list of Switchboard like options to be displayed on a form, from which the user can select. *I think different users have different authorizations and this controls which options they are presented with. Of course there is no written documentation on the application and one of my tasks is to create documentation. When the table I was looking for appeared I felt both relieved and a little pissed off. *I do see any real reason why this table should be hidden in this particular way. *My question is this: Is it common to hide tables like this, and if so what do you consider legitimate reasons for doing so. |
#3
| |||
| |||
|
|
On Mar 5, 5:25 pm, "Charles Hottel"<chot... (AT) earthlink (DOT) net> wrote: I am an experienced programmer, but I am relatively inexperienced in using VBA. I am working on a project developed by others who no longer work here, so I have to figure things out on my own. The people on this newsgroup have been very helpful and I thank you. Here is my scenario: I was reading some code and it contained a 'DoCmd.TransferDatabase", an SQL 'INSERT INTO' and a 'DoCmd.RunSQL'. Together they seemed to create a new table, linked to a table in another database on our server, and loaded with data from the server database table. However when I examined the server database I did not see the table that was being used. I thought that perhaps I was not reading the code correctly. So I set some breakpoints and started using the VBA debugging facilities. This was my first time using the debugger and I found it to meet all my needs quite well. Anyway I confirmed to my satisfaction that I was reading the code correctly. In the course of learning to use the debugger I printed out a help page on 'Object Properties" and down at the bottom of the page it mentioned hidden objects and how to make them visible. This was serendipity. I followed the instructions and sure enough the table became visible and I could examine it to obtain the information I needed to understand the code more fully. Now this table does not contain highly sensitive information. It simply contains a list of Switchboard like options to be displayed on a form, from which the user can select. I think different users have different authorizations and this controls which options they are presented with. Of course there is no written documentation on the application and one of my tasks is to create documentation. When the table I was looking for appeared I felt both relieved and a little pissed off. I do see any real reason why this table should be hidden in this particular way. My question is this: Is it common to hide tables like this, and if so what do you consider legitimate reasons for doing so. Hi Charles, The most important reason for me to hide objects, is that users “without knowledge” at least have a threshold not to damage the object. Imb. |
#4
| |||
| |||
|
|
I suspect that the designer did not want the users to see what is basically an application table and if changes were made to the table then the application might fail. I've also seen all (or almost all) tables hidden in a delivered application to inhibit the users ability to directly access the tables and thereby "go around" logic built in the entry forms. snip |
#5
| |||
| |||
|
|
"John Spencer" <JSPENCER (AT) Hilltop (DOT) umbc> wrote in message news:il0rma$qf1$1 (AT) news (DOT) eternal-september.org... I suspect that the designer did not want the users to see what is basically an application table and if changes were made to the table then the application might fail. I've also seen all (or almost all) tables hidden in a delivered application to inhibit the users ability to directly access the tables and thereby "go around" logic built in the entry forms. snip What makes this a better solution than usinga .mde database? |
#6
| |||
| |||
|
|
Charles Hottel wrote: "John Spencer" <JSPENCER (AT) Hilltop (DOT) umbc> wrote in message news:il0rma$qf1$1 (AT) news (DOT) eternal-september.org... I suspect that the designer did not want the users to see what is basically an application table and if changes were made to the table then the application might fail. I've also seen all (or almost all) tables hidden in a delivered application to inhibit the users ability to directly access the tables and thereby "go around" logic built in the entry forms. snip What makes this a better solution than usinga .mde database? The question really does not seem to follow. Using an mde database would prevent users from modifying the design of the objects in the database, not the data. Hiding the tables is an attempt to protect the data. And as you discovered, hiding the tables is not really an effective way of protecting the data in the tables except from non-knowledgeable users. Security by obscurity only protects data from honest users. Thanks, I don't know what I was thinking when I posted that. |
#7
| |||
| |||
|
|
"Bob Barrows" <reb01501 (AT) NOSPAMyahoo (DOT) com> wrote in message news:il1ug8$o7h$1 (AT) news (DOT) eternal-september.org... Charles Hottel wrote: "John Spencer" <JSPENCER (AT) Hilltop (DOT) umbc> wrote in message news:il0rma$qf1$1 (AT) news (DOT) eternal-september.org... I suspect that the designer did not want the users to see what is basically an application table and if changes were made to the table then the application might fail. I've also seen all (or almost all) tables hidden in a delivered application to inhibit the users ability to directly access the tables and thereby "go around" logic built in the entry forms. snip What makes this a better solution than usinga .mde database? The question really does not seem to follow. Using an mde database would prevent users from modifying the design of the objects in the database, not the data. Hiding the tables is an attempt to protect the data. And as you discovered, hiding the tables is not really an effective way of protecting the data in the tables except from non-knowledgeable users. Security by obscurity only protects data from honest users. Thanks, I don't know what I was thinking when I posted that. |
![]() |
| Thread Tools | |
| Display Modes | |
| |