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

Copper Contributor

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

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.

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.

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

@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