ACC2000: How to Position and Size Microsoft Access on the Screen (210085)



The information in this article applies to:

  • Microsoft Access 2000

This article was previously published under Q210085
Advanced: Requires expert coding, interoperability, and multiuser skills.

This article applies to a Microsoft Access database (.mdb) and to a Microsoft Access project (.adp).

SUMMARY

To position Microsoft Access on the screen, you need to call the SetWindowPos() Windows API function. This article demonstrates how to call this function to position and size Microsoft Access on the screen.

MORE INFORMATION

To position Microsoft Access on the screen, use the SetWindowPos() API function included in the User32.dll dynamic-link library (DLL) included with Windows. To do so, follow these steps:

NOTE: You may have some Microsoft Windows API functions defined in an existing Microsoft Access library; therefore, your declarations may be duplicates. If you receive a "duplicate procedure name" error message, remove or comment out the declarations statement in your code.
  1. Start Microsoft Access, and then open any database file or a project file.
  2. Create a new module.
  3. Type or paste the following code in the module:
    '====================================
    ' Global Declarations
    '====================================
    
    Option Compare Database
    Option Explicit
    
    'NOTE: The following "Declare" statement is case sensitive.
    
    Declare Sub SetWindowPos Lib "User32" (ByVal hWnd&, _
                               ByVal hWndInsertAfter&, _
                               ByVal X&, ByVal Y&, ByVal cX&, _
                               ByVal cY&, ByVal wFlags&)
    
    'Moves MS Access window to top of Z-order.
    Global Const HWND_TOP = 0
    
    'Values for wFlags.
    Global Const SWP_NOZORDER = &H4      'Ignores the hWndInsertAfter.
    
    Function SizeAccess(cX As Long, cY As Long, _
      cHeight As Long, cWidth As Long)
    
       Dim h As Long
       'Get handle to Microsoft Access.
       h = Application.hWndAccessApp
    
       'Position Microsoft Access.
       SetWindowPos h, HWND_TOP, cX, cY, cWidth, _
       cHeight, SWP_NOZORDER
    
    End Function
    
    
    					
  4. Open the Immediate window, and then type the sample command below. This example sets both X and Y to 0, sets the width to 480, and sets the height to 640.

    ?SizeAccess(0,0,480,640)

  5. Press ENTER, and then return to the Access window.
Note that the position and size of the Access window has changed to reflect the values assigned to cX, cY, cWidth, and cHeight variables.

Modification Type:MinorLast Reviewed:10/11/2006
Keywords:kbhowto kbinfo kbProgramming KB210085