Is there a way to size the Access application window in Access 97 in VBA? I want to be able to set it the application window to be the same size as the “main” form that I have open at the beginning (so it would run in the Form_Load event).
![]() |
There are isolated problems with current patches, but they are well-known and documented on this site. |
SIGN IN | Not a member? | REGISTER | PLUS MEMBERSHIP |
-
Sizing Access Window (Access 97)
Home » Forums » AskWoody support » Productivity software by function » MS Access and database help » Sizing Access Window (Access 97)
- This topic has 6 replies, 4 voices, and was last updated 23 years, 3 months ago.
AuthorTopicWSGeorge24
AskWoody LoungerFebruary 6, 2002 at 8:01 pm #366539Viewing 1 reply threadAuthorReplies-
WScharlotte
AskWoody LoungerFebruary 7, 2002 at 3:37 am #568807 -
WSready4data
AskWoody LoungerFebruary 7, 2002 at 10:34 am #568843Here is a routine that opens your forms and centers them on the screen.
Place this in the declarations section of a module
Global g_ScreenWidth As Integer ‘ Screen width for CenterForm sub
Global g_ScreenHeight As Integer ‘ Screen height for CenterForm subHere is the function:
Sub CenterForm(p_Width As Integer, p_Height As Integer)
‘ Arguments are in twips where 1 inch = 1440 twips
‘ If form has title bar, add 240 twips to height argument
‘
‘ Resolution Dimensions Title Bar, Menu Bar, and Tool Bar):
‘
‘ Resolution ScreenWidth ScreenHeight
‘ 640×480 9600 5720
‘ 600×800 12000 7400Dim ScreenWidth As Integer
Dim ScreenHeight As Integer
Dim VertPos As Integer
Dim HorPos As Integer‘ Set ScreenWidth & ScreenHeight according to resolution (see table above)
ScreenWidth = 12000
ScreenHeight = 7400If p_Height > ScreenHeight Then
VertPos = 0
Else
VertPos = (ScreenHeight – p_Height) / 2
End IfIf p_Width > ScreenWidth Then
HorPos = 0
Else
HorPos = (ScreenWidth – p_Width) / 2
End IfDoCmd.MoveSize HorPos, VertPos, p_Width, p_Height
End Sub
Then in the OnOpen Event of the form use
CenterForm 2880, 2880 ‘If your form was 2″ x 2″ -
WSGeorge24
AskWoody LoungerFebruary 7, 2002 at 3:55 pm #568912Thanks Charlotte and ready4data for the replies. However, what I’m looking for and can’t seem to find *anywhere* is how to control the main Access window with code. I manage about 12 databases, some requiring more screen real estate than others and I’d like to set the windows according to the needs of each one, if that’s possible, instead of having to manually resize the window each time one opens up. I believe it has something to do with the hWndAccessApp property or the hWnd property, and then some declarations to some Windows API’s (I’m on NT btw), but even Google came up with only resizing the forms. And my VBA skills are limited pretty much to Access…the fog tends to set in when API calls are required. But I’m willing to work through whatever is required.
Thanks everyone.
-
WSGeorge24
AskWoody LoungerFebruary 7, 2002 at 4:40 pm #568923Well, darn it, I couldn’t leave it alone and I found the answer…with a search on Google on the words “hWndAccessApp” and “resize” . For the record here it is:
‘======================================================
‘start of code in moduleOption Compare Database
Option ExplicitDeclare Sub SetWindowPos Lib “User32” (ByVal hWnd&, _
ByVal hWndInsertAfter&, _
ByVal X&, ByVal Y&, ByVal cX&, _
ByVal cY&, ByVal wFlags&)Global Const HWND_TOP = 0 ‘Moves MS Access window to top of Z-order.
‘Values for wFlags.
Global Const SWP_NOZORDER = &H4 ‘Ignores the hWndInsertAfter.Public Function SizeAccess(cLeft As Long, cTop As Long, cWidth As Long, cHeight As Long) As Boolean
On Error GoTo SizeAccess_Err
Dim h As Long‘Get handle to Microsoft Access.
h = Application.hWndAccessApp‘Position Microsoft Access.
SetWindowPos h, HWND_TOP, cLeft, cTop, cWidth, cHeight, SWP_NOZORDER
SizeAccess = TrueSizeAccess_Exit:
Exit FunctionSizeAccess_Err:
MsgBox Err.Number & “: ” & Err.description
SizeAccess = False
GoTo SizeAccess_ExitEnd Function
‘End of code
‘======================================================The function SizeAccess can be called from any event.
The source of this solution comes from MS itself in its Knowledgebase article :
“ACC: How to Position Microsoft Access on the Screen (95/97) (Q148856)”
The end.
-
WSAndyAinscow
AskWoody LoungerFebruary 8, 2002 at 7:38 am #569077The following might be useful for you.
Declare Function GetDeviceCaps Lib “gdi32” (ByVal hdc As Long, ByVal nIndex As Long) As Long
Declare Function GetDC Lib “user32” (ByVal hwnd As Long) As LongPublic Function GetScreenXResolution() As Long
Const HORZRES = 8 ‘ Horizontal width in pixels
Dim ScreenHDC As Long
ScreenHDC = GetDC(0)GetScreenXResolution = GetDeviceCaps(ScreenHDC, HORZRES)
End FunctionPublic Function GetScreenYResolution() As Long
Const VERTRES = 10 ‘ Vertical width in pixels
Dim ScreenHDC As Long
ScreenHDC = GetDC(0)GetScreenYResolution = GetDeviceCaps(ScreenHDC, VERTRES)
End Function -
WSGeorge24
AskWoody Lounger
-
-
-
-
Viewing 1 reply thread -

Plus Membership
Donations from Plus members keep this site going. You can identify the people who support AskWoody by the Plus badge on their avatars.
AskWoody Plus members not only get access to all of the contents of this site -- including Susan Bradley's frequently updated Patch Watch listing -- they also receive weekly AskWoody Plus Newsletters (formerly Windows Secrets Newsletter) and AskWoody Plus Alerts, emails when there are important breaking developments.
Get Plus!
Welcome to our unique respite from the madness.
It's easy to post questions about Windows 11, Windows 10, Win8.1, Win7, Surface, Office, or browse through our Forums. Post anonymously or register for greater privileges. Keep it civil, please: Decorous Lounge rules strictly enforced. Questions? Contact Customer Support.
Search Newsletters
Search Forums
View the Forum
Search for Topics
Recent Topics
-
Microsoft Bing Video Creator
by
Alex5723
6 minutes ago -
Firefox Red Panda Fun Stuff
by
Lars220
3 hours, 15 minutes ago -
How start headers and page numbers on page 3?
by
Davidhs
6 hours, 47 minutes ago -
Attack on LexisNexis Risk Solutions exposes data on 300k +
by
Nibbled To Death By Ducks
1 hour, 22 minutes ago -
Windows 11 Insider Preview build 26200.5622 released to DEV
by
joep517
15 hours, 28 minutes ago -
Windows 11 Insider Preview build 26120.4230 (24H2) released to BETA
by
joep517
15 hours, 30 minutes ago -
MS Excel 2019 Now Prompts to Back Up With OneDrive
by
lmacri
5 hours, 11 minutes ago -
Firefox 139
by
Charlie
17 hours, 52 minutes ago -
Who knows what?
by
Will Fastie
10 hours, 35 minutes ago -
My top ten underappreciated features in Office
by
Peter Deegan
16 hours, 13 minutes ago -
WAU Manager — It’s your computer, you are in charge!
by
Deanna McElveen
10 hours, 37 minutes ago -
Misbehaving devices
by
Susan Bradley
18 hours, 21 minutes ago -
.NET 8.0 Desktop Runtime (v8.0.16) – Windows x86 Installer
by
WSmeyerbos
1 day, 22 hours ago -
Neowin poll : What do you plan to do on Windows 10 EOS
by
Alex5723
34 minutes ago -
May 31, 2025—KB5062170 (OS Builds 22621.5415 and 22631.5415 Out-of-band
by
Alex5723
1 day, 20 hours ago -
Discover the Best AI Tools for Everything
by
Alex5723
19 hours, 56 minutes ago -
Edge Seems To Be Gaining Weight
by
bbearren
1 day, 11 hours ago -
Rufus is available from the MSFT Store
by
PL1
1 day, 19 hours ago -
Microsoft : Ending USB-C® Port Confusion
by
Alex5723
2 days, 21 hours ago -
KB5061768 update for Intel vPro processor
by
drmark
21 hours, 43 minutes ago -
Outlook 365 classic has exhausted all shared resources
by
drmark
20 hours, 25 minutes ago -
My Simple Word 2010 Macro Is Not Working
by
mbennett555
2 days, 17 hours ago -
Office gets current release
by
Susan Bradley
2 days, 20 hours ago -
FBI: Still Using One of These Old Routers? It’s Vulnerable to Hackers
by
Alex5723
4 days, 10 hours ago -
Windows AI Local Only no NPU required!
by
RetiredGeek
3 days, 18 hours ago -
Stop the OneDrive defaults
by
CWBillow
4 days, 11 hours ago -
Windows 11 Insider Preview build 27868 released to Canary
by
joep517
4 days, 21 hours ago -
X Suspends Encrypted DMs
by
Alex5723
4 days, 23 hours ago -
WSJ : My Robot and Me AI generated movie
by
Alex5723
4 days, 23 hours ago -
Botnet hacks 9,000+ ASUS routers to add persistent SSH backdoor
by
Alex5723
5 days ago
Recent blog posts
Key Links
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Want to Advertise in the free newsletter? How about a gift subscription in honor of a birthday? Send an email to sb@askwoody.com to ask how.
Mastodon profile for DefConPatch
Mastodon profile for AskWoody
Home • About • FAQ • Posts & Privacy • Forums • My Account
Register • Free Newsletter • Plus Membership • Gift Certificates • MS-DEFCON Alerts
Copyright ©2004-2025 by AskWoody Tech LLC. All Rights Reserved.