logo
search
Others

How to Make an Access Subform Resize When the Main Form is Maximized

Adam DavisAdam Davis Sep 28, 2026 868 views

Question details

The user needs a way to make an embedded subform display more rows or resize dynamically when the main parent form is maximized in Microsoft Access.

How to Make an Access Subform Resize When the Main Form is Maximized
Product
Microsoft Access
Device & OS
not provided
Scenario
Maximizing a main Access form on the screen in order to view more data records simultaneously in its subforms.
Observed behavior
The parent form maximizes successfully, but the subform retains its original dimensions. Setting the 'Can Grow' property and attempting to maximize the subform itself do not increase its visible size on screen.
Before you start

Before modifying your Access database layout or writing VBA code, ensure you have created a backup copy of your file. Note that the 'Can Grow' property only applies to printed pages or print previews, not the active on-screen display.

Solution 1Recommended

Use VBA Code to Resize the Subform Control Dynamically

Since Access does not natively scale controls on screen, you must add VBA code to the main form's Resize event to manually adjust the dimensions of the subform control.

By binding specific Width and Height adjustments to the main form's On Resize event, the subform will automatically scale to fill the available space whenever the user maximizes or changes the parent window size.

1
Open the Main Form in Design View

Right-click your main form in the Navigation Pane and select 'Design View'.

2
Access the Form's Property Sheet

Click the small square in the top-left corner of the form design grid to select the entire form, then press F4 to open the Property Sheet.

3
Open the VBA Editor

Navigate to the 'Event' tab in the Property Sheet, locate the 'On Resize' property, click the ellipsis (...) button, and select 'Code Builder'.

4
Add Resizing Code

Write VBA code to set the subform control's Width and Height relative to the InsideWidth and InsideHeight properties of the main form. Ensure you account for margins and other controls.

5
Save and Test

Save the VBA module, return to Access, switch to Form View, and maximize the window to verify that the subform expands correctly.

Use VBA Code to Resize the Subform Control Dynamically
Free Microsoft Office alternative

Looking for a Free, Lightweight Alternative to Microsoft Office?

While WPS Office does not include a direct equivalent to Microsoft Access for database management, it provides a highly compatible, completely free alternative for handling your everyday document, spreadsheet, and presentation tasks seamlessly.

  1. 1. Download the Installer: Visit the official WPS Office website and download the free installer for your operating system.
  2. 2. Install WPS Office: Run the setup file and follow the simple on-screen instructions to install the suite on your device.
  3. 3. Start Creating: Open WPS Office and instantly start editing your existing Microsoft Word, Excel, and PowerPoint files without formatting issues.
Highly compatible with Microsoft Excel (.xlsx), Word (.docx), and PowerPoint (.pptx) formats.Familiar and intuitive user interface ensuring a seamless migration from MS Office.Lightweight design that runs smoothly on almost any desktop or mobile device.All-in-one suite integrating Writer, Presentation, Spreadsheet, and PDF tools in a single app.
microsoft office alternative - wps office

Frequently Asked Questions

Why does the 'Can Grow' property not work for my Access form?

The 'Can Grow' and 'Can Shrink' properties in Microsoft Access are designed specifically for printed reports and Print Preview modes. They do not affect how forms are displayed or dynamically resized on your computer screen.

What does DoCmd.Maximize actually do in Access?

The DoCmd.Maximize macro action maximizes the active window within the Access application frame. When called on a main form, it expands the parent form's window, but it does not automatically stretch or scale the controls (such as subforms) housed inside it.

How can I view more rows in an Access subform without using VBA?

The easiest non-VBA alternatives are organizing multiple subforms within a Tab Control to dedicate more screen space to each, or adding a button that opens the subform data as an entirely separate, independent form filtered by the current main record.