Creating a Resolution Independent Microsoft Access Application
Very few novice Microsoft Access developers give any consideration to creating an application that will look and function well at a screen resolution other than the one with which they are working. Often, it is the case that only once an application has been deployed and it is viewed at different resolutions does it become apparent that this has been overlooked. The typical complaint from users is that the application's forms are either too big and they have to continually use the scroll bars or the form is tiny and all the controls are at the top left of the screen.
Unfortunately there is no built in function that automatically adjusts your Microsoft Access application's forms to fit well at any screen resolution. It is therefore best to make a decision early in the design process as to how you will tackle this issue.
There are a number of options available if you want your application to look reasonable and function well across a wide range of display settings. The easiest option is to design your forms at a baseline screen resolution. The majority of Access developers recommend that you should at least design you forms at a screen resolution of 800 X 600 as the majority of users would not have the display settings any lower than this. If you choose this option then most users will be able to use your application without having to scroll too much and the application will therefore flow much more easily as a result.
One faux pas that is often made by novice developers is to consider using an API call to alter the user's screen resolution when their application is started. This is considered very poor practice and should be avoided at all costs.
If designing your forms at a baseline screen resolution is not adequate for you then you will have to look at scaling your forms using either a third party tool or by rolling up your sleeves and writing your own code to accomplish this. There are a number of tools available (including my own) for you to consider:
• Form Resizer For Microsoft Access.
(If you find this utility useful please consider making a small donation of $5 or $10)
• The Access Developer's Handbook scaling/resizing utility.
• Peter De Baets' Shrinker-Stretcher.
Form Resizer for Microsoft Access
The Form Resizer is a freeware VBA code module that you can install and compile into your own Access application. I originally wrote the module, but over the years various developers have sent in their additions and suggestions to further improve and refine it. However, this does require basic VBA coding skills and is recommended for scaling up to a higher resolution rather than down. If you're keen and have a good level of VBA knowledge, you can view the code yourself to see exactly how it works and even edit the code to better suit your specific application. Please note that TAB controls and Option groups can be problematic due to the way that Access tries to keep their child controls within them whilst resizing. For more information read the FAQs supplied with the help files.
The Access Developer's Handbook
The Access Developer's Handbook is often mentioned in the Microsoft Access newsgroups and comes highly recommended by many developers. A compiled MDE version of their utility can be downloaded from http://www.developershandbook.com/downloads.htm. However, if you wish to use this in your application then you will have to remember to distribute this MDE file as well. The download also includes a valuable PDF file providing guidance on using the utility along with a detailed explanation of the processes and calculations necessary to rescale your forms. If you opt to purchase the book then a source code version is provided which can be incorporated into your own application, making distribution easier. The source code is copyright protected so please remember to read the book's introduction carefully for more information before distributing it with your application.
Peter De Baets' Shrinker-Stretcher is a shareware utility, which will perform a wide range of scaling functions if you require more scaling flexibility than the Form Resizer or the Access Developer's Handbook utility provide. If you don't feel up to programming these yourself then this utility comes highly recommended. A demonstration version is available from http://www.peterssoftware.com along with a range of other Microsoft Access utilities that you may find useful. If you opt to use the Shrinker-Stretcher then you will have to purchase a license for each installation of your application or any other application that uses it. For further information please read the license.txt file which is included with the shareware download.
If you tackle this issue early on then your end product will be easier to use for a wider audience and will function well on the different hardware platforms that it will no doubt meet throughout its life. If you now find yourself having to edit your application as you overlooked this issue at the start then don't worry too much as the time spent now will help you design better and greatly improved applications in the future.
(This article is provided "AS IS" with no warranties or guarantees.) Please feel free send your comments and suggestions for improving this article for future readers.