Ah ha! You didn't say that you also wanted to resize the controls!
You can do what you wish. But it is a very manual process.
When you say "magnification", that could imply that as the controls get larger, you want the lettering within the control to increase in size also. If that's what you want, you're in for a lot of setup and testing.
However, if you just want to resize the controls, for example to allow more lines to display in a subform for a larger screen, it isn't simple but it can be done.
There are many ways to approach it. But one of the keys you will need is:
Code:
Dim ctl As Control
For Each ctl In Me.Controls
' resize the control
ctl.Height = 200
ctl.Width = 400
Next ctl
Of course you will have to figure out how to determine what 200 and 400 should really be.
You might even want to set ctl.Top and ctl.Left.
An easy way to do this is simply pick the controls that will change size and hardcode the settings without looping through all controls.
Another way is to start with designing the form for the smaller resolution screen and multiple by some percentage.
Another way is to build for the smaller resolution then use the Tag property to control the resize for the larger screen. Code something like this:
Code:
Dim ctl As Control
For Each ctl In Me.Controls
' resize the control
if ctl.Tag <> "" then
ctl.Top = split(ctl.Tag,";")(0)
ctl.Left = split(ctl.Tag,";")(1)
ctl.Width = split(ctl.Tag,";")(2)
ctl.Height = split(ctl.tag,";")(3)
end if
Next ctl
Then in the tag value for each control specify: Top;Left;Width;Height
Regardless of how you choose to do it, you will have to manually control the settings for each control within the form. Unfortunately, there is no magic within Access to do this for you.
After you have done the initial sizing for the screen resolution, you can use the For .. Next loop to proportionally resize the controls in the OnResize Event procedure. This is still a very tricky proposition.
BTW, my choice has been to pick controls that are worth resizing, e.g. a subform that displays multiple records. Call me lazy. But I figure I spend enough time building the rest of the application... the users can bloody well invest in hardware that is compatible with the way I build it. Hardware is cheap. My time is invaluable!
Oh, and I know a guy that builds his forms such that he gets the benefits of a larger screen without writing any code to resize. He sets up the form as a continuous form and uses the header and footer for static size fields. The scroll region of the form grows and shrinks automatically. It looks a little funky because of the scroll bar. But it allows him to utilize is time for more than just asthetics.
Good luck.