Forum Discussion

perrycheng's avatar
perrycheng
Copper Contributor
Dec 29, 2018

MS Access force a popup on top of other windows?? Is this possible?

I am just wondering if there is a way to have access display a popup form (even just a message saying, "hey you got a new entry by an use!"  ON TOP of another window (say, Chrome Explorer, or whatever other windows.

 

Is this possible??

4 Replies

  • If you define the form as modal=yes and popup=yes, then it will be on top of Access until closed. It will also be on top of other applications when opened, but not modal, i.e. selecting other windows will send the popup into background, together with Access.

    • perrycheng's avatar
      perrycheng
      Copper Contributor
      So, I found a codes below from somewhere, can't remember where. It works! However, it closes all my active forms. I really don't know what this module does for me, so, I don't know how to prevent it from closing my active open forms (it is a module, and then I just call it from an event):

      Option Compare Database
      Option Explicit
      Public Declare Function SetForegroundWindow _
      Lib "user32" _
      (ByVal hwnd As Long) _
      As Long

      Public Function ActivateAccessApp() As Boolean
      'Brings the DB to the front of all open windows
      Dim appTarget As Access.Application

      Set appTarget = GetObject(CurrentDb.Name)
      ActivateAccessApp = _
      Not (SetForegroundWindow(appTarget.hWndAccessApp) = 0)
      Set appTarget = Nothing

      End Function
      • DML1976's avatar
        DML1976
        Copper Contributor

        perrycheng Is this still possible?  The code I copied down doesn't seem to do anything.

         

        Option Compare Database
        Option Explicit
        Public Declare Function SetForegroundWindow _
        Lib "user32" _
        (ByVal hwnd As Long) _
        As Long

        Public Function ActivateAccessApp() As Boolean
        'Brings the DB to the front of all open windows
        Dim appTarget As Access.Application

        Set appTarget = GetObject(CurrentDb.Name)
        ActivateAccessApp = Not (SetForegroundWindow(appTarget.hWndAccessApp) = 0)
        Set appTarget = Nothing

        End Function

  • Eva Vogel's avatar
    Eva Vogel
    Steel Contributor

    Hello perrycheng! If your Database is open, you can get a pop-up form as a single window with some vba Code. Or you can upload your database to oneDrive to see the connectors in MS FLOW.

     

    As Microsoft stopped until April 2018 with the access services in SharePoint and forced us to migrate to SQL Databases in Office 365  I can only figure out these 2 options.

     

    If you can start a flow with your access database in OneDrive and MS FLow, maybe you can send an e-mail notice via Outlook if a new entry in your database is done. Only an idea. Greets, Eva.

Resources